:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1315;--surface:#172024;--surface-2:#202b30;--line:#2c393f;--text:#e9eff1;--muted:#95a5ac;--accent:#2fd080;--accent-ink:#03150c;--good:#2fd080;--good-ink:#03150c;--bad:#ff7a7a;--bad-ink:#2a0606;--focus:#8cc8ff;--part-day:#7aa7ff;--part-month:#ff8ad8;--part-year:#b99bff;--part-century:#4fd6e8;--muted-term-opacity:.75;--advance-fill:#03150c33;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-date:clamp(2rem, 10vw, 3.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.375rem;--radius:.75rem;--radius-pill:999px;--tap:3.5rem;--content:34rem;--dur-fast:80ms;--dur:.16s;--dur-flash:.15s;--ease:cubic-bezier(.2, .7, .2, 1);--dur-spring:.24s;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-wash:.9s;--dur-toast:1s;--wash:color-mix(in srgb, var(--accent) 35%, transparent);--heat-1:color-mix(in srgb, var(--accent) 30%, transparent);--heat-2:color-mix(in srgb, var(--accent) 50%, transparent);--miss-1:color-mix(in srgb, var(--bad) 20%, var(--surface));--miss-2:color-mix(in srgb, var(--bad) 35%, var(--surface));--miss-3:color-mix(in srgb, var(--bad) 55%, var(--surface))}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f6;--surface:#fff;--surface-2:#e7eeeb;--line:#d3ddd9;--text:#11201a;--muted:#55655e;--accent:#0d7a46;--accent-ink:#fff;--good:#1fae68;--good-ink:#02140b;--bad:#d93a3a;--bad-ink:#fff;--focus:#1a66d9;--part-day:#2459c9;--part-month:#b5288a;--part-year:#6d3fd1;--part-century:#066f7d;--muted-term-opacity:1;--advance-fill:#00000040;--heat-1:color-mix(in srgb, var(--accent) 45%, transparent);--heat-2:color-mix(in srgb, var(--accent) 70%, transparent)}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f6;--surface:#fff;--surface-2:#e7eeeb;--line:#d3ddd9;--text:#11201a;--muted:#55655e;--accent:#0d7a46;--accent-ink:#fff;--good:#1fae68;--good-ink:#02140b;--bad:#d93a3a;--bad-ink:#fff;--focus:#1a66d9;--part-day:#2459c9;--part-month:#b5288a;--part-year:#6d3fd1;--part-century:#066f7d;--muted-term-opacity:1;--advance-fill:#00000040;--heat-1:color-mix(in srgb, var(--accent) 45%, transparent);--heat-2:color-mix(in srgb, var(--accent) 70%, transparent)}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s;--dur-spring:0s;--dur-wash:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);font:var(--text-md) / 1.4 var(--font);-webkit-tap-highlight-color:transparent;margin:0}h1,h2,p,dl,dd{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{max-width:var(--content);padding:0 clamp(var(--space-3), 4vw, var(--space-4)) var(--space-6);margin:0 auto}.bar{isolation:isolate;align-items:center;gap:var(--space-1);min-height:var(--tap);padding-block:calc((var(--tap) - 2.75rem) / 2);flex-wrap:wrap;display:flex;position:relative;container:bar/inline-size}.brand{white-space:nowrap;margin-right:auto;font-weight:700;text-decoration:none}.brand b{color:var(--accent)}@container bar (width<11.25rem) or (16.5rem<=width<22rem){.brand-first{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.nav{margin-left:calc(-1 * var(--space-1));display:flex}.nav a,.icon{min-width:2.75rem;min-height:2.75rem;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-sm);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav a[aria-current=page]{color:var(--text);background:var(--surface-2)}.nav a{padding:0 .375rem}@container bar (width<16.5rem){.nav{flex-basis:100%;order:1;margin-left:0}.nav a{min-width:max-content;padding:0 var(--space-1);flex:1}}.icon{border:1px solid var(--line);background:0 0;padding:0;font-weight:700}.level{z-index:-1;border-radius:var(--radius-pill);background:var(--surface-2);height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.level-fill{background:var(--accent);height:100%;transition:width var(--dur) var(--ease)}@media (forced-colors:active){.level{border:1px solid canvastext}.level-fill{forced-color-adjust:none;background:canvastext}}.seg{gap:var(--space-1);min-inline-size:0;padding:var(--space-1);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line);margin:0;display:flex}.seg button{border-radius:var(--radius-pill);min-height:2.5rem;color:var(--muted);font-size:var(--text-sm);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;flex:1}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.seg button:disabled{opacity:.5;cursor:not-allowed}.modes{border-radius:var(--radius);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.modes button{border-radius:var(--radius-sm);padding:0;position:relative}.modes button[aria-pressed=true]{font-weight:inherit}.modes button .sr-only{left:0}@media (max-width:24rem){.modes button{font-size:var(--text-xs)}}.modes .mastered:after,.modes .recommended:after{content:"";border-radius:var(--radius-pill);width:.4rem;height:.4rem;position:absolute;bottom:.2rem;left:calc(50% - .2rem)}.modes .mastered:after{background:currentColor}.modes .recommended:after{box-shadow:inset 0 0 0 1.5px}@media (min-width:36rem){.modes{grid-template-columns:repeat(8,1fr) auto}}.streak{border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:center;place-items:center;width:4rem;max-width:100%;padding:.125rem 0;line-height:1.15;display:grid}.streak [aria-hidden]{justify-items:center;display:grid}.streak b{font-size:var(--text-md)}.streak small{color:var(--muted);font-size:var(--text-xs)}.streak.zero b{color:var(--muted);font-weight:400}.streak.ten small{color:var(--text)}.streak.pulse b{animation:pulse var(--dur-spring) var(--ease-spring)}.streak.again b{animation-name:pulse-again}@keyframes pulse{0%{transform:scale(1.3)}}@keyframes pulse-again{0%{transform:scale(1.3)}}.streak.ten.pulse{animation:wash var(--dur-wash) var(--ease)}@keyframes wash{0%{background-color:var(--wash)}}@media (prefers-reduced-motion:reduce){.streak.ten{background-color:var(--wash)}}.play{gap:var(--space-4);padding-top:var(--space-2);display:grid;container:play/inline-size}.rings{grid-template-columns:repeat(2,1.125rem);place-content:center;gap:2px;margin:0;padding:0;list-style:none;display:grid}.rings li{width:1.125rem;height:1.125rem;color:var(--part);font-size:var(--text-xs);place-items:center;font-weight:700;line-height:1;display:grid}.rings li>span[aria-hidden]{display:none}.rings svg,.rings span{grid-area:1/1}.rings svg{fill:none;stroke-width:4px;width:100%;height:100%}.rings .track{stroke:var(--line)}.rings .arc{stroke:currentColor;transition:stroke-dasharray var(--dur) var(--ease)}@media (min-width:36rem){.rings{justify-content:center;gap:var(--space-3);grid-area:1/1/auto/-1;display:flex}.rings li{width:1.75rem;height:1.75rem}.rings li>span[aria-hidden]{display:inline}.rings svg{stroke-width:3px}}@media (forced-colors:active){.rings svg{forced-color-adjust:none}.rings .track{stroke:canvastext;stroke-width:1px;vector-effect:non-scaling-stroke}.rings .arc{stroke:canvastext}}.blurb{min-height:2.8em;color:var(--muted);font-size:var(--text-sm);text-align:center}.date{font-size:var(--text-date);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-align:center;flex-wrap:wrap;justify-content:center;column-gap:.3em;font-weight:700;line-height:1.5;display:flex}.date:focus{outline:none}[data-part=day]{--part:var(--part-day)}[data-part=month]{--part:var(--part-month)}[data-part=year]{--part:var(--part-year)}[data-part=century]{--part:var(--part-century)}.tinted [data-part]{transition:color var(--dur) var(--ease)}.tinted [data-part],.breakdown [data-part]{color:var(--part)}[data-hint]{cursor:pointer}.date [data-part]{position:relative}.date .hint{color:var(--part);font-size:.35em;line-height:1;position:absolute;bottom:88%;left:50%;transform:translate(-50%)}.date .full-year,.date .sum{position:relative}.daily-streak{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:clamp(.625rem, .3em, var(--text-xs));letter-spacing:-.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.0625em .1em;font-weight:500;line-height:1;position:absolute;bottom:88%;left:90%}.sum .daily-streak{left:calc(100% + .1em)}.breakdown{height:1.4em;font-size:min(var(--text-md), 100cqi / 18);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center;transition:opacity var(--dur) var(--ease);line-height:1.4}.breakdown.is-hidden{visibility:hidden;opacity:0}.breakdown [data-part]:not(.muted){font-weight:700}.breakdown .muted{opacity:var(--muted-term-opacity)}.month{grid-template-columns:repeat(7, var(--cell-w,1.75rem));grid-auto-rows:var(--cell-h,1.5rem);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;gap:2px;margin:0;display:grid}.month thead,.month tbody,.month tr{display:contents}.month th,.month td{border-radius:var(--radius-sm);place-items:center;padding:0;display:grid}.month .wd{color:var(--muted);font-weight:600}.month .wd.lit,.month .asked{background:var(--accent);color:var(--accent-ink);font-weight:700}.codes{gap:var(--space-2);text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.codes div{padding:var(--space-2) 0;border-radius:var(--radius-sm);background:var(--surface)}.codes dt{color:var(--muted);font-size:var(--text-xs)}.codes dd{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.codes .unknown{color:var(--muted)}.answers{justify-content:center;gap:var(--space-2);--cols:4;border:0;flex-wrap:wrap;min-inline-size:0;margin:0;padding:0;display:flex}.answer{flex:0 0 calc((100% - (var(--cols) - 1) * var(--space-2)) / var(--cols));min-height:var(--tap);padding:var(--space-2) 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--text-lg);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur-fast) var(--ease);place-content:center;font-weight:600;display:grid;position:relative}.answer:active{transform:scale(.96)}.answer .num{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:500}.answer kbd{top:var(--space-1);left:var(--space-2);color:var(--muted);font:var(--text-xs) var(--font);display:none;position:absolute}.answer .mark{top:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));border:2px solid var(--bg);border-radius:var(--radius-pill);background:inherit;width:1.375rem;height:1.375rem;font-size:var(--text-xs);place-items:center;font-weight:700;display:grid;position:absolute}.answered .answer{opacity:.45;cursor:default;transform:none}.answer.good{background:var(--good);border-color:var(--good);color:var(--good-ink)}.answer.bad{background:var(--bad);border-color:var(--bad);color:var(--bad-ink)}.answer.good .num,.answer.bad .num{color:inherit}.answered .answer.good,.answered .answer.bad{opacity:1}.answer.flash-good{--flash:var(--good);--flash-ink:var(--good-ink)}.answer.flash-bad{--flash:var(--bad);--flash-ink:var(--bad-ink)}.answer.flash-good,.answer.flash-bad{animation:flash var(--dur-flash) ease-in}.answer.again{animation-name:flash-again}@keyframes flash{0%{background:var(--flash);border-color:var(--flash);color:var(--flash-ink)}}@keyframes flash-again{0%{background:var(--flash);border-color:var(--flash);color:var(--flash-ink)}}@media (prefers-reduced-motion:reduce){.answer.flash-good,.answer.flash-bad{animation-timing-function:step-end}}@media (hover:hover) and (pointer:fine){.answer kbd{display:block}.answers:not(.answered) .answer:hover{background:var(--surface-2)}}@media (min-width:36rem){.answers{--cols:7}}.feedback{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap);display:flex}.status{font-weight:600}.status.idle{color:var(--muted);font-weight:400}.next{min-height:3rem;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);border:0;font-weight:700}.timer{font-variant-numeric:tabular-nums;font-weight:700}.next.is-hidden{visibility:hidden}.next.pending{isolation:isolate;position:relative;overflow:hidden}.next.pending:before{content:"";z-index:-1;background:var(--advance-fill);transform-origin:0;animation:advance-fill var(--advance) linear forwards;position:absolute;inset:0;transform:scaleX(0)}@keyframes advance-fill{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.next.pending:before{animation:none;transform:none}}.foot{justify-content:space-between;column-gap:var(--space-3);flex-wrap:wrap;order:2;display:flex}.stats{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.try{color:var(--accent);font-size:var(--text-sm);white-space:nowrap;text-underline-offset:.2em;background:0 0;border:0;margin-left:auto;padding:0;text-decoration:underline;position:relative}.try:before{content:"";inset:0 calc(-1 * var(--space-2)) calc(-1 * var(--space-1));position:absolute}.try.is-hidden{visibility:hidden}@container play (width<18.25rem){.stats{flex-basis:100%}}@container play (width<14rem){.stats{min-height:2lh}}.stage{display:contents}.with-cal{grid-template-columns:1fr auto}.with-cal>*,.stage>*{grid-column:1/-1}.with-cal .feedback{flex-direction:column;grid-column:1;justify-content:center;align-items:flex-start}.with-cal .status{min-height:2lh}.with-cal .reveal-cal{transition:opacity var(--dur) var(--ease);order:1;grid-column:2}.reveal-cal.is-hidden{visibility:hidden;opacity:0}@media (max-width:35.99rem){:root{--room:clamp(0rem, (100svh - 35rem) / 12, 1rem)}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell:has(.play){padding-bottom:calc(var(--space-1) + var(--room) * .5 + env(safe-area-inset-bottom,0px))}.shell>main{flex-direction:column;flex:1;display:flex}.play{--gap-y:calc(.1875rem + var(--room) * .8125);padding-top:calc(var(--room) * .5);flex:1;grid-template:"modes""blurb""."1fr"date""breakdown""codes""."1fr"answers""feedback""stats"/1fr;row-gap:0}.with-cal{grid-template:"modes modes""blurb blurb"". ."1fr"date date""breakdown breakdown""codes codes"". ."1fr"answers answers""feedback cal""stats stats"/1fr auto}.codes{line-height:1.2}.codes div{padding:calc(.125rem + var(--room) * .375) 0}.answer{min-height:calc(2.75rem + var(--room) * .75);padding:calc(var(--room) * .5) 0;line-height:1.2}.reveal-cal{--cell-w:1.5rem;--cell-h:calc(.8125rem + var(--room) * .3125)}.play>:not(.modes),.stage>*{margin-top:var(--gap-y)}.play .modes{grid-area:modes}.play .blurb{grid-area:blurb}.play .date{grid-area:date}.play .breakdown{grid-area:breakdown}.play .codes{grid-area:codes}.play .answers{grid-area:answers}.play .feedback{grid-area:feedback}.play .reveal-cal{grid-area:cal}.play .foot{grid-area:stats}}@media (max-width:35.99rem) and (max-height:52rem){.date{font-size:min(var(--text-date), 100cqi / 11)}}@media (min-width:66rem){.with-cal{grid-template-columns:1fr}.with-cal .feedback{flex-direction:row;justify-content:space-between;align-items:center}.with-cal .status{min-height:0}.stage{display:block;position:relative}.with-cal .reveal-cal{top:50%;left:calc(100% + var(--space-6));position:absolute;transform:translateY(-50%)}}.page{gap:var(--space-5);padding-top:var(--space-4);display:grid}.page h1{font-size:var(--text-lg)}.page h2{margin-bottom:var(--space-2);font-size:var(--text-md)}.note{color:var(--muted);font-size:var(--text-sm)}.cards{--bleed:clamp(var(--space-3), 4vw, var(--space-4));gap:var(--space-3);margin-inline:calc(-1 * var(--bleed));padding:0 var(--bleed) var(--space-2);overscroll-behavior-x:contain;scroll-padding-inline:var(--bleed);scroll-snap-type:x mandatory;grid-auto-columns:min(85%,20rem);grid-auto-flow:column;display:grid;overflow-x:auto}@media (min-width:36rem){.cards{grid-auto-columns:auto;grid-auto-flow:row;margin-inline:0;padding:0;overflow:visible}}.card{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);background:var(--surface);font-variant-numeric:tabular-nums;scroll-snap-align:start;flex-direction:column;display:flex}.card>h2{margin:0}.card ol,.card ul{margin:0;padding:0;list-style:none}.card abbr{text-decoration:none}.practice{min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);transition:transform var(--dur-fast) var(--ease);align-self:start;align-items:center;margin-top:auto;font-weight:700;text-decoration:none;display:inline-flex}.practice:active{transform:scale(.96)}.formula{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);text-align:center;font-weight:600}.formula [data-part]{color:var(--part)}.weekdays,.months,.twelves{font-size:var(--text-sm);text-align:center}.weekdays{grid-template-columns:repeat(7,1fr);display:grid}.weekdays li,.months div{display:grid}.weekdays abbr,.months dt,.twelves th{color:var(--muted);font-size:var(--text-xs);font-weight:500}.drops{gap:var(--space-1);font-size:var(--text-lg);display:grid}.drops .to{color:var(--accent);animation:settle var(--dur-spring) var(--ease-spring) both;animation-delay:calc(var(--i) * 2 * var(--dur));display:inline-block}@keyframes settle{0%{opacity:0;transform:translateY(-.5rem)}}.months{gap:var(--space-1);grid-template-columns:repeat(4,1fr);display:grid}.months div{padding:var(--space-1);border-radius:var(--radius-sm);background:var(--surface-2);align-content:start}.months dd{font-size:var(--text-lg);font-weight:700}.months .leap{color:var(--muted);font-size:var(--text-xs);font-weight:500;display:block}.twelves{border-collapse:collapse;width:100%}.twelves th{text-align:left;padding-inline-end:var(--space-1)}.twelves th,.twelves td{padding-block:var(--space-1)}.twelves tr+tr td{font-weight:700}.ring{aspect-ratio:1;width:11rem;color:var(--muted);font-size:var(--text-xs);grid-template:repeat(3,1fr)/repeat(3,1fr);margin-inline:auto;display:grid;position:relative}.ring:before{content:"";border:2px dashed var(--line);border-radius:50%;position:absolute;inset:16.6667%}.ring:after{content:"↻" / "";font-size:var(--text-lg);grid-area:2/2;place-self:center}.ring li{background:var(--surface);border-radius:50%;place-content:center;display:grid;position:relative}.ring .code{color:var(--text);font-size:var(--text-lg);order:-1}.ring .common{color:var(--text);font-weight:700}.ring .common .code{color:var(--accent)}.ring li:first-child{grid-area:2/3}.ring li:nth-child(2){grid-area:3/2}.ring li:nth-child(3){grid-area:2/1}.ring li:nth-child(4){grid-area:1/2}.shortcuts{align-items:center;gap:var(--space-2) var(--space-3);grid-template-columns:auto 1fr;display:grid}.shortcuts dd{color:var(--muted);font-size:var(--text-sm)}.shortcuts dt{align-items:center;gap:var(--space-1);display:flex}.card kbd{min-width:1.75rem;padding:0 var(--space-1);border:1px solid var(--line);border-radius:var(--radius-sm);font:600 var(--text-sm) var(--font);text-align:center;border-bottom-width:3px}.totals{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));display:grid}.totals div{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface);align-content:space-between;display:grid}.totals dt{color:var(--muted);font-size:var(--text-sm)}.totals dd{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.totals .best{color:var(--muted);font-size:var(--text-xs);font-weight:500}.activity{justify-items:center;gap:var(--space-2);display:grid}.pager{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr auto;width:100%;max-width:20rem;display:grid}.pager h2{text-align:center;margin:0}.pager .icon[aria-disabled=true]{opacity:.4;cursor:not-allowed}.activity .month{--cell-w:minmax(0, 2.5rem);--cell-h:2.25rem;max-width:100%;font-size:var(--text-sm)}.month .heat-1{background:var(--heat-1)}.month .heat-2{background:var(--heat-2)}.month .heat-3{background:var(--accent);color:var(--accent-ink);font-weight:700}.month .today{box-shadow:inset 0 0 0 2px var(--text)}.activity .month .d{position:relative}.month .score{font-size:.625rem;font-weight:600;line-height:1;position:absolute;top:.125rem;right:.25rem}@media (forced-colors:active){.month .heat-3{outline-offset:-2px;outline:2px solid canvastext}.month .today{border:2px dashed canvastext}.modes button[aria-pressed=true]{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}}.weak-spots h2{text-align:center}.spots{gap:var(--space-1);margin:0 0 var(--space-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:center;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;list-style:none;display:grid}.spots .cell{border-radius:var(--radius-sm);background:var(--surface);place-content:center;min-height:2.75rem;display:grid}.spots .pct{min-height:1lh;font-size:var(--text-xs)}.spots .miss-1 .cell{background:var(--miss-1)}.spots .miss-2 .cell{background:var(--miss-2)}.spots .miss-3 .cell{background:var(--miss-3)}@media (forced-colors:active){.spots .miss-3 .cell{outline-offset:-2px;outline:2px solid canvastext}}.badges{gap:var(--space-2);font-size:var(--text-xs);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (min-width:24rem){.badges{grid-template-columns:repeat(4,minmax(0,1fr))}}.badges li{align-content:start;justify-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);display:grid}.badges .locked{border-style:dashed;border-color:var(--line);color:var(--muted);background:0 0}.glyph{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.75rem;height:1.75rem}.earned .glyph{color:var(--accent)}.locked .glyph{opacity:.4}@media (forced-colors:active){.badges .earned{border-width:2px}}fieldset{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}legend{margin-bottom:var(--space-2);padding:0;font-weight:600}.check{align-items:center;gap:var(--space-3);min-height:2.75rem;display:flex}.check input{width:1.25rem;height:1.25rem;accent-color:var(--accent)}.years{gap:var(--space-3);display:flex}.years label{gap:var(--space-1);color:var(--muted);font-size:var(--text-sm);flex:1;display:grid}.years input{min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-md)}.row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.actions{gap:var(--space-2);display:flex}.ghost{min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:0 0}.help,.ask{width:min(24rem, calc(100% - 2 * var(--space-4)));padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text)}.help::backdrop{background:#0000008c}.ask::backdrop{background:#0000008c}.help h2{margin-bottom:var(--space-3);font-size:var(--text-lg)}.keys{gap:var(--space-2) var(--space-4);margin-bottom:var(--space-5);grid-template-columns:auto 1fr;display:grid}.keys dt{white-space:nowrap;font-weight:700}.keys dd{color:var(--muted)}.ask{padding:0}.ask form{gap:var(--space-3);padding:var(--space-5);display:grid}.ask h2{font-size:var(--text-lg)}.ask input{width:100%;min-height:var(--tap);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);accent-color:var(--accent);font-variant-numeric:tabular-nums}.ask-actions{justify-content:flex-end;gap:var(--space-2);display:flex}::view-transition-group(root){animation-duration:var(--dur);animation-timing-function:var(--ease)}::view-transition-old(root){animation-duration:var(--dur);animation-timing-function:var(--ease)}::view-transition-new(root){animation-duration:var(--dur);animation-timing-function:var(--ease)}.save-notice{right:calc(var(--space-3) + env(safe-area-inset-right,0px));bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));left:calc(var(--space-3) + env(safe-area-inset-left,0px));z-index:1;align-items:center;gap:var(--space-3);max-width:var(--content);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);margin:0 auto;display:flex;position:fixed}.save-notice p{margin-right:auto}body:has(.save-notice) .shell{padding-bottom:calc(var(--space-3) + var(--tap) + var(--space-6) + env(safe-area-inset-bottom,0px))}.toast{top:calc(var(--tap) + env(safe-area-inset-top,0px));right:calc(var(--space-3) + env(safe-area-inset-right,0px));left:calc(var(--space-3) + env(safe-area-inset-left,0px));z-index:1;pointer-events:none;justify-content:center;display:flex;position:fixed}.toast ul{gap:var(--space-1);animation:toast var(--dur-toast) var(--ease) forwards;margin:0;padding:0;list-style:none;display:grid}.toast li{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600;display:flex}.toast .glyph{width:1.25rem;height:1.25rem;color:var(--accent)}@keyframes toast{0%{opacity:0;transform:translateY(-.5rem)}20%,80%{opacity:1;transform:none}to{opacity:0;visibility:hidden}}@keyframes toast-fade{0%{opacity:0}20%,80%{opacity:1}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.toast ul{animation-name:toast-fade}}
