:root{--bg: #14161a;--panel: #1b1e24;--panel-2: #22262e;--line: #2f343e;--text: #d7dce5;--dim: #8b93a3;--accent: #7fb2ff;--good: #6fd08c;--warn: #e8c46a;--bad: #ee7b6c;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:4px 10px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:#27405f;border-color:#3c6089}button.danger:hover{border-color:var(--bad);color:var(--bad)}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:4px 6px;width:100%}input:focus,select:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}textarea{font-family:inherit;resize:vertical}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.topbar h1{font-size:13px;font-weight:600;margin:0;letter-spacing:.02em}.topbar .spacer{flex:1}.topbar .checkout{font-family:var(--mono);font-size:11px;color:var(--dim);border:1px solid var(--line);border-radius:10px;padding:1px 8px;cursor:help}.columns{display:grid;grid-template-columns:260px 1fr 340px;min-height:0}.columns>*{min-height:0;overflow:auto}.sidebar{background:var(--panel);border-right:1px solid var(--line)}.aside{background:var(--panel);border-left:1px solid var(--line)}.main{padding:16px 20px 60px}.kinds{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line)}.kinds button{flex:1;padding:4px 2px;text-transform:capitalize}.kinds button[aria-pressed=true]{background:#27405f;border-color:#3c6089}.search{padding:8px;border-bottom:1px solid var(--line)}.entity-list{list-style:none;margin:0;padding:4px 0}.entity-list button{width:100%;text-align:left;border:none;border-radius:0;background:none;padding:5px 12px;display:flex;gap:8px;align-items:baseline}.entity-list button:hover{background:var(--panel-2)}.entity-list button[aria-current=true]{background:#27405f}.entity-list .id{font-family:var(--mono);font-size:11px;color:var(--dim)}.entity-list .name{flex:1}.section{margin-bottom:22px}.section>h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin:0 0 8px}.field{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:start;padding:5px 0}.field>label{padding-top:5px}.field .name{font-family:var(--mono);font-size:12px}.field .unset{color:var(--dim);font-size:11px}.field .help{color:var(--dim);font-size:11px;white-space:pre-wrap;margin-top:4px}.field .row{display:flex;gap:6px;align-items:center}.field .row input[type=checkbox]{width:auto}.prose textarea{font-size:12px;color:var(--warn)}.prose .name{color:var(--warn)}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:10px}.card>header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.card>header .title{font-weight:600;font-family:var(--mono);font-size:12px}.card>header .spacer{flex:1}.note{color:var(--dim);font-size:12px}.error{color:var(--bad)}.warning{color:var(--warn)}.ok{color:var(--good)}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:10px;border:1px solid var(--line);color:var(--dim)}.badge.dirty{color:var(--warn);border-color:var(--warn)}.badge.bad{color:var(--bad);border-color:var(--bad)}.tile{image-rendering:pixelated;background:repeating-conic-gradient(#20242b,#20242b 25%,#191c22 0%,#191c22 50%) 50% / 8px 8px;border:1px solid var(--line);border-radius:3px}.state-grid{display:flex;flex-wrap:wrap;gap:10px}.state-cell{width:96px;text-align:center}.state-cell .label{font-family:var(--mono);font-size:11px;margin-top:4px}.state-cell .via{color:var(--dim);font-size:10px}.state-cell.declared .label{color:var(--text)}.state-cell:not(.declared) .label{color:var(--dim)}.atlas{position:relative;display:inline-block;line-height:0}.atlas img{image-rendering:pixelated;display:block}.atlas .cell{position:absolute;border:1px solid rgba(127,178,255,.25);cursor:pointer}.atlas .cell:hover{border-color:var(--accent);background:#7fb2ff1f}.atlas .cell.chosen{border:2px solid var(--accent);background:#7fb2ff2e}.diff{font-family:var(--mono);font-size:11px;white-space:pre;overflow:auto;max-height:50vh}.diff .add{color:var(--good)}.diff .del{color:var(--bad)}.diff .ctx{color:var(--dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;padding:24px;z-index:10}.modal{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px 18px;max-width:900px;width:100%;max-height:100%;overflow:auto}.modal>header{display:flex;align-items:center;margin-bottom:12px}.modal>header h2{margin:0;font-size:14px;flex:1}.rows{display:grid;gap:6px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.preview{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.preview-viewport{flex:0 1 auto;width:448px;height:448px;max-width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:4px;background:#000}.preview-stage{position:relative;flex:none;line-height:0}.preview-canvas{width:100%;height:100%;display:block;image-rendering:pixelated;background:#000}.preview-controls{flex:0 1 260px}.preview-controls kbd{font-family:var(--mono);font-size:10px;border:1px solid var(--line);border-radius:3px;padding:0 3px}button.chosen-pill{background:#27405f;border-color:#3c6089}.preview-fill{cursor:pointer;gap:6px}.preview-fill input[type=checkbox]{width:auto;margin:0}.preview-handles{position:absolute;top:0;right:0;bottom:0;left:0}.preview-handles .handle{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;padding:0;border-radius:50%;cursor:grab;touch-action:none;background:transparent}.preview-handles .handle.held{cursor:grabbing}.preview-handles .handle.fitting{border:2px solid #ffffff;box-shadow:0 0 0 1px #000}.preview-handles .handle.out{border:2px solid var(--accent);box-shadow:0 0 0 1px #000}.preview-handles .handle.end{border:2px solid var(--warn);box-shadow:0 0 0 1px #000;width:10px;height:10px;margin:-5px 0 0 -5px}.burn-grid{border-collapse:collapse;font-size:12px}.burn-grid th,.burn-grid td{padding:3px 8px;text-align:left;font-weight:400}.burn-grid thead th{color:var(--dim);font-family:var(--mono);font-size:11px}.burn-grid tbody th{font-family:var(--mono);font-size:11px;white-space:nowrap}.burn-grid .now{background:var(--panel-2)}.burn-grid input[type=checkbox]{width:auto;margin:0}.burn-grid .swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;border:1px solid #0006}.blamed .field{background:#ee7b6c14;box-shadow:inset 2px 0 0 var(--bad)}.preview-handles .handle.port{border:2px solid #67d73b;box-shadow:0 0 0 1px #000;width:12px;height:12px;margin:-6px 0 0 -6px}.app.noticed{grid-template-rows:auto auto 1fr}.notice{display:flex;align-items:center;gap:12px;padding:6px 12px;background:var(--panel-2);border-bottom:1px solid var(--line)}.notice .spacer{flex:1}.room-editor{display:grid;grid-template-columns:168px minmax(0,1fr) 250px;gap:16px;align-items:start}.room-layers .section>h2,.room-warnings>h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin:0 0 8px}.room-stage{min-width:0}.room-viewport{height:min(70vh,820px);overflow:hidden;background:#0e1013;border:1px solid var(--line)}.room-canvas{image-rendering:pixelated;display:block;cursor:crosshair}.room-readout{margin-top:6px;font-family:var(--mono)}.room-notice{margin-top:8px;padding:8px;border:1px solid var(--warn);border-radius:4px;font-size:12px}.room-notice button{margin-left:8px}.room-warnings{margin-top:14px}.room-warnings .warning{font-size:12px;margin-bottom:4px}.room-layer-table{border-collapse:collapse;font-size:12px;width:100%}.room-layer-table th{color:var(--dim);font-weight:400;font-size:10px;text-align:left}.room-layer-table td{padding:1px 4px 1px 0}.room-layer-table input{width:auto;margin:0}.room-layer-table tr.armed td{color:var(--accent)}.room-palette{margin-bottom:20px}.room-palette>input{margin-bottom:8px}.room-palette-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:220px;overflow:auto}.room-swatch{display:flex;flex-direction:column;align-items:center;width:62px;padding:3px;gap:2px;font-size:10px;line-height:1.1;text-align:center}.room-swatch.chosen{background:#27405f;border-color:#3c6089}.room-swatch .label{color:var(--dim);overflow:hidden}.room-swatch.chosen .label{color:var(--text)}.room-inspector header .name{font-family:var(--mono);font-size:12px}.room-inspector .field{grid-template-columns:96px 1fr}.room-inspector .section>h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin:14px 0 8px}.room-yield{list-style:none;margin:0;padding:0;font-size:12px}.room-yield .name{font-family:var(--mono)}.room-orphan blockquote{margin:6px 0;padding-left:8px;border-left:2px solid var(--warn);font-size:11px;color:var(--dim);white-space:pre-wrap}.swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;border:1px solid #0006}.open-folder{max-width:46rem;margin:0 auto;padding:48px 24px}.open-folder h1{font-size:15px}.open-folder button{margin:12px 0 4px}.open-folder .note{margin:8px 0}.open-folder code{background:#14171c;padding:0 3px}
