:root{--bg:#0d0e0e;--surface:#171819;--surface2:#202123;--line:#3a3b3b;--text:#f1eee8;--muted:#aaa8a3;--gold:#d6ad69;--gold2:#f0d397;--green:#9bb6a1;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-size:15px;line-height:1.55}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.topbar{height:68px;display:flex;align-items:center;gap:50px;padding:0 clamp(22px,4vw,72px);border-bottom:1px solid #343332;background:#0b0c0c}
.brand{font-size:30px;line-height:1;font-weight:800;letter-spacing:-.08em;color:var(--gold)}.brand small{display:inline-block;margin-left:15px;padding-left:16px;border-left:1px solid #59534a;color:#b7afa3;font-size:10px;letter-spacing:.18em;vertical-align:middle;font-weight:600}
.model-nav{display:flex;height:auto;gap:6px;align-items:center;margin-left:auto;flex-wrap:wrap}.model-nav a,.model-nav>span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;color:#aaa8a2;font-size:12px;line-height:1.3;white-space:nowrap;border:1px solid transparent;letter-spacing:.02em}.model-nav .current{color:var(--gold2);border-color:#655039;background:#211e18}.model-nav a:hover{color:#eee7da;background:#1b1c19;border-color:#49443a}.model-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.model-nav .unavailable{color:#77786e;padding-inline:8px}.local-tag{margin-left:auto;color:#b9b4ab;font:10px ui-monospace,monospace;letter-spacing:.12em;white-space:nowrap}.local-tag i{display:inline-block;width:6px;height:6px;background:var(--gold);margin-right:7px}
.hero{height:254px;background:linear-gradient(90deg,#0b0c0c 0%,#0b0c0ce8 24%,#0b0c0c44 76%),url('/gr3/gr3-street-photo.png') center 48%/cover;border-bottom:1px solid #69563b}.hero-inner{height:100%;max-width:1540px;margin:auto;padding:34px clamp(22px,4vw,72px);display:flex;flex-direction:column}.kicker,.section-kicker{margin:0;color:var(--gold);letter-spacing:.2em;font:11px ui-monospace,monospace}.hero h1{margin:20px 0 7px;font:400 clamp(33px,3.5vw,52px)/1.2 Georgia,"Songti SC",serif;letter-spacing:.025em}.hero h1+p{margin:0;color:#d4d0c7;font-size:13px}.hero-rule{display:flex;gap:26px;margin-top:auto;padding-top:9px;color:#c4b6a0;font:10px ui-monospace,monospace;letter-spacing:.1em}.hero-rule span:first-child{color:var(--gold2)}
.studio{max-width:1540px;margin:auto;padding:31px clamp(22px,4vw,72px) 80px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.steps,.stage{background:var(--surface);border:1px solid var(--line)}.steps{align-self:start;min-height:500px;padding:22px 15px;display:flex;flex-direction:column}.steps .section-kicker{padding:0 12px 18px;font-size:10px}.step{width:100%;display:flex;align-items:start;gap:15px;text-align:left;border:0;border-left:2px solid transparent;background:transparent;color:#aaa8a3;padding:15px 12px}.step b{color:#716e68;font:12px ui-monospace,monospace}.step span{font-size:13px;font-weight:600}.step small{display:block;margin-top:3px;color:#8f8c86;font-size:10px;font-weight:400}.step.active{background:#29241d;border-left-color:var(--gold);color:var(--gold2)}.step.active b,.step.active small{color:var(--gold)}.step:hover:not(.active){background:#202122;color:#eee}.steps-foot{margin-top:auto;padding:19px 12px 4px;border-top:1px solid var(--line)}.steps-foot strong{color:var(--gold);font:11px ui-monospace,monospace;letter-spacing:.1em}.steps-foot p{margin:8px 0 0;color:var(--muted);font-size:11px}
.stage{min-height:550px}.page{padding:38px clamp(24px,3vw,52px)}.page-head{padding-bottom:25px;border-bottom:1px solid var(--line)}.page-head p{margin:0;color:var(--gold);font:11px ui-monospace,monospace;letter-spacing:.18em}.page-head h2{margin:9px 0 8px;font:400 clamp(31px,3vw,42px)/1.2 Georgia,"Songti SC",serif}.page-head span{color:var(--muted);font-size:13px}.notice{margin:0;padding:14px 42px;background:#2a2118;border-bottom:1px solid #6c5334;color:var(--gold2);font-size:12px}.notice.error{background:#301f1d;border-color:#90514a;color:#f2b4a6}
.stage-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:37px;padding-top:25px;border-top:1px solid var(--line)}button.primary,button.outline,.quiet-link{min-height:43px;padding:10px 20px;border-radius:0;font-size:12px;font-weight:650}.primary{border:1px solid var(--gold);background:var(--gold);color:#17140e}.primary:hover:not(:disabled){background:#edca8f}.primary span{margin-left:12px}.outline{border:1px solid #77716a;background:transparent;color:var(--text)}.outline:hover:not(:disabled){border-color:var(--gold);color:var(--gold2)}.quiet-link{color:var(--muted)}.quiet-link:hover{color:var(--gold2)}.wide{width:100%;margin-top:20px}.text-button{border:0;background:transparent;color:var(--gold);text-decoration:underline;text-underline-offset:4px;font-size:12px}.text-button:hover{color:var(--gold2)}
.camera-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:31px}.camera-card{position:relative;min-height:235px;padding:22px;border:1px solid #605a50;background:#22201c;display:flex;flex-direction:column;text-align:left;color:var(--text)}.camera-card.selected{border-color:var(--gold);background:linear-gradient(135deg,#332919,#191a1b 66%)}.camera-card.muted{background:#1b1c1d;border-color:#393a3b;color:#aaa8a3}.camera-card>span{color:var(--gold);font:10px ui-monospace,monospace;letter-spacing:.13em}.camera-card strong{font:400 27px/1.2 Georgia,"Songti SC",serif;margin:26px 0 8px}.camera-card small{color:var(--muted);font-size:11px}.camera-card em{margin-top:auto;color:var(--gold2);font-size:11px;font-style:normal}.camera-card.muted em,.camera-card.muted>span{color:#827f79}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0 5px;color:var(--muted);font-size:12px}.feature-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.feature-title{display:flex;align-items:center;gap:12px}.feature-title h3{margin:0;font-size:22px;font-weight:600}.feature-num{color:var(--gold);font:10px ui-monospace,monospace}.feature-row p{max-width:690px;margin:8px 0 0;color:var(--muted);font-size:12px}.feature-tag{display:inline-block;margin-top:9px;color:#aab8a5;font-size:10px}.feature-toggle{min-width:94px;height:40px;align-self:start;border:1px solid #716b60;background:#292827;color:var(--text);font-size:12px}.feature-toggle.selected{background:var(--gold);border-color:var(--gold);color:#17140e}.feature-detail{grid-column:1/-1;margin:20px 0 0;padding:19px 20px;border-left:2px solid var(--gold);background:#20201e}.feature-detail>p{margin:0 0 15px}.slot-heading{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #555048;padding-bottom:12px;color:var(--muted);font-size:11px}.slot-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #393939}.slot-icon{display:grid;place-items:center;width:52px;height:52px;border:1px dashed #78746e;color:#99948a;font:11px ui-monospace,monospace}.slot-row strong{display:block;font-size:15px}.slot-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.slot-row .slot-param{font-size:10px;color:#a8a49d}.slot-row button{border:0;background:transparent;color:var(--gold);text-decoration:underline;text-underline-offset:4px;font-size:11px}.slot-row button+button{margin-left:10px}.slot-foot{color:var(--muted);font-size:11px;margin:15px 0 0}.feature-points{display:flex;flex-wrap:wrap;gap:10px}.feature-points span{padding:9px 12px;border:1px solid #55504a;color:#d0c7b8;font-size:11px}.film-catalog{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.film-card{border:1px solid #544e45;background:#171717;color:var(--text);padding:13px 7px;text-align:center}.film-card.active{border-color:var(--gold);background:#2c251a}.film-card canvas{display:block;width:48px;height:48px;margin:0 auto 9px;image-rendering:pixelated}.film-card strong{display:block;font-size:11px;white-space:nowrap}.film-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}.film-preview figure{position:relative;margin:0;border:1px solid #55504a;overflow:hidden;background:#090909}.film-preview img,.film-preview canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.film-preview figcaption{position:absolute;bottom:10px;left:10px;background:#0a0a0ad9;color:white;padding:5px 8px;font:10px ui-monospace,monospace;letter-spacing:.1em}.preview-note{margin-top:8px!important;font-size:10px!important}.level-graphic{height:65px;border:1px solid #55504a;background:#111a20;position:relative}.level-graphic:before,.level-graphic:after{content:"";position:absolute;background:#e5e5df}.level-graphic:before{top:50%;left:10%;right:10%;height:1px}.level-graphic:after{top:calc(50% - 9px);left:50%;width:18px;height:18px;border-radius:50%}.level-graphic i{position:absolute;top:50%;left:49%;width:3px;height:1px;background:#70ba78}
.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:260px;margin-top:28px;border:1px dashed #85765e;background:#1c1b18;cursor:pointer}.dropzone.dragging,.dropzone:hover{border-color:var(--gold);background:#292419}.drop-icon{font-size:32px;color:var(--gold)}.dropzone strong{font-size:19px}.dropzone small{color:var(--muted)}.source-report{margin-top:21px;padding:19px;border:1px solid #746b55;background:#232019}.source-report h3{margin:0 0 12px;font-size:16px}.source-report dl{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:0;font-size:11px}.source-report dt{color:var(--muted)}.source-report dd{margin:0;overflow-wrap:anywhere;font-family:ui-monospace,monospace}.source-actions{display:flex;align-items:center;gap:16px;margin-top:20px}.source-actions span{font-size:11px;color:var(--muted)}
.build-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #48443f;margin:27px 0}.build-summary div{padding:18px;border-right:1px solid #48443f}.build-summary div:last-child{border:0}.build-summary small{display:block;color:var(--gold);font:10px ui-monospace,monospace;letter-spacing:.1em}.build-summary strong{display:block;margin-top:6px;font-size:13px}.build-details{border-top:1px solid var(--line)}.build-details p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.build-details span{color:var(--muted)}.preflight-result,.build-result{padding:15px 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.preflight-result.ok{color:#a6c4aa}.preflight-result.error,.build-result.error{color:#efaaa0}.risk-check{display:flex;gap:10px;align-items:start;padding:14px;border:1px solid #67583e;color:#cfbea0;font-size:11px}.risk-check input{accent-color:var(--gold);margin:2px 0}.build-result:empty{display:none}
.recipe-dialog{width:min(920px,calc(100vw - 28px));max-height:90vh;padding:0;border:1px solid #91816a;background:#191a1b;color:var(--text);box-shadow:0 30px 90px #000b}.recipe-dialog::backdrop{background:#050505bc}.recipe-dialog form{display:flex;flex-direction:column;max-height:90vh}.dialog-head{position:relative;padding:25px 32px;border-bottom:1px solid var(--line)}.dialog-head p{margin:0;color:var(--gold);font:10px ui-monospace,monospace;letter-spacing:.18em}.dialog-head h2{margin:10px 0 4px;font:400 31px Georgia,"Songti SC",serif}.dialog-head span{color:var(--muted);font-size:12px}.dialog-close{position:absolute;right:23px;top:20px;width:38px;height:38px;background:transparent;border:1px solid #8a837b;color:#d9d5cc;font-size:28px;line-height:1}.dialog-body{overflow:auto;padding:25px 32px}.field-title{margin:0 0 9px;color:var(--muted);font-size:12px}.source-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.source-tabs label{display:flex;gap:8px;padding:14px 10px;border:1px solid #5b564f;cursor:pointer}.source-tabs label:has(input:checked){border-color:var(--gold);background:#2c251b}.source-tabs input{accent-color:var(--gold)}.source-tabs strong{display:block;font-size:12px}.source-tabs small{display:block;color:var(--muted);font-size:10px}.form-block{margin-top:20px;padding:14px;border:1px solid #44413d}.form-block label{display:block;margin-bottom:9px;color:var(--muted);font-size:11px}.form-block input:not([type=file]),.form-block select{width:100%;height:39px;border:1px solid #69645c;border-radius:0;background:#262729;color:var(--text);padding:8px}.form-block input[type=file]{max-width:100%}.form-block small{display:block;margin-top:8px;color:#88847d;font-size:10px}.parameters-head{display:flex;justify-content:space-between;margin:24px 0 11px;font-size:12px}.parameters-head span{color:var(--muted)}.recipe-parameters{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.recipe-parameters label{display:grid;gap:7px;color:var(--muted);font-size:11px}.recipe-parameters input{width:100%;height:36px;background:#252628;border:0;border-bottom:1px solid #716c62;border-radius:0;color:var(--text);padding:6px}.dialog-actions{display:flex;justify-content:end;gap:10px;padding:17px 32px;border-top:1px solid var(--line)}
@media(max-width:1100px){.studio{grid-template-columns:190px 1fr}.film-catalog{grid-template-columns:repeat(3,1fr)}.camera-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{gap:15px;padding:0 16px}.brand small,.local-tag{display:none}.model-nav{margin-left:auto}.model-nav a{padding:0 9px}.hero{height:218px}.hero-inner{padding:24px 18px}.hero h1{font-size:34px}.studio{display:block;padding:16px}.steps{min-height:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-bottom:14px;padding:6px}.steps .section-kicker,.steps-foot,.step small{display:none}.step{padding:8px 4px;display:block;text-align:center}.step b{display:block}.step span{font-size:10px}.page{padding:25px 18px}.camera-grid{grid-template-columns:1fr}.camera-card{min-height:165px}.camera-card strong{margin:13px 0 5px}.source-tabs{grid-template-columns:1fr}.film-catalog{grid-template-columns:repeat(2,1fr)}.film-preview{grid-template-columns:1fr}.recipe-parameters{grid-template-columns:repeat(2,1fr)}.slot-row{grid-template-columns:42px 1fr auto;gap:8px}.slot-icon{width:38px;height:38px}.stage-actions{flex-wrap:wrap}.build-summary{grid-template-columns:1fr}.build-summary div{border-right:0;border-bottom:1px solid #48443f}}
.film-group{border-top:1px solid #48443f;margin-top:12px;padding-top:10px}.film-group summary{cursor:pointer;color:#d9d3c6;font-size:12px;letter-spacing:.08em;margin-bottom:12px}.film-card{position:relative;padding:0;min-height:105px}.film-card.selected{border-color:#a98a4b}.film-card .film-view{width:100%;height:100%;min-height:105px;border:0;background:none;color:inherit;padding:12px 7px;cursor:pointer}.film-card small{display:block;color:#b9ad94;font-size:9px;margin-top:4px}.film-card .film-remove{position:absolute;right:4px;top:4px;border:0;background:#111c;color:var(--gold);font-size:9px;padding:3px 5px;cursor:pointer}.film-card.active{outline:1px solid var(--gold);outline-offset:2px}
.lut-panel{margin-top:20px;padding:18px;border:1px solid #615642;background:#191918}.lut-panel h4{margin:0 0 7px;color:var(--gold);font-size:13px}.lut-panel p{margin:0 0 13px!important}.lut-panel input[type=file]{width:100%;color:var(--muted);font-size:11px}.lut-controls{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;margin-top:16px}.lut-controls input,.lut-controls select{min-width:0;padding:10px;background:#101010;border:1px solid #62594a;color:var(--text);font-size:11px}.lut-controls button{padding:9px 14px;font-size:11px}@media(max-width:760px){.lut-controls{grid-template-columns:1fr}}
/* m10v edit desk: spatial navigation and a persistent build ledger. */
.studio{grid-template-columns:214px minmax(0,1fr) 244px;gap:14px;align-items:start}
.steps{position:sticky;top:18px;min-height:440px;padding:22px 12px}
.steps .section-kicker{padding-left:13px}
.step{gap:14px;padding:16px 13px;border-left:0;border-bottom:1px solid #33312d}
.step b{width:16px;color:var(--gold);font-size:15px;line-height:1}
.step.active{background:#25221c;box-shadow:inset 3px 0 var(--gold)}
.step.active span{color:#f2d7a9}
.page{padding:33px clamp(22px,2.6vw,42px)}
.page-head h2{font-size:clamp(30px,2.5vw,39px)}
.plan-rail{position:sticky;top:18px;padding:22px 20px;background:#171819;border:1px solid #4b4439}
.plan-rail h2{margin:11px 0 17px;font:400 23px Georgia,"Songti SC",serif}
.plan-ledger{border-top:1px solid #524838}
.plan-ledger>div{padding:13px 0;border-bottom:1px solid #383631}
.plan-ledger span{display:block;margin-bottom:4px;color:#99948a;font-size:10px;letter-spacing:.08em}
.plan-ledger strong{display:block;color:#efece5;font-size:12px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}
.rail-action{width:100%;margin-top:22px;min-height:43px;font-size:12px}
.rail-note{margin:17px 0 0;color:#8f8b83;font-size:10px;line-height:1.7}
.feature-list{display:grid;gap:12px;margin-top:16px}
.feature-row{padding:19px 21px;border:1px solid #45413b;background:#1c1d1d}
.feature-row:has(.feature-toggle.selected){border-color:#8e7045;background:#24211d}
.feature-title h3{font-size:18px}.feature-row p{line-height:1.65}
.feature-toggle{min-width:72px;height:34px}
.feature-detail{margin-top:20px;padding:18px;border:1px solid #635640;background:#191a19}
.feature-tag{color:#c3a36c}
@media(max-width:1220px){.studio{grid-template-columns:190px minmax(0,1fr)}.plan-rail{position:static;grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:8px 18px}.plan-rail h2{grid-column:1}.plan-ledger{grid-column:2;grid-row:1/4}.rail-action{align-self:start}.rail-note{margin:0}}
@media(max-width:760px){.studio{display:block}.steps{position:static;min-height:0;display:flex;overflow-x:auto;padding:5px;margin-bottom:12px}.steps .section-kicker,.steps-foot,.step small{display:none}.step{flex:0 0 auto;width:auto;border:0;padding:11px 9px}.step b{display:inline;width:auto;margin-right:4px}.step span{font-size:11px}.plan-rail{display:block;margin-top:12px}.plan-ledger{display:block}.feature-row{padding:15px}.feature-title h3{font-size:16px}}
.experiment-banner{display:grid;gap:5px;margin:24px 0 30px;padding:16px 18px;border-left:3px solid #c8896f;background:#30231f;color:#eac9bb;font-size:12px;line-height:1.6}.experiment-banner strong{font-size:13px}.experiment-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 15px}.experiment-heading small{color:var(--gold);font:10px ui-monospace,monospace;letter-spacing:.15em}.experiment-heading h3{margin:6px 0 0;font:400 25px Georgia,"Songti SC",serif}.experiment-heading>span{max-width:290px;color:var(--muted);font-size:11px;line-height:1.6}.experiment-upload{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:1px dashed #8b7557;background:#201f1d;cursor:pointer}.experiment-upload:hover{border-color:var(--gold)}.experiment-upload strong{font-size:12px}.experiment-upload span{color:var(--muted);font-size:11px}.experiment-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.experiment-preview figure{position:relative;margin:0;min-width:0;border:1px solid #52493e;background:#0c0c0c}.experiment-preview canvas{display:block;width:100%;aspect-ratio:3/2;object-fit:contain}.experiment-preview figcaption{position:absolute;left:10px;bottom:10px;padding:5px 7px;background:#0d0d0ddd;color:#e7ded0;font:9px ui-monospace,monospace;letter-spacing:.07em}.experiment-caption{margin:13px 0;color:var(--muted);font-size:11px;line-height:1.7}.halation-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.halation-controls label{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px;border:1px solid #4b453c;color:#c9c2b7;font-size:11px}.halation-controls output{color:var(--gold2);font:11px ui-monospace,monospace}.halation-controls input{grid-column:1/-1;width:100%;accent-color:#c87a64}.experiment-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.experiment-heading-later{margin-top:47px;padding-top:26px;border-top:1px solid var(--line)}.experiment-gates{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.experiment-gates>div{display:grid;grid-template-columns:23px 1fr;gap:3px 10px;padding:13px;border:1px solid #4b443d;background:#1a1a19}.experiment-gates b{grid-row:1/3;color:var(--gold);font:13px ui-monospace,monospace}.experiment-gates span{font-size:11px}.experiment-gates strong{color:#ad9f90;font-size:10px;font-weight:400;overflow-wrap:anywhere}@media(max-width:760px){.experiment-heading,.experiment-upload{display:block}.experiment-heading>span,.experiment-upload span{display:block;margin-top:8px}.experiment-preview,.halation-controls,.experiment-gates{grid-template-columns:1fr}}
.stock-preset-row{display:grid;grid-template-columns:40px minmax(70px,.6fr) minmax(100px,1fr) minmax(120px,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#ddd)}
.stock-preset-row canvas{width:40px;height:40px}.stock-preset-row input{min-width:0;max-width:100%;padding:8px}
.feature-detail>select{padding:8px;border:1px solid #62594a;background:#151515;color:var(--text)}
.native-stamp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.native-stamp-fields label{display:grid;gap:7px;color:var(--muted);font-size:12px}.native-stamp-fields select{width:100%;padding:9px;border:1px solid #62594a;background:#151515;color:var(--text)}.native-stamp-fields label:has(input){display:flex;align-items:center;color:var(--text)}@media(max-width:620px){.native-stamp-fields{grid-template-columns:1fr}}
.film-selection-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;margin:18px 0 20px;padding:16px 18px;border:1px solid #6e5a3c;background:linear-gradient(105deg,#30271b,#1c1c1b 62%)}
.film-selection-heading{display:grid;gap:2px;min-width:130px}.film-selection-kicker{color:var(--gold);font:10px ui-monospace,monospace;letter-spacing:.11em}.film-selection-heading strong{font-size:17px;font-weight:600}.film-selection-controls{display:flex;align-items:center;gap:23px}.film-texture-field{display:grid;gap:6px}.film-texture-label{color:#c9c0b1;font-size:11px}.film-levels{display:flex;gap:4px}.film-levels button{min-width:45px;min-height:34px;padding:5px 8px;border:1px solid #5d554a;background:#242321;color:#d3cdc3;font-size:11px;transition:background .16s ease,border-color .16s ease,color .16s ease}.film-levels button:hover{border-color:var(--gold);color:#fff}.film-levels button.selected{border-color:var(--gold);background:var(--gold);color:#21190f;font-weight:700}.film-hdf-status{display:grid;gap:7px;padding-left:18px;border-left:1px solid #54483a}.film-hdf-badge{color:#9d988f;font-size:11px}.film-selection-empty{margin:0!important}
.film-group{margin-top:0;padding:0;border-top:1px solid #49453f}.film-group summary{margin:0;padding:13px 2px;line-height:1.4}.film-group[open] summary{color:var(--gold2)}.film-catalog{gap:8px;margin:0 0 16px}.film-card{min-height:0;border-color:#504b45;background:#191a1a;transition:background .16s ease,border-color .16s ease,transform .16s ease}.film-card:hover{border-color:#9e8155;background:#22211e;transform:translateY(-2px)}.film-card.selected{border-color:#806b4b}.film-card.active{outline:none;border-color:var(--gold);background:#2c261c;box-shadow:inset 0 0 0 1px var(--gold)}.film-card .film-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:116px;height:auto;padding:16px 5px 9px}.film-card canvas{width:42px;height:42px;margin:0 0 5px}.film-card strong{max-width:100%;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.film-card small{font-size:10px}.film-card .film-remove{top:6px;right:6px;padding:3px 6px;border:1px solid #756044;background:#211b14;color:var(--gold2);font-size:10px}.film-card .film-remove:hover{background:#47341d}
@media(max-width:760px){.film-selection-panel{align-items:stretch;flex-direction:column;gap:13px;padding:14px}.film-selection-controls{justify-content:space-between;gap:10px}.film-hdf-status{padding-left:10px}.film-card .film-view{min-height:100px;padding:10px 24px 10px 5px}.film-card strong{font-size:10px}}
@media(max-width:390px){.film-selection-controls{align-items:start;flex-direction:column}.film-hdf-status{display:flex;gap:10px;padding-left:0;border-left:0}}
.bay-workflow{display:grid;gap:12px}.bay-intro{margin:0 0 2px!important;color:#ded4c3!important;font-size:12px!important;line-height:1.65}.bay-step{min-width:0;padding:18px;border:1px solid #4d4539;background:#1c1c1b}.bay-kicker{color:var(--gold);font:10px ui-monospace,monospace;letter-spacing:.1em}.bay-step h4{margin:7px 0 5px;font-size:15px;font-weight:600}.bay-step p{margin:0 0 11px!important;max-width:none;color:#bdb6a9;font-size:11px;line-height:1.7}.bay-code-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:14px}.bay-code-input{width:164px;max-width:100%;height:43px;padding:8px 12px;border:1px solid #9a7b4d;border-radius:0;background:#111;color:var(--text);font:600 19px ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase}.bay-code-state{color:#d9a891;font-size:11px}.bay-code-state.ok{color:#a5c6a9}.bay-pick-actions{display:flex;gap:8px;margin:13px 0}.bay-pick-actions button{min-height:32px;padding:6px 11px;font-size:10px}.bay-groups{border-top:1px solid #48443e}.bay-group{border-bottom:1px solid #48443e}.bay-group summary{padding:11px 2px;cursor:pointer;color:#ded5c9;font-size:11px}.bay-group[open] summary{color:var(--gold2)}.bay-film-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:7px;padding:2px 0 14px}.bay-film-item{display:flex;align-items:center;gap:7px;min-width:0;min-height:52px;padding:7px;border:1px solid #554d42;background:#20201e;cursor:pointer;font-size:10px}.bay-film-item:has(input:checked){border-color:#a28151;background:#2b251c}.bay-film-item.fixed{cursor:default}.bay-film-item input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--gold)}.bay-film-item canvas{flex:0 0 auto;width:30px;height:30px;image-rendering:pixelated}.bay-film-item span{min-width:0;overflow-wrap:anywhere}.bay-film-item small{margin-left:auto;color:var(--gold);font-size:9px}.bay-issue{border-color:#83653f;background:linear-gradient(110deg,#2b241a,#1c1c1b 70%)}.bay-summary{color:#ead3ad!important;font-size:12px!important}.bay-disclosure{margin:9px 0 13px!important;color:#aaa399!important}.bay-issue .primary{min-height:40px}.bay-result{margin:10px 0 0!important;color:#a5c6a9!important}.bay-result.error{color:#e4a49a!important}.bay-result:empty{display:none}.bay-install{background:#181918}.bay-install p{margin-bottom:0!important}
@media(max-width:760px){.bay-step{padding:14px}.bay-film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bay-film-item{gap:5px;padding:5px}.bay-film-item canvas{width:26px;height:26px}.bay-film-item small{display:none}}
@media(max-width:800px){.stock-preset-row{grid-template-columns:40px 1fr 1fr}.stock-preset-row input[type=file]{grid-column:2/4}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.model-nav #studio-model-status{color:#d6ad69;font-size:12px;white-space:nowrap}.local-source-picker{margin:18px 0;padding:18px;border:1px solid #514838;background:#171716}.local-source-picker>label{display:block;font-size:12px;color:#b8ad9e;margin-bottom:12px}.local-source-picker>div{display:flex;gap:12px;align-items:center}.local-source-picker select{flex:1;min-width:0;padding:12px;background:#20201c;color:#eee7db;border:1px solid #635541;font:inherit;font-size:13px;color-scheme:dark}.local-source-picker button{flex-shrink:0}@media(max-width:600px){.local-source-picker>div{flex-direction:column;align-items:stretch}}

.firmware-disclaimer{width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:30px;border:1px solid #9a7850;background:#171816;color:#eee8dc;box-shadow:0 24px 100px #0009}.firmware-disclaimer::backdrop{background:#070807bd;backdrop-filter:blur(5px)}.firmware-disclaimer h2{font-size:24px;line-height:1.4;margin:12px 0 18px}.firmware-disclaimer p,.firmware-disclaimer li{font-size:13px;line-height:1.85;color:#c8bfb1}.firmware-disclaimer .disclaimer-kicker{color:#e3b67d;font-size:11px;letter-spacing:1px;margin:0}.firmware-disclaimer ul{padding-left:20px}.disclaimer-target{font-size:12px;color:#e3c38a;border-top:1px solid #4a4234;padding:16px 0}.disclaimer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.firmware-disclaimer button:focus-visible{outline:2px solid #dfb879;outline-offset:4px}@media(max-width:580px){.firmware-disclaimer{padding:22px}.firmware-disclaimer h2{font-size:21px}.disclaimer-actions{flex-direction:column}.disclaimer-actions button{width:100%}}

.topbar .brand{flex-shrink:0}.topbar{gap:24px;min-height:68px;height:auto;padding-block:12px}.model-nav #studio-model-status{font-size:12px;line-height:1.3}@media(max-width:760px){.model-nav{gap:4px}.model-nav a,.model-nav>span{padding:0 9px;min-height:36px;font-size:11px}.model-nav .unavailable{display:none}}@media(max-width:460px){.topbar{flex-wrap:wrap;gap:12px}.model-nav{width:100%;margin-left:0;justify-content:flex-start}.topbar .brand{font-size:26px}}

.debug-option{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:16px 0;border:1px solid #454545;border-radius:0;cursor:pointer}.debug-option input{width:18px;height:18px;flex:0 0 auto;margin:3px 0;accent-color:#eeb65e}.debug-option span{font-weight:600}.debug-option small{display:block;margin-top:6px;font-size:12px;font-weight:400;line-height:1.6;color:#aaa}.debug-option[hidden]{display:none}

.version-unlock-option[hidden],.version-unlock-fields[hidden]{display:none!important}.version-unlock-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}.version-unlock-fields label{font-size:12px;color:#b6ada0;min-width:0}.version-unlock-fields input{display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid #69645c;background:#171918;color:#eee7d7;font:14px ui-monospace,monospace}.version-unlock-fields p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.7}.version-error{color:#efaaa0;min-height:0}.version-error:empty{display:none}@media(max-width:480px){.version-unlock-fields{grid-template-columns:1fr}}

.version-known-fields[hidden]{display:none!important}.version-known-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.version-unlock-fields .version-known-toggle{grid-column:1/-1;display:flex;align-items:center;gap:10px;cursor:pointer}.version-known-toggle input[type=checkbox]{display:inline-block;width:18px;height:18px;flex:0 0 auto;margin:0;padding:0;accent-color:#eeb65e}@media(max-width:480px){.version-known-fields{grid-template-columns:1fr}}

/* Compact working layout: workflow above editor, summary beside it. */
body>.hero{height:auto;min-height:0;background:#111210;border-bottom:1px solid #30312d}body>.hero .hero-inner{max-width:1600px;padding:24px clamp(18px,3vw,48px);gap:5px}body>.hero .kicker{font:500 13px/1.5 inherit;letter-spacing:0;color:var(--muted)}body>.hero h1{margin:0;font:650 28px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;letter-spacing:0}body>.hero h1+p{font-size:14px;color:var(--muted)}body>.hero .hero-rule{display:none}
.studio{max-width:1600px;padding:24px clamp(18px,3vw,48px) 64px;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.studio>.steps{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;border:1px solid #3e3c35;border-radius:7px;overflow:hidden;background:#151614}.steps>.section-kicker,.steps>.steps-foot{display:none}.steps .step{min-height:64px;padding:14px 20px;align-items:center;border-left:0;border-bottom:3px solid transparent;gap:12px}.steps .step+.step{border-left:1px solid #383832}.steps .step.active{background:#29251d;border-bottom-color:var(--gold)}.step span{font-size:15px}.step small{font-size:12px;margin-top:2px}.step b{font-size:13px}.stage{min-width:0;min-height:520px;border-color:#393a34;border-radius:7px;overflow:hidden}.page{padding:26px 28px}.page-head{padding-bottom:20px}.page-head>p{display:none}.page-head h2{font:650 23px/1.4 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;margin:0 0 8px}.page-head span{font-size:14px}.plan-rail{position:sticky;top:20px;min-width:0;padding:20px;background:#151613;border:1px solid #3a3a33;border-radius:7px}.plan-rail .section-kicker{display:none}.plan-rail h2{font:600 16px/1.5 inherit;margin:0 0 16px}.plan-rail .rail-note{font-size:12px;line-height:1.7;color:var(--muted)}.plan-ledger{font-size:13px}.rail-action{width:100%;margin-top:20px}.settings-tabs{margin-top:22px}.settings-tabs button{min-height:46px;font-size:15px;padding:10px 22px}.toolbar{margin:16px 0;font-size:13px;gap:12px}.toolbar>div{display:flex;gap:8px}.toolbar .outline{min-height:40px;padding:8px 14px}.feature-title h3{font-size:18px}.feature-row p,.feature-tag{font-size:13px;line-height:1.7}.feature-toggle{min-height:44px;font-size:14px}.stage button.primary,.stage button.outline,.plan-rail button{min-height:44px;font-size:14px;border-radius:5px}.stage-actions{margin-top:24px;padding-top:20px}.dropzone{min-height:200px;border-radius:6px;margin-top:22px}.dropzone small{font-size:13px}.source-report dl{font-size:13px}.source-actions span{font-size:12px}.build-summary small{font-size:12px;letter-spacing:0}.build-summary strong{font-size:14px}.build-details p,.preflight-result,.build-result{font-size:13px}.recipe-dialog:not([open]){display:none}
@media(max-width:1100px){.studio{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.page{padding:22px}.steps .step{padding:12px 16px}.step small{display:none}}
@media(max-width:850px){.studio{grid-template-columns:minmax(0,1fr);padding:18px 16px 40px}.studio>.steps{grid-column:1}.plan-rail{position:static;grid-column:1}.plan-rail .rail-note{margin-bottom:0}.page{padding:22px}.steps .step{justify-content:center;padding:12px 8px;gap:8px}.step span{font-size:14px}.stage{min-height:0}.dropzone strong{font-size:17px}.source-actions{align-items:stretch;flex-direction:column}}
@media(max-width:480px){body>.hero .hero-inner{padding:20px 18px}body>.hero h1{font-size:25px}.page{padding:18px}.steps .step{gap:5px}.step span{font-size:13px}.step b{font-size:11px}.toolbar{align-items:center;flex-wrap:wrap}.stage-actions{gap:10px}.stage-actions>*{text-align:center}.dropzone{padding:18px;text-align:center}.build-summary{grid-template-columns:1fr}.build-summary div{border-right:0;border-bottom:1px solid #48443f}}

.source-options{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-top:20px;align-items:stretch}.source-options .dropzone{min-height:175px;margin:0;padding:18px;text-align:center}.source-options .dropzone strong{font-size:16px}.source-options .dropzone small{font-size:12px}.source-options .local-source-picker{margin:0;padding:20px;display:flex;flex-direction:column;justify-content:center;border-radius:6px}.source-options .local-source-picker>label{font-size:14px;margin-bottom:12px}.source-options .local-source-picker>div{display:flex;flex-direction:column;align-items:stretch;gap:10px}.source-options .local-source-picker select{width:100%}.source-options .local-source-picker button{width:100%}
@media(max-width:600px){.source-options{grid-template-columns:1fr;gap:12px}.source-options .dropzone{min-height:150px}.source-options .local-source-picker{padding:16px}}

/* Keep the active editor within reach on ordinary laptop screens. */
body>.hero .hero-inner{padding-block:14px;gap:2px}body>.hero h1{font-size:25px}body>.hero .kicker{font-size:12px}body>.hero h1+p{font-size:13px}.studio{padding-top:16px;gap:14px}.steps .step{min-height:56px;padding-block:10px}.page{padding:20px 24px}.page-head{padding-bottom:12px}.page-head h2{font-size:21px;margin-bottom:4px}.page-head span{font-size:13px}.settings-tabs{margin:14px 0 10px;padding-bottom:8px}.settings-tabs button{min-height:42px;padding:8px 18px;font-size:14px}.toolbar{margin:8px 0 14px}.toolbar .outline{min-height:36px;padding:6px 12px}.stage-actions{margin-top:20px;padding-top:16px}
@media(max-width:580px){.page{padding:16px}.studio{gap:12px}.toolbar{margin-bottom:12px}body>.hero .hero-inner{padding:14px 18px}}

/* The workflow and summary occupy separate sticky bands. */
html{scroll-padding-top:96px}.studio>.steps{z-index:10}.studio>.plan-rail{top:94px;z-index:2}.stage :is(button,input,select,[tabindex]){scroll-margin-top:100px}
@media(max-width:850px){html{scroll-padding-top:84px}.studio>.plan-rail{position:static;top:auto}.stage :is(button,input,select,[tabindex]){scroll-margin-top:88px}}

.hdf-levels{display:flex;gap:8px;margin-bottom:12px}.hdf-levels button[aria-pressed="true"]{background:var(--accent,#dab268);color:#151515}

.power-images{margin:24px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.power-images[hidden]{display:none}.power-image-card{padding:20px;border:1px solid var(--line,#ddd);border-radius:8px}.power-image-card h3{margin:0 0 10px}.power-image-card p{font-size:13px;line-height:1.6;color:#777}.power-image-card canvas{display:block;width:100%;aspect-ratio:3/2;border-radius:8px;margin:14px 0}.power-upload{display:inline-flex;cursor:pointer;margin:0 8px 8px 0}.power-crop label{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:13px}.power-crop input{flex:1}.power-status{min-height:2em}@media(max-width:720px){.power-images{grid-template-columns:1fr}}

/* Shared controls keep the same spacing, surfaces and action sizes. */
.studio>.steps:has([data-step="power"]){grid-template-columns:repeat(4,minmax(0,1fr))}
.zoom-detail .stamp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:440px}.zoom-detail label{display:grid;gap:8px;color:var(--muted);font-size:13px}.zoom-detail input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #62594a;border-radius:5px;background:#151614;color:var(--text);font:inherit}.zoom-detail .hint{margin-bottom:0}
.power-image-card{background:#1c1d1a;border-color:#45443b;border-radius:6px;padding:20px;min-width:0}.power-image-card h3{font-size:18px}.power-image-card p{color:var(--muted)}.power-image-card canvas{height:auto;aspect-ratio:3/2;border:1px solid #383a32;border-radius:5px}.power-upload{min-height:44px;padding:10px 16px;border:1px solid #7e7566;border-radius:5px;font-size:14px;align-items:center;justify-content:center}.power-upload:focus-within{outline:2px solid var(--gold);outline-offset:3px}.power-image-card .power-crop{padding:12px 0;border-top:1px solid #45443b}.power-image-card input[type=range]{accent-color:var(--gold);min-width:0}.power-status{margin-bottom:0}.power-images{margin:20px 0}
@media(max-width:1100px){.power-images{grid-template-columns:1fr}}
@media(max-width:480px){.studio>.steps .step{display:flex;flex-direction:column;gap:3px;padding:10px 3px;min-width:0}.studio>.steps .step span{font-size:11px;white-space:nowrap}.studio>.steps .step b{margin:0}.zoom-detail .stamp-fields{gap:12px}.power-image-card{padding:16px}}
