@font-face{font-family:JetBrains Mono;src:url(/assets/jetbrains-mono-BG8bjbe3.woff2)format("woff2");font-weight:400 800;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font:"JetBrains Mono", ui-monospace, Menlo, Consolas, "DejaVu Sans Mono", monospace;--bg:#0c0d0f;--glow:#15171b;--panel:#121418;--panel-border:#23262d;--panel-divider:#1e2127;--ink:#f3f2ec;--ink-dark:#0a0a0a;--muted:#a7abb4;--faint:#7a808b;--line-number:#3d424c;--help-border:#3a3f48;--grid-line:#545a66;--button:#ecebe4;--error:#ff7a7a;--focus:#8fb4ff;--tok-text:#d6d9e0;--tok-operator:#8a93a3;--tok-type:#7fd3d0;--tok-keyword:#c99bf0;--tok-function:#8fb4ff;--tok-number:#f2a36b;--tok-comment:#7a808b;--gap:clamp(10px, 100svh * .08 - 46px, 18px)}*{box-sizing:border-box;margin:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{background:radial-gradient(900px 310px at 50% 0, var(--glow), var(--bg)) no-repeat, var(--bg);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:2px solid var(--focus);outline-offset:2px}main{flex-direction:column;width:min(448px,100% - 32px);min-height:100svh;margin:0 auto;padding:clamp(12px,10svh - 58px,22px) 0 14px;display:flex}.header{flex:none;justify-content:space-between;align-items:center;gap:12px;height:32px;display:flex}h1{letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;font-size:13px;font-weight:700}.header-right{align-items:center;gap:12px;display:flex}.header-label{letter-spacing:.06em;color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.help{border:1px solid var(--help-border);color:#d9dbe0;background:0 0;border-radius:50%;flex:none;width:32px;height:32px;font-size:13px;font-weight:700}.help[aria-expanded=true]{border-color:#d9dbe0}.panel{margin-top:calc(var(--gap) - 2px);background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;flex:none}.panel-head{border-bottom:1px solid var(--panel-divider);height:27px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 12px;font-size:11px;display:flex}.code-domain{color:var(--faint)}.code-domain.active{color:var(--ink)}.code-panel{container-type:inline-size}.code{font-family:inherit;font-size:clamp(11px, (100cqi - 24px) / ((var(--chars) + 1.5) * .6), 14px);color:var(--tok-text);white-space:pre;padding:clamp(6px,4.8svh - 27.6px,10.8px) 12px;line-height:1.6667;overflow-x:auto}.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{color:var(--muted);padding:10px 12px;font-size:12px;line-height:1.6}.info-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.switch{border:1px solid var(--help-border);color:var(--ink);background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.instruction{margin-top:var(--gap);text-align:center;color:var(--muted);flex:none;font-size:13px;line-height:17px}.notice{text-align:center;color:var(--muted);margin-top:40px;font-size:13px}.swatches{margin-top:var(--gap);flex:none;grid-template-columns:repeat(8,1fr);column-gap:clamp(4px,2%,9px);padding:0 2px;display:grid}.swatch{aspect-ratio:1;color:var(--ink-dark);border:0;border-radius:5px;align-items:flex-end;padding:0 0 4px 6px;font-size:clamp(11px,3.2vw,14px);line-height:1;transition:transform .12s;display:flex;box-shadow:inset 0 0 0 1px #ffffff3d}.swatch[data-value="0"]{color:var(--ink)}.swatch[aria-checked=true]{z-index:1;box-shadow:inset 0 0 0 1px #ffffff3d, 0 0 0 3px #0a0b0d, 0 0 0 5px var(--ink), 0 6px 16px #00000080;font-weight:700;position:relative;transform:scale(1.1)}.swatch:focus-visible{outline-offset:7px}.board{margin-top:var(--gap);min-height:calc(var(--frozen-side,250px) + 20px);flex:1 1 0;container-type:size}.board-inner{--side:var(--frozen-side,clamp(250px, min(100cqw - 22px, 100cqh - 20px), 426px));width:calc(var(--side) + 22px);grid-template-columns:22px var(--side);grid-template-rows:20px var(--side);margin:0 auto;display:grid}.axis{color:var(--faint);gap:2px;font-size:10px;line-height:1;display:grid}.axis-x{text-align:center;grid-column:2;grid-template-columns:repeat(8,1fr);align-items:center;padding:0 3px}.axis-y{text-align:right;grid-row:2;grid-template-rows:repeat(8,1fr);align-items:center;padding:3px 6px 3px 0}.axis .on{color:var(--ink);font-weight:700}.grid{background:var(--grid-line);border:1px solid var(--grid-line);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:2px;grid-area:2/2;grid-template-rows:repeat(8,1fr);gap:2px;padding:2px;display:grid}.grid[aria-readonly=true]{touch-action:pan-x pan-y pinch-zoom}.grid-row{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.cell{color:var(--ink-dark);align-items:flex-end;padding:0 0 2px 4px;font-size:11px;line-height:1;display:flex;position:relative}.cell[data-value="0"]{color:var(--ink)}.cell:focus-visible{z-index:1;outline-offset:1px}.status{text-align:right;min-height:clamp(32px,16svh - 80px,48px);color:var(--error);flex:none;padding-top:clamp(8px,8svh - 48px,16px);font-size:11px;line-height:16px}.submit{background:var(--button);width:100%;height:clamp(44px,8svh - 12px,52px);color:var(--bg);letter-spacing:.18em;text-transform:uppercase;border:0;border-radius:5px;flex:none;font-size:14px;font-weight:700}.submit:focus-visible{outline-offset:3px}@media (width<=360px){.code{font-size:clamp(11px, (100cqi - 20px) / ((var(--chars) + 1.5) * .6), 14px);padding-inline:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.info-line{display:block}.controls,.footer{flex:none}.status-line{display:block}.submit[aria-disabled=true]{opacity:.45;cursor:not-allowed}.result-top{margin-top:var(--gap);text-align:center}.result{text-align:center;flex:none;margin-top:16px}.result-top h2,.notice-title{letter-spacing:.08em;font-size:16px;font-weight:700}.result-top h2:focus{outline:none}.toggle{border:1px solid var(--help-border);border-radius:5px;margin-top:12px;display:inline-flex;overflow:hidden}.toggle button{color:var(--muted);background:0 0;border:0;padding:6px 12px;font-size:12px}.toggle button[aria-pressed=true]{background:var(--button);color:var(--bg);font-weight:700}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.stat{flex-direction:column-reverse;gap:2px;display:flex}.stat dd{margin:0;font-size:20px;font-weight:700}.stat dt{color:var(--muted);font-size:10px}.distribution{gap:4px;max-width:320px;margin:14px auto 0;padding:0;font-size:11px;list-style:none;display:grid}.distribution li{grid-template-columns:28px 1fr;align-items:center;gap:6px;display:grid}.bar-label{white-space:nowrap;text-align:right;color:var(--muted)}.bar{width:max(22px, calc(var(--share) * 100%));background:var(--panel-border);text-align:right;padding:1px 6px;font-weight:500}.distribution .today .bar{background:var(--ink);color:var(--bg);font-weight:700}.distribution .today .bar-label:before{content:"▸ "}.share,.play-next{background:var(--button);width:100%;height:48px;color:var(--bg);letter-spacing:.18em;text-transform:uppercase;border:0;border-radius:5px;margin-top:16px;font-size:14px;font-weight:700}.manual-copy{background:var(--panel);width:100%;color:var(--ink);border:1px solid var(--panel-border);font:12px/1.4 var(--font);resize:none;border-radius:5px;margin-top:12px;padding:8px}.next{min-height:48px;color:var(--muted);margin-top:12px;font-size:12px}.next .play-next{margin-top:0}.follow{color:var(--focus);margin-top:12px;font-size:12px;display:inline-block}.notice-title{text-align:center;margin-top:40px}.notice-stats{text-align:center;margin-top:24px}.toast{background:var(--button);color:var(--bg);opacity:0;pointer-events:none;border-radius:5px;padding:8px 14px;font-size:13px;font-weight:700;transition:opacity .15s;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast.visible{opacity:1}.status.success{color:var(--ink);font-weight:700}.text-button{border:1px solid var(--help-border);color:var(--ink);background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.skip{color:var(--muted);border-color:#0000;margin:10px auto 0;text-decoration:underline;display:block}
