@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:#fafafa;--foreground:#202020;--card:#fafafae6;--muted:#f0f0f0;--muted-foreground:#6c6c6c;--border:#dcdcdc;--input:#c9c9c9;--primary:#242424;--primary-foreground:#fafafa;--accent:#c49a42;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--background:#151515;--foreground:#eaeaea;--card:#191919e6;--muted:#202020;--muted-foreground:#a0a0a0;--border:#353535;--input:#484848;--primary:#e5e5e5;--primary-foreground:#1c1c1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:Figtree Variable,system-ui,sans-serif;font-size:14px;overflow:hidden}button,input{font:inherit;color:inherit}.app{grid-template-rows:auto 1fr;height:100dvh;display:grid}.bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{align-items:baseline;gap:14px;min-width:0;display:flex}.number{color:var(--muted-foreground);font-family:ui-monospace,monospace;font-size:11px}h1{letter-spacing:-.01em;font-size:17px;font-weight:600}.brand p{color:var(--muted-foreground);font-size:13px}.bar-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.credit{color:var(--muted-foreground);border-bottom:1px solid var(--border);font-size:12px;text-decoration:none}.credit:hover{color:var(--foreground)}.icon-button{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--foreground);background:0 0;place-items:center;display:grid}.stage{grid-template-columns:1fr 320px;min-height:0;display:grid}.viewport{min-height:0;position:relative;overflow:hidden}#scene{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}#scene.orbiting{cursor:grabbing}.stats{background:var(--card);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;width:280px;padding:12px 14px;position:absolute;top:16px;left:16px}.stat-row{grid-template-columns:1.3fr 1fr 1fr;gap:8px;display:grid}.stat{flex-direction:column;display:flex}.label{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.live{color:var(--muted-foreground);font-variant-numeric:tabular-nums;margin-top:8px;font-family:ui-monospace,monospace;font-size:11.5px}.results{font-variant-numeric:tabular-nums;margin-top:8px;padding:0;font-size:12px;list-style:none}.results:empty{display:none}.results li{border-top:1px solid var(--border);grid-template-columns:34px 1fr 1fr 1fr;gap:6px;padding:3px 0;display:grid}.results li span:not(:first-child){text-align:right;color:var(--muted-foreground)}.results li.fresh{animation:1.2s ease-out fresh}@keyframes fresh{0%{background:color-mix(in srgb, var(--accent) 30%, transparent)}}.record{color:var(--muted-foreground);margin-top:6px;font-size:11.5px}.record:empty{display:none}.hint{text-align:center;max-width:calc(100% - 32px);color:var(--muted-foreground);pointer-events:none;font-size:12px;transition:opacity .6s;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.formula{color:var(--muted-foreground);pointer-events:none;font-family:ui-monospace,monospace;font-size:10px;position:absolute;bottom:16px;right:16px}.panel{border-left:1px solid var(--border);min-height:0;overflow-y:auto}.drawer-head{display:none}.panel-body section{border-bottom:1px solid var(--border);gap:10px;padding:16px 20px;display:grid}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.key{letter-spacing:0;text-transform:none;color:var(--muted-foreground);border:1px solid var(--border);padding:0 4px;font-family:ui-monospace,monospace;font-size:10px;font-weight:400}.coin-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.coin-button{border:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:4px;padding:8px 0 6px;font-size:12px;font-weight:500;display:flex}.coin-button:hover{background:var(--muted)}.coin-button.active{border-color:var(--foreground);background:var(--muted)}.coin-face{background:var(--face);display:block;box-shadow:inset 0 0 0 1.5px #00000030,inset -2px -2px 3px #00000025,inset 2px 2px 3px #ffffff50}.coin-face.round{border-radius:50%}.spec{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12px}.segmented{border:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.segmented.two{grid-template-columns:1fr 1fr}.segmented button{cursor:pointer;background:0 0;border:0;padding:7px 0;font-size:12.5px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--primary);color:var(--primary-foreground)}.slider{gap:6px;font-size:13px;display:grid}.slider span{justify-content:space-between;display:flex}output{font-variant-numeric:tabular-nums;color:var(--muted-foreground)}input[type=range]{width:100%;accent-color:var(--primary)}.switch-row{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.switch-row input{accent-color:var(--primary)}.switch-row .key{margin-left:4px}.prediction{color:var(--muted-foreground);min-height:1.4em;font-size:12px}.prediction b{color:var(--foreground);font-weight:600}.actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.actions button{border:1px solid var(--input);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;padding:9px 8px;font-size:13px}.actions button:hover{background:var(--muted)}.actions button.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.actions button.primary .key{color:inherit;opacity:.6;border-color:currentColor}.actions button.held{background:var(--accent);border-color:var(--accent);color:#1c1c1c}@media (width<=860px){.bar{padding:10px 16px}.brand p,.credit,.formula{display:none}.stage{display:block;position:relative}.viewport{height:100%}.panel{z-index:2;border:1px solid var(--border);max-height:82%;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--background) 55%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);border-bottom:0;border-radius:16px 16px 0 0;flex-direction:column;transition:transform .38s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 30px #0000001a}.panel.collapsed{transform:translateY(calc(100% - var(--peek,96px)))}.drawer-head{flex-shrink:0;padding:0 16px 12px;display:block}.grabber{cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;width:100%;height:26px;display:grid}.grabber span{background:var(--muted-foreground);opacity:.5;border-radius:3px;width:40px;height:5px}.quick{grid-template-columns:1.1fr 1fr 1fr;gap:6px;display:grid}.quick button{border:1px solid var(--input);background:color-mix(in srgb, var(--background) 60%, transparent);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;padding:11px 6px;font-size:13.5px;font-weight:500}.quick button.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.quick button.held,.quick button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#1c1c1c}.panel-body{overscroll-behavior:contain;border-top:1px solid var(--border);overflow-y:auto}.panel-body section{background:0 0;padding:12px 16px}.panel-body section:last-child{border-bottom:0}.stats{width:auto;padding:8px 10px;top:10px;left:10px;right:10px}.stats .results,.stats .record{display:none}.value{font-size:18px}.hint{bottom:calc(var(--peek,96px) + 10px);font-size:11px}.actions button{-webkit-touch-callout:none}}
