:root{font-family:Inter,"Segoe UI",sans-serif;color:#d9e4f2;background:#0c121c;font-size:16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}header{height:90px;display:flex;align-items:center;gap:16px;padding:0 30px;border-bottom:1px solid #263243;background:#101824}.mark{display:grid;place-items:center;width:44px;height:44px;background:#c8ed70;color:#18230c;font-weight:800;border-radius:10px;letter-spacing:-2px}h1{font-size:20px;margin:0 0 5px;letter-spacing:-.4px}header p{font-size:14px;color:#8fa2bb;margin:0}a{color:#c8ed70}header>a{margin-left:auto;font-size:14px;text-decoration:none;border:1px solid #344256;padding:10px 16px;border-radius:6px}main{display:grid;grid-template-columns:320px minmax(0,1fr);max-width:1920px;margin:auto}aside{padding:27px 24px;border-right:1px solid #263243;background:#101824}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:#a0b4ce;margin-bottom:18px}label{display:block;font-size:14px;color:#bfcde0;margin:12px 0}select,input[type=number],input[type=text]{font:inherit;width:100%;background:#0c131e;color:#f3f7fc;border:1px solid #344256;border-radius:6px;padding:10px;margin-top:7px;min-width:0}select{font-size:14px}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid #c8ed70;outline-offset:2px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.divider{height:1px;background:#293547;margin:24px 0}.muted,.hint{font-size:13px;line-height:1.6;color:#93a6bf}.hint{font-size:12px}button{font:inherit;cursor:pointer;border:1px solid #344256;border-radius:6px;background:#172232;color:#e7effa;padding:9px 13px;font-size:14px}button:hover{border-color:#c8ed70;color:#c8ed70}.primary{display:flex;justify-content:space-between;width:100%;padding:13px 15px;background:#c8ed70;border-color:#c8ed70;color:#1a260c;font-weight:650;margin-top:22px}.primary:hover{background:#dcfa97;color:#1a260c}.secondary{width:100%;margin-top:9px;background:transparent;color:#99acc3;font-size:13px}#error{color:#ffb3a2;font-size:14px;line-height:1.5}.workspace{padding:27px 30px;min-width:0}.viewhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.viewhead .eyebrow{margin-bottom:8px}h2{font-size:24px;margin:0;letter-spacing:-.6px}.badge{padding:6px 10px;border:1px solid #435239;border-radius:5px;color:#c8ed70;font-size:13px}#viewport{height:clamp(420px,61vh,780px);position:relative;border:1px solid #263243;border-radius:10px;overflow:hidden;background:#101a28}canvas{display:block;touch-action:none}.viewtools{position:absolute;top:16px;left:16px;display:flex;gap:6px}.viewtools button{background:#111c2dda;font-size:13px}.gestures{position:absolute;bottom:15px;left:18px;right:18px;pointer-events:none;color:#94a8c2;font-size:12px}#loading{position:absolute;top:45%;width:100%;text-align:center;padding:20px}.display{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #263243}.display label{font-size:14px;display:flex;align-items:center;gap:7px;margin:4px 0;cursor:pointer}input[type=checkbox]{accent-color:#c8ed70;width:15px;height:15px}.display button{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 0;gap:15px}.stats span{display:block;color:#8ea2bd;font-size:13px;margin-bottom:8px}.stats strong{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums}details{border-top:1px solid #263243;padding:17px 0;font-size:14px}summary{cursor:pointer;color:#b6c8df}.notes{line-height:1.8;max-width:960px;color:#aabed7}.equation{font-family:Consolas,monospace;color:#d3eaa9;overflow-wrap:anywhere}#formulas label{display:flex;align-items:center;gap:12px}#formulas input{margin:0;font-family:Consolas,monospace}#formulas span{width:25px;flex-shrink:0}@media(min-width:1300px){aside{padding:30px}main{grid-template-columns:350px minmax(0,1fr)}}@media(max-width:850px){main{grid-template-columns:1fr}.workspace{grid-row:1;padding:20px}aside{border-right:0;border-top:1px solid #263243}header{padding:15px;height:auto}header p{display:none}h1{font-size:16px}header>a{padding:8px}h2{font-size:20px}#viewport{height:440px}.gestures{font-size:11px}.display{gap:13px}.stats strong{font-size:17px}form{max-width:650px;margin:auto}.stats span{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
