.ds{background:var(--bg-page);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);border:0;margin:0;padding:0}.ds[open]{flex-direction:column;display:flex}.ds::backdrop{background:var(--backdrop)}.ds.is-over .ds-body{outline:3px dashed var(--brand-600);outline-offset:-8px;background:var(--brand-50)}.ds-head{background:var(--brand-900);color:#fff;align-items:center;gap:8px;padding:8px 12px;display:flex}.ds-head h2{font-size:18px;font-family:var(--font-head);color:#fff;flex:1;margin:0}.ds-x{min-width:40px}.ds-tools{background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.ds-insert,.ds-check{font-size:var(--fs-small);color:var(--text-muted);align-items:center;gap:6px;display:inline-flex}.ds-insert select{min-height:34px}.ds-check input{width:18px;height:18px}.ds-scanner{background:var(--brand-50);border-bottom:1px solid var(--brand-100);max-height:45vh;padding:10px 44px 10px 14px;position:relative;overflow:auto}.ds-scanner h3{color:var(--brand-900);margin:0 0 6px;font-size:16px}.ds-scanner p{margin:4px 0}.ds-scanner-x{color:var(--brand-700);cursor:pointer;background:0 0;border:0;padding:6px;position:absolute;top:6px;right:8px}.ds-scan-form{flex-wrap:wrap;gap:8px 14px;margin:8px 0;display:flex}.ds-scan-form label{font-size:var(--fs-small);color:var(--text-muted);gap:2px;display:grid}.ds-scan-form select{min-height:var(--control-h);min-width:180px;max-width:100%}.ds-scanner-actions{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.ds-steps{gap:4px;margin:6px 0;padding-left:22px;display:grid}.ds-scanning{font-weight:600}.ds-body{flex:1;padding:14px 12px 24px;position:relative;overflow:auto}.ds-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.ds-page{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:8px;flex-direction:column;min-width:0;display:flex}.ds-page.is-dragging{opacity:.45}.ds-page.drop-before{box-shadow:-4px 0 0 0 var(--brand-600)}.ds-page.drop-after{box-shadow:4px 0 0 0 var(--brand-600)}.ds-thumb{cursor:zoom-in;background:#eef1f5;border:0;border-radius:8px 8px 0 0;justify-content:center;align-items:center;height:210px;padding:8px;display:flex;position:relative}.ds-thumb img{background:#fff;max-width:100%;max-height:100%;box-shadow:0 1px 4px #0000002e}.ds-thumb-wait{color:var(--text-muted);font-size:var(--fs-small)}.ds-tag{background:var(--brand-700);color:#fff;border-radius:8px;padding:0 6px;font-size:11px;position:absolute;bottom:6px;right:6px}.ds-page-bar{border-top:1px solid var(--border);align-items:center;gap:2px;padding:4px;display:flex}.ds-page-bar button{min-width:32px;min-height:32px;color:var(--brand-700);cursor:pointer;background:0 0;border:0;border-radius:4px}.ds-page-bar button:hover:not(:disabled){background:var(--brand-50)}.ds-page-bar button:disabled{color:#b9c2cc;cursor:default}.ds-page-bar .ds-del{color:var(--required);margin-left:auto}.ds-grip{cursor:grab;touch-action:none;color:var(--text-muted);padding:6px}.ds-num{text-align:center;min-width:22px;font-weight:700}.ds-empty{text-align:center;color:var(--text);padding:48px 12px}.ds-empty i{color:var(--brand-100);font-size:44px}.ds-empty p{margin:6px 0}.ds-foot{background:var(--bg);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;display:flex}.ds-name{flex:320px;align-items:center;gap:6px;min-width:0;font-weight:600;display:inline-flex}.ds-name-box{flex:1;align-items:center;min-width:0;display:flex}.ds-name-box input{min-width:0;min-height:var(--control-h);flex:1}.ds-name-box span{color:var(--text-muted);padding:0 6px;font-weight:400}.ds-info{color:var(--text-muted);font-size:var(--fs-small)}.ds-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.ds-viewer{z-index:5;background:#2b3138;flex-direction:column;display:flex;position:absolute;inset:0}.ds-viewer[hidden]{display:none}.ds-viewer-bar,.ds-crop-bar{background:var(--bg);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.ds-viewer-bar .ds-check{color:var(--text)}.ds-viewer-no{padding:0 6px;font-weight:700}.ds-sep{flex:1}.ds-viewer-bar .is-on{background:var(--brand-100)}.ds-crop-bar{justify-content:flex-end}.ds-crop-bar .muted{margin-right:auto}.ds-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:14px;display:flex;position:relative;overflow:auto}.ds-frame{line-height:0;display:inline-block;position:relative}.ds-frame img{background:#fff;max-width:none;display:block;box-shadow:0 2px 12px #0006}.ds-viewer-wait{color:#fff;pointer-events:none;justify-content:center;align-items:center;font-size:28px;display:flex;position:absolute;inset:0}.ds-viewer-wait[hidden]{display:none}.ds-crop{outline:2px solid var(--brand-600);cursor:move;touch-action:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000073}.ds-crop[hidden]{display:none}.ds-h{border:2px solid var(--brand-600);touch-action:none;background:#fff;border-radius:50%;width:22px;height:22px;position:absolute}.ds-h[data-h=nw]{cursor:nwse-resize;top:-12px;left:-12px}.ds-h[data-h=ne]{cursor:nesw-resize;top:-12px;right:-12px}.ds-h[data-h=sw]{cursor:nesw-resize;bottom:-12px;left:-12px}.ds-h[data-h=se]{cursor:nwse-resize;bottom:-12px;right:-12px}.ds-busy{z-index:10;background:#ffffffbf;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.ds-busy[hidden]{display:none}.ds-busy>div{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:8px;padding:14px 18px}.ds-toasts{z-index:20;pointer-events:none;gap:8px;max-width:min(420px,100vw - 32px);display:grid;position:absolute;bottom:76px;right:16px}.ds-ask-text{white-space:pre-line;margin:4px 0 8px}@media (width<=600px){.ds-head h2{font-size:16px}.ds-tools{padding:8px}.ds-tools .button{flex:auto}.ds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ds-thumb{height:170px}.ds-page-bar button{min-width:28px}.ds-foot{padding:8px}.ds-actions{width:100%;margin-left:0}.ds-actions .button{flex:auto}.ds-scanner{padding-right:36px}.ds-scan-form select{width:100%;min-width:0}.ds-scan-form label{flex:100%}}
