:root{font-family:Inter,system-ui,sans-serif;color:#e8e8d8;background:#101b19;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1440px;margin:auto;padding:40px}header{border-bottom:1px solid #42544a;padding-bottom:28px}.eyebrow{letter-spacing:.2em;font-size:12px;color:#b5c3a3}h1{font-family:Georgia,serif;font-size:clamp(34px,5vw,68px);font-weight:400;margin:18px 0}h1 span{display:block;color:#9eb28c;font-style:italic}p{line-height:1.6;color:#bcc7ba}h2{font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:20px 0}.workspace{display:grid;grid-template-columns:300px 1fr;gap:36px;margin-top:28px}aside{padding-right:24px;border-right:1px solid #42544a}label{display:block;font-size:12px;text-transform:capitalize;color:#c0cbb9;margin:8px 0}.numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px}button,input,select,textarea{font:inherit;background:#22362e;color:#edf1e1;border:1px solid #526951;border-radius:5px;padding:10px}button{cursor:pointer;margin:5px 0;text-align:left}button:hover{background:#354f3b}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f5d595;outline-offset:3px}input,select{width:100%}aside>button{width:100%}.hint{font-size:12px}.row{display:flex;flex-wrap:wrap;gap:8px}canvas{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#14231e;touch-action:manipulation}.canvashead,.legend{display:flex;justify-content:space-between;gap:10px;padding:12px 0;font-size:12px}.canvashead strong{overflow-wrap:anywhere}.status{border:1px solid #536747;padding:14px;color:#e8d8a8;min-height:55px}.lower{border-top:1px solid #42544a;display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}textarea{width:100%;height:180px;resize:vertical;font-family:monospace;font-size:11px}footer{font-size:12px;color:#a1b19c;margin:35px 0}details{margin-top:24px}body:fullscreen{overflow:auto}@media(max-width:780px){main{padding:20px}.workspace,.lower{grid-template-columns:1fr}aside{border:0;padding:0}.legend{flex-wrap:wrap}canvas{max-height:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important;transition:none!important}}
