@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 700;font-display:swap;src:url(/_/fonts/inter-tight-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Inter Tight";font-style:normal;font-weight:400 700;font-display:swap;src:url(/_/fonts/inter-tight-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 500;font-display:swap;src:url(/_/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"JetBrains Mono";font-style:normal;font-weight:400 500;font-display:swap;src:url(/_/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#141412;--ink:#ecebe4;--muted:#8a877e;--line:#2a2925;--accent:#ff6a2b;--radius:12px;--gap:12px;--font-text:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Inter Tight",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font:16px/1.45 var(--font-text);font-optical-sizing:auto}
[hidden]{display:none!important}
.h-stack{display:flex;flex-direction:column;gap:var(--gap)}
.h-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap)}
.h-center{min-height:100dvh;display:grid;place-items:center;padding:24px}
.h-display{font:700 clamp(40px,12vw,96px)/.95 var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.h-label{font:400 12px/1.5 var(--font-mono);color:var(--muted)}
.h-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.h-btn{min-height:44px;min-width:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:500 15px var(--font-text);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform 150ms cubic-bezier(.25,.46,.45,.94),border-color 150ms ease,background-color 150ms ease}
.h-btn:active{transform:scale(.97)}
.h-btn.is-primary{background:var(--ink);color:#0c0c0a;border-color:var(--ink)}
.h-input{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:16px var(--font-text)}
.h-range{width:100%;accent-color:var(--accent);touch-action:pan-y}
@media (hover:hover) and (pointer:fine){.h-btn:hover{border-color:#4a4843}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}