@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:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-vietnamese-700-normal-VsvP8OcS.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-700-normal-CB0yIOvF.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:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-ext-700-normal-DCLoHMFv.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-700-normal-C4q0W15T.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:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-700-normal-DtADLsoy.woff2) format("woff2"),url(/assets/archivo-narrow-latin-700-normal-DxmyBkwC.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}:root{--paper: #14161c;--ink: #f3efe4;--muted: #9b9688;--grid: #1e222b;--block: #090a0d;--line: #3a404c;--word: #2f5c56;--cell: #3f7a72;--accent: #d4a054;--card: #1a1d24;--focus: #ead7a8;font-family:Atkinson Hyperlegible,ui-sans-serif,system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(1200px 600px at 10% -10%,#1c2430 0%,var(--paper) 55%)}::selection{background:#d4a05455;color:var(--ink)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}html{scrollbar-color:#3a404c #14161c}.crossword{min-height:100dvh;padding:1rem 1.25rem 2.5rem;display:flex;flex-direction:column}.crossword-head h1{margin:0;font-size:1.35rem}.crossword-head p{margin:.2rem 0 0;color:var(--muted)}.clue-bar{grid-area:bar;margin:.85rem 0 0;background:#d4a054;color:#1a1408;border-radius:10px;padding:.7rem .9rem;display:flex;gap:.75rem;align-items:baseline;position:sticky;top:.4rem;z-index:3}.clue-num{font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em}.clue-text{font-size:1.05rem}.crossword-body{display:grid;grid-template-columns:minmax(18rem,28rem) 1fr;grid-template-areas:"bar bar" "grid clues";column-gap:1.5rem;row-gap:.85rem;align-items:start}.grid-wrap{grid-area:grid;position:relative}.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));width:min(100%,calc(var(--cols) * 3.15rem));border:2px solid var(--ink);background:var(--line);gap:1px}.cell{aspect-ratio:1;background:var(--grid);border:0;position:relative;padding:0;cursor:pointer;color:var(--ink);display:grid;place-items:center}.cell:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;z-index:1}.cell.block{background:var(--block);cursor:default}.cell.word{background:var(--word)}.cell.active{background:var(--cell)}.num{position:absolute;top:2px;left:3px;font-size:.62rem;color:var(--muted)}.letter{font-family:Archivo Narrow,Atkinson Hyperlegible,sans-serif;font-weight:700;font-size:clamp(1rem,4.2vw,1.55rem);line-height:1}.ghost-input{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;font-size:16px}.clue-lists{grid-area:clues;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.clue-lists h2{margin:0 0 .4rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.clue-lists ol{list-style:none;margin:0;padding:0}.clue-lists button{width:100%;text-align:left;background:none;border:0;padding:.28rem .2rem;cursor:pointer;border-radius:6px}.clue-lists button.on,.clue-lists button:hover{background:#d4a05422}.clue-lists strong{color:var(--accent);margin-right:.35rem}@media(max-width:800px){.crossword{padding:.75rem .85rem 1.5rem}.crossword-body{display:flex;flex-direction:column;gap:.85rem}.grid-wrap{order:1}.clue-bar{order:2}.clue-lists{order:3}.grid{width:100%}.clue-bar{top:auto;bottom:0;position:sticky;margin:0}.clue-lists{grid-template-columns:1fr}}
