:root{color-scheme:dark;font:14px/1.5 system-ui,sans-serif;color:#e5ebf5;background:#0c1017;--line:#2b3546;--muted:#96a5b9;--cyan:#8de3f6}*{box-sizing:border-box}body{margin:0}header{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}small{font-size:10px;letter-spacing:2px;color:var(--cyan)}h1{font-size:24px;margin:3px 0}h1 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:12px}nav,.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}a{color:var(--cyan);text-decoration:none;margin-right:12px}main{display:grid;grid-template-columns:260px minmax(380px,1fr) 390px;min-height:calc(100vh - 91px)}aside{background:#111722;padding:16px;overflow:auto;max-height:calc(100vh - 91px)}aside:first-child{border-right:1px solid var(--line)}aside.right{border-left:1px solid var(--line)}section+section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}h2{font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px;color:var(--cyan)}label{display:block;font-size:12px;color:var(--muted);margin:10px 0}input,select,textarea,button{font:inherit;border:1px solid #39465d;background:#0c121d;color:#e5ebf5;border-radius:6px;padding:8px 10px}input:not([type=checkbox]):not([type=color]),select,textarea{width:100%;margin-top:4px}input[type=range]{padding:0;accent-color:var(--cyan)}input[type=color]{padding:3px;width:42px;height:35px}button{cursor:pointer;font-size:12px;font-weight:600}button:hover{border-color:var(--cyan);background:#202c3d}button:disabled{opacity:.4;cursor:default}.primary{background:var(--cyan);color:#0c1722;border-color:var(--cyan)}.primary:hover{background:#b3effb}.active{border-color:var(--cyan);background:#203b49;color:var(--cyan)}.check{display:flex;align-items:center;gap:7px;margin:10px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{color:var(--muted);font-size:12px}details{margin:16px 0}summary{cursor:pointer;font-weight:600}article{min-width:0;display:flex;flex-direction:column}.toolbar{padding:10px 14px;border-bottom:1px solid var(--line)}.toolbar label{margin:0}.toolbar select{width:auto;margin:0}.segmented{display:flex;gap:4px}.tools{background:#141c28}#stage{position:relative;flex:1;min-height:550px;max-height:calc(100vh - 240px);overflow:auto;display:grid;place-items:start center;padding:28px;background:#090d13}canvas#art{image-rendering:pixelated;touch-action:none;background:repeating-conic-gradient(#1c2633 0% 25%,#253142 0% 50%) 0/16px 16px;box-shadow:0 0 0 1px #49536a}#empty{pointer-events:none;position:absolute;top:30%;text-align:center;color:#c1cbd9;text-shadow:0 1px 3px #000}#empty span{font-size:12px}footer{display:flex;justify-content:space-between;padding:10px 14px;color:var(--muted);font-size:12px;gap:12px}#proposal{padding:12px;background:#363019;color:#f1d883;font-size:12px}#proposal button{margin-left:8px}#palette,#reference-palette{display:flex;flex-wrap:wrap;gap:5px;max-height:200px;overflow:auto}.swatch{width:25px;height:25px;padding:0;position:relative;border:1px solid #748199}.swatch.protected:after{content:'•';color:white;text-shadow:0 1px 2px black;font-size:22px;position:absolute;inset:-7px 0 0}#comparison{overflow:auto;max-height:530px;border:1px solid var(--line);margin-top:15px}#game{display:block;max-width:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}[hidden]{display:none!important}@media(max-width:1150px){main{grid-template-columns:230px 1fr}.right{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px;max-height:none}header{flex-wrap:wrap}aside{max-height:none}}@media(max-width:700px){main{display:block}#stage{min-height:400px}.right{display:block}h1 span{display:none}}
.comparison-toggle{display:flex;padding:3px;gap:3px;border:1px solid var(--line);border-radius:9px;background:#090d13;margin:12px 0 16px}
.preview-zoom{min-width:0}
.preview-zoom label{display:flex;justify-content:space-between;gap:8px;margin-bottom:0}
.preview-zoom output{color:var(--cyan);font-variant-numeric:tabular-nums}
.zoom-presets{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0 4px}
.zoom-presets button{padding:4px 6px;font-size:11px}
#game-zoom-size{font-size:11px;font-variant-numeric:tabular-nums}
#recent-projects{width:min(700px,calc(100vw - 32px));max-height:80vh;background:#111722;color:#e5ebf5;border:1px solid var(--line);border-radius:12px;padding:20px}
#recent-projects::backdrop{background:#000a}
.recent-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.recent-heading h2{margin:0}
#recent-list{display:grid;gap:10px}
.recent-project{display:grid;gap:6px;text-align:left;padding:14px;overflow-wrap:anywhere}
.recent-project strong{color:var(--cyan);font-size:14px}
.recent-project small{font-size:10px;letter-spacing:0;color:var(--muted)}
.angle-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:32px}
.angle-controls output{font-size:11px;font-variant-numeric:tabular-nums;color:var(--cyan)}
.angle-controls button{padding:3px 7px;white-space:nowrap}
.comparison-toggle button{flex:1;border-color:transparent;background:transparent;min-height:36px}
.comparison-toggle button.active{background:#203b49;border-color:var(--cyan);color:var(--cyan)}
:where(.tools) button[data-tool]{display:inline-flex;align-items:center;gap:7px}
.tool-icon{width:18px;height:18px;flex:none;shape-rendering:crispEdges}
#preview-divider{display:none}
@media(min-width:1151px){
  main{grid-template-columns:260px minmax(320px,1fr) 10px var(--preview-width,390px)}
  #preview-divider{display:block;cursor:col-resize;touch-action:none;background:#101722;position:relative;outline-offset:-2px}
  #preview-divider::after{content:'';position:absolute;top:45%;left:3px;width:4px;height:40px;border-radius:3px;background:#52647d}
  #preview-divider:hover,#preview-divider:focus-visible{background:#294252;outline:2px solid var(--cyan)}
  #preview-divider:hover::after{background:var(--cyan)}
  body.resizing-preview{cursor:col-resize;user-select:none}
  aside.right{min-width:0}
  #comparison{max-height:none}
}
