:root{--blue:#2563eb;--navy:#111827;--bg:#f5f7fb;--surface:#ffffff;--soft:#f8fafc;--text:#172033;--line:#dbe3ef;--muted:#64748b;--green:#047857;--red:#b91c1c}html[data-theme="dark"]{--navy:#020617;--bg:#0f172a;--surface:#111827;--soft:#1e293b;--text:#e5e7eb;--line:#334155;--muted:#94a3b8}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}.container{width:min(1180px,94%);margin:auto}.converter-header,.converter-footer{background:var(--navy);color:#fff;padding:26px 0}.header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.release-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border:1px solid #ffffff2e;border-radius:999px;background:#ffffff12;color:#bfdbfe;font-size:12px;font-weight:700}.header-actions{display:flex;gap:8px;flex-wrap:wrap}.header-btn{background:#ffffff18;color:#fff;border:1px solid #ffffff33;padding:9px 12px}.back-link{color:#93c5fd;text-decoration:none}.converter-page{padding:28px 0}.panel,.summary,.preview-section,.action-section,.status-section,.report-section{margin-top:20px;background:var(--surface);border-radius:18px;padding:22px}.upload-box{position:relative;background:var(--surface);border:2px dashed #93c5fd;border-radius:18px;padding:38px;text-align:center;cursor:pointer;overflow:hidden}.native-file-overlay{display:none!important}.upload-box>*{position:relative;z-index:1}.upload-box .native-file-control{pointer-events:auto}.upload-box.dragover{background:#eff6ff;border-color:var(--blue)}.upload-icon{font-size:46px}.text-button{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.summary-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.summary-card{background:var(--soft);border-radius:12px;padding:14px}.summary-card span{display:block;font-size:12px;color:var(--muted)}.summary-card strong{font-size:17px}.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.option-group{border:1px solid #e5e7eb;border-radius:14px;padding:16px}.option-group h3{margin:0 0 12px;font-size:16px}.quality-row,.inline-row{display:flex;align-items:center;gap:12px}.quality-row input[type=range]{flex:1}.quality-presets,.resize-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.preset-btn,.chip-btn{padding:9px 12px;border:1px solid var(--line);background:var(--soft);color:#334155;border-radius:10px;cursor:pointer;font-weight:700}.preset-btn.active,.chip-btn.active{border-color:var(--blue);background:#eff6ff;color:#1d4ed8}.field{display:flex;flex-direction:column;gap:6px;margin-top:10px}.field input,.field select{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.color-row{display:flex;gap:10px;align-items:center}.color-row input[type=color]{width:52px;height:38px;border:0;background:none}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:13px;border:1px solid #e5e7eb;border-radius:12px;background:var(--soft)}.selection-actions{display:flex;align-items:center;gap:10px}.toolbar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar-controls select{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.preview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.file-card{position:relative;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:var(--surface)}.file-card>img{width:100%;height:160px;object-fit:contain;background:repeating-conic-gradient(#f0f0f0 0 25%,#fff 0 50%) 50%/20px 20px}.file-select-control{position:absolute;top:10px;left:10px;z-index:2;background:rgba(255,255,255,.94);padding:6px 9px;border-radius:999px;box-shadow:0 2px 8px #0002;font-size:12px;font-weight:700}.file-card-body{padding:12px;font-size:13px}.file-name{font-weight:700;word-break:break-all;margin-bottom:6px}.badge{display:inline-block;margin-top:6px;padding:4px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:12px}.estimate-box{margin-top:10px;padding:10px;border-radius:10px;background:var(--soft);line-height:1.55}.estimate-box strong{color:#1d4ed8}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.card-settings{margin-top:10px;padding-top:10px;border-top:1px dashed #dbe3ef}.card-settings[hidden]{display:none}.saving-positive{color:var(--green)}.saving-negative{color:var(--red)}button{border:0;border-radius:11px;padding:12px 16px;font-weight:700;cursor:pointer}.primary-btn{background:var(--blue);color:#fff}.secondary-btn{background:var(--navy);color:#fff}.ghost-btn{background:#e5e7eb;color:#111827}.danger-btn{background:#fee2e2;color:var(--red)}button:disabled{opacity:.45;cursor:not-allowed}.action-section{display:flex;flex-wrap:wrap;gap:10px}.progress-wrap{height:14px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--blue);transition:width .18s}.report-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.history-list{display:grid;gap:10px}.history-item{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,.7fr));gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:13px}.history-item strong{font-size:14px}.help-list{line-height:1.8;padding-left:20px}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.help-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.report-item{background:var(--soft);padding:14px;border-radius:12px}.report-item span{display:block;color:var(--muted);font-size:12px}.report-item strong{font-size:18px}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:20px;z-index:999}.modal[hidden]{display:none}.modal-card{width:min(1000px,96vw);max-height:92vh;overflow:auto;background:var(--surface);border-radius:18px;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-pane{border:1px solid #e5e7eb;border-radius:12px;padding:10px}.compare-pane img{width:100%;max-height:58vh;object-fit:contain;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 50%/20px 20px}.compare-meta{font-size:13px;color:var(--muted);margin-top:8px}.compare-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.compare-stage{overflow:auto;max-height:62vh;border-radius:12px;touch-action:pan-x pan-y}.compare-stage img{transform-origin:top left;transition:transform .12s ease}.compare-hint{font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.trust-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.trust-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:12px}.trust-item strong{display:block;margin-bottom:4px;font-size:13px}.trust-item span{color:var(--muted);line-height:1.45}@media(max-width:760px){.trust-strip{grid-template-columns:1fr 1fr}}@media(max-width:480px){.trust-strip{grid-template-columns:1fr}}.privacy-note{margin-top:14px;padding:12px 14px;border-radius:12px;background:#ecfdf5;color:#065f46;font-size:13px}.warning-note{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:13px}.smart-panel{margin-top:20px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#ecfeff);border:1px solid #bfdbfe;color:#0f172a}.purpose-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.purpose-btn{padding:13px;border:1px solid #bfdbfe;background:#fff;color:#1e3a8a;border-radius:12px;text-align:left;cursor:pointer}.purpose-btn strong,.purpose-btn small{display:block}.purpose-btn small{margin-top:4px;color:#64748b;font-weight:400;line-height:1.35}.purpose-btn.active{border-color:#2563eb;background:#dbeafe;box-shadow:0 0 0 2px #93c5fd55}.balance-card{margin-top:14px;padding:14px;border:1px solid #bfdbfe;border-radius:12px;background:#ffffffcc}.balance-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.balance-meter{height:10px;margin-top:10px;border-radius:999px;background:#dbeafe;overflow:hidden}.balance-meter>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f59e0b,#22c55e);transition:width .2s}.balance-meta{margin-top:8px;font-size:13px;color:#475569}.smart-panel h3{margin:0 0 8px}.smart-panel ul{margin:8px 0 0;padding-left:20px;line-height:1.7}.smart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.toast{position:fixed;right:20px;bottom:20px;z-index:2000;max-width:min(420px,90vw);padding:14px 18px;border-radius:12px;background:#111827;color:#fff;box-shadow:0 12px 30px #0004;opacity:0;transform:translateY(14px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:none}.download-note{font-size:13px;color:var(--muted);align-self:center}.memory-status{font-size:12px;color:var(--muted);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);align-self:center}.auto-cleanup{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--soft);cursor:pointer}.auto-cleanup input{width:17px;height:17px}.cleanup-countdown{color:#0369a1;font-weight:700}.error-list{margin:12px 0 0;padding-left:20px;color:var(--red)}.cancel-btn{background:#fff7ed;color:#c2410c}.busy{cursor:progress}.file-card[aria-busy="true"]{opacity:.72}.focus-ring:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,.upload-box:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.workflow-panel{margin-top:20px;background:var(--surface);border-radius:18px;padding:18px 22px;border:1px solid var(--line)}.workflow-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.workflow-head h2{margin:0;font-size:18px}.workflow-message{font-size:13px;color:var(--muted)}.workflow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.workflow-step{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--muted)}.workflow-step b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#e2e8f0;color:#475569}.workflow-step strong{display:block;color:var(--text);font-size:13px}.workflow-step small{display:block;margin-top:2px}.workflow-step.active{border-color:#93c5fd;background:#eff6ff}.workflow-step.active b{background:#2563eb;color:#fff}.workflow-step.done{border-color:#86efac;background:#f0fdf4}.workflow-step.done b{background:#16a34a;color:#fff}.download-receipt{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed var(--line);font-size:12px;color:var(--muted)}.session-summary{margin-top:12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.session-chip{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.session-chip span{display:block;font-size:11px;color:var(--muted)}.session-chip strong{display:block;margin-top:3px;font-size:13px}@media(max-width:760px){.session-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.workflow-steps{grid-template-columns:1fr 1fr}.workflow-head{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.workflow-steps{grid-template-columns:1fr}}.system-check-list{display:grid;gap:9px;margin:14px 0}.system-check-item{display:flex;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.system-check-ok{color:var(--green)}.system-check-warn{color:#b45309}.system-check-bad{color:var(--red)}.system-check-meta{font-size:12px;color:var(--muted);line-height:1.6}.diagnostic-panel{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.diagnostic-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.diagnostic-item{padding:12px;border-radius:11px;background:var(--surface);border:1px solid var(--line)}.diagnostic-item span{display:block;font-size:12px;color:var(--muted)}.diagnostic-item strong{display:block;margin-top:4px}.risk-list{margin:12px 0 0;padding-left:20px;line-height:1.65}.risk-ok{color:var(--green)}.risk-warn{color:#b45309}.risk-high{color:var(--red)}.quality-grade{font-weight:800}.grade-a{color:#047857}.grade-b{color:#1d4ed8}.grade-c{color:#b45309}.grade-d{color:#b91c1c}
@media(max-width:900px){.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(3,1fr)}.options-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.header-row{flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1}.history-item{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr}}
@media(max-width:620px){.diagnostic-grid{grid-template-columns:1fr}.purpose-presets{grid-template-columns:1fr}.summary-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.preview-toolbar{align-items:stretch;flex-direction:column}.toolbar-controls{width:100%}.toolbar-controls select,.toolbar-controls button{flex:1}.selection-actions{justify-content:space-between}.compare-grid{grid-template-columns:1fr}.action-section{position:sticky;bottom:0;z-index:30;margin:0 -12px;padding:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -10px 24px #0002}.action-section button{width:100%;min-height:48px}.file-select-control{min-height:36px;display:flex;align-items:center}.card-actions button,.delete,.chip-btn,.preset-btn{min-height:44px}.compare-stage{max-height:48vh;-webkit-overflow-scrolling:touch}.modal{padding:8px}.modal-card{padding:14px;border-radius:14px}.toast{right:10px;bottom:10px}.download-note{width:100%;text-align:center}.auto-cleanup{width:100%;justify-content:center}.memory-status{width:100%;text-align:center}}

.shortcut-strip{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px}.shortcut-strip kbd,.shortcut-grid kbd{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:7px;background:var(--surface);color:var(--text);font:700 11px/1 Arial,sans-serif;box-shadow:0 1px 0 #0001}.shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.shortcut-keys{display:flex;gap:5px;flex-shrink:0}.empty-guidance{margin-top:12px;text-align:center;color:var(--muted);font-size:13px}@media(max-width:620px){.shortcut-grid{grid-template-columns:1fr}.shortcut-strip{display:none}}

/* Stage 60: converter definition driven runtime */
html{scroll-behavior:smooth}body{min-height:100vh}.skip-link{position:fixed;left:12px;top:12px;z-index:3000;transform:translateY(-160%);background:#fff;color:#111827;padding:10px 14px;border-radius:10px;box-shadow:0 8px 24px #0003;font-weight:700;text-decoration:none}.skip-link:focus{transform:translateY(0)}button,a,input,select{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #60a5fa}.panel,.summary,.preview-section,.action-section,.status-section,.report-section,.upload-box,.file-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.upload-box:hover{border-color:var(--blue);box-shadow:0 12px 30px #2563eb18}.file-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0f172a12}.primary-btn:hover:not(:disabled),.secondary-btn:hover:not(:disabled),.ghost-btn:hover:not(:disabled),.header-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.empty-state{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted);background:var(--soft)}.status-section[hidden],.report-section[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:760px){.header-row{align-items:stretch}.header-actions{width:100%}.header-actions .header-btn{flex:1 1 42%}.action-section{position:sticky;bottom:0;z-index:50;box-shadow:0 -10px 28px #0f172a16}.action-section button{flex:1 1 45%}}


/* v1.11 format-aware specialization */
.format-profile{margin-top:20px;border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff 0%,#fff 68%)}
.format-profile-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}
.format-profile-head h2{margin:4px 0 0}.format-profile-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:#2563eb}
.format-profile-badge{white-space:nowrap;background:#dbeafe;color:#1d4ed8;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.format-profile-purpose{margin:0 0 14px;color:#334155;line-height:1.7}
.format-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.format-profile-grid article{background:#fff;border:1px solid #dbe3ef;border-radius:14px;padding:15px}
.format-profile-grid h3{margin:0 0 8px;font-size:15px}.format-profile-grid ul{margin:0;padding-left:19px;color:#475569;line-height:1.65}
.format-profile-grid p{margin:0;color:#475569;line-height:1.65}.format-profile-grid .format-warning{border-color:#fed7aa;background:#fff7ed}.format-profile-grid .format-pro{border-color:#c4b5fd;background:#f5f3ff}
@media(max-width:720px){.format-profile-grid{grid-template-columns:1fr}.format-profile-head{align-items:center}}

/* v1.12 actual format-specific controls */
.format-settings-panel{grid-column:1/-1;border:1px solid #93c5fd;border-radius:16px;padding:18px;background:linear-gradient(135deg,#eff6ff,#fff)}
.format-settings-panel[hidden]{display:none!important}.format-settings-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.format-settings-head span:first-child{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#2563eb}.format-settings-head h3{margin:4px 0 0;font-size:18px}
.format-settings-badge{white-space:nowrap;padding:6px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:800}
.format-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.format-field,.format-check-field,.format-quick-presets{display:flex;flex-direction:column;gap:7px;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.format-field>span,.format-quick-presets>span{font-weight:800}.format-field select,.format-field input[type=color],.format-field input[type=range]{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:9px}
.format-field input[type=color]{padding:4px}.format-field small,.format-check-field small{display:block;color:var(--muted);line-height:1.5}.format-check-field{flex-direction:row;align-items:flex-start}.format-check-field input{margin-top:3px;min-width:18px;min-height:18px}
.format-quick-presets{grid-column:1/-1}.format-quick-presets>div{display:flex;gap:8px;flex-wrap:wrap}.format-quick-presets button{background:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe;padding:10px 13px}.format-quick-presets button:hover{background:#bfdbfe}
html[data-theme="dark"] .format-settings-panel{background:linear-gradient(135deg,#172554,#111827)}
@media(max-width:900px){.format-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.format-settings-grid{grid-template-columns:1fr}.format-settings-head{flex-direction:column}.format-quick-presets{grid-column:auto}.format-quick-presets button{flex:1 1 40%}}

/* v1.84.0 native file picker fallback */
label.text-button{display:inline;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
label.text-button:focus-visible{outline:3px solid #93c5fd;outline-offset:3px;border-radius:4px}

/* v1.84.0: visible native file control. No transparent overlay or scripted proxy is required. */
.native-picker-row{display:grid;gap:8px;justify-items:center;margin:18px auto 12px;width:min(560px,100%)}
.native-file-control{display:block!important;position:relative!important;inset:auto!important;width:min(520px,100%)!important;height:auto!important;opacity:1!important;visibility:visible!important;z-index:10!important;pointer-events:auto!important;cursor:pointer;font-size:14px;color:var(--text);padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.native-file-control::file-selector-button{margin-right:12px;border:0;border-radius:9px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}
.native-file-control::-webkit-file-upload-button{margin-right:12px;border:0;border-radius:9px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}
.native-picker-help{font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:480px){.native-file-control{font-size:12px;padding:6px}.native-file-control::file-selector-button,.native-file-control::-webkit-file-upload-button{display:block;width:100%;margin:0 0 7px;padding:12px}}

/* v1.84.0: standalone picker button using showOpenFilePicker; hidden input is fallback only. */
.native-picker-button{min-width:180px;min-height:48px;font-size:15px}.native-picker-row .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.native-picker-help{font-size:12px;color:var(--muted);line-height:1.5}


/* v1.84.0 persistent direct result downloads */
.direct-download-shelf{margin:18px 0;padding:18px;border:1px solid #93c5fd;border-radius:16px;background:#eff6ff}
.direct-download-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.direct-download-head h2{margin:0 0 4px;font-size:18px}.direct-download-head p{margin:0;color:#475569;font-size:13px}
.direct-download-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.direct-download-link{display:block;padding:11px 13px;border:1px solid #bfdbfe;border-radius:10px;background:#fff;color:#1d4ed8;font-weight:700;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direct-download-link:hover,.direct-download-link:focus-visible{background:#dbeafe;outline:2px solid #2563eb;outline-offset:2px}
[data-theme="dark"] .direct-download-shelf,.dark .direct-download-shelf{background:#0f172a;border-color:#1d4ed8}.dark .direct-download-head p{color:#cbd5e1}.dark .direct-download-link{background:#111827;border-color:#334155;color:#93c5fd}
@media(max-width:640px){.direct-download-head{display:block}.direct-download-head .result-validation{display:inline-block;margin-top:8px}.direct-download-links{grid-template-columns:1fr}}


/* v3.16.7 shared image platform per-file batch status */
.file-card{position:relative}
.file-card-status{display:flex;align-items:center;gap:7px;margin:0 0 9px;padding:7px 9px;border-radius:10px;background:#f1f5f9;color:#475569;font-size:12px}
.file-card-status-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
.file-card-status strong{font-size:12px}.file-card-status small{margin-left:auto;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-card-status[data-status="running"]{background:#eff6ff;color:#1d4ed8}.file-card-status[data-status="running"] .file-card-status-dot{background:#2563eb;animation:cmStatusPulse 1s infinite}
.file-card-status[data-status="success"]{background:#ecfdf5;color:#047857}.file-card-status[data-status="success"] .file-card-status-dot{background:#10b981}
.file-card-status[data-status="failed"]{background:#fef2f2;color:#b91c1c}.file-card-status[data-status="failed"] .file-card-status-dot{background:#ef4444}
.file-card-status[data-status="skipped"]{opacity:.7}.file-card[data-process-status="running"]{outline:2px solid #60a5fa}.file-card[data-process-status="failed"]{outline:2px solid #fca5a5}
@keyframes cmStatusPulse{50%{opacity:.3;transform:scale(.75)}}
@media(max-width:640px){.file-card-status{align-items:flex-start;flex-wrap:wrap}.file-card-status small{width:100%;max-width:none;margin-left:15px;white-space:normal}}

/* v3.32.7 preview-first workspace and adjustable card density */
.preview-density-control{display:inline-flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.preview-density-control>span{padding:0 5px;color:var(--muted);font-size:12px;font-weight:800}
.preview-density-control button{min-width:46px;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:850}
.preview-density-control button.active,.preview-density-control button[aria-pressed="true"]{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}
.preview-list{grid-template-columns:repeat(var(--cm-preview-columns,4),minmax(0,1fr))}
.preview-list[data-preview-columns="4"]{--cm-preview-columns:4}
.preview-list[data-preview-columns="6"]{--cm-preview-columns:6}
.preview-list[data-preview-columns="8"]{--cm-preview-columns:8}
.preview-list[data-preview-columns="6"] .file-card>img{height:130px}
.preview-list[data-preview-columns="8"] .file-card>img{height:108px}
.preview-list[data-preview-columns="6"] .file-card-body,.preview-list[data-preview-columns="8"] .file-card-body{padding:9px;font-size:12px}
.preview-list[data-preview-columns="8"] .card-actions{grid-template-columns:1fr}
@media(max-width:1100px){.preview-list[data-preview-columns="8"]{--cm-preview-columns:6}}
@media(max-width:860px){.preview-density-control{width:100%;justify-content:center}.selection-actions{flex-wrap:wrap}.preview-list[data-preview-columns="6"],.preview-list[data-preview-columns="8"]{--cm-preview-columns:4}}
@media(max-width:760px){.preview-list,.preview-list[data-preview-columns="4"],.preview-list[data-preview-columns="6"],.preview-list[data-preview-columns="8"]{--cm-preview-columns:2!important}}
@media(max-width:480px){.preview-list,.preview-list[data-preview-columns="4"],.preview-list[data-preview-columns="6"],.preview-list[data-preview-columns="8"]{--cm-preview-columns:1!important}}
.selected-file-quick-view{width:min(720px,100%);margin:10px auto 14px;padding:10px 12px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;text-align:left}.selected-file-quick-view[hidden]{display:none!important}.selected-file-quick-view img{width:64px;height:64px;object-fit:contain;border-radius:10px;background:repeating-conic-gradient(#e5e7eb 0 25%,#fff 0 50%) 50%/14px 14px}.selected-file-quick-copy{min-width:0;display:grid;gap:3px}.selected-file-quick-copy span,.selected-file-quick-copy small{font-size:12px;color:#64748b}.selected-file-quick-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#0f172a}.selected-file-quick-link{font-size:12px;font-weight:700;color:#1d4ed8;text-decoration:none;white-space:nowrap}.selected-file-quick-link:hover{text-decoration:underline}@media(max-width:640px){.selected-file-quick-view{grid-template-columns:54px minmax(0,1fr)}.selected-file-quick-view img{width:54px;height:54px}.selected-file-quick-link{grid-column:1/-1;justify-self:start}}
