:root{--bg:#0f1115;--panel:#16181d;--line:#262a33;--text:#e6e6e6;--muted:#8b919c;--gold:#e8b04a;--green:#7fb069;--danger:#e06c5a;color-scheme:dark;font:13px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}button,input,select{font:inherit;color:inherit;border:1px solid var(--line);background:#1f232b;border-radius:4px;padding:3px 8px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--gold)}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:default}button.quiet{background:0 0}button.danger{border-color:var(--danger);color:var(--danger);background:0 0;margin-top:12px}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:11px}h3{color:var(--muted);margin:14px 0 6px;font-size:12px}ul{margin:0;padding:0;list-style:none}ul ul{padding-left:12px}.muted{color:var(--muted)}.error{color:var(--danger);margin:0 0 6px}.boot{color:var(--muted);padding:24px}.wb{grid-template:"bar bar bar""tree view insp"1fr"tree log insp"140px/220px 1fr 280px;height:100vh;display:grid}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);grid-area:bar;align-items:center;gap:8px;padding:6px 10px;display:flex}.toolbar .brand{color:var(--gold);margin-right:6px;font-weight:600}.toolbar .spacer{flex:1}.panel{background:var(--panel);padding:10px;overflow:auto}.hierarchy{border-right:1px solid var(--line);grid-area:tree}.hierarchy .row{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.node{text-align:left;background:0 0;border:0;width:100%;padding:2px 6px}.node.on{color:var(--gold);background:#2a2f3a}.viewport{grid-area:view;min-height:0;position:relative}.viewport canvas{width:100%;height:100%;display:block}.viewport canvas.overlay{touch-action:none;position:absolute;inset:0}.hint{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:8px;left:8px;right:8px}.toolbar .sep{background:var(--line);align-self:stretch;width:1px}.toolbar button.on,.modes button.on{border-color:var(--gold);color:var(--gold)}.modes{gap:2px;display:flex}.tag{color:var(--green);margin-left:6px;font-size:10px}h2.section{margin-top:16px}.prefabs li{justify-content:space-between;align-items:center;gap:4px;padding:2px 0;display:flex}.multi{gap:8px;margin-bottom:8px;display:grid}.row{flex-wrap:wrap;gap:4px;display:flex}.actions{margin-top:12px}.stats{color:var(--muted);background:#00000073;border-radius:3px;padding:2px 6px;font:11px ui-monospace,monospace;position:absolute;bottom:8px;left:8px}.inspector{border-left:1px solid var(--line);grid-area:insp}.field,.vec{gap:4px;margin-bottom:8px;display:grid}.vec{grid-template-columns:64px repeat(3,1fr);align-items:center}.vec input{width:100%;min-width:0}.field{grid-template-columns:64px 1fr;align-items:center}.field.body-fields{grid-template-columns:64px 1fr auto}.body-fields label{align-items:center;gap:4px;display:flex}.components li{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.log{border-top:1px solid var(--line);grid-area:log}.log li{padding:1px 0}.log .claude{color:var(--gold);font-weight:600}.log .you{color:var(--green);font-weight:600}.log .script{color:var(--muted);font-weight:600}.log .error{color:var(--danger);margin:0;font-weight:600}.viewport iframe.player{background:#111318;border:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=800px){.wb{grid-template:"bar""view"50vh"insp""tree""log"/1fr;height:auto}}.signin{gap:14px;max-width:380px;margin:10vh auto;padding:0 16px;display:grid}.signin h1{color:var(--gold);margin:0;font-size:18px}.signin form{gap:10px;display:grid}.signin .field{grid-template-columns:1fr}.signin a{color:var(--green)}.providers{gap:8px;display:grid}a.button{text-align:center;color:var(--text);border:1px solid var(--line);background:#1f232b;border-radius:4px;padding:6px 8px;text-decoration:none;display:block}a.button:hover{border-color:var(--gold)}label.button{text-align:center;color:var(--text);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;margin-top:4px;padding:6px 8px;display:block}label.button:hover{border-color:var(--gold)}label.button.disabled{opacity:.5;pointer-events:none}.swatch{vertical-align:-1px;border:1px solid var(--line);border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.materials{margin-bottom:6px}input[type=color]{height:26px;padding:0 2px}textarea.code{width:100%;min-height:320px;color:var(--text);border:1px solid var(--line);resize:vertical;tab-size:2;background:#12141a;border-radius:4px;padding:8px;font:12px/1.45 ui-monospace,monospace}.script-api summary{cursor:pointer;color:var(--muted);margin:6px 0;font-size:12px}.script-api pre{border:1px solid var(--line);white-space:pre;background:#12141a;border-radius:4px;max-height:320px;padding:8px;font:11px/1.4 ui-monospace,monospace;overflow:auto}.script-ref{gap:6px}.script-ref input{flex:1;min-width:0;font:11px ui-monospace,monospace}.vec:has(input:nth-of-type(2):last-of-type){grid-template-columns:64px repeat(2,1fr)}.thumb{vertical-align:-3px;width:16px;height:16px;image-rendering:pixelated;border:1px solid var(--line);border-radius:2px;margin-right:6px}.pixel-editor .size input{width:56px}.pixel-editor .tools button.on{border-color:var(--gold);color:var(--gold)}.pixel-editor canvas.pixels{max-width:100%;image-rendering:pixelated;cursor:crosshair;touch-action:none;border:1px solid var(--line);margin:8px 0;display:block}.palette{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.palette .swatch-btn{border-radius:3px;width:20px;height:20px;padding:0}.palette .swatch-btn.on{outline:2px solid var(--gold);outline-offset:1px}.quiet-label{align-items:center;gap:4px;display:inline-flex}.quiet-label input[type=color]{width:32px;padding:0 2px}.preview-page{flex-direction:column;height:100vh;display:flex}.preview-bar .brand{text-decoration:none}.preview-bar #status.live:before{content:"";background:var(--gold);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.preview-stage{background:#000;flex:1;min-height:0;position:relative}.preview-stage .player{border:0;width:100%;height:100%;position:absolute;inset:0}.preview-page.embed .preview-bar{display:none}.chooser{background:var(--bg);padding:32px 16px;position:absolute;inset:0;overflow:auto}.chooser h1{margin:0 0 6px;font-size:18px}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;max-width:960px;margin-top:18px;display:grid}.card{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.card span{color:var(--muted);font-size:12px}@media (width<=640px){.preview-bar{flex-wrap:wrap}.preview-bar #status{order:9;width:100%}}.toolbar a.button{padding:3px 8px;display:inline-block}.toolbar a.button.quiet{background:0 0}[hidden]{display:none!important}.sculpt .tools button.on,.data .tools button.on{border-color:var(--gold);color:var(--gold)}.sculpt-view{aspect-ratio:1;touch-action:none;max-width:100%;position:relative}.sculpt-view canvas{border:1px solid var(--line);cursor:crosshair;border-radius:4px;width:100%;height:100%}.sculpt-view .brush{border:1px solid var(--gold);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.sheet{z-index:5;background:var(--panel);flex-direction:column;display:flex;position:absolute;inset:0}.sheet-bar,.sheet-add{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.sheet-add{border-bottom:0;border-top:1px solid var(--line)}.sheet-name{min-width:10ch;font-weight:600}.sheet-bar input[type=search]{flex:1;min-width:12ch}.sheet-note{border-bottom:1px solid var(--line);margin:0;padding:4px 10px;font-size:11px}.sheet .error{margin:6px 10px}.sheet-paste{border-bottom:1px solid var(--line);gap:8px;padding:8px 10px;display:flex}.sheet-paste textarea{min-height:90px;color:var(--text);border:1px solid var(--line);background:#12141a;border-radius:4px;flex:1;padding:6px;font:12px ui-monospace,monospace}.sheet-column{border-bottom:1px solid var(--line);background:#1a1d24;flex-wrap:wrap;align-items:end;gap:10px;padding:8px 10px;display:flex}.sheet-column label{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.sheet-column .muted{flex:1;font-size:11px}.sheet-scroll{flex:1;overflow:auto}.sheet table{border-collapse:collapse;font-size:12px}.sheet th,.sheet td{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:0}.sheet thead th{background:var(--panel);z-index:1;position:sticky;top:0}.sheet tbody th{background:var(--panel);padding:2px 6px;font-family:ui-monospace,monospace;font-weight:500;position:sticky;left:0}.sheet button.col{background:0 0;border:0;border-radius:0;flex-direction:column;align-items:flex-start;width:100%;padding:4px 6px;display:flex}.sheet button.col small{color:var(--muted);font-size:10px}.sheet button.col.on{color:var(--gold)}.sheet td input:not([type=checkbox]),.sheet td select{background:0 0;border:0;border-radius:0;width:100%;min-width:9ch;padding:3px 6px}.sheet td input[type=checkbox]{margin:4px 6px}.sheet td input:focus,.sheet td select:focus{outline:1px solid var(--gold);outline-offset:-1px}.sheet button.x{color:var(--muted);border:0;margin-left:4px;padding:0 4px}.data .grow{flex:1}.data-body{flex:1;padding:10px;overflow:auto}.data-cols{grid-template-columns:1fr 220px;align-items:start;gap:16px;display:grid}.data-cols:has(>.data-side:first-child){grid-template-columns:200px 1fr}.data-main{min-width:0}.data-side h3,.data-main h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 6px;font-size:12px}.data-group{border:1px solid var(--line);border-radius:6px;margin:0 0 10px;padding:8px 10px}.data-group legend{padding:0 4px;font-weight:600}.data-fields{flex-wrap:wrap;align-items:end;gap:8px 12px;padding:6px 0;display:flex}.hostility{border-collapse:collapse;margin:0 0 12px;font-size:12px}.hostility caption{text-align:left;padding:0 0 4px}.hostility th,.hostility td{border:1px solid var(--line);text-align:center;padding:3px 6px}.hostility th[scope=row]{text-align:left;font-weight:600}.hostility th[scope=col]{font-weight:500}.skill-tree{max-width:100%;height:auto;margin:6px 0 10px;display:block;overflow:visible}.skill-tree line{stroke:var(--muted);stroke-width:1.5px}.skill-tree .box rect{fill:var(--panel);stroke:var(--muted)}.skill-tree .box text{fill:currentColor;pointer-events:none;font-size:11px}.skill-tree .box{cursor:pointer}.skill-tree .box.on rect,.skill-tree .box:focus-visible rect{stroke:var(--gold);stroke-width:2px}.data-boxes{margin:6px 0;padding:0;list-style:none}.data-boxes .data-fields{background:#1a1d24;border-radius:4px;padding:6px 8px 10px 18px}.df{gap:2px;font-size:11px;display:grid}.df input:not([type=checkbox]),.df select{min-width:8ch;max-width:16ch}.df.wide input{min-width:24ch;max-width:none}.data-empty{max-width:52ch}@media (width<=700px){.data-cols,.data-cols:has(>.data-side:first-child){grid-template-columns:1fr}}.data .row{align-items:end;gap:8px}.paint .layers{gap:4px;margin-bottom:8px;display:grid}.paint .layers .row{flex-wrap:nowrap;align-items:center}.paint .swatch-row{text-align:left;flex:1;align-items:center;gap:6px;display:flex}.paint .swatch-row.on{border-color:var(--gold);color:var(--gold)}.paint .swatch{border:1px solid var(--line);border-radius:2px;flex:none;width:12px;height:12px}.paint .layers select{max-width:10ch}
