[data-panel-tier].is-mine{background:var(--accent);color:var(--on-accent);font-weight:600}[data-panel-tier].is-mine span{color:inherit}.ch-tile{font-family:var(--font-mono);color:var(--ink);background:var(--surface);border:2px solid var(--muted);place-items:center;font-size:clamp(1.125rem,4vw,1.5rem);font-weight:600;display:grid}.is-masked .ch-tile{color:#0000;background:var(--tile-on);border-color:var(--tile-on)}.cps-pad{cursor:pointer;touch-action:manipulation;background:0 0;outline:none;flex-direction:column;flex:auto;justify-content:center;align-self:stretch;align-items:center;gap:1rem;padding:1.5rem;display:flex}.cps-pad[data-state=running]{background:var(--accent-soft)}.cps-title{letter-spacing:-.03em;font-size:clamp(1.75rem,6vw,3rem);font-weight:650;line-height:1.1}.cps-pad[data-state=running] .cps-title{font-family:var(--font-mono);color:var(--accent-ink)}@media (prefers-reduced-motion:no-preference){.cps-pad.is-hit .cps-title{transform:scale(.97)}.cps-title{transition:transform 60ms}}.rt[data-mode=f1],.rt[data-mode=sound]{background:var(--raised);color:var(--ink)}.rt-lights{gap:clamp(.5rem,2vw,1rem);margin-bottom:.75rem;display:flex}.rt-lights span{background:var(--tile);border-radius:999px;width:clamp(2.5rem,9vw,4rem);height:clamp(2.5rem,9vw,4rem)}.rt-lights span.is-lit{background:var(--stop)}.kt{border:1px solid var(--line);background:var(--raised);padding:1rem}@media (width>=640px){.kt{padding:1.5rem}}.kt-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.kt-stats{flex-wrap:wrap;gap:1.5rem;font-size:.875rem;display:flex}.kt-stats dt{color:var(--muted)}.kt-stats dd{font-family:var(--font-mono);margin-top:.15rem;font-size:1.0625rem;font-weight:600}.kt-hint{color:var(--muted);margin-top:.75rem;font-size:.875rem}.kt-scroll{margin-top:1.25rem;padding-bottom:.25rem;overflow-x:auto}.kt-board{--u:2.5rem;gap:1rem;width:max-content;margin-inline:auto;display:flex}.kt-main,.kt-side{flex-direction:column;gap:.3rem;display:flex}.kt-side-end{justify-content:flex-end}.kt-row{min-height:var(--u);gap:.3rem;display:flex}.kt-top{margin-bottom:.5rem}.kt-arrows-up{justify-content:center}.kt-key{width:calc(var(--u) * var(--w,1) + .3rem * (var(--w,1) - 1));height:var(--u);background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);white-space:nowrap;place-items:center;padding-inline:.2rem;font-size:.6875rem;font-weight:600;transition:background-color .1s,transform 80ms;display:grid;overflow:hidden}.kt-key:empty:not([data-codes=Space]){visibility:hidden}.kt-key.is-tested{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}.kt-key.is-down{background:var(--accent);color:var(--on-accent);transform:translateY(1px)}.kt[data-active=true] .kt-scroll{outline:2px solid var(--accent);outline-offset:4px}.mt{border:1px solid var(--line);background:var(--raised);gap:1rem;padding:1rem;display:grid}@media (width>=640px){.mt{padding:1.5rem}}.mt-area{border:1px dashed var(--line);background:var(--surface);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;place-content:center;gap:.5rem;min-height:13rem;padding:1.5rem;transition:border-color .12s;display:grid}.mt-area.is-active{border-color:var(--accent)}.mt-title{letter-spacing:-.02em;font-size:1.25rem;font-weight:650}.mt-grid{gap:1rem;display:grid}@media (width>=768px){.mt-grid{grid-template-columns:1.2fr 1fr 1fr}}.mt-card{border:1px solid var(--line);background:var(--surface);padding:1rem 1.125rem}.mt[data-double-first] [data-mt-double-card]{outline:2px solid var(--accent)}.mt-head{letter-spacing:-.01em;font-weight:650}.mt-big{font-family:var(--font-mono);margin:.5rem 0;font-size:2.25rem;font-weight:600;line-height:1}.mt-big small{color:var(--muted);font-size:.875rem;font-weight:500}.mt-big.is-bad{color:var(--stop)}.mt-row,.mt-buttons li{justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:.9375rem;display:flex}.mt-row b,.mt-buttons b{font-family:var(--font-mono)}.mt-buttons{margin-top:.5rem}.mt-buttons li{padding-inline:.5rem}.mt-buttons li.is-seen{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.mt-buttons li.is-down{background:var(--accent);color:var(--on-accent)}.mt-log{max-height:9rem;font-family:var(--font-mono);color:var(--muted);font-size:.8125rem;overflow-y:auto}.mt-log li.is-bad{color:var(--stop);font-weight:600}.mt-reset{justify-self:start}.rs{border:1px solid var(--line);background:var(--raised);padding:1.25rem}@media (width>=640px){.rs{padding:2rem}}.rs-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:18rem;display:flex}.rs-passage{max-width:66ch;margin-inline:auto;font-size:1.0625rem}.rs-passage h3{margin-top:0}.rs-actions{justify-content:center;margin-top:1.5rem;display:flex}.rs-quiz{gap:1.25rem;max-width:44rem;margin-inline:auto;display:grid}.rs-quiz fieldset{gap:.5rem;display:grid}.rs-quiz legend{margin-bottom:.5rem;font-weight:600}.rs-quiz label{background:var(--surface);border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;display:flex}.rs-quiz label:has(input:checked){box-shadow:inset 4px 0 0 var(--accent)}.rs-quiz input{accent-color:var(--accent);margin-top:.3rem}.tr{border:1px solid var(--line);background:var(--raised);gap:1.25rem;padding:1rem;display:grid}@media (width>=640px){.tr{padding:1.5rem}}.tr-track{gap:.5rem;display:grid}.tr-lane{grid-template-columns:6.5rem 1fr;align-items:center;gap:.75rem;display:grid}.tr-name{font-size:.875rem;font-weight:600;line-height:1.15}.tr-name small{color:var(--muted);font-weight:500;font-family:var(--font-mono);display:block}.tr-road{background:var(--surface);border:1px solid var(--line);border-right:4px solid var(--accent);height:2.75rem;position:relative;overflow:hidden}.tr-car{color:var(--muted);transform:translate(calc(var(--p,0) * (var(--road,300px) - 2.75rem)), -50%);transition:transform .12s linear;position:absolute;top:50%;left:.25rem}.is-you .tr-car{color:var(--accent)}.is-you .tr-name{color:var(--accent-ink)}.tr-panel{text-align:center;flex-direction:column;align-items:center;gap:.9rem;display:flex}.tr-count{min-height:1.5rem;font-family:var(--font-mono);font-size:1.25rem;font-weight:600}.tr .ty-box{text-align:left}
