html,body.local-film-shell{min-height:100%;margin:0;background:#050505!important;background-image:none!important;color:#f3efe6!important}body.local-film-shell{--film-bg: #050505;--film-panel: rgba(16, 16, 16, .86);--film-panel-soft: rgba(255, 255, 255, .07);--film-control: rgba(24, 24, 24, .94);--film-text: #fff8ea;--film-text-strong: #fffdf5;--film-muted: rgba(255, 248, 234, .82);--film-subtle: rgba(255, 248, 234, .66);--film-border: rgba(255, 255, 255, .18);--film-accent: #f2d08a;--film-on-accent: #15110c;--film-danger: #ff8b8b;--film-success: #8bd18f;--film-warning: #f0b866;--local-film-bg: var(--film-bg);--local-film-panel: var(--film-panel);--local-film-panel-soft: var(--film-panel-soft);--local-film-control: var(--film-control);--local-film-text: var(--film-text);--local-film-text-strong: var(--film-text-strong);--local-film-muted: var(--film-muted);--local-film-subtle: var(--film-subtle);--local-film-border: var(--film-border);--local-film-accent: var(--film-accent);--local-film-on-accent: var(--film-on-accent);--local-film-danger: var(--film-danger);--local-film-success: var(--film-success);--local-film-warning: var(--film-warning);overflow-x:hidden;color-scheme:dark}body.local-film-shell.is-detail-viewer-open{overflow:hidden}.local-film-page{--local-film-bg: var(--film-bg);--local-film-panel: var(--film-panel);--local-film-panel-soft: var(--film-panel-soft);--local-film-control: var(--film-control);--local-film-text: var(--film-text);--local-film-text-strong: var(--film-text-strong);--local-film-muted: var(--film-muted);--local-film-subtle: var(--film-subtle);--local-film-border: var(--film-border);--local-film-accent: var(--film-accent);--local-film-on-accent: var(--film-on-accent);--local-film-danger: var(--film-danger);--local-film-success: var(--film-success);--local-film-warning: var(--film-warning);min-height:100vh;min-height:100dvh;width:min(1680px,calc(100vw - 48px));box-sizing:border-box;margin-inline:auto;padding:18px 0 24px;background:linear-gradient(180deg,rgba(242,208,138,.06),transparent 220px),var(--local-film-bg);color:var(--local-film-text);color-scheme:dark;font-size:15px;line-height:1.45}body.local-film-shell,body.local-film-shell :where(h1,h2,h3,h4,p,span,small,strong,dt,dd,label,legend,button,a,output,figcaption,input,select,textarea,option){color:var(--local-film-text);-webkit-text-fill-color:currentColor}.local-film-page,.local-film-page :where(h1,h2,h3,h4,p,span,small,strong,dt,dd,label,legend,button,a,output,figcaption,input,select,textarea,option){color:var(--local-film-text);-webkit-text-fill-color:currentColor}.local-film-page :where(input:not([type=range]),select,textarea){border:1px solid var(--local-film-border);background:var(--local-film-control);color:var(--local-film-text)}.local-film-page :where(select,option){background:#181818;color:var(--local-film-text)}.local-toolbar,.status-strip,.fallback-export-row,.tool-panel{border:1px solid var(--local-film-border);border-radius:8px;background:var(--local-film-panel);box-shadow:0 18px 52px #00000047;backdrop-filter:blur(18px)}.local-toolbar{position:sticky;top:12px;z-index:10;display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:14px;align-items:center;padding:10px}.toolbar-title p,.panel-heading p{margin:0 0 3px;color:var(--local-film-accent);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.toolbar-title h1,.panel-heading h2{margin:0;color:var(--local-film-text-strong);font-size:1.16rem;line-height:1.15;letter-spacing:0}.toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.toolbar-link,.toolbar-button,.fallback-export-row button,.detail-button,.reset-button,.mobile-export-button{min-height:38px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--local-film-border);border-radius:8px;background:var(--local-film-control);color:var(--local-film-text)!important;-webkit-text-fill-color:var(--local-film-text);font:inherit;font-size:.82rem;font-weight:850;line-height:1.1;text-decoration:none;cursor:pointer}.toolbar-link,.toolbar-button{padding:0 12px}.toolbar-button-primary{border-color:#f2d08ac2;background:var(--local-film-accent);color:var(--local-film-on-accent)!important;-webkit-text-fill-color:var(--local-film-on-accent)}.toolbar-button.is-loading,.fallback-export-row button.is-loading,.mobile-export-button.is-loading{position:relative;padding-right:34px}.toolbar-button.is-loading:after,.fallback-export-row button.is-loading:after,.mobile-export-button.is-loading:after{position:absolute;right:12px;top:50%;width:12px;height:12px;margin-top:-6px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";animation:local-film-spin .75s linear infinite}@keyframes local-film-spin{to{transform:rotate(360deg)}}.toolbar-button:disabled,.detail-button:disabled,.mobile-export-button:disabled{opacity:.68;color:var(--local-film-subtle)!important;-webkit-text-fill-color:var(--local-film-subtle);cursor:not-allowed}.mobile-export-button{display:none;width:100%;margin-top:10px;border-color:#f2d08aad;background:#f2d08a1f}.status-strip{--status-progress: 0%;position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-top:14px;padding:10px 12px}.status-strip:before{position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,transparent 0%,rgba(242,208,138,.12) 42%,rgba(93,219,207,.1) 52%,transparent 70%);content:"";opacity:0;transform:translate(-120%);pointer-events:none}.status-strip:after{position:absolute;right:auto;bottom:0;left:0;z-index:1;width:var(--status-progress);height:3px;border-radius:999px;background:linear-gradient(90deg,var(--local-film-accent),#5ddbcf);content:"";opacity:.85;transition:width .22s ease,background-color .18s ease,opacity .18s ease}.status-strip[data-status=idle]:after{opacity:0}.status-strip[data-status=loading]:before{opacity:1;animation:local-film-status-sweep 1.65s ease-in-out infinite}.status-strip[data-status=success]:after{background:var(--local-film-success)}.status-strip[data-status=warning]:after{background:var(--local-film-warning)}.status-strip[data-status=error]:after{background:var(--local-film-danger)}@keyframes local-film-status-sweep{to{transform:translate(120%)}}.status-strip span{position:relative;z-index:2;width:10px;height:10px;border-radius:999px;background:#74706a}.status-strip[data-status=loading] span{background:var(--local-film-accent);box-shadow:0 0 0 5px #f2d08a1a}.status-strip[data-status=success] span{background:var(--local-film-success)}.status-strip[data-status=warning] span{background:var(--local-film-warning)}.status-strip[data-status=error] span{background:var(--local-film-danger)}.status-strip p{position:relative;z-index:2;margin:0;color:var(--local-film-muted);font-weight:700}@media(prefers-reduced-motion:reduce){.status-strip:before{animation:none!important;opacity:0!important}.status-strip:after{transition:none}}.fallback-export-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:10px 12px}.fallback-export-row[hidden]{display:none}.fallback-export-row p{margin:0;color:var(--local-film-muted);font-size:.84rem;font-weight:700}.fallback-export-row button{min-height:32px;padding:0 10px}.local-workspace{display:grid;grid-template-columns:clamp(320px,23vw,380px) minmax(560px,1fr) clamp(280px,19vw,320px);gap:24px;align-items:start;margin-top:14px}.tool-panel{min-width:0;box-sizing:border-box;padding:14px}.result-panel{min-width:0}.controls-panel{min-width:0;align-self:start}.panel-heading{margin-bottom:12px}.drop-zone{min-height:92px;box-sizing:border-box;display:grid;place-items:center;gap:4px;padding:18px;border:1px dashed rgba(242,208,138,.42);border-radius:8px;background:#f2d08a14;color:var(--local-film-text);text-align:center;cursor:pointer}.drop-zone.is-dragging{border-color:#f2d08aeb;background:#f2d08a1f}.drop-zone span{font-weight:900}.drop-zone small,.detail-preview figcaption{color:var(--local-film-subtle);font-size:.78rem;font-weight:700}.file-meta,.sample-meta{display:grid;gap:8px;margin:12px 0}.file-meta div,.sample-meta div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px}.file-meta dt,.sample-meta dt{color:var(--local-film-subtle);font-size:.76rem;font-weight:850}.file-meta dd,.sample-meta dd{min-width:0;margin:0;color:var(--local-film-text);font-size:.82rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-preview,.comparison-frame{position:relative;overflow:hidden;border:1px solid var(--local-film-border);border-radius:8px;background:linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25% 75%,rgba(255,255,255,.035) 75%) 0 0 / 18px 18px,#080808}.source-preview{min-height:240px}.source-preview.is-sampling{border-color:#f2d08ad1;cursor:crosshair}.source-preview.is-sampling canvas{cursor:crosshair}.source-preview canvas,.comparison-slider,.comparison-slider canvas{width:100%;height:auto;display:block}.comparison-slider{--divider-width: 2px;--divider-color: var(--local-film-accent);--default-handle-color: var(--local-film-accent);min-height:320px}.comparison-slider canvas{max-height:min(74vh,860px);object-fit:contain;background:#050505}.comparison-empty,.source-preview p{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:var(--local-film-subtle);font-weight:800;text-align:center;pointer-events:none}.comparison-empty[hidden],.source-preview p[hidden]{display:none}.sample-cursor,.sample-marker{position:absolute;border:2px solid #5ddbcf;border-radius:999px;background:#5ddbcf29;box-shadow:0 0 0 9999px #0000000f,0 0 22px #5ddbcf47;pointer-events:none;transform:translate(-50%,-50%)}.sample-cursor{border-style:dashed}.sample-marker{border-color:#f2d08afa;background:#f2d08a29;box-shadow:0 0 0 9999px #00000014,0 0 24px #f2d08a57}.sample-cursor[hidden],.sample-marker[hidden]{display:none}.base-readout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-top:12px;padding:10px;border-radius:8px;background:var(--local-film-panel-soft)}.base-swatch{width:34px;height:34px;border:1px solid rgba(255,255,255,.34);border-radius:999px;box-shadow:inset 0 0 0 1px #00000038}.base-readout strong{display:block;color:var(--local-film-text);font-size:.92rem}.base-readout small{display:block;margin-top:2px;color:var(--local-film-subtle);font-size:.78rem;font-weight:750}.sample-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-top:12px}.sample-button{min-height:36px;padding:0 12px;border:1px solid var(--local-film-border);border-radius:8px;background:var(--local-film-control);color:var(--local-film-text)!important;-webkit-text-fill-color:var(--local-film-text);font:inherit;font-size:.8rem;font-weight:900;cursor:pointer}.sample-button.is-active{border-color:#f2d08ad1;background:var(--local-film-accent);color:var(--local-film-on-accent)!important;-webkit-text-fill-color:var(--local-film-on-accent)}.sample-button:disabled{opacity:.68;color:var(--local-film-subtle)!important;-webkit-text-fill-color:var(--local-film-subtle);cursor:not-allowed}.sample-radius-control{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}.sample-radius-control span{color:var(--local-film-muted);font-size:.76rem;font-weight:850;white-space:nowrap}.sample-radius-control input{width:100%;min-width:0;accent-color:var(--local-film-accent)}.sample-hint{margin:8px 0 0;color:var(--local-film-subtle);font-size:.78rem;font-weight:760}.result-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}.result-labels{display:flex;flex-wrap:wrap;gap:8px}.result-labels span{padding:4px 9px;border-radius:999px;background:var(--local-film-panel-soft);color:var(--local-film-muted);font-size:.76rem;font-weight:850}.detail-button,.reset-button{padding:0 12px}.detail-preview{margin:12px 0 0}.detail-preview img{width:100%;max-width:100%;height:auto;max-height:none;display:block;object-fit:contain;aspect-ratio:auto;border:1px solid var(--local-film-border);border-radius:8px;background:#080808;cursor:zoom-in}.detail-preview img:not([src]){min-height:150px;cursor:default}.detail-preview figcaption{margin-top:6px;text-align:center}.control-list{display:grid;gap:12px}.control-row{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:9px;align-items:center}.control-row span,.control-row output{color:var(--local-film-muted);font-size:.78rem;font-weight:850}.control-row output{text-align:right}.control-row input{width:100%;min-width:0;accent-color:var(--local-film-accent)}.reset-button{width:100%;margin-top:14px}.queue-panel{display:grid;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--local-film-border)}.queue-heading{display:flex;align-items:end;justify-content:space-between;gap:10px}.queue-heading p{margin:0 0 3px;color:var(--local-film-accent);font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.queue-heading h3{margin:0;color:var(--local-film-text-strong);font-size:.98rem;line-height:1.15}.queue-heading span,.queue-helper{color:var(--local-film-muted);font-size:.76rem;font-weight:820}.queue-helper{margin:0}.queue-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.queue-actions button,.queue-actions label{min-height:30px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--local-film-border);border-radius:8px;background:var(--local-film-control);color:var(--local-film-text)!important;-webkit-text-fill-color:var(--local-film-text);font:inherit;font-size:.68rem;font-weight:850;line-height:1.1;text-align:center;cursor:pointer}.queue-actions button:disabled{opacity:.52;color:var(--local-film-subtle)!important;-webkit-text-fill-color:var(--local-film-subtle);cursor:not-allowed}.queue-list{display:grid;gap:8px;max-height:min(42vh,480px);overflow:auto;padding-right:2px}.queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}.queue-select,.queue-remove,.queue-batch-button{border:1px solid var(--local-film-border);border-radius:8px;background:var(--local-film-control);color:var(--local-film-text)!important;-webkit-text-fill-color:var(--local-film-text);font:inherit;font-weight:850}.queue-select{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center;padding:6px;text-align:left;cursor:pointer}.queue-item.is-active .queue-select{border-color:#f2d08ae0;box-shadow:inset 0 0 0 1px #f2d08a52}.queue-item.is-error .queue-select{border-color:#ff8b8b94}.queue-select:disabled{opacity:.72;cursor:not-allowed}.queue-thumb{width:46px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25% 75%,rgba(255,255,255,.04) 75%) 0 0 / 12px 12px,#080808}.queue-thumb img{width:100%;height:100%;display:block;object-fit:cover}.queue-body{min-width:0;display:grid;gap:3px}.queue-body strong,.queue-body small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-body strong{color:var(--local-film-text);font-size:.76rem}.queue-body small{color:var(--local-film-subtle);font-size:.68rem;font-weight:760}.queue-remove{min-width:46px;padding:0 8px;color:var(--local-film-subtle)!important;-webkit-text-fill-color:var(--local-film-subtle);font-size:.7rem;cursor:pointer}.queue-remove:disabled{opacity:.5;cursor:not-allowed}.queue-progress{display:grid;gap:7px;padding:10px;border:1px solid rgba(242,208,138,.26);border-radius:8px;background:#f2d08a14}.queue-progress[hidden]{display:none}.queue-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--local-film-muted);font-size:.7rem;font-weight:820}.queue-progress-track{display:block;height:6px;overflow:hidden;border-radius:999px;background:#ffffff1a}.queue-progress-track span{display:block;width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f2d08a,#5ddbcf);transition:width .16s ease}.queue-batch-button{min-height:34px;font-size:.76rem;cursor:pointer}.queue-batch-button:disabled{color:var(--local-film-subtle)!important;-webkit-text-fill-color:var(--local-film-subtle);opacity:.6;cursor:not-allowed}.detail-viewer[hidden]{display:none}.detail-viewer{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:auto minmax(0,1fr);background:#030303f5;color:var(--local-film-text)}.detail-viewer,.detail-viewer :where(button,span,img){color:var(--local-film-text);-webkit-text-fill-color:currentColor}.detail-viewer-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end;padding:12px;border-bottom:1px solid var(--local-film-border);background:#0c0c0cf0}.detail-viewer-toolbar button,.detail-viewer-toolbar span{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--local-film-border);border-radius:8px;background:var(--local-film-control);color:var(--local-film-text)!important;-webkit-text-fill-color:var(--local-film-text);font:inherit;font-size:.82rem;font-weight:850}.detail-viewer-toolbar span{min-width:74px;color:var(--local-film-muted)!important;-webkit-text-fill-color:var(--local-film-muted)}.detail-viewer-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none}.detail-viewer-viewport:active{cursor:grabbing}.detail-viewer-viewport img{position:absolute;top:50%;left:50%;width:auto;height:auto;max-width:none;max-height:none;display:block;object-fit:contain;transform-origin:center center;user-select:none;will-change:transform}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html[data-theme] body.local-film-shell{background-color:var(--film-bg)!important;background-image:none!important;color:var(--film-text)!important;color-scheme:dark}html[data-theme] body.local-film-shell :is(.local-film-page,.detail-viewer){color:var(--film-text)!important;color-scheme:dark}html[data-theme] body.local-film-shell :is(h1,h2,h3,h4,p,span,small,strong,dt,dd,label,legend,button,a,output,figcaption,input,select,textarea,option){color:var(--film-text)!important;-webkit-text-fill-color:var(--film-text)!important}html[data-theme] body.local-film-shell :is(.toolbar-title h1,.panel-heading h2,.base-readout strong){color:var(--film-text-strong)!important;-webkit-text-fill-color:var(--film-text-strong)!important}html[data-theme] body.local-film-shell :is(.toolbar-title p,.panel-heading p){color:var(--film-accent)!important;-webkit-text-fill-color:var(--film-accent)!important}html[data-theme] body.local-film-shell :is(.status-strip p,.fallback-export-row p,.sample-radius-control span,.result-labels span,.control-row span,.control-row output,.detail-viewer-toolbar span){color:var(--film-muted)!important;-webkit-text-fill-color:var(--film-muted)!important}html[data-theme] body.local-film-shell :is(.drop-zone small,.detail-preview figcaption,.file-meta dt,.sample-meta dt,.comparison-empty,.source-preview p,.base-readout small,.sample-hint){color:var(--film-subtle)!important;-webkit-text-fill-color:var(--film-subtle)!important}html[data-theme] body.local-film-shell :is(input:not([type=range]),select,textarea,option){background:#181818!important;border-color:var(--film-border)!important;color:var(--film-text)!important;-webkit-text-fill-color:var(--film-text)!important}html[data-theme] body.local-film-shell :is(.toolbar-link,.toolbar-button,.fallback-export-row button,.detail-button,.reset-button,.mobile-export-button,.sample-button,.detail-viewer-toolbar button){background:var(--film-control)!important;border-color:var(--film-border)!important;color:var(--film-text)!important;-webkit-text-fill-color:var(--film-text)!important}html[data-theme] body.local-film-shell :is(.toolbar-button-primary,.sample-button.is-active){background:var(--film-accent)!important;border-color:#f2d08ac2!important;color:var(--film-on-accent)!important;-webkit-text-fill-color:var(--film-on-accent)!important}html[data-theme] body.local-film-shell :is(.toolbar-button:disabled,.detail-button:disabled,.mobile-export-button:disabled,.sample-button:disabled){color:var(--film-subtle)!important;-webkit-text-fill-color:var(--film-subtle)!important}@media(min-width:1280px){.controls-panel{position:sticky;top:86px}}@media(max-width:1279px){.local-film-page{width:min(1180px,calc(100vw - 32px))}.local-workspace{grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:16px}.controls-panel{position:static;grid-column:1 / -1}}@media(max-width:1023px){.queue-panel,.queue-actions,.queue-list,.queue-progress,.queue-batch-button{display:none}.queue-helper:after{content:" 批量队列建议在桌面端使用。"}}@media(hover:none),(pointer:coarse){.queue-panel{display:none}}@media(max-width:899px){.local-film-page{width:100%;margin-inline:0;padding:12px}.local-toolbar{position:static;grid-template-columns:1fr}.toolbar-actions{justify-content:stretch}.toolbar-link,.toolbar-button{flex:1 1 auto}.local-workspace{grid-template-columns:1fr;gap:14px}.source-preview{min-height:210px}.comparison-slider{min-height:240px}.comparison-slider canvas{max-height:none}.control-row{grid-template-columns:52px minmax(0,1fr) 56px}.mobile-export-button{display:inline-flex}.sample-actions{grid-template-columns:1fr}}
