@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2) format("woff2-variations");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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2) format("woff2-variations");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}:root{--bg: #eef0f3;--surface: #ffffff;--fg: #1b1f26;--muted: #5d6573;--line: #d6dae1;--tile: #e3e7ee;--ray: #cfe0f7;--ray-used: #e9eef5;--used-fg: #a3abb8;--hub: #2c4f9e;--hub-fg: #ffffff;--accent: #2c4f9e;--ok: #1f7a4d;--mark-ray: #a9c4ec;--font: "Atkinson Hyperlegible Next Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14171c;--surface: #1d2128;--fg: #eceef2;--muted: #a2a9b6;--line: #323844;--tile: #2b313b;--ray: #2a3d5c;--ray-used: #222833;--used-fg: #5f6775;--hub: #7d9cf0;--hub-fg: #10131a;--accent: #8fabf5;--ok: #6fd3a0;--mark-ray: #3a5684;color-scheme:dark}}:root[data-theme=dark]{--bg: #14171c;--surface: #1d2128;--fg: #eceef2;--muted: #a2a9b6;--line: #323844;--tile: #2b313b;--ray: #2a3d5c;--ray-used: #222833;--used-fg: #5f6775;--hub: #7d9cf0;--hub-fg: #10131a;--accent: #8fabf5;--ok: #6fd3a0;--mark-ray: #3a5684;color-scheme:dark}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font)}body{font-size:1rem}button{font:inherit;color:inherit}a{color:var(--accent)}.app{position:relative;max-width:30rem;margin:0 auto;height:var(--fit-h, 100dvh);background:var(--surface);padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));padding-block:0 .5rem;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.app.wide{max-width:64rem}header.bar{flex:none;display:flex;justify-content:space-between;align-items:center;min-height:3rem;border-bottom:1px solid var(--line)}header.bar nav{display:flex;gap:2px}.icon{width:2.75rem;height:2.75rem;border:0;background:none;border-radius:62.4375rem;font-weight:800;font-size:1.15rem;display:grid;place-items:center;cursor:pointer}.icon svg{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.icon:hover,.icon:focus-visible{background:var(--tile)}.seg{display:flex;gap:.25rem;align-items:center}.seg [role=tab]{border:0;background:var(--tile);border-radius:62.4375rem;padding:0 .875rem;min-height:2.25rem;font-size:.9rem;cursor:pointer}.seg [role=tab].on{background:var(--hub);color:var(--hub-fg);font-weight:700}.seg .n{font-size:.75rem;opacity:.8;margin-left:.25rem}.prog{flex:none;display:flex;align-items:center;gap:.625rem;font-size:.9rem;width:100%;min-height:2.5rem;border:0;background:none;padding:0;text-align:left;cursor:pointer;border-radius:.5rem}.prog:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rank{font-weight:700;min-width:6.5em}.track{flex:1;height:.5rem;background:var(--tile);border-radius:62.4375rem;overflow:hidden}.track i{display:block;height:100%;background:var(--accent);transition:width .3s}.num{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;line-height:1.15}.num small{display:block;font-size:.72rem;color:var(--accent);font-weight:700;white-space:nowrap}.msg{flex:none;min-height:1.75rem;display:flex;justify-content:center;align-items:center}.toast{background:var(--fg);color:var(--surface);border-radius:62.4375rem;padding:.25rem .75rem;font-size:.9rem;font-weight:600}.toast.ok{background:var(--ok);color:var(--surface)}.toast.rank{background:var(--accent);color:var(--hub-fg)}.toast.bonus{background:var(--tile);color:var(--fg)}.entry{flex:none;min-height:2.5rem;display:flex;justify-content:center;align-items:center;font-size:1.8rem;font-weight:800;letter-spacing:.08em}.entry .c{color:var(--accent)}.caret{display:inline-block;width:2px;height:1.5rem;background:var(--accent);margin-left:.25rem;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.caret{animation:none}.track i{transition:none}}.boardwrap{position:relative;flex:1 1 0;min-height:0;width:100%;max-width:26rem;margin:0 auto}.board{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:manipulation;user-select:none;-webkit-user-select:none}.tile{cursor:pointer;outline:none}.tile .shape{fill:var(--ray);stroke:var(--surface);stroke-width:2;transition:fill .1s}.tile .hit{fill:transparent}.tile.centre .shape{fill:var(--hub)}.tile text{font-family:var(--font);font-weight:800;font-size:30px;fill:var(--fg);text-anchor:middle;dominant-baseline:central;pointer-events:none}.tile.centre text{fill:var(--hub-fg);font-size:32px}.tile:active .shape,.tile:focus-visible .shape{filter:brightness(.92)}.tile:focus-visible .shape{stroke:var(--accent);stroke-width:3}.tile.used .shape{fill:var(--ray-used)}.tile.used text{fill:var(--used-fg)}.tile.centre.used .shape{fill:var(--hub);opacity:.45}.fab{position:absolute;right:0;bottom:0;width:3.25rem;height:3.25rem;border-radius:62.4375rem;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;align-content:center;gap:0;cursor:pointer;box-shadow:0 2px 8px #0000001f}.fab svg{width:1.375rem;height:1.375rem;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.fab span{font-size:.65rem;font-weight:700;color:var(--accent)}.btns{flex:none;display:flex;gap:.5rem;justify-content:center}.btn{min-height:2.75rem;display:inline-flex;align-items:center;border:1.5px solid var(--line);background:var(--surface);border-radius:62.4375rem;padding:0 1rem;font-weight:600;cursor:pointer}.btn.main{background:var(--accent);border-color:var(--accent);color:var(--hub-fg)}.btn:focus-visible,.link:focus-visible,.chip:focus-visible,.foundline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.foundline{flex:none;text-align:left;border:0;border-top:1px solid var(--line);background:none;padding:.625rem 0 0;font-size:.88rem;color:var(--muted);cursor:pointer;min-height:2.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.foundline b{color:var(--fg);margin-right:.375rem}footer{flex:none;font-size:.75rem}.link{background:none;border:0;padding:.25rem 0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:.85rem}.play{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.cols{flex:1 1 0;min-height:0;display:flex}.boardcol{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;gap:.4rem}.seg{flex:none}.side{position:static}.wide .cols{gap:2rem}.wide .side{position:relative;flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;gap:.4rem;border-left:1px solid var(--line);padding-left:2rem}.wide .boardwrap{max-width:none}.panel.dock{position:static;flex:1 1 0;min-height:0;padding-block:.25rem 0;z-index:auto}.wide .side>.panel:not(.dock){left:2rem}.panel{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);z-index:10;display:flex;flex-direction:column;padding-inline:0;padding-block:.75rem 1rem;outline:none}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.panel-head h2{margin:0;font-size:1.15rem;font-weight:800}.close{width:2.75rem;height:2.75rem;border:0;background:none;font-size:1.3rem;font-weight:700;cursor:pointer;border-radius:62.4375rem;margin-right:-.625rem}.panel-body{overflow-y:auto;display:flex;flex-direction:column;gap:.625rem;padding-top:.5rem;min-height:0}.panel-body p{margin:0;line-height:1.5}.panel-body h3{margin:.375rem 0 0;font-size:.95rem}.panel-foot{display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:space-between;align-items:center;margin-top:.25rem}.failure,.loading{flex:1 1 0;min-height:0;display:grid;place-content:center;justify-items:center;gap:.75rem;text-align:center;color:var(--muted)}.ygroup h3{margin:.625rem 0 .25rem;font-size:.85rem;color:var(--muted)}.ywords{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .375rem}.ywords li{display:contents}.yw{min-height:2rem;border:1.5px solid var(--line);background:var(--surface);color:var(--muted);border-radius:.5rem;padding:0 .5rem;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}.yw.got{color:var(--fg);border-color:var(--accent)}.ymeaning{flex-basis:100%;margin:2px 0 .375rem;font-size:.85rem}.report{display:flex;gap:.5rem}.report input{flex:1;min-width:0;min-height:2.75rem;border:1.5px solid var(--line);border-radius:.625rem;padding:0 .75rem;font:inherit;font-size:1rem;text-transform:uppercase;background:var(--surface);color:var(--fg)}.note{font-size:.85rem;color:var(--muted)}.tabs{display:flex;gap:2px;min-width:0;background:var(--tile);border-radius:62.4375rem;padding:3px}.tabs button{min-height:2.25rem;padding:0 .625rem;white-space:nowrap;border:0;background:none;border-radius:62.4375rem;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer}.tabs button.on{background:var(--surface);color:var(--fg);font-weight:700}.tabs.small{align-self:flex-start}.mini{display:flex;gap:.375rem;justify-content:center}.mini span{width:1.5rem;height:1.625rem;border-radius:.375rem;background:var(--ray);display:grid;place-items:center;font-weight:800;font-size:.8rem}.mini .c{background:var(--hub);color:var(--hub-fg)}.count{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.count b{color:var(--fg)}.meaning{font-size:.85rem;background:var(--tile);border-radius:.625rem;padding:.5rem .625rem;line-height:1.45}.pages{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.pages::-webkit-scrollbar{display:none}.wpage{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-auto-flow:column;grid-template-rows:repeat(10,1.625rem);grid-auto-columns:1fr;column-gap:1rem;margin:0;padding:0;list-style:none}.wpage li{display:flex;align-items:center;white-space:nowrap;min-width:0}.wpage .gh{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:.375rem}.wpage .gh.done{color:var(--accent)}.wpage .n{font-variant-numeric:tabular-nums}.wordbtn{border:0;background:none;padding:0;font-size:.95rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;min-height:1.625rem}.pg{color:var(--accent)}.dots{display:flex;justify-content:center}.dots button{width:1.75rem;height:1.5rem;border:0;background:none;display:grid;place-items:center;cursor:pointer}.dots button:before{content:"";width:.5625rem;height:.5625rem;border-radius:62.4375rem;border:1.5px solid var(--muted)}.dots button.on:before{background:var(--fg);border-color:var(--fg)}.gridwrap{overflow-x:auto}.lgrid{border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums;margin:0 auto}.lgrid th,.lgrid td{padding:.25rem .5rem;text-align:center;border-bottom:1px solid var(--line)}.lgrid thead th{color:var(--muted);font-size:.75rem}.lgrid tbody th{font-weight:800}.lgrid td.done{color:var(--accent);font-weight:700}.bonus{columns:2;padding:0;margin:0;list-style:none;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.bonus li{padding:2px 0}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{min-height:2.5rem;border:1.5px solid var(--line);background:var(--surface);border-radius:62.4375rem;padding:0 .75rem;font-weight:600;cursor:pointer}.chip.on{border-color:var(--accent);color:var(--accent)}.chip .n{color:var(--muted);font-weight:400;font-size:.8rem;margin-left:.25rem}.hintbox{background:var(--tile);border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.hintlabel{font-size:.8rem;color:var(--muted);font-weight:700}.pattern{font-size:1.5rem;font-weight:800;letter-spacing:.1em}.ranks,.bars{list-style:none;padding:0;margin:0;display:grid;gap:.25rem;font-size:.9rem}.ranks li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:2px 0}.bars li{display:grid;grid-template-columns:7em 1fr 2em;gap:.5rem;align-items:center}.bars .meter{min-height:0;border:0;height:.625rem;background:var(--tile);border-radius:62.4375rem;overflow:hidden}.bars .meter i{display:block;height:100%;background:var(--accent)}.bars .n{text-align:right;font-variant-numeric:tabular-nums}.statrow{display:flex;justify-content:space-around;text-align:center}.statrow b{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums}.statrow span{font-size:.8rem;color:var(--muted)}.row{display:flex;justify-content:space-between;align-items:center;min-height:2.75rem}.big{font-size:1.8rem!important;font-weight:800}.share{background:var(--tile);border-radius:.625rem;padding:.625rem;white-space:pre-wrap;font-family:var(--font);font-size:.9rem;margin:0;-webkit-user-select:all;user-select:all}.gname{margin:0;line-height:0;flex:1 1 auto;min-width:0;padding-right:.5rem}.namemark{display:block;width:100%;max-width:13.125rem;height:auto}header.bar nav{flex:none}.nm-rays{fill:var(--mark-ray)}.nm-hub{fill:var(--hub)}.nm-qsg{fill:var(--accent)}.nm-name{fill:var(--fg)}.row input{accent-color:var(--accent)}.row input[type=checkbox]{width:1.375rem;height:1.375rem}.preview{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;border-radius:999px;background:var(--tile);color:var(--accent);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;vertical-align:middle}.gname{display:flex;align-items:center}.namemark{flex:0 1 auto;width:auto;height:1.9rem;max-width:100%;min-width:0}.preview{flex:none}.panel.dock .panel-body{flex:1 1 0}.panel.dock .panel-foot{margin-top:auto}.allcount{font-size:.9rem}.ranks.today li{padding:.35rem .25rem}.ranks.today .done{color:var(--muted)}.ranks.today .here{font-weight:800;background:var(--tile);border-radius:.4rem}.panel:not(.dock){left:-.5rem;right:-.5rem;padding-inline:.5rem}.wide .side>.panel:not(.dock){left:1.5rem}.turn{display:none}html[data-fit=turn] .turn{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--surface);flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;font-weight:700}html[data-fit=turn] .turn svg{width:3rem;height:3rem;fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}html[data-fit=turn] .turn p{margin:0;font-size:1.1rem}html[data-fit=turn] body{overflow:hidden}
