:root{color-scheme:dark;--bg:#0c0f14;--panel:#13171f;--border:#282e38;--muted:#87919f;--text:#e7eaf0;--gold:#d9b574;--blue:#8caeca}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid var(--border);border-radius:5px;background:#1b202a;color:var(--text)}button{padding:9px 12px;cursor:pointer;transition:background .15s,border-color .15s}button:hover{background:#2b303b;border-color:#687181}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--gold);color:#201a12;border-color:var(--gold);font-weight:bold}.primary:hover{background:#ebc98f}.quiet{background:transparent;font-size:11px;padding:6px 9px}.gold{color:var(--gold)}header{display:flex;align-items:center;justify-content:space-between;padding:23px 30px;border-bottom:1px solid var(--border);gap:15px}.brand{display:flex;align-items:center;gap:14px}.brand strong{font-size:14px;letter-spacing:1.3px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:7px}.dice{display:grid;place-items:center;font-size:33px;color:var(--gold);border:1px solid #7e6947;border-radius:8px;width:43px;height:43px;transform:rotate(-8deg)}.header-actions{display:flex;align-items:center;gap:8px}#save-state{color:#8ea99a;font-size:11px;margin-right:10px}.intro{padding:30px 32px;display:flex;justify-content:space-between;align-items:center;background:radial-gradient(ellipse at 80% 0,#27313955,transparent 65%)}.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:bold}h1{font-size:30px;letter-spacing:-.8px;font-weight:600;margin:10px 0}p{line-height:1.6;color:var(--muted);margin:7px 0}h2,h3{margin:0;font-size:14px;font-weight:600}.intro p{font-size:12px}.progress{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:9px;letter-spacing:1px}.progress strong{font-size:35px;color:var(--gold);font-weight:500;letter-spacing:-2px}.progress strong span{font-size:19px;color:#626b77}.track{width:150px;height:3px;margin-top:10px;background:#30343b}.track i{display:block;height:3px;background:var(--gold)}nav{display:flex;padding:0 30px;border-bottom:1px solid var(--border);gap:32px}nav button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:15px 2px;color:var(--muted);font-weight:bold}nav button.active{border-color:var(--gold);color:var(--gold)}nav button span{font-size:9px;margin-left:7px;background:#252932;border-radius:4px;padding:3px 6px}main{display:grid;grid-template-columns:230px minmax(340px,1fr) 310px;gap:20px;padding:24px 28px;max-width:1780px;margin:auto;align-items:start}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px;border-bottom:1px solid #242a34}.panel-heading h2{font-size:13px}.library{position:sticky;top:15px}.library>input{margin:15px 12px 10px;width:calc(100% - 24px);padding:10px;background:#0d1117}.filters{display:flex;gap:6px;padding:0 12px 14px}.filters select{width:50%;font-size:10px;padding:7px 4px}#list-count{color:var(--muted);font-size:10px}#title-list{max-height:610px;overflow:auto;padding:0 6px 8px}.title-item{display:block;text-align:left;width:100%;margin:3px 0;padding:13px 11px;background:none;border:1px solid transparent;border-radius:5px}.title-item.active{background:#29261f;border-color:#5d4c32;box-shadow:inset 2px 0 var(--gold)}.title-item strong{display:block;font-size:12px;line-height:1.4;font-weight:500}.title-item small{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);margin-top:7px}.dot{color:#8db29c}.title-item.active strong{color:#f1d8ab}.library-note{padding:15px;color:var(--muted);font-size:10px;line-height:1.7;border-top:1px solid var(--border)}.workspace{min-width:0}.title-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:3px 0}.title-heading h2{font-size:24px;letter-spacing:-.5px;margin-top:7px}.badge{display:inline-block;white-space:nowrap;font-size:9px;padding:5px 7px;background:#243240;border:1px solid #3e566c;color:#adcce6;border-radius:4px}.badge.approved{background:#1f322a;border-color:#3b5849;color:#a6cbb5}.badge.draft{background:#302b21;border-color:#5d4d35;color:var(--gold)}.requirement{font-size:11px;min-height:36px;margin:9px 0 15px}.artboard{background:radial-gradient(ellipse at center,#21384477,#11161e 70%)}.artboard.light{background:#e6e9eb}.artboard.light .eyebrow,.artboard.light .art-footer{color:#4e5b69}canvas{display:block;max-width:100%}.artboard #art{width:100%;height:auto;aspect-ratio:1100/270}.art-footer{display:flex;justify-content:space-between;padding:8px 16px 15px;color:#748594;font-size:8px;letter-spacing:.8px;gap:12px}.scene-panel{margin-top:17px}.sim-label{font-size:8px;color:#8d9caa}.scene-tools{display:flex;align-items:center;gap:10px;padding:12px;flex-wrap:wrap}.scene-tools select{padding:6px;font-size:10px;flex:1;min-width:80px}#scene-wrap{position:relative;margin:0 12px;background:#0b1119;border:1px solid #2b3540;border-radius:5px;overflow:hidden}#scene{width:100%;touch-action:none;cursor:grab}#scene-wrap.mobile{max-width:390px;margin:0 auto}#scene-wrap.mobile #scene{aspect-ratio:390/470}.drag-hint{position:absolute;right:10px;bottom:13px;color:#9aabba;font-size:9px;pointer-events:none}.scene-tools label{font-size:9px;color:#acb5c0;display:flex;align-items:center;gap:6px}.scene-tools input[type=range]{width:75px}.scene-panel>.hint{padding:0 13px 12px}.check{display:flex;align-items:center;gap:7px}.hint{font-size:10px;line-height:1.6}.readability{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.readability .panel{padding:12px}.readability canvas{width:100%}.light-check{background:#e3e6e9}.light-check .eyebrow{color:#566373}.fidelity>p,.fidelity>a{margin:12px 16px;display:block;font-size:11px}.fidelity>a{color:#adcae0}#effect-compat{padding:0 16px}.compat-item{display:flex;justify-content:space-between;gap:12px;font-size:10px;border-bottom:1px solid #252b34;padding:9px 0}.compat-item span{color:#abc1d3;text-align:right;font-size:9px;max-width:170px}#render-comparison:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}#render-comparison span{font-size:10px;color:var(--muted)}#render-comparison canvas{width:100%}.inspector{min-width:0}.version-bar{padding:14px;border-bottom:1px solid var(--border)}label{color:#aeb6c2;font-size:11px}.version-bar label{display:block;font-size:10px}.version-bar select{width:100%;margin-top:7px;padding:8px;font-size:11px}#approved-pointer{font-size:10px}.two-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.two-buttons button{font-size:10px;line-height:1.5;padding:7px}.full{width:100%}.control-section{padding:16px;border-bottom:1px solid var(--border)}.control-section h3{font-size:11px;color:#d6dce5;margin-bottom:13px}.control-section label.field{display:block;margin:11px 0;font-size:10px}.field select{display:block;margin-top:6px;padding:8px;width:100%;font-size:11px}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-grid label{font-size:9px}.color-pick{display:flex;align-items:center;gap:6px;margin-top:6px}.color-pick input{width:27px;height:27px;padding:0;border:0;background:none}.color-pick code{font-size:10px;color:#c3cbd5}.range-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:12px}.range-row output{font-size:9px;color:var(--gold)}input[type=range]{accent-color:var(--gold);width:100%;height:15px;margin:8px 0 2px}.outline-presets{display:flex;gap:5px;margin-top:8px}.outline-presets button{flex:1;padding:5px;font-size:9px}.effects-grid{display:grid;grid-template-columns:1fr;gap:9px}.effects-grid label{font-size:10px}.effects-grid input{accent-color:var(--gold);margin:0}.static-note{background:#24313b;padding:8px;margin-bottom:12px;border-radius:4px;font-size:10px;color:#b2c7db}textarea{width:100%;min-height:90px;padding:10px;font-size:11px;margin:9px 0;resize:vertical}#version-label{width:100%;padding:9px;font-size:11px}footer{max-width:1780px;margin:auto;border-top:1px solid var(--border);padding:23px 30px;color:#5e6876;letter-spacing:1px;font-size:9px;display:flex;justify-content:space-between}footer span{letter-spacing:0}dialog{background:#151b24;color:var(--text);border:1px solid #3d4859;border-radius:10px;padding:24px;max-width:min(980px,94vw);width:720px;max-height:90vh;overflow:auto;box-shadow:0 25px 90px #000a}dialog::backdrop{background:#05080ddd;backdrop-filter:blur(5px)}dialog .panel-heading{padding:0 0 15px}dialog h2{font-size:19px}dialog>p{font-size:12px;margin:15px 0}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.export-grid button{padding:18px;text-align:left;font-size:12px}#compare-dialog{width:1000px}.compare-pickers{display:flex;gap:20px;margin:20px 0}.compare-pickers label{width:50%}.compare-pickers select{width:100%;padding:10px;margin-top:6px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.compare-grid>div{border:1px solid var(--border);border-radius:7px;overflow:hidden}.compare-grid p{padding:10px;font-size:11px}.compare-grid canvas{width:100%}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#303a46;color:#eff3f6;border:1px solid #75818d;border-radius:7px;padding:12px 18px;font-size:12px;box-shadow:0 5px 30px #0008;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}#toast.visible{opacity:1}#confirm-dialog{width:440px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#3b4655;border-radius:5px}
@media(min-width:1600px){main{grid-template-columns:250px minmax(400px,1fr) 335px;gap:25px}.control-section{padding:19px}}
@media(max-width:1200px){main{grid-template-columns:190px minmax(300px,1fr) 270px;gap:12px;padding:18px}.studio{display:none}.header-actions button{font-size:11px}.scene-tools{gap:5px}.progress{margin-left:12px}.sim-label{max-width:110px;line-height:1.5;text-align:right}}
@media(max-width:950px){main{grid-template-columns:190px minmax(280px,1fr)}.inspector{grid-column:1/-1;display:block}#controls{display:grid;grid-template-columns:1fr 1fr}.version-bar .two-buttons{grid-template-columns:repeat(4,1fr)}.library{top:10px}.header-actions #save-state{display:none}.intro{padding:25px 20px}.title-heading h2{font-size:21px}}
@media(max-width:620px){header{padding:15px;flex-wrap:wrap}.brand strong{font-size:12px}.header-actions{width:100%}.header-actions button{flex:1}.intro{align-items:start;gap:10px}.intro h1{font-size:24px}.intro p{font-size:11px}.progress{display:block;text-align:right;min-width:85px}.progress strong{font-size:28px}.track{width:80px}.progress>div{font-size:7px;line-height:1.7}nav{padding:0 12px;gap:0;justify-content:space-between}nav button{font-size:10px}nav button span{margin-left:3px;padding:2px 4px}main{display:flex;flex-direction:column;padding:14px;gap:16px}.library{position:static;width:100%}#title-list{display:flex;max-height:120px;overflow:auto;padding:6px}.title-item{min-width:175px;max-width:175px}.library-note{padding:8px 12px}.library>.panel-heading{padding:12px}.library>input{width:48%;margin:10px 2% 4px}.filters{display:inline-flex;width:47%;padding:0}.filters select{padding:10px 3px}.workspace,.inspector{width:100%}.title-heading h2{font-size:23px}.requirement{min-height:0}.scene-tools label{font-size:9px}.art-footer{font-size:7px}.panel-heading{padding:12px}.scene-tools select{font-size:9px}.readability{gap:8px}.readability .panel{padding:9px}.eyebrow{font-size:8px}.compare-grid{grid-template-columns:1fr}.export-grid{grid-template-columns:1fr}dialog{padding:18px}.sim-label{font-size:7px}.version-bar .two-buttons{grid-template-columns:1fr 1fr}#controls{grid-template-columns:1fr}footer{font-size:8px;padding:15px;gap:15px;line-height:1.7}.scene-panel #scene{min-height:200px}}
summary.panel-heading{cursor:pointer;list-style:none;min-height:48px}summary::-webkit-details-marker{display:none}.expand-label{font-size:10px;color:var(--gold)}#preview-dock{position:fixed;top:10px;left:var(--dock-left,20px);width:var(--dock-width,500px);z-index:30;background:#131b25f5;border-color:#5b665f;box-shadow:0 7px 30px #0009;backdrop-filter:blur(12px);pointer-events:none}#preview-dock>div{display:flex;align-items:center;gap:9px;padding:7px 12px 0}#dock-title{font-size:11px;font-weight:500}#preview-dock span{font-size:8px;color:var(--gold);margin-left:auto;letter-spacing:1px}#dock-play{pointer-events:auto;padding:3px 6px}#dock-art{width:100%;height:110px;object-fit:contain}body.has-dock{scroll-padding-top:160px}html{scroll-padding-top:160px}input,select,button,textarea{scroll-margin-top:170px}@media(max-width:950px){#dock-art{height:90px}}@media(max-width:620px){#preview-dock{top:6px;left:10px!important;width:calc(100vw - 24px)!important}#dock-art{height:76px}#preview-dock>div{padding-top:5px}#dock-title{font-size:10px}#preview-dock span{font-size:7px}html{scroll-padding-top:135px}input,select,button,textarea{scroll-margin-top:140px}}
.submit-entry{background:#273d34;border-color:#456c57;color:#c6e8ce;font-weight:bold}.submit-entry:disabled{color:#9fb9a5}.dialog-actions,.admin-toolbar{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:18px}.admin-toolbar p{margin-right:auto}.admin-open{display:block;margin:0 auto 18px;background:transparent;color:#778391;font-size:10px;border-color:#313946}#submit-dialog,#admin-dialog{width:min(620px,94vw)}#submit-form>label,#admin-login>label{display:block;margin:16px 0 6px}#participant-name,#admin-password{display:block;width:100%;padding:11px;background:#0d1117}#submit-note{margin-top:10px}#admin-message{min-height:20px;color:var(--gold)}#submission-list{display:grid;gap:10px;margin-top:14px}.submission-card{border:1px solid var(--border);border-radius:7px;padding:13px;background:#10151d}.submission-card-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.submission-card-head strong{color:#f0d8af}.submission-card-head time{font-size:10px;color:var(--muted)}.submission-card p{margin:8px 0;font-size:11px}.submission-card button{font-size:10px}.dialog-actions{justify-content:flex-end}@media(max-width:620px){.header-actions{flex-wrap:wrap}.header-actions button{min-width:calc(50% - 5px)}.dialog-actions>*{flex:1}.submission-card-head{display:block}.submission-card-head time{display:block;margin-top:5px}}
