[hidden]{display:none!important}:root{--bg: #15131c;--panel: #1e1b28;--line: #322d42;--fg: #ece8f6;--muted: #a39cb8;--accent: #6fd3d8;--accent2: #e86bb0;--mono: ui-monospace, "Cascadia Mono", Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,Segoe UI,sans-serif;display:flex;flex-direction:column;overflow:hidden}h2{font:700 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.bar{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid var(--line);background:#110f17;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand b{font:800 16px var(--mono);letter-spacing:.2em}.brand .sub{color:var(--muted);font-size:12px}.logo{width:22px;height:22px;background:conic-gradient(var(--accent) 0 25%,var(--accent2) 0 50%,#f2c94c 0 75%,#8f7ff0 0);image-rendering:pixelated;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.modes{display:flex;border:1px solid var(--line)}.modes button{background:none;border:0;color:var(--muted);padding:7px 14px;font:600 13px system-ui;cursor:pointer}.modes button[aria-selected=true]{background:var(--accent);color:#0d1517}.actions{margin-left:auto;display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--fg);padding:7px 14px;font:600 13px system-ui;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent2);border-color:var(--accent2);color:#1a0d14}.btn.small{padding:5px 10px;font-size:12px;width:100%;margin-top:4px}.layout{flex:1;display:grid;grid-template-columns:290px 1fr;min-height:0}.panel{overflow-y:auto;border-right:1px solid var(--line);background:var(--panel);padding:14px;display:grid;gap:22px;align-content:start}.panel label{display:grid;gap:4px;margin-bottom:10px;font-size:13px;color:var(--muted)}.panel label.row{grid-template-columns:1fr auto;align-items:center}.panel label.row input{grid-column:1 / -1;grid-row:2}.panel label.check{display:flex;align-items:center;gap:8px;color:var(--fg)}.panel output{font:12px var(--mono);color:var(--fg)}select,input[type=range]{width:100%}select{background:var(--bg);color:var(--fg);border:1px solid var(--line);padding:6px;font:inherit}input[type=range]{accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent2)}.hint{color:var(--muted);font-size:12px;margin:6px 0 0}.stage{position:relative;display:grid;grid-template-rows:1fr auto;min-height:0;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px),var(--bg)}.view{position:relative;min-height:0;overflow:auto;display:grid;place-items:center;padding:20px}#modelView{padding:0;overflow:hidden}#gl{width:100%;height:100%;display:block;image-rendering:pixelated}.drop{border:2px dashed var(--line);padding:48px 32px;text-align:center;color:var(--muted);max-width:520px}.drop.overlay{position:absolute;inset:auto;background:#15131ccc}.drop .big{font:700 18px system-ui;color:var(--fg);margin:0 0 6px}.drop.hot{border-color:var(--accent);color:var(--fg)}.pair{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;justify-content:center}.pair figure{margin:0;display:grid;gap:6px;justify-items:center}.pair canvas{image-rendering:pixelated;background:repeating-conic-gradient(#2a2638 0,#2a2638 25%,#221f2e 0,#221f2e 50%) 0 0 / 16px 16px;max-width:min(42vw,560px);max-height:62vh;width:auto;height:auto}.pair figcaption{font:12px var(--mono);color:var(--muted)}.list{list-style:none;margin:0;padding:8px 12px;display:flex;gap:8px;overflow-x:auto;border-top:1px solid var(--line);background:#110f17;min-height:64px}.list li button{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);color:var(--fg);padding:4px 10px 4px 4px;cursor:pointer;font-size:12px;white-space:nowrap}.list li button[aria-current=true]{border-color:var(--accent)}.list img{width:40px;height:40px;object-fit:cover;image-rendering:pixelated}dialog{background:var(--panel);color:var(--fg);border:1px solid var(--line);padding:20px;min-width:min(420px,92vw)}dialog::backdrop{background:#000a}dialog menu{display:flex;justify-content:flex-end;padding:0;margin:16px 0 0}#exportBody{display:grid;gap:8px}#toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--accent);color:#0d1517;padding:8px 14px;font-weight:600;display:none}@media(max-width:760px){body{overflow:auto}.layout{grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid var(--line);max-height:none}.stage{min-height:70vh}.brand .sub{display:none}}
