:root{color:#ece7d8;font-synthesis:none;--ink:#ece7d8;--muted:#9f9a8b;--line:#38342b;--panel:#1c1a15;--panel-2:#252119;--gold:#e3b94f;--orange:#f0784f;--green:#79b893;background:#11100d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 78% -10%,#3a2815 0,#0000 34rem),linear-gradient(#17150f 0,#0e0d0b 70%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,.file-button{color:var(--ink);cursor:pointer;background:#29251d;border:1px solid #494236;border-radius:4px;padding:.62rem .85rem;transition:border-color .15s,background .15s,transform .15s}button:hover,.file-button:hover{border-color:var(--gold);background:#332d21}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45}button.primary{background:var(--gold);color:#19150d;border-color:var(--gold);font-weight:800}button.primary:hover{background:#f0cc6c}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}code{color:#efcc72;overflow-wrap:anywhere}.app-shell{min-height:100vh}header{border-bottom:1px solid var(--line);background:#12110de6;justify-content:space-between;align-items:center;height:72px;padding:0 2rem;display:flex}.brand{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.8rem;display:flex}.brand-mark,.mark{color:#18130b;background:var(--gold);clip-path:polygon(50% 0,92% 22%,92% 78%,50% 100%,8% 78%,8% 22%);place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:1.8rem;font-weight:900;display:grid}.brand span{color:var(--muted);font-size:.67rem;display:block}.brand b{font-family:Georgia,serif;font-size:1.02rem}.header-meta{color:var(--muted);align-items:center;gap:.55rem;font-size:.78rem;display:flex}.header-meta code{border:1px solid var(--line);border-radius:3px;padding:.25rem .4rem}.clean-dot,.changed-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #79b89388}.changed-dot{background:var(--orange);box-shadow:0 0 8px #f0784f88}nav{border-bottom:1px solid var(--line);background:#15130f;gap:.15rem;padding:.7rem 2rem;display:flex;overflow-x:auto}nav button{white-space:nowrap;color:var(--muted);background:0 0;border-color:#0000;padding:.55rem .75rem;font-size:.78rem}nav button.active{color:var(--ink);background:var(--panel-2);border-color:#514936}main{max-width:1500px;margin:0 auto;padding:2rem}footer{border-top:1px solid var(--line);color:#777266;justify-content:space-between;padding:1.3rem 2rem;font-size:.72rem;display:flex}.loading{height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:1rem;display:grid}.intro{max-width:850px;padding:4rem 0 3rem}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800}h1,h2,h3,h4{margin-top:0}h1{letter-spacing:-.045em;margin:1rem 0 1.5rem;font-family:Georgia,serif;font-size:clamp(3rem,7vw,6.5rem);font-weight:500;line-height:.93}h1 em{color:var(--gold);font-weight:400}h2{font-family:Georgia,serif;font-size:2rem;font-weight:500}h3{text-transform:uppercase;letter-spacing:.09em;color:#d8ceb6;font-size:.9rem}p{color:#bbb5a5;line-height:1.6}.intro>p{max-width:650px;font-size:1.08rem}.action-row,.toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.stat-grid{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:1rem;display:grid}.stat-grid article{border-right:1px solid var(--line);background:#181610;padding:1.5rem}.stat-grid article:last-child{border-right:0}.stat-grid b{color:var(--gold);font-family:Georgia,serif;font-size:2.8rem;display:block}.stat-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#201d17,#181612);border-radius:5px;padding:1.25rem}.hero-panel{grid-column:1/-1;padding:2rem}.hero-panel p{max-width:780px}.check-list{padding:0;list-style:none}.check-list li{color:#c9c3b2;margin:.65rem 0}.check-list li:before{content:"✓";color:var(--green);margin-right:.65rem;font-weight:900}.empty-state{align-content:center;max-width:900px;min-height:400px;display:grid}.empty-state p{max-width:680px}.level-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.level-nav{max-height:calc(100vh - 2rem);padding:.7rem;position:sticky;top:1rem;overflow-y:auto}.level-nav h3{padding:.5rem}.level-nav button{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;width:100%;margin-bottom:.25rem;display:flex}.level-nav button span{color:var(--gold);font-family:Georgia,serif}.level-nav button b{color:var(--muted);font-size:.68rem;font-weight:500}.level-nav button.selected{background:#342b1c;border-color:#6d5730}.screen-tabs{gap:.4rem;margin-bottom:.8rem;display:flex;overflow-x:auto}.screen-tabs button.selected{background:var(--gold);color:#17130c;border-color:var(--gold);font-weight:800}.preview-shell{background:#000;border:12px solid;max-width:984px;line-height:0;box-shadow:0 18px 50px #0009}.game-canvas{width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges}.caption{color:#827d70;margin:.65rem 0 1rem;font-size:.75rem}.toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-bottom:1rem;padding:.7rem 0;font-size:.75rem}.editor-columns{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem;margin-bottom:1rem;display:grid}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.field{color:var(--muted);gap:.3rem;font-size:.7rem;display:grid}.field input,.field select{width:100%;color:var(--ink);background:#11100d;border:1px solid #4a4438;border-radius:3px;padding:.52rem}.colour-field{grid-template-columns:18px 1fr;align-items:end}.colour-field>span:first-child{grid-column:1/-1}.swatch{border:1px solid #fff3;width:18px;height:34px}.check-field{color:#c5beab;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.unknown-box,.notice,.error-box{border-left:3px solid var(--gold);color:#bcb29b;background:#2a2519;margin-top:1rem;padding:.8rem;font-size:.76rem;line-height:1.5}.error-box{border-color:var(--orange);color:#ffb7a5;background:#301b17}.run-group,.actor-card{border-top:1px solid var(--line);padding:.25rem 0}.run-group summary,.actor-card summary{cursor:pointer;color:#d9d2bf;justify-content:space-between;align-items:center;padding:.65rem 0;display:flex}.run-group summary b{color:var(--gold);font-size:.72rem}.run-row{background:#12110e;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.35rem;padding:.55rem;display:grid}.muted{color:var(--muted);font-size:.78rem}.actors{margin-bottom:1rem}.actors h3 span{color:var(--gold);margin-left:.4rem}.actor-card .control-grid{grid-template-columns:repeat(4,1fr);padding:.7rem 0 1rem}.technical-json pre,.report pre{color:#b6cead;max-height:430px;font-size:.72rem;overflow:auto}.charset-workspace{grid-template-columns:minmax(360px,1fr) minmax(340px,.8fr) 250px;align-items:start;gap:1rem;display:grid}.charset-workspace .labour-tabs{grid-column:1/-1;margin-bottom:0}.character-editor{justify-items:center;display:grid}.character-editor canvas{width:min(100%,520px);height:auto;image-rendering:pixelated;cursor:crosshair;border:1px solid #514936;box-shadow:0 16px 42px #0008}.character-editor .action-row{width:100%;color:var(--muted);justify-content:space-between;font-size:.76rem}.charset-evidence{position:sticky;top:1rem}.charset-evidence dl{grid-template-columns:1fr;gap:.2rem}.charset-evidence dd{color:#ddd4c0;margin-bottom:.65rem}.sprite-layout{grid-template-columns:250px minmax(360px,1fr) 260px;align-items:start;gap:1rem;display:grid}.sprite-picker{max-height:calc(100vh - 120px);padding:.8rem;overflow-y:auto}.sprite-picker h3{margin:.25rem 0 1rem}.sprite-frame-list{grid-template-columns:repeat(4,1fr);gap:.3rem;display:grid}.sprite-frame-list button{background:#15130f;gap:.12rem;min-width:0;padding:.48rem .2rem;display:grid}.sprite-frame-list button.selected{color:#17130c;background:var(--gold);border-color:var(--gold)}.sprite-frame-list small{opacity:.65;text-transform:uppercase;font-size:.52rem;overflow:hidden}.sprite-editor{justify-items:center;display:grid}.sprite-heading{justify-content:space-between;align-items:start;width:100%;display:flex}.sprite-heading h2{margin:.35rem 0 1rem}.sprite-editor canvas{width:min(100%,600px);height:auto;image-rendering:pixelated;cursor:crosshair;border:1px solid #514936;box-shadow:0 16px 42px #0008}.sprite-editor .action-row{width:100%;color:var(--muted);justify-content:space-between;font-size:.76rem}.modified-badge,.locked-badge{color:#ff9a7c;text-transform:uppercase;letter-spacing:.1em;border:1px solid #8c4a35;border-radius:3px;padding:.35rem .5rem;font-size:.65rem}.locked-badge{color:#8fc9a4;border-color:#476753}.sprite-evidence{position:sticky;top:1rem}.sprite-evidence dl{grid-template-columns:1fr;gap:.2rem}.sprite-evidence dd{color:#ddd4c0;margin-bottom:.65rem}.file-button{align-items:center;display:inline-flex}.file-button input{display:none}.report dl,.panel dl{grid-template-columns:130px minmax(0,1fr);gap:.55rem;display:grid}dt{color:var(--muted)}dd{margin:0}.confidence{color:#bbb5a5;grid-template-columns:90px 1fr;gap:1rem .7rem;display:grid}.confidence b{color:var(--gold)}.charset-panel canvas{width:min(100%,620px);height:auto;image-rendering:pixelated;border:1px solid var(--line);cursor:crosshair;background:#111}@media (width<=1000px){.level-layout,.sprite-layout,.charset-workspace{grid-template-columns:1fr}.charset-workspace .labour-tabs{grid-column:1}.level-nav{gap:.25rem;display:flex;position:static;overflow-x:auto}.sprite-picker{max-height:none}.sprite-evidence,.charset-evidence{position:static}.level-nav h3{display:none}.level-nav button{min-width:120px}.editor-columns,.content-grid{grid-template-columns:1fr}.actor-card .control-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){header{padding:0 1rem}.header-meta code{display:none}nav,main{padding-left:1rem;padding-right:1rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid article:nth-child(2){border-right:0}.control-grid,.actor-card .control-grid{grid-template-columns:1fr}h1{font-size:3rem}footer{display:block}footer span{margin-top:.3rem;display:block}}.music-editor{margin-top:18px}.music-record-list{gap:8px;max-height:620px;padding-right:6px;display:grid;overflow:auto}.music-record-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:48px repeat(3,minmax(150px,1fr));align-items:end;gap:10px;padding:10px;display:grid}.music-record-row>b{color:var(--muted);align-self:center}@media (width<=850px){.music-record-row{grid-template-columns:40px 1fr}}.story-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.story-passages{gap:1rem;display:grid}.story-passage{color:var(--muted);gap:.45rem;font-size:.76rem;display:grid}.story-passage>span{justify-content:space-between;display:flex}.story-passage b{color:var(--gold)}.story-passage textarea{resize:vertical;width:100%;color:var(--ink);text-transform:uppercase;background:#11100d;border:1px solid #4a4438;border-radius:3px;padding:.8rem;font:.78rem/1.45 monospace}@media (width<=1000px){.story-layout{grid-template-columns:1fr}}.interface-editor{max-width:980px}.interface-editor .story-passage>button{justify-self:start}.high-score-editor{margin-bottom:1rem}.high-score-list{gap:.55rem;display:grid}.high-score-row{border:1px solid var(--line);border-radius:6px;grid-template-columns:42px 150px minmax(220px,1fr) auto;align-items:end;gap:.7rem;padding:.7rem;display:grid}.high-score-row>b{color:var(--gold);align-self:center}@media (width<=700px){.high-score-row{grid-template-columns:36px 1fr}}.emulator-layout{gap:1rem;display:grid}.emulator-intro{padding:2rem}.notice{color:#aaa394;background:#17150f;border-left:3px solid #6e5d37;margin:.75rem 0;padding:.75rem .9rem;font-size:.78rem;line-height:1.5}.error-box{color:#ffb09a;background:#2c1712;border:1px solid #8c4a35;margin:.75rem 0;padding:.75rem .9rem}.emulator-status{color:var(--muted);font-size:.8rem}.emulator-stage{padding:1rem}.emulator-toolbar{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.emulator-frame{aspect-ratio:326/205;background:#000;border:1px solid #514936;width:100%;min-height:420px;display:block;box-shadow:0 18px 50px #0009}@media (width<=760px){.emulator-frame{min-height:260px}}
