:root{--bg: #0b0e1a;--surface-1: #141829;--surface-2: #1c2136;--surface-3: #252b45;--line: rgba(255, 255, 255, .08);--text: #f2efe8;--muted: #9a9db3;--moon: #f4d58d;--on-moon: #1a1406;--ember: #e8956b;--focus: #f2b45a;--glass: rgba(20, 24, 41, .62);--paper: #f6f1e7;--desk: #0f1433;--desk-glow: #27326e;--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Literata", Georgia, "Times New Roman", serif;--r-cover: 6px;--r-card: 16px;--r-sheet: 28px;--shadow-cover: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px -8px rgba(0, 0, 0, .6);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--gutter: 16px;--tabbar-h: 64px;color-scheme:dark}@media(min-width:768px){:root{--gutter: 32px}}@media(min-width:1200px){:root{--gutter: 56px}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}html{background:var(--bg)}body{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.display{font-family:var(--font-display);font-variation-settings:"SOFT" 50,"WONK" 0;font-optical-sizing:auto;letter-spacing:-.01em}@view-transition{navigation:auto}::view-transition-group(*){animation-duration:.4s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation:vt-out .16s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:vt-in .3s cubic-bezier(.2,.8,.2,1) .05s both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}.tabbar{view-transition-name:tabbar}::view-transition-group(tabbar){animation:none;border-radius:999px;overflow:clip}::view-transition-old(tabbar){animation:none;opacity:0}::view-transition-new(tabbar){animation:none;clip-path:inset(0 round 999px)}::view-transition-image-pair(*){isolation:auto}::view-transition-old(*):not(:only-child),::view-transition-new(*):not(:only-child){height:100%;object-fit:cover;overflow:clip}::view-transition-old(*):not(:only-child){animation:vt-fade-out .2s ease-in both}::view-transition-new(*):not(:only-child){animation:none}@keyframes vt-fade-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}.sky{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.sky i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.5;animation:twinkle 5s ease-in-out infinite}@keyframes twinkle{50%{opacity:.12}}@media(prefers-reduced-motion:reduce){.sky i{animation:none}}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:0;font:600 15px/1 var(--font-ui);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .12s cubic-bezier(.2,0,0,1),background-color .2s,box-shadow .2s}.btn:active{transform:scale(.96)}.btn-primary{background:var(--moon);color:var(--on-moon);box-shadow:0 8px 24px -8px #f4d58d8c}.btn-glass{background:#ffffff1f;color:var(--text);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px #ffffff1f}.icon-round{width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;padding:0;background:#ffffff14;color:var(--text);text-decoration:none;transition:transform .12s,background-color .2s}.icon-round:active{transform:scale(.92)}.icon-round[aria-pressed=true]{color:var(--ember)}.painted-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(11,14,26,.35),rgba(11,14,26,.82) 55%,var(--bg)),url(/art/bg-sky.webp) center top / cover no-repeat,var(--bg)}body:has(.painted-bg){background:transparent}body:has(.home) .painted-bg{background:radial-gradient(90% 38% at 50% 0,rgba(39,50,110,.35),transparent 70%),linear-gradient(to bottom,rgba(11,14,26,.86) 0,rgba(11,14,26,.7) 260px,rgba(11,14,26,.8) 560px,var(--bg) 900px),url(/art/bg-sky.webp) center top / cover no-repeat,var(--bg)}.painted-bg.moon{background:linear-gradient(to bottom,rgba(11,14,26,.2) 0,rgba(11,14,26,.72) calc(min(100vw,960px)*.45),var(--bg) calc(min(100vw,960px)*.72)),url(/art/bg-moon.webp) center top / min(100vw,960px) auto no-repeat,var(--bg)}dialog.sheet{overscroll-behavior:contain;will-change:transform}dialog.sheet .grabber,dialog.sheet .sheet-head,dialog.sheet h2{touch-action:none}dialog.sheet form{max-height:88vh;max-height:88dvh;overflow-y:auto}dialog.sheet .grabber{position:relative}dialog.sheet .grabber:after{content:"";position:absolute;inset:-14px -60px}dialog.sheet::backdrop{transition:opacity .26s}dialog.sheet.closing::backdrop{opacity:0}@property --fade-l{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --fade-r{syntax: "<length>"; inherits: false; initial-value: 0px;}.edge-fade{--fade-w: calc(var(--gutter) + 28px);--fade-run: 48px;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent)}@supports (animation-timeline: scroll()){.edge-fade:not(.edge-fade-js){animation:edge-fade-l linear both,edge-fade-r linear both;animation-timeline:scroll(self inline),scroll(self inline);animation-range:0px var(--fade-run),calc(100% - var(--fade-run)) 100%}}@keyframes edge-fade-l{0%{--fade-l: 0px}to{--fade-l: var(--fade-w)}}@keyframes edge-fade-r{0%{--fade-r: var(--fade-w)}to{--fade-r: 0px}}.edge-fade-js{transition:--fade-l .3s var(--ease-out, ease),--fade-r .3s var(--ease-out, ease)}.edge-fade-js.fade-l{--fade-l: var(--fade-w)}.edge-fade-js.fade-r{--fade-r: var(--fade-w)}.chip-audio{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex:none}img.sk-loading{background-color:#7880aa29;background-image:linear-gradient(100deg,#fff0 30%,#ffffff24,#fff0 70%);background-size:220% 100%;background-repeat:no-repeat;animation:sk-shimmer 1.4s ease-in-out infinite;color:transparent}img.sk-in{animation:sk-in .4s ease-out both}@keyframes sk-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes sk-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){img.sk-loading,img.sk-in{animation:none}}
