:root{--bg-primary:#17141f;--bg-secondary:#1f1a2c;--bg-tertiary:#292239;--bg-hover:#342b48;--bg-canvas:#0e0c14;--text-primary:#ece7f4;--text-secondary:#9c92b0;--text-muted:#928aa8;--accent:#ff4d8f;--accent-hover:#ff74a8;--accent-dim:#c73a72;--accent-glow:#ff4d8f59;--info:#45d6cd;--info-glow:#45d6cd4d;--danger:#ff635c;--success:#3dcc80;--warning:#ffc24b;--border:#322a44;--border-light:#453a5e;--shadow:#08051073;--font-display:"Orbitron", "Inter", -apple-system, sans-serif;--font-mono:"Share Tech Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--viewport-h:100vh;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@supports (height:100dvh){:root{--viewport-h:100dvh}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);background:radial-gradient(120% 90% at 50% -20%, #ff4d8f12, transparent 55%), radial-gradient(110% 80% at 100% 110%, #45d6cd0d, transparent 50%), var(--bg-primary);color:var(--text-primary);min-height:var(--viewport-h);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--info);outline-offset:2px;border-radius:2px}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@supports (-webkit-touch-callout:none){html{height:-webkit-fill-available}body{min-height:-webkit-fill-available}}.build-badge{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:7px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.header-site-links{white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:inline-flex}.header-site-links a{color:var(--text-secondary);text-decoration:none}.header-site-links a:hover{color:var(--text-primary);text-decoration:underline}.lang-selector{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:9px;gap:2px;padding:3px;display:flex;box-shadow:inset 0 1px 3px #08051066}.header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.header-action-btn{color:#ffd28a;cursor:pointer;white-space:nowrap;background:#ffc24b1f;border:1px solid #ffc24b47;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:600;line-height:1;transition:all .2s;display:inline-flex}.header-action-btn:hover{color:#ffe2b2;background:#ffc24b33;border-color:#ffc24b6b}.header-action-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.header-action-btn.done{color:#b8f3bd;background:#3dcc8024;border-color:#3dcc8057}.header-action-btn:disabled{opacity:.5;cursor:not-allowed}.header-export-progress{min-width:172px;max-width:min(260px,42vw);color:var(--text-primary);background:linear-gradient(#45d6cd1f,#45d6cd0f),#ffffff08;border:1px solid #45d6cd3d;border-radius:12px;padding:7px 11px 8px;display:none;box-shadow:inset 0 1px #ffffff0a}.header-export-progress.visible{flex-direction:column;gap:6px;display:flex}.header-export-progress-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.header-export-progress-label{color:#9fe8e2;white-space:nowrap;font-size:11px;font-weight:700}.header-export-progress-cancel{border:1px solid var(--accent,#45d6cd);color:var(--accent,#45d6cd);font:inherit;cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:2px 8px;font-size:11px;line-height:1.4}.header-export-progress-cancel:hover{background:var(--accent,#45d6cd);color:#000}.header-export-progress-file{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:11px;overflow:hidden}.header-export-progress-bar{background:#ffffff14;border-radius:7px;height:5px;overflow:hidden}.header-export-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#45d6cd,#7de9e0);width:0%;height:100%;transition:width .16s}.lang-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px;transition:background .2s,color .2s,box-shadow .2s}.lang-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.lang-btn.active{background:linear-gradient(180deg, var(--accent-hover), var(--accent));color:var(--bg-primary);box-shadow:0 0 10px var(--accent-glow), inset 0 1px 0 #ffffff40}.header-link-btn{white-space:nowrap;border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 1px 2px #08051080}.header-link-btn svg{flex:none;width:15px;height:15px}.header-link-btn.feedback{color:#9be9e3;cursor:pointer;background:#45d6cd1f;border:1px solid #45d6cd59;font-family:inherit}.header-link-btn.feedback:hover{color:#c3f4f0;box-shadow:0 0 12px var(--info-glow), inset 0 1px 0 #ffffff0f;background:#45d6cd33;border-color:#45d6cd8c}.header-link-btn.privacy{color:#9fe6bd;background:#3dcc801f;border:1px solid #3dcc8059}.header-link-btn.privacy:hover{color:#c4f2d8;background:#3dcc8033;border-color:#3dcc808c}.header-link-btn.download{color:#ffd98f;background:#ffc24b1f;border:1px solid #ffc24b59}.header-link-btn.download:hover{color:#ffe6b8;background:#ffc24b33;border-color:#ffc24b8c}.header-link-btn.shop{color:#ffb1cd;background:#ff4d8f1f;border:1px solid #ff4d8f66}.header-link-btn.shop:hover{color:#ffcede;box-shadow:0 0 12px var(--accent-glow), inset 0 1px 0 #ffffff0f;background:#ff4d8f33;border-color:#ff4d8f99}.header-shop-badge{font-family:var(--font-mono);letter-spacing:.04em;color:var(--warning);white-space:nowrap;background:#08051073;border:1px solid #ffffff2e;border-radius:5px;padding:2px 6px;font-size:10px}.upload-privacy-note{color:#9fe6bd;background:#0e0c148c;border:1px solid #3dcc804d;border-radius:7px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.upload-privacy-note:hover{color:#c4f2d8;border-color:#3dcc808c}.upload-privacy-note svg{flex:none;width:14px;height:14px}.desktop-update-banner{background:#ffc24b1a;border-bottom:1px solid #ffc24b47;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:none}.desktop-update-left{align-items:flex-start;gap:10px;min-width:0;display:flex}.desktop-update-icon{color:#ffc24b;opacity:.95;flex:none;width:20px;height:20px;margin-top:1px}.desktop-update-text{flex-direction:column;gap:2px;min-width:0;display:flex}.desktop-update-title{color:#ffc24b;font-size:13px;font-weight:700;line-height:1.2}.desktop-update-body{color:var(--text-secondary);font-size:12px;line-height:1.35}.desktop-update-actions{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.desktop-update-btn{color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#ffc24b29;border:1px solid #ffc24b59;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .2s}.desktop-update-btn:hover{background:#ffc24b3d;border-color:#ffc24b8c}.desktop-update-btn.primary{background:#ffc24b47;border-color:#ffc24b8c}.desktop-update-btn.primary:hover{background:#ffc24b61;border-color:#ffc24bb8}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.desktop-update-banner{flex-direction:column;align-items:flex-start}.desktop-update-actions{justify-content:flex-start;width:100%}.desktop-update-btn{text-align:center;flex:160px}}.app-main{flex:1;grid-template-columns:1fr auto;min-height:0;display:grid;overflow:hidden}.preview-section{height:100%;max-height:calc(var(--viewport-h) - 96px);background:0 0;flex-direction:column;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden}.canvas-container{background:var(--bg-canvas);border:2px dashed #0000;border-radius:10px;flex:1;justify-content:center;align-items:center;min-height:400px;transition:border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}#canvas,#glCanvas,#cropCanvas{object-fit:contain;max-width:100%;max-height:100%}.before-after-canvas{transform-origin:0 0;pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0}.display-overlay{pointer-events:none;z-index:5;width:100%;height:100%;display:none;position:absolute;top:0;left:0}#glDetailCanvas{transform-origin:0 0;pointer-events:none;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.brush-feedback{pointer-events:none;z-index:20;width:100%;height:100%;display:none;position:absolute;inset:0}.canvas-container.brush-tool-active{touch-action:none}.canvas-transform-wrapper{transform-origin:0 0;will-change:transform;justify-content:center;align-items:center;display:flex;position:relative}.zoom-indicator{color:var(--text-primary);pointer-events:none;z-index:50;background:#000000b3;border-radius:4px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;display:none;position:absolute;bottom:12px;right:12px}.zoom-controls{z-index:50;gap:4px;display:flex;position:absolute;bottom:12px;left:12px}.zoom-ctrl-btn{width:28px;height:28px;color:var(--text-primary);cursor:pointer;background:#000000b3;border:1px solid #ffffff26;border-radius:4px;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.zoom-ctrl-btn:hover{background:#000000d9;border-color:#ffffff4d}.canvas-container.zoom-pan-active{cursor:grab}.canvas-container.zoom-panning{cursor:grabbing}.canvas-container.crop-mode,.canvas-container.straighten-line-mode{cursor:crosshair}.crop-overlay{pointer-events:none;z-index:100;background:#45d6cd0f;border:1px solid #fffffff2;display:none;position:absolute;box-shadow:0 0 0 9999px #00000070,0 0 0 1px #0006}.crop-grid{background:linear-gradient(90deg,#0000 33.333%,#ffffff8f 33.333% calc(33.333% + 1px),#0000 calc(33.333% + 1px) 66.666%,#ffffff8f 66.666% calc(66.666% + 1px),#0000 calc(66.666% + 1px)),linear-gradient(#0000 33.333%,#ffffff8f 33.333% calc(33.333% + 1px),#0000 calc(33.333% + 1px) 66.666%,#ffffff8f 66.666% calc(66.666% + 1px),#0000 calc(66.666% + 1px));position:absolute;inset:0}.crop-handle{background:#0e1319c7;border:2px solid #fffffffa;width:12px;height:12px;position:absolute;box-shadow:0 1px 4px #0006}.crop-handle-nw{top:-6px;left:-6px}.crop-handle-n{top:-6px;left:calc(50% - 6px)}.crop-handle-ne{top:-6px;right:-6px}.crop-handle-e{top:calc(50% - 6px);right:-6px}.crop-handle-se{bottom:-6px;right:-6px}.crop-handle-s{bottom:-6px;left:calc(50% - 6px)}.crop-handle-sw{bottom:-6px;left:-6px}.crop-handle-w{top:calc(50% - 6px);left:-6px}.straighten-guide-line{pointer-events:none;transform-origin:0;z-index:125;background:#fffffff5;min-width:1px;height:2px;display:none;position:absolute;box-shadow:0 0 0 1px #000000b8,0 0 18px #45d6cd85}.straighten-guide-line:before,.straighten-guide-line:after{content:"";background:#fffffff5;border:1px solid #000000b8;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%)}.straighten-guide-line:before{left:-4px}.straighten-guide-line:after{right:-4px}.crop-mode-hint{color:#ffffffeb;backdrop-filter:blur(10px);pointer-events:none;opacity:0;z-index:160;background:#12161cdb;border:1px solid #ffffff29;border-radius:8px;flex-direction:column;gap:4px;max-width:min(360px,100% - 28px);padding:10px 12px;transition:opacity .2s,transform .2s;display:none;position:absolute;top:14px;left:14px;transform:translateY(-4px);box-shadow:0 10px 28px #00000061}.crop-mode-hint.visible{opacity:1;transform:translateY(0)}.crop-mode-hint-title{font-size:12px;font-weight:700;line-height:1.25}.crop-mode-hint-body{color:#ffffffc2;font-size:12px;line-height:1.42}.loupe{pointer-events:none;z-index:250;border:1px solid var(--border-light);backdrop-filter:blur(6px);background:#111111f2;border-radius:10px;padding:8px;display:none;position:absolute;box-shadow:0 10px 30px #0000008c}#loupeCanvas{border:1px solid var(--border);image-rendering:pixelated;border-radius:8px;display:block}.loupe-info{color:var(--text-secondary);white-space:nowrap;opacity:.95;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}.upload-placeholder{width:100%;height:100%;color:var(--text-secondary);isolation:isolate;flex-direction:column;justify-content:safe center;align-items:center;gap:16px;padding:24px;display:flex;position:relative;overflow:hidden auto}.upload-placeholder svg{opacity:.85;width:56px;height:56px;color:var(--info);filter:drop-shadow(0 0 10px var(--info-glow))}.upload-placeholder>p{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--text-primary);text-shadow:0 0 14px var(--info-glow);font-size:15px;font-weight:500}.upload-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:12px 24px;font-size:14px;font-weight:500;transition:background .2s;display:inline-flex}.upload-btn:hover{background:var(--accent-hover)}.upload-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border);margin-left:8px}.upload-btn.secondary:hover{background:var(--bg-secondary);border-color:var(--border-light)}.upload-btn.is-disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.hidden-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-support-hint{max-width:320px;color:var(--text-muted);text-align:center;font-size:12px;line-height:1.4;display:none}.upload-support-hint.visible{display:block}.preview-toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.toolbar-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;transition:all .2s;display:flex}.toolbar-btn:hover{background:var(--bg-tertiary);border-color:var(--border-light)}.toolbar-btn.active,.toolbar-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-btn.primary:hover{background:var(--accent-hover)}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn svg{width:16px;height:16px}.toolbar-separator{background:var(--border);width:1px;height:24px;margin:0 4px}.toolbar-field{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.toolbar-select{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:6px 8px;font-size:12px}.crop-ratio-flip.portrait svg{transform:rotate(90deg)}.status-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:#08051073;border:1px solid #ffffff24;border-radius:5px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.status-badge:before{content:"●";font-size:9px;animation:1.6s step-end infinite osd-blink}@keyframes osd-blink{0%,65%{opacity:1}66%,to{opacity:.25}}.status-badge.step1{color:var(--warning);background:#ffc24b33}.status-badge.step2{color:var(--accent);background:#45d6cd33}.status-badge.step3{color:var(--success);background:#3dcc8033}.current-file-label{max-width:min(40vw,460px);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0d;border-radius:10px;padding:4px 8px;font-size:11px;line-height:1.3;overflow:hidden}.histogram-container{border:1px solid var(--border);z-index:0;background:#ffffff06;border-radius:8px;flex:none;min-height:112px;padding:10px;position:relative}.histogram-header{align-items:center;margin-bottom:4px;display:flex}.histogram-label{color:var(--text-secondary);font-size:11px}#histogramCanvas{background:var(--bg-canvas);border:1px solid #45d6cd24;border-radius:6px;width:100%;height:80px;display:block}.controls-panel{background:var(--bg-secondary);border-left:1px solid var(--border);width:296px;height:100%;max-height:calc(var(--viewport-h) - 96px);flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}.controls-panel>.histogram-container,.controls-panel>.file-list-section,.controls-panel>.control-section{flex:none}.control-section{border:1px solid var(--border);background:#ffffff06;border-radius:8px;padding:12px}.control-section.task-primary{background:#ff4d8f0d;border-color:#ff4d8f66;box-shadow:0 0 14px #ff4d8f12}.control-section.task-primary>.section-header .section-title:before{content:"▶ ";color:var(--accent);vertical-align:1px;font-size:9px}.control-section.task-secondary{background:#ffffff05;border-color:#ffffff0d;transition:background .2s,border-color .2s}.control-section.task-secondary:hover,.control-section.task-secondary:focus-within{border-color:var(--border-light);background:#ffffff0a}.control-section.task-advanced{background:#00000024;border-style:dashed;border-color:#ffffff0b;transition:background .2s,border-color .2s}.control-section.task-advanced:hover,.control-section.task-advanced:focus-within{border-color:var(--border-light);background:#ffffff08}.control-section.task-secondary:not(:hover):not(:focus-within)>.section-header .section-title,.control-section.task-advanced:not(:hover):not(:focus-within)>.section-header .section-title{color:var(--text-secondary)}.section-header{cursor:default;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header[data-section]{cursor:pointer}.section-header[data-section]:hover .section-title{color:var(--accent-hover)}.section-header[data-section]:hover .section-toggle{color:var(--text-primary)}.section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}button.section-title{font-family:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.section-toggle{color:var(--text-secondary);transition:transform .2s}.section-toggle.collapsed{transform:rotate(-90deg)}.section-content{flex-direction:column;gap:12px;display:flex}.section-content.collapsed{display:none}.control-group{background:#0000001a;border:1px solid #ffffff12;border-radius:6px;flex-direction:column;gap:10px;padding:10px;display:flex}.control-group.is-primary{background:#45d6cd0b;border-color:#45d6cd38}.control-group.is-muted{background:#ffffff04;border-style:dashed}.control-group-title{color:var(--text-primary);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;line-height:1.25;display:flex}.control-group-title span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.control-group-hint{color:var(--text-secondary);margin-top:-4px;font-size:11px;line-height:1.4}.control-group-grid{grid-template-columns:1fr;gap:10px;display:grid}.control-group-grid.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.control-group .info-box,.control-group .roll-reference-controls,.control-group .lens-correction-panel{margin-top:0;margin-bottom:0}.control-help-card .gray-point-guide-card{background:0 0;border:0;border-radius:0;padding:0}.control-action-row{flex-direction:column;gap:8px;display:flex}.control-help-card{background:#ffc24b12;border:1px solid #ffc24b3d;border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.film-type-toggle{background:var(--bg-canvas);border:1px solid var(--border);border-radius:9px;gap:2px;padding:3px;display:flex;box-shadow:inset 0 1px 3px #08051080}.film-type-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px;font-size:13px;transition:all .2s}.film-type-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.film-type-btn.active{background:linear-gradient(180deg, var(--accent-hover), var(--accent));color:var(--bg-primary)}.preset-select{background:var(--bg-tertiary);border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;border-radius:4px;padding:8px 12px;font-size:13px}.preset-select:focus{border-color:var(--accent);outline:none}.film-edge-text-input{cursor:text}.film-edge-color-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.film-edge-color-input{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;border-radius:4px;width:44px;height:30px;padding:2px}.film-edge-color-input:focus{border-color:var(--accent);outline:none}.film-base-buttons{flex-wrap:wrap;gap:8px;display:flex}.film-base-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;flex:1;padding:8px;font-size:12px;transition:all .2s}.film-base-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.film-base-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}#filmSettingsSection .step2-mode-toggle{order:1}#filmSettingsSection .film-type-toggle{order:2}#coreColorModelStep2Control{order:3}#filmPresetControl{order:4}#filmBaseControls,#positiveFilmInfo{order:5}#applyConvertBtn{order:6}#lensCorrectionPanel{order:7}.step2-mode-toggle{gap:8px;display:flex}.step2-mode-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:4px;flex:1;padding:7px 9px;font-size:12px;transition:all .2s}.step2-mode-btn:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-primary)}.step2-mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.step2-guide-card{color:var(--text-primary);background:#45d6cd14;border:1px solid #45d6cd59;border-radius:6px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px;display:flex}.step2-guide-title{color:var(--accent);font-size:12px;font-weight:700}.step2-guide-intro,.step2-guide-term{color:var(--text-secondary);font-size:11px;line-height:1.45}.step2-guide-list{color:var(--text-primary);flex-direction:column;gap:5px;margin:0;padding-left:18px;font-size:12px;line-height:1.4;display:flex}.step2-guide-tip{color:var(--accent);border-top:1px dashed #45d6cd59;padding-top:8px;font-size:11px;line-height:1.45}.recommended-action{color:var(--text-primary);background:#45d6cd1f;outline:2px solid #45d6cd8c;box-shadow:inset 0 0 0 1px #45d6cd40;border-color:var(--accent)!important}.roll-reference-controls{border:1px solid var(--border);background:#ffffff05;border-radius:6px;flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.film-edge-status{color:var(--text-secondary);word-break:break-word;margin-bottom:8px;font-size:12px;line-height:1.5}.film-edge-status strong{color:var(--text-primary);font-weight:600}.file-list-badge{white-space:nowrap;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-radius:3px;margin-left:4px;padding:1px 4px;font-size:9px}.file-list-badge.film-stock{border-color:var(--accent-dim,var(--accent));color:var(--accent)}.file-list-badge.roll-outlier{border-color:var(--warning);color:var(--warning)}.roll-analysis-frame{margin-top:-4px}.paradigm-toggle{gap:6px;margin:4px 0 10px;display:flex}.paradigm-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:4px;flex:1;padding:6px 8px;font-size:12px}.paradigm-btn.active,.paradigm-btn[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--bg-hover)}.enlarger-controls{display:none}body.studio-enlarger .enlarger-controls{display:block}body.studio-enlarger #studioSliders{display:none}.slider-readout{font-size:12px;font-family:var(--font-mono);color:var(--text-primary)}.test-strip{outline:none;gap:4px;margin:8px 0 6px;display:flex;overflow-x:auto}.test-strip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.test-strip-tile{border:1px solid var(--border);background:var(--bg-tertiary);cursor:pointer;border-radius:3px;flex-direction:column;flex:1 1 0;align-items:stretch;min-width:0;padding:0;display:flex}.test-strip-tile canvas{width:100%;height:auto;display:block}.test-strip-tile span{font-size:11px;font-family:var(--font-mono);text-align:center;color:var(--text-secondary);padding:2px 0}.test-strip-tile.current{border-color:var(--accent)}.test-strip-tile.current span{color:var(--accent)}.test-strip-step{width:100%}.lab-match-pick{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}body.dodge-burn-active #canvas,body.dodge-burn-active #glCanvas{cursor:crosshair}.roll-reference-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-size:11px;font-weight:600}.roll-reference-status{color:var(--text-secondary);font-size:11px;line-height:1.3}.roll-reference-options{flex-direction:column;gap:6px;display:flex}.roll-reference-option{color:var(--text-secondary);user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.roll-reference-option input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.lens-correction-panel{border:1px solid var(--border);background:#ffffff05;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.lens-correction-panel:not(.is-open){background:#ffffff04}.lens-correction-panel:not(.is-open) .lens-status,.lens-correction-panel:not(.is-open) .lens-grid{display:none}.lens-section-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-size:11px;font-weight:600}.lens-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.lens-toggle-label{user-select:none;color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.lens-toggle-label input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.lens-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lens-field{flex-direction:column;gap:4px;display:flex}.lens-field.wide{grid-column:1/-1}.lens-field label{color:var(--text-secondary);font-size:11px}.lens-field input,.lens-field select{background:var(--bg-tertiary);border:1px solid var(--border);width:100%;min-width:0;color:var(--text-primary);border-radius:4px;padding:6px 8px;font-size:12px}.lens-field input:focus,.lens-field select:focus{border-color:var(--accent);outline:none}.lens-field input:disabled,.lens-field select:disabled{opacity:.68;cursor:not-allowed}.lens-status{color:var(--text-secondary);white-space:pre-line;margin:0;font-size:11px;line-height:1.35}.lens-status.error{color:var(--danger)}.lens-status.ready{color:var(--success)}.lens-selected{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.35}.lens-step-row{align-items:center;gap:8px;display:flex}.autoframe-settings{border:1px solid var(--border);background:#ffffff05;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.autoframe-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.autoframe-row select{background:var(--bg-tertiary);border:1px solid var(--border);min-width:0;color:var(--text-primary);border-radius:4px;flex:1;padding:6px 8px;font-size:12px}.autoframe-row select:focus{border-color:var(--accent);outline:none}.autoframe-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding-top:2px;display:grid}.autoframe-option{color:var(--text-secondary);user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.autoframe-option input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.autoframe-diagnostics{color:var(--text-secondary);white-space:pre-line;margin-bottom:0;font-family:monospace;font-size:11px;line-height:1.4}.film-base-preview{background:var(--bg-tertiary);border-radius:4px;align-items:center;gap:8px;padding:8px;display:flex}.film-base-color{border:1px solid var(--border);border-radius:4px;width:32px;height:32px}.film-base-values{color:var(--text-secondary);font-family:monospace;font-size:11px}.slider-control{flex-direction:column;gap:4px;display:flex}.slider-header{justify-content:space-between;align-items:center;display:flex}.slider-label{color:var(--text-secondary);font-size:12px}.slider-value-group{align-items:center;gap:6px;display:flex}.slider-number-input{background:var(--bg-tertiary);border:1px solid var(--border);width:72px;color:var(--text-primary);text-align:right;border-radius:4px;padding:4px 6px;font-family:monospace;font-size:12px}.slider-number-input:focus{border-color:var(--accent);outline:none}.slider-unit{color:var(--text-secondary);min-width:16px;font-size:11px}.slider-input{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(#0d0a15,#201a30);border:1px solid #ffffff0d;border-radius:3px;width:100%;height:6px;box-shadow:inset 0 1px 2px #080510a6}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(180deg, transparent 44%, var(--accent) 44%, var(--accent) 56%, transparent 56%), linear-gradient(180deg, #f6f3fb 0%, #b9aed2 45%, #857898 50%, #d5cde8 56%, #746786 100%);cursor:pointer;border:1px solid #080510d9;border-radius:3px;width:14px;height:22px;margin-top:-9px;transition:box-shadow .15s;box-shadow:0 1px 3px #08051099}.slider-input::-webkit-slider-thumb:hover{box-shadow:0 0 10px var(--accent-glow), 0 1px 3px #08051099}.slider-input::-moz-range-thumb{background:linear-gradient(180deg, transparent 44%, var(--accent) 44%, var(--accent) 56%, transparent 56%), linear-gradient(180deg, #f6f3fb 0%, #b9aed2 45%, #857898 50%, #d5cde8 56%, #746786 100%);cursor:pointer;border:1px solid #080510d9;border-radius:3px;width:14px;height:22px;box-shadow:0 1px 3px #08051099}.slider-input::-moz-range-thumb:hover{box-shadow:0 0 10px var(--accent-glow), 0 1px 3px #08051099}.curve-editor{background:var(--bg-tertiary);border-radius:4px;padding:8px}.curve-hint{color:var(--text-secondary);margin:0 0 8px;font-size:11px}.curve-tabs{gap:4px;margin-bottom:8px;display:flex}.curve-tab.reset{color:var(--text-secondary);margin-left:auto}.curve-tab.reset:hover{color:var(--accent);border-color:var(--accent)}.curve-tab{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex:1;padding:4px 8px;font-size:11px;transition:all .2s}.curve-tab.r{color:#ff635c}.curve-tab.g{color:#3dcc80}.curve-tab.b{color:#45d6cd}.curve-tab.active{background:var(--bg-hover);border-color:var(--border-light)}.curve-canvas{background:var(--bg-canvas);cursor:crosshair;touch-action:none;border:1px solid #45d6cd24;border-radius:6px;width:100%;height:120px;transition:border-color .2s}.curve-canvas:hover{border-color:var(--accent)}.curve-presets{gap:4px;margin-top:8px;display:flex}.curve-preset-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;flex:1;padding:4px;font-size:10px}.curve-preset-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.footer-left,.footer-right{gap:8px;display:flex}.footer-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .2s}.footer-btn:hover{background:var(--bg-hover)}.footer-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.footer-btn svg{flex-shrink:0}#toastContainer{z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-message{color:#e0e0e0;opacity:0;box-sizing:border-box;white-space:normal;overflow-wrap:break-word;text-align:center;background:#1e1e1eeb;border-radius:6px;max-width:min(560px,100vw - 32px);padding:8px 18px;font-size:13px;transition:opacity .25s;box-shadow:0 2px 8px #0000004d}.toast-message.toast-visible{opacity:1}.toast-message.toast-with-action{pointer-events:auto;white-space:normal;align-items:center;gap:12px;max-width:calc(100vw - 32px);display:flex}.toast-action{border:1px solid var(--accent);color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:3px 10px}.toast-action:hover{background:var(--accent);color:var(--bg-primary)}.footer-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.footer-btn.primary:hover{background:var(--accent-hover)}.footer-btn:disabled{opacity:.5;cursor:not-allowed}.info-box{color:var(--accent);background:#45d6cd1a;border:1px solid #45d6cd4d;border-radius:4px;margin-bottom:12px;padding:10px 12px;font-size:12px}.workflow-guide-note{white-space:pre-line;margin-top:8px;margin-bottom:0;line-height:1.5}.gray-point-guide-card{background:linear-gradient(135deg,#ffc24b1f,#45d6cd14),#ffffff05;border:1px solid #ffc24b3d;border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.gray-point-guide-card.is-active{background:linear-gradient(135deg,#45d6cd2e,#45d6cd14),#ffffff05;border-color:#45d6cd70}.gray-point-guide-card.is-auto{background:linear-gradient(135deg,#45d6cd1a,#45d6cd0a),#ffffff05;border-color:#45d6cd47}.gray-point-guide-title{color:#ffd28a;font-size:12px;font-weight:700}.gray-point-guide-card.is-active .gray-point-guide-title,.gray-point-guide-card.is-auto .gray-point-guide-title{color:#9fe8e2}.gray-point-guide-body{color:var(--text-primary);font-size:12px;line-height:1.5}.gray-point-guide-hint{color:var(--text-secondary);font-size:11px;line-height:1.45}.feedback-popup-overlay{backdrop-filter:blur(8px);z-index:220;background:#00000094;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.feedback-popup-overlay.visible{display:flex}.feedback-popup{background:linear-gradient(#1f1a2cfa,#17141ffa);border:1px solid #45d6cd47;border-radius:16px;flex-direction:column;gap:12px;width:min(460px,100%);padding:18px;display:flex;box-shadow:0 24px 50px #0000005c}.feedback-popup-title{font-family:var(--font-display);color:var(--info);text-shadow:0 0 12px var(--info-glow);font-size:16px;font-weight:700;line-height:1.3}.feedback-form{flex-direction:column;gap:12px;display:flex}.feedback-type-group{gap:8px;display:flex}.feedback-type-btn{border:1px solid var(--border-light);min-height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.feedback-type-btn:hover{border-color:var(--info);color:var(--text-primary)}.feedback-type-btn.active{border-color:var(--info);color:var(--info);background:#45d6cd24}.feedback-message{resize:vertical;border:1px solid var(--border-light);width:100%;min-height:120px;color:var(--text-primary);font-family:var(--font-body);background:#0000004d;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6}.feedback-message:focus{border-color:var(--info);box-shadow:0 0 0 2px var(--info-glow);outline:none}.feedback-image-row{flex-direction:column;gap:8px;display:flex}.feedback-attach-btn{border:1px dashed var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.feedback-attach-btn svg{width:14px;height:14px}.feedback-attach-btn:hover:not(:disabled){border-color:var(--info);color:var(--info)}.feedback-attach-btn:disabled{opacity:.45;cursor:not-allowed}.feedback-attach-count{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.feedback-image-list{flex-wrap:wrap;gap:8px;display:flex}.feedback-image-list:empty{display:none}.feedback-image-thumb{border:1px solid var(--border-light);border-radius:8px;width:64px;height:64px;position:relative;overflow:hidden}.feedback-image-thumb img{object-fit:cover;width:100%;height:100%;display:block}.feedback-image-remove{color:#fff;cursor:pointer;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.feedback-image-remove:hover{background:var(--danger)}.feedback-website-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.feedback-popup-note{color:var(--text-secondary);font-size:12px;line-height:1.5}.feedback-status{min-height:18px;font-size:13px;line-height:1.4}.feedback-status-text.sending{color:var(--text-secondary)}.feedback-status-text.success{color:var(--success)}.feedback-status-text.error{color:var(--danger)}.feedback-popup-actions{justify-content:flex-end;gap:10px;display:flex}.feedback-popup-btn{cursor:pointer;border-radius:10px;min-width:104px;min-height:38px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.feedback-popup-btn.primary{background:var(--accent);color:#fff;border:none}.feedback-popup-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.feedback-popup-btn.primary:disabled{opacity:.45;cursor:not-allowed}.feedback-popup-btn.secondary{border:1px solid var(--border-light);color:var(--text-secondary);background:0 0}.feedback-popup-btn.secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}.file-list-section{border:1px solid var(--border);z-index:5;background:#ffffff06;border-radius:8px;max-height:200px;position:sticky;top:10px;overflow-y:auto}.file-list-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border);z-index:10;border-radius:7px 7px 0 0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}.file-list-title{color:var(--text-primary);font-size:12px;font-weight:600}.file-list-count{color:var(--text-secondary);font-size:11px}.file-list-items{padding:4px 0}.file-list-item{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:12px;transition:background .15s;display:flex}.file-list-item:hover{background:var(--bg-tertiary)}.file-list-item.active{background:#45d6cd26}.file-list-checkbox{cursor:pointer;width:14px;height:14px;accent-color:var(--accent)}.file-list-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.file-list-status{white-space:nowrap;border-radius:8px;padding:2px 6px;font-size:10px}.file-list-status.pending{color:var(--text-secondary);background:#8883}.file-list-status.processing{color:var(--accent);background:#45d6cd33}.file-list-status.done{color:var(--success);background:#3dcc8033}.file-list-status.error{color:var(--danger);background:#ff635c33}.file-list-actions{border-top:1px solid var(--border);gap:4px;padding:8px 16px;display:flex}.file-list-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;border-radius:4px;flex:1;padding:6px 8px;font-size:11px;transition:all .2s}.file-list-btn:hover{background:var(--bg-hover)}.file-list-item.has-settings{border-left:3px solid var(--success)}.file-list-item.is-dirty{border-left:3px solid var(--warning)}.file-list-settings-badge{background:var(--success);color:#fff;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:9px}.file-list-unsaved-badge{background:var(--warning);color:#111;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:9px;font-weight:600}.debug-widget{z-index:9999;color:#ffffffeb;white-space:pre;pointer-events:none;background:#000000b8;border:1px solid #ffffff2e;border-radius:10px;max-width:min(420px,100vw - 24px);padding:10px 12px;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;position:fixed;bottom:12px;right:12px}.batch-progress-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.batch-progress-modal{background:var(--bg-secondary);border-radius:8px;min-width:320px;max-width:400px;padding:24px;box-shadow:0 8px 32px #0006}.batch-progress-title{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.batch-progress-bar{background:var(--bg-tertiary);border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.batch-progress-fill{background:var(--accent);height:100%;transition:width .3s}.batch-progress-text{color:var(--text-secondary);text-align:center;font-size:13px}.batch-progress-current{color:var(--text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:12px;overflow:hidden}.batch-progress-cancel{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;margin:16px auto 0;padding:6px 18px;font-size:13px;display:block}.batch-progress-cancel:hover{background:var(--accent);color:var(--bg-primary,#000)}.batch-progress-cancel[hidden]{display:none}.loading-overlay{backdrop-filter:blur(4px);z-index:1001;opacity:0;pointer-events:none;background:#0e0c14e0;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.loading-overlay.visible{opacity:1;pointer-events:all;transition-delay:.15s}.loading-overlay.visible.loading-overlay-immediate{transition:none}.loading-reel-wrap{filter:drop-shadow(0 0 18px #45d6cd2e);width:128px;height:128px}.loading-reel{will-change:transform;width:100%;height:100%;animation:1.4s linear infinite reel-spin}@keyframes reel-spin{to{transform:rotate(360deg)}}.loading-reel .reel-rim{fill:none;stroke:#b9aed2;stroke-width:3px}.loading-reel .reel-film{fill:#ffc24b1a;stroke:#ffc24b8c;stroke-width:2px}.loading-reel .reel-hub{fill:#1f1a2c;stroke:#b9aed2;stroke-width:2.5px}.loading-reel .reel-cutout{fill:#0e0c14d9;stroke:#b9aed28c;stroke-width:1.5px}.loading-reel .reel-key{fill:#b9aed2}.loading-film-strip{background:repeating-linear-gradient(90deg,#0000 0 5px,#ece7f480 5px 9px,#0000 9px 14px) 0 2px/14px 4px repeat-x,repeating-linear-gradient(90deg,#0000 0 5px,#ece7f480 5px 9px,#0000 9px 14px) 0 calc(100% - 2px)/14px 4px repeat-x,#0e0c14;border:1px solid #ffffff1f;border-radius:4px;width:min(280px,72vw);height:28px;margin-top:22px;position:relative;overflow:hidden}.loading-film-fill{background:linear-gradient(90deg, #ff965cbf, var(--warning));border-radius:2px;width:0%;transition:width .25s;position:absolute;top:7px;bottom:7px;left:0;box-shadow:0 0 12px #ffc24b66}.loading-progress-text{font-family:var(--font-mono);color:#45d6cd;text-shadow:0 0 10px #45d6cd99,0 0 30px #45d6cd4d;margin-top:16px;font-size:28px}.loading-phase-text{color:var(--text-secondary,#999);margin-top:8px;font-family:Inter,sans-serif;font-size:14px}.loading-cancel-btn{border:1px solid var(--accent,#45d6cd);color:var(--accent,#45d6cd);cursor:pointer;background:0 0;border-radius:6px;margin-top:20px;padding:8px 20px;font-size:13px;transition:background .2s,color .2s}.loading-cancel-btn:hover{background:var(--accent,#45d6cd);color:#000}.export-dropdown{align-items:center;gap:6px;display:inline-flex;position:relative}.export-dropdown .footer-btn.active{color:#ffd28a;background:#ffc24b33;border-color:#ffc24b80}.export-dropdown-menu{background:var(--bg-secondary);border:1px solid var(--border);z-index:100;border-radius:4px;min-width:180px;margin-bottom:4px;display:none;position:absolute;bottom:100%;right:0;box-shadow:0 4px 12px #0000004d}.export-dropdown-menu.show{display:block}.export-dropdown-item{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:13px;transition:background .15s;display:block}.export-dropdown-item:hover{background:var(--bg-tertiary)}.export-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.export-dropdown-divider{background:var(--border);height:1px;margin:4px 0}.export-format-section{border-bottom:1px solid var(--border);padding:10px 12px}.export-format-label{color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;font-size:11px}.export-format-toggle{gap:4px;display:flex}.export-format-toggle .format-btn,.export-bitdepth-toggle .bitdepth-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;flex:1;padding:6px 12px;font-size:12px;transition:all .15s}.export-format-toggle .format-btn:first-child,.export-bitdepth-toggle .bitdepth-btn:first-child{border-radius:4px 0 0 4px}.export-format-toggle .format-btn:last-child,.export-bitdepth-toggle .bitdepth-btn:last-child{border-radius:0 4px 4px 0}.export-format-toggle .format-btn.active,.export-bitdepth-toggle .bitdepth-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.export-bitdepth-section{border-bottom:1px solid var(--border);padding:10px 12px}.export-bitdepth-toggle{gap:4px;display:flex}.export-bitdepth-toggle .bitdepth-btn.disabled{opacity:.5;cursor:not-allowed}.export-bitdepth-note{color:var(--text-secondary);margin-top:6px;font-size:11px;display:none}.export-bitdepth-note.show{display:block}.export-quality-section{border-bottom:1px solid var(--border);padding:10px 12px;display:none}.export-quality-section.show{display:block}.export-quality-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.export-quality-label{color:var(--text-secondary);text-transform:uppercase;font-size:11px}.export-quality-value{color:var(--text-primary);font-size:12px}.export-quality-slider{-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none;width:100%;height:4px}.export-quality-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:14px;height:14px}.export-quality-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}input.preset-select{cursor:text;background-image:none;padding-right:12px}.zoom-ctrl-btn{border-radius:6px}@media (width<=900px){body{background:radial-gradient(140% 70% at 50% -10%,#ff4d8f14,#0000 55%),linear-gradient(#1b1726 0%,#141119 100%)}button,input,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.lang-selector{border-radius:10px;padding:2px}.header-actions{gap:8px;max-width:52%}.header-action-btn{min-height:32px;padding:6px 10px;font-size:11px}.header-export-progress{min-width:156px;max-width:min(220px,38vw);padding:6px 9px 7px}.lang-btn{border:none;border-radius:9px;min-width:48px;min-height:32px;padding:6px 10px}.app-main{padding:10px calc(10px + var(--safe-right)) 10px calc(10px + var(--safe-left));grid-template-rows:minmax(220px,1.08fr) minmax(0,1fr);grid-template-columns:1fr;gap:10px}.app-main:has(>.controls-panel[style*=none]){grid-template-rows:1fr 0;gap:0}.preview-section{background:#1f1a2cb8;border:1px solid #ffffff14;border-radius:16px;max-height:none;padding:0}.canvas-container{border-radius:14px;flex:auto;min-height:0;margin:10px}.preview-toolbar{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:none;gap:8px;padding:8px 10px 10px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 18px),#0000 100%)}.preview-toolbar::-webkit-scrollbar{display:none}.status-badge,.current-file-label,.toolbar-btn,.toolbar-field{flex-shrink:0}.toolbar-select{min-height:36px}.status-badge,.current-file-label{white-space:nowrap}.toolbar-separator{display:none}.toolbar-btn{white-space:nowrap;border-radius:12px;min-height:44px;padding:10px 14px;font-size:14px}.controls-panel{backdrop-filter:blur(14px)saturate(140%);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#1f1a2cad;border:1px solid #ffffff14;border-radius:16px;gap:8px;width:auto;max-height:none;padding:8px}.control-section{padding:14px}.histogram-container,.file-list-section{top:8px}.control-group-grid.two-up{grid-template-columns:1fr}.section-title{font-size:12px}.film-type-btn,.step2-mode-btn,.film-base-btn,.file-list-btn,.curve-tab,.curve-preset-btn,.footer-btn{min-height:40px}.preset-select,.slider-number-input,.file-list-btn,.footer-btn{font-size:16px}.preset-select{min-height:44px}.lens-grid{grid-template-columns:1fr}.lens-step-row{flex-direction:column;align-items:stretch}.slider-input{height:8px}.slider-input::-webkit-slider-thumb{width:18px;height:26px;margin-top:-10px}.slider-input::-moz-range-thumb{width:18px;height:26px}.slider-number-input{width:84px;min-height:36px}.file-list-section{-webkit-overflow-scrolling:touch;max-height:34vh}.footer-left{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.footer-right{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.footer-btn{border-radius:12px;width:100%;min-height:44px;font-size:14px}.footer-right .export-dropdown,.footer-right .export-dropdown>.footer-btn{width:100%}.header-site-links{display:none}}@media (width<=600px){.header-actions{row-gap:6px;width:auto;max-width:100%}.header-export-progress{order:3;width:100%;max-width:100%}.header-actions{flex-shrink:0}.lang-btn{min-width:42px;padding:5px 8px;font-size:12px}.footer-btn{white-space:normal;padding:6px 4px;font-size:12px;line-height:1.2}.header-link-btn{justify-content:center;min-width:34px;padding:7px 9px}.header-link-btn span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-link-btn{position:relative}}@media (width<=900px) and (height<=560px) and (orientation:landscape){.header-actions{flex-wrap:nowrap;flex:none;gap:6px;max-width:none}.header-action-btn,.header-link-btn,.lang-btn{min-height:28px;padding:5px 8px}.header-link-btn{justify-content:center;min-width:32px;position:relative}.header-link-btn span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-export-progress{order:0;width:auto;min-width:110px;max-width:min(170px,26vw);padding:4px 8px 5px}.app-main{padding:8px calc(8px + var(--safe-right)) 8px calc(8px + var(--safe-left));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(230px,36%);gap:8px}.app-main:has(>.controls-panel[style*=none]){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 0;gap:0}.canvas-container{border-radius:12px;margin:6px}.preview-toolbar{gap:6px;padding:6px 8px 8px}.toolbar-btn{min-height:36px;padding:7px 10px;font-size:13px}.controls-panel{gap:6px;padding:6px}.control-section{padding:10px}.histogram-container,.file-list-section{top:6px}.file-list-section{max-height:42vh}.footer-left,.footer-right{flex-wrap:wrap;gap:6px;width:auto;display:flex}.footer-btn{width:auto;min-height:34px;padding:6px 10px;font-size:12px}.footer-right .export-dropdown,.footer-right .export-dropdown>.footer-btn{width:auto}}.console-keypad{background:var(--bg-canvas);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;padding:10px 8px;display:grid;box-shadow:inset 0 2px 6px #0000008c}.console-channel{flex-direction:column;align-items:stretch;gap:5px;display:flex}.console-channel-d{border-left:1px solid var(--border-light);padding-left:6px}.console-channel-label{font-family:var(--font-mono);text-align:center;letter-spacing:.06em;font-size:13px;font-weight:700}.console-channel-c .console-channel-label,.console-channel-c .console-readout{color:var(--info)}.console-channel-m .console-channel-label,.console-channel-m .console-readout{color:var(--accent)}.console-channel-y .console-channel-label,.console-channel-y .console-readout{color:var(--warning)}.console-channel-d .console-channel-label,.console-channel-d .console-readout{color:var(--text-primary)}.console-key{background:linear-gradient(180deg, var(--bg-hover), var(--bg-tertiary));border:1px solid var(--border-light);color:var(--text-primary);font-family:var(--font-mono);cursor:pointer;border-radius:6px;padding:7px 0;font-size:15px;line-height:1;transition:background .12s;box-shadow:0 2px #00000073}.console-key:hover:not(:disabled){background:linear-gradient(180deg, var(--bg-hover), var(--bg-hover))}.console-key:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #00000073}.console-key:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.console-readout{border:1px solid var(--border);font-family:var(--font-mono);text-align:center;background:#0b0910;border-radius:5px;padding:5px 0;font-size:15px;line-height:1;display:block;box-shadow:inset 0 1px 4px #000000b3}.console-readout.is-live{text-shadow:0 0 8px}.console-channel.disabled .console-channel-label,.console-channel.disabled .console-readout{color:var(--text-muted);text-shadow:none}.console-key:disabled{color:var(--text-muted);cursor:default;box-shadow:none;background:var(--bg-tertiary);opacity:.55}.console-reset-key{background:linear-gradient(180deg, var(--bg-hover), var(--bg-tertiary));border:1px solid var(--border-light);width:100%;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.2em;cursor:pointer;border-radius:6px;margin-top:8px;padding:7px 0;font-size:13px;font-weight:700;transition:background .12s,color .12s;box-shadow:0 2px #00000073}.console-reset-key:hover:not(:disabled){color:var(--text-primary);background:linear-gradient(180deg, var(--bg-hover), var(--bg-hover))}.console-reset-key:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #00000073}.console-reset-key:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.console-reset-key:disabled{color:var(--text-muted);cursor:default;opacity:.55;box-shadow:none}.console-key-hint{font-family:var(--font-mono);text-align:center;color:var(--text-muted);margin-top:7px;font-size:10px;line-height:1.5}body.studio{--bg-primary:#1b1b1b;--bg-secondary:#242424;--bg-tertiary:#303030;--bg-hover:#393939;--bg-canvas:#171717;--text-primary:#eeeae4;--text-secondary:#b3b0aa;--text-muted:#aaa7a2;--border:#393939;--border-light:#50504c;--accent:#d6be92;--accent-hover:#e5cea8;--accent-dim:#a38d67;--accent-glow:transparent;--info:#d6be92;--font-display:var(--font-body);--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;background:var(--bg-primary)}.loading-overlay.indeterminate .loading-film-fill{animation:1.4s ease-in-out infinite alternate studio-progress}.loading-overlay:not(.visible){--loading-overlay-hide:90ms;visibility:hidden;transition-property:opacity,visibility;transition-duration:var(--loading-overlay-hide,.3s), 0s;transition-delay:0s, var(--loading-overlay-hide,.3s)}.loading-overlay:not(.visible) .loading-reel,.loading-overlay:not(.visible) .loading-film-fill{animation-play-state:paused}@keyframes studio-progress{0%{transform:translate(-80%)}to{transform:translate(260%)}}@media (prefers-reduced-motion:reduce){.loading-overlay.indeterminate .loading-film-fill{opacity:.6;animation:none;width:100%!important}}.studio [hidden],.studio #whiteBalanceSection,.studio #statusBadge,.studio #currentFileLabel,.studio #convertSeparator,.studio #convertBtn,.studio #convertPositiveBtn,.studio #applyConvertBtn,.studio #addFilesToolbarBtn{display:none!important}.studio-header{border-bottom:1px solid var(--border);z-index:20;background:var(--bg-primary);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;min-height:60px;padding:8px 18px;display:flex}.studio-header.studio-header-pending{min-height:60px}@media (width<=1000px){.studio-header.studio-header-pending{min-height:110px}}@media (width<=700px){.studio-header.studio-header-pending{min-height:162px}}.studio-discovery a[lang]{font-family:system-ui,sans-serif}.studio-brand{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:0;font-size:12px;font-weight:400;display:flex}.studio-brand>span:last-child{color:var(--text-secondary)}.studio-mark{white-space:nowrap;font-size:24px;line-height:1.2}.studio-actions{align-items:center;gap:12px;display:flex}.studio-public-links{align-items:center;gap:3px;margin-left:auto;display:flex}.studio-public-links .header-link-btn{color:var(--text-secondary);box-shadow:none;white-space:nowrap;background:0 0;border:0;border-radius:5px;min-height:34px;padding:8px;font-size:12px}.studio-public-links .header-link-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.studio-public-links .header-link-btn svg{width:14px;height:14px}.studio-public-links .header-link-btn>span{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.studio-public-links .header-shop-badge{display:none}.studio .github-star-btn{align-items:center;display:inline-flex}.studio .github-star-btn-main,.studio .github-star-btn-count{color:var(--text-secondary);border-radius:5px;align-items:center;gap:6px;padding:8px;font-size:12px;text-decoration:none;display:inline-flex}.studio .github-star-btn-main svg{fill:currentColor;width:16px;height:16px}.studio .github-star-btn-main:hover,.studio .github-star-btn-count:hover{background:var(--bg-hover);color:var(--text-primary)}.studio button,.studio summary,.studio .upload-btn{font-family:var(--font-body)}.studio-actions>button,.studio button#studioReset,.studio button#studioSync,.studio button#studioSyncCrop,.studio button#studioRetry,.studio-menu-content>button{border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;padding:9px 12px;font-size:12px;transition:background .15s}.studio button:disabled{opacity:.4;cursor:not-allowed}.studio-actions>button:hover,.studio button#studioSync:hover,.studio button#studioSyncCrop:hover,.studio button#studioRetry:hover{background:var(--bg-hover)}#studioHistory{gap:4px;display:flex}.studio .footer-btn{box-shadow:none;letter-spacing:0;text-transform:none;background:0 0;border:0;border-radius:6px;padding:9px 12px;font-size:12px}.studio #exportBtn{background:var(--accent);color:#211d17;min-width:94px;font-weight:600}.studio .export-dropdown-menu{border-color:var(--border-light);max-height:min(70dvh,600px);top:calc(100% + 12px);bottom:auto;overflow-y:auto;box-shadow:0 12px 36px #0005}#studioMenu{position:relative}#studioMenu>summary{cursor:pointer;color:var(--text-secondary);padding:10px 4px;font-size:12px}.studio-menu-content{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;width:260px;max-height:75dvh;padding:20px;position:absolute;top:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 12px 36px #0005}#studioMenu:not([open])>.studio-menu-content{display:none}#studioLinks{flex-direction:column;align-items:flex-start;gap:8px;margin:16px 0;display:flex}.studio-menu-content .header-site-links{display:flex}.studio .app-main{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0;padding:0}.studio .app-main:has(>.controls-panel[style*=none]){grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.studio.studio-loaded .app-main{grid-template-rows:minmax(0,1fr) max-content;grid-template-columns:minmax(0,1fr) 340px}.studio .preview-section{background:0 0;border:0;border-radius:0;grid-area:1/1;max-height:none;padding:0 12px 8px}.studio .canvas-container{min-height:0;box-shadow:none;border:0;border-radius:0;margin:0}.studio .canvas-transform-wrapper{border:0;border-radius:0}.studio-image-status{min-height:34px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}#studioFilename{white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-family:var(--font-mono);font-size:12px;overflow:hidden}.studio:not(.studio-loaded) .studio-image-status{visibility:hidden}.studio .controls-panel{background:var(--bg-secondary);width:auto;max-height:none;box-shadow:none;border-radius:0;grid-area:1/2/3;gap:0;padding:0}.studio .controls-panel>*{flex-shrink:0}.studio-basic{padding:12px 18px}.studio-panel-heading{margin-bottom:27px}.studio-eyebrow{letter-spacing:.17em;color:var(--text-secondary);font-size:12px}.studio-panel-heading h2{letter-spacing:-.04em;margin:10px 0;font-size:12px;font-weight:500}.studio-panel-heading p{color:var(--text-secondary);font-size:12px;line-height:1.8}#studioColorControls{border:0;min-width:0;padding:0}.studio-section-label{color:var(--text-secondary);margin-bottom:12px;font-size:12px;font-weight:500}.studio-looks{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px;display:grid}.studio-looks button{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px;font-size:12px}.studio-looks button[aria-pressed=true]{border-color:var(--accent);color:var(--text-primary)}.studio-look-swatch{background:linear-gradient(90deg,#8e9790 33%,#b7ab92 33% 66%,#757c89 66%);border-radius:2px;height:14px;margin-bottom:5px;display:block}.studio-look-swatch.warm{background:linear-gradient(90deg,#87927d 33%,#c0a077 33% 66%,#9a7969 66%)}.studio-look-swatch.frontier{background:linear-gradient(90deg,#6d8b70 33%,#b99d71 33% 66%,#6d8798 66%)}.studio-look-swatch.noritsu{background:linear-gradient(90deg,#a0a38c 33%,#b8aaa0 33% 66%,#8e9698 66%)}.studio #studioSliders .slider-control{margin:0 0 12px}.studio .slider-label{font-size:12px}.studio .slider-number-input{font-family:var(--font-mono);color:var(--text-secondary);background:0 0;border-color:#0000;font-size:12px}.studio .slider-number-input:focus{border-color:var(--border-light)}.studio .slider-input{height:3px;accent-color:var(--accent);background:#50504c;margin-top:10px}.studio .slider-input::-webkit-slider-thumb{width:12px;height:12px;box-shadow:none;background:#e0d9ce}.studio #coreTemperature{background:linear-gradient(90deg,#657e95,#8d8981,#a48a62)}.studio #coreTint{background:linear-gradient(90deg,#789175,#8d8981,#957886)}.studio-slider-ends{color:var(--text-secondary);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.studio-color-actions{flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:8px;display:flex}.studio #sampleWBBtn{color:var(--accent);text-align:left;box-shadow:none;background:0 0;border:0;flex:0 auto;padding:8px 0;font-size:12px}.studio button#studioReset{color:var(--text-secondary);border:0;padding:8px 0;font-size:12px}#studioSampleHint{color:var(--accent);margin-top:12px;font-size:12px;line-height:1.7}.studio-drawer{border-top:1px solid var(--border)}.studio-drawer>summary{color:var(--text-secondary);cursor:pointer;padding:13px 18px;font-size:12px}.studio-drawer[open]>summary{color:var(--text-primary)}.studio-drawer-body{padding:0 14px 16px}.studio-drawer-hint{color:var(--text-secondary);margin:0 10px 14px;font-size:12px;line-height:1.8}.studio .control-section{box-shadow:none;background:0 0;border:0;margin-bottom:8px}.studio .section-header{background:0 0}.studio:has(#aiBrushEnabled:checked):has(#studioTab-repair[aria-selected=true]) #canvasContainer{cursor:crosshair}.studio:has(#aiBrushSection[data-model-pending]):has(#studioTab-repair[aria-selected=true]) #canvasContainer{cursor:progress}.studio:has(#aiBrushSection[data-model-error]):has(#studioTab-repair[aria-selected=true]) #canvasContainer{cursor:not-allowed}.studio #aiBrushSection:is([data-model-pending],[data-model-error]) #aiBrushSize{opacity:.5}.studio #aiBrushSection[data-model-pending] #dustAiStatus{color:var(--accent)}.studio #aiBrushSection[data-model-error] #dustAiStatus{color:var(--danger)}.studio #aiBrushSection{padding:16px}.studio #aiBrushSection .control-group{margin:0}.studio #aiBrushSection details{margin-top:12px}.studio .section-title{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:12px}.studio .control-section.task-primary>.section-header .section-title:before{content:none}.studio #studioExportSettings{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.studio #studioExportSettings>summary{cursor:pointer;color:var(--text-secondary);padding:10px;font-size:12px}#studioMobileHistory{display:none}.studio-panel-footer{color:var(--text-muted);gap:7px;padding:22px 25px;font-size:12px;line-height:1.8;display:flex}.studio-local-dot{background:#95a88f;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:5px}.studio .preview-toolbar{box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:wrap;justify-content:center;gap:7px;padding:10px 0 0}.studio .toolbar-btn{color:var(--text-secondary);box-shadow:none;background:0 0;border:0;padding:7px 9px;font-size:12px}.studio .toolbar-btn.active{color:var(--accent);background:var(--bg-hover)}.studio .toolbar-btn.dust-quick{color:var(--accent);border:1px solid var(--accent-dim);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.studio .toolbar-btn.dust-quick svg{flex-shrink:0;width:14px;height:14px}.studio .toolbar-btn.dust-quick:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.studio .toolbar-btn.dust-quick.active{background:var(--accent);border-color:var(--accent);color:#211d17;font-weight:600}.studio .toolbar-btn.dust-quick:disabled{color:var(--text-secondary);border-color:var(--border-light);opacity:.5}.studio .toolbar-select{height:30px;padding-block:0}.studio-filmstrip{border-top:1px solid var(--border);background:#202020;min-width:0;padding:6px 12px;display:none}.studio-loaded .studio-filmstrip{grid-area:2/1;display:block}.studio-strip-header{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;font-size:12px;display:flex}.studio-strip-header>button,.studio-strip-header>details{white-space:nowrap;flex-shrink:0}.studio-photo-sort{min-width:0;max-width:100%;color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.studio #studioPhotoSort{border:1px solid var(--border-light);background:var(--bg-secondary);min-width:0;max-width:100%;min-height:28px;color:var(--text-primary);font:inherit;cursor:pointer;padding:4px 6px}.studio #studioPhotoSort:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.studio #studioPhotoSort:disabled{opacity:.4;cursor:not-allowed}#studioSelection{color:var(--text-secondary);white-space:nowrap;margin-left:auto}.studio button#studioSync,.studio button#studioSyncCrop{padding:5px 10px;font-size:12px}.studio #fileListSection{background:0 0;border:0;align-items:center;gap:12px;margin:5px 0 0;display:flex!important}.studio .file-list-header{display:none}.studio .file-list-items{scroll-behavior:smooth;flex:1;gap:10px;min-width:0;padding:4px 0 6px;display:flex;overflow:auto hidden}.studio .file-list-item{border:1px solid var(--border);background:#292929;border-radius:4px;flex:0 0 100px;width:100px;height:72px;padding:4px;position:relative}.studio .file-list-item.active{border-color:var(--accent);background:#35322c}.studio .file-list-checkbox{z-index:1;width:14px;height:14px;position:absolute;top:7px;left:7px}.studio .file-list-select-control{z-index:2;cursor:pointer;width:36px;height:36px;position:absolute;top:0;left:0}.studio .file-list-name{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;font-size:12px;display:flex}.studio .file-list-thumbnail{object-fit:contain;width:100%;height:43px}.studio .file-list-placeholder{color:#8f8a80;height:51px;font-size:12px;font-family:var(--font-mono);justify-content:center;align-items:center;display:flex}.studio .file-list-preview-state{color:var(--accent);pointer-events:none;background:#1b1b1bd9;padding:0 4px;font-size:12px;line-height:1.4;position:absolute;bottom:23px;right:5px}.studio .file-list-preview-state[hidden]{display:none}.studio .file-list-filename{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;overflow:hidden}.studio .file-list-status{background:#222c;padding:2px 4px;font-size:12px;position:absolute;top:5px;right:5px}.studio .file-list-status.pending,.studio .file-list-settings-badge,.studio .file-list-unsaved-badge{display:none}.studio .file-list-badge.roll-outlier{bottom:33px}.studio .file-list-badge{text-overflow:ellipsis;z-index:1;pointer-events:none;background:#1b1b1bd9;max-width:calc(100% - 8px);margin:0;padding:0 3px;font-size:9px;line-height:1.3;position:absolute;bottom:20px;left:4px;overflow:hidden}.studio .film-edge-status{font-size:12px}.studio .file-list-actions{border:0;flex-direction:column;gap:2px;padding:0;display:flex}.studio .file-list-actions #addMoreFilesBtn,.studio .file-list-actions #clearFileListBtn{display:none}.studio .file-list-btn{background:0 0;border:0;padding:4px 8px;font-size:12px}.studio .upload-placeholder{background:0 0;max-width:680px;padding:30px}.studio .upload-placeholder:before,.studio .upload-placeholder:after{display:none}.studio .upload-placeholder p{letter-spacing:0;text-transform:none}.studio .upload-privacy-note{box-shadow:none;background:0 0;border:0;padding:0}.studio .upload-privacy-note svg{flex-shrink:0;width:14px;height:14px;margin:0}.studio .upload-placeholder>[data-i18n=dropHint]{display:none}.studio-welcome{margin-bottom:30px}.studio-welcome h1{letter-spacing:-.04em;margin:32px 0 12px;font-size:clamp(25px,3.1vw,44px);font-weight:500;line-height:1.25}.studio-welcome p{color:var(--text-secondary);font-size:12px}.studio-negative-icon{background:#342e26;border-top:5px dotted #8f8068;border-bottom:5px dotted #8f8068;gap:6px;padding:9px;display:inline-flex;transform:rotate(-8deg)}.studio-negative-icon span{background:#6c5541;border:1px solid #9f8d6e;width:34px;height:44px}.studio-negative-icon span:nth-child(2){background:#8a7457}.studio .upload-privacy-note{color:var(--text-secondary);margin:0 auto 25px;font-size:12px}.studio .upload-btn{letter-spacing:0;text-transform:none;background:var(--accent);color:#211d17;border:1px solid var(--accent);box-shadow:none;border-radius:6px;padding:12px 22px;font-size:12px;font-weight:500}.studio .upload-btn.secondary{color:var(--text-primary);border-color:var(--border-light);background:0 0}.studio .upload-placeholder .studio-formats{color:var(--text-muted);margin-top:25px;font-size:12px}.studio button:focus-visible,.studio summary:focus-visible,.studio a:focus-visible,.studio input:focus-visible,.studio select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.studio-tabs{z-index:3;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 6px;display:flex;position:sticky;top:0}.studio-tabs button{min-width:0;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 1 0;padding:14px 2px 12px;font-size:12px}.studio-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.studio-tabs button:hover{background:var(--bg-hover)}.studio-pane{min-width:0;padding-bottom:16px}.studio-color-jumps{gap:8px;padding:8px 18px 0;display:flex}.studio-color-jumps button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 9px;font-size:12px}.studio-color-jumps button:hover{background:var(--bg-hover);color:var(--text-primary)}.studio #studioBasic,.studio #consoleSection,.studio #studioCurves{scroll-margin-top:54px}.studio-pane>.control-section{margin:0 8px 6px}.expired-diagnosis{color:var(--text-secondary);background:#202020;border-radius:4px;margin:10px 0 12px;padding:8px 10px;font-size:12px;line-height:1.7;list-style:none}.expired-diagnosis li:before{content:"▸";color:var(--accent)}.expired-diagnosis[data-state=analysed] li:first-child{color:var(--text-primary)}.studio #expiredCompareBtn.active{background:var(--accent);border-color:var(--accent);color:#211d17}.studio #studioExpiredMode[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.studio-pane-hint{color:var(--text-secondary);margin:16px 18px;font-size:12px;line-height:1.7}.studio-auto-crop{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:12px;display:flex}.studio-auto-crop input{accent-color:var(--accent)}#studioFrameNotice,#studioBorderPreviewOff{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:5px;font-size:12px}#studioBorderPreviewOff{white-space:nowrap;margin-left:auto}.studio .histogram-container{box-shadow:none;background:#202020;border:0;border-radius:4px;margin:12px 18px 0;padding:8px}.studio .histogram-header{margin-bottom:4px}.studio #consoleSection .section-title{font-size:12px}.studio #consoleSection .section-content{padding:8px 10px}.studio .console-key{min-height:26px;box-shadow:none;padding:3px}.studio .console-readout{font-variant-numeric:tabular-nums;padding:3px;font-size:12px}.studio .console-key-hint{font-size:12px}.studio #studioCurves .control-group{margin:0;padding:0}.studio #studioCurves .control-group-title{display:none}.studio #studioLooks .control-group-grid{grid-template-columns:1fr}.studio #studioPane-conversion>button{margin:8px 18px}.studio .studio-tool-actions{flex-wrap:wrap;gap:8px;margin:16px 18px;display:flex}.studio .studio-tool-actions>button{border:1px solid var(--border-light);text-wrap:balance;border-radius:5px;min-height:36px}.studio #studioBorderActions{flex-direction:column}.studio-export-border{cursor:pointer;align-items:center;gap:8px;padding:12px 10px;font-size:12px;display:flex}.studio-export-border input{accent-color:var(--accent)}#studioTogglePanel,#studioToggleStrip{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px;font-size:12px}#studioTogglePanel{margin-left:auto}#studioToggleStrip:before{content:"▾";margin-right:5px}#studioToggleStrip[aria-expanded=false]:before{content:"▸"}#studioBatchMenu{position:relative}#studioBatchMenu>summary{cursor:pointer;color:var(--text-secondary);padding:6px;font-size:12px}.studio-batch-content{background:var(--bg-secondary);border:1px solid var(--border-light);z-index:10;white-space:normal;border-radius:6px;width:min(290px,100vw - 24px);max-height:calc(100vh - 140px);padding:14px;position:absolute;bottom:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 8px 30px #0005}#studioBatchActions{gap:2px;margin-bottom:12px;display:grid}#studioBatchActions>*{white-space:normal;text-align:left;justify-content:flex-start;width:100%}.studio-batch-content p{color:var(--text-secondary);margin-bottom:12px;font-size:12px;line-height:1.7}.studio-batch-content button{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:10px;font-size:12px;display:flex}.studio-batch-content button:hover{background:var(--bg-hover)}.studio.studio-loaded.studio-panel-hidden .app-main{grid-template-columns:minmax(0,1fr)}.studio.studio-loaded.studio-lighttable:not(.studio-strip-hidden) .app-main{grid-template-rows:minmax(0,1fr) minmax(220px,44vh)}.studio-loaded.studio-lighttable .studio-filmstrip{flex-direction:column;min-height:0;display:flex}.studio-lighttable .studio-strip-header{flex-shrink:0}.studio-lighttable #fileListSection{flex:1;align-items:stretch;height:auto;min-height:0;max-height:none;position:static;overflow:hidden}.studio-lighttable .file-list-items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:122px;align-content:start;gap:10px;min-height:0;padding:4px 4px 6px 0;display:grid;overflow:hidden auto}.studio-lighttable .file-list-item{flex:none;width:auto;height:122px}.studio-lighttable .file-list-thumbnail{height:84px}.studio-lighttable .file-list-placeholder{height:92px;font-size:24px}.studio-lighttable .file-list-badge{font-size:10px;bottom:22px}.studio-lighttable .file-list-badge.roll-outlier{bottom:37px}.studio-lighttable .file-list-actions{justify-content:flex-start}.studio button#studioToggleLightTable{padding:5px 10px;font-size:12px}.studio button#studioToggleLightTable[aria-pressed=true]{color:var(--accent);background:var(--bg-hover)}.studio.studio-loaded.studio-strip-hidden .app-main{grid-template-rows:minmax(0,1fr) max-content}.studio.studio-strip-hidden #fileListSection{display:none!important}@media (width<=1000px){.studio-header{flex-wrap:wrap}.studio-public-links{border-top:1px solid var(--border);order:3;justify-content:center;width:100%;margin:0;padding-top:4px}.studio.studio-loaded .app-main{grid-template-columns:minmax(0,1fr) 320px}.studio-header{gap:10px;padding:8px 12px}.studio-actions{gap:6px}.studio-basic{padding:12px 18px}.studio .preview-section{padding:0 12px 10px}.studio-filmstrip{padding:6px 12px}}@media (width<=700px){.studio-header{flex-wrap:wrap;min-height:54px;padding:7px 10px}#studioHistory{display:none}#studioMobileHistory{gap:10px;margin-bottom:12px;display:flex}#studioMobileHistory button{border:1px solid var(--border);color:var(--text-primary);background:0 0;border-radius:5px;padding:8px 12px}.studio #exportBtn{min-width:60px;padding:9px}.studio-actions>button{padding:8px;font-size:12px}.studio .studio-github-label,.studio .github-star-btn-count{display:none}.studio-public-links{flex-wrap:wrap;justify-content:space-around;gap:0}.studio-public-links .header-link-btn{padding:6px;font-size:12px;display:inline-flex}.studio-public-links .header-link-btn>span{display:inline}.studio-public-links .header-shop-badge{display:none!important}.studio .github-star-btn-main{min-height:34px;padding:8px}#studioMenu>summary{max-width:65px;font-size:12px}.studio-brand{flex-flow:wrap;align-items:baseline;gap:8px}.studio-strip-header{gap:4px 8px}.studio-photo-sort{flex-basis:100%;order:1}.studio #studioPhotoSort{flex:1}.studio.studio-loaded .app-main{grid-template-rows:minmax(180px,1fr) max-content minmax(180px,.85fr);grid-template-columns:minmax(0,1fr)}.studio.studio-loaded.studio-panel-hidden .app-main{grid-template-rows:minmax(180px,1fr) max-content}.studio.studio-loaded.studio-strip-hidden .app-main{grid-template-rows:minmax(180px,1fr) max-content minmax(180px,.85fr)}.studio.studio-loaded.studio-panel-hidden.studio-strip-hidden .app-main{grid-template-rows:minmax(180px,1fr) max-content}.studio.studio-loaded.studio-lighttable:not(.studio-strip-hidden) .app-main{grid-template-rows:minmax(180px,1fr) minmax(180px,40vh) minmax(180px,.85fr)}.studio.studio-loaded.studio-lighttable.studio-panel-hidden:not(.studio-strip-hidden) .app-main{grid-template-rows:minmax(180px,1fr) minmax(180px,40vh)}.studio-lighttable .file-list-items{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-auto-rows:100px}.studio.studio-lighttable .file-list-item{flex:none;width:auto;height:100px}.studio.studio-lighttable .file-list-thumbnail{height:62px}.studio.studio-lighttable .file-list-placeholder{height:70px}.studio .controls-panel{border-left:0;border-top:1px solid var(--border);grid-area:3/1;width:100%;height:100%}.studio .studio-filmstrip{grid-row:2;padding:7px 12px}.studio .file-list-item{flex-basis:88px;width:88px;height:63px}.studio .file-list-thumbnail,.studio .file-list-placeholder{height:34px}.studio .preview-section{height:100%;max-height:none;padding:0 8px 4px}.studio-image-status{min-height:28px;font-size:12px}#studioFilename{display:none}.studio .preview-toolbar{gap:0;padding:4px 0 0}.studio .toolbar-btn{padding:5px;font-size:12px}.studio .toolbar-separator{margin:0 2px}.studio-panel-heading{margin-bottom:16px}.studio-panel-heading h2{margin:6px 0;font-size:12px}.studio-eyebrow,.studio-panel-heading p{display:none}.studio-basic{padding:12px 18px}.studio-looks{margin-bottom:16px}.studio .upload-placeholder{padding:15px}.studio-welcome p{font-size:12px}.studio .upload-privacy-note{max-width:280px;font-size:12px}.studio .export-dropdown-menu{width:min(310px,100vw - 20px);position:fixed;top:68px;right:10px}}@media (width<=700px),(height<=540px){.studio-strip-hidden .studio-strip-header>:not(#studioToggleStrip):not(#studioSelection){display:none}.studio-strip-hidden #studioSelection{margin-left:auto}.studio-image-status:has(#studioFrameNotice:not([hidden])) #studioStatus[data-state=ready]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.loupe-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loupe-overlay[hidden]{display:none}.loupe-modal{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:6px;flex-direction:column;gap:10px;width:min(960px,100vw - 32px);max-height:calc(100vh - 32px);padding:14px;display:flex;box-shadow:0 8px 30px #0008}.loupe-head{align-items:center;gap:12px;display:flex}.loupe-title{color:var(--text-primary);font-size:14px}.loupe-status{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.loupe-stage{aspect-ratio:3/2;background:#000;border-radius:4px;min-height:200px;max-height:calc(100vh - 220px);position:relative;overflow:hidden}.loupe-stage video,.loupe-stage canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.loupe-stage video{opacity:0}.loupe-overlay[data-view=raw] .loupe-stage video{opacity:1}.loupe-overlay[data-view=raw] .loupe-stage canvas{visibility:hidden}.loupe-controls{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:12px 16px;font-size:12px;display:flex}.loupe-field,.loupe-toggle{align-items:center;gap:6px;display:flex}.loupe-field select{max-width:220px}.loupe-field input[type=range]{width:120px}.loupe-capture{color:var(--text-primary);margin-left:auto;border:1px solid var(--border-light)!important}.loupe-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.6}.contact-sheet-options{color:var(--text-secondary);flex-wrap:wrap;gap:6px 10px;padding:4px 12px 6px;font-size:12px;display:flex}.contact-sheet-options label{align-items:center;gap:6px;display:flex}.contact-sheet-options select{max-width:150px;font-size:12px}.contact-sheet-check{flex-basis:100%}.recipe-code{width:100%;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-light);resize:vertical;word-break:break-all;border-radius:4px;margin:8px 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4}.recipe-qr{width:184px;height:184px;image-rendering:pixelated;background:#fff;border-radius:4px;margin:8px 0;display:block}.recipe-note{color:var(--text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.recipe-note input{min-width:0;font:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;flex:1;padding:5px 8px;font-size:12px}.recipe-diff{max-height:150px;color:var(--text-secondary);margin:8px 0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.6;list-style:none;overflow:auto}.metadata-grid{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.metadata-grid label{color:var(--text-secondary);flex-direction:column;gap:3px;min-width:0;font-size:12px;display:flex}.metadata-grid input,.metadata-grid textarea{width:100%;min-width:0;font:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:4px;padding:6px 8px;font-size:12px}.metadata-grid textarea{resize:vertical}.metadata-wide{grid-column:1/-1}.studio-discovery{flex-wrap:wrap;justify-content:center;gap:6px 14px;max-width:560px;margin:14px auto 0;font-size:12px;line-height:1.6;display:flex}.studio-discovery a{color:var(--text-secondary);text-underline-offset:3px}.studio-discovery a:hover,.studio-discovery a:focus-visible{color:var(--text-primary);text-decoration:underline}.studio [hidden]{display:none!important}.studio .needs-review{color:#edbf76;border:1px solid;padding:0 5px}.file-review-menu{position:relative}.file-review-menu>button{z-index:10;min-width:150px;position:absolute;bottom:100%;right:0}#studioReviewFilter[aria-pressed=true]{color:var(--accent)}.studio-panel-options{justify-content:flex-end;padding:4px 0 14px;display:flex}.studio .studio-advanced-toggle{border:1px solid var(--border-light);min-height:34px;color:var(--text-secondary);font:inherit;cursor:pointer;background:#282826;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:7px 10px;font-size:12px;line-height:1;transition:color .14s,border-color .14s,background .14s;display:inline-flex;box-shadow:inset 0 1px #ffffff06}.studio .studio-advanced-toggle svg{fill:none;stroke:currentColor;stroke-width:1.3px;width:15px;height:15px}.studio .studio-advanced-toggle svg circle{fill:#282826}.studio .studio-advanced-toggle:hover{color:var(--text-primary);border-color:var(--accent-dim);background:#32312d}.studio .studio-advanced-toggle[aria-pressed=true]{color:var(--accent);background:#343026;border-color:#88785c}.studio .studio-advanced-toggle[aria-pressed=true] svg circle{fill:#343026}.studio-toggle-indicator{border:1px solid #66635c;border-radius:7px;width:22px;height:12px;margin-left:2px;position:relative}.studio-toggle-indicator:after{content:"";background:#8a877f;border-radius:50%;width:6px;height:6px;transition:transform .14s,background .14s;position:absolute;top:2px;left:2px}.studio-advanced-toggle[aria-pressed=true] .studio-toggle-indicator{border-color:var(--accent-dim)}.studio-advanced-toggle[aria-pressed=true] .studio-toggle-indicator:after{background:var(--accent);transform:translate(10px)}.studio .studio-advanced-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (pointer:coarse){.studio .studio-advanced-toggle{min-height:44px}}@media (prefers-reduced-motion:reduce){.studio .studio-advanced-toggle,.studio-toggle-indicator:after{transition:none}}html:not(.shell-mobile) .studio-loaded .studio-header{min-height:44px;padding-block:4px}html:not(.shell-mobile) .studio-loaded .studio-brand>span:last-child,.studio-loaded .studio-public-links{display:none}#studioMenuLinks{flex-direction:column;align-items:flex-start;gap:2px;display:flex}#studioMenuLinks:empty{display:none}.studio-menu-content .header-link-btn{min-height:34px;color:var(--text-secondary);box-shadow:none;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.studio-menu-content .header-link-btn:hover{color:var(--text-primary)}.studio-menu-content .header-link-btn svg{flex-shrink:0;width:16px;height:16px}.studio-menu-content .header-link-btn>span{clip:auto;white-space:normal;width:auto;height:auto;margin:0;display:inline;position:static;overflow:visible}.studio-menu-content .header-shop-badge{display:none!important}.studio-menu-content .github-star-btn-main,.studio-menu-content .github-star-btn-count{padding:8px 8px 8px 0}.studio .preview-section{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) auto;display:grid}.studio .studio-image-status{grid-area:1/1;justify-content:flex-start;min-width:0}.studio #studioTogglePanel{grid-area:1/2;align-self:center;margin-left:0}.studio .canvas-container{grid-area:2/1/3/-1}.studio .preview-toolbar{grid-area:3/1/4/-1}.studio:not(.studio-loaded) #studioTogglePanel{display:none}@media (width>=1280px){.studio .preview-section{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto auto;column-gap:12px}.studio .studio-image-status{white-space:nowrap;min-height:40px;overflow:hidden}.studio .studio-image-status>*{flex-shrink:0}.studio #studioFilename{flex-shrink:1}.studio .preview-toolbar{flex-wrap:nowrap;grid-area:1/2;padding:0}.studio #studioTogglePanel{grid-area:1/3}}.studio-panel-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;min-height:36px;padding:6px 10px 0 12px}.studio-panel-options .studio-color-jumps{flex-wrap:wrap;gap:2px;min-width:0;padding:0}.studio .studio-advanced-toggle{min-height:28px;margin-left:auto;padding:4px 8px}.studio .histogram-container{min-height:0;margin:6px 18px 0;padding:6px 8px}.studio .histogram-header{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.studio #histogramCanvas{height:60px}.studio #consoleSection{margin-bottom:0;padding:8px 12px}.studio #consoleSection .section-header{margin-bottom:6px}.studio #consoleSection .section-content:not(.collapsed){grid-template-columns:minmax(0,1fr) 48px;gap:6px 8px;padding:0;display:grid}.studio .console-keypad{border-radius:6px;gap:4px 6px;padding:6px}.studio .console-channel{gap:3px}.studio #consoleResetBtn{align-self:stretch;width:auto;margin:0}.studio .console-key-hint{text-wrap:balance;grid-column:1/-1;margin:0;line-height:1.5}.studio-basic{padding-top:8px}.studio .controls-panel .info-box{border:0;border-left:2px solid var(--border-light);color:var(--text-secondary);background:0 0;border-radius:0;padding:2px 0 2px 10px}.studio :is(#resetLearnedDefaults,#clearDisplayCache,#studioToggleLightTable,#studioReviewFilter,#displayCacheLimit,.file-review-menu>button){border:1px solid var(--border-light);color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:5px;padding:5px 10px;font-size:12px}.studio :is(#displayCacheLimit,.file-review-menu>button){background:var(--bg-secondary)}.studio #studioReviewFilter{color:#edbf76;border-color:currentColor}.studio :is(#resetLearnedDefaults,#clearDisplayCache,#studioToggleLightTable,#studioReviewFilter):hover:not(:disabled){background:var(--bg-hover)}#learnedDefaultsLine,#displayCacheLine{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px;font-size:12px;display:flex}.studio:not(.studio-ready) #studioFocusSection{display:none}.studio #studioFocusSection .slider-group{margin:0}.loupe-body{display:contents}.loupe-capture{justify-content:center;align-items:center;gap:8px;display:inline-flex}.loupe-overlay[data-mode=scan]{background:#000e}.loupe-overlay[data-mode=scan] .loupe-modal{gap:12px;width:calc(100vw - 24px);height:calc(100vh - 24px);max-height:none;padding:12px 14px 14px}.loupe-overlay[data-mode=scan] .loupe-title{font-size:14px;font-weight:600}.loupe-overlay[data-mode=scan] .loupe-status{text-align:right}.loupe-overlay[data-mode=scan]:not([data-phase=live]) .loupe-status{visibility:hidden}.scan-camera{border:1px solid var(--border-light);color:var(--text-primary);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.scan-camera[hidden]{display:none}.scan-camera:before{content:"";background:#7fd18b;border-radius:50%;width:7px;height:7px}.loupe-overlay[data-mode=scan] .loupe-body{flex:1;gap:12px;min-height:0;display:flex}.loupe-overlay[data-mode=scan] .loupe-stage{aspect-ratio:auto;border-radius:6px;flex:1;min-width:0;min-height:0;max-height:none}.loupe-overlay[data-mode=scan] .loupe-hint,.loupe-overlay[data-mode=scan]:not([data-source=phone]) .loupe-field,.loupe-overlay[data-mode=scan]:not([data-source=phone]) .loupe-toggle:has(#loupeTorch){display:none}.loupe-overlay[data-mode=scan] .loupe-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 20px;min-height:48px;display:grid}.loupe-overlay[data-mode=scan] .scan-settings{grid-area:1/1;justify-self:start}.loupe-overlay[data-mode=scan] .loupe-capture{background:var(--accent);color:#211d17;cursor:pointer;border-radius:6px;grid-area:1/2;min-width:240px;min-height:46px;margin-left:0;padding:0 22px;font-size:14px;font-weight:600;border-color:var(--accent)!important}.loupe-overlay[data-mode=scan] .loupe-capture:hover:not(:disabled){filter:brightness(1.08)}.loupe-overlay[data-mode=scan] .loupe-capture:active:not(:disabled){transform:translateY(1px)}.loupe-overlay[data-mode=scan] .loupe-capture:disabled{color:var(--text-muted);cursor:default;background:0 0;border-color:var(--border-light)!important}.loupe-overlay[data-mode=scan] .loupe-raw{grid-area:1/3;justify-self:end}.studio .loupe-overlay[data-mode=scan] #loupeCloseBtn{border:1px solid var(--border-light);min-height:30px;color:var(--text-primary);border-radius:6px;padding:5px 14px}.studio .loupe-overlay[data-mode=scan] #loupeCloseBtn:hover{border-color:var(--accent);color:var(--accent)}.scan-key{font:inherit;opacity:.7;border:1px solid;border-radius:4px;padding:1px 7px;font-size:11px;font-weight:500}.scan-key[hidden]{display:none}.scan-exposure{color:var(--text-primary);background:#000b;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex;position:absolute;bottom:12px;left:12px}.scan-exposure[hidden]{display:none}.scan-exposure:before{content:"";background:#7fd18b;border-radius:50%;width:7px;height:7px}.scan-exposure[data-state=over]{color:#ff9a8a}.scan-exposure[data-state=over]:before{background:#ff6b57}.scan-exposure[data-state=under]{color:#edbf76}.scan-exposure[data-state=under]:before{background:#edbf76}.scan-empty{text-align:center;color:var(--text-secondary);background:#141414;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;font-size:12px;display:flex;position:absolute;inset:0}.scan-empty[hidden]{display:none}.scan-empty svg{width:56px;height:56px;color:var(--accent)}.scan-empty strong{max-width:520px;color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.5}.scan-empty ol{text-align:left;margin:0;padding:0 0 0 20px;line-height:2}.scan-empty:is([data-phase=connecting],[data-phase=failed]) ol,.scan-empty:not([data-phase=failed]) #scanRetry{display:none}.scan-empty[data-phase=connecting] svg{animation:1.2s steps(2,end) infinite scan-wait}@keyframes scan-wait{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.scan-empty[data-phase=connecting] svg{animation:none}}.studio #scanRetry{min-height:34px;color:var(--accent);border-radius:6px;padding:6px 18px;border:1px solid var(--accent)!important}.scan-supported{border:1px solid var(--border-light);color:var(--text-secondary);border-radius:999px;padding:4px 12px}.scan-rail{border:1px solid var(--border);background:var(--bg-primary);width:232px;min-height:0;color:var(--text-secondary);border-radius:6px;flex-direction:column;flex-shrink:0;gap:10px;padding:10px;font-size:12px;display:flex}.scan-rail[hidden]{display:none}.scan-count{color:var(--text-primary)}.scan-frames{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.scan-frames:empty{display:none}.scan-frame{min-width:0;position:relative}.scan-frame:first-child{grid-column:1/-1}.studio button.scan-open{border:1px solid var(--border);width:100%;color:var(--text-secondary);font:inherit;cursor:pointer;background:#1b1b1b;border-radius:4px;flex-direction:column;gap:4px;padding:4px;font-size:11px;display:flex}.studio button.scan-open:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.studio button.scan-open:disabled{cursor:default}.scan-open img{aspect-ratio:3/2;object-fit:contain;background:#111;border-radius:2px;width:100%;display:block}.scan-open img:not([src]){visibility:hidden}.scan-open span{white-space:nowrap;text-overflow:ellipsis;text-align:left;overflow:hidden}.scan-frame:not([data-state=ready]) .scan-open{background:repeating-linear-gradient(135deg,#1b1b1b 0 8px,#222 8px 16px)}.studio .scan-frame[data-state=pending] button.scan-open{border-style:dashed;border-color:var(--accent-dim);color:var(--accent);opacity:1}.studio button.scan-remove{width:22px;height:22px;color:var(--text-primary);cursor:pointer;opacity:0;background:#000c;border:0;border-radius:4px;padding:0;font-size:14px;line-height:22px;position:absolute;top:6px;right:6px}.scan-frame:hover .scan-remove,.studio button.scan-remove:focus-visible{opacity:1}.studio button.scan-remove:hover{background:#b3261e}.studio button.scan-remove[hidden]{display:none}.scan-rail-note{color:var(--text-muted);flex:1;margin:0;line-height:1.7}.scan-rail-note[hidden]{display:none}.scan-folder{border-top:1px solid var(--border);align-items:center;gap:6px;min-width:0;padding-top:8px;display:flex}.scan-folder[hidden]{display:none}.scan-folder span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.studio #scanFolderChange{color:var(--text-secondary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:2px 0;font-size:12px;text-decoration:underline}.studio #scanFolderChange:hover{color:var(--text-primary)}.scan-settings{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.scan-settings[hidden]{display:none}.loupe-setting{align-items:center;gap:6px;display:flex}.studio .loupe-setting select{border:1px solid var(--border-light);background:var(--bg-secondary);min-height:30px;color:var(--text-primary);font:inherit;border-radius:5px;padding:4px 6px;font-size:12px}.studio .loupe-setting select:disabled{opacity:.45}.studio .upload-scan{cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding-block:6px;display:inline-flex}.studio .upload-scan[hidden]{display:none}.studio .upload-scan small{color:var(--text-secondary);font-size:10px}@media (pointer:coarse){.scan-key{display:none}.scan-frame .scan-remove{opacity:1}}.loupe-overlay[data-mode=scan][data-source=phone] .loupe-controls{grid-template-columns:repeat(4,auto);justify-content:center}.loupe-overlay[data-mode=scan][data-source=phone] .loupe-capture{grid-area:1/1/2/-1;justify-self:center}.loupe-overlay[data-mode=scan][data-source=phone] :is(.loupe-field,.loupe-toggle){grid-area:auto;justify-self:center}.loupe-overlay[data-source=phone] .scan-empty :is(ol,.scan-supported){display:none}@media (width<=900px){.loupe-overlay[data-mode=scan][data-source=phone] .loupe-controls{grid-template-columns:repeat(2,auto);gap:8px 16px}.loupe-overlay[data-mode=scan][data-source=phone] .loupe-capture{width:100%;min-width:0}.loupe-overlay[data-mode=scan] .loupe-body{flex-direction:column}.scan-rail{width:auto;max-height:150px}.scan-frames{display:flex;overflow:auto hidden}.scan-frame,.scan-frame:first-child{flex:0 0 112px}.loupe-overlay[data-mode=scan]:not([data-source=phone]) .loupe-controls{grid-template-columns:1fr;justify-items:center}.loupe-overlay[data-mode=scan]:not([data-source=phone]) :is(.scan-settings,.loupe-capture,.loupe-raw){grid-area:auto/1;justify-self:center}}.studio #studioWatchChange{color:var(--text-secondary);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:6px;font-size:12px;text-decoration:underline}@font-face{font-family:Fusion Pixel SC UI;src:url(./fusion-pixel-sc-ui-Dq8Ppd9N.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+414,U+421,U+430,U+432,U+435,U+43C,U+2318,U+25A0,U+25B2,U+3001-3002,U+300C-300D,U+304D,U+3059,U+3063,U+3066-3067,U+308A,U+30A3-30A4,U+30AB-30AC,U+30B3,U+30C9,U+30CB,U+30D5,U+30DE,U+30E0,U+30E9,U+30EB,U+30F3,U+30FC,U+4E00,U+4E09-4E0B,U+4E0D-4E0E,U+4E13,U+4E22,U+4E24,U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E3D,U+4E45,U+4E4B,U+4E50,U+4E5F-4E60,U+4E86,U+4E8C,U+4E8E,U+4E94,U+4E9B,U+4EA4,U+4EAB,U+4EAE,U+4EBA,U+4EC5,U+4ECB,U+4ECD-4ECE,U+4ED6,U+4EE3,U+4EE5,U+4EEC,U+4EF6,U+4EFB,U+4EFD,U+4F18,U+4F1A,U+4F20,U+4F38,U+4F46,U+4F4D-4F4F,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F60,U+4F73,U+4F7F,U+4F8B,U+4F9B,U+4F9D,U+4FBF,U+4FDD,U+4FE1,U+4FEE,U+5019,U+503C,U+503E,U+504F,U+505A,U+505C,U+507F,U+50A8,U+50CF,U+5143,U+5148-5149,U+514D,U+5165,U+5168,U+516C,U+5171,U+5173,U+5176-5177,U+5185,U+518D,U+5199,U+51B2-51B3,U+51B7,U+51C6,U+51CF,U+51E0,U+51EF,U+51FA-51FB,U+5206-5207,U+5217,U+5219,U+521B,U+521D,U+5220,U+5224,U+522B,U+5230,U+5236-5237,U+523B,U+524D,U+5269-526A,U+526F,U+529B,U+529F-52A1,U+52A8-52A9,U+52D9,U+52FE-5300,U+5305,U+5316,U+5339-533A,U+5347,U+534A,U+5355,U+5357,U+5361,U+5370,U+5373,U+5377,U+5382,U+5386,U+538B,U+539F,U+53BB,U+53C2,U+53C9-53CD,U+53D1,U+53D6-53D8,U+53E0,U+53E3,U+53EA,U+53EF-53F0,U+53F2-53F3,U+53F7,U+5404,U+5408,U+540C-540E,U+5411,U+5417,U+5426,U+542B-542C,U+542F,U+544A,U+5468,U+548C,U+54C1,U+54CD,U+5546,U+5668,U+566A,U+56DB,U+56DE,U+56E0,U+56F4,U+56FA,U+56FE,U+5708,U+5728,U+5730,U+573A,U+5747,U+574F,U+5757,U+5766,U+578B,U+57DF,U+57FA,U+586B,U+589E,U+58EB,U+58F0,U+5904,U+5907,U+590D,U+5916,U+591A,U+5927,U+592A,U+592E,U+5931,U+5934,U+5939,U+5957,U+597D,U+5982,U+59CB,U+5B50,U+5B54,U+5B57-5B58,U+5B66,U+5B83,U+5B89,U+5B8C,U+5B9A,U+5B9E,U+5BBD,U+5BC6,U+5BCC,U+5BF8-5BF9,U+5BFC,U+5C04,U+5C06,U+5C0F,U+5C11,U+5C18,U+5C1A,U+5C1D,U+5C31,U+5C3A,U+5C3C,U+5C3E,U+5C40,U+5C42,U+5C55,U+5C5E,U+5DE5-5DE6,U+5DEE,U+5DF2,U+5E03,U+5E26-5E27,U+5E2E,U+5E38,U+5E45,U+5E73,U+5E76,U+5E8F,U+5E93-5E95,U+5E97,U+5E9F,U+5EA6,U+5EB7,U+5EFA,U+5F00,U+5F02,U+5F0F,U+5F15,U+5F20,U+5F3A,U+5F52-5F53,U+5F55,U+5F62,U+5F69,U+5F71,U+5F80,U+5F85,U+5F97,U+5FAE,U+5FC3,U+5FD9,U+5FEB,U+6001,U+6027,U+6062,U+606F,U+60C5,U+60F3,U+611F,U+6210-6211,U+6216,U+623F-6240,U+624B,U+6253,U+6267,U+626B,U+6279,U+627E,U+628A,U+62A2,U+62AC,U+62B9,U+62C9,U+62CD,U+62D2,U+62D6,U+62DF,U+62E9,U+62EC,U+6301,U+6307,U+6309,U+6321,U+635F,U+6362,U+636E,U+6377,U+6389,U+6392,U+63A5,U+63A7-63A8,U+63CF-63D0,U+641C,U+6444,U+64A4,U+64AE,U+64CD-64CE,U+64E6,U+652F,U+6536,U+6539,U+653E,U+6548,U+654F,U+6551,U+6570,U+6574,U+6587,U+659C,U+65AD,U+65B0,U+65B9,U+65CB,U+65E0,U+65E5,U+65E7,U+65F6,U+660E,U+6620,U+662F,U+663E,U+6655,U+666F-6670,U+667A,U+6682,U+6696-6697,U+66DD,U+66F2,U+66F4,U+6700,U+6709,U+670B,U+671F,U+672A,U+672C,U+673A,U+6743,U+6761,U+6765,U+677E-677F,U+6781,U+6784,U+6790,U+679C,U+67B6,U+67D3-67D4,U+67E5,U+6807,U+680F,U+6821,U+6837-6838,U+683C,U+6846,U+684C,U+6863,U+68C0,U+68D5,U+696D,U+6A21,U+6A2A,U+6A31,U+6A59,U+6B20-6B21,U+6B62-6B65,U+6BB5,U+6BCF,U+6BD4,U+6BEB,U+6C1B,U+6CA1,U+6CBF,U+6CD5,U+6CE8,U+6D0B,U+6D17,U+6D3B,U+6D41,U+6D4B,U+6D4F,U+6D53,U+6D82,U+6D88,U+6DF1,U+6DFB,U+6E05,U+6E29,U+6E32,U+6E90,U+6ED1,U+6EE4,U+706F-7070,U+7075,U+70B9,U+70D8,U+7119,U+7126,U+7136,U+7167,U+7247-7248,U+7269,U+7279,U+72EC,U+7387,U+73B0,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+754C,U+7559,U+767D,U+7684,U+76CA,U+76D1,U+76D6,U+76EE,U+76F4,U+76F8,U+76FE,U+770B,U+771F,U+773C,U+7740,U+77DB,U+77E9,U+77EB,U+77ED,U+7801,U+7852,U+786E,U+793A,U+79BB,U+79C1,U+79CD,U+79D2,U+79F0,U+79FB,U+7A0B,U+7A0D,U+7A33,U+7A7A,U+7A97,U+7ACB,U+7AD6,U+7AD9,U+7AEF,U+7B14,U+7B26,U+7B2C,U+7B49,U+7BB1,U+7BD3,U+7C7B,U+7C92,U+7C97-7C98,U+7CBE,U+7CFB,U+7D20,U+7D22,U+7EA2,U+7EA6-7EA7,U+7EAF,U+7EB8,U+7EBF,U+7EC4,U+7EC6,U+7EC8,U+7ECD,U+7ECF,U+7ED3,U+7EDD,U+7EDF,U+7EE7,U+7EEA,U+7EED,U+7EF4,U+7EFF,U+7F13,U+7F16,U+7F18,U+7F29,U+7F3A,U+7F51,U+7F69,U+7F6E,U+7FA4,U+7FBD,U+7FFB,U+8003,U+8005,U+8054,U+80F6,U+80FD,U+8111,U+817E,U+81EA,U+81F3-81F4,U+8272-8273,U+82B1,U+82E5,U+8303,U+83B7,U+83DC,U+8499,U+84DD,U+85CF,U+884C,U+8861,U+8865,U+8868,U+886C,U+8870,U+88AB,U+88C1,U+88C5,U+892A,U+8981,U+8986,U+89C1-89C2,U+89C4,U+89C6,U+89C8,U+89D2,U+89E3,U+89E6,U+8A00,U+8A18,U+8A9E,U+8BA4,U+8BA9,U+8BAE,U+8BB0,U+8BB8,U+8BBE-8BBF,U+8BC1,U+8BC4,U+8BC6,U+8BC9-8BCA,U+8BD5,U+8BDD,U+8BE5-8BE6,U+8BED,U+8BEF,U+8BF7,U+8BFB,U+8C03,U+8C22,U+8D1F,U+8D25,U+8D28,U+8D34,U+8D39,U+8D44,U+8D77,U+8D85,U+8DB3,U+8DDD,U+8DDF,U+8DF3,U+8EAB,U+8F6C,U+8F6F,U+8F74,U+8F7B,U+8F7D,U+8F83,U+8F89,U+8F91,U+8F93,U+8FA8,U+8FB9,U+8FBE,U+8FC7,U+8FD0,U+8FD8-8FD9,U+8FDB,U+8FDE,U+8FF0,U+8FF9,U+9000-9002,U+9009,U+9010,U+901A,U+901F-9020,U+9047,U+9053,U+9065,U+907F,U+90A3,U+90AE,U+90C1,U+90E8,U+90FD,U+914D,U+9192,U+91C7,U+91CC-91CD,U+91CF,U+9304,U+949F,U+94AE,U+94FE,U+9500-9501,U+9519,U+952E,U+955C,U+957F,U+95E8,U+95ED-95EE,U+95F4,U+9608,U+9634-9636,U+9645,U+964D,U+9650,U+9664,U+968F-9690,U+96F6,U+96FE,U+9700,U+9752,U+9760,U+9762,U+97F5,U+9875-9876,U+9879-987A,U+9884,U+9897-9898,U+989C,U+98CE,U+9971,U+9988,U+9A8C,U+9AA4,U+9AD8,U+9C9C,U+9EC4,U+9ED1,U+9ED8,U+9F50,U+9F7F,U+FF01,U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F}@font-face{font-family:Fusion Pixel JP UI;src:url(./fusion-pixel-jp-ui-CPxctgFd.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+20-7E,U+A0-AC,U+AE-180,U+182-183,U+186,U+189,U+18B-18C,U+18E-18F,U+191-192,U+19A,U+19E-1A1,U+1A7-1A9,U+1AF-1B1,U+1C4-1E3,U+1E6-1ED,U+1F0-1F5,U+1F8-21B,U+21E-220,U+226-233,U+237,U+23D,U+244-245,U+248-249,U+414,U+421,U+430,U+432,U+435,U+43C,U+2010-2027,U+2030-2037,U+203B,U+203E,U+2043,U+204B-204D,U+2057,U+2190-21FF,U+2318,U+25A0,U+25B2,U+25B6,U+25B8,U+25BC,U+25BE,U+25CF,U+3001-3002,U+3005,U+300C-300D,U+301C,U+3042,U+3044,U+3046,U+3048,U+304A-304F,U+3051-305B,U+305D-3061,U+3063-306B,U+306E-3070,U+3073,U+3076,U+3078-3079,U+307B-307C,U+307E-3082,U+3084,U+3088-308D,U+308F,U+3092-3093,U+30A1-30A4,U+30A6-30AD,U+30AF-30BD,U+30BF-30C1,U+30C3-30C4,U+30C6-30CB,U+30CD-30E5,U+30E7,U+30E9-30ED,U+30EF,U+30F3,U+30FB-30FC,U+4E00,U+4E09-4E0B,U+4E0D,U+4E26,U+4E2D,U+4E50,U+4E86,U+4E8B,U+4EBA,U+4ECA-4ECB,U+4ED5-4ED6,U+4ED8,U+4EE5,U+4EF6,U+4EFB,U+4F38,U+4F4D-4F4E,U+4F53,U+4F55,U+4F59,U+4F5C,U+4F7F,U+4F8B,U+4FC2-4FC3,U+4FDD,U+4FE1,U+4FEE,U+500B,U+500D,U+5019,U+5024,U+504F,U+505C,U+5074,U+5099,U+50BE,U+50CF,U+512A,U+5143,U+5148-5149,U+5165,U+5168,U+516C,U+5171,U+5177,U+5185,U+518D,U+5199,U+51E6,U+51EF,U+51FA,U+5206-5207,U+521D,U+5224-5225,U+5229,U+523B,U+524A,U+524D,U+5272,U+529B,U+529F-52A0,U+52B9,U+52D5,U+52D9,U+5316,U+534A,U+5358,U+5370,U+5373,U+539F,U+53BB,U+53C2,U+53CB,U+53CD,U+53D6-53D7,U+53E4,U+53EF,U+53F3,U+53F7,U+5404,U+5408,U+540C-540D,U+5411,U+542B,U+544A,U+5468,U+548C,U+54C1,U+554F,U+56DE,U+56F2-56F3,U+56FA,U+56FD,U+5727-5728,U+5747,U+57DF,U+57FA,U+5831,U+5834,U+5857,U+5875,U+5883,U+58CA,U+58EB,U+5909,U+5916,U+591A,U+5927,U+592A,U+592E,U+5931,U+5968,U+59CB,U+5B50,U+5B57-5B58,U+5B66,U+5B89,U+5B8C,U+5B9A,U+5B9F,U+5BA4,U+5BB9,U+5BC4,U+5BCC,U+5BD2,U+5BFE,U+5C02,U+5C04,U+5C0F,U+5C11,U+5C40,U+5C65,U+5DE6,U+5DE8,U+5DEE,U+5E03,U+5E38,U+5E45,U+5E73,U+5EA6,U+5F0F,U+5F15,U+5F35,U+5F37,U+5F53,U+5F62,U+5F69,U+5F71,U+5F85,U+5F8C,U+5F93,U+5F97,U+5FA9,U+5FAE,U+5FC3,U+5FC5,U+5FDC,U+6027,U+60C5,U+610F,U+611F,U+614B,U+6210,U+623B,U+6240,U+624B,U+6271,U+6291,U+6295,U+6298,U+629C,U+629E,U+62BC,U+62E1,U+62EC,U+6301,U+6357,U+6368,U+63A1-63A2,U+63A5,U+63A8,U+63C3,U+63CF-63D0,U+63DB,U+64AE,U+64CD,U+6551,U+6557,U+6559,U+6570,U+6574,U+6587,U+6599,U+65AD,U+65B0,U+65B9,U+65BD,U+65E2,U+65E5,U+660E,U+6620,U+6642,U+666F,U+6696-6697,U+66AB,U+66F2,U+66F4,U+66F8,U+66FF-6700,U+6709,U+671F,U+672A-672C,U+6765,U+677F,U+6790,U+679A,U+679C,U+67A0,U+67D4,U+6848,U+691C,U+696D,U+69CB,U+6A19,U+6A2A,U+6A31,U+6A5F,U+6B21,U+6B62-6B63,U+6B74,U+6B8B,U+6BB5,U+6BD4,U+6C17,U+6C7A,U+6CD5,U+6D6E,U+6D88,U+6DB2,U+6DF1,U+6E08,U+6E1B,U+6E29,U+6E2C,U+6E90,U+6E96,U+6FC3,U+70B9,U+7121,U+7126,U+7136,U+713C,U+7167,U+7248,U+7279,U+72B6,U+7387,U+73FE,U+7406,U+751F,U+7528,U+7531,U+753B,U+754C,U+756A,U+7570,U+767A-767B,U+767D,U+7684,U+76DB,U+76E3,U+76EE,U+76F4,U+76FE,U+7701,U+771F,U+77DB,U+77E5,U+77ED,U+78BA,U+793A,U+79FB,U+7A2E,U+7A3F,U+7A74,U+7A7A,U+7A93,U+7ACB,U+7AEF,U+7B49,U+7B54,U+7BB1,U+7BC4,U+7C92,U+7CBE,U+7D04,U+7D19,U+7D22,U+7D30,U+7D42,U+7D50,U+7D5E,U+7D71,U+7D9A,U+7DAD,U+7DD1-7DD2,U+7DDA,U+7DE8,U+7E01,U+7E26,U+7E2E,U+7ECD,U+7F6E,U+7FD2,U+8005,U+80FD,U+81EA,U+81F4,U+8272,U+82B1,U+884C,U+8868,U+88AB,U+88D5,U+88DC,U+8907,U+8981,U+8986,U+898B,U+898F,U+8996,U+89A7,U+89D2,U+89E3,U+8A00,U+8A08,U+8A18,U+8A2D,U+8A31,U+8A3A,U+8A66,U+8A72-8A73,U+8A8D,U+8A9E,U+8AAD,U+8ABF,U+8CA0,U+8CBC,U+8CEA,U+8D64,U+8D77,U+8D85,U+8DB3,U+8DDD,U+8EAB,U+8EE2,U+8EF8,U+8FBA,U+8FBC,U+8FD1,U+8FFD,U+9000-9001,U+9014,U+901A,U+901F,U+9032,U+9054-9055,U+9069,U+9077-9078,U+907F,U+90E8,U+914D,U+91CD,U+91CF,U+9304,U+9332,U+9577,U+9589,U+958B,U+9593,U+95BE,U+964D,U+9650,U+9664,U+968E,U+96A0,U+96C6,U+96E2-96E3,U+96F0,U+96FB,U+9732,U+9752,U+9762,U+97F5,U+9805-9806,U+9818,U+983C,U+984C,U+985E,U+98DB,U+9AD8,U+9BAE,U+9EC4,U+9ED2,U+FF01,U+FF08-FF09,U+FF0F,U+FF1A,U+FF1F}@font-face{font-family:NC Studio Latin;src:url(./nc-studio-latin-spxpoI-2.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+20-24F,U+2000-206F,U+2190-21FF,U+25B6,U+25B8,U+25BC,U+25BE,U+25CF}@font-face{font-family:Fusion Pixel SC;src:url(./fusion-pixel-12px-proportional-zh_hans.otf-DnN5rkFw.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-21FF,U+230C-10FFFF}@font-face{font-family:Fusion Pixel TC;src:url(./fusion-pixel-12px-proportional-zh_hant.otf-CZLdpMXg.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-21FF,U+230C-10FFFF}@font-face{font-family:Fusion Pixel JP;src:url(./fusion-pixel-12px-proportional-ja.otf-Brj5ZbE_.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-21FF,U+230C-10FFFF}@font-face{font-family:Fusion Pixel KR;src:url(./fusion-pixel-12px-proportional-ko.otf-ofomT6B0.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-21FF,U+230C-10FFFF}body.studio{--font-pixel:"NC Studio Latin", "Fusion Pixel SC UI", "Fusion Pixel SC", monospace;--font-body:var(--font-pixel);--font-display:var(--font-pixel);--font-mono:var(--font-pixel);font-family:var(--font-pixel);font-synthesis:none;font-size:12px;line-height:1.6}html:lang(ja) body.studio,body.studio :lang(ja){--font-pixel:"Fusion Pixel JP UI", "Fusion Pixel JP", monospace}html:lang(ko) body.studio,body.studio :lang(ko){--font-pixel:"Fusion Pixel KR", monospace}html:lang(zh-Hant) body.studio,body.studio :lang(zh-Hant){--font-pixel:"Fusion Pixel TC", monospace}body.studio :is(button,input,select,textarea,summary,code,pre){font-family:var(--font-pixel);font-synthesis:none}body.studio :is(.zoom-indicator,.loupe-info,.autoframe-diagnostics,.film-base-values,.debug-widget,.loading-phase-text){font-family:var(--font-pixel);font-size:12px}body.studio .loading-progress-text{font-size:24px}body.studio .studio-brand{letter-spacing:0;font-size:12px}body.studio .studio-mark,body.studio .studio-panel-heading h2{letter-spacing:0;font-size:24px}body.studio .studio-welcome h1{letter-spacing:0;font-size:36px}body.studio .studio-welcome p{font-size:12px}body.studio .studio-slider-ends{letter-spacing:0}@media (width<=600px){body.studio .studio-welcome h1{font-size:24px}}body.studio{--pixel-shadow:3px 3px 0 #0e0e0e}body.studio :is(button,.upload-btn,select,.slider-number-input,.footer-btn,.header-link-btn,.file-list-item,.file-list-badge,.studio-look-swatch,.paradigm-btn,.test-strip-tile,.studio-menu-content,.studio-batch-content,.export-dropdown-menu,.toast-message,.batch-progress-content,.batch-progress-bar,.loading-film-strip,.loading-film-fill,.zoom-indicator){border-radius:0!important}body.studio :is(button,.upload-btn,summary,.header-link-btn){transition:background-color .12s steps(2,end),color .12s steps(2,end),transform .1s steps(2,end)}body.studio :is(button,.upload-btn):active:not(:disabled){transform:translate(1px,1px)}body.studio .slider-input::-webkit-slider-thumb{border-radius:0;box-shadow:2px 2px #111}body.studio .slider-input::-moz-range-thumb{border-radius:0;box-shadow:2px 2px #111}body.studio .studio-header{border-bottom-width:2px}body.studio .studio-mark{color:var(--text-primary)}body.studio .studio-actions>button,body.studio #exportBtn{box-shadow:var(--pixel-shadow);border-width:2px}body.studio .studio-tabs button[aria-selected=true]{border-bottom-width:3px}body.studio .file-list-item.active{box-shadow:inset 0 0 0 1px var(--accent)}body.studio :is(.studio-menu-content,.studio-batch-content,.export-dropdown-menu){border-width:2px;box-shadow:5px 5px #101010}body.studio :is(.studio-menu-content,.studio-batch-content),body.studio .studio-drawer[open]>.studio-drawer-body{animation:.16s steps(4,end) both studio-pixel-enter}body.studio:not(.studio-loaded) :is(#canvasTransformWrapper,.studio-image-status){display:none}body.studio:not(.studio-loaded) .preview-section{padding:0}body.studio:not(.studio-loaded) .canvas-container{background-color:var(--bg-canvas);background-image:radial-gradient(#d6be9214 1px,#0000 1px);background-size:16px 16px}body.studio .upload-placeholder{text-align:center;flex:0 680px;gap:16px;width:100%;min-width:0;max-width:680px;margin-inline:auto;padding:40px 24px}body.studio .upload-placeholder>*{flex-shrink:0;max-width:100%}body.studio .studio-welcome{width:100%;margin:0 0 16px}body.studio .studio-welcome h1{color:var(--text-primary);text-wrap:balance;margin:28px 0 12px}body.studio .studio-welcome p{line-height:1.8}body.studio .studio-negative-icon{background:#302a22;border:2px solid #8f8068;gap:6px;padding:14px 8px;animation:.32s steps(4,end) both studio-pixel-enter;position:relative;transform:none;box-shadow:4px 4px #0e0e0e}body.studio .studio-negative-icon:before,body.studio .studio-negative-icon:after{content:"";background:repeating-linear-gradient(90deg,#cfbb95 0 4px,#0000 4px 10px);height:4px;position:absolute;left:6px;right:6px}body.studio .studio-negative-icon:before{top:4px}body.studio .studio-negative-icon:after{bottom:4px}body.studio .studio-negative-icon span{border:2px solid #9f8d6e;width:32px;height:40px;animation:4.8s step-end infinite studio-film-frame}body.studio .studio-negative-icon span:nth-child(2){animation-delay:1.6s}body.studio .studio-negative-icon span:nth-child(3){animation-delay:3.2s}body.studio .studio-import-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}body.studio .studio-import-actions .upload-btn{min-width:144px;min-height:48px;box-shadow:var(--pixel-shadow);cursor:pointer;border-width:2px;margin:0}body.studio .studio-import-actions .upload-btn:hover{background:var(--accent-hover);color:#211d17}body.studio .studio-welcome-restore{color:var(--text-secondary);text-shadow:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:0;font-size:12px;line-height:1.8;display:flex}body.studio .studio-welcome-restore button{border:2px solid var(--accent);color:var(--accent);cursor:pointer;box-shadow:var(--pixel-shadow);background:0 0;padding:8px 14px;font-size:12px}body.studio .studio-welcome-restore button:hover:not(:disabled){background:var(--accent);color:#211d17}body.studio .upload-placeholder .studio-import-hint{color:var(--text-secondary);text-shadow:none;margin:0;font-size:12px;line-height:1.8}body.studio .upload-placeholder .studio-formats{text-shadow:none;margin:0;line-height:1.8}body.studio .upload-placeholder .studio-auto-crop{border-top:1px dashed var(--border-light);text-align:left;align-items:flex-start;margin-top:8px;padding:16px 0 0;line-height:1.8}body.studio .upload-placeholder .studio-auto-crop input{flex-shrink:0;margin-top:4px}body.studio .upload-placeholder .upload-privacy-note{margin:0;line-height:1.8}body.studio .upload-placeholder .upload-privacy-note svg{filter:none}body.studio .loading-overlay{backdrop-filter:none;background:#171717f2;transition-timing-function:steps(3,end)}body.studio .loading-reel{animation-timing-function:steps(8,end)}body.studio .loading-reel-wrap{filter:none;width:96px;height:96px}body.studio .loading-reel .reel-rim{stroke:var(--accent);stroke-width:1px}body.studio .loading-reel .reel-film{fill:#302a22;stroke:#8f8068;stroke-width:1px}body.studio .loading-reel .reel-hub,body.studio .loading-reel .reel-cutout{fill:#171717;stroke:#8f8068;stroke-width:1px}body.studio .loading-reel .reel-key{fill:var(--accent)}body.studio .loading-film-strip{border:2px solid var(--border-light);box-shadow:var(--pixel-shadow)}body.studio .loading-film-fill{background:repeating-linear-gradient(90deg, var(--accent) 0 8px, #302a22 8px 10px);transition-timing-function:steps(8,end)}body.studio .loading-overlay.indeterminate .loading-film-fill{animation-timing-function:steps(8,end)}body.studio .toast-message{box-shadow:var(--pixel-shadow);transition-timing-function:steps(3,end)}@keyframes studio-pixel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes studio-dust-hint{0%,49%{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}50%,to{box-shadow:none}}body.studio .dust-quick.is-hinting:not(:disabled):not(.active){animation:.8s steps(2,jump-none) 3 studio-dust-hint}@keyframes studio-film-frame{0%,32%{background-color:#b69b6d}33%,to{background-color:#6c5541}}@media (width<=600px){body.studio .upload-placeholder{gap:12px;padding:24px 16px}body.studio .studio-welcome{margin-bottom:8px}body.studio .studio-welcome h1{margin-top:24px}body.studio .studio-import-actions{gap:10px;width:100%}body.studio .studio-import-actions .upload-btn{flex:100px;min-width:0;padding:12px 8px}body.studio .upload-placeholder .upload-privacy-note{max-width:100%}}@media (prefers-reduced-motion:reduce){body.studio *,body.studio :before,body.studio :after{scroll-behavior:auto!important;animation:none!important}body.studio :is(button,.upload-btn):active:not(:disabled){transform:none}}.studio #canvasContainer{position:relative}#studioPhotoSwitchFeedback{z-index:30;background:var(--bg-primary,#191919);cursor:progress;place-items:center;padding:24px;display:grid;position:absolute;inset:0}#studioPhotoSwitchFeedback[hidden],.file-list-switch-state[hidden]{display:none}.studio-photo-switch-image{object-fit:contain;image-rendering:auto;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.studio-photo-switch-image[hidden],.studio-photo-switch-provisional:empty{display:none}#studioPhotoSwitchFeedback[data-provisional]{place-items:end start;padding:12px}#studioPhotoSwitchFeedback[data-provisional] .studio-photo-switch-card{text-align:left;background:var(--bg-primary,#191919);align-items:center;gap:8px;max-width:calc(100% - 8px);padding:6px 10px;display:flex;position:relative;box-shadow:3px 3px #0e0e0e}#studioPhotoSwitchFeedback[data-provisional] .studio-photo-switch-indicator{flex:none;width:8px;height:8px;margin:0}#studioPhotoSwitchFeedback[data-provisional] #studioPhotoSwitchMessage,#studioPhotoSwitchFeedback[data-provisional] .studio-photo-switch-provisional{color:var(--accent);font-size:12px;line-height:1.6;display:inline}#studioPhotoSwitchFeedback[data-provisional] #studioPhotoSwitchHint{display:none}.studio-photo-switch-card{text-align:center;min-width:0;max-width:36rem}#studioPhotoSwitchMessage{overflow-wrap:anywhere;color:var(--accent);font-size:16px;line-height:1.6;display:block}#studioPhotoSwitchHint{color:var(--text-secondary);margin:12px 0 0;font-size:12px;line-height:1.8}.studio-photo-switch-indicator{border:2px solid var(--accent);width:12px;height:12px;margin:0 auto 16px;animation:1s steps(4,end) infinite studio-photo-opening;display:block}.studio .file-list-name[data-photo-switch-target=true]{cursor:progress}.studio #studioHistory[inert]{opacity:.45}.file-list-switch-state{background:var(--bg-primary,#191919);color:var(--accent);text-align:center;padding:4px;font-size:12px;position:absolute;bottom:22px;left:4px;right:4px}@keyframes studio-photo-opening{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.studio-photo-switch-indicator{animation:none}}body.studio.studio-opening:not(.studio-loaded) #uploadPlaceholder{display:none!important}body.studio.studio-opening:not(.studio-loaded) .app-main{grid-template-rows:minmax(0,1fr) max-content}body.studio.studio-opening:not(.studio-loaded) .studio-filmstrip{grid-area:2/1;display:block}.shell-mobile,.shell-mobile body.studio{overflow:clip}.shell-mobile body.studio{min-height:0;height:var(--viewport-h);padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.shell-mobile :is(.studio-public-links,.github-link,.studio-discovery,#uploadFolderBtn,#studioWatchControls,#desktopUpdateBanner),.shell-unknown :is(#uploadFolderBtn,#studioWatchControls,#desktopUpdateBanner){display:none!important}.shell-mobile .studio-header{gap:10px;min-height:60px;padding:6px 12px}.shell-mobile .studio-mark{font-size:20px}.shell-mobile .studio-actions{gap:8px}.shell-mobile .loupe-overlay[data-mode=scan]{padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left)}.shell-mobile .loupe-overlay[data-mode=scan] .loupe-modal{width:100%;height:100%}.shell-mobile .studio :is(button,summary,select,.upload-btn,.zoom-btn){min-height:44px}.shell-mobile .studio :is(.zoom-btn,.file-list-select-control){min-width:44px;min-height:44px}.shell-mobile .studio:not(.studio-lighttable) .file-list-item{flex-basis:144px;width:144px;height:76px}.shell-mobile .studio-lighttable .file-list-items{grid-template-columns:repeat(auto-fill,minmax(144px,1fr))}.shell-mobile .studio .slider-number-input{min-width:52px;min-height:44px;font-size:16px}.shell-mobile .studio :is(input[type=text],input[type=number],textarea,select){font-size:16px}.shell-mobile .studio .slider-input{background-clip:content-box;height:28px;margin-block:0;padding-block:12px}.shell-mobile .studio .slider-input::-webkit-slider-thumb{width:22px;height:22px}.shell-mobile .studio .slider-input::-moz-range-thumb{width:22px;height:22px}.shell-mobile .studio :is(.controls-panel,.file-list-items,.studio-menu-content){overscroll-behavior:contain}.shell-mobile .studio :is(.studio-menu-content,.export-dropdown-menu){max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 120px)}.shell-mobile .studio .studio-image-status{flex-wrap:wrap;gap:2px 8px}.shell-mobile .studio .studio-batch-content{white-space:normal;max-height:60dvh;overflow-y:auto}.shell-mobile .studio-menu-content .header-link-btn{min-height:44px;color:var(--text-secondary);box-shadow:none;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:flex}.shell-mobile .studio-menu-content .header-link-btn svg{flex-shrink:0;width:16px;height:16px}.shell-mobile .studio-menu-content .header-link-btn>span{clip:auto;white-space:normal;width:auto;height:auto;margin:0;display:inline;position:static;overflow:visible}.shell-mobile #mobileRecoveryStatus{white-space:normal;overflow-wrap:anywhere;max-width:28em;color:var(--text-secondary);margin:8px 0}.shell-mobile #mobileRecoveryStatus[data-status=error]{color:var(--accent)}.shell-mobile #toastContainer{left:calc(var(--safe-left) + 12px);right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 12px);align-items:stretch;transform:none}.shell-mobile .toast-message{box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;max-width:100%}@media (width<=700px){.shell-mobile .studio-header{grid-template-columns:minmax(0,1fr);gap:4px;padding:6px 10px;display:grid}.shell-mobile .studio-brand{flex-flow:wrap;align-items:baseline;gap:8px}.shell-mobile .studio-mark{font-size:20px}.shell-mobile .studio-actions{justify-content:space-between;width:100%}.shell-mobile #studioMenu>summary{white-space:nowrap;max-width:none}.shell-mobile .studio #exportBtn{min-width:80px}.shell-mobile .studio .app-main{min-height:0}.shell-mobile .studio.studio-loaded .app-main,.shell-mobile .studio.studio-loaded.studio-strip-hidden .app-main{grid-template-rows:minmax(150px,1fr) max-content minmax(180px,1fr)}.shell-mobile .studio.studio-loaded.studio-panel-hidden .app-main{grid-template-rows:minmax(150px,1fr) max-content}.shell-mobile .studio.studio-loaded.studio-lighttable:not(.studio-strip-hidden) .app-main{grid-template-rows:minmax(180px,1fr) minmax(160px,.9fr)}.shell-mobile .studio.studio-loaded.studio-lighttable.studio-panel-hidden:not(.studio-strip-hidden) .app-main{grid-template-rows:minmax(0,1fr)}.shell-mobile .studio.studio-lighttable:not(.studio-strip-hidden) .preview-section{display:none}.shell-mobile .studio.studio-lighttable:not(.studio-strip-hidden) .studio-filmstrip{grid-row:1}.shell-mobile .studio.studio-lighttable:not(.studio-strip-hidden) .controls-panel{grid-row:2}.shell-mobile .studio-strip-header{flex-wrap:wrap;gap:0 6px;padding-bottom:3px}.shell-mobile .studio-photo-sort{order:initial;flex-shrink:0;flex-basis:auto}.shell-mobile .studio #studioPhotoSort{max-width:170px}.shell-mobile #studioSelection{margin-left:0}.shell-mobile .studio .preview-toolbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.shell-mobile .studio .preview-toolbar>*{flex-shrink:0}.shell-mobile .studio .studio-tabs{overflow-x:auto}.shell-mobile .studio .studio-tabs button{min-width:62px}.shell-mobile .studio .export-dropdown-menu{top:calc(var(--safe-top) + 86px);right:calc(var(--safe-right) + 10px)}}@media (width<=1000px) and (height<=540px) and (width>=600px){.shell-mobile .studio-header{flex-wrap:nowrap;min-height:48px;display:flex}.shell-mobile .studio-brand>span:last-child{display:none}.shell-mobile .studio-actions{width:auto}.shell-mobile .studio.studio-loaded .app-main{grid-template-rows:minmax(0,1fr) max-content;grid-template-columns:minmax(0,1fr) minmax(260px,38%)}.shell-mobile .studio.studio-loaded.studio-panel-hidden .app-main{grid-template-columns:minmax(0,1fr)}.shell-mobile .studio .controls-panel{grid-area:1/2/3}.shell-mobile .studio .preview-section{grid-area:1/1;min-height:0}.shell-mobile .studio .studio-filmstrip{grid-area:2/1}.shell-mobile #studioFilename{display:none}.shell-mobile .studio .preview-section{padding-bottom:4px}.shell-mobile .studio .preview-toolbar{flex-wrap:nowrap;justify-content:flex-start;padding-top:4px;overflow-x:auto}.shell-mobile .studio .preview-toolbar>*{flex-shrink:0}.shell-mobile .studio.studio-loaded.studio-lighttable:not(.studio-strip-hidden) .app-main{grid-template-rows:minmax(0,1fr)}.shell-mobile .studio.studio-lighttable:not(.studio-strip-hidden) .preview-section{display:none}.shell-mobile .studio.studio-lighttable:not(.studio-strip-hidden) :is(.studio-filmstrip,.controls-panel){grid-row:1}}@media (width<=700px),(height<=540px){.shell-mobile .studio-strip-header{overscroll-behavior-x:contain;flex-wrap:nowrap;scroll-padding-inline-start:80px;overflow-x:auto}.shell-mobile .studio-strip-header>*{flex-shrink:0}.shell-mobile #studioToggleStrip{z-index:1;background:#202020;position:sticky;left:0}.shell-mobile .studio .studio-batch-content{left:auto;right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 12px);width:min(290px, calc(100vw - var(--safe-left) - var(--safe-right) - 24px));max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 100px);position:fixed}}
