*{box-sizing:border-box}
html,body{margin:0}
body{background-color:var(--bg);background-image:var(--ambient);background-attachment:fixed;background-repeat:no-repeat;color:var(--ink);font:400 var(--fs-base)/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.03em;margin:0;line-height:1.25}
h2{font-size:var(--fs-md);font-weight:600;letter-spacing:-.015em;margin:0;line-height:1.3}
h3{font-size:13.5px;font-weight:600;margin:0;line-height:1.3}
[hidden]{display:none!important}
.num,td.num,.tn{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
svg.i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
:is(button,input,select,textarea):focus-visible{outline:none;box-shadow:var(--glow-ring)}
@keyframes rise{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{to{background-position:-200% 0}}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.rise{animation:rise .2s var(--ease) both}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
kbd{font:500 11px var(--font-mono);box-shadow:0 0 0 1px var(--edge);border-radius:6px;padding:1px 6px;color:var(--muted);background:var(--surface3)}
.sr{position:absolute;left:-9999px}

