: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{object-fit:contain;max-width:100%;max-height:100%}.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{touch-action:none;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;white-space:nowrap;background:#1e1e1eeb;border-radius:6px;padding:8px 18px;font-size:13px;transition:opacity .25s;box-shadow:0 2px 8px #0000004d}.toast-message.toast-visible{opacity:1}.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}.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}.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}@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:181px}}.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#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#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}#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;touch-action:none}.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 #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-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{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{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:5px;font-size:12px}.studio .histogram-container{box-shadow:none;background:#202020;border:0;border-radius:4px;margin:12px 18px 0;padding:8px}.studio #histogramCanvas{height:68px}.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;border-radius:6px;width:min(290px,100vw - 24px);padding:14px;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 8px 30px #0005}.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-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}}.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}}.studio-color-correction{margin:12px 18px 18px}body.studio #studioColorCorrect{color:#211a10;background:var(--accent);border:1px solid var(--accent-hover);text-align:center;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.5;display:flex;box-shadow:inset 0 1px #fff5,0 3px #100e0a}body.studio #studioColorCorrect:hover:not(:disabled){background:var(--accent-hover)}body.studio #studioColorCorrect:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}body.studio #studioColorCorrect:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px #fff5,0 1px #100e0a}body.studio #studioColorCorrect:disabled{opacity:.45;cursor:default}#studioColorCorrect svg{fill:none;stroke:currentColor;stroke-width:1.6px;flex-shrink:0;width:22px;height:22px}.studio-color-correction p{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.6}#studioColorCorrectStatus{color:var(--accent)}@font-face{font-family:NC Studio Latin;src:url(../fonts/fusion-pixel/nc-studio-latin.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+20-24F,U+2000-206F,U+2190-21FF,U+2212}@font-face{font-family:Fusion Pixel SC;src:url(../fonts/fusion-pixel/fusion-pixel-12px-proportional-zh_hans.otf.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Fusion Pixel TC;src:url(../fonts/fusion-pixel/fusion-pixel-12px-proportional-zh_hant.otf.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Fusion Pixel JP;src:url(../fonts/fusion-pixel/fusion-pixel-12px-proportional-ja.otf.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Fusion Pixel KR;src:url(../fonts/fusion-pixel/fusion-pixel-12px-proportional-ko.otf.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}body.studio{--font-pixel:"NC Studio Latin", "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", "Fusion Pixel SC", monospace}html:lang(ko) body.studio,body.studio :lang(ko){--font-pixel:"Fusion Pixel KR", "Fusion Pixel SC", monospace}html:lang(zh-Hant) body.studio,body.studio :lang(zh-Hant){--font-pixel:"Fusion Pixel TC", "Fusion Pixel SC", 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 .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-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-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}}
