:root{--brand:#2f4fdd;--brand-ink:#ffffff;--accent:#ffb703;--accent-ink:#1a1a1a;--surface:#ffffff;--surface-2:#f2f3f7;--ink:#16181d;--ink-muted:#565b69;--line:#d8dbe3;--link:var(--brand);--radius:12px;--font-display:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"Cascadia Code","Source Code Pro",Menlo,Consolas,monospace;--display-weight:750;--ok:#17703a;--warn:#8a5a00;--bad:#b3261e;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--step--1:clamp(0.83rem,0.81rem + 0.1vw,0.89rem);--step-0:clamp(1rem,0.96rem + 0.18vw,1.125rem);--step-1:clamp(1.15rem,1.08rem + 0.32vw,1.35rem);--step-2:clamp(1.3rem,1.18rem + 0.55vw,1.65rem);--step-3:clamp(1.5rem,1.28rem + 0.95vw,2.1rem);--step-4:clamp(1.8rem,1.42rem + 1.7vw,2.85rem);--step-5:clamp(2.2rem,1.55rem + 2.9vw,4rem);--radius-sm:calc(var(--radius) * 0.5);--radius-lg:calc(var(--radius) * 1.5);--radius-pill:999px;--wrap:72rem;--measure:68ch;--gutter:clamp(1rem,0.6rem + 2vw,2rem);--tap:2.75rem;--shadow-1:0 1px 2px rgb(0 0 0 / 0.08),0 2px 8px rgb(0 0 0 / 0.06);--shadow-2:0 2px 4px rgb(0 0 0 / 0.08),0 12px 32px rgb(0 0 0 / 0.12);--ease:cubic-bezier(0.2,0.7,0.2,1);--brand-soft:var(--surface-2);--ok-soft:var(--surface-2);--warn-soft:var(--surface-2);--bad-soft:var(--surface-2);--line-strong:var(--ink-muted);--ring:var(--link);--card-bg:var(--surface-2);--card-border:1px solid transparent;--card-shadow:none}@supports (color:color-mix(in srgb,red,blue)){:root{--brand-soft:color-mix(in srgb,var(--brand) 12%,var(--surface));--ok-soft:color-mix(in srgb,var(--ok) 14%,var(--surface));--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--bad-soft:color-mix(in srgb,var(--bad) 12%,var(--surface));--line-strong:color-mix(in srgb,var(--ink) 45%,var(--surface))}}@media (prefers-color-scheme:dark){:root{--brand:#93a5ff;--brand-ink:#0d1330;--surface:#111318;--surface-2:#1b1e26;--ink:#f0f1f5;--ink-muted:#b1b5c3;--line:#333846;--ok:#5dd68a;--warn:#f2c14e;--bad:#ff8f85;--shadow-1:0 1px 2px rgb(0 0 0 / 0.5),0 2px 8px rgb(0 0 0 / 0.4);--shadow-2:0 2px 4px rgb(0 0 0 / 0.5),0 12px 32px rgb(0 0 0 / 0.55)}}html[data-card="outlined"]{--card-bg:var(--surface);--card-border:1.5px solid var(--line-strong)}html[data-card="lifted"]{--card-bg:var(--surface);--card-border:1px solid var(--line);--card-shadow:var(--shadow-1)}@media (prefers-color-scheme:dark){html[data-card="lifted"]{--card-bg:var(--surface-2)}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--space-5)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);font:var(--step-0) / 1.6 var(--font-body);overflow-wrap:break-word}main{flex:1}[hidden]{display:none !important}h1,h2,h3,h4{margin:0 0 var(--space-3);font-family:var(--font-display);font-weight:var(--display-weight);line-height:1.15;letter-spacing:-0.01em;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0)}p,ul,ol,dl,table,figure,blockquote{margin:0 0 var(--space-4)}ul,ol{padding-left:1.25em}img,svg,canvas,video{max-width:100%;height:auto}a{color:var(--link);text-decoration-thickness:0.08em;text-underline-offset:0.18em}a:hover{text-decoration-thickness:0.16em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent);color:var(--accent-ink)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.page{padding-block:var(--space-5) var(--space-8)}.page > * + *{margin-top:var(--space-6)}.page--text > *,.page--saved > *{max-width:var(--measure)}.skip-link{position:absolute;left:var(--space-2);top:-10rem;z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--ink);color:var(--surface);font-weight:700}.skip-link:focus{top:var(--space-2)}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-5);padding-block:var(--space-3)}.logo{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);color:inherit;font:var(--display-weight) var(--step-1) / 1.1 var(--font-display);letter-spacing:-0.02em;text-decoration:none}.logo__mark{display:grid;place-items:center;min-width:2.25rem;height:2.25rem;padding-inline:0.4rem;border-radius:var(--radius-sm);background:var(--brand);color:var(--brand-ink);font-size:0.95rem;letter-spacing:0}.site-nav{min-width:0;max-width:100%}.site-nav ul{display:flex;gap:var(--space-1);margin:0 calc(var(--space-3) * -1);padding:0 var(--space-1);list-style:none;overflow-x:auto;scrollbar-width:none}.site-nav ul::-webkit-scrollbar{display:none}.site-nav a{display:flex;align-items:center;min-height:var(--tap);padding-inline:var(--space-3);border-radius:var(--radius-pill);color:inherit;font-size:var(--step--1);font-weight:650;white-space:nowrap;text-decoration:none}.site-nav a:hover{background:var(--surface-2)}.site-nav a[aria-current]{background:var(--brand-soft);color:var(--link)}html[data-header="bar"] .site-header{border-bottom:0;background:var(--brand);color:var(--brand-ink);--ring:var(--brand-ink)}html[data-header="bar"] .logo__mark{background:var(--brand-ink);color:var(--brand)}html[data-header="bar"] .site-nav a:hover,html[data-header="bar"] .site-nav a[aria-current]{background:rgb(127 127 127 / 0.28);color:inherit}html[data-header="centered"] .site-header__inner{flex-direction:column;justify-content:center;padding-block:var(--space-4) var(--space-2)}html[data-header="centered"] .logo{font-size:var(--step-2)}html[data-header="centered"] .site-nav a[aria-current]{background:none;box-shadow:inset 0 -3px var(--accent);border-radius:0;color:inherit}html[data-header="split"] .site-header{border-bottom:4px solid var(--accent)}html[data-header="split"] .logo__mark{border-radius:50%}html[data-header="split"] .site-nav ul{gap:var(--space-2)}html[data-header="split"] .site-nav a{min-height:2.25rem;margin-block:var(--space-1);border:1.5px solid var(--line-strong)}html[data-header="split"] .site-nav a[aria-current]{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--space-1) 0;margin:0;padding:0;list-style:none;color:var(--ink-muted);font-size:var(--step--1)}.breadcrumb li:not(:last-child)::after{content:"/";margin-inline:var(--space-2);color:var(--line-strong)}.breadcrumb a{color:inherit}.breadcrumb + *{margin-top:var(--space-3)}.page-head h1,.hero h1{margin-bottom:var(--space-2)}.tagline,.lede{max-width:var(--measure);color:var(--ink-muted);font-size:var(--step-1);line-height:1.45}.tagline{margin-bottom:var(--space-3)}.meta{display:flex;flex-wrap:wrap;gap:var(--space-1) 0;margin:0;padding:0;list-style:none;color:var(--ink-muted);font-size:var(--step--1)}.meta li:not(:last-child)::after{content:"·";margin-inline:var(--space-2);font-weight:700}.meta a{color:inherit;font-weight:650}.page-head + .tool{margin-top:var(--space-5)}.hero{padding-block:var(--space-5) var(--space-2)}.hero h1{max-width:18ch;font-size:var(--step-5);line-height:1.05}.hero__actions,.more__actions,.saved__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-5) 0 0}.tool,.link-card,.result-card,.faq details,.notice{border:var(--card-border);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.tool{position:relative;display:grid;gap:var(--space-5);padding:clamp(1rem,0.5rem + 2.5vw,2.5rem);border-radius:var(--radius-lg)}html[data-card="soft"] .tool{background:var(--brand-soft)}html[data-card="outlined"] .tool{border-width:2px;border-color:var(--ink);box-shadow:6px 6px 0 var(--accent)}html[data-card="lifted"] .tool{box-shadow:var(--shadow-2)}.tool > *{min-width:0;margin:0}.tool > script{display:none}.tool-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.tool-status{margin:0;color:var(--ink-muted);font-size:var(--step--1)}.notice{padding:var(--space-3) var(--space-4);box-shadow:none;color:var(--ink-muted);font-size:var(--step--1)}.try-next{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.tool + .try-next{margin-top:var(--space-4)}.try-next__label{margin:0;color:var(--ink-muted);font-size:var(--step--1);font-weight:700;letter-spacing:0.06em;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;min-height:2.5rem;padding:var(--space-1) var(--space-4);border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:var(--step--1);font-weight:650;text-decoration:none;transition:border-color 0.15s,background-color 0.15s}.chip:hover{border-color:var(--brand);background:var(--brand-soft)}.ad-slot{display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;min-height:100px;border-radius:var(--radius-sm);background:var(--surface-2)}html[data-ads="none"] .ad-slot{display:none}.ad-slot > ins{display:block;width:100%;height:100%;min-height:inherit}.ad-slot[data-slot="inline"],.ad-slot[data-slot="bottom"]{min-height:280px}.ad-slot[data-slot="inline"]{margin-block:var(--space-5)}.ad-slot[data-slot="side"]{display:none}@media (min-width:48rem){.ad-slot[data-slot="top"]{min-height:90px}.ad-slot[data-slot="inline"],.ad-slot[data-slot="bottom"]{min-height:250px}}@media (min-width:70rem){.page-body:has(> .ad-slot[data-slot="side"]){display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-6);align-items:start}.page-body:has(> .ad-slot) > .ad-slot[data-slot="side"]{display:flex;position:sticky;top:var(--space-4);min-height:600px}}.prose{max-width:var(--measure)}.prose h2{margin-top:var(--space-7)}.prose > h2:first-child{margin-top:0}.prose h3{margin-top:var(--space-5)}.prose li + li{margin-top:var(--space-2)}.tips{padding:0;list-style:none}.tips li{position:relative;padding-left:1.75em}.tips li::before{content:"";position:absolute;left:0.2em;top:0.45em;width:0.7em;height:0.7em;border-radius:50%;background:var(--accent)}.faq{display:grid;gap:var(--space-2)}.faq details{box-shadow:none}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--tap);padding:var(--space-3) var(--space-4);font-weight:700;line-height:1.3;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";flex:none;color:var(--link);font:400 1.5em / 1 var(--font-mono)}.faq details[open] > summary::after{content:"\2212"}.faq details > :not(summary){margin:0;padding:0 var(--space-4) var(--space-4)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.link-card{display:block;height:100%;padding:var(--space-4);color:inherit;text-decoration:none;transition:transform 0.15s var(--ease),border-color 0.15s,box-shadow 0.15s}.link-card:hover{border-color:var(--brand);transform:translateY(-2px)}html[data-card="lifted"] .link-card:hover{box-shadow:var(--shadow-2)}.link-card__title{margin:0 0 var(--space-1);color:var(--link);font-size:var(--step-0);line-height:1.25}.link-card__text{margin:0;color:var(--ink-muted);font-size:var(--step--1);line-height:1.45}.link-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:var(--space-2) var(--space-6);margin:0;padding:0;list-style:none}.link-list a{font-weight:650}.link-list__text{display:block;color:var(--ink-muted);font-size:var(--step--1);line-height:1.4}.category-block h2 a{color:inherit}.count{display:inline-block;padding:0.1em 0.6em;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-muted);font:650 var(--step--1) / 1.5 var(--font-body);letter-spacing:0;vertical-align:middle}.jump{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-5)}.jump a{display:grid;place-items:center;min-width:2.5rem;min-height:2.5rem;padding-inline:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font-size:var(--step--1);font-weight:700;text-decoration:none}.jump a:hover{background:var(--brand);color:var(--brand-ink)}.dataset,.az-group,.dataset-group{scroll-margin-top:var(--space-4)}.dataset{padding-top:var(--space-6);border-top:1px solid var(--line)}.dataset-group + .dataset-group{margin-top:var(--space-5)}.dataset-group h3{padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}.dataset-list{columns:18rem auto;column-gap:var(--space-6);margin:0;padding:0;list-style:none;font-size:var(--step--1)}.dataset-list li{padding-block:var(--space-1);break-inside:avoid}.dataset-list .e{display:inline-block;width:1.6em}.dataset-list .d{color:var(--ink-muted)}.dataset-source{max-width:var(--measure);margin:var(--space-5) 0 0;color:var(--ink-muted);font-size:var(--step--1)}.dataset-details > summary{width:fit-content;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);font-weight:700;cursor:pointer}.disclaimers{max-width:var(--measure);padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--ink-muted);font-size:var(--step--1)}.site-footer{padding-block:var(--space-7) var(--space-6);border-top:1px solid var(--line);background:var(--surface-2);font-size:var(--step--1)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-5) var(--space-6);margin-bottom:var(--space-6)}.footer-grid h2{font-size:var(--step-0)}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid a{display:inline-block;padding-block:var(--space-1);color:inherit}.footer-note,.footer-legal{max-width:var(--measure);margin-bottom:var(--space-2);color:var(--ink-muted)}.consent{position:fixed;inset:auto var(--space-3) var(--space-3);z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);max-width:40rem;margin-inline:auto;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-2);font-size:var(--step--1)}.consent p{flex:1 1 16rem;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-5);border:2px solid transparent;border-radius:var(--radius-pill);background:none;color:var(--ink);font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;user-select:none;touch-action:manipulation;transition:transform 0.12s var(--ease),filter 0.12s,background-color 0.12s,border-color 0.12s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(0.97)}.btn:disabled,.btn[aria-disabled="true"]{opacity:0.55;cursor:not-allowed;filter:none;transform:none}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-secondary{border-color:var(--line-strong);background:var(--surface)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--brand);background:var(--brand-soft);filter:none}.btn-ghost{padding-inline:var(--space-3);color:var(--link)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-soft);color:var(--link)}.btn-lg{min-height:3.5rem;padding-inline:var(--space-6);font-size:var(--step-1)}.btn-sm{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:var(--step--1)}.btn-icon{width:var(--tap);padding:0}.btn-block{width:100%}.pills,.segmented{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;border:0;list-style:none}.pill{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.5rem;padding:var(--space-1) var(--space-4);border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:var(--step--1);font-weight:650;cursor:pointer;user-select:none}.pill:hover{border-color:var(--brand)}.pill input{position:absolute;opacity:0;pointer-events:none}.pill[aria-pressed="true"],.pill.is-on,.pill:has(:checked){border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.pill:has(:focus-visible){outline:3px solid var(--ring);outline-offset:2px}.segmented{display:inline-flex;flex-wrap:nowrap;gap:0;max-width:100%;padding:3px;overflow-x:auto;border-radius:var(--radius-pill);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-strong)}.segmented .pill{border-color:transparent;background:none;white-space:nowrap}.segmented .pill[aria-pressed="true"],.segmented .pill.is-on,.segmented .pill:has(:checked){background:var(--brand)}.result-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none;counter-reset:result}.result{display:flex;align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}ol.result-list > .result::before{counter-increment:result;content:counter(result);flex:none;width:1.5em;color:var(--ink-muted);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.result__emoji{flex:none;width:1.4em;font-size:var(--step-2);line-height:1;text-align:center}.result__body{flex:1;min-width:0}.result__text{display:block;font:var(--display-weight) var(--step-1) / 1.25 var(--font-display)}.result__detail{display:block;color:var(--ink-muted);font-size:var(--step--1);line-height:1.4}.result__actions{display:flex;flex:none;gap:var(--space-1)}.result-card{display:grid;place-items:center;gap:var(--space-2);min-height:9rem;padding:var(--space-5);background:var(--surface);text-align:center}.result-card__label{margin:0;color:var(--ink-muted);font-size:var(--step--1);font-weight:700;letter-spacing:0.06em;text-transform:uppercase}.result-card__text{margin:0;font:var(--display-weight) var(--step-3) / 1.15 var(--font-display);text-wrap:balance}@media (prefers-reduced-motion:no-preference){.is-new{animation:pop 0.35s var(--ease) both}}@keyframes pop{from{opacity:0;transform:translateY(6px) scale(0.98)}}.field{display:grid;gap:var(--space-1);min-width:0;margin:0;padding:0;border:0}.field > label,.field > legend,.label{padding:0;font-size:var(--step--1);font-weight:700}.hint{margin:0;color:var(--ink-muted);font-size:var(--step--1)}.input,.select,.textarea{width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.textarea{min-height:8rem;line-height:1.45;resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:var(--brand)}.input[aria-invalid="true"],.textarea[aria-invalid="true"]{border-color:var(--bad)}.input::placeholder,.textarea::placeholder{color:var(--ink-muted);opacity:0.8}.check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);cursor:pointer}.check input,input[type="range"]{accent-color:var(--brand)}.check input{flex:none;width:1.25rem;height:1.25rem;margin:0}input[type="range"]{width:100%;min-height:var(--tap)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-4);align-items:end}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.table{width:100%;margin:0;border-collapse:collapse;font-size:var(--step--1);font-variant-numeric:tabular-nums}.table th,.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table thead th{background:var(--surface-2);white-space:nowrap}.table tbody tr:last-child > *{border-bottom:0}.banner{margin:0;padding:var(--space-3) var(--space-4);border-left:4px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand-soft)}.banner[data-tone="ok"]{border-color:var(--ok);background:var(--ok-soft)}.banner[data-tone="warn"]{border-color:var(--warn);background:var(--warn-soft)}.banner[data-tone="bad"]{border-color:var(--bad);background:var(--bad-soft)}.badge{display:inline-block;padding:0.15em 0.65em;border-radius:var(--radius-pill);background:var(--brand-soft);color:var(--link);font-size:var(--step--1);font-weight:700;line-height:1.5;white-space:nowrap}.badge[data-tone="ok"]{background:var(--ok-soft);color:var(--ok)}.badge[data-tone="warn"]{background:var(--warn-soft);color:var(--warn)}.badge[data-tone="bad"]{background:var(--bad-soft);color:var(--bad)}.badge[data-tone="accent"]{background:var(--accent);color:var(--accent-ink)}.progress{display:block;overflow:hidden;width:100%;height:0.6rem;border:0;border-radius:var(--radius-pill);background:var(--line);accent-color:var(--brand)}.progress > span{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width 0.3s var(--ease)}.stat{display:grid;gap:0;margin:0}.stat__value{font:var(--display-weight) var(--step-3) / 1.1 var(--font-display);font-variant-numeric:tabular-nums}.stat__label{color:var(--ink-muted);font-size:var(--step--1)}.toast{position:fixed;left:50%;bottom:var(--space-5);z-index:60;max-width:calc(100vw - 2rem);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-2);font-size:var(--step--1);font-weight:650;transform:translateX(-50%)}.icon{flex:none;width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-icon .icon{width:1.375rem;height:1.375rem}[aria-pressed="true"] > .icon{fill:currentColor}.share-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.share-banner p{margin:0}.timer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.timer > *{min-width:0}@media (max-width:24rem){.timer{padding:var(--space-3)}}.timer__clock{flex:none;min-width:4ch;margin:0;font:var(--display-weight) var(--step-4) / 1 var(--font-display);font-variant-numeric:tabular-nums}.timer[data-phase="paused"] .timer__clock{color:var(--ink-muted)}.timer[data-phase="done"] .timer__clock{color:var(--bad)}.timer__bar{order:1;flex:1 1 8rem;width:auto}.timer__controls{order:2;display:flex;flex-wrap:wrap;gap:var(--space-2)}.timer__controls .btn{white-space:nowrap}.timer [data-timer-toggle]{min-width:9.5rem}.timer__options,.timer__custom{order:3;flex:1 1 100%}.timer__options{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-4)}.timer__custom .input{max-width:10rem}.timer .segmented{display:flex;flex:1 1 17rem;max-width:24rem}.timer .segmented .pill{flex:1 1 auto;justify-content:center;padding-inline:var(--space-1)}.saved__group{margin-top:var(--space-6)}.saved__group h2{margin-bottom:var(--space-3);font-size:var(--step-2)}.saved__group .result{padding-block:var(--space-2)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.stack{display:grid;gap:var(--space-4)}.stack > *{min-width:0;margin:0}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.split{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.muted{color:var(--ink-muted)}.small{font-size:var(--step--1)}.center{text-align:center}.print-only{display:none}@page{margin:12mm}@media print{:root{--surface:#fff;--surface-2:#fff;--ink:#000;--ink-muted:#333;--line:#999;--line-strong:#555;--link:#000;--card-bg:#fff;--card-shadow:none;--brand-soft:#fff}body{display:block;background:#fff;font-size:11pt}.site-header,.site-footer,.skip-link,.breadcrumb,.try-next,.ad-slot,.related,.more,.featured,.jump,.hero__actions,.saved__actions,.tool-bar,.btn,.pills,.segmented,.consent,.toast,.no-print,noscript{display:none !important}.print-only{display:block}.wrap{max-width:none;padding:0}.page{padding:0}.tool,html[data-card] .tool{padding:0;border:0;background:none;box-shadow:none}details > summary{list-style:none}h1,h2,h3{break-after:avoid}.result,.faq details,tr{break-inside:avoid}a{text-decoration:none}html[data-print="tool"] main > :not(.tool){display:none !important}.print-page{break-after:page}.print-page:last-child{break-after:auto}}:root{--brand:#26103f;--brand-ink:#ffb81f;--accent:#d4381e;--surface:#fff6e6;--surface-2:#f7e8cc;--ink:#21123a;--ink-muted:#5b4a6e;--line:#e2d0a8;--link:#b42c14;--accent-ink:#ffffff;--radius:14px;--font-display:Rockwell,"Rockwell Nova","Roboto Slab","DejaVu Serif","Sitka Small",serif;--font-body:Avenir,Montserrat,Corbel,"URW Gothic",source-sans-pro,sans-serif;--display-weight:800}@media (prefers-color-scheme:dark){:root{--brand:#2f1d66;--brand-ink:#ffbf3a;--accent:#ff6a45;--surface:#140c28;--surface-2:#20143d;--ink:#fdf3df;--ink-muted:#bcb0d0;--line:#382a5c;--link:#ffc64d;--accent-ink:#14161a}}.bingo{display:grid;gap:var(--space-4)}.bingo > *,.bingo__panel > *{min-width:0;margin:0}.bingo__panel{display:none;gap:var(--space-4);align-content:start}.bingo[data-bingo-view="cards"] [data-bingo-panel="cards"],.bingo[data-bingo-view="caller"] [data-bingo-panel="caller"]{display:grid}.bingo__views{justify-self:center}.bingo__result{display:grid;justify-items:center;transition:opacity 0.2s var(--ease)}.bingo__result[data-stale]{opacity:0.45}.bingo__sheet{display:contents}.bingo__card{--bingo-scale:1;display:none;container-type:inline-size;width:100%;max-width:34rem}.bingo__card.is-current{display:block}.bingo[data-bingo-size="4"] .bingo__card{--bingo-scale:1.22}.bingo[data-bingo-size="3"] .bingo__card{--bingo-scale:1.55}.bingo__title{min-height:1.3em;margin:0 0 var(--space-2);overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--step-2);font-weight:var(--display-weight);line-height:1.3;text-align:center}.bingo__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);list-style:none;overflow:hidden}.bingo[data-bingo-size="4"] .bingo__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bingo[data-bingo-size="3"] .bingo__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bingo__cell{--bingo-type:3.5;display:grid;aspect-ratio:1;min-width:0;margin:0;box-shadow:0 0 0 1px var(--ink);font-size:max(0.625rem,calc(var(--bingo-type) * var(--bingo-scale) * 1cqi));line-height:1.12;letter-spacing:-0.02em}.bingo__cell[data-len="s"]{--bingo-type:4.4}.bingo__cell[data-len="l"]{--bingo-type:3}.bingo__cell[data-len="xl"]{--bingo-type:2.55}.bingo__mark{display:grid;place-items:center;width:100%;min-width:0;height:100%;margin:0;padding:0.3em 1px;border:0;border-radius:0;background:none;color:var(--ink);font:inherit;font-weight:600;text-align:center;overflow-wrap:anywhere;hyphens:auto;overflow:hidden}button.bingo__mark{cursor:pointer;-webkit-tap-highlight-color:transparent}button.bingo__mark:hover{background:var(--surface-2)}button.bingo__mark:focus-visible{position:relative;z-index:1;outline-offset:-4px}button.bingo__mark[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink);box-shadow:inset 0 0 0 3px var(--brand),inset 0 0 0 5px var(--brand-ink)}.bingo__cell--free .bingo__mark{background:var(--surface-2);font-weight:800;letter-spacing:0.03em}.bingo__foot{margin:var(--space-1) 0 0;color:var(--ink-muted);font-size:8pt;text-align:right}.bingo .pill{justify-content:center;min-width:var(--tap);min-height:var(--tap)}.bingo__pager{display:flex;gap:var(--space-3);align-items:center;justify-content:center}.bingo__position{min-width:8.5em;margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.bingo__bar{justify-content:center}.bingo__hint,.bingo__game-status{text-align:center}.bingo__warning .btn{margin-top:var(--space-2)}.bingo__settings{display:grid;gap:var(--space-4);min-width:0;margin:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius)}.bingo__settings > *{min-width:0;margin:0}.bingo__legend{padding:0 var(--space-2);font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--display-weight)}.bingo__row{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6)}.bingo__choice{display:grid;gap:var(--space-2);justify-items:start}.bingo__words{min-height:11rem;resize:vertical}.bingo__list-actions{gap:var(--space-2)}.bingo__call{display:grid;gap:var(--space-2);align-content:center;justify-items:center;min-height:13rem;padding:var(--space-5) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:center}.bingo__call > *{margin:0}.bingo__call-label{color:var(--ink-muted);font-size:var(--step--1);font-weight:700;letter-spacing:0.05em;text-transform:uppercase}.bingo__call-text{max-width:100%;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--step-4);font-weight:var(--display-weight);line-height:1.1}.bingo__call-text[data-len="l"]{font-size:var(--step-3)}.bingo__call-text[data-len="xl"]{font-size:var(--step-2)}.bingo__call-note{color:var(--ink-muted)}.bingo__called{display:grid;gap:var(--space-3)}.bingo__called > *{margin:0}.bingo__called-head{gap:var(--space-3);align-items:center}.bingo__called-title{margin:0;font-size:var(--step-1)}.bingo__called-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.bingo__called-item{max-width:100%;margin:0;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);overflow-wrap:anywhere}.bingo__called-item.is-latest{border-color:var(--ink);font-weight:700}@media (prefers-reduced-motion:reduce){.bingo__result{transition:none}}@media print{.bingo,.bingo [data-bingo-panel="cards"]{display:block !important}.bingo [data-bingo-panel="caller"],.bingo__settings,.bingo__warning{display:none !important}.bingo__result{display:block;opacity:1}.bingo__sheet{display:grid;grid-template-columns:170mm;gap:7mm 8mm;justify-content:center;align-content:start;break-inside:avoid}.bingo[data-bingo-per="2"] .bingo__sheet{grid-template-columns:104mm}.bingo[data-bingo-per="4"] .bingo__sheet{grid-template-columns:86mm 86mm}.bingo__card,.bingo__card.is-current{display:block;width:auto;max-width:none;break-inside:avoid}.bingo__title{margin-bottom:2mm;font-size:16pt}.bingo[data-bingo-per="4"] .bingo__title{font-size:12pt}.bingo__grid{border-radius:0}.bingo__cell{box-shadow:none;outline:0.35mm solid var(--ink);font-size:calc(var(--bingo-type) * var(--bingo-scale) * 1cqi)}.bingo__mark,button.bingo__mark[aria-pressed="true"],.bingo__cell--free .bingo__mark{background:var(--surface);color:var(--ink);box-shadow:none}}.deck{display:grid;gap:var(--space-4);container-type:inline-size}.deck > *{min-width:0;margin:0}.deck__controls{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3);max-width:36rem}.deck__controls .btn{min-width:0;padding-inline:var(--space-3);white-space:nowrap}.deck__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.deck__note p{margin:0}.deck__card{align-content:center;min-height:12rem;padding:var(--space-5) var(--space-4);border:1.5px solid var(--line-strong)}.deck[data-type="question"] .deck__card{min-height:17rem}.deck[data-type="choice"] .deck__card{min-height:19rem}.deck__card > *{min-width:0;max-width:100%}.deck__text{display:grid;justify-items:center;gap:var(--space-1);font-size:var(--step-5);overflow-wrap:anywhere}.deck__text--long{max-width:32ch;font-size:var(--step-3);line-height:1.2}.deck__text--prompt{font-size:var(--step-2)}.deck__emoji{font-size:1.15em;line-height:1.1}.deck__emoji:empty{display:none}.deck__answer{display:grid;justify-items:center;align-content:start;gap:var(--space-2);min-height:6.75rem;margin-top:var(--space-2)}.deck__reveal{min-width:10rem;cursor:pointer}.deck__reveal::-webkit-details-marker{display:none}.deck__answer[open] .deck__closed,.deck__answer:not([open]) .deck__open{display:none}.deck__answer-text{max-width:40ch;margin:0;font-size:var(--step-1);line-height:1.3}.deck__answer-label{display:block;color:var(--ink-muted);font-size:var(--step--1);font-weight:700;letter-spacing:0.06em;text-transform:uppercase}.deck__answer-note{display:block;color:var(--ink-muted);font-size:var(--step-0)}.deck__answer-note:empty{display:none}.deck__options{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:var(--space-3);width:100%;max-width:44rem}.deck__option{display:grid;grid-template-rows:1fr auto auto;gap:var(--space-2);min-width:0;min-height:7.5rem;padding:var(--space-4) var(--space-3) var(--space-3);border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;text-align:center;cursor:pointer;transition:border-color 0.15s var(--ease),box-shadow 0.15s var(--ease)}.deck__option:hover{border-color:var(--brand);box-shadow:var(--shadow-1)}.deck__option:active{background:var(--brand-soft)}.deck__option-text{align-self:center;font:var(--display-weight) var(--step-1) / 1.2 var(--font-display);overflow-wrap:anywhere;text-wrap:balance}.deck__votes{color:var(--ink-muted);font-size:var(--step--1);font-variant-numeric:tabular-nums}.deck__bar{display:block;overflow:hidden;height:0.375rem;border-radius:var(--radius-pill);background:var(--surface-2)}.deck__bar > span{display:block;width:0;height:100%;border-radius:inherit;background:var(--brand);transition:width 0.3s var(--ease)}.deck__or{align-self:center;color:var(--ink-muted);font-weight:700;text-transform:uppercase}.deck__vote-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-1) var(--space-3);min-height:2.25rem;margin:0}.deck__round{min-width:10rem}.deck__teams{display:grid;gap:var(--space-3)}.deck__heading{margin:0;font-size:var(--step-0)}.deck__team-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.deck__team{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2) var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.deck__team-name{grid-column:1 / -1;min-width:0;font-weight:700}.deck__score{padding-left:var(--space-1)}.deck__team-buttons{display:flex;gap:var(--space-2)}.deck__plus{min-width:4.5rem;font-weight:750}.deck__team-tools{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.deck__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.deck__status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.deck__status .tool-status{font-variant-numeric:tabular-nums}.deck__progress{flex:1 1 4rem;max-width:16rem}.deck__norepeat{margin-left:auto}@container (max-width:34rem){.deck__controls{gap:var(--space-2)}.deck__card{padding:var(--space-4) var(--space-3)}.deck__options{grid-template-columns:1fr;gap:var(--space-2)}.deck__option{min-height:5.5rem;padding-top:var(--space-3)}.deck__or{font-size:var(--step--1)}.deck__groups{flex-wrap:nowrap;width:100%;margin-inline:calc(var(--space-1) * -1);padding:var(--space-1);overflow-x:auto;scrollbar-width:none}.deck__groups .pill{flex:none}.deck__norepeat{margin-left:0}}@media print{.deck__print-title{margin-bottom:4mm;font:700 16pt / 1.2 var(--font-display)}.deck__card,.deck[data-type] .deck__card{min-height:0;padding:8mm;border:0.4mm solid #000;break-inside:avoid}.deck__text{font-size:28pt}.deck__text--long,.deck__text--prompt{font-size:18pt}.deck__answer{min-height:0}.deck__option{min-height:0;border:0.3mm solid #000}.deck__option-text{font-size:14pt}.deck__bar{display:none}}.letters{display:grid;gap:var(--space-4);container-type:inline-size}.letters > *{min-width:0;margin:0}.letters__round{display:grid;gap:var(--space-4)}.letters__round > *,.letters__side > *{min-width:0;margin:0}.letters__side{display:contents}.letters__list{order:1}.letters .timer{order:2}.letters__head{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:var(--space-2) var(--space-3);align-items:stretch}.letters__tile{display:grid;grid-row:1 / 3;align-content:center;justify-items:center;width:6.5rem;margin:0;border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);line-height:1}.letters__tile-label{color:var(--ink-muted);font-size:var(--step--1);font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.letters__letter{font:var(--display-weight) var(--step-5) / 1 var(--font-display)}.letters__new{grid-column:2 / 4}.letters__part{padding-inline:var(--space-2)}.letters__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.letters__note p{margin:0}.letters__list{display:grid;margin:0;padding:0;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);list-style:none;counter-reset:category}.letters__list li{display:grid;grid-template-columns:2.2ch minmax(0,1fr);gap:var(--space-3);align-items:baseline;padding:var(--space-2) var(--space-4);line-height:1.3;counter-increment:category;overflow-wrap:anywhere}.letters__list li + li{border-top:1px solid var(--line)}.letters__list li::before{content:counter(category);color:var(--ink-muted);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.letters__setup{border-top:1px solid var(--line);padding-top:var(--space-2)}.letters__setup > summary{display:flex;align-items:center;min-height:var(--tap);font-weight:700;cursor:pointer}.letters__setup > summary::before{content:"";width:0.5em;height:0.5em;margin-right:var(--space-3);border:solid currentcolor;border-width:0 2px 2px 0;transform:rotate(-45deg)}.letters__setup[open] > summary::before{transform:rotate(45deg)}.letters__setup > summary::-webkit-details-marker{display:none}.letters__setup > * + *{margin-top:var(--space-3)}.letters__switches{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:var(--space-2);max-width:44rem}.letters__switch{justify-content:center;min-height:var(--tap);padding-inline:0;font-size:var(--step-0)}.letters__switch[aria-pressed="false"]{border-style:dashed;color:var(--ink-muted);text-decoration:line-through}.letters__setup-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}@container (max-width:34rem){.letters__tile{width:5.5rem}.letters__bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.letters__bar .btn{padding-inline:var(--space-2)}.letters__bar > :last-child:nth-child(odd){grid-column:1 / -1}}@container (min-width:46rem){.letters__round{grid-template-columns:minmax(18rem,23rem) minmax(0,1fr);gap:var(--space-5);align-items:start}.letters__side{display:grid;gap:var(--space-4)}.letters__list{display:block;columns:2;column-gap:0;column-rule:1px solid var(--line)}.letters__list li,.letters__list li + li{break-inside:avoid;border-top:0;border-bottom:1px solid var(--line)}}@media print{.letters{display:block}.letters__sheet{color:var(--ink);font-size:11pt}.letters__sheet-title{margin:0 0 4mm;font:700 18pt / 1.2 var(--font-display)}.letters__sheet-name{display:flex;align-items:flex-end;gap:3mm;margin:0 0 6mm;font-weight:700}.letters__rule{flex:0 1 80mm;border-bottom:0.3mm solid var(--ink)}.letters__table{width:100%;border-collapse:collapse;table-layout:fixed}.letters__table th,.letters__table td{height:10.5mm;padding:1mm 2mm;border:0.3mm solid var(--ink);font-weight:400;line-height:1.2;text-align:left;vertical-align:middle}.letters__table thead th{height:13mm;font-size:9.5pt;font-weight:700;white-space:nowrap}.letters__table thead th:first-child{width:34%}.letters__table tfoot th{font-weight:700;text-align:right}.letters__table tr{break-inside:avoid}.letters__box{display:inline-block;width:9mm;height:9mm;margin-left:1.5mm;border:0.4mm solid var(--ink);font:700 15pt / 8.2mm var(--font-display);text-align:center;vertical-align:middle}.letters__n{display:inline-block;min-width:5mm;color:var(--ink-muted);font-weight:700}.letters__sheet-rules{margin:5mm 0 0;color:var(--ink-muted);font-size:9.5pt;line-height:1.4}}.namepicker{display:grid;gap:var(--space-4);container-type:inline-size}.namepicker > *{min-width:0;margin:0}.namepicker__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.namepicker__controls > .btn{flex:1 1 14rem;max-width:24rem}.namepicker__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.namepicker__stage{display:grid;gap:var(--space-4);align-items:center}.namepicker__card{min-height:11rem}.namepicker__card .result-card__text{font-size:clamp(2.25rem,1rem + 9cqi,5rem);overflow-wrap:anywhere}.namepicker__wheel{display:grid;place-items:center}.namepicker__wheel canvas{width:min(100%,26rem);height:auto;aspect-ratio:1}.namepicker[data-view="wheel"] .namepicker__card{min-height:7rem}.namepicker[data-view="wheel"] .namepicker__card .result-card__text{font-size:clamp(1.75rem,1rem + 5cqi,3rem)}@container (min-width:44rem){.namepicker[data-view="wheel"] .namepicker__stage{grid-template-columns:minmax(0,26rem) minmax(0,1fr)}}.namepicker__progress{display:grid;gap:var(--space-2)}.namepicker__progress progress{appearance:none}.namepicker__progress progress::-webkit-progress-bar{background:var(--line)}.namepicker__progress progress::-webkit-progress-value{border-radius:var(--radius-pill);background:var(--brand);transition:width 0.3s var(--ease)}.namepicker__progress progress::-moz-progress-bar{border-radius:var(--radius-pill);background:var(--brand)}.namepicker__history-title{margin:0 0 var(--space-2);font-size:var(--step-0)}.namepicker__picked{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none;counter-reset:pick}.namepicker__picked li{padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--step--1);overflow-wrap:anywhere;counter-increment:pick}.namepicker__picked li::before{content:counter(pick) ". ";color:var(--ink-muted);font-weight:700}.namepicker__privacy{display:flex;align-items:center;gap:var(--space-2)}.namepicker .roster{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.namepicker .roster > summary{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-4);font-size:var(--step--1);cursor:pointer}.namepicker .roster > summary::after{content:"Change";margin-left:auto;color:var(--link);font-weight:700}.namepicker .roster[open] > summary::after{content:"Close"}.namepicker .roster__label{font-weight:700}.namepicker .roster__body{padding:var(--space-2) var(--space-4) var(--space-4)}@media print{.namepicker__print-title{margin-bottom:4mm;font:700 16pt / 1.2 var(--font-display)}.namepicker__card{display:none}.namepicker__picked{display:block;columns:3}.namepicker__picked li{padding:1mm 0;border:0;font-size:11pt;break-inside:avoid}}.picker{display:grid;gap:var(--space-4);container-type:inline-size}.picker > *{min-width:0;margin:0}.picker__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.picker__new{flex:1 1 14rem;max-width:26rem}.picker__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.picker__note p{margin:0}.picker__item{flex-wrap:wrap;row-gap:0;padding-block:var(--space-2)}.picker__item .result__body{flex:1 1 9rem}.picker__item .result__text{overflow-wrap:anywhere}.picker__actions{margin:0 calc(var(--space-2) * -1) 0 auto}.picker__img,.picker__item .result__emoji{flex:none;width:2.5rem}.picker__img{height:2.5rem;object-fit:contain;filter:drop-shadow(0 0 1px var(--line-strong))}.picker[data-count="1"] .picker__item{min-height:6.5rem;padding:var(--space-4)}.picker[data-count="1"] .picker__item::before,.picker[data-count="1"] [data-act="lock"],.picker[data-count="1"] [data-act="swap"]{display:none}.picker[data-count="1"] .result__text{font-size:var(--step-4);line-height:1.15;text-wrap:balance}.picker[data-count="1"] .result__emoji{width:auto;font-size:var(--step-5)}.picker[data-count="1"] .result__emoji:empty{display:none}.picker[data-count="1"] .picker__img{width:4.5rem;height:4.5rem}@container (min-width:54rem){.picker--plain:not([data-count="1"]) .picker__list{grid-template-columns:1fr 1fr}}.picker__daily{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface)}.picker__daily-label{overflow:hidden;margin:0;color:var(--ink-muted);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap}.picker__daily-label strong{margin-right:var(--space-2);color:var(--ink);letter-spacing:0.06em;text-transform:uppercase}.picker__daily-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:1.75rem;margin:0}.picker__daily-text{font:var(--display-weight) var(--step-1) / 1.25 var(--font-display)}.picker__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.picker__letter{display:flex;align-items:center;gap:var(--space-2)}.picker__letter .label{margin:0;white-space:nowrap}.picker__letter .select{width:auto;min-width:8.5rem}.picker__status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.picker__status .tool-status{font-variant-numeric:tabular-nums}.picker__progress{flex:1 1 4rem;max-width:16rem}.picker__hint{display:none;margin-left:auto}@media (hover:hover) and (pointer:fine){.picker__hint{display:block}}@container (max-width:34rem){.picker__groups{flex-wrap:nowrap;width:100%;margin-inline:calc(var(--space-1) * -1);padding:var(--space-1);overflow-x:auto;scrollbar-width:none}.picker__groups .pill{flex:none}.picker__item{column-gap:var(--space-2);padding-bottom:0}.picker__img,.picker__item .result__emoji{width:2rem}.picker__img{height:2rem}.picker__hint{display:none}.picker__bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.picker__bar .btn{padding-inline:var(--space-2)}}@media print{.picker__print-title{margin-bottom:4mm;font:700 16pt / 1.2 var(--font-display)}.picker__list{display:block;columns:2}.picker__item{min-height:0;margin-bottom:2mm;padding:1.5mm 0;border:0;border-bottom:0.3mm solid var(--line);border-radius:0}}.quiz{display:grid;gap:var(--space-3);container-type:inline-size}.quiz > *{min-width:0;margin:0}.quiz__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.quiz__head > *{margin:0}.quiz__clock{font-weight:700;font-variant-numeric:tabular-nums}.quiz__clock[data-low]{color:var(--bad)}.quiz__clock[data-low]::after{content:" left"}.quiz__card{position:relative;display:grid;gap:var(--space-3);overflow:hidden;padding:var(--space-4);border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.quiz__card::before{content:"";position:absolute;inset:0 auto auto 0;width:var(--quiz-done,0%);height:4px;background:var(--brand)}.quiz__card > *{min-width:0;margin:0}.quiz__question{min-width:0;margin:0;padding:0;border:0}.quiz__q{padding:0 0 var(--space-3);font:var(--display-weight) var(--step-1) / 1.3 var(--font-display);text-wrap:pretty}.quiz__choices{display:grid;gap:var(--space-2)}.quiz__choices[data-short]{grid-template-columns:1fr 1fr}.quiz__choice{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-height:var(--tap);padding:var(--space-2);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer}.quiz__choice:hover{border-color:var(--brand)}.quiz__choice:has(:checked){border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.quiz__choice:has(:focus-visible){outline:3px solid var(--ring);outline-offset:2px}.quiz__choice:has(:disabled){cursor:default}.quiz__choice input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.quiz__letter{flex:none;display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-muted);font-size:var(--step--1);font-weight:700}.quiz__choice:has(:checked) .quiz__letter{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.quiz__text{flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}.quiz__choices[data-short] .quiz__text{flex-basis:3rem}.quiz__choice[data-mark="right"]{border-color:var(--ok);background:var(--ok-soft);box-shadow:inset 0 0 0 1px var(--ok)}.quiz__choice[data-mark="wrong"]{border-color:var(--bad);background:var(--bad-soft);box-shadow:inset 0 0 0 1px var(--bad)}.quiz__mark .icon,.quiz__verdict .icon{width:1em;height:1em}.quiz__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.quiz__go{flex:1 1 8rem}.quiz__finish,.quiz__banks{justify-self:start}@media (max-width:47.99rem){.quiz__actions{position:sticky;bottom:0;z-index:1;flex-wrap:nowrap;margin-inline:calc(var(--space-2) * -1);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,0px));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1)}html[data-anchor-pad] .quiz__actions{position:static}.quiz__hint,.quiz__feedback{scroll-margin-bottom:calc(var(--tap) * 2 + var(--space-3))}}.quiz__flag[aria-pressed="true"] .icon{fill:currentColor}.quiz__feedback{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-inline-start:4px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2)}.quiz__feedback > *,.quiz__missed li > *{max-width:var(--measure);margin:0}.quiz__source,.quiz__unofficial{color:var(--ink-muted);font-size:var(--step--1)}.quiz__settings{display:grid;gap:var(--space-3);justify-items:start}.quiz__settings > *,.quiz__piles > *{margin:0}.quiz__settings .segmented{max-width:100%}.quiz .pill{justify-content:center;min-width:var(--tap);min-height:var(--tap)}.quiz__facts:empty{display:none}.quiz__topic{width:min(100%,26rem)}.quiz__piles{display:grid;gap:var(--space-2);justify-items:start}.quiz__stats{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:end;padding-top:var(--space-3);border-top:1px solid var(--line)}.quiz__seen{flex-basis:100%;margin:0}.quiz__score{font:var(--display-weight) var(--step-3) / 1.15 var(--font-display)}.quiz__weak{margin-inline-start:var(--space-2)}.quiz__topics td{white-space:nowrap;font-variant-numeric:tabular-nums}.quiz__review{display:grid;gap:var(--space-3);justify-items:start}.quiz__review > *{margin:0}.quiz__review-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quiz__review-actions:empty{display:none}.quiz__review-title{font-size:var(--step-1)}.quiz__missed{display:grid;gap:var(--space-4);margin:0;padding-inline-start:var(--space-5)}.quiz__missed li{padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.quiz__missed li::marker{font-weight:700}.quiz__missed li > * + *{margin-top:var(--space-1)}.quiz__review-q{font-weight:700}@container (max-width:26rem){.quiz__card{padding:var(--space-3)}.quiz__actions .btn{padding-inline:var(--space-3)}.quiz__go{font-size:var(--step-0)}.quiz__piles .pill{padding-inline:var(--space-3)}.quiz__flag-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.quiz__stats .stat__value{font-size:var(--step-2)}}@media (prefers-reduced-motion:no-preference){.quiz__card::before{transition:width 0.3s var(--ease)}}@media print{.quiz > :not(.quiz__paper){display:none !important}.quiz__paper{color-scheme:light;--ink:CanvasText;--ink-muted:CanvasText;color:var(--ink);font-size:11pt}.quiz__paper-title{margin:0 0 4pt;font-size:15pt}.quiz__paper-facts,.quiz__paper-line,.quiz__paper-source{margin:0;font-size:9pt}.quiz__paper-name{margin:12pt 0}.quiz__paper-list,.quiz__paper-key{margin:10pt 0;padding-inline-start:22pt}.quiz__paper-list > li,.quiz__paper-key > li{margin-bottom:9pt;break-inside:avoid}.quiz__paper-list p,.quiz__paper-key p{margin:0 0 2pt}.quiz__paper-q{font-weight:700}.quiz__paper-choices{margin:2pt 0 0;padding-inline-start:20pt}.quiz__paper-choices[data-row]{display:flex;flex-wrap:wrap;gap:0 28pt}.quiz__paper-list{columns:2;column-gap:24pt}.quiz__paper-head{padding-bottom:6pt;border-bottom:1pt solid var(--line)}html[data-print="tool"] body{min-height:0}}.scoresheet{display:grid;gap:var(--space-3);min-width:0;container-type:inline-size}.scoresheet [data-off]{display:none}@media screen{.scoresheet [data-later],.scoresheet__n{display:none}}.scoresheet__sheet{display:grid;gap:var(--space-2);min-width:0}.scoresheet__grid th,.scoresheet__grid td{padding:var(--space-1) var(--space-2);vertical-align:middle}.scoresheet__corner,.scoresheet__grid tbody th{position:sticky;z-index:1;left:0;min-width:6.5rem;max-width:8.5rem;background:var(--surface)}.scoresheet__grid thead .scoresheet__corner{background:var(--surface-2)}.scoresheet__grid .scoresheet__label{white-space:normal;font-weight:650}.scoresheet__grid thead .scoresheet__label{min-width:5.5rem;vertical-align:bottom}.scoresheet__how,.scoresheet__weight,.scoresheet__mark,.scoresheet__run,.scoresheet__part > span{display:block;color:var(--ink-muted);font-size:var(--step--1);font-weight:400;line-height:1.3}.scoresheet__weight{color:var(--ink);font-weight:650}.scoresheet__mark{min-height:1.3em;color:var(--ok);font-weight:650;white-space:nowrap}.scoresheet__run{min-height:1.3em;text-align:center}.scoresheet__name{min-width:5.25rem;padding-inline:var(--space-2);font-weight:650}.scoresheet__box{min-width:3.5rem;padding-inline:var(--space-1);text-align:center;font-variant-numeric:tabular-nums}.scoresheet__box--text{min-width:5.5rem}.scoresheet__cell{position:relative}.scoresheet__cell[data-flag]::after{content:"!";position:absolute;top:0;right:var(--space-1);color:var(--bad);font-weight:800}.scoresheet__parts{display:flex;gap:var(--space-1);align-items:end}.scoresheet__part{display:grid;flex:1;text-align:center}.scoresheet__part .scoresheet__box{min-width:2.75rem}.scoresheet__out{display:block;min-height:1.5em;text-align:center;font-weight:700}.scoresheet__grid tr:is([data-kind="sum"],[data-kind="bonus"],[data-kind="calc"]) > *{background:var(--surface-2)}.scoresheet__grid tr[data-final] > *{border-top:2px solid var(--line-strong);font-size:var(--step-0)}.scoresheet__flags,.scoresheet__standing{min-height:2.9em;margin:0;font-size:var(--step--1);line-height:1.45}.scoresheet__flags{color:var(--bad);font-weight:650}.scoresheet__keyhead{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:var(--display-weight)}.scoresheet__keylist{margin:0;font-size:var(--step--1)}.scoresheet__keyline{margin:0 0 var(--space-2);break-inside:avoid}.scoresheet__keyline dt{font-weight:650}.scoresheet__keyline dd{margin:0;color:var(--ink-muted)}.scoresheet__points{float:right;font-variant-numeric:tabular-nums}@container (min-width:34rem){.scoresheet__corner,.scoresheet__grid tbody th{max-width:16rem}.scoresheet__keylist{columns:2;column-gap:var(--space-5)}}@media print{body:has(.scoresheet){min-height:0}main:has(.scoresheet) > :not(.tool){display:none !important}.scoresheet{display:block}.scoresheet__title{margin:0 0 3mm;font-size:15pt;font-weight:700;line-height:1.2}.scoresheet__wrap{overflow:visible;border:0;border-radius:0}.scoresheet__grid{table-layout:fixed;font-size:9pt;line-height:1.25}.scoresheet .scoresheet__grid :is(thead,tbody) tr > :is(th,td){position:relative;min-width:0;max-width:none;height:7.5mm;padding:0.5mm 1.5mm;border:0.5pt solid var(--ink);background:none;font-size:9pt}.scoresheet .scoresheet__grid :is(thead,tbody) tr[data-final] > :is(th,td){border-top-width:1.5pt}.scoresheet .scoresheet__grid .scoresheet__corner{width:30%}.scoresheet[data-axis="entries"] .scoresheet__grid .scoresheet__corner{width:26%}.scoresheet .scoresheet__grid thead tr > .scoresheet__label{padding-inline:1mm;font-size:8pt;hyphens:auto}.scoresheet[data-print-cols] :is(th,td)[data-off]{display:table-cell}.scoresheet[data-print-cols] tr[data-off]{display:table-row}.scoresheet .input{width:100%;min-width:0;min-height:0;height:6mm;padding:0;border:0;border-radius:0;background:none;font-size:10pt}.scoresheet .scoresheet__name{width:calc(100% - 6mm);border-bottom:0.5pt solid var(--ink)}.scoresheet__part .input{border-bottom:0.5pt solid var(--ink)}.scoresheet__parts{display:inline-flex;width:55%;vertical-align:bottom}.scoresheet__parts ~ :is(.scoresheet__out,.scoresheet__run){display:inline-block;width:20%;min-height:0;vertical-align:bottom}.scoresheet__parts ~ .scoresheet__run{width:24%;text-align:right}.scoresheet__how,.scoresheet__weight,.scoresheet__mark,.scoresheet__run,.scoresheet__part > span{font-size:7pt}.scoresheet__mark{min-height:0;color:var(--ink)}.scoresheet[data-axis="entries"] .scoresheet__mark{position:absolute;top:0.3mm;right:1mm}.scoresheet__flags,.scoresheet__cell[data-flag]::after{display:none}.scoresheet__standing{min-height:0;margin-top:2mm;font-size:9pt}.scoresheet[data-print-blank] .input,.scoresheet[data-print-blank] .input::placeholder{color:transparent}.scoresheet[data-print-blank] :is(.scoresheet__out,.scoresheet__run,.scoresheet__mark,.scoresheet__standing){visibility:hidden}.scoresheet__key{margin-top:4mm;break-inside:avoid}.scoresheet__keyhead{margin-bottom:1.5mm;font-size:10pt}.scoresheet__keylist{columns:2;column-gap:8mm;font-size:8pt;line-height:1.35}.scoresheet__keyline{margin-bottom:1.5mm}}.slots{display:grid;gap:var(--space-4);container-type:inline-size}.slots > *{min-width:0;margin:0}.slots__controls{display:flex}.slots__new{flex:1 1 14rem;max-width:26rem}.slots__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.slots__note p{margin:0}.slots__card{min-height:12rem;padding:var(--space-4);align-content:center}.slots__sentence{max-width:28ch;font-size:var(--step-2);line-height:1.25;overflow-wrap:anywhere}.slots__fill{border-radius:var(--radius-sm);background:linear-gradient(transparent 58%,var(--brand-soft) 58%);-webkit-box-decoration-break:clone;box-decoration-break:clone}.slots__card-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1)}.slots__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--space-2);padding:0;list-style:none}.slots__slot{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface)}.slots__slot[data-locked]{border-color:var(--brand);background:var(--brand-soft)}.slots__label{align-self:end;color:var(--ink-muted);font-size:var(--step--1);font-weight:700;letter-spacing:0.06em;line-height:1.2;text-transform:uppercase}.slots__word{grid-row:2;align-self:start;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.slots__actions{display:flex;grid-row:1 / 3;grid-column:2}.slots__history{border-top:1px solid var(--line);padding-top:var(--space-2)}.slots__history > summary{display:flex;align-items:center;min-height:var(--tap);font-weight:700;cursor:pointer}.slots__history > summary::before{content:"";width:0.5em;height:0.5em;margin-right:var(--space-3);border:solid currentcolor;border-width:0 2px 2px 0;transform:rotate(-45deg)}.slots__history[open] > summary::before{transform:rotate(45deg)}.slots__history > summary::-webkit-details-marker{display:none}.slots__history-list{display:grid;margin:0 0 var(--space-2);padding:0;list-style:none}.slots__history-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--space-3);padding-block:var(--space-1);border-bottom:1px solid var(--line)}.slots__history-text{flex:1 1 14rem;overflow-wrap:anywhere}.slots__history-actions{display:flex;align-items:center;margin-left:auto}.slots__daily{display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface)}.slots__daily-label{overflow:hidden;margin:0;color:var(--ink-muted);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap}.slots__daily-label strong{margin-right:var(--space-2);color:var(--ink);letter-spacing:0.06em;text-transform:uppercase}.slots__daily-text{display:flex;align-items:center;min-height:2.6em;margin:0;font:var(--display-weight) var(--step-0) / 1.3 var(--font-display)}.slots__daily-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);min-height:2.25rem;margin:0}@container (min-width:48rem){.slots__card{min-height:13.5rem}.slots__sentence{max-width:36ch;font-size:var(--step-3)}}@container (max-width:34rem){.slots__card{min-height:10.5rem;padding:var(--space-3)}.slots__daily-label{min-height:3.2em}.slots__daily-label strong{display:block}.slots__bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.slots__bar .btn{padding-inline:var(--space-2)}.slots__bar > :last-child:nth-child(odd){grid-column:1 / -1}}@media print{.slots{display:block}.slots__print-title{margin-bottom:5mm;font:700 16pt / 1.2 var(--font-display)}.slots__sheet{margin:0;padding-left:9mm;font-size:12pt;line-height:1.35}.slots__sheet li{padding:1.8mm 0 1.8mm 1mm;border-bottom:0.2mm solid var(--line);break-inside:avoid}.slots__fill{background:none;font-weight:700}}.story{display:grid;gap:var(--space-4);container-type:inline-size}.story > *{min-width:0;margin:0}.story__controls{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3) var(--space-4)}.story__start{flex:1 1 16rem;max-width:26rem}.story__pick{display:grid;flex:1 1 12rem;gap:var(--space-1);max-width:24rem}.story__status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);min-height:2.25rem}.story__form{display:grid;gap:var(--space-4);max-width:36rem}.story__form > *{margin:0}.story__step{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-3);color:var(--ink-muted);font-size:var(--step--1)}.story__step strong{color:var(--ink);letter-spacing:0.06em;text-transform:uppercase}.story .story__ask{font:var(--display-weight) var(--step-3) / 1.15 var(--font-display)}.story__field .hint{font-size:var(--step-0)}.story__input{min-height:3.5rem;margin-top:var(--space-2);font-size:var(--step-1)}.story__error{min-height:1.5em;margin:0;color:var(--bad);font-size:var(--step--1);font-weight:700;line-height:1.5}.story__form-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.story__paper{display:grid;gap:var(--space-3);padding:var(--space-5);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface)}.story__paper > *{margin:0}.story__title{font:var(--display-weight) var(--step-2) / 1.2 var(--font-display);text-wrap:balance}.story__title:focus{outline:none}.story__text{display:grid;gap:var(--space-3);max-width:var(--measure);font-size:var(--step-0);line-height:1.7;overflow-wrap:anywhere}.story__text p{margin:0}.story__fill{padding-inline:0.15em;border-radius:var(--radius-sm);background:var(--brand-soft);font-weight:700;-webkit-box-decoration-break:clone;box-decoration-break:clone}.story__paper[data-story-kind="shared"]{border-style:dashed;border-color:var(--line-strong)}.story__aloud{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:var(--space-4) var(--gutter) var(--space-7);border:0;background:var(--surface);color:var(--ink);overflow-y:auto}.story__aloud[open]{display:grid;align-content:start;justify-items:center;gap:var(--space-4)}.story__aloud::backdrop{background:var(--surface)}.story__aloud > *{width:100%;max-width:46rem;margin:0}.story__aloud-head{display:flex;justify-content:flex-end}.story__aloud .story__title{font-size:var(--step-4)}.story__aloud .story__text{gap:var(--space-5);font-size:var(--step-3);line-height:1.5}@container (max-width:34rem){.story__paper{padding:var(--space-4)}.story .story__ask{font-size:var(--step-2)}.story__form-buttons{display:grid;grid-template-columns:repeat(3,auto);justify-content:start}.story__form-buttons > [type="submit"]{grid-column:1 / -1;justify-self:stretch}.story__form-buttons .btn:not([type="submit"]){padding-inline:var(--space-3)}.story__bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.story__bar .btn{padding-inline:var(--space-2)}.story__bar > :last-child:nth-child(odd){grid-column:1 / -1}}@media print{.story{display:block}.story__aloud{display:none !important}.story__paper{display:block;padding:0;border:0}.story__title{margin-bottom:6mm;font:700 18pt / 1.2 var(--font-display)}.story__text{display:block;max-width:none;font-size:13pt;line-height:1.6}.story__text p{margin-bottom:4mm;orphans:2;widows:2}.story__fill{padding:0;background:none;font-weight:700;text-decoration:underline;text-underline-offset:0.15em}.story:not([data-blank]) .story__asks{display:none}.story__asks{break-after:page;font-size:12pt;line-height:1.4}.story__asks p{margin:0 0 5mm}.story__asks .story__asks-title{font:700 18pt / 1.2 var(--font-display)}.story__asks ol{margin:0;padding-left:9mm;columns:2;column-gap:12mm}.story__asks li{padding:3.2mm 0 0 1mm;break-inside:avoid}.story__asks li > span:first-child{display:inline-block;min-width:34mm}.story__asks-line{display:inline-block;width:38mm;border-bottom:0.3mm solid var(--ink)}.story[data-blank] .story__text{line-height:2.7}.story[data-blank] .story__fill{position:relative;display:inline-block;width:36mm;height:5mm;overflow:visible;border-bottom:0.3mm solid var(--ink);border-radius:0;font-size:0;text-decoration:none;vertical-align:baseline;white-space:nowrap}.story[data-blank] .story__fill::after{content:attr(data-n) ". " attr(data-ask);position:absolute;top:100%;right:0;left:0;color:var(--ink-muted);font-size:7.5pt;font-weight:400;line-height:1.5;text-align:center}.story[data-blank] .story__article{font-size:0}.story[data-blank] .story__article::after{content:attr(data-both) "\a0";font-size:13pt}}.sg{display:grid;gap:var(--space-4);container-type:inline-size}.sg > *,.sg__play > *{min-width:0;margin:0}.sg__play{display:grid;gap:var(--space-4)}.sg__modes{justify-self:start}.sg__controls{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3);max-width:36rem}.sg__controls .btn{min-width:0;padding-inline:var(--space-3);white-space:nowrap}.sg__note,.sgm__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4)}.sg__note{scroll-margin-top:calc(var(--tap) + var(--space-6))}.sg__note p,.sgm__note p{margin:0}.sg__board{align-content:start;gap:var(--space-3);padding:var(--space-5) var(--space-4);border:1.5px solid var(--line-strong)}.sg__board > *{min-width:0;max-width:100%}.sg__question{display:grid;align-content:center;max-width:34ch;min-height:2.4em;font-size:var(--step-2);line-height:1.2;overflow-wrap:anywhere}.sg__tiles{display:grid;grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--sg-rows,4),auto);gap:var(--space-2) var(--space-3);width:100%;max-width:44rem;margin:0;padding:0;list-style:none;text-align:left}.sg__tile{position:relative;min-height:3.25rem;border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2)}.sg__tile[open]{border-color:var(--brand);background:var(--surface)}.sg__cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-2);border-radius:inherit;list-style:none;cursor:pointer}.sg__cover::-webkit-details-marker{display:none}.sg__cover:hover .sg__number{background:var(--brand);color:var(--surface)}.sg__number{display:grid;flex:none;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--brand-soft);color:var(--ink);font:var(--display-weight) var(--step-1) / 1 var(--font-display);font-variant-numeric:tabular-nums;transition:background-color 0.15s var(--ease),color 0.15s var(--ease)}.sg__tile[open] .sg__cover{right:auto;width:3.25rem;padding:0}.sg__peek{min-width:0;overflow:hidden;color:var(--ink-muted);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap}.sg__tile[open] .sg__peek{display:none}.sg__answer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:3rem;margin:0 0 0 3.25rem;padding:var(--space-1) var(--space-3) var(--space-1) 0;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.sg__points{flex:none;min-width:2.25rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--brand-soft);font-variant-numeric:tabular-nums;text-align:center}.sg__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-5);width:100%;max-width:44rem}.sg__foot p{margin:0}.sg__strikes{display:flex;gap:var(--space-2)}.sg__x{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:2px dashed var(--line-strong);border-radius:var(--radius-sm);color:transparent;font-weight:800}.sg__x.is-on{border:2px solid var(--bad);background:var(--bad);color:#fff}.sg__pot{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-muted)}.sg__pot b{min-width:2ch;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.sg__teams{display:grid;gap:var(--space-3)}.sg__heading{margin:0;font-size:var(--step-0)}.sg__team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.sg__team{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-2) var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.sg__team-name{grid-column:1 / -1;min-width:0;font-weight:700}.sg__score{padding-left:var(--space-1);font-variant-numeric:tabular-nums}.sg__give{min-width:0;white-space:nowrap}.sg__game{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line)}.sg__pick{max-width:24rem}.sg__tools{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.sg__prefs{display:grid;gap:var(--space-1)}.sgm{display:grid;gap:var(--space-4);max-width:44rem}.sgm > *{min-width:0;margin:0}.sgm__title:focus{outline:none}.sgm__round{display:grid;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.sgm__legend{padding-inline:var(--space-2);font-weight:750}.sgm__head,.sgm__row{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 4.5rem var(--tap);align-items:center;gap:var(--space-2)}.sgm__head{margin:0;color:var(--ink-muted);font-size:var(--step--1);font-weight:700}.sgm__head > :first-child{grid-column:1 / 3}.sgm__rows{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.sgm__rank{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-weight:700;text-align:center}.sgm__row .input{min-width:0}.sgm__points{text-align:center}.sgm__round-tools,.sgm__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.sgm__more{display:grid;justify-items:start;gap:var(--space-2)}.sgm__problems ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}.sgm__problems p{margin:0}@container (max-width:34rem){.sg__controls{gap:var(--space-2)}.sg__board{padding:var(--space-4) var(--space-3)}.sg__question{font-size:var(--step-1)}.sg__tiles{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);grid-template-rows:none}.sg__team{grid-template-columns:1fr;justify-items:start;padding:var(--space-2)}.sg__give{width:100%;padding-inline:var(--space-2)}.sgm__round{padding-inline:var(--space-3)}.sgm__head,.sgm__row{grid-template-columns:1.25rem minmax(0,1fr) 3.75rem var(--tap);gap:var(--space-1)}}@media print{.sg__board{display:none}.sg__sheet-title{margin:0 0 5mm;font:700 16pt / 1.2 var(--font-display)}.sg__sheet-rounds{columns:2;column-gap:10mm;margin:0;padding-left:6mm}.sg__sheet-rounds > li{margin-bottom:5mm;break-inside:avoid}.sg__sheet-q{margin:0 0 1.5mm;font-weight:700}.sg__sheet-answers{margin:0;padding-left:5mm}.sg__sheet-answers li{padding:0.5mm 0}.sg__sheet-answers li::marker{color:#333}.sg__sheet-answers b{float:right;font-variant-numeric:tabular-nums}.sg__sheet-scores{width:100%;margin-top:4mm;border-collapse:collapse;break-inside:avoid}.sg__sheet-scores caption{padding-bottom:2mm;font-weight:700;text-align:left}.sg__sheet-scores th,.sg__sheet-scores td{height:8mm;padding:1mm 2mm;border:0.3mm solid #000;text-align:left}.sg__sheet-scores th:first-child{width:18mm}}

/* Brand hooks: what base.css lacks for a kit's inlined mark.svg. Loaded after
   the theme tokens and before brand.css, so a kit can still override all of it.
   Nothing here changes the header's height: the mark keeps the 2.25rem box
   that base.css gives .logo__mark. */

/* The tile (padding, ground, radius) is for the fallback letters. An inlined
   mark brings its own shape. Same specificity as base.css's
   html[data-header="bar"] .logo__mark, and later in the file, so it wins. */
html[data-header] .logo__mark--svg {
  min-width: 0;
  width: 2.25rem;
  padding: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  flex: none;
}

.logo__mark--svg > svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* logo.markSide: "right" */
.logo--mark-right {
  flex-direction: row-reverse;
}

@media print {
  .logo__mark--svg > svg {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

.logo__text{letter-spacing:-0.02em;font-weight:700}

/* Game Night Generator: party after dark. Loads after base.css and the theme
   tokens. Paint only, 8 KB cap. render.mjs writes both --mark values from
   mark.svg; the dark one's keyline is the dark band colour. */
:root{
--on-night:var(--surface);
--night-dim:var(--on-night);
/* Fixed names for the kit's own paint. In dark mode <main> swaps --brand and
   --brand-ink (end of file); these two never swap. */
--lit:var(--brand-ink);
--night:var(--brand);
/* Main button on cream: night card, marigold print, darker plum edge. */
--btn:var(--night);
--btn-ink:var(--lit);
--btn-edge:#0e0518;
--corner:calc(var(--radius) - 3px);
--deck:5px;
--deck2:10px;
--moon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.32 3.02A10 10 0 1 0 20.28 16.72A8.6 8.6 0 0 1 10.32 3.02Z'/%3E%3C/svg%3E");
--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg transform='rotate(14 37.9 29.8)'%3E%3Crect x='18.4' y='3.8' width='39' height='52' rx='9' fill='%2326103f'/%3E%3Crect x='20.9' y='6.3' width='34' height='47' rx='6.5' fill='%23fff6e6'/%3E%3C/g%3E%3Cg transform='rotate(-12 26.9 32.8)'%3E%3Crect x='6.4' y='5.3' width='41' height='55' rx='9' fill='%2326103f'/%3E%3Crect x='8.9' y='7.8' width='36' height='50' rx='6.5' fill='%23ffb81f'/%3E%3Cpath d='M25.51 21.21A12.5 12.5 0 1 0 38.81 38.23A10.8 10.8 0 0 1 25.51 21.21Z' fill='%2326103f'/%3E%3C/g%3E%3C/svg%3E");
--bulbs:radial-gradient(circle,var(--lit) 0 2.5px,transparent 3.2px) 0 0/32px 9px repeat-x,radial-gradient(circle,var(--accent) 0 2.5px,transparent 3.2px) 16px 0/32px 9px repeat-x;
}
@media (prefers-color-scheme:dark){
:root{--on-night:var(--ink);--btn:#fff6e6;--btn-ink:var(--night);--btn-edge:#8f80a6;--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg transform='rotate(14 37.9 29.8)'%3E%3Crect x='18.4' y='3.8' width='39' height='52' rx='9' fill='%232f1d66'/%3E%3Crect x='20.9' y='6.3' width='34' height='47' rx='6.5' fill='%23fff6e6'/%3E%3C/g%3E%3Cg transform='rotate(-12 26.9 32.8)'%3E%3Crect x='6.4' y='5.3' width='41' height='55' rx='9' fill='%232f1d66'/%3E%3Crect x='8.9' y='7.8' width='36' height='50' rx='6.5' fill='%23ffb81f'/%3E%3Cpath d='M25.51 21.21A12.5 12.5 0 1 0 38.81 38.23A10.8 10.8 0 0 1 25.51 21.21Z' fill='%232f1d66'/%3E%3C/g%3E%3C/svg%3E")}
}

@media screen{
@supports (color:color-mix(in srgb,red,blue)){
:root{
--night-dim:color-mix(in srgb,var(--on-night) 82%,var(--brand));
/* base.css mixes 45%, which is under 3:1 on this cream */
--line-strong:color-mix(in srgb,var(--ink) 55%,var(--surface));
}
}

/* Header: a night bar, a string of lights along its lower edge. */
html[data-header="bar"] .site-header{background:var(--bulbs),var(--night);background-position-y:100%}
html[data-header="bar"] .logo__mark{border-radius:0;background:var(--mark) center/contain no-repeat;color:transparent}
html[data-header="bar"] .site-nav a[aria-current]{background:var(--lit);color:var(--night)}

/* Night band behind breadcrumb and page head: a border-image painted outside
   the box, so nothing moves. */
.page>.breadcrumb,.page>.page-head,.page>.hero{
position:relative;
--up:.8rem;
--down:1rem;
--ring:var(--lit);
--btn:#fff6e6;
--btn-ink:var(--night);
--btn-edge:#8f80a6;
border-image:linear-gradient(var(--night),var(--night)) fill 0/0/var(--up) 100vmax var(--down);
color:var(--night-dim);
}
.page>:first-child{--up:1.5rem}
.page>.breadcrumb{--down:.8rem}
/* No tool below: the band stops under its own padding. */
.page>.hero{padding-bottom:var(--space-5);--down:0px}
.page>.page-head:not(:has(+.tool)){padding-bottom:var(--space-4);--down:0px}
/* Tool pages: the band runs on under the tool card's top. */
.page>.page-head:has(+.tool){--down:6rem}

/* Band text inherits dim cream; headline and links are lit. */
.page>.breadcrumb ol,.page>.breadcrumb li::after,.page-head .tagline,.page-head .meta,.hero .lede{color:inherit}
.page-head h1,.hero h1,.page>.page-head a:not(.btn),.page>.hero a:not(.btn){color:var(--lit)}

/* Wide screens: the mark sits in the band's empty right. */
@media (min-width:60rem){
.page>.hero::after,.page--text>.page-head:first-child::after{
content:"";
position:absolute;
top:50%;
right:3rem;
width:min(15rem,22vw);
aspect-ratio:1;
background:var(--mark) center/contain no-repeat;
transform:translateY(-54%) rotate(6deg);
}
.page--text>.page-head:first-child::after{right:auto;left:calc(100% + 4rem);width:7.5rem}
}

/* The tool is the top card of a deck: a stacked hard shadow. */
html[data-card="outlined"] .tool{box-shadow:var(--deck) var(--deck) 0 0 var(--lit),var(--deck) var(--deck) 0 2px var(--ink),var(--deck2) var(--deck2) 0 0 var(--accent),var(--deck2) var(--deck2) 0 2px var(--ink)}

/* The answer is a playing card: ink edge, and a moon pip set into its top
   edge, clear of any widget's text. ::before is the gap in the line. */
.result-card{position:relative;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.result-card::after,.tips li::before{
content:"";
border-radius:0;
background:var(--accent);
-webkit-mask:var(--moon) center/contain no-repeat;
mask:var(--moon) center/contain no-repeat;
}
.result-card::before,.result-card::after{position:absolute;top:-.62rem;left:1.1rem;width:1.7rem;height:1.2rem}
.result-card::before{content:"";background:var(--surface)}
.tips li::before{top:.35em;width:.9em;height:.9em}

/* Controls are cut like cards: card corners, never pills. */
.btn,.segmented{border-radius:var(--radius)}
.btn-sm,.pill,.chip,.badge,.site-nav a,.dataset-details>summary{border-radius:var(--corner)}

/* The main button is a card with a printed inner rule; it presses down. On
   night (the band, dark mode) it is a cream face. Never a marigold fill. */
.btn-primary{
--rule:4.5px;
--face:inset 0 0 0 3px var(--btn),inset 0 0 0 var(--rule) var(--btn-ink);
border-color:var(--btn);
background:var(--btn);
color:var(--btn-ink);
box-shadow:var(--face),0 4px 0 var(--btn-edge);
}
@media (hover:hover){.btn-primary:hover{--rule:6px}}
.btn-primary:active{box-shadow:var(--face),0 1px 0 var(--btn-edge);transform:translateY(3px)}
.btn-primary:disabled,.btn-primary[aria-disabled="true"]{transform:none}

.progress>span{background:var(--accent)}

/* Chips and tool cards lift off the table. */
.chip,.link-card{border-color:var(--ink);box-shadow:3px 3px 0 var(--line)}
.chip:hover,.link-card:hover{border-color:var(--ink);background:var(--surface);box-shadow:4px 4px 0 0 var(--lit),4px 4px 0 1.5px var(--ink)}

/* Confetti above section headings, out of the flow. */
.prose h2,.page>section>h2{position:relative}
.prose h2::before,.page>section>h2::before{
content:"";
position:absolute;
top:-.95rem;
left:0;
width:3rem;
height:.5rem;
background:linear-gradient(var(--accent),var(--accent)) 0 50%/1rem .3rem no-repeat,radial-gradient(circle at 1.7rem 50%,var(--lit) 0 .24rem,transparent .26rem),radial-gradient(circle at 2.65rem 50%,var(--ink) 0 .17rem,transparent .19rem);
}

/* Footer: back to night, lights along the top. */
.site-footer{--ring:var(--lit);border-top-color:var(--night);background:var(--bulbs),var(--night);background-position-y:.6rem;color:var(--on-night)}
.site-footer h2,.site-footer .footer-note a{color:var(--lit)}
.site-footer .footer-note,.site-footer .footer-legal{color:var(--night-dim)}
}

/* base.css's light --warn is 4.43:1 on its soft fill over this cream. */
@media screen and (prefers-color-scheme:light){
:root{--warn:#7a4f00}
}

/* Dark mode is the room with the lights off. Plum cannot be seen on the
   near-black page, so inside <main> the two brand tokens change places: what
   a widget draws with --brand is marigold, and what it writes on that is
   plum. Then a few dim stars behind the page. */
@media screen and (prefers-color-scheme:dark){
.page{--brand:var(--lit);--brand-ink:var(--night);--brand-soft:var(--surface-2)}
body{
background-image:radial-gradient(circle,var(--line) 0 1.2px,transparent 1.6px),radial-gradient(circle,var(--line) 0 1.6px,transparent 2px);
background-position:0 0,90px 130px;
background-size:230px 210px,310px 290px;
}
}

@media (prefers-reduced-motion:reduce){
.btn-primary:active{transform:none}
}
