:root{--bg: #14130f;--panel: #1f1d18;--line: #3a362c;--text: #eee8d8;--muted: #a39c88;--accent: #e0a64a;--danger: #e5533d;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}#app{display:grid;grid-template-columns:1fr 320px;height:100dvh}#board{position:relative;overflow:hidden;touch-action:none}#board canvas{display:block}#panel{background:var(--panel);border-left:1px solid var(--line);padding:14px;overflow-y:auto}@media(max-width:760px){#app{grid-template-columns:1fr;grid-template-rows:1fr 42dvh}#panel{border-left:0;border-top:1px solid var(--line)}}.head{display:flex;justify-content:space-between;gap:8px;border-left:4px solid;padding-left:10px;margin-bottom:12px}.right{text-align:right}.muted{color:var(--muted)}.small{font-size:12px}h1{margin:0 0 4px;font-size:32px;letter-spacing:.04em}h2{margin:0 0 6px}h3{margin:0 0 6px;font-size:15px}section{border-top:1px solid var(--line);padding:10px 0}.stats{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted);font-size:12px}.tag{background:var(--danger);color:#fff;border-radius:4px;padding:0 5px;font-size:11px;vertical-align:middle}.row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}button,.file{background:#2c2922;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font:inherit;cursor:pointer}button:hover:not(:disabled),.file:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);color:#1a1408;border-color:var(--accent);font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.build{display:grid;grid-template-columns:1fr 1fr;gap:6px}.build button{display:flex;justify-content:space-between;gap:6px;padding:6px 8px;font-size:12px;text-align:left}.note{background:#2a2720;padding:8px;border-radius:8px}.error{color:#ffb4a6;background:#3a1f1a;padding:8px;border-radius:8px}.preview{background:#33281a;padding:6px 8px;border-radius:8px}.log{list-style:none;padding:0;margin:0;font-size:12px;color:var(--muted)}.log li{padding:2px 0;border-bottom:1px dashed #2c2922}.log li:first-child{color:var(--text)}#overlay{position:fixed;inset:0;background:#080705eb;display:grid;place-items:center;z-index:10;padding:16px}#overlay[hidden]{display:none}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;width:min(420px,100%);text-align:center}.dialog.wide{width:min(560px,100%);text-align:left}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}label{display:grid;gap:4px;font-size:12px;color:var(--muted)}label.check{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--text);font-size:14px}input,select{background:#15140f;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit}.ok{color:#9fdc8f;margin:6px 0}.warn{color:#f2c14e;margin:6px 0}.row.small{align-items:center;justify-content:space-between}
