@layer tokens{:root{--font-display:"Fraunces Variable", "Fraunces", "Iowan Old Style", "Apple Garamond", Georgia, "Times New Roman", serif;--font-ui:"Geist Variable", "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Geist Mono", monospace;--font-numeric:ui-monospace, "SF Mono", "Cascadia Code", "Geist Mono", monospace;--text-xs:clamp(.75rem, .72rem + .12vw, .8125rem);--text-sm:clamp(.875rem, .85rem + .14vw, .9375rem);--text-md:clamp(1rem, .96rem + .18vw, 1.0625rem);--text-lg:clamp(1.125rem, 1.08rem + .22vw, 1.1875rem);--text-xl:clamp(1.375rem, 1.3rem + .36vw, 1.5rem);--text-2xl:clamp(1.75rem, 1.58rem + .82vw, 2rem);--text-3xl:clamp(2.25rem, 1.94rem + 1.55vw, 2.75rem);--text-4xl:clamp(3rem, 2.48rem + 2.6vw, 3.75rem);--text-5xl:clamp(4.5rem, 3.6rem + 4.5vw, 6rem);--text-hero:clamp(6rem, 15vw + 2rem, 15rem);--leading-none:1;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tightest:-.08em;--tracking-tighter:-.05em;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.02em;--tracking-wider:.06em;--tracking-widest:.14em;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-10:3rem;--space-12:4rem;--space-16:5rem;--space-20:6rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--duration-instant:80ms;--duration-exit-fast:.12s;--duration-fast:.14s;--duration-normal:.22s;--duration-slow:.36s;--duration-slower:.52s;--duration-hero:.64s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.64, 0, .78, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-snap:cubic-bezier(.85, 0, .15, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1);--ease-spring:linear(0, .32 8%, .62 16%, .88 24%, 1.02 30%, 1.08 36%, 1.04 46%, .99 58%, 1 72%, 1);--ease-bounce:linear(0, .46 13%, .88 26%, 1 32%, .88 38%, .98 44%, 1.02 56%, .995 68%, 1);--z-base:0;--z-raised:10;--z-sticky:20;--z-drawer:40;--z-modal:100;--z-max:1000}.app-shell{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-0:oklch(98.5% .008 85);--surface-1:oklch(96.5% .01 85);--surface-2:oklch(93.5% .011 85);--surface-3:oklch(90% .012 85);--surface-4:oklch(85% .012 85);--surface-5:oklch(75% .013 85);--surface-6:oklch(60% .018 255);--surface-7:oklch(46% .02 255);--surface-8:oklch(35% .02 255);--surface-9:oklch(26% .018 255);--surface-10:oklch(18% .015 255);--surface-11:oklch(13% .013 255);--accent-primary:oklch(34% .11 260);--accent-strong:oklch(26% .13 260);--accent-soft:oklch(94% .035 260);--accent-muted:oklch(55% .09 260);--accent-on:oklch(98.5% .008 85);--success:oklch(48% .12 150);--success-soft:oklch(94% .04 150);--warning:oklch(62% .14 70);--warning-soft:oklch(95% .05 70);--danger:oklch(45% .17 25);--danger-soft:oklch(94% .06 25);--info:var(--accent-primary);--info-soft:var(--accent-soft);--text-primary:var(--surface-10);--text-secondary:var(--surface-8);--text-muted:var(--surface-7);--text-inverse:var(--surface-0);--text-on-accent:var(--accent-on);--border-subtle:var(--surface-4);--border-default:var(--surface-4);--border-strong:var(--surface-5);--border-accent:color-mix(in oklch, var(--accent-primary) 65%, transparent);--bg-base:var(--surface-0);--bg-raised:var(--surface-1);--bg-sunken:var(--surface-2);--elevation-1:0 1px 0 var(--surface-4);--elevation-2:0 1px 2px oklch(0% 0 0/.05);--elevation-3:0 6px 20px -6px oklch(0% 0 0/.1), 0 1px 2px oklch(0% 0 0/.04);--elevation-4:0 12px 36px -8px oklch(0% 0 0/.12), 0 2px 4px oklch(0% 0 0/.05);--elevation-5:0 24px 64px -12px oklch(0% 0 0/.18), 0 4px 8px oklch(0% 0 0/.06);--scrim-subtle:oklch(15% .015 70/.3);--scrim-default:oklch(15% .015 70/.5);--scrim-strong:oklch(15% .015 70/.7);--paper-0:var(--surface-0);--paper-1:var(--surface-1);--paper-2:var(--surface-2);--ink-0:var(--surface-10);--ink-1:var(--surface-8);--ink-2:var(--surface-7);--rule:var(--surface-4);--bg-page:var(--bg-base);--bg-elevated:var(--bg-raised);--bg-elevated-strong:var(--bg-raised);--bg-soft:var(--surface-2);--bg-strong:var(--accent-primary);--accent:var(--accent-primary);--border-soft:var(--border-subtle);--shadow-soft:var(--elevation-2);--shadow-strong:var(--elevation-4);--motion-fast:var(--duration-fast);--motion-normal:var(--duration-normal);--motion-slow:var(--duration-slow);--button-fg:var(--accent-on)}.app-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-0:oklch(14% .015 70);--surface-1:oklch(18% .015 70);--surface-2:oklch(22% .017 70);--surface-3:oklch(27% .015 70);--surface-4:oklch(32% .015 70);--surface-5:oklch(42% .014 70);--surface-6:oklch(58% .015 85);--surface-7:oklch(70% .014 85);--surface-8:oklch(80% .013 85);--surface-9:oklch(87% .012 85);--surface-10:oklch(93% .011 85);--surface-11:oklch(97% .008 85);--accent-primary:oklch(76% .11 258);--accent-strong:oklch(84% .13 258);--accent-soft:oklch(33% .09 258/.6);--accent-muted:oklch(58% .1 258);--accent-on:oklch(14% .015 70);--success:oklch(72% .13 150);--success-soft:oklch(28% .07 150/.5);--warning:oklch(78% .13 70);--warning-soft:oklch(30% .07 70/.5);--danger:oklch(70% .16 25);--danger-soft:oklch(30% .08 25/.5);--info:var(--accent-primary);--info-soft:var(--accent-soft);--text-primary:var(--surface-10);--text-secondary:var(--surface-8);--text-muted:var(--surface-6);--text-inverse:var(--surface-0);--text-on-accent:var(--accent-on);--border-subtle:var(--surface-4);--border-default:var(--surface-4);--border-strong:var(--surface-5);--border-accent:color-mix(in oklch, var(--accent-primary) 50%, transparent);--bg-base:var(--surface-0);--bg-raised:var(--surface-1);--bg-sunken:var(--surface-0);--elevation-1:0 1px 0 var(--surface-4);--elevation-2:0 1px 2px oklch(0% 0 0/.4);--elevation-3:0 6px 20px -6px oklch(0% 0 0/.5), 0 1px 2px oklch(0% 0 0/.35);--elevation-4:0 12px 36px -8px oklch(0% 0 0/.55), 0 2px 4px oklch(0% 0 0/.4);--elevation-5:0 24px 64px -12px oklch(0% 0 0/.65), 0 4px 8px oklch(0% 0 0/.5);--scrim-subtle:oklch(0% 0 0/.4);--scrim-default:oklch(0% 0 0/.6);--scrim-strong:oklch(0% 0 0/.8);--paper-0:var(--surface-0);--paper-1:var(--surface-1);--paper-2:var(--surface-2);--ink-0:var(--surface-10);--ink-1:var(--surface-8);--ink-2:var(--surface-6);--rule:var(--surface-4);--bg-page:var(--bg-base);--bg-elevated:var(--bg-raised);--bg-elevated-strong:var(--bg-raised);--bg-soft:var(--surface-3);--bg-strong:var(--accent-primary);--accent:var(--accent-primary);--border-soft:var(--border-subtle)}}@layer base{*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-height:100dvh;font-family:var(--font-ui);background:var(--bg-page);color:var(--text-primary);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,select{font:inherit;border-radius:var(--radius-sm)}button{background:var(--accent);color:var(--button-fg);cursor:pointer;transition:transform var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);border:1px solid #0000}button:hover{background:var(--accent-strong)}button:active{transform:translateY(1px)}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.6}input,select{border:1px solid var(--border-default);background:var(--bg-raised);width:100%;min-height:3rem;color:var(--text-primary);padding:.75rem .9rem}input[type=number]{text-align:center;font-variant-numeric:tabular-nums}a{color:inherit}::selection{background:var(--accent-soft);color:var(--text-primary)}:root{accent-color:var(--accent-primary);caret-color:var(--accent-primary)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding-left:1.2rem}#root{min-height:100dvh}dialog{background:0 0;border:0;padding:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer layout{.app-shell{background:var(--bg-page);min-height:100dvh;color:var(--text-primary);position:relative;overflow:clip}.app-shell--loading,.app-error{place-items:center;display:grid}.app{z-index:1;width:min(100% - 1.5rem,88rem);height:100dvh;min-height:100dvh;max-height:100dvh;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) env(safe-area-inset-right,0px) calc(var(--space-2) + env(safe-area-inset-bottom,0px)) env(safe-area-inset-left,0px);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:auto}.controlbar{border:0;border-top:1px solid var(--rule);box-shadow:none;padding:var(--space-2) var(--space-4);gap:var(--space-3);background:0 0;border-radius:0;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.categories-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.banner,.app-loading,.app-error{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:none}.controlbar__brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.controlbar__actions{justify-content:end;align-items:center;gap:var(--space-2);display:flex}.play-grid{gap:var(--space-4);overscroll-behavior:contain;flex:auto;align-items:stretch;min-height:0;display:grid;overflow:auto}.categories-card{gap:var(--space-4);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.categories-card--collapsed{grid-template-rows:auto;align-self:start}.categories-card__chevron{transition:transform var(--duration-normal) var(--ease-out)}.categories-card[data-open=true] .categories-card__chevron{transform:rotate(180deg)}.categories-card__content{animation:deck-expand var(--duration-normal) var(--ease-out) both}@keyframes deck-expand{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.categories-card__chevron{transition:none}.categories-card__content{animation:none}}.categories-card__content,.custom-categories,.drawn-categories{gap:var(--space-4);min-height:0;display:grid}.categories-card__content{grid-template-rows:auto}.categories-card__content--prompts-first{grid-template-rows:minmax(0,1fr)}.drawn-categories{grid-template-rows:minmax(0,1fr);overflow-y:auto}.categories-card__header-actions{align-items:center;gap:var(--space-1);display:inline-flex}.custom-list{min-height:0;overflow:auto}.app-loading,.app-error{width:min(100% - 2rem,34rem);padding:var(--space-7);text-align:center;gap:var(--space-3);margin:auto;display:grid}@media (width>=64rem){.app-shell{display:block}.app{width:min(100% - 2rem,72rem);padding-left:max(env(safe-area-inset-left,0px), 0px);padding-right:max(env(safe-area-inset-right,0px), 0px)}}@media (width>=52rem){.app{padding:var(--space-5) 0 var(--space-2);gap:var(--space-5)}.controlbar{grid-template-columns:minmax(0,1.3fr) auto}.play-grid{grid-template-columns:minmax(0,1fr) minmax(24rem,1.25fr);min-height:min(42rem,100dvh - 18rem)}.categories-card{border-left:1px solid var(--rule);padding-left:var(--space-5)}.play-grid--deck-collapsed{grid-template-columns:minmax(0,1fr);align-items:start}.play-grid--deck-collapsed .playmat,.play-grid--deck-collapsed .categories-card{grid-area:1/1}.play-grid--deck-collapsed .categories-card{place-self:start end}.categories-card[data-open=true] .categories-card__chevron{transform:rotate(-90deg)}.categories-card[data-open=false] .categories-card__chevron{transform:rotate(90deg)}}@media (width<=51.99rem){.app{gap:var(--space-2);width:min(100% - 1rem,38rem)}.controlbar h1{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.play-grid{gap:var(--space-3);grid-template-rows:auto minmax(0,1fr);padding-right:.1rem}.play-grid--deck-collapsed{grid-template-rows:auto auto;align-content:start}.playmat,.categories-card{position:relative}.controlbar{padding:var(--space-1) var(--space-4)}.categories-card{border-top:1px solid var(--rule);padding-top:var(--space-2);gap:var(--space-2)}.play-grid--deck-collapsed .categories-card{padding-top:var(--space-3);border-top:0}.play-grid--deck-collapsed .categories-card__heading{border-top:1px solid var(--rule);padding-top:var(--space-2)}}}@layer components{.controlbar h1,.app-error h1,.app-loading h1{font-family:var(--font-display);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-primary);font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:500;line-height:1}.controlbar h1{font-size:clamp(1rem,1.6vw,1.25rem)}.brand-mark{color:var(--accent-primary);-webkit-user-select:none;user-select:none;flex:none;place-items:center;display:inline-grid}.brand-mark__glyph{transform-box:view-box;transform-origin:0 0}.controlbar__brand--rolling .brand-mark__glyph{animation:brand-glyph-roll calc(3 * var(--duration-fast)) steps(1, end) infinite}.controlbar__brand--rolling .brand-mark__glyph--ask{animation-delay:calc(-2 * var(--duration-fast))}.controlbar__brand--rolling .brand-mark__glyph--go{animation-delay:calc(-1 * var(--duration-fast))}@keyframes brand-glyph-roll{0%{transform:matrix(.55,0,0,.32,12,7)}33.34%{transform:matrix(.36,-.2,0,.4,16.5,14.5)}66.67%{transform:matrix(.36,.2,0,.4,7.5,14.5)}}.controlbar__brand--rolling .brand-mark{animation:brand-roll-hop calc(3 * var(--duration-fast)) var(--ease-in-out) infinite}@keyframes brand-roll-hop{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.06)}}@media (prefers-reduced-motion:reduce){.controlbar__brand--rolling .brand-mark,.controlbar__brand--rolling .brand-mark__glyph{animation:none}}.controlbar__copy p,.app-loading p,.app-error p,.banner p{color:var(--text-secondary);line-height:1.45}.modal-loading{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated-strong)}.banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);flex-wrap:wrap;display:flex}.banner--danger{background:color-mix(in srgb, var(--danger-soft) 88%, transparent);color:var(--text-primary)}.btn-secondary{border-color:var(--border-soft);min-height:2.75rem;color:var(--text-primary);background:0 0;padding:.8rem 1rem;font-weight:700}.btn-secondary:hover{background:var(--accent-soft)}.categories-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.categories-card__heading{align-items:center;gap:var(--space-1);display:inline-flex}.categories-card__heading h2{align-items:center;gap:var(--space-2);color:var(--text-secondary);display:inline-flex}.categories-card__title-text{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);font-weight:500}.deck-section{gap:var(--space-3);display:grid}.deck-section__head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.deck-section__title{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:600}.deck-settings{justify-content:start;align-items:center;gap:var(--space-2);grid-template-columns:auto auto;display:grid}.deck-add{gap:var(--space-2);display:grid}.deck-add__custom{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.deck-list__pack{min-width:0;display:block}.deck-list__count{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.deck-list__items{border:1px solid var(--border-soft);border-radius:var(--radius-md);max-height:min(22rem,50dvh);margin:0;padding:0;list-style:none;overflow-y:auto}.deck-list__empty{padding:var(--space-4) var(--space-3);color:var(--text-secondary);text-align:center}.deck-list__item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) auto;display:grid}.deck-list__item:last-child{border-bottom:0}.deck-list__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.deck-list__item--custom .deck-list__label{font-weight:600}.deck-list__actions{gap:var(--space-0-5);display:inline-flex}.deck-list__bulk{gap:var(--space-2);flex-wrap:wrap;display:flex}.deck-bulk-action{color:var(--danger)}.deck-bulk-action:hover{background:var(--danger-soft);color:var(--danger)}.modal-loading{padding:var(--space-3);color:var(--text-secondary)}.modal-attribution{color:var(--text-secondary);font-size:.92rem;line-height:1.55}.about-link-inline{color:var(--text-primary);text-underline-offset:2px;font-weight:600;text-decoration:underline}.about-link-inline:hover{color:var(--accent)}.modal-privacy{color:var(--text-secondary);font-size:.92rem}.modal-version{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-numeric)}.howto{gap:var(--space-1);display:grid}.howto__lead{margin:0 0 var(--space-5);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance;color:var(--text-primary)}.howto__section{border-top:1px solid var(--rule)}.howto__summary{align-items:center;gap:var(--space-3);min-height:2.75rem;padding:var(--space-3) 0;cursor:pointer;font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);color:var(--text-primary);font-weight:500;list-style:none;display:flex}.howto__summary::-webkit-details-marker{display:none}.howto__summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-xs)}.howto__summary-icon{color:var(--text-secondary);flex:none}.howto__summary-title{flex:auto;min-width:0}.howto__chevron{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out);flex:none}.howto__section[open] .howto__chevron{transform:rotate(180deg)}.howto__panel{gap:var(--space-2);padding:0 0 var(--space-4) calc(1.125rem + var(--space-3));color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55;display:grid}.howto__steps{counter-reset:howto-step;gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.howto__steps li{counter-increment:howto-step;gap:var(--space-2);grid-template-columns:1.5rem minmax(0,1fr);align-items:baseline;display:grid}.howto__steps li:before{content:counter(howto-step);font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right;font-style:italic;font-weight:500}.howto__settings{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.howto__settings li{gap:var(--space-2);grid-template-columns:1.25rem minmax(0,1fr);align-items:start;display:grid}.howto__settings-icon{color:var(--text-secondary);margin-top:.1em}@media (prefers-reduced-motion:reduce){.howto__chevron{transition:none}}.modal-loading{inset:auto var(--space-4) var(--space-4) auto;z-index:12;position:fixed}.app-shell.alarm:after{content:"";pointer-events:none;background:color-mix(in srgb, var(--danger) 22%, transparent);animation:.52s ease-in-out 4 alarm-flash;position:fixed;inset:0}.shortcuts-list{gap:var(--space-2);margin:0;padding:0;display:grid}.shortcuts-list__row{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--rule);background:0 0;border-radius:0;grid-template-columns:4rem minmax(0,1fr);display:grid}.shortcuts-list__row:last-child{border-bottom:0}.shortcuts-list__key{margin:0}.shortcuts-list__key kbd{min-width:2rem;padding:var(--space-0-5) var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-xs);color:var(--text-primary);font-family:var(--font-numeric);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);background:0 0;place-items:center;font-weight:500;display:inline-grid}.shortcuts-list__label{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes alarm-flash{0%,to{opacity:0}50%{opacity:.45}}@media (width<=51.99rem){.btn-secondary{min-height:2.6rem;padding-block:.7rem}}.settings-panel{gap:var(--space-7);display:grid}.settings-section{gap:var(--space-4);display:grid}.settings-section__head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.settings-section__title{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:500}.settings-rows{gap:var(--space-4);display:grid}.settings-select{width:auto;min-height:2.5rem;padding:var(--space-1) var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0}.settings-select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.theme-choice{gap:var(--space-2);border:0;grid-template-columns:1fr 1fr;margin:0;padding:0;display:grid}.theme-choice__item{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);display:flex}.theme-choice__item input{opacity:0;width:1px;height:1px;position:absolute}.theme-choice__item:hover{background:var(--bg-sunken)}.theme-choice__item:has(:focus-visible){outline:2px solid var(--accent-primary);outline-offset:2px}.theme-choice__item:has(:checked){border-color:var(--border-accent);background:var(--accent-soft);color:var(--accent-primary);font-weight:500}.howto__masthead{align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);font-size:var(--text-sm);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-secondary);font-weight:500;display:flex}.howto__beats{margin:0 0 var(--space-6);gap:0;padding:0;list-style:none;display:grid}.howto__beat{align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--rule);font-size:var(--text-md);line-height:var(--leading-snug);color:var(--text-secondary);grid-template-columns:2.25rem minmax(0,1fr);display:grid}.howto__beat:first-child{border-top:1px solid var(--rule)}.howto__beat:last-child{border-bottom:0}.howto__beat-num{font-family:var(--font-display);font-style:italic;font-size:var(--text-2xl);color:var(--accent-muted);text-align:right;font-weight:400;line-height:1}.howto__start{width:100%;margin-bottom:var(--space-6)}.playmat{gap:var(--space-4);padding:var(--space-4) 0;box-shadow:none;background:0 0;border:0;border-radius:0;min-width:0;min-height:0;display:grid;container-type:inline-size}@media (width>=52rem){.playmat{gap:var(--space-4);align-content:center}}.playmat__hero{aspect-ratio:1;place-items:center;width:min(100%,20rem);margin:0 auto;display:grid;position:relative}.timer-ring{place-items:center;display:grid;position:absolute;inset:0}.timer-ring__svg{width:100%;height:100%;position:absolute;inset:0}.timer-ring__track{fill:none;stroke:var(--rule);stroke-width:3px}.timer-ring__progress{fill:none;stroke:var(--text-secondary);stroke-width:3px;stroke-linecap:butt;transition:stroke-dashoffset var(--duration-slow) var(--ease-out), stroke var(--duration-normal) var(--ease-out), stroke-width var(--duration-normal) var(--ease-out)}.timer-ring--idle .timer-ring__progress{stroke:var(--rule)}.timer-ring--urgent .timer-ring__progress{stroke:var(--warning);stroke-width:4px}.timer-ring--critical .timer-ring__progress{stroke:var(--danger);stroke-width:6px}.timer-ring--done .timer-ring__progress{stroke:var(--accent-primary);stroke-width:4px}.timer-ring--getready .timer-ring__progress{stroke:var(--accent-primary);stroke-width:3px}.timer-ring__readout{padding:var(--space-1) var(--space-3);background:var(--bg-page);font-family:var(--font-numeric);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);color:var(--text-primary);white-space:nowrap;text-align:center;min-width:5rem;transition:color var(--duration-normal) var(--ease-out), font-weight var(--duration-normal) var(--ease-out);border:0;border-radius:0;font-weight:600;position:absolute;bottom:-.5rem}.timer-ring--urgent .timer-ring__readout{color:var(--warning)}.timer-ring--critical .timer-ring__readout{color:var(--danger);animation:readout-beat 1s var(--ease-out) infinite;font-weight:700}@keyframes readout-beat{0%{transform:scale(1.08)}40%,to{transform:scale(1)}}.timer-ring--done .timer-ring__readout{color:var(--accent-primary);font-family:var(--font-display);font-style:italic;font-weight:500;font-size:var(--text-2xl);letter-spacing:var(--tracking-normal);font-variation-settings:"opsz" 72}.timer-ring--getready .timer-ring__readout{color:var(--accent-primary)}.timer-ring--paused .timer-ring__progress{stroke:var(--text-muted)}.timer-ring--paused .timer-ring__track{stroke-dasharray:3 5}.timer-ring--paused .timer-ring__readout{color:var(--text-secondary);animation:none}.letter-hero{isolation:isolate;place-items:center;display:grid;position:relative}.letter-hero__glyph{font-family:var(--font-display);letter-spacing:var(--tracking-tight);color:var(--text-primary);font-feature-settings:"ss01" 1;font-variation-settings:"opsz" 144;font-size:clamp(6rem,32cqi,11rem);font-weight:500;line-height:.85}.letter-hero__glyph--hidden{opacity:.12}.letter-hero__glyph--landing{animation:letter-land var(--duration-hero) var(--ease-spring) both}.playmat[data-phase=done] .letter-hero__glyph{animation:letter-settle var(--duration-hero) var(--ease-spring) both}@keyframes letter-settle{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes letter-land{0%{opacity:0;transform:translateY(-4%)scale(.85)}60%{opacity:1;transform:translateY(0)scale(1.03)}to{opacity:1;transform:translateY(0)scale(1)}}.category-checklist{min-width:0;min-height:0}.category-checklist--empty{padding:var(--space-8) var(--space-4);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--text-muted);background:0 0;border-radius:0;place-items:center;display:grid}.category-checklist__empty{text-align:center;font-size:var(--text-sm);margin:0;font-style:italic}.category-checklist__list{column-width:18rem;column-gap:var(--space-1);margin:0;padding:0;list-style:none}.category-checklist__item{break-inside:avoid;min-width:0;margin-bottom:var(--space-2)}.category-checklist__item:last-child{margin-bottom:0}.category-checklist__chip{align-items:center;gap:var(--space-1);width:100%;min-height:2.75rem;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1-5);border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-md);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);background:0 0;grid-template-columns:1.2rem minmax(0,1fr) auto;display:grid}.category-checklist__chip:where(:not(:disabled)):hover{background:color-mix(in oklch, var(--text-primary) 5%, transparent)}.category-checklist__chip:where(:not(:disabled)):active{transform:scale(.98)}.category-checklist__chip:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.category-checklist__chip:disabled{cursor:default}.category-checklist__mark{min-width:1.25rem;color:var(--text-muted);font-family:var(--font-display);font-weight:500;font-size:var(--text-md);font-variant-numeric:tabular-nums;place-items:center;font-style:italic;display:grid}.category-checklist__label{overflow-wrap:break-word;text-wrap:balance;min-width:0;letter-spacing:var(--tracking-normal);font-weight:400;line-height:var(--leading-snug)}.category-checklist__item--custom .category-checklist__label{font-weight:600}.category-checklist__item--custom .category-checklist__label:after{content:" ★";color:var(--accent-primary)}.category-checklist__pin{color:var(--text-muted);opacity:.35;transition:opacity var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}.category-checklist__chip:where(:not(:disabled)):hover .category-checklist__pin{opacity:.7}.category-checklist__item--pinned .category-checklist__chip{border-color:var(--accent-primary);background:var(--accent-soft)}.category-checklist__item--pinned .category-checklist__pin{opacity:1;color:var(--accent-primary)}.category-checklist__label--landing{animation:category-land var(--duration-hero) var(--ease-spring) both;animation-delay:calc(var(--i,0) * 35ms)}@keyframes category-land{0%{opacity:0;transform:translateY(-30%)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@media (width<=51.99rem){.play-grid:not(.play-grid--deck-collapsed) .playmat{align-items:center;gap:var(--space-4);padding-block:var(--space-1);grid-template-columns:auto minmax(0,1fr)}.play-grid:not(.play-grid--deck-collapsed) .playmat__hero{width:min(36vw,9rem);margin:0 0 0 var(--space-2)}.play-grid:not(.play-grid--deck-collapsed) .action-bar__primary{min-height:2.75rem;padding-inline:var(--space-2);font-size:var(--text-md);white-space:normal}.play-grid:not(.play-grid--deck-collapsed) .letter-hero__glyph{font-size:clamp(3rem,14vw,4rem)}.play-grid:not(.play-grid--deck-collapsed) .timer-ring__readout{min-width:3rem;padding:var(--space-0-5) var(--space-2);font-size:var(--text-lg);bottom:-.35rem}.category-checklist__list{column-width:11.5rem}.category-checklist__chip{min-height:2.75rem;padding-inline:var(--space-1-5);font-size:var(--text-md);align-content:center;display:block}.category-checklist__mark{vertical-align:.35em;min-width:0;margin-inline-end:.35em;font-size:.72em;display:inline}.category-checklist__pin{display:none}}.action-bar{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.action-bar__primary{min-height:3rem;box-shadow:none}.action-bar__primary:where(:not(:disabled)):hover{box-shadow:none}.action-bar__group{justify-content:center;align-items:center;gap:var(--space-1);min-height:2.75rem;padding:var(--space-0-5);border:1px solid var(--rule);border-radius:var(--radius-sm);flex:none;display:inline-flex}.action-bar__group--bare{border:0;padding:0}@container (width>=40rem){.playmat{padding:var(--space-6) 0;justify-items:center}.action-bar{width:min(100%,32rem);margin-inline:auto}}@media (width>=64rem){.playmat__hero{width:min(100%,26rem)}.category-checklist__chip{min-height:3rem;padding-inline:var(--space-2);font-size:var(--text-lg)}}@media (prefers-reduced-motion:reduce){.timer-ring--critical .timer-ring__readout,.playmat[data-phase=done] .letter-hero__glyph,.letter-hero__glyph--landing,.category-checklist__label--landing{animation:none}}}@layer primitives{.ds-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);letter-spacing:var(--tracking-wide);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-fast) var(--ease-out);border:1px solid #0000;font-weight:500;display:inline-flex}.ds-button:where(:not(:disabled)):active{transform:scale(.97)}.ds-button:disabled{cursor:not-allowed;opacity:.5}.ds-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.ds-button--sm{min-height:2.5rem;padding-inline:var(--space-3);font-size:var(--text-sm)}.ds-button--md{min-height:2.75rem;padding-inline:var(--space-4);font-size:var(--text-md)}.ds-button--lg{min-height:3.25rem;padding-inline:var(--space-5);font-size:var(--text-lg)}.ds-button--primary{background:var(--accent-primary);color:var(--text-on-accent)}.ds-button--primary:where(:not(:disabled)):hover{background:var(--accent-strong)}.ds-button--ghost{color:var(--text-primary);background:0 0}.ds-button--ghost:where(:not(:disabled)):hover{background:color-mix(in oklch, var(--text-primary) 6%, transparent)}.ds-icon-button{min-width:2.75rem;min-height:2.75rem;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-spring);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.ds-icon-button:where(:not(:disabled)):hover{background:color-mix(in oklch, var(--text-primary) 6%, transparent);color:var(--text-primary)}.ds-icon-button:where(:not(:disabled)):active{transform:scale(.92)}.ds-icon-button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.ds-icon-button:disabled{cursor:not-allowed;opacity:.5}.ds-icon-button--armed{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.ds-field{gap:var(--space-1-5);display:grid}.ds-field__label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:var(--tracking-widest);text-transform:uppercase;font-weight:600}.ds-field__control{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-md);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0}.ds-field__control:focus-visible{border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in oklch, var(--accent-primary) 22%, transparent);outline:none}.ds-field__control:disabled{opacity:.6;cursor:not-allowed}.ds-field__inline{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.ds-field__suffix{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.ds-field__text{gap:var(--space-0-5);min-width:0;display:grid}.ds-field__hint{font-size:var(--text-xs);line-height:var(--leading-snug);letter-spacing:var(--tracking-normal);text-transform:none;color:var(--text-muted);text-wrap:pretty;margin:0;font-weight:400}.ds-field--inline{display:contents}.ds-field--inline .ds-field__label{text-transform:none;letter-spacing:var(--tracking-normal);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;font-weight:500}.ds-field--inline .ds-field__label:after{content:":"}.ds-field--inline .ds-field__control{width:4rem;min-height:2.25rem;padding-right:var(--space-1);text-align:right}.ds-sheet{width:min(40rem, calc(100% - 2 * var(--space-4)));background:var(--bg-raised);height:fit-content;max-height:min(90dvh,48rem);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--elevation-4);opacity:0;transition:opacity var(--duration-exit-fast) var(--ease-in), transform var(--duration-exit-fast) var(--ease-in), overlay var(--duration-exit-fast) allow-discrete, display var(--duration-exit-fast) allow-discrete;border:0;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;transform:scale(.96)}.ds-sheet::backdrop{background:var(--scrim-default);opacity:0;transition:opacity var(--duration-exit-fast) var(--ease-in), overlay var(--duration-exit-fast) allow-discrete, display var(--duration-exit-fast) allow-discrete}.ds-sheet[open]{opacity:1;transition-duration:var(--duration-slow);transition-timing-function:var(--ease-spring);transform:scale(1)}.ds-sheet[open]::backdrop{opacity:1;transition-duration:var(--duration-normal)}@starting-style{.ds-sheet[open]{opacity:0;transform:scale(.96)}.ds-sheet[open]::backdrop{opacity:0}}.ds-sheet__grip{display:none}.ds-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.ds-sheet__title{min-width:0;font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);flex:auto;margin:0;font-weight:500}.ds-sheet__header .ds-icon-button{flex:none}.ds-sheet__body{padding:var(--space-5);gap:var(--space-5);max-height:calc(90dvh - 4.5rem);display:grid;overflow-y:auto}.lang-menu{gap:var(--space-0-5);min-width:9rem;display:grid}.lang-menu__item{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-md);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:0;display:flex}.lang-menu__item:where(:not(:disabled)):hover{background:color-mix(in oklch, var(--text-primary) 6%, transparent)}.lang-menu__item[aria-checked=true]{color:var(--accent-primary);font-weight:600}.lang-menu__item:disabled{opacity:.4;cursor:not-allowed}.lang-menu__item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.settings-cluster{align-items:center;gap:var(--space-1);display:inline-flex}.ds-popover{position:relative}.ds-popover__panel{bottom:calc(100% + var(--space-2));z-index:var(--z-modal);width:max-content;max-width:min(90vw,18rem);padding:var(--space-4);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--elevation-4);gap:var(--space-3);display:grid;position:absolute;left:50%;transform:translate(-50%)}.settings-rows .ds-field--inline{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.settings-rows .ds-field--inline .ds-field__label:after{content:none}.settings-rows .ds-field__inline{grid-template-columns:auto auto}.settings-toggle{justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;display:flex}.settings-toggle input{width:.9rem;height:.9rem;accent-color:var(--accent-primary);cursor:pointer;margin:0}@media (prefers-reduced-motion:reduce){.ds-sheet,.ds-sheet::backdrop,.ds-button,.ds-icon-button{transition:none;animation:none}.ds-button:where(:not(:disabled)):active,.ds-icon-button:where(:not(:disabled)):active{transform:none}}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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}
