@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin-ext.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600-latin.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-700-latin-ext.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-700-latin.woff2) format("woff2");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:Lora;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/lora-500-latin-ext.woff2) format("woff2");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:Lora;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/lora-500-latin.woff2) format("woff2");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:Lora;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/lora-500-latin-ext.woff2) format("woff2");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:Lora;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/lora-500-latin.woff2) format("woff2");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:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/lora-600-latin-ext.woff2) format("woff2");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:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/lora-600-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-400-latin-ext.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-400-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-500-latin-ext.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-500-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-600-latin-ext.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-600-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-700-latin-ext.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-700-latin.woff2) format("woff2");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: #f6f1e4;--card: #fffdf6;--ink: #17173a;--muted: #6e6a80;--pink: #ff2e7e;--pink-deep: #d31460;--blue: #2b57e6;--yellow: #ffc42e;--yellow-ink: #8a5f00;--green: #12a05f;--green-deep: #0d8149;--mark-correct: #2e9c90;--mark-present: #e3785c;--tile-absent-bg: #ddd8ca;--tile-absent-ink: #585345;--dashed: #b9b4c4;--font-sans: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-serif: "Lora", Georgia, "Times New Roman", serif;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html{overscroll-behavior-y:none}body{margin:0;padding:0}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-sans);overscroll-behavior-y:none}#root{min-height:100dvh}.app-root{min-height:100dvh;background-color:var(--paper);background-image:radial-gradient(rgba(23,23,58,.07) 1px,transparent 1px);background-size:4px 4px;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent}.screen{max-width:480px;margin:0 auto;width:100%;min-height:100dvh;display:flex;flex-direction:column;padding:calc(18px + var(--safe-top)) 18px calc(36px + var(--safe-bottom))}.home-screen{padding-bottom:calc(48px + var(--safe-bottom))}.home-top{text-align:center;padding:30px 0 4px}.brand-mark{width:46px;height:52px;border-radius:10px;background:var(--yellow);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;transform:rotate(-3deg)}.brand-mark svg{display:block;width:26px;height:26px}.brand-title{font-weight:700;font-size:34px;line-height:.95;letter-spacing:-.035em;margin:0;text-transform:uppercase}.brand-sub{color:var(--muted);font-size:14.5px;margin-top:12px;font-weight:500}.streak-badge{align-self:center;display:inline-flex;align-items:center;gap:6px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:600;margin:18px auto 2px}.streak-badge-result{margin:4px auto 0}.streak-badge-broken{background:#ffd9e6}.mode-stack{display:flex;flex-direction:column;gap:14px;margin-top:26px}.mode-card{text-align:left;border:2.5px solid var(--ink);background:var(--card);border-radius:16px;padding:16px 17px;cursor:pointer;color:var(--ink);font-family:inherit;box-shadow:5px 5px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}.mode-card:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.mode-card-daily{background:#fff3cf}.mode-card-practice{background:#edf1ff}.mode-card-rules{background:var(--card)}.mode-card-top{display:flex;justify-content:space-between;align-items:center}.mode-card-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:600}.mode-done-tag{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;background:var(--green);color:var(--ink);padding:3px 8px;border-radius:999px}.mode-card-title{font-weight:700;font-size:21px;margin-top:8px;letter-spacing:-.025em;display:flex;align-items:center;gap:7px}.mode-card-desc{color:var(--muted);font-size:13.5px;margin-top:4px;line-height:1.45}.stat-pill-row{display:flex;gap:10px;margin-top:22px}.stat-pill{flex:1;background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:10px 8px;text-align:center}.stat-pill-value{font-family:var(--font-mono);font-weight:700;font-size:19px}.stat-pill-label{font-family:var(--font-mono);font-size:9px;color:var(--muted);letter-spacing:.09em;margin-top:2px}.game-screen{padding:0;min-height:100dvh;max-height:100dvh}.game-header{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + var(--safe-top)) 16px 10px;flex-shrink:0}.game-header-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:600}.icon-btn{background:var(--card);border:2px solid var(--ink);color:var(--ink);width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.icon-btn:active{transform:translate(1px,1px)}.game-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 18px 12px;display:flex;flex-direction:column}.game-scroll>*{flex-shrink:0}.history-screen{padding:0 18px calc(36px + var(--safe-bottom))}.history-screen .game-header{padding-left:0;padding-right:0}.seg{display:flex;gap:6px;background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:4px;margin:6px 0 20px}.seg-btn{flex:1;border:none;background:none;border-radius:8px;padding:9px;font-family:inherit;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}.seg-btn-on{background:var(--ink);color:var(--paper)}.dist{display:flex;flex-direction:column;gap:5px}.dist-row{display:flex;align-items:center;gap:9px}.dist-label{font-family:var(--font-mono);font-size:12px;font-weight:700;width:12px;flex-shrink:0;text-align:center}.dist-track{flex:1;min-width:0}.dist-fill{background:var(--green);color:var(--ink);border:2px solid var(--ink);border-radius:6px;padding:2px 7px;font-family:var(--font-mono);font-size:12px;font-weight:700;text-align:right;min-width:26px}.dist-fill-empty{background:var(--tile-absent-bg);color:var(--tile-absent-ink)}.dist-none{font-size:13px;color:var(--muted);margin-top:4px}.hist-head{display:flex;align-items:baseline;justify-content:space-between;margin:28px 0 10px}.link-btn{background:none;border:none;padding:4px 0;font-family:inherit;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer;display:inline-flex;align-items:center;gap:5px}.link-btn-danger{color:var(--pink-deep);margin-top:18px;align-self:flex-start}.hist-list{display:flex;flex-direction:column;gap:8px}.hist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:2px solid var(--ink);border-radius:11px;padding:10px 12px}.hist-row-main{min-width:0}.hist-row-top{display:flex;align-items:center;gap:8px}.hist-row-word{font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:.08em}.hist-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;border:1.5px solid var(--ink)}.hist-tag-win{background:var(--green);color:var(--ink)}.hist-tag-loss{background:var(--tile-absent-bg);color:var(--tile-absent-ink)}.hist-row-meta{font-size:11.5px;color:var(--muted);margin-top:3px}.hist-grid{font-size:7px;line-height:1.25;letter-spacing:-.5px;flex-shrink:0;text-align:right}.hist-empty,.hist-note{font-size:13px;color:var(--muted);line-height:1.5}.hist-empty{background:var(--card);border:2px dashed var(--dashed);border-radius:11px;padding:16px;text-align:center}.hist-note{margin-top:22px;font-size:12px;border-top:2px dashed #c8c2d2;padding-top:14px}.hist-confirm{margin-top:18px;background:#ffd9e6;border:2px solid var(--ink);border-radius:11px;padding:12px;font-size:13px;font-weight:600}.hist-confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.btn-danger{background:var(--pink-deep);color:#fff;border:2px solid var(--ink);border-radius:9px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.mode-card-history{background:#e8f7ef}.mode-card-share{background:#ffe6f0}.dev-bar{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:7px 12px}.dev-bar b{font-size:14px;letter-spacing:.14em}.dev-bar-warn{background:var(--pink-deep);color:#fff;letter-spacing:0;font-family:var(--font-sans);font-size:12.5px}.board{text-align:center;margin-top:12px}.result-screen .board{margin-top:24px}.game-tip{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 2px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.game-tip-bulb{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fdf1d6;color:var(--yellow-ink);flex-shrink:0}.legend-row{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin-top:12px;font-size:10.5px;line-height:1.3;color:var(--muted);font-weight:500}.legend-cell{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.legend-mark{width:11px;height:11px;border-radius:3px;border:1.5px solid var(--ink);flex-shrink:0;align-self:center}.legend-mark-correct{background:var(--mark-correct)}.legend-mark-present{background:var(--mark-present)}.legend-mark-absent{background:var(--tile-absent-bg)}.tile-row{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.tile{width:34px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:18px;border:2.5px solid var(--ink);background:var(--card);color:var(--ink)}.tile-empty{background:transparent;border-style:dashed;border-color:var(--dashed)}.tile-known{background:var(--mark-correct);color:var(--ink)}.tile-solved{background:var(--mark-correct);color:var(--ink);box-shadow:3px 3px 0 var(--ink);animation:tileReveal .34s ease both}@keyframes tileReveal{0%{transform:translateY(-6px);opacity:0}60%{transform:translateY(0) scale(1.05);opacity:1}to{transform:translateY(0) scale(1)}}.guess-rows{display:flex;flex-direction:column;gap:6px;margin-top:18px;align-items:center}.guess-row{display:flex;gap:5px;justify-content:center}.gtile{width:30px;height:36px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:15px;border:2px solid var(--ink);background:var(--card);animation:pop .2s ease both}@keyframes pop{0%{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}.gtile-correct{background:var(--mark-correct);color:var(--ink)}.gtile-present{background:var(--mark-present);color:var(--ink)}.gtile-absent{background:var(--tile-absent-bg);color:var(--tile-absent-ink)}.gtile-ghost{background:transparent;border:2px dashed #c8c2d2;animation:none}.guess-row-active .gtile{animation:none;border-color:var(--ink)}.guess-row-active .gtile-filled{background:var(--card);color:var(--ink);border-width:2.5px}.guess-row-active .gtile-cursor{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.guess-row.shake{animation:shake .42s ease}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.feedback{font-size:13.5px;font-weight:600;text-align:center;min-height:18px;margin-top:14px;line-height:1.4}.feedback-error{color:var(--pink-deep)}.feedback-close{color:var(--yellow-ink)}.feedback-neutral{color:var(--muted)}.guess-count{font-family:var(--font-mono);text-align:center;color:var(--muted);font-size:11.5px;letter-spacing:.06em;margin-top:10px}.clue-section{margin-top:24px;padding-top:18px;border-top:2px dashed #c8c2d2}.section-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:12px;font-weight:600}.clue-stack{display:flex;flex-direction:column;gap:8px}.clue-card{display:flex;align-items:center;background:var(--card);border:2px solid var(--ink);border-radius:11px;overflow:hidden}.clue-card-locked{background:transparent;border-style:dashed;border-color:var(--dashed)}.clue-card-bar{width:8px;align-self:stretch;background:var(--role-color);flex-shrink:0}.clue-card-locked .clue-card-bar{opacity:.3}.clue-card-body{padding:9px 12px;flex:1}.clue-card-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:600}.clue-card-word{font-weight:700;font-size:18px;margin-top:3px;letter-spacing:-.02em}.clue-card-locked-text{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-top:4px}.clue-card-lock{color:var(--muted);margin-right:12px;flex-shrink:0}.vowel-row{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.vowel-cell{width:20px;height:24px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:13px;border:1.5px dashed var(--dashed);color:transparent}.vowel-cell-on{border:1.5px solid var(--ink);background:var(--green);color:var(--ink)}.keyboard{flex-shrink:0;padding:8px 6px calc(8px + var(--safe-bottom));background:var(--paper);border-top:2px solid var(--ink);display:flex;flex-direction:column;gap:6px;user-select:none}.kb-row{display:flex;justify-content:center;gap:5px}.kb-key{flex:1 1 0;min-width:0;height:50px;max-width:44px;border:2px solid var(--ink);border-radius:8px;background:var(--card);color:var(--ink);font-family:var(--font-mono);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:2px 2px 0 var(--ink);transition:transform .06s ease,box-shadow .06s ease;touch-action:manipulation}.kb-key:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.kb-key:disabled{opacity:.55;cursor:default}.kb-key-wide{flex:1.6 1 0;max-width:66px;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.02em}.kb-key-correct{background:var(--mark-correct);color:var(--ink)}.kb-key-present{background:var(--mark-present);color:var(--ink)}.kb-key-absent{background:var(--tile-absent-bg);color:var(--tile-absent-ink);box-shadow:2px 2px #b3ad9c}.kb-key-enter{background:var(--pink);color:var(--ink)}.kb-key-enter:disabled{background:var(--card);color:var(--muted)}.btn-primary{background:var(--pink);color:var(--ink);border:2.5px solid var(--ink);border-radius:12px;padding:14px;font-family:inherit;font-weight:700;font-size:15.5px;letter-spacing:-.01em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:4px 4px 0 var(--ink);transition:transform .1s ease,box-shadow .1s ease,opacity .12s ease}.btn-primary:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.btn-primary:disabled{opacity:.4;box-shadow:4px 4px 0 var(--ink);cursor:default}.btn-secondary{background:var(--card);border:2.5px solid var(--ink);color:var(--ink);border-radius:12px;padding:13px;font-family:inherit;font-weight:600;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:4px 4px 0 var(--ink)}.btn-secondary:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.btn-ghost{background:none;border:none;color:var(--muted);padding:10px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.w-full{width:100%}.rotate-180{transform:rotate(180deg)}.result-screen{padding:calc(18px + var(--safe-top)) 18px calc(36px + var(--safe-bottom))}.result-top{flex:1;text-align:center;padding:28px 0 6px}.result-topbar{display:flex;align-items:center}.result-topbar-spacer{width:36px;flex-shrink:0}.result-badge{font-weight:700;font-size:30px;letter-spacing:-.035em;text-transform:uppercase;color:var(--ink)}.result-badge-fail{color:var(--pink-deep)}.result-daily-num{font-family:var(--font-mono);color:var(--muted);font-size:11px;margin-top:8px;letter-spacing:.12em}.result-line{text-align:center;font-size:15px;font-weight:500;color:var(--muted);line-height:1.5;margin:22px 0 4px;padding:0 8px}.result-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px}.trivia{background:#cfe9e4;border:2.5px solid var(--ink);border-radius:14px;padding:15px 17px 17px;margin:22px 0 20px;text-align:left;box-shadow:5px 5px 0 var(--mark-correct)}.trivia-head{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#14675f;display:flex;align-items:center;gap:10px}.trivia-head:after{content:"";flex:1;height:2px;background:var(--mark-correct);opacity:.55;border-radius:2px}.trivia-body{font-family:var(--font-serif);font-size:16px;line-height:1.6;font-weight:500;color:var(--ink);margin:11px 0 0}.result-next-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:16px}.modal-overlay{position:fixed;inset:0;background:#17173a80;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal-sheet{background:var(--paper);border-top:3px solid var(--ink);border-radius:20px 20px 0 0;max-width:480px;width:100%;padding:20px 18px calc(26px + var(--safe-bottom));max-height:88dvh;overflow-y:auto;animation:sheetUp .25s ease both}@keyframes sheetUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-title{font-weight:700;font-size:24px;margin:0;letter-spacing:-.03em;text-transform:uppercase}.rules{list-style:none;padding:0;margin:0 0 4px}.rules li{display:flex;gap:12px;margin-bottom:20px;align-items:flex-start}.rule-n{width:26px;height:26px;flex-shrink:0;border-radius:8px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:13px}.rule-head{font-weight:700;font-size:15.5px;letter-spacing:-.02em}.rule-body{color:var(--muted);font-size:14px;line-height:1.5;margin-top:3px}.legend{display:flex;flex-direction:column;gap:8px;margin-top:10px}.legend-item{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500}.legend-tile{animation:none;width:26px;height:30px;font-size:13px}.clue-legend{margin-top:10px;display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);line-height:1.45}.howto-example{background:var(--card);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:14px;padding:14px;text-align:center;margin:8px 4px 24px 0}.howto-example-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}.howto-example-clues{font-family:var(--font-mono);font-size:13px;font-weight:600}.howto-example-arrow{color:var(--muted);font-size:12.5px;margin:8px 0}.howto-example-answer{font-weight:700;font-size:24px;letter-spacing:-.02em;color:var(--pink-deep)}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion: reduce){.tile-solved,.gtile,.modal-sheet,.guess-row.shake,.kb-key{animation:none!important;transition:none!important}}@media (max-height: 700px){.gtile{width:28px;height:32px;font-size:14px}.tile{width:30px;height:38px;font-size:16px}.kb-key{height:46px}.clue-section{margin-top:18px}}.result-word-meaning{font-size:15px;color:var(--muted);font-style:italic;margin-top:10px}.submit-btn{width:66%;min-width:180px;max-width:100%;margin:14px auto 0}.clue-card-btn{width:100%;text-align:left;font-family:inherit;color:var(--ink);cursor:pointer;padding:0;border-width:2.5px;box-shadow:3px 3px 0 var(--ink);transition:transform .1s ease,box-shadow .1s ease}.clue-card-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.clue-cta-pill{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:3px 10px;margin-right:12px;flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em}.mode-card-family{display:block;text-decoration:none;background:var(--paper);margin-top:22px}.family-row{display:flex;align-items:center;gap:10px;margin-top:12px}.family-marks{display:flex;align-items:center;gap:7px;flex:none}.family-mark{width:24px;height:24px;border-radius:6px;background:var(--yellow);border:2px solid var(--ink);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5px;font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--ink);flex:none;overflow:hidden}.family-mark i{display:block;width:11px;height:2.5px;border-radius:2px;background:var(--ink)}.family-mark svg{display:block;width:75%;height:75%}.family-more{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.02em;margin-left:auto;white-space:nowrap}.family-strip{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:9px 12px;box-shadow:3px 3px 0 var(--ink);transition:transform .09s ease,box-shadow .09s ease}.family-strip:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.family-marks-inline{gap:5px}.family-marks-inline .family-mark{width:21px;height:21px;border-radius:5px;font-size:11.5px}.family-marks-inline .family-mark i{width:9px;height:2px}.family-strip-label{font-weight:700;font-size:15px;letter-spacing:-.015em;white-space:nowrap}.family-strip-go{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.install-cta{display:flex;align-items:center;gap:13px;width:100%;margin-top:22px;background:var(--card);border:2.5px solid var(--ink);border-radius:12px;box-shadow:4px 4px 0 var(--ink);padding:13px 14px;text-align:left;cursor:pointer;font-family:inherit}.install-cta:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.install-cta-body{flex:1;min-width:0}.install-cta-headline{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink)}.install-cta-mark{flex-shrink:0;transform:scale(.88)}.install-eyebrow{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:3px}.benefit-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}.benefit-item{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink);font-weight:500}.benefit-item svg{flex-shrink:0;width:14px;height:14px;stroke:var(--green-deep, #0d8149);stroke-width:3}.howto-more{margin:.9rem 0 0;text-align:center;font-size:.88rem}.howto-more a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.howto-more a:hover{color:var(--ink)}.install-sheet-scrim{position:fixed;inset:0;background:#17173a52;display:flex;align-items:flex-end;justify-content:center;z-index:40}.install-sheet{position:relative;width:100%;max-width:480px;background:var(--card);border:2.5px solid var(--ink);border-bottom:none;border-radius:22px 22px 0 0;box-shadow:0 -4px #17173a0d;padding:12px 20px calc(24px + var(--safe-bottom, 0px))}.install-sheet-grab{width:36px;height:4px;border-radius:2px;background:var(--dashed, #b9b4c4);margin:0 auto 26px}.install-sheet-close{position:absolute;top:10px;right:14px;width:30px;height:30px;background:var(--card);border:2px solid var(--ink);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;padding:0}.install-sheet-row{display:flex;align-items:center;gap:14px}.install-sheet-icon{flex:none;transform:scale(.88)}.install-sheet-body{min-width:0}.install-sheet-h{font-size:15px;font-weight:700;letter-spacing:-.015em;margin:0;line-height:1.25}.install-sheet-btn{display:block;margin-top:16px;width:100%;text-align:center;border:2.5px solid var(--ink);border-radius:13px;background:#fff0f5;color:var(--ink);padding:13px;font-family:inherit;font-size:15px;font-weight:700;box-shadow:4px 4px 0 var(--ink);cursor:pointer;transition:transform .09s ease,box-shadow .09s ease}.install-sheet-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.run-screen{padding:0;min-height:100dvh;max-height:100dvh}.run-status{display:flex;align-items:baseline;gap:14px;font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums}.run-progress-of{color:var(--muted);font-weight:600}.run-clock{min-width:4ch;text-align:center}.run-clock-urgent{color:var(--pink-deep);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.run-score{color:var(--green-deep);animation:scoreTick .35s ease both}@keyframes scoreTick{0%{transform:translateY(-4px) scale(1.12)}to{transform:none}}.run-scroll{flex:0 1 auto;justify-content:flex-start}.run-screen .keyboard{margin-top:18px;border-top:none}.run-screen:after{content:"";flex:1}.meaning-block{margin:38px 6px 34px;animation:meaningIn .32s ease both}.meaning-len{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:8px}.meaning{font-family:var(--font-serif);font-size:22px;line-height:1.35;font-weight:500;color:var(--ink);text-align:center;text-wrap:balance;margin:0}@keyframes meaningIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.boxes{display:flex;justify-content:center;gap:7px;margin:6px auto 0}.box{width:42px;height:52px;border-radius:10px;border:2.5px solid var(--ink);background:var(--card);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:22px;color:var(--ink);flex-shrink:0}.box[data-len="7"]{width:40px;gap:6px}.box[data-len="8"]{width:36px;height:48px;font-size:20px}.boxes:has(.box[data-len="8"]){gap:5px}.box-empty{background:transparent;border-style:dashed;border-color:var(--dashed)}.box-cursor{background:var(--card);border-color:var(--blue);box-shadow:0 0 0 3px #2b57e62e}.box-typed{animation:pop .15s ease both}.box-revealed{background:var(--mark-correct);color:var(--ink)}.box-pop{animation:revealPop .4s cubic-bezier(.2,.9,.3,1.3) both}@keyframes revealPop{0%{transform:scale(.6) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}.box-solved{background:var(--mark-correct);color:var(--ink);box-shadow:3px 3px 0 var(--ink);animation:tileReveal .34s ease both}.boxes-solved .box:nth-child(2){animation-delay:.04s}.boxes-solved .box:nth-child(3){animation-delay:.08s}.boxes-solved .box:nth-child(4){animation-delay:.12s}.boxes-solved .box:nth-child(5){animation-delay:.16s}.boxes-solved .box:nth-child(6){animation-delay:.2s}.boxes-solved .box:nth-child(7){animation-delay:.24s}.boxes-solved .box:nth-child(8){animation-delay:.28s}.sentence{font-family:var(--font-serif);font-style:italic;font-size:16.5px;line-height:1.45;color:var(--muted);text-align:center;text-wrap:balance;margin:12px 4px 0;animation:meaningIn .32s ease both}.sentence-blank{display:inline-block;width:4.2em;height:.08em;margin:0 .12em;vertical-align:-.02em;border-bottom:2.5px solid var(--mark-correct)}.hints{display:flex;flex-direction:column;gap:9px;margin:8px 0 0}.hint-card{display:flex;align-items:center;gap:10px;text-align:left;background:var(--card);border:2px solid var(--ink);border-radius:13px;padding:10px 11px 10px 10px;font-family:inherit;color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--ink);transition:transform .1s ease,box-shadow .1s ease,opacity .15s ease}.hint-card:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.hint-card:disabled{opacity:.5;cursor:default;box-shadow:none;border-style:dashed;border-color:var(--dashed)}.hint-icon{width:34px;height:34px;border-radius:9px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink)}.hint-icon-sentence{background:#edf1ff}.hint-icon-letter{background:#fff3cf}.hint-card:disabled .hint-icon{border-color:var(--dashed);background:transparent}.hint-text{display:flex;flex-direction:column;min-width:0;flex:1}.hint-title{font-weight:700;font-size:14.5px;letter-spacing:-.01em;line-height:1.2}.hint-sub{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.2}.hint-cost{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--pink-deep);background:#ffe3ee;border-radius:999px;padding:3px 9px;flex-shrink:0}.hint-card:disabled .hint-cost{color:var(--muted);background:transparent}.skip-link{align-self:center;flex-shrink:0;background:none;border:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 12px 4px;margin-top:6px}.skip-link:disabled{opacity:.4;cursor:default}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#f6f1e4b8;z-index:30;animation:fadeIn .18s ease both}@keyframes fadeIn{0%{opacity:0}}.overlay-card{width:100%;max-width:340px;background:var(--card);border:2.5px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);padding:22px 22px 20px;text-align:center;animation:cardIn .32s cubic-bezier(.2,.9,.3,1.2) both}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.96)}}.correct-card{box-shadow:6px 6px 0 var(--mark-correct)}.correct-badge{font-weight:700;font-size:30px;letter-spacing:-.035em;text-transform:uppercase;color:var(--ink)}.correct-points{font-family:var(--font-mono);font-weight:700;font-size:24px;color:var(--green-deep);margin-top:4px;font-variant-numeric:tabular-nums}.breakdown{margin:14px 0 0;padding-top:12px;border-top:2px dashed var(--dashed);display:flex;flex-direction:column;gap:5px}.breakdown div{display:flex;justify-content:space-between;font-size:13.5px}.breakdown dt{color:var(--muted);font-weight:500}.breakdown dd{margin:0;font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.skipped-card{box-shadow:6px 6px 0 var(--dashed)}.skipped-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.skipped-answer{font-family:var(--font-mono);font-weight:700;font-size:30px;letter-spacing:.08em;margin-top:6px}.skipped-meaning{font-family:var(--font-serif);font-size:15px;color:var(--muted);margin-top:8px;line-height:1.4}.skip-sheet .modal-title{margin-bottom:4px}.skip-body{color:var(--muted);font-size:14.5px;margin:0 0 18px;line-height:1.45}.skip-confirm{margin-top:10px}.result-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:8px}.run-result-title{font-size:26px}.run-points{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:10px}.run-points-n{font-family:var(--font-mono);font-weight:700;font-size:54px;letter-spacing:-.03em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;animation:scoreTick .5s ease both}.run-points-label{font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 0}.run-stat{background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:10px 8px;text-align:center}.run-stat dt{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;order:2}.run-stat dd{margin:0 0 2px;font-family:var(--font-mono);font-weight:700;font-size:19px;font-variant-numeric:tabular-nums}.run-stat-of{color:var(--muted);font-size:13px;font-weight:600}.run-result .streak-badge-result{margin-top:18px}.result-actions{display:flex;flex-direction:column;gap:12px;margin-top:26px}.result-actions .mode-card-family{margin-top:0}.day-words{margin-top:26px}.day-words .section-label{margin-bottom:10px}.day-words-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.day-word{display:flex;align-items:center;gap:11px;background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:9px 12px 9px 10px}.day-word-skipped{background:transparent;border-style:dashed;border-color:var(--dashed)}.day-word-n{width:22px;height:22px;border-radius:7px;background:var(--mark-correct);color:var(--ink);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:11px;flex-shrink:0}.day-word-skipped .day-word-n{background:var(--tile-absent-bg);border-color:var(--dashed);color:var(--tile-absent-ink)}.day-word-body{display:flex;flex-direction:column;min-width:0;flex:1}.day-word-answer{font-family:var(--font-mono);font-weight:700;font-size:15px;letter-spacing:.06em}.day-word-meaning{font-family:var(--font-serif);font-size:12.5px;color:var(--muted);line-height:1.3;margin-top:1px}.day-word-points{font-family:var(--font-mono);font-weight:700;font-size:13px;color:var(--green-deep);flex-shrink:0;font-variant-numeric:tabular-nums}.day-word-skipped .day-word-points{color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.confetti{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:2}.confetti i{position:absolute;left:0;top:0;display:block;opacity:0;transform:translate(-50%,-50%);animation:burst .9s cubic-bezier(.2,.7,.3,1) var(--delay) both}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translate(0) rotate(0) scale(.6)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translate(var(--dist)) rotate(var(--spin)) scale(1)}}.overlay-card,.result-top-run{position:relative}.correct-card{animation:correctIn .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes correctIn{0%{opacity:0;transform:translateY(18px) scale(.85)}to{opacity:1;transform:none}}.correct-badge{animation:badgeIn .45s .08s cubic-bezier(.34,1.56,.64,1) both}@keyframes badgeIn{0%{transform:scale(.7) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}.correct-points{animation:scoreTick .4s .2s ease both}.result-top-run{padding-top:4px}.result-top-run .run-result-title{font-size:30px;animation:badgeIn .5s .15s cubic-bezier(.34,1.56,.64,1) both}.result-title-line{font-family:var(--font-serif);font-style:italic;font-size:15px;color:var(--muted);margin-top:4px;animation:meaningIn .4s .35s ease both}.result-top-run .run-points{margin-top:16px}.result-top-run .run-points-n{font-size:58px;animation:none}@media (prefers-reduced-motion: reduce){.confetti{display:none}.correct-card,.correct-badge,.correct-points,.result-top-run .run-result-title,.result-title-line{animation:none}}.new-best{display:inline-block;margin-top:14px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;letter-spacing:.02em;box-shadow:3px 3px 0 var(--ink);animation:badgeIn .5s .9s cubic-bezier(.34,1.56,.64,1) both}.best-to-beat{margin-top:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}@media (prefers-reduced-motion: reduce){.new-best{animation:none}}.howto-foot{text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:2px 0 18px}.score-days{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.score-day{background:var(--card);border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);overflow:hidden}.score-day-head{width:100%;display:grid;grid-template-columns:1fr auto 20px;grid-template-areas:"when main chev" "meta main chev";align-items:center;column-gap:12px;row-gap:2px;padding:12px 12px 12px 14px;background:none;border:0;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.score-day-when{grid-area:when;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.score-day-num{font-weight:700}.score-day-date{color:var(--muted)}.score-day-best{font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;border-radius:6px;background:var(--yellow);border:1.5px solid var(--ink)}.score-day-meta{grid-area:meta;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.score-day-main{grid-area:main;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.score-day-points{font-family:var(--font-mono);font-weight:700;font-size:22px;letter-spacing:-.02em}.score-day-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.score-day-chev{grid-area:chev;color:var(--muted);transition:transform .18s ease}.score-day-chev-open{transform:rotate(180deg)}.score-day-words{list-style:none;margin:0;padding:4px 14px 12px;border-top:1.5px dashed var(--dashed)}.score-word{display:flex;align-items:center;gap:10px;padding:7px 0;font-family:var(--font-mono);font-size:14px}.score-word+.score-word{border-top:1px solid var(--paper)}.score-word-n{width:18px;font-size:11px;color:var(--muted)}.score-word-answer{flex:1;font-weight:700;letter-spacing:.06em}.score-word-skipped .score-word-answer{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1.5px}.score-word-points{font-weight:700;color:var(--green-deep)}.score-word-skipped .score-word-points,.score-word-pending .score-word-points{color:var(--muted);font-weight:500;font-size:12px}.scores-screen .hist-empty .btn-primary{margin-top:14px}.round-chip{display:inline-flex;align-items:baseline;gap:6px;background:var(--card);border:2.5px solid var(--ink);border-radius:11px;box-shadow:3px 3px 0 var(--ink);padding:5px 12px;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.1em}.results-screen{padding-top:0}.results-screen .game-header{padding-left:0;padding-right:0}.tabs{display:flex;gap:8px;margin:2px 0 14px}.tab{flex:1 1 0;font:inherit;font-weight:700;font-size:14px;padding:10px 8px;border:2.5px solid var(--ink);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer}.tab-on{background:var(--ink);color:var(--paper)}.progress-heading{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px}.progress-heading:first-of-type{margin-top:6px}.board-you{border:2.5px solid var(--ink);border-radius:12px;background:#e6f4f1;padding:9px 12px 8px;margin-bottom:8px}.board-you-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.board-you-name{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-you-value,.board-value{font-family:var(--font-mono);font-weight:700;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}.board-you-value small,.board-value small{font-size:10.5px;font-weight:600;color:var(--muted);margin-left:6px}.board-you-value small{color:#0f6e56}.board-you-standing{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;color:#0f6e56;margin-top:2px;min-height:1.2em}.board-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;border:2px solid var(--ink);border-radius:11px;background:var(--card);padding:8px 12px}.board-row-you{background:#e6f4f1}.board-rank{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--muted)}.board-name{font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-row-noname .board-name{color:var(--muted);font-style:italic}.board-note{font-size:13.5px;color:var(--muted);margin:6px 0 0}.name-form{border:2px dashed var(--dashed);border-radius:14px;padding:12px 14px 10px;margin:16px 0 4px}.name-form-title{font-weight:700;font-size:15px}.name-form-sub{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}.name-form-sub b{color:var(--ink)}.name-form-row{display:flex;gap:8px;margin-top:10px}.name-input{flex:1 1 0;min-width:0;font:inherit;font-size:15px;padding:9px 12px;border:2.5px solid var(--ink);border-radius:11px;background:var(--card);color:var(--ink)}.name-input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.btn-compact{width:auto;padding:9px 18px;font-size:14px;border-radius:11px;flex-shrink:0}.name-form-error{font-size:12.5px;color:var(--pink-deep);margin-top:6px}.name-form-skip{display:block;font:inherit;font-size:13px;font-weight:600;color:var(--muted);background:none;border:0;padding:8px 0 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.history-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:22px}.rank-pill{display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:var(--card);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:7px 14px;font-family:inherit;font-weight:700;font-size:14px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;animation:badgeIn .5s 1s cubic-bezier(.34,1.56,.64,1) both}.new-best+.rank-pill{margin-left:8px}.rank-pill:active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}.rank-top{margin-top:10px;font-size:12.5px;color:var(--muted)}.name-card-note{margin-top:14px;text-align:center;font-size:13px;color:var(--muted)}.mode-card-blitz{background:#ffe6f0}.mode-new-tag{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;background:var(--blue);color:var(--paper);padding:3px 8px;border-radius:999px}.run-progress-blitz{font-size:11px;letter-spacing:.14em;color:var(--pink-deep)}.blitz-timer{display:flex;align-items:center;gap:12px;padding:2px 18px 0;flex-shrink:0}.blitz-timer-track{flex:1;height:10px;border:2px solid var(--ink);border-radius:999px;background:var(--card);overflow:hidden}.blitz-timer-fill{height:100%;background:var(--mark-correct);border-radius:999px;transition:width 1s linear}.blitz-timer-clock{font-family:var(--font-mono);font-weight:700;font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:4.2ch;text-align:right}.blitz-timer-urgent .blitz-timer-fill{background:var(--pink)}.blitz-timer-urgent .blitz-timer-clock{color:var(--pink-deep);animation:pulse 1s ease-in-out infinite}.howto-new{background:#ffe6f0;border:2px solid var(--ink);border-radius:12px;padding:10px 12px;margin:0 0 14px;font-size:13.5px;line-height:1.45}.howto-new-tag{display:inline-block;font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;background:var(--pink);border-radius:999px;padding:2px 7px;margin-right:6px;vertical-align:1px}.score-day-tag{font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;border-radius:6px;background:var(--pink);border:1.5px solid var(--ink)}.howto-section{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2px 0 8px}.hub-back{position:absolute;top:calc(12px + var(--safe-top, 0px));left:14px;display:inline-flex;align-items:center;gap:2px;padding:6px 10px 6px 6px;border:2px solid var(--ink);border-radius:10px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:700;text-decoration:none;z-index:2}.hub-back:active{transform:translate(1px,1px)}.home-screen{position:relative}.next-game{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;width:100%;margin-top:4px;padding:12px 14px;border:2.5px solid var(--ink, #17173a);border-radius:14px;box-shadow:4px 4px 0 var(--ink, #17173a);color:var(--ink, #17173a);text-decoration:none;transition:transform .09s ease,box-shadow .09s ease}.next-game:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink, #17173a)}.next-game:focus-visible{outline:3px solid var(--blue, #2b57e6);outline-offset:3px}.next-game-eyebrow{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;letter-spacing:.04em;color:var(--muted, #6e6a80)}.next-game-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;letter-spacing:-.01em}.next-game-chip{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink, #17173a);border-radius:8px;background:var(--yellow, #ffc42e);font-size:13px;font-weight:700}.next-game-tag{font-size:13px;color:var(--muted, #6e6a80)}.next-game-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:12px}.next-game-host{color:var(--muted, #6e6a80)}.next-game-go{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:700}.next-game-dots{display:flex;gap:5px}.next-game-dots i{width:10px;height:10px;border:1.5px solid var(--ink, #17173a);border-radius:50%;display:block}.next-game-dots i.on{background:var(--ink, #17173a)}.history-prompt{box-sizing:border-box;margin:0 0 14px;padding:12px 14px;border:2px dashed var(--ink, #17173a);border-radius:14px;background:var(--card, #fffdf6);color:var(--ink, #17173a)}.history-prompt-h{font-size:14px;font-weight:700}.history-prompt-p{margin:3px 0 10px;font-size:12.5px;color:var(--muted, #6e6a80)}.history-prompt-row{display:flex;align-items:center;gap:12px}.history-prompt-btn{padding:7px 12px;border:2px solid var(--ink, #17173a);border-radius:10px;background:var(--pink-tint, #fff0f5);color:var(--ink, #17173a);font:inherit;font-size:13px;font-weight:700;box-shadow:2px 2px 0 var(--ink, #17173a);cursor:pointer}.history-prompt-skip{border:0;background:none;padding:4px;color:var(--muted, #6e6a80);font:inherit;font-size:12.5px;text-decoration:underline;cursor:pointer}
