.ct-tool{max-width:820px;margin:2rem auto;background:#fff;border-radius:20px;box-shadow:0 1px 2px rgb(17 24 39 / .04),0 12px 32px rgb(67 56 202 / .10);border:1px solid #ECECF3;padding:1.75rem;position:relative;overflow:hidden}.ct-tool::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#4338CA,#7C3AED,#059669)}.ct-upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border:2px dashed #c7c7d1;border-radius:16px;padding:3rem 1.5rem;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;text-align:center}.ct-upload-box:hover,.ct-upload-box.ct-drag{border-color:#4338CA;background:#EEF2FF;transform:translateY(-2px)}.ct-upload-box svg{width:30px;height:30px;padding:17px;box-sizing:content-box;border-radius:50%;background:linear-gradient(135deg,#4338CA,#7C3AED);color:#fff;box-shadow:0 8px 20px rgb(67 56 202 / .35)}.ct-upload-title{font-size:1.2rem;font-weight:800;color:#1F2937}.ct-upload-sub{font-size:.88rem;color:#666;max-width:380px;line-height:1.45}.ct-editor-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:720px){.ct-editor-grid{grid-template-columns:1fr 240px}}.ct-canvas-wrap{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#F5F5FA,#EFEFF6);border-radius:14px;padding:1rem;min-height:220px}.ct-image-stage{position:relative;display:inline-block;overflow:hidden;border-radius:6px;line-height:0;touch-action:none}.ct-source-img{display:block;max-width:100%;max-height:460px;-webkit-user-drag:none;user-select:none;pointer-events:none}.ct-crop-box{position:absolute;border:2px dashed #fff;box-shadow:0 0 0 9999px rgb(15 15 25 / .55);cursor:move;touch-action:none}.ct-handle{position:absolute;width:16px;height:16px;background:#4338CA;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px rgb(0 0 0 / .35);touch-action:none}.ct-handle-nw{top:-8px;left:-8px;cursor:nwse-resize}.ct-handle-ne{top:-8px;right:-8px;cursor:nesw-resize}.ct-handle-sw{bottom:-8px;left:-8px;cursor:nesw-resize}.ct-handle-se{bottom:-8px;right:-8px;cursor:nwse-resize}.ct-controls{display:flex;flex-direction:column;gap:1.1rem}.ct-field{display:flex;flex-direction:column;gap:.4rem}.ct-field label{font-size:.85rem;font-weight:700;color:#222}.ct-field select{width:100%;padding:.6rem .7rem;border-radius:10px;border:1.5px solid #E2E2EC;font-size:.9rem;background:#fff}.ct-field select:focus{outline:none;border-color:#4338CA}.ct-size-info{background:linear-gradient(135deg,#EEF2FF,#F5F0FF);border-radius:12px;padding:.85rem 1rem;font-size:.85rem;color:#333;border-left:4px solid #4338CA;position:relative;padding-right:2.2rem;font-weight:600}.ct-size-info::after{content:'\2713';position:absolute;top:.65rem;right:.8rem;width:20px;height:20px;border-radius:50%;background:#059669;color:#fff;font-size:.7rem;font-weight:900;display:flex;align-items:center;justify-content:center}.ct-btn-primary,.ct-btn-secondary{border:none;border-radius:10px;padding:.9rem 1rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;gap:.5rem}.ct-btn-primary{background:linear-gradient(135deg,#4338CA,#6D28D9);color:#fff;box-shadow:0 6px 16px rgb(67 56 202 / .35)}.ct-btn-primary::before{content:'\2b07';font-size:1rem}.ct-btn-primary:hover{background:linear-gradient(135deg,#372DA6,#5B21B6);transform:translateY(-2px);box-shadow:0 10px 22px rgb(67 56 202 / .45)}.ct-btn-primary:active{transform:translateY(0) scale(.98)}.ct-btn-secondary{background:#F8F8FB;color:#444;border:1.5px solid #E2E2EC}.ct-btn-secondary:hover{background:#F0F0F5;border-color:#ccc}