.scan-container{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.scan-main,.scan-side{min-width:0}.scan-main>.card{padding:0;overflow:hidden;margin:0}.scan-preview-wrap{min-height:520px;position:relative;justify-content:center;align-items:flex-start;display:flex;background:#e9eae4;box-shadow:none}.scan-preview-wrap .upload-zone{position:absolute;inset:24px;width:calc(100% - 48px);min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;background:#f9faf5}.scan-preview-wrap .upload-icon{display:grid;place-items:center;width:64px;height:74px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:5px 5px 0 #e8ebe1;margin-bottom:15px;color:#829174}.scan-preview-wrap .upload-icon .icon{width:31px;height:31px}.preview-canvas{display:block;width:100%;height:auto;background:#fff;user-select:none;-webkit-user-drag:none}.scan-side{display:flex;flex-direction:column;gap:14px}.scan-side .card{margin:0;padding:0;border-radius:10px}.tool-section>summary{padding:17px 18px;font-size:12px;font-weight:550;line-height:1.6;gap:12px}.tool-section>summary .icon{width:16px;height:16px;color:var(--text-3)}.tool-section[open]>summary{border-bottom:1px solid var(--border-2)}.tool-body{padding:18px}.tool-body>.form-row{margin-top:14px}.tool-body>.btn{margin-top:15px;width:100%}.tool-body .hint{font-size:10px}.scan-guide{border:1px solid #e0e4d7;background:#eeefe8;border-radius:12px;padding:25px}.scan-guide h2{font-size:18px;font-weight:550;margin-bottom:12px;letter-spacing:-.5px}.scan-guide p:not(.eyebrow){color:#606b56;font-size:12px;line-height:1.9}.scan-guide ol{list-style:none;counter-reset:scan;display:flex;flex-direction:column;gap:20px;margin-top:30px}.scan-guide li{display:flex;align-items:center;gap:12px;font-size:12px;color:#58634f;counter-increment:scan}.scan-guide li::before{content:"0" counter(scan);font-family:ui-monospace,monospace;color:#7d8874;font-size:10px;border:1px solid #d0d7c5;border-radius:50%;padding:5px;background:#f5f7ef}
#scanOverlayLayer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#scanOverlayLayer .draggable{position:absolute;pointer-events:auto;cursor:move;touch-action:none;user-select:none;-webkit-user-drag:none}#scanOverlayLayer .placed-text{display:flex;align-items:flex-start;line-height:1.2;outline:1px dashed var(--primary-border);outline-offset:3px}#scanOverlayLayer .placed-text canvas{display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}#scanOverlayLayer .placed-stamp{border:0;border-radius:2px}#scanOverlayLayer .placed-stamp img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none;user-select:none}
.slider-row{margin-bottom:18px}.slider-row label{display:flex;flex-direction:row;justify-content:space-between;font-size:11px;color:var(--text-2);margin-bottom:7px}.slider-row label span{color:var(--text);font-family:ui-monospace,monospace;font-size:10px;background:#eff1e9;min-width:32px;text-align:center;border-radius:4px;padding:1px 4px}.slider-row input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer;min-height:22px;display:block}.font-status{font-size:11px;color:var(--text-3);margin:8px 0}.font-status.ok{color:var(--success)}#scanTextContent{width:100%;min-height:76px;resize:vertical}.scan-side input[type=number],.scan-side input[type=color]{min-height:40px;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:7px;font-size:12px;background:#fff}.scan-side input[type=color]{padding:5px;cursor:pointer}.scan-side label{font-size:11px}.scan-side input[type=file]{font-size:10px}.text-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.text-row{display:flex;align-items:center;gap:8px;border:1px solid var(--border-2);border-radius:6px;padding:7px 10px;font-size:11px}.text-row .t-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.text-row .t-del{color:var(--error);border:0;background:transparent;min-width:32px;min-height:32px;font-size:18px;border-radius:5px}.text-row .t-del:hover{background:var(--error-bg)}.scan-side .stamp-grid{display:flex;margin-top:0}.scan-side .stamp-item{display:grid;grid-template-columns:42px minmax(0,1fr);text-align:left;min-height:62px}.scan-side .stamp-thumb{width:40px;height:40px}.scan-side .stamp-name{font-size:10px}.scan-side .stamp-item .stamp-thumb{grid-row:1/3}
@media(max-width:1150px){.scan-container{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.tool-body{padding:16px}}
@media(max-width:900px){.scan-container{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.scan-preview-wrap{min-height:460px}.scan-guide{padding:20px}.scan-guide h2{font-size:16px}.scan-preview-wrap .upload-zone{inset:16px;width:calc(100% - 32px)}}
@media(max-width:680px){.scan-container{grid-template-columns:1fr;gap:20px}.scan-preview-wrap{min-height:370px}.scan-preview-wrap .upload-zone{inset:18px;width:calc(100% - 36px);padding:22px 14px}.tool-section>summary{min-height:56px;padding:17px 20px}.tool-body{padding:20px}.tool-body>.form-row{grid-template-columns:1fr 1fr}.tool-body>.form-row.single-column{grid-template-columns:1fr}.slider-row input[type=range]{min-height:34px}.scan-guide ol{margin-top:22px;gap:16px}.scan-guide{padding:22px}.scan-side .stamp-item{padding:11px;grid-template-columns:48px minmax(0,1fr);gap:10px}.scan-side .stamp-name{font-size:12px}.scan-side .stamp-thumb{width:45px;height:45px}.scan-side input[type=number],.scan-side input[type=color]{min-height:44px}.scan-side .form-row{gap:12px}}

.scan-preview-wrap.has-document{min-height:0}
.scan-document-stage{background:#e9eae4;display:flex;justify-content:center;align-items:flex-start;overflow:auto}.scan-document-stage.has-document{padding:22px;max-height:calc(100dvh - 300px)}.scan-document-stage.has-document .scan-preview-wrap{background:#fff;box-shadow:0 3px 14px #31382b14;flex-shrink:0}
#scanEffectCard .tool-body{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}#scanEffectCard .slider-row{margin:0}#scanEffectCard .hint,#scanEffectCard .btn{grid-column:1/-1;margin:0}.scan-side{position:sticky;top:108px;max-height:calc(100dvh - 132px);overflow-y:auto;scrollbar-width:thin}
@media(max-width:900px){.scan-side{top:153px;max-height:calc(100dvh - 175px)}.scan-document-stage.has-document{padding:16px}}
@media(max-width:680px){.scan-side{position:static;max-height:none;overflow:visible}.scan-document-stage.has-document{padding:14px;max-height:65dvh}#scanEffectCard .tool-body{gap:16px 22px}}
