:root{--bg: #ffffff;--fg: #1a1a1b;--muted: #6b6f72;--border: #d3d6da;--surface: #f6f7f8;--surface-2: #eceef0;--accent: #be185d;--accent-fg: #ffffff;--focus: #2b6cb0;--wire: #1a1a1b;--m-correct: #6aaa64;--m-close: #c9b458;--m-dir: #6b7f93;--m-sign: #8e44ad;--m-wrong: #3a3a3c;--m-empty: transparent;--m-fg: #ffffff;--sel: #be185d;--radius: 10px;--maxw: 980px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #121213;--fg: #e8e8e8;--muted: #9a9ca0;--border: #3a3a3c;--surface: #1c1c1e;--surface-2: #26262a;--focus: #7fb3ff;--wire: #e8e8e8;--m-correct: #538d4e;--m-close: #b59f3b;--m-dir: #5e6c7a;--m-sign: #7d3c98;--m-wrong: #3a3a3c;--sel: #f472b6;color-scheme:dark}}:root[data-theme=dark]{--bg: #121213;--fg: #e8e8e8;--muted: #9a9ca0;--border: #3a3a3c;--surface: #1c1c1e;--surface-2: #26262a;--focus: #7fb3ff;--wire: #e8e8e8;--m-correct: #538d4e;--m-close: #b59f3b;--m-dir: #5e6c7a;--m-sign: #7d3c98;--m-wrong: #3a3a3c;--sel: #f472b6;color-scheme:dark}:root[data-contrast=on]{--m-correct: #f5793a;--m-close: #85c0f9;--m-sign: #6a1b9a;--accent: #b3541e}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg)}body{min-height:100vh;min-height:100dvh}#app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{line-height:1.2}.muted{color:var(--muted)}.small{font-size:.875rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:5}.brand{text-decoration:none;font-weight:800;font-size:1.6rem;letter-spacing:.02em}.brand small{font-weight:400;font-size:.8rem;color:var(--muted);margin-left:6px;letter-spacing:0}.top-actions{display:flex;gap:4px}.icon-btn{min-width:44px;height:44px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--fg);font-size:1.15rem;font-weight:700;cursor:pointer}.icon-btn:hover{background:var(--surface-2)}#view{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:14px 14px 32px;outline:none}.footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:16px;border-top:1px solid var(--border);color:var(--muted);font-size:.875rem}.footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}.footer .privacy-note{max-width:52ch;text-align:center}.footer .footer-links{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-ghost{background:transparent}.linklike{background:none;border:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer}.chip:disabled{opacity:.45;cursor:default}.chip.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.chip.status-won{border-color:var(--m-correct)}.chip.status-won .chip-status{color:var(--m-correct)}.chip.status-lost .chip-status{color:var(--m-wrong)}.chip-status{font-weight:800}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.seg-link,.seg label{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;text-decoration:none;font-size:.9rem;font-weight:600;cursor:pointer}.seg-link.active,.seg label:has(input:checked){background:var(--fg);color:var(--bg)}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:-3px}.lede{font-size:1.05rem;margin:4px 0 2px}.today{color:var(--muted);margin:0 0 16px}.countdown{font-variant-numeric:tabular-nums}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.card-head{display:flex;align-items:center;gap:10px}.card-head h2{margin:0;font-size:1.25rem;flex:1}.card-head h2 a{text-decoration:none}.card-icon{font-size:1.6rem}.card-tagline{margin:0;color:var(--muted)}.card-foot{display:flex;align-items:center;gap:16px;font-size:.9rem}.card-head h2 a,.linklike.tap,.card-foot a,.card-foot .linklike{display:inline-flex;align-items:center;min-height:44px}.streak{font-weight:700}.empty-state{padding:24px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius)}.play-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.play-head h1{margin:0;font-size:1.5rem}.play-sub{margin:0;color:var(--muted)}.play-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:12px 0 16px}.game-root{min-height:120px}.result{margin-top:20px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);scroll-margin-top:70px}.result-head{margin:0 0 12px}.result-head.won{color:var(--m-correct)}.result-actions{display:flex;flex-wrap:wrap;gap:10px}.explanation{overflow-x:auto}.error-box{padding:12px;border-radius:var(--radius);border:1px solid var(--m-wrong);color:var(--m-wrong)}.cell{position:relative;flex:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 4px;border-radius:6px;border:2px solid transparent;font-weight:700;font-variant-numeric:tabular-nums;color:var(--m-fg);user-select:none}.cell-sm{min-width:22px;height:22px;font-size:.75rem;border-radius:4px}.cell-lg{min-width:52px;height:52px;font-size:1.4rem}.m-correct{background:var(--m-correct)}.m-close{background:var(--m-close)}.m-low,.m-high{background:var(--m-dir)}.m-sign{background:var(--m-sign)}.m-wrong{background:var(--m-wrong)}.m-empty{background:transparent;border:2px solid var(--border);color:var(--fg)}.cell.show-sym:has(.sym){padding-right:11px}.cell .sym{display:none;position:absolute;top:-1px;right:1px;font-size:.6rem;line-height:1}:root[data-contrast=on] .cell .sym,.cell.show-sym .sym{display:block}:root[data-contrast=on] .m-close{color:#10324f}.guess-board{display:flex;flex-direction:column;gap:6px}.guess-row{display:flex;align-items:center;gap:8px}.row-label{min-width:1.5em;color:var(--muted);font-size:.85rem;text-align:right}.row-cells{display:flex;flex-wrap:wrap;flex-shrink:0;gap:4px}.row-trailing{flex:1 1 auto;min-width:0;color:var(--muted);font-size:.85rem}.guess-row.reveal .cell{animation:flip .45s ease both;animation-delay:calc(var(--i, 0) * 70ms)}@keyframes flip{0%{transform:rotateX(90deg)}to{transform:rotateX(0)}}@media (prefers-reduced-motion: reduce){.guess-row.reveal .cell{animation:none}}.legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;padding:0;margin:10px 0;font-size:.85rem}.legend li{display:inline-flex;align-items:center;gap:6px}.brand{display:inline-flex;white-space:nowrap;align-items:center;gap:8px;min-height:44px}.brand-mark{width:1.15em;height:1.15em;flex:none}.brand-mark rect{fill:var(--accent)}.brand-mark path,.brand-mark circle{fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round}.brand-mark circle.dot{fill:#fff;stroke:none}.brand-group{display:inline-flex;align-items:center;gap:10px;min-width:0}.hub-link{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--muted);text-decoration:none;padding:0 8px;white-space:nowrap}.hub-link{position:relative;display:inline-flex;align-items:center;min-height:44px}.hub-link:before{content:"";position:absolute;left:0;right:0;top:50%;height:1.9em;transform:translateY(-50%);border:1px solid var(--border);border-radius:999px;pointer-events:none}@media (max-width: 400px){.brand-mark{display:none}}.hub-link:hover,.hub-link:focus-visible{color:var(--fg)}.hub-link:hover:before,.hub-link:focus-visible:before{border-color:var(--fg)}.num-field{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;row-gap:4px;min-width:0}.num-label{font-weight:700;font-size:1.05rem;white-space:nowrap}.num-row{display:flex;align-items:center;gap:6px;min-width:0}.num-input{flex:1;min-width:0;width:100%;min-height:44px;padding:6px 12px;border:2px solid var(--border);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit;font-size:1.1rem;font-variant-numeric:tabular-nums}.num-input:focus{border-color:var(--accent);outline:none}.num-input:disabled{opacity:.6}.num-unit{font-weight:700;color:var(--muted);min-width:1.2em}.num-echo{grid-column:2;min-height:1.3em;font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.num-echo.ok{color:var(--fg)}.num-echo.err{color:var(--m-wrong-text, #c0392b)}:root[data-theme=dark] .num-echo.err{color:#ff8a80}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .num-echo.err{color:#ff8a80}}.num-keys{grid-column:1 / -1;display:none;gap:4px}.num-keys.always{display:flex}@media (pointer: coarse),(max-width: 600px){.num-keys{display:flex}}.num-key{flex:1;min-width:0;min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer;touch-action:manipulation}.num-key:active{background:var(--surface-2)}.num-field.disabled .num-key{opacity:.5}.num-keys-wrap{flex-wrap:wrap}.multi-field .num-field:not(:focus-within) .num-keys{display:none}.num-keys-wrap>.num-key{flex:1 1 min(calc(25% - 4px),max(0px,calc((380px - 100%)*999)));min-width:44px}.demo-q{margin:0 0 8px}.demo-answer{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:14px}.demo-answer .num-field{flex:1 1 220px;max-width:440px}.demo-answer .btn{min-height:44px}.demo-chart{margin:4px auto 12px;max-width:460px}dialog.modal{border:none;padding:0;border-radius:14px;background:var(--bg);color:var(--fg);width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-shadow:0 10px 40px #00000059}dialog.modal.modal-wide{width:min(720px,calc(100vw - 24px))}dialog.modal::backdrop{background:#00000080}.modal-inner{padding:16px 18px 20px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.modal-head h2{margin:0;font-size:1.25rem}.toasts{position:fixed;top:64px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:100;pointer-events:none}.toast{background:var(--fg);color:var(--bg);padding:10px 14px;border-radius:8px;font-weight:600;transition:opacity .3s}.toast.out{opacity:0}.setting{border:none;padding:0;margin:16px 0}.setting legend{font-weight:700;margin-bottom:6px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.switch-row small{display:block;color:var(--muted)}.switch-row input{width:22px;height:22px}.setting.danger{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:14px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 6px;text-align:center}.stat-num{font-size:1.8rem;font-weight:700}.stat-label{font-size:.75rem;color:var(--muted)}.dist{display:flex;flex-direction:column;gap:4px}.dist-row{display:flex;align-items:center;gap:6px}.dist-n{width:1em;text-align:right}.dist-bar{background:var(--m-dir);color:#fff;font-weight:700;text-align:right;padding:1px 8px;border-radius:3px}.dist-bar.hl{background:var(--m-correct)}table.overview{width:100%;border-collapse:collapse}table.overview th,table.overview td{padding:6px;border-bottom:1px solid var(--border);text-align:right}table.overview th:first-child,table.overview td:first-child{text-align:left}.share-text{width:100%;font:inherit}.prose{max-width:680px}.howto p,.howto li{max-width:64ch}.howto .concept{border-left:4px solid var(--m-correct);background:var(--surface);padding:8px 12px;border-radius:0 8px 8px 0}@media (max-width: 480px){.brand{font-size:1.05rem;letter-spacing:0;white-space:normal;line-height:1.05;max-width:8.5em}.brand .brand-mark{display:none}.topbar{padding:8px 8px 8px 12px}.brand-group{gap:8px}.hub-link{font-size:.68rem;padding:0 6px}.top-actions{gap:0}.brand small{font-size:.7rem;margin-left:4px}.stat-num{font-size:1.4rem}}table.overview{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table.overview th,table.overview td{white-space:nowrap}.kit h2{font-size:1.1rem;margin:24px 0 8px}.kit-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.kit-tile{min-width:0;max-width:100%;margin:0;padding:8px;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;gap:4px}.kit-tile figcaption{font-size:.75rem;color:var(--muted)}.kit-grid.wide .kit-tile{flex:1 1 300px}.kit-marks{display:flex;gap:8px}.kit .num-field{max-width:420px;margin-bottom:12px}.kit-section>.kit-tile{align-items:stretch;margin-bottom:10px}.kit-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 16px}.sweep-wrap{margin:0}.sweep{display:block;width:100%;height:auto;user-select:none}.sweep.interactive{cursor:crosshair;touch-action:pan-y}.sweep:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sweep .sweep-bg{fill:var(--plot-bg)}.sweep .sweep-frame{fill:none;stroke:var(--plot-major)}.sweep .sweep-minor{stroke:var(--plot-grid);stroke-width:.8}.sweep .sweep-major{stroke:var(--plot-major);stroke-width:1}.sweep .sweep-ref{stroke:var(--muted);stroke-dasharray:4 4}.sweep text{font-family:inherit;font-size:12px;fill:var(--muted)}.sweep .sweep-axis-label{font-size:12px}.sweep .sweep-trace{fill:none;stroke-linejoin:round}.sweep .sweep-target{stroke:var(--plot-target);stroke-width:2.5}.sweep .sweep-guess{stroke:var(--plot-guess);stroke-width:1.8;opacity:.8}.sweep .sweep-ref.sweep-trace{stroke:var(--plot-guess);stroke-width:1.5}.sweep .sweep-marker line{stroke:var(--plot-marker);stroke-width:1.2;stroke-dasharray:3 3}.sweep .sweep-marker-flag{fill:var(--plot-marker)}.sweep .sweep-marker text{fill:var(--plot-marker);font-weight:700}.sweep .sweep-marker.active line{stroke-width:2}.sweep.compact text{font-size:13px}.sweep-readout{display:flex;flex-wrap:wrap;gap:4px 16px;min-height:1.5em;font-variant-numeric:tabular-nums;font-size:.95rem}.sweep-readout b{color:var(--plot-marker)}:root{--plot-bg: #fbfbfc;--plot-grid: #e1e5ea;--plot-major: #9aa3ad;--plot-axis: #4a5058;--plot-target: var(--accent);--plot-guess: #6b7f93;--plot-marker: #2563eb;--plot-asym: #2f855a;--bd-fill: #f6f7f8}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--plot-bg: #17171a;--plot-grid: #2b2d31;--plot-major: #6b7178;--plot-axis: #b8bcc2;--plot-target: #f472b6;--plot-guess: #8fa3b7;--plot-marker: #7fb3ff;--plot-asym: #68d391;--bd-fill: #1c1c1e}}:root[data-theme=dark]{--plot-bg: #17171a;--plot-grid: #2b2d31;--plot-major: #6b7178;--plot-axis: #b8bcc2;--plot-target: #f472b6;--plot-guess: #8fa3b7;--plot-marker: #7fb3ff;--plot-asym: #68d391;--bd-fill: #1c1c1e}:root[data-contrast=on]{--plot-target: #f5793a;--plot-guess: #85c0f9;--plot-marker: var(--fg);--plot-asym: #85c0f9}.splane-wrap,.bode-wrap,.scope-wrap,.bd-wrap{margin:0 auto 10px}.splane-wrap{max-width:420px}.bode-wrap,.scope-wrap{max-width:600px}.splane,.bode,.scope{display:block;width:100%;height:auto;user-select:none}.splane.interactive{cursor:crosshair;touch-action:none}.bode.interactive,.scope.interactive{cursor:crosshair;touch-action:pan-y}.splane:focus-visible,.bode:focus-visible,.scope:focus-visible,.bd-node.tappable:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.plot-bg{fill:var(--plot-bg)}.plot-frame{fill:none;stroke:var(--plot-major)}.plot-minor{stroke:var(--plot-grid);stroke-width:.8}.plot-major{stroke:var(--plot-major);stroke-width:.8;opacity:.6}.plot-axis{stroke:var(--plot-axis);stroke-width:1.2}.splane text.plot-tick{paint-order:stroke;stroke:var(--plot-bg);stroke-width:3px}.splane text,.bode text,.scope text{font-family:inherit;font-size:12px;fill:var(--muted)}.plot-tick{font-variant-numeric:tabular-nums}.plot-axis-label{font-style:italic}.plot-trace{fill:none;stroke-linejoin:round;stroke-linecap:round}.trace-target{stroke:var(--plot-target);stroke-width:2.4}.trace-ghost,.trace-guess{stroke:var(--plot-guess);stroke-width:1.8;opacity:.85}.trace-asym{stroke:var(--plot-asym);stroke-width:1.4;stroke-dasharray:6 4}.plot-marker line{stroke:var(--plot-marker);stroke-width:1.4;stroke-dasharray:3 3}.plot-marker circle{fill:var(--plot-marker)}.plot-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}.plot-readout,.splane-readout{display:flex;flex-wrap:wrap;gap:2px 14px;min-height:1.5em;font-variant-numeric:tabular-nums;font-size:.95rem}.plot-readout b{color:var(--plot-marker)}.plot-tools,.splane-tools{display:flex;gap:6px;align-items:center}.splane-tools{justify-content:center;margin-top:4px}.btn.nudge{min-width:44px;min-height:44px;padding:0;font-size:1.2rem}.scope-peak,.splane-confirm{min-height:44px;min-width:64px}.splane-confirm{min-width:72px;min-height:48px}.splane-seg{stroke:var(--plot-target);stroke-width:5;stroke-linecap:round;opacity:.75}.splane-branch{fill:none;stroke:var(--plot-target);stroke-width:2.2;stroke-linejoin:round}.splane-asym{stroke:var(--plot-guess);stroke-width:1.3;stroke-dasharray:6 5}.splane-ray{stroke:var(--plot-guess);stroke-width:2.2;stroke-dasharray:5 4;stroke-linecap:round}.splane-zeta{stroke:var(--plot-asym);stroke-width:1.2;stroke-dasharray:2 4}.splane-pole{stroke:var(--fg);stroke-width:2.4;stroke-linecap:round;fill:none}.splane-zero{fill:var(--plot-bg);stroke:var(--fg);stroke-width:2.2}.splane-clpole{fill:var(--plot-marker);stroke:var(--plot-bg);stroke-width:1.5}.splane-mark{fill:var(--plot-marker)}.splane-centroid{stroke:var(--plot-guess);stroke-width:2}.splane-guess,.splane-probe{fill:none;stroke:var(--plot-guess);stroke-width:2}.splane-probe.on{fill:var(--plot-guess)}.splane-cross{fill:none;stroke:var(--plot-marker);stroke-width:1.8}.splane text.splane-label{fill:var(--fg);font-size:12px;paint-order:stroke;stroke:var(--plot-bg);stroke-width:3px}.bode-cross{stroke:var(--plot-guess);stroke-width:1.1;stroke-dasharray:4 3}.bode-margin{stroke:var(--plot-marker);stroke-width:2}.bode-arrow{fill:var(--plot-marker)}.bode text.bode-margin-label{fill:var(--plot-marker);font-weight:700;paint-order:stroke;stroke:var(--plot-bg);stroke-width:3px}.scope-band{fill:var(--plot-asym);opacity:.12}.scope-final{stroke:var(--plot-axis);stroke-width:1;stroke-dasharray:5 4}.scope text.scope-trace-label{fill:var(--plot-guess);font-weight:700}.bd-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;text-align:center;max-width:100%}.bd{display:inline-block;max-width:none;vertical-align:top}.bd text{font-family:inherit;fill:var(--fg)}.bd-wire{fill:none;stroke:var(--wire);stroke-width:1.6;stroke-linejoin:round}.bd-arrow{fill:var(--wire)}.bd-box{fill:var(--bd-fill);stroke:var(--wire);stroke-width:1.6}.bd-label{font-size:13px;font-variant-numeric:tabular-nums}.bd-bar{stroke:var(--fg);stroke-width:1.1}.bd-sum{fill:var(--bg);stroke:var(--wire);stroke-width:1.6}.bd-sum-x{stroke:var(--wire);stroke-width:1;opacity:.5}.bd-pick{fill:var(--wire)}.bd-io{font-size:13px;font-style:italic}.bd-sign{font-size:15px;font-weight:800}.bd-hit{fill:transparent;stroke:none}.bd-hit-box{fill:none;stroke:none;pointer-events:none}.bd-node.tappable{cursor:pointer}.bd-node.selected .bd-box,.bd-node.selected .bd-sum{stroke:var(--sel);stroke-width:3}.bd-node.selected .bd-pick{fill:var(--sel)}table.routh{border-collapse:collapse;margin:6px auto 10px;font-variant-numeric:tabular-nums}table.routh th,table.routh td{border:1px solid var(--border);padding:4px 10px;text-align:right;min-width:44px}table.routh th{color:var(--muted);font-weight:600;text-align:left}table.routh td.neg{color:var(--accent);font-weight:700}@media (max-width: 400px){.topbar{gap:4px;padding-left:10px}.brand-group{flex:1 1 auto;min-width:0;gap:6px}.hub-link{padding:0 5px}.brand{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none;font-size:.95rem;line-height:44px}.top-actions{flex:none}}.blockordle-game [hidden]{display:none!important}.blockordle-game{display:flex;flex-direction:column;gap:.6rem;max-width:44rem;margin:0 auto}.blockordle-status{margin:0;font-weight:600;text-align:center}.blockordle-goal{margin:0;text-align:center;color:var(--muted)}.blockordle-board{display:flex;justify-content:center;overflow-x:auto;padding:.25rem 0}.blockordle-key{display:flex;flex-direction:column;gap:.2rem;font-size:.92rem}.blockordle-key-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem .9rem}.blockordle-key-made{color:var(--muted)}.blockordle-key-made strong{color:var(--fg)}.blockordle-sel{margin:0;min-height:1.4em;text-align:center;font-size:.95rem;overflow-wrap:anywhere}.blockordle-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;width:100%;max-width:40rem;margin:0 auto}.blockordle-actions .btn{min-height:44px;min-width:44px;width:100%;margin:0}.blockordle-op-tag{font-weight:400}@media (max-width: 420px){.blockordle-op-tag{display:none}}.blockordle-actions .blockordle-clear{grid-column:1 / -1}.blockordle-msg{margin:0;min-height:1.4em;text-align:center}.blockordle-msg.blockordle-bad{border-left:4px solid var(--m-wrong, currentColor);padding-left:.5rem;text-align:left}.blockordle-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.blockordle-line{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem}.blockordle-line .cell{flex:none}.blockordle-line-text{overflow-wrap:anywhere}.blockordle-refused .blockordle-line-text{color:var(--muted)}.blockordle-refused .blockordle-line-op{color:var(--fg)}.blockordle-final{border:1px solid var(--border);border-radius:var(--radius, 8px);padding:.6rem .8rem;background:var(--surface);display:flex;flex-direction:column;gap:.4rem}.blockordle-final-head{margin:0;font-size:1.05rem}.blockordle-final-q,.blockordle-template{margin:0;overflow-wrap:anywhere}.blockordle-template{font-weight:600}.blockordle-hint{margin:.1rem 0 .3rem;font-size:.92rem;color:var(--muted)}.blockordle-answer{display:flex;flex-direction:column;gap:.4rem}.blockordle-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.2rem,1fr));gap:.4rem}.blockordle-fields .num-field{min-width:0}.blockordle-answer .blockordle-check{min-height:44px;align-self:flex-start;min-width:8rem}.blockordle-howto ul{padding-left:1.2rem}.blockordle-howto li{margin:.2rem 0}.blockordle-explain-board{display:flex;flex-direction:column;align-items:center;margin:.25rem 0;overflow-x:auto}.blockordle-plan li,.blockordle-slips li{margin:.25rem 0;overflow-wrap:anywhere}.blockordle-plan-op{font-weight:600}.blockordle-t{font-size:1.05rem}.bd .blockordle-fresh:not(.selected) .bd-box{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:5 3}@media (prefers-reduced-motion: no-preference){.bd .blockordle-fresh{animation:blockordle-pop .6s ease-out}}@keyframes blockordle-pop{0%{opacity:.2}to{opacity:1}}.stepordle-q{margin:0 0 10px}.stepordle-q p{margin:0 0 8px}.stepordle-tf{display:inline-flex;align-items:center;gap:8px;font-size:1.15rem;max-width:100%}.stepordle-tf-lhs{font-weight:700;white-space:nowrap}.stepordle-frac{display:inline-flex;flex-direction:column;align-items:center;text-align:center}.stepordle-frac-num{padding:0 6px 2px}.stepordle-frac-den{padding:2px 6px 0;border-top:2px solid var(--fg);white-space:nowrap}.stepordle-explain-tf{margin:4px 0 10px}.stepordle-tip{margin:0 0 10px}.stepordle-answer{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:6px 0 14px}.stepordle-answer .stepordle-field{flex:1 1 160px;max-width:300px}.stepordle-answer .stepordle-check{min-height:44px;min-width:96px}.stepordle-gains{flex-direction:column;align-items:stretch;max-width:360px}.stepordle-stepper{display:grid;grid-template-columns:3em 44px 1fr 44px;align-items:center;gap:8px}.stepordle-stepper .nudge{min-width:44px;min-height:44px;padding:0}.stepordle-stepper-name{font-weight:700;font-size:1.05rem}.stepordle-stepper-value{display:flex;align-items:center;justify-content:center;min-height:44px;border:2px solid var(--border);border-radius:10px;font-size:1.15rem;font-variant-numeric:tabular-nums;background:var(--bg)}.stepordle-stepper-value:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.stepordle-stepper-value[aria-disabled=true]{color:var(--muted)}.stepordle-board{margin-bottom:12px}.stepordle-hint{margin:-2px 0 2px 34px;font-size:.85rem;color:var(--muted);line-height:1.35}.stepordle-conventions{margin:8px 0;padding-left:1.2em}.stepordle-explain p{margin:0 0 8px}@media (max-width: 560px){.stepordle-answer .stepordle-field{flex:1 1 calc(50% - 10px);max-width:none}.stepordle-medium .stepordle-answer .stepordle-field,.stepordle-answer .stepordle-check{flex:1 1 100%}.stepordle-gains{max-width:none}.stepordle-hint{margin-left:0}}.routhordle-game{display:flex;flex-direction:column;gap:10px}.routhordle-q{margin:0}.routhordle-poly{white-space:nowrap}.routhordle-arraybox{overflow-x:auto;max-width:100%}table.routhordle-table{margin:0 auto}table.routhordle-table th,table.routhordle-table td{padding:4px 6px;vertical-align:middle;text-align:center}table.routhordle-table th{font-size:1.05rem}td.routhordle-given{background:var(--surface-2);color:var(--fg);font-weight:600;min-width:52px;white-space:nowrap}table.routhordle-table.routhordle-wide th,table.routhordle-table.routhordle-wide td{padding:4px 2px}table.routhordle-table.routhordle-wide td.routhordle-given{min-width:34px}table.routhordle-table.routhordle-wide .routhordle-signs{gap:2px}table.routhordle-table td.routhordle-pad{background:transparent;border-color:transparent;min-width:20px}td.routhordle-hidden{color:var(--muted)}td.routhordle-ask{padding:3px 4px}td.routhordle-src{outline:2px dashed var(--accent);outline-offset:-3px}td.routhordle-pivot{outline:3px solid var(--accent);outline-offset:-3px}.routhordle-in{display:flex;align-items:center;gap:4px;justify-content:center}.routhordle-slot{display:inline-flex;min-width:24px;justify-content:center}.routhordle-slot:empty{min-width:0}.routhordle-nf{grid-template-columns:1fr;column-gap:0;row-gap:2px;position:relative}.routhordle-nf .num-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.routhordle-nf .num-input{width:76px;min-width:64px;min-height:44px;padding:6px;text-align:center}.routhordle-nf .num-echo{grid-column:1;min-height:1.1em;font-size:.75rem;text-align:center}.routhordle-plain .num-echo.ok{display:none}.routhordle-nf .num-keys{grid-column:1}.routhordle-below{max-width:640px;width:100%;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 16px}.routhordle-wide{flex:1 1 200px;justify-content:flex-start}.routhordle-wide .num-field{flex:1}.routhordle-tip{margin:0;min-height:1.2em;font-size:.9rem;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.routhordle-tip:empty{display:none}.routhordle-note{margin:-4px 0 0;text-align:center}.routhordle-signs{display:inline-flex;gap:4px}.routhordle-chip{min-width:44px;min-height:44px;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;font-size:1.15rem;font-weight:700;cursor:pointer;touch-action:manipulation}.routhordle-chip.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}.routhordle-chip:disabled{opacity:.6;cursor:default}.routhordle-counts{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center}.routhordle-count{flex:0 1 auto}.routhordle-stepper{display:flex;flex-direction:column;align-items:center;gap:2px}.routhordle-step-label{font-size:.85rem;font-weight:600;color:var(--muted)}.routhordle-step-ctl{display:inline-flex;align-items:center;border:2px solid var(--border);border-radius:10px;overflow:hidden}.routhordle-step-btn{min-width:44px;min-height:44px;border:0;background:var(--surface);color:var(--fg);font:inherit;font-size:1.3rem;font-weight:700;cursor:pointer;touch-action:manipulation}.routhordle-step-btn:disabled{opacity:.4;cursor:default}.routhordle-step-val{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.routhordle-actions{display:flex;gap:10px;justify-content:center}.routhordle-actions .btn{min-height:44px;min-width:96px}.routhordle-tipbtn.on{border-color:var(--accent);color:var(--accent)}.routhordle-left{margin:-4px 0 0;text-align:center}.routhordle-left:empty{display:none}.routhordle-hints{margin:0;padding-left:1.2em;font-size:.92rem}.routhordle-hints:empty{display:none}.routhordle-board{display:flex;justify-content:center}.routhordle-explain h3{margin:.6em 0 .3em}.routhordle-work{margin:.3em 0;padding-left:1.2em;font-variant-numeric:tabular-nums}.routhordle-full td{white-space:nowrap}td.routhordle-auxrow{background:var(--surface)}.routhordle-plane{max-width:240px;margin:8px auto}.routhordle-plane svg{width:100%;height:auto}.locusordle-q{margin:0 0 4px;font-size:1.02rem}.locusordle-tf{font-weight:700;white-space:nowrap}.locusordle-ask{margin:0 0 8px;color:var(--muted)}.locusordle-plane{display:flex;flex-direction:column;align-items:center}.locusordle-plane .splane-wrap{margin-bottom:4px}.locusordle-s-row{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin:4px 0}.locusordle-s-row[hidden]{display:none}.locusordle-s-label{display:inline-flex;align-items:center;gap:6px;font-weight:600}.locusordle-s-input{min-height:44px;width:11ch;padding:0 10px;font:inherit;font-size:1rem;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.locusordle-s-input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.locusordle-s-go{min-height:44px;min-width:64px}.locusordle-probe-count{margin:4px 0 0;color:var(--muted);text-align:center}.locusordle-probes{margin:4px 0 8px;padding-left:1.6em;font-size:.92rem;align-self:stretch;max-width:560px}.locusordle-probes li{margin:2px 0}.locusordle-on .locusordle-tag{font-weight:700}.locusordle-caption{margin:0 0 8px}.locusordle-answer{display:flex;flex-direction:column;gap:10px;margin:8px 0 12px}.locusordle-field{border:0;margin:0;padding:0;min-width:0}.locusordle-field-label{padding:0;margin-bottom:6px;font-weight:600}.locusordle-chip{min-width:64px;justify-content:center}.locusordle-chip-mark:empty{display:none}.locusordle-chip-mark{font-weight:800}.locusordle-chip.locusordle-ok{box-shadow:inset 0 0 0 3px var(--m-correct)}.locusordle-chip.locusordle-bad{box-shadow:inset 0 0 0 3px var(--m-wrong)}.locusordle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.locusordle-grid.one{grid-template-columns:minmax(0,1fr)}.locusordle-grid .num-field{min-width:0;grid-template-columns:minmax(0,1fr)}.locusordle-grid .num-label{font-size:1rem}.locusordle-grid .num-echo{grid-column:1}.locusordle-check{min-height:48px;align-self:flex-start;min-width:120px}.locusordle-board{margin:4px 0}.locusordle-hints ul{margin:6px 0;padding-left:1.2em;font-size:.92rem}.locusordle-reveal{display:flex;flex-direction:column;align-items:center;gap:4px}.locusordle-reveal>p{align-self:stretch}.locusordle-slider-row{display:flex;align-items:center;gap:10px;width:100%;max-width:420px;font-weight:700}.locusordle-slider{flex:1;min-height:44px;accent-color:var(--accent)}.locusordle-k-readout{align-self:stretch;text-align:center;margin:0}.locusordle-jumps{justify-content:center}@media (max-width: 380px){.locusordle-grid{gap:8px 6px}}.marginordle-q{margin:0 0 8px}.marginordle-formula{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:1.05rem;font-variant-numeric:tabular-nums;overflow-x:auto}.marginordle-note{margin:-4px 0 8px}.marginordle-tf{white-space:nowrap}@media (max-width: 400px){.marginordle-formula{font-size:.88rem;padding:8px 10px}}.marginordle-target{font-family:inherit;font-weight:700;color:var(--accent)}.marginordle-readouts{min-height:0;margin:2px 0 8px;color:var(--muted)}.marginordle-answer{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.marginordle-units{display:flex;align-items:center;gap:0}.marginordle-units-label{margin-right:8px}.marginordle-seg{min-width:56px;min-height:44px;padding:0 12px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font:inherit;cursor:pointer}.marginordle-seg:first-of-type{border-radius:8px 0 0 8px}.marginordle-seg:last-of-type{border-radius:0 8px 8px 0;border-left:none}.marginordle-seg.active{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700}.marginordle-seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.marginordle-seg:disabled{opacity:.5;cursor:default}.marginordle .marginordle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.marginordle-grid .num-field{min-width:0;grid-template-columns:minmax(0,1fr);align-content:start}.marginordle-grid .num-field>*{grid-column:1}.marginordle-grid .num-label{font-size:.95rem}.marginordle-grid .num-input{min-width:0;width:100%}.marginordle-chip{justify-self:start;margin-top:4px;min-width:44px;justify-content:center}.marginordle-check{align-self:flex-start;min-width:120px;min-height:44px}.marginordle-board .guess-board{gap:6px}.marginordle-head{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}.marginordle-head-cell{flex:none;width:70px;text-align:center}.marginordle-board .row-cells{gap:8px}.marginordle-board .cell{width:70px;min-width:70px;font-size:.8rem;overflow:hidden}.marginordle-hints{margin:-2px 0 4px 2em;color:var(--muted)}@media (min-width: 561px){.marginordle .marginordle-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.marginordle-head-cell,.marginordle-board .cell{width:92px;min-width:92px;font-size:.9rem}}
