:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#071015;color:#e8f1f3;font-size:16px}*{box-sizing:border-box}body{margin:0}header{padding:18px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #29414b;gap:16px}h1{font-size:26px;margin:4px 0}a{color:#8ce2cc}.eyebrow{font-size:12px;letter-spacing:2px;color:#8ce2cc}main{display:grid;grid-template-columns:340px 1fr}aside{padding:20px;border-right:1px solid #29414b;height:calc(100vh - 101px);overflow:auto}section h2{font-size:16px;color:#8ce2cc;margin:0 0 14px}aside section{border-top:1px solid #29414b;padding:20px 0}label{display:block;margin:12px 0;font-size:14px}input:not([type=checkbox]),select{width:100%;margin-top:6px;padding:10px;background:#101e25;color:inherit;border:1px solid #38515b;border-radius:5px;font:inherit}button{padding:10px 12px;color:inherit;background:#13252e;border:1px solid #38515b;border-radius:5px;font:inherit;font-size:14px;cursor:pointer}button:hover,button.active{border-color:#8ce2cc;background:#1d3d40}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #8ce2cc}aside section>button{width:100%;margin:4px 0}.pair,.filebar,.tools{display:flex;gap:6px;flex-wrap:wrap}.tools button{flex:1 0 45%}.hint{font-size:13px;line-height:1.6;color:#a0b6bf}.workspace{position:sticky;top:0;height:calc(100vh - 101px);min-height:580px;display:flex;flex-direction:column;padding:16px 24px;overflow:hidden;background:radial-gradient(ellipse at center,#182c34,#071015)}.toolbar{display:flex;justify-content:space-between;gap:8px}#status{font-size:14px;min-height:22px;color:#a1e6d6}#canvas{width:100%;flex:1;min-height:280px;touch-action:none;user-select:none}#instructions{font-size:14px;margin-bottom:0}#results button{display:block;width:100%;margin-top:5px}#canvas [data-vertex]{cursor:move}#canvas text{pointer-events:none}#canvas [data-object]{cursor:pointer}#credits{margin:6px 0}@media(max-width:800px){header{padding:14px;align-items:flex-start}header a{font-size:14px}main{display:flex;flex-direction:column-reverse}.workspace{position:relative;height:65vh;min-height:420px;padding:12px}aside{width:100%;height:auto;overflow:visible;border-right:none}.toolbar button{padding:8px}header h1{font-size:22px}}
