.crop-modal{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:28px;background:rgba(9,10,9,.82);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:.28s ease}
.crop-modal.show{opacity:1;visibility:visible}
.crop-panel{position:relative;width:min(980px,94vw);max-height:94vh;overflow:auto;padding:42px 46px 34px;border:1px solid #9fa29a;background:#f1eee8;color:#171817;box-shadow:18px 18px 0 #c9f45b,0 30px 90px rgba(0,0,0,.46)}
.crop-panel:before{content:"";position:absolute;right:-100px;top:-118px;width:270px;height:270px;border:54px solid rgba(194,233,93,.32);border-radius:50%;pointer-events:none}
.crop-close{position:absolute;right:24px;top:18px;z-index:2;border:0;background:none;font:400 42px/1 Arial;cursor:pointer}
.crop-panel header{display:flex;justify-content:space-between;gap:20px;padding-right:58px;font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#6c7d25}
.crop-panel header small{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777}
.crop-panel h2{margin:22px 0 24px;font-size:clamp(32px,5vw,62px);line-height:1}.crop-panel h2 em{font-family:serif;font-weight:400}
.crop-stage{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#171817;border:1px solid #333;cursor:grab;touch-action:none;user-select:none}
.crop-stage:active{cursor:grabbing}.crop-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;pointer-events:none;transition:object-position .08s linear}
.crop-stage:before,.crop-stage:after{content:"";position:absolute;z-index:2;pointer-events:none}.crop-stage:before{inset:0;background:linear-gradient(90deg,transparent 33.15%,rgba(205,246,91,.45) 33.33%,transparent 33.5%,transparent 66.48%,rgba(205,246,91,.45) 66.66%,transparent 66.84%),linear-gradient(transparent 33.15%,rgba(205,246,91,.45) 33.33%,transparent 33.5%,transparent 66.48%,rgba(205,246,91,.45) 66.66%,transparent 66.84%)}
.crop-stage:after{inset:16px;border:1px solid rgba(205,246,91,.78)}
.crop-stage>i{position:absolute;z-index:3;left:50%;top:50%;width:22px;height:22px;border:1px solid #cff65b;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 6px rgba(207,246,91,.16);pointer-events:none}.crop-stage>i:before,.crop-stage>i:after{content:"";position:absolute;background:#cff65b}.crop-stage>i:before{width:32px;height:1px;left:-5px;top:10px}.crop-stage>i:after{height:32px;width:1px;left:10px;top:-5px}
.crop-stage>b{position:absolute;z-index:3;left:28px;bottom:26px;padding:9px 12px;background:rgba(18,19,18,.76);color:#cff65b;font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;pointer-events:none}
.crop-presets{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.crop-presets button{padding:10px 16px;border:1px solid #aaa79f;background:transparent;color:#252525;cursor:pointer}.crop-presets button:hover,.crop-presets button.active{border-color:#181918;background:#181918;color:#cff65b}
.crop-panel footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #c6c2b9}.crop-panel footer>span{font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6c7d25}.crop-panel footer>div{display:flex;gap:10px}.crop-panel footer button{padding:14px 22px;border:1px solid #252525;background:transparent;font-weight:700;cursor:pointer}.crop-panel #confirmCrop{background:#171817;color:#fff;box-shadow:6px 6px 0 #cff65b}
.import-preview img.crop-clickable{cursor:crosshair;transition:filter .18s,transform .18s,outline-color .18s;outline:1px solid transparent;outline-offset:-5px}.import-preview img.crop-clickable:hover{filter:brightness(.76);transform:scale(.985);outline-color:#cff65b}.import-preview .import-media{position:relative}.import-preview .import-media:after{content:"点击原图 · 独立构图";position:absolute;right:12px;bottom:12px;z-index:4;padding:8px 10px;background:rgba(18,19,18,.82);color:#cff65b;font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;pointer-events:none}
.queued-file img.has-custom-crop{outline:2px solid #cff65b;outline-offset:-2px}
@media(max-width:680px){.crop-modal{padding:12px}.crop-panel{padding:30px 18px 22px}.crop-panel h2{margin-top:28px}.crop-stage{aspect-ratio:4/5}.crop-panel footer{align-items:flex-start;flex-direction:column}.crop-panel footer>div{width:100%}.crop-panel footer button{flex:1}}
