:root{color-scheme:light dark;--bg: #e4e7fa;--panel: #f4f5ff;--ink: #1b1a4b;--soft: #55568c;--line: #b4b8e2;--tile: #fff;--exact: #0b8f71;--on-exact: #fff;--near: #ffb81c;--on-near: #1b1a4b;--miss: #62648f;--on-miss: #fff;--siren: #d9213f;--on-siren: #fff;--key: #cdd1f2;--key-miss: #62648f;--on-key-miss: #e4e7fa;--display: "Bungee", "Arial Black", Impact, sans-serif;--body: "Figtree", "Segoe UI", system-ui, sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--key-height: clamp(42px, 6.3dvh, 56px)}@media(prefers-color-scheme:dark){:root{--bg: #15143a;--panel: #1f1e50;--ink: #eef0ff;--soft: #a6a8dc;--line: #45447f;--tile: #262560;--exact: #1cc79d;--on-exact: #08261f;--near: #ffc23d;--on-near: #241a00;--miss: #3d3c76;--on-miss: #d5d6f5;--siren: #ff4d6a;--on-siren: #1f0509;--key: #4a4992;--key-miss: #232255;--on-key-miss: #8486bc}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.45 var(--body);-webkit-tap-highlight-color:transparent;user-select:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--siren);outline-offset:2px}button:disabled{opacity:.5;cursor:default}a{color:inherit}.app{min-height:100%;display:grid;grid-template-columns:minmax(0,500px);justify-content:center;align-content:start;gap:8px;padding-block:calc(var(--safe-top) + 8px) calc(var(--safe-bottom) + 10px);padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.brand{display:flex;align-items:center;justify-content:space-between;gap:8px}.brandButtons{display:flex;gap:6px}h1{font:400 28px/1 var(--display);margin:0;letter-spacing:.01em}h1 span{color:var(--siren);display:inline-block;transform:translate(.04em) skew(-10deg)}.tag{display:none}.pill{background:none;border:2px solid var(--line);border-radius:999px;padding:3px 10px;font-weight:600;font-size:12.5px;white-space:nowrap}.rules,.sheet{position:fixed;inset:0;z-index:20;background:var(--bg);overflow:auto;padding:calc(var(--safe-top) + 20px) max(20px,env(safe-area-inset-right,0px)) calc(var(--safe-bottom) + 24px) max(20px,env(safe-area-inset-left,0px))}.rules{display:none}.rules.open{display:block}.rules h2,.sheet h2{font:400 18px/1.2 var(--display);margin:0 0 10px}.rules ol{margin:0 0 14px;padding-left:20px;display:grid;gap:7px;max-width:44ch}.example{display:grid;gap:6px;max-width:44ch;margin-bottom:14px}.example .row{--t: 38px;justify-content:start}.example p{margin:0;color:var(--soft);font-size:13.5px}.side .sideStats{display:none}.sheet{display:grid;align-content:start;gap:12px}.sheet>*{max-width:460px;width:100%}.sheet p{margin:0;color:var(--soft)}.sheet .fine{font-size:12.5px}.toggle{display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:0;border-radius:10px;padding:12px 14px;font-weight:600;width:100%;text-align:left}.toggle b{font-weight:800;color:var(--soft)}.toggle[aria-pressed=true] b{color:var(--exact)}.linkRow{display:block;background:var(--panel);border:0;border-radius:10px;padding:12px 14px;font-weight:600;width:100%;text-align:left;text-decoration:none}.docFrame{width:100%;height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 150px);border:1px solid var(--line);border-radius:10px;background:#fff}.yearSelect{font:inherit;font-weight:600;color:var(--ink);background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:12px;width:100%}.play{display:grid;gap:6px;min-width:0}.tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border-radius:9px;padding:3px;gap:3px}.tabs button{background:none;border:0;border-radius:7px;padding:4px;font-weight:600;font-size:13px;color:var(--soft)}.tabs button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.road{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600;color:var(--soft)}.track{position:relative;flex:1;height:24px;min-width:0}.track:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px dashed var(--line)}.stop{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--line)}.stop.end{width:auto;height:auto;margin:-11px 0 0 -11px;background:var(--bg);color:var(--soft);line-height:0}.car{position:absolute;top:50%;left:0;margin:-11px 0 0 -14px;color:var(--siren);line-height:0;transition:left .55s cubic-bezier(.3,1.5,.5,1)}.track.stopped .car{color:var(--exact)}.status{min-height:40px;font-weight:600;font-size:14px;line-height:1.35;text-wrap:pretty;user-select:text}.status.alert{color:var(--siren)}.boardWrap{--rows: 8;--t: clamp(30px, calc((100dvh - var(--safe-top) - var(--safe-bottom) - 244px - 3 * var(--key-height)) / var(--rows) - 5px), 58px);display:grid;gap:5px;justify-items:center}.board{display:grid;gap:5px}.rail,.row{display:flex;gap:5px;justify-content:center}.chip{width:var(--t);height:15px;text-align:center;font-size:10px;line-height:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--soft);border-radius:4px;overflow:hidden}.chip.moved{background:var(--siren);color:var(--on-siren)}.tile{width:var(--t);height:var(--t);display:grid;place-items:center;position:relative;background:var(--tile);border:2px solid var(--line);border-radius:7px;font:400 calc(var(--t) * .52)/1 var(--display);text-transform:uppercase}.tile.empty{background:none;border-color:color-mix(in srgb,var(--line) 55%,transparent)}.tile.ghost{color:color-mix(in srgb,var(--exact) 45%,transparent)}.tile.typed{border-color:var(--ink)}.tile.s2{--st: var(--exact);background:var(--exact);border-color:var(--exact);color:var(--on-exact)}.tile.s1{--st: var(--near);background:var(--near);border-color:var(--near);color:var(--on-near)}.tile.s1:after{content:"";position:absolute;right:3px;top:3px;width:calc(var(--t) * .11);height:calc(var(--t) * .11);border-radius:50%;background:var(--on-near)}.tile.s0{--st: var(--miss);background:var(--miss);border-color:var(--miss);color:var(--on-miss)}.tile.old{color:color-mix(in srgb,var(--ink) 62%,transparent);border:2px dashed color-mix(in srgb,var(--st) 80%,var(--line));background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--st) 42%,var(--bg)) 0 5px,var(--bg) 5px 10px)}.tile.old:after{display:none}.flip{animation:flip .46s ease both}@keyframes flip{0%{transform:rotateX(0);background:var(--tile);border-color:var(--ink);color:var(--ink)}49%{transform:rotateX(90deg);background:var(--tile);border-color:var(--ink);color:var(--ink)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.pop{animation:pop .12s ease}@keyframes pop{50%{transform:scale(1.09)}}.shake{animation:shake .32s}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.sweep{animation:sweep .5s ease both}@keyframes sweep{0%{background:var(--siren);border-color:var(--siren);color:var(--on-siren);transform:scale(1.07)}to{transform:scale(1)}}.keys{display:grid;gap:5px;margin-top:4px}.keyrow{display:flex;gap:4px;justify-content:center}.key{flex:1 1 0;min-width:0;max-width:44px;height:var(--key-height);border:0;border-radius:6px;background:var(--key);font-weight:800;font-size:14px;text-transform:uppercase;touch-action:manipulation;padding:0}.key.wide{flex:1.6 1 0;max-width:66px;font-size:11.5px}.key.s2{background:var(--exact);color:var(--on-exact)}.key.s1{background:var(--near);color:var(--on-near)}.key.s0{background:var(--key-miss);color:var(--on-key-miss)}.key.old.s1{background:color-mix(in srgb,var(--near) 45%,var(--bg));color:var(--ink)}.key.old.s0{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--key-miss) 30%,var(--key)) 0 5px,var(--key) 5px 10px);color:var(--ink)}.result{background:var(--panel);border-radius:12px;padding:14px;display:grid;gap:10px;margin-top:4px}.result h2{font:400 22px/1.1 var(--display);margin:0;text-wrap:balance}.result p{margin:0;color:var(--soft)}.route{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.stopWord{display:flex;gap:2px}.stopWord b{width:23px;height:27px;display:grid;place-items:center;font-weight:400;background:var(--tile);border:1.5px solid var(--line);border-radius:4px;font-family:var(--display);font-size:13px;line-height:1;text-transform:uppercase}.stopWord b.chg{background:var(--siren);border-color:var(--siren);color:var(--on-siren)}.stopWord.here b{background:var(--exact);border-color:var(--exact);color:var(--on-exact)}.stopWord.later{opacity:.45}.arrow{color:var(--soft);font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-variant-numeric:tabular-nums}.stats div{display:grid;align-content:start}.stats b{font:400 21px/1.1 var(--display)}.stats span{font-size:11.5px;color:var(--soft)}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn{border:0;border-radius:8px;padding:10px 16px;font-weight:800;background:var(--ink);color:var(--bg)}.btn.alt{background:none;box-shadow:inset 0 0 0 2px var(--line);color:var(--ink)}.btn.hot{background:var(--siren);color:var(--on-siren)}.shareText{width:100%;height:11em;resize:none;font:13px/1.35 ui-monospace,Consolas,monospace;background:var(--tile);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:6px;user-select:text}@media(min-width:900px){.app{grid-template-columns:minmax(260px,350px) minmax(0,480px);gap:64px;padding-block:28px;align-items:start}.side{display:grid;gap:22px;position:sticky;top:28px}.brand{display:grid;gap:12px;justify-items:start}h1{font-size:62px}.tag{display:block;margin:8px 0 0;font-size:17px;font-weight:600;color:var(--soft);text-wrap:balance}.how,.close{display:none}.rules{display:block;position:static;background:none;padding:0;overflow:visible}.side .sideStats{display:grid}.boardWrap{--t: clamp(34px, calc((100dvh - 276px - 3 * var(--key-height)) / var(--rows) - 5px), 60px)}}@media(prefers-reduced-motion:reduce){.flip,.pop,.shake,.sweep{animation:none}.car{transition:none}}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(./bungee-vietnamese-400-normal-B6gKbkHm.woff2) format("woff2"),url(./bungee-vietnamese-400-normal-CmjDSWyd.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(./bungee-latin-ext-400-normal-DWzJMwsA.woff2) format("woff2"),url(./bungee-latin-ext-400-normal-DXe9_7Rr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(./bungee-latin-400-normal-Dfnurram.woff2) format("woff2"),url(./bungee-latin-400-normal-DA8IEVW_.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(./figtree-latin-ext-400-normal-CXAzuTZb.woff2) format("woff2"),url(./figtree-latin-ext-400-normal-Gbh-3PTk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(./figtree-latin-400-normal-g7Dtegnw.woff2) format("woff2"),url(./figtree-latin-400-normal-BD4aNku5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(./figtree-latin-ext-600-normal-DJlfifZj.woff2) format("woff2"),url(./figtree-latin-ext-600-normal-CQqsimlV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(./figtree-latin-600-normal-Cv_xCTDl.woff2) format("woff2"),url(./figtree-latin-600-normal-BM_oTo4n.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(./figtree-latin-ext-800-normal-DLIuazCv.woff2) format("woff2"),url(./figtree-latin-ext-800-normal-Cp4dEvwL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:800;src:url(./figtree-latin-800-normal-30yxI7TZ.woff2) format("woff2"),url(./figtree-latin-800-normal-B7vj2UK8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
