:root{font-family:Arial,sans-serif;color:#e4e4cf;background:#142323;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,.file{border:1px solid #60716b;background:#243833;color:#eff1db;border-radius:5px;padding:10px 13px;cursor:pointer;min-height:42px}button:hover,.file:hover{background:#354e44}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true]{background:#d8e4a3;color:#1d3028}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f5b16d;outline-offset:3px}main{max-width:1800px;margin:auto;padding:25px 4vw}header{display:flex;justify-content:space-between;border-bottom:1px solid #496054;padding-bottom:20px}.brand{font-weight:700;font-size:22px}.brand span,.status,.eyebrow,.paneltitle>span{font-size:10px;letter-spacing:2px}.brand span{margin-left:20px;color:#b7c3af}.status{padding-top:8px}.status span{color:#c5da92}.intro{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:32px 0}.eyebrow{color:#b6c79c}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,4vw,64px);line-height:1.05;margin:12px 0}h1 em{color:#dfb379;font-weight:400}.premise{max-width:400px}.premise p{font-family:Georgia,serif;font-size:26px;line-height:1.2}.premise small{line-height:1.6;color:#b6c4b5}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:18px 0;border-top:1px solid #496054}.toolbar label:first-child{margin-right:auto}.toolbar select{margin-left:10px}.file input{position:absolute;width:1px;height:1px;opacity:0}.file:focus-within{outline:3px solid #f5b16d}.workbench{display:grid;grid-template-columns:1fr 1fr 1.18fr;gap:23px}.workbench article{padding:18px;background:#1c2e2b;border:1px solid #41564b;border-radius:8px}.workbench article.combined{background:#293c32;border-color:#829365}.paneltitle{display:flex;justify-content:space-between;align-items:center;gap:10px}.paneltitle span{font-size:9px;color:#b9c99d}h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin:0 0 15px}.surface{position:relative;aspect-ratio:1;background:#10201e;overflow:hidden}canvas{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none}.cross{position:absolute;width:11px;height:11px;border:1px solid white;box-shadow:0 0 0 1px #142323;transform:translate(-50%,-50%);pointer-events:none;border-radius:50%}.workbench p,.controls p{font-size:12px;line-height:1.6;color:#bdc7b8}.actions{display:flex;gap:7px;flex-wrap:wrap}.controls{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:25px;border:1px solid #41564b;border-radius:8px;margin-top:24px;padding:22px}.controls label{display:block;font-size:12px;margin:12px 0}.controls input[type=range]{width:100%;accent-color:#d0dc97;margin-top:9px}.seg{display:flex;gap:6px}.coords{display:flex;gap:12px}.coords input{width:75px;padding:9px;background:#10211f;border:1px solid #60716b;border-radius:4px;margin-left:9px}.readout{border-left:1px solid #51614f;padding-left:22px}.readout strong{font-size:35px;color:#dfb379;font-weight:400}.readout strong small{font-size:11px;display:block}.notice{font-size:12px;padding:18px 0;line-height:1.7}.notice span{float:right;color:#b7c3af}footer{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #496054;padding:20px 0;font-size:12px;color:#b7c3af}details{max-width:750px;line-height:1.7}summary{cursor:pointer}@media(max-width:950px){.workbench{grid-template-columns:1fr 1fr}.workbench .combined{grid-column:1/-1;max-width:600px;width:100%;justify-self:center}.controls{grid-template-columns:1fr 1fr}.intro .premise{max-width:320px}.brand span{display:none}}@media(max-width:600px){main{padding:18px}.intro{display:block}.premise p{font-size:22px}.workbench,.controls{grid-template-columns:1fr}.readout{border:0;padding:0}.status{font-size:8px}.toolbar label:first-child{width:100%}.notice span{float:none;display:block}footer{display:block}.surface{max-height:80vw}h1{font-size:46px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
