:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-canvas:var(--lightningcss-light,oklch(94.8% .016 92))var(--lightningcss-dark,oklch(19% .01 250));--color-surface:var(--lightningcss-light,oklch(97.6% .01 92))var(--lightningcss-dark,oklch(24% .011 252));--color-ink:var(--lightningcss-light,oklch(30% .011 262))var(--lightningcss-dark,oklch(92% .006 250));--color-ink-muted:var(--lightningcss-light,oklch(50% .012 260))var(--lightningcss-dark,oklch(70% .009 252));--color-accent:var(--lightningcss-light,oklch(48% .145 33))var(--lightningcss-dark,oklch(66% .135 36));--color-accent-ink:var(--lightningcss-light,oklch(98% .008 92))var(--lightningcss-dark,oklch(17% .01 250));--color-danger:var(--lightningcss-light,oklch(41% .092 46))var(--lightningcss-dark,oklch(72% .105 52));--color-edge:var(--lightningcss-light,oklch(84% .022 248))var(--lightningcss-dark,oklch(31% .014 252));--color-edge-strong:var(--lightningcss-light,oklch(56% .03 250))var(--lightningcss-dark,oklch(58% .026 252));--font-display:"Newsreader", "GT Sectra", Georgia, "Times New Roman", serif;--font-body:"Inter Tight", "Public Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--text-caption:clamp(.75rem, .72rem + .14vw, .8125rem);--text-body:clamp(.9375rem, .91rem + .16vw, 1rem);--text-lead:clamp(1.0625rem, 1.01rem + .32vw, 1.25rem);--text-title:clamp(1.5rem, 1.28rem + 1.05vw, 2.125rem);--text-display:clamp(2.1rem, 1.2rem + 3.2vw, 4.9rem);--space-hair:.25rem;--space-tight:.5rem;--space-snug:.75rem;--space-base:1.125rem;--space-loose:1.75rem;--space-section:3rem;--space-chapter:5.5rem;--space-breath:9rem;--radius-control:.4375rem;--radius-card:.875rem;--radius-media:.1875rem;--radius-pill:999px;--duration-instant:90ms;--duration-quick:.17s;--duration-settled:.38s;--duration-stagger:70ms;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@font-face{font-family:Newsreader;font-style:normal;font-display:block;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.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}@font-face{font-family:Inter Tight;font-style:normal;font-display:block;font-weight:100 900;src:url(/assets/inter-tight-latin-wght-normal-DX-nOvPD.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}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:block;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}*{box-sizing:border-box}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);text-wrap:pretty;margin:0;line-height:1.55}:focus-visible{outline:2px solid var(--color-edge-strong);outline-offset:2px}.app{gap:var(--space-section);height:100vh;padding:var(--space-loose) clamp(var(--space-base), 4vw, var(--space-section));flex-direction:column;display:flex}.top{justify-content:space-between;align-items:baseline;gap:var(--space-base);flex-flow:wrap;display:flex}h1{font-family:var(--font-display);font-weight:300;font-size:var(--text-title);font-variation-settings:"opsz" 40;letter-spacing:-.03em;text-wrap:balance;margin:0}.right{align-items:center;gap:var(--space-base);flex-wrap:wrap;display:flex}.spent{font-family:var(--font-mono);font-size:var(--text-caption);font-variant-numeric:tabular-nums;color:var(--color-accent)}.toggle{align-items:center;gap:var(--space-hair);font-size:var(--text-caption);color:var(--color-ink-muted);display:flex}form{gap:var(--space-tight);flex-wrap:wrap;display:flex}form input{padding:var(--space-tight) var(--space-snug);border:1px solid var(--color-edge-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:inherit;flex:16rem}form input::placeholder{color:var(--color-ink-muted)}button{padding:var(--space-tight) var(--space-base);border:1px solid var(--color-edge-strong);border-radius:var(--radius-control);background:var(--color-ink);color:var(--color-canvas);font:inherit;cursor:pointer;transition:background var(--duration-quick) var(--ease-out);font-weight:650}button:hover:not(:disabled){background:color-mix(in oklch, var(--color-ink) 86%, var(--color-canvas))}button:disabled{opacity:.42;cursor:default}.ghost{padding:var(--space-hair) var(--space-snug);border-color:var(--color-edge);color:var(--color-ink);font-size:var(--text-caption);background:0 0;font-weight:400}.ghost:hover:not(:disabled){background:color-mix(in oklch, var(--color-ink) 6%, transparent)}.panes{gap:var(--space-base);flex:1;grid-template-columns:1fr;min-height:0;display:grid}.panes:not(.duel) .col{gap:var(--space-loose);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,27fr) minmax(0,73fr);display:grid}.panes.duel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr 1fr}.panes.duel .col{grid-row:span 2;grid-template-rows:subgrid;display:grid}@media (width<=56rem){.panes,.panes.duel{grid-template-rows:auto minmax(12rem,1fr);grid-template-columns:1fr}.panes:not(.duel) .col{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}}@media (height<=50rem){.app{gap:var(--space-base);padding-block:var(--space-base)}.ask{gap:var(--space-hair)}.tries ol{max-height:6rem}}.col{gap:var(--space-base);flex-direction:column;min-width:0;min-height:0;display:flex}.ask{gap:var(--space-tight);flex-direction:column;min-width:0;min-height:0;display:flex}.ask form{flex-direction:column;align-items:flex-start}.ask textarea{align-self:stretch}textarea{padding:var(--space-tight) var(--space-snug);border:1px solid var(--color-edge-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:inherit;resize:vertical;line-height:1.5}textarea::placeholder{color:var(--color-ink-muted)}.tries{gap:var(--space-hair);flex-direction:column;min-height:0;display:flex}.tries ol{min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.tries li+li{margin-top:2px}.try{width:100%;padding:var(--space-hair) var(--space-tight);border-radius:var(--radius-control);color:var(--color-ink-muted);font:inherit;font-size:var(--text-caption);text-align:start;cursor:pointer;background:0 0;border:0;font-weight:400;display:block}.try:hover:not(:disabled){background:color-mix(in oklch, var(--color-ink) 7%, transparent);color:var(--color-ink)}.try.on{color:var(--color-ink);box-shadow:inset 2px 0 0 var(--color-accent)}.quiet{margin:var(--space-hair) 0 0;font-size:var(--text-caption)}.label{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;color:var(--color-accent);font-weight:700}.pane{gap:var(--space-hair);flex-direction:column;min-width:0;min-height:0;display:flex}.pane-top,.sheet-top{justify-content:space-between;align-items:center;gap:var(--space-tight);min-height:1.6rem;display:flex}h2{font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted);margin:0;font-weight:650}.tabs{gap:var(--space-hair);scrollbar-width:thin;display:flex;overflow-x:auto}.tab{padding:2px var(--space-tight);border-radius:var(--radius-control);color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-caption);white-space:nowrap;background:0 0;border:0;font-weight:400}.tab:hover:not(.on){background:color-mix(in oklch, var(--color-ink) 7%, transparent)}.tab.on{box-shadow:inset 0 -2px 0 var(--color-accent);color:var(--color-accent);background:0 0;border-radius:0}.code,.preview{border:1px solid var(--color-edge);background:var(--color-surface);flex:1;min-height:0}.code{padding:var(--space-snug);border-radius:var(--radius-card);font-family:var(--font-mono);font-size:var(--text-caption);white-space:pre-wrap;word-break:break-word;tab-size:2;margin:0;line-height:1.7;overflow:auto}.preview{border-radius:var(--radius-media);width:100%}.preview.hint p{margin:0}.hint{align-content:center;place-items:center;gap:var(--space-hair);padding:var(--space-base);color:var(--color-ink-muted);font-family:var(--font-body);text-align:center;display:grid}.error,.warn{padding:var(--space-tight) var(--space-snug);border-radius:var(--radius-control);font-size:var(--text-caption)}.error p,.warn p{margin:0}.link{margin-top:var(--space-hair);color:inherit;font:inherit;font-size:var(--text-caption);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.detail{margin:var(--space-hair) 0 0;max-height:9rem;font-family:var(--font-mono);font-size:var(--text-caption);white-space:pre-wrap;word-break:break-word;line-height:1.55;overflow:auto}.actions{gap:var(--space-tight);flex-wrap:wrap;align-items:center;display:flex}.meta{font-size:var(--text-caption);color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.working{gap:var(--space-tight);padding:var(--space-base);flex-direction:column;justify-content:center;place-items:center;display:flex}.working .hint{padding:0}.written{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--color-ink-muted);text-align:center;margin:0;padding:0;list-style:none}.error{background:color-mix(in oklch, var(--color-danger) 10%, var(--color-canvas));color:var(--color-danger)}.warn{background:color-mix(in oklch, var(--color-ink) 7%, var(--color-canvas));color:var(--color-ink)}.scrim{z-index:9;background:color-mix(in oklch, var(--color-ink) 34%, transparent);position:fixed;inset:0}.sheet{z-index:10;gap:var(--space-tight);max-width:62rem;padding:var(--space-loose);border:1px solid var(--color-edge-strong);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 1.5rem 4rem color-mix(in oklch, var(--color-ink) 22%, transparent);flex-direction:column;margin-inline:auto;display:flex;position:fixed;inset:5vh 8vw;overflow:auto}.sheet .hint,.sheet .code{flex:1}@media (prefers-reduced-motion:no-preference){header{animation:rise var(--duration-settled) var(--ease-out) both}.panes{animation:rise var(--duration-settled) var(--ease-out) var(--duration-stagger) both}}@keyframes rise{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:none}}.gate{min-height:100vh;padding:var(--space-base);place-items:center;display:grid}.gate form{gap:var(--space-base);flex-direction:column;width:min(26rem,100%);display:flex}.gate h1{font-size:var(--text-title)}.gate .lead{margin:calc(var(--space-base) * -1 + var(--space-hair)) 0 0;color:var(--color-ink-muted)}.gate label{gap:var(--space-hair);font-size:var(--text-caption);color:var(--color-ink-muted);flex-direction:column;font-weight:650;display:flex}.gate input{padding:var(--space-tight) var(--space-snug);border:1px solid var(--color-edge-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-body);font-weight:400}.entry input{flex:none}.gate .meta{font-weight:400;line-height:1.45}.gate button{align-self:flex-start}.panel{gap:var(--space-base);min-height:100vh;padding:var(--space-loose) clamp(var(--space-base), 4vw, var(--space-section));flex-direction:column;display:flex}.brake,.release{padding:var(--space-tight) var(--space-loose);font-size:var(--text-lead)}.brake{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-canvas)}.brake:hover:not(:disabled){background:color-mix(in oklch, var(--color-danger) 86%, black)}.release{background:var(--color-surface);color:var(--color-ink)}.room{gap:var(--space-snug);flex-direction:column;display:flex}.stripe{border-radius:var(--radius-control);gap:3px;height:3.5rem;display:flex;overflow:hidden}.stripe span{display:block}.stripe .on-track{background:var(--color-ink)}.stripe .is-stuck{background:var(--color-accent)}.stripe .not-started{background:var(--color-edge)}.says{font-family:var(--font-display);font-size:var(--text-title);letter-spacing:-.02em;margin:0;font-weight:300}.seats{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.seat{align-items:center;gap:var(--space-snug);padding:var(--space-hair) var(--space-tight);border-radius:var(--radius-control);font-size:var(--text-caption);display:flex}.seat.stuck{background:color-mix(in oklch, var(--color-accent) 9%, transparent)}.seat .who{flex:1;font-weight:650}.seat .kr{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink-muted)}.course{align-items:flex-end;gap:var(--space-snug);padding-top:var(--space-base);border-top:1px solid var(--color-edge);flex-wrap:wrap;margin-top:auto;display:flex}.course label{gap:var(--space-hair);font-size:var(--text-caption);color:var(--color-ink-muted);flex-direction:column;display:flex}.course input{padding:var(--space-tight) var(--space-snug);border:1px solid var(--color-edge-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:inherit}.course .meta{flex:1;min-width:14rem}.says .also{color:var(--color-ink-muted)}.about a,.about-link{color:var(--color-ink-muted);text-underline-offset:.2em}.about a:hover,.about-link:hover{color:var(--color-ink)}.gate .about-link{align-self:flex-start}.about{gap:var(--space-section);max-width:72rem;min-height:100vh;padding:var(--space-section) clamp(var(--space-base), 5vw, var(--space-chapter));flex-direction:column;display:flex}.about .lead{max-width:34rem;margin:var(--space-tight) 0 0;font-size:var(--text-lead);color:var(--color-ink-muted)}.about-body{gap:var(--space-section) var(--space-chapter);grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}.about-body>div{gap:var(--space-loose);flex-direction:column;display:flex}.about section{max-width:36rem}.about section p{margin:var(--space-tight) 0 0}.about ol,.about ul{gap:var(--space-tight);margin:var(--space-tight) 0 0;flex-direction:column;padding-left:1.25rem;display:flex}.about li::marker{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-caption)}.about footer{gap:var(--space-base);padding-top:var(--space-base);border-top:1px solid var(--color-edge);align-items:baseline;margin-top:auto;display:flex}.about footer p{margin:0}@media (width<=56rem){.about{gap:var(--space-loose);padding-block:var(--space-loose)}.about-body{gap:var(--space-loose);grid-template-columns:1fr}}
