@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-BG8bjbe3.woff2)format("woff2");font-weight:400 800;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0d0f;--glow:#15171b;--panel:#121418;--panel-border:#23262d;--panel-divider:#1e2127;--ink:#f3f2ec;--ink-dark:#0a0a0a;--muted:#a7abb4;--faint:#7a808b;--line-number:#3d424c;--control-border:#3a3f48;--control-strong:#d9dbe0;--control-pressed:#ffffff14;--grid-line:#545a66;--button:#ecebe4;--button-hover:#fff;--button-pressed:#d3d2ca;--button-disabled:#71716f;--error:#ff7a7a;--focus:#8fb4ff;--backdrop:#0009;--tok-text:#d6d9e0;--tok-operator:#8a93a3;--tok-type:#7fd3d0;--tok-keyword:#c99bf0;--tok-function:#8fb4ff;--tok-number:#f2a36b;--tok-comment:#7a808b;--page:radial-gradient(900px 310px at 50% 0, var(--glow), var(--bg)) no-repeat, var(--bg);--swatch-edge:inset 0 0 0 1px #ffffff3d;--swatch-ring:0 0 0 3px var(--ink-dark), 0 0 0 5px var(--ink);--swatch-lift:0 6px 16px #00000080;--font:"JetBrains Mono", ui-monospace, Menlo, Consolas, "DejaVu Sans Mono", monospace;--text-xs:10px;--text-sm:11px;--text-md:12px;--text-lg:13px;--text-xl:14px;--text-2xl:16px;--text-3xl:20px;--text-code:14px;--tracking-title:.22em;--tracking-button:.18em;--tracking-heading:.08em;--tracking-label:.06em;--leading-none:1;--leading-line:16px;--leading-instruction:17px;--leading-heading:20px;--leading-copy:1.4;--leading-body:1.6;--leading-code:1.6667;--space-1:1px;--space-2:2px;--space-3:3px;--space-4:4px;--space-5:5px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-14:14px;--space-16:16px;--space-18:18px;--space-20:20px;--space-24:24px;--space-40:40px;--gap:clamp(10px, 100svh * .08 - 46px, 18px);--page-top:clamp(12px, 100svh * .1 - 58px, 22px);--code-pad-y:clamp(6px, 100svh * .048 - 27.6px, 10.8px);--status-height:clamp(40px, 100svh * .08 - 16px, 48px);--status-top:clamp(8px, 100svh * .08 - 48px, 16px);--submit-height:clamp(44px, 100svh * .08 - 12px, 52px);--swatch-gap:clamp(4px, 2%, 9px);--radius-grid:2px;--radius-control:5px;--radius-panel:6px;--radius-dialog:8px;--radius-round:50%;--column:448px;--gutter:16px;--axis-y:22px;--axis-x:20px;--hairline:1px;--header-height:32px;--panel-head-height:27px;--round-control:32px;--button-height:48px;--button-small-height:40px;--dialog-width:360px;--stats-width:320px;--bar-label:28px;--bar-min:22px;--focus-width:2px;--focus-offset:2px;--focus-offset-button:3px;--focus-offset-cell:1px;--focus-offset-swatch:7px;--lift:-2px;--sink:1px;--duration-press:80ms;--duration-hover:.12s;--duration-fade:.15s;--layer-raised:1;--layer-confetti:10;--layer-toast:11}*{box-sizing:border-box;margin:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;background:var(--bg)}@media (width>=495px){html{scrollbar-gutter:stable}}body{background:var(--page);color:var(--ink);font-family:var(--font);font-variant-ligatures:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}main{width:min(var(--column), 100% - 2 * var(--gutter));min-height:100svh;padding:var(--page-top) 0 var(--space-14);flex-direction:column;margin:0 auto;display:flex}.header{height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-12);flex:none;display:flex}h1{font-size:var(--text-lg);letter-spacing:var(--tracking-title);text-transform:uppercase;white-space:nowrap;font-weight:700}.header-right{align-items:center;gap:var(--space-12);display:flex}.header-label{font-size:var(--text-md);letter-spacing:var(--tracking-label);color:var(--muted);white-space:nowrap;font-weight:500}.heading{font-size:var(--text-2xl);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:700}.button{height:var(--button-height);border-radius:var(--radius-control);background:var(--button);color:var(--ink-dark);font-size:var(--text-xl);letter-spacing:var(--tracking-button);text-transform:uppercase;transition:background-color var(--duration-hover) ease, transform var(--duration-press) ease;border:0;font-weight:700}.button:focus-visible{outline-offset:var(--focus-offset-button)}.button[aria-disabled=true]{background:var(--button-disabled);cursor:not-allowed}.button-small{height:var(--button-small-height);padding:0 var(--space-18);font-size:var(--text-lg)}.text-button{padding:var(--space-4) var(--space-10);border:var(--hairline) solid var(--control-border);border-radius:var(--radius-control);color:var(--ink);font-size:var(--text-md);line-height:var(--leading-line);background:0 0;text-decoration:none}.skip{margin:var(--space-10) auto 0;color:var(--muted);border-color:#0000;text-decoration:underline;display:block}.link{font-size:var(--text-md);color:var(--focus);cursor:pointer;text-decoration:underline}.help{width:var(--round-control);height:var(--round-control);border:var(--hairline) solid var(--control-border);border-radius:var(--radius-round);color:var(--control-strong);font-size:var(--text-lg);background:0 0;flex:none;font-weight:700}.help[aria-expanded=true]{border-color:var(--control-strong)}.panel{margin-top:calc(var(--gap) - var(--space-2));background:var(--panel);border:var(--hairline) solid var(--panel-border);border-radius:var(--radius-panel);flex:none}.panel-head{height:var(--panel-head-height);padding:0 var(--space-12);border-bottom:var(--hairline) solid var(--panel-divider);font-size:var(--text-sm);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.code-domain{color:var(--faint)}.code-domain.active{color:var(--ink)}.code-panel{container-type:inline-size}.code{--code-pad-x:var(--space-12);padding:var(--code-pad-y) var(--code-pad-x);font-family:inherit;font-size:clamp(var(--text-sm), (100cqi - 2 * var(--code-pad-x)) / ((var(--chars) + 1.5) * .6), var(--text-code));line-height:var(--leading-code);color:var(--tok-text);white-space:pre;overflow-x:auto}@media (width<=360px){.code{--code-pad-x:var(--space-10)}}.code-number{width:var(--number-width);text-align:right;color:var(--line-number);-webkit-user-select:none;user-select:none;margin-right:1.5ch;display:inline-block}.tok-type{color:var(--tok-type)}.tok-keyword{color:var(--tok-keyword)}.tok-function{color:var(--tok-function)}.tok-number{color:var(--tok-number)}.tok-operator{color:var(--tok-operator)}.tok-comment{color:var(--tok-comment)}.info-panel{padding:var(--space-10) var(--space-12);font-size:var(--text-md);line-height:var(--leading-body);color:var(--muted)}.info-line{display:block}.info-actions{margin-top:var(--space-8);gap:var(--space-8);flex-wrap:wrap;display:flex}.top{margin-top:var(--gap);flex:none;display:grid}.top>*{grid-area:1/1}.top>.result-slot{align-self:center}.instruction{text-align:center;font-size:var(--text-lg);line-height:var(--leading-instruction);color:var(--muted)}.notice{margin-top:var(--space-40);text-align:center;font-size:var(--text-lg);color:var(--muted)}.swatches{margin-top:var(--gap);padding:0 var(--space-2);column-gap:var(--swatch-gap);flex:none;grid-template-columns:repeat(8,1fr);display:grid}.swatch{aspect-ratio:1;padding:0 0 var(--space-4) var(--space-6);border-radius:var(--radius-control);box-shadow:var(--swatch-edge);color:var(--ink-dark);font-size:clamp(var(--text-sm), 3.2vw, var(--text-xl));line-height:var(--leading-none);transition:transform var(--duration-hover) ease;border:0;align-items:flex-end;display:flex}.swatch[data-value="0"]{color:var(--ink)}.swatch[aria-checked=true]{z-index:var(--layer-raised);box-shadow:var(--swatch-edge), var(--swatch-ring), var(--swatch-lift);font-weight:700;position:relative;transform:scale(1.1)}.swatch:focus-visible{outline-offset:var(--focus-offset-swatch)}.board{margin-top:var(--gap);flex:none;container-type:inline-size}.board-inner{--side:calc(100cqw - var(--axis-y));width:calc(var(--side) + var(--axis-y));grid-template-columns:var(--axis-y) var(--side);grid-template-rows:var(--axis-x) var(--side);margin:0 auto;display:grid}.axis{gap:var(--space-2);font-size:var(--text-xs);line-height:var(--leading-none);color:var(--faint);display:grid}.axis-x{padding:0 var(--space-3);text-align:center;grid-column:2;grid-template-columns:repeat(8,1fr);align-items:center}.axis-y{padding:var(--space-3) var(--space-6) var(--space-3) 0;text-align:right;grid-row:2;grid-template-rows:repeat(8,1fr);align-items:center}.axis .on{color:var(--ink);font-weight:700}.grid{gap:var(--space-2);padding:var(--space-2);background:var(--grid-line);border:var(--hairline) solid var(--grid-line);border-radius:var(--radius-grid);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair;grid-area:2/2;grid-template-rows:repeat(8,1fr);display:grid}.grid[aria-readonly=true]{touch-action:pan-x pan-y pinch-zoom;cursor:default}.grid-row{gap:var(--space-2);grid-template-columns:repeat(8,1fr);display:grid}.cell{padding:0 0 var(--space-2) var(--space-4);font-size:var(--text-sm);line-height:var(--leading-none);color:var(--ink-dark);align-items:flex-end;display:flex;position:relative}.cell[data-value="0"]{color:var(--ink)}.cell:focus-visible{z-index:var(--layer-raised);outline-offset:var(--focus-offset-cell)}.footer{flex:none}.status{height:var(--status-height);padding-top:var(--status-top);font-size:var(--text-sm);line-height:var(--leading-line);text-align:right;color:var(--error);flex:none}.status.success{color:var(--ink);font-weight:700}.status-line{display:block}.submit{width:100%;height:var(--submit-height);flex:none}.result-top{text-align:center}.result-top h2:focus{outline:none}.result{margin-top:var(--space-16);text-align:center;flex:none}.toggle{--inner:calc(var(--radius-control) - var(--hairline));margin-top:var(--space-8);border:var(--hairline) solid var(--control-border);border-radius:var(--radius-control);display:inline-flex}.toggle button:first-child{border-radius:var(--inner) 0 0 var(--inner)}.toggle button:last-child{border-radius:0 var(--inner) var(--inner) 0}.toggle button{padding:var(--space-5) var(--space-12);line-height:var(--leading-line);color:var(--muted);font-size:var(--text-md);background:0 0;border:0}.toggle button[aria-pressed=true]{background:var(--button);color:var(--ink-dark);font-weight:700}.stats{margin-top:var(--space-14);gap:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.stat{gap:var(--space-2);flex-direction:column-reverse;display:flex}.stat dd{font-size:var(--text-3xl);margin:0;font-weight:700}.stat dt{font-size:var(--text-xs);color:var(--muted)}.distribution{margin:var(--space-14) auto 0;max-width:var(--stats-width);gap:var(--space-4);font-size:var(--text-sm);padding:0;list-style:none;display:grid}.distribution li{grid-template-columns:var(--bar-label) 1fr;align-items:center;gap:var(--space-6);display:grid}.bar-label{white-space:nowrap;text-align:right;color:var(--muted)}.bar{width:max(var(--bar-min), calc(var(--share) * 100%));padding:var(--space-1) var(--space-6);background:var(--panel-border);text-align:right;font-weight:500}.distribution .current .bar{background:var(--ink);color:var(--ink-dark);font-weight:700}.distribution .current .bar-label:before{content:"▸ "}.share,.play-next{margin-top:var(--space-16);width:100%}.manual-copy{margin-top:var(--space-12);width:100%;padding:var(--space-8);background:var(--panel);color:var(--ink);border:var(--hairline) solid var(--panel-border);border-radius:var(--radius-control);font:var(--text-md) / var(--leading-copy) var(--font);resize:none}.missed{margin-top:var(--space-16);font-size:var(--text-md);color:var(--muted)}.missed-list,.reminder-links{margin-top:var(--space-8);justify-content:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.next{min-height:var(--button-height);margin-top:var(--space-12);font-size:var(--text-md);color:var(--muted)}.next .play-next{margin-top:0}.reminder{margin-top:var(--space-12)}.reminder summary{display:inline-block}.reminder summary::-webkit-details-marker{display:none}.reminder p{margin-top:var(--space-8);font-size:var(--text-md);color:var(--muted)}.follow{margin-top:var(--space-12);display:inline-block}.notice-title{margin-top:var(--space-40);text-align:center}.notice-stats{margin-top:var(--space-24);text-align:center}.toast{left:50%;top:var(--space-16);padding:var(--space-8) var(--space-14);border-radius:var(--radius-control);background:var(--button);color:var(--ink-dark);font-size:var(--text-lg);opacity:0;pointer-events:none;transition:opacity var(--duration-fade) ease;z-index:var(--layer-toast);font-weight:700;position:fixed;transform:translate(-50%)}.toast.visible{opacity:1}.confetti{width:100%;height:100%;z-index:var(--layer-confetti);pointer-events:none;position:fixed;inset:0}.dialog{width:min(var(--dialog-width), 100% - 2 * var(--gutter));padding:var(--space-20);background:var(--panel);color:var(--ink);border:var(--hairline) solid var(--panel-border);border-radius:var(--radius-dialog);margin:auto}.dialog::backdrop{background:var(--backdrop)}.dialog p,.dialog ol{margin-top:var(--space-10);font-size:var(--text-lg);line-height:var(--leading-body);color:var(--muted)}.dialog ol{padding-left:var(--space-20)}.dialog-actions{margin-top:var(--space-18);justify-content:flex-end;align-items:center;gap:var(--space-12);display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (hover:hover){.button:not([aria-disabled=true]):hover{background:var(--button-hover);transform:scale(1.03)}:is(.text-button,.help):not(.skip):hover{border-color:var(--control-strong)}.toggle button[aria-pressed=false]:hover,.skip:hover{color:var(--ink)}.swatch[aria-checked=false]:hover{transform:translateY(var(--lift))}}.button:not([aria-disabled=true]):active{background:var(--button-pressed);transform:translateY(var(--sink))}:is(.text-button,.help):not(.skip):active,.toggle button[aria-pressed=false]:active{background:var(--control-pressed)}.swatch[aria-checked=false]:active{transform:scale(.94)}
