@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.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:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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: #f3f2ee;--surface: #ffffff;--ink: #1b1f24;--muted: #5f6670;--line: #d6d3cb;--key: #e6e3dc;--accent: #0f6e5c;--accent-ink: #ffffff;--gold: #e9a23b;--gold-ink: #2a1a03;--shown: #6c737e;--shown-ink: #ffffff;--cover: repeating-linear-gradient(135deg, #e6e3dc 0 8px, #dedad2 8px 16px);--focus: #0f6e5c;--scrim: rgb(14 18 24 / .45);--font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--font-ui: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, sans-serif;--radius: 10px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #131614;--surface: #1c211f;--ink: #e8ece9;--muted: #9aa49f;--line: #333b37;--key: #2a312e;--accent: #45c2a4;--accent-ink: #06231c;--gold: #f2b65a;--gold-ink: #2a1a03;--shown: #4a524e;--shown-ink: #e8ece9;--cover: repeating-linear-gradient(135deg, #2a312e 0 8px, #252b28 8px 16px);--focus: #6fdcc0;--scrim: rgb(0 0 0 / .6);color-scheme:dark}}:root[data-theme=dark]{--bg: #131614;--surface: #1c211f;--ink: #e8ece9;--muted: #9aa49f;--line: #333b37;--key: #2a312e;--accent: #45c2a4;--accent-ink: #06231c;--gold: #f2b65a;--gold-ink: #2a1a03;--shown: #4a524e;--shown-ink: #e8ece9;--cover: repeating-linear-gradient(135deg, #2a312e 0 8px, #252b28 8px 16px);--focus: #6fdcc0;--scrim: rgb(0 0 0 / .6);color-scheme:dark}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:15px;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{height:100%;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:10px;padding-block:10px 8px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.top{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.brand h1{font-family:var(--font-display);font-weight:800;font-size:1.3rem;letter-spacing:-.01em;margin:0}.tag{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.top-actions{display:flex;gap:2px}.icon-btn{background:none;border:0;padding:8px;border-radius:8px;color:var(--ink);display:grid;place-items:center}.icon-btn:hover{background:var(--key)}.lengths{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.len{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:8px 4px 7px;display:flex;flex-direction:column;align-items:center;gap:2px}.len.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.len-name{font-family:var(--font-display);font-weight:600;font-size:.95rem}.len-note{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.len.st-solved .len-note{color:var(--accent);font-weight:700}.modebar{display:flex;justify-content:space-between;align-items:center;gap:8px}.puzzle-no{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem}.seg{display:inline-flex;background:var(--key);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:none;padding:6px 14px;border-radius:999px;font-size:.9rem}.seg button.on{background:var(--surface);box-shadow:0 1px 2px #0000001f;font-weight:700}.seg.small button{padding:4px 12px}.link{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.stage{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;--gap: 8px;--tile: min(60px, calc((min(100vw, 540px) - 24px - (var(--cols, 6) - 1) * var(--gap)) / var(--cols, 6)))}.stage.message{text-align:center;padding:16px;gap:10px}.statusbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.clock{font-family:var(--font-display);font-weight:800;font-size:1.6rem;font-variant-numeric:tabular-nums;min-width:4.5ch}.clock:not(.live){color:var(--muted)}.tries{display:inline-flex;gap:5px}.tries i{width:11px;height:11px;border-radius:50%;border:2px solid var(--accent)}.tries i.used{background:var(--muted);border-color:var(--muted)}.spacer{min-width:4.5ch}.answer,.pool{display:flex;gap:var(--gap);justify-content:center}.tile{width:var(--tile);height:var(--tile);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:calc(var(--tile) * .5);border-radius:min(9px,calc(var(--tile) * .16));border:2px solid var(--line);background:var(--surface);padding:0;-webkit-user-select:none;user-select:none;position:relative}.tile.slot{border-style:dashed;background:transparent}.tile.slot.filled{border-style:solid;border-color:var(--ink);background:var(--surface);animation:pop .1s ease-out}.tile.slot.locked{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);border-style:solid}.tile.slot.locked:after{content:"";position:absolute;left:25%;right:25%;bottom:10%;height:max(2px,calc(var(--tile) * .05));border-radius:2px;background:currentColor;opacity:.7}.tile.solved{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tile.shown{background:var(--shown);color:var(--shown-ink);border-color:var(--shown)}.tile.letter{background:var(--key);border-color:transparent;box-shadow:0 2px 0 var(--line)}.tile.letter:hover:not(:disabled){transform:translateY(-1px)}.tile.letter.used{opacity:.18;box-shadow:none}.pool-wrap{position:relative}.pool.covered .tile.letter{background:var(--cover);box-shadow:none}.cover{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}.cover p{margin:2px 0 0;background:var(--bg);padding:0 6px;border-radius:6px}.answer.shake{animation:shake .42s}.tile.small{--tile: 38px;font-size:1.15rem}.controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;width:100%}.controls .btn{min-width:92px}.tried{margin:0;text-align:center;color:var(--muted);max-width:100%;overflow-wrap:anywhere}.hints{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;width:100%}.meaning{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;font-size:.9rem;line-height:1.45;width:100%}.giveup{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}@keyframes pop{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes shake{10%,90%{transform:translate(-2px)}30%,70%{transform:translate(-6px)}50%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){.tile.slot.filled,.answer.shake{animation:none}}@media(max-height:700px){.app{gap:8px;padding-block:8px 6px}.tag{display:none}.brand h1{font-size:1.12rem}.icon-btn{padding:6px}.len{padding:5px 4px;gap:0}.stage{gap:10px}.clock{font-size:1.35rem}}.btn{border:1.5px solid var(--line);background:var(--surface);padding:9px 16px;border-radius:999px;font-weight:700}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.small{padding:5px 12px;font-size:.85rem}.btn.wide{width:100%;max-width:360px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.toast{position:fixed;top:calc(96px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:8px;font-weight:700;z-index:30;box-shadow:0 6px 20px #0003}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:540px;max-height:88%;border-radius:16px 16px 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);outline:none}@media(min-width:600px){.scrim{align-items:center}.sheet{border-radius:16px;max-height:84%}}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 4px 20px}.sheet-head h2{font-family:var(--font-display);font-weight:800;font-size:1.3rem;margin:0;text-wrap:balance}.sheet-body{overflow-y:auto;padding:4px 20px 20px;line-height:1.5}.sheet-body h3{font-family:var(--font-display);font-weight:600;font-size:1.02rem;margin:18px 0 8px}.sheet-body p{margin:0 0 10px;max-width:62ch}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-weight:700}.eyebrow{font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.answer-tiles,.example{display:flex;gap:5px;margin:0 0 12px}.definition{border-left:3px solid var(--accent);padding-left:12px;margin:0 0 14px}.definition em{color:var(--muted);font-style:italic;margin-right:4px}.definition .label{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 7px;margin-right:4px;white-space:nowrap}.definition .source{font-size:.8rem;color:var(--muted)}.statline{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 12px}.statline div{text-align:center}.statline dt{font-size:.75rem;color:var(--muted);order:2}.statline dd{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.5rem;font-variant-numeric:tabular-nums}.statline div{display:flex;flex-direction:column-reverse}.dist{display:flex;flex-direction:column;gap:4px}.dist-row{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.dist-n{width:14px;text-align:right;font-weight:700;font-size:.85rem}.dist-bar{background:var(--shown);color:var(--shown-ink);font-size:.78rem;font-weight:700;padding:2px 6px;border-radius:4px;text-align:right;min-width:22px}.dist-bar.hi{background:var(--accent);color:var(--accent-ink)}.dist-bar.loss.hi{background:var(--gold);color:var(--gold-ink)}.table-scroll{overflow-x:auto}.log{border-collapse:collapse;width:100%;font-size:.85rem;font-variant-numeric:tabular-nums}.log th{text-align:left;font-weight:700;color:var(--muted);font-size:.75rem;padding:4px 8px 6px 0;border-bottom:1px solid var(--line);white-space:nowrap}.log td{padding:6px 8px 6px 0;border-bottom:1px solid var(--line);white-space:nowrap}.tries-list{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.toggle{display:flex;gap:12px;align-items:flex-start}.toggle input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex:none}.toggle>span{display:flex;flex-direction:column;gap:2px}.confirm{background:var(--bg);border-radius:var(--radius);padding:12px}.credits{padding-left:18px;margin:0}.credits li{margin-bottom:4px}.manual-copy{width:100%;margin-top:8px;font:inherit;font-size:.85rem;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}.btn:disabled{opacity:.5}.btn.big{padding:12px 34px;font-size:1.1rem}.notice{background:var(--key);border-radius:var(--radius);padding:10px 12px;font-weight:700}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}.facts div{display:flex;flex-direction:column-reverse}.facts dt{font-size:.75rem;color:var(--muted)}.facts dd{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.1rem;font-variant-numeric:tabular-nums}.example{align-items:center;flex-wrap:wrap}.example .arrow{font-size:1.3rem;color:var(--muted);padding:0 4px}.statline dd{font-size:1.35rem}
