:root,:root[data-theme=dark]{--state-correct-fill:#039858;--state-correct-edge:#74cfa0;--state-correct-ink:#04140b;--state-present-fill:#ffec76;--state-present-edge:#b58f28;--state-present-ink:#241a04;--state-absent-fill:#3c3227;--state-absent-edge:#7a6e5c;--state-absent-ink:#d9d2c5;--state-unplayed-fill:#050505;--state-unplayed-edge:#3a3a3a;--state-unplayed-ink:#a9a396;--state-pending-fill:#666;--state-pending-edge:var(--text);--state-empty-edge:#636363;--cursor-ring:#86a9ff;--state-key-fill:#b9b1a5;--state-key-edge:#d4ccbd;--state-key-ink:#17130c;--state-key-pressed:#a39c8f}:root[data-theme=light]{--state-correct-fill:#008c4e;--state-correct-edge:#00562f;--state-correct-ink:#010c06;--state-present-fill:#fbd757;--state-present-edge:#8a5f0c;--state-present-ink:#2e1e04;--state-absent-fill:#2c2218;--state-absent-edge:#5f564a;--state-absent-ink:#dcd5c8;--state-unplayed-fill:#fffdf6;--state-unplayed-edge:#d8cfb9;--state-unplayed-ink:#6a6458;--state-pending-fill:#f0e9d8;--state-pending-edge:#8c8372;--state-empty-edge:#8c8372;--cursor-ring:#2f4fc4;--state-key-fill:#fffdf6;--state-key-edge:#c9bfa8;--state-key-ink:var(--text);--state-key-pressed:#e7e0cf}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--state-correct-fill:#008c4e;--state-correct-edge:#00562f;--state-correct-ink:#010c06;--state-present-fill:#fbd757;--state-present-edge:#8a5f0c;--state-present-ink:#2e1e04;--state-absent-fill:#2c2218;--state-absent-edge:#5f564a;--state-absent-ink:#dcd5c8;--state-unplayed-fill:#fffdf6;--state-unplayed-edge:#d8cfb9;--state-unplayed-ink:#6a6458;--state-pending-fill:#f0e9d8;--state-pending-edge:#8c8372;--state-empty-edge:#8c8372;--cursor-ring:#2f4fc4;--state-key-fill:#fffdf6;--state-key-edge:#c9bfa8;--state-key-ink:var(--text);--state-key-pressed:#e7e0cf}}.guess-row{justify-content:center;gap:3px;animation:.2s rowIn;display:flex}@keyframes rowIn{0%{transform:translateY(-6px)}to{transform:translateY(0)}}.tile{width:54px;height:54px;font-family:var(--font-mono);letter-spacing:0;border:2px solid var(--state-unplayed-edge);background:var(--state-unplayed-fill);color:var(--state-unplayed-ink);border-radius:8px;justify-content:center;align-items:center;font-size:32px;font-weight:500;line-height:1;display:flex;position:relative;overflow:hidden}.tile.filled{border-color:var(--state-pending-edge);color:var(--text);background:var(--state-pending-fill);transform:scale(1.04)}.tile.correct{background:var(--state-correct-fill);border-color:var(--state-correct-edge);color:var(--state-correct-ink)}.tile.present{background:var(--state-present-fill);border-color:var(--state-present-edge);color:var(--state-present-ink)}.tile.absent{background:var(--state-absent-fill);border-color:var(--state-absent-edge);color:var(--state-absent-ink)}.tile.unrevealed{background:var(--state-unplayed-fill);border-color:var(--state-unplayed-edge);color:var(--state-unplayed-ink)}.guess-row.active .tile{border-color:var(--state-unplayed-edge)}.current-row{justify-content:center;gap:3px;display:flex}.current-tile{width:54px;height:54px;font-family:var(--font-mono);background:var(--state-unplayed-fill);border:2px solid var(--state-empty-edge);color:var(--text);border-radius:8px;justify-content:center;align-items:center;font-size:32px;font-weight:500;line-height:1;transition:border-color .1s,background-color .1s,transform .1s;display:flex}.current-tile.has-letter{border-color:var(--state-pending-edge);background:var(--state-pending-fill);transform:scale(1.06)}.current-tile.cursor{border-color:var(--cursor-ring)}:root{--kb-deck:var(--bg);--kb-socket:transparent;--kb-socket-w:0;--kb-rule:#504a40}:root[data-theme=light]{--kb-socket:#564e41;--kb-socket-w:1px;--kb-rule:#a8a298}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--kb-socket:#564e41;--kb-socket-w:1px;--kb-rule:#a8a298}}:root{--kb-focus:#7fb8ff}.keyboard{padding:6px 8px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--kb-rule);background:var(--kb-deck,var(--bg));flex-shrink:0}.keyboard-row{--key-hit-x:3.5px;--key-hit-y:3px;justify-content:center;gap:5px;margin-bottom:4px;display:flex}.key{--kb-face:var(--state-key-fill);--kb-press-to:currentColor;--kb-press-amt:26%;--kb-lip:inset 0 -3px 0 color-mix(in srgb, currentColor 20%, transparent);background:var(--kb-face);border:1px solid var(--state-key-edge);min-width:0;height:56px;color:var(--state-key-ink);box-shadow:0 0 0 var(--kb-socket-w,0) var(--kb-socket,transparent), var(--kb-lip);font-family:var(--font-body);appearance:none;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:8px;flex:1;justify-content:center;align-items:center;max-width:40px;padding:0 2px;font-size:20px;font-weight:600;transition:none;display:flex;position:relative;overflow:visible}.key:after{content:"";inset:calc(-1 * var(--key-hit-y,3px)) calc(-1 * var(--key-hit-x,3.5px));position:absolute}.key:active,.key.pressed{background:var(--state-key-pressed);background:color-mix(in srgb, var(--kb-press-to) var(--kb-press-amt), var(--kb-face));--kb-lip:inset 0 0 0 0 transparent;transform:scale(.91)}.key:focus-visible{outline:2px solid var(--kb-focus);outline-offset:2px}.key.wide{letter-spacing:.5px;flex:1.5;max-width:60px;font-size:11px;font-weight:600}.key.correct{--kb-face:var(--state-correct-fill);--kb-press-to:#fff;--kb-press-amt:34%;--kb-lip:inset 0 0 0 0 transparent;border-color:var(--state-correct-edge);color:var(--state-correct-ink)}.key.present{--kb-face:var(--state-present-fill);--kb-lip:inset 0 0 0 0 transparent;border-color:var(--state-present-edge);color:var(--state-present-ink)}.key.absent{--kb-face:var(--state-absent-fill);--kb-press-amt:20%;--kb-lip:inset 0 0 0 0 transparent;border-color:var(--state-absent-edge);color:var(--state-absent-ink)}@media (width>=500px){:root .key{font-size:20px}:root .key.wide{font-size:13px}}@media (height<=750px){:root .key{height:44px;font-size:19px}}@media (height<=680px){:root .key{max-width:36px;height:40px;font-size:17px}:root .key.wide{max-width:54px;font-size:11px}}@media (height<=580px){:root .key{max-width:34px;height:36px;font-size:15px}:root .key.wide{max-width:50px;font-size:10px}}@media (width>=700px) and (height>=700px){:root .keyboard-row{max-width:580px;margin-inline:auto}:root .key{max-width:none;height:58px;font-size:23px}:root .key.wide{max-width:none;font-size:13px}}.key.gold{--kb-face:var(--state-present-fill);--kb-lip:inset 0 0 0 0 transparent;border-color:var(--state-present-edge);color:var(--state-present-ink)}@media (prefers-reduced-motion:reduce){.key:active,.key.pressed{box-shadow:0 0 0 var(--kb-socket-w,0) var(--kb-socket,transparent), inset 0 0 0 3px currentColor;transform:none}}:root{--text-dim-aa:#98938c}.toast{transform-origin:50%;background:var(--text);color:var(--bg);font-family:var(--font-body);pointer-events:none;opacity:0;z-index:1000;white-space:nowrap;border-radius:20px;max-width:90vw;padding:9px 18px;font-size:14px;font-weight:600;transition:transform .18s cubic-bezier(.2,.7,.3,1);position:fixed;top:70px;left:50%;transform:translate(-50%)scale(.94)}.toast.show{opacity:1;transform:translate(-50%)scale(1)}.modal-overlay{z-index:100;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:flex-end;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:90vh;padding:0;transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;transform:translateY(100%)}.modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:24px 22px 10px;position:relative;overflow-y:auto}.modal-actions{padding:12px 22px 32px;padding-bottom:max(32px, env(safe-area-inset-bottom));background:var(--surface);flex-shrink:0}.modal-body.has-more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 40px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 40px),#0000 100%)}.modal-more-indicator{pointer-events:none;opacity:0;flex-shrink:0;justify-content:center;height:0;transition:opacity .2s,height .2s;display:flex;overflow:visible}.modal-more-indicator.show{opacity:1;height:18px}.modal-more-indicator .chip{background:var(--surface2);border:1px solid var(--border);width:26px;height:26px;color:var(--text-dim-aa);border-radius:50%;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex;transform:translateY(-50%);box-shadow:0 2px 10px #00000073}@media (prefers-reduced-motion:reduce){.modal-more-indicator{transition:none!important}}.modal-overlay.open .modal{transform:translateY(0)}.modal-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:0 auto 20px}.modal-title{font-family:var(--font-display);text-align:center;color:var(--text);margin-bottom:6px;font-size:26px;font-weight:700}.modal-sub{text-align:center;color:var(--text-dim-aa);margin-bottom:22px;font-size:13px;line-height:1.5}.result-emoji{text-align:center;margin-bottom:8px;font-size:52px;animation:.5s cubic-bezier(.34,1.56,.64,1) bounceIn}@keyframes bounceIn{0%{transform:scale(0)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result-emoji{animation:none}.toast,.modal{transition:none!important}}.result-word-reveal{text-align:center;margin-bottom:18px}.result-word-reveal .label{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim-aa);font-size:10px;font-family:var(--font-mono);margin-bottom:4px}.result-word-reveal .word{font-family:var(--font-display);letter-spacing:6px;color:var(--text);font-size:30px;font-weight:900}.result-word-reveal .def{margin-top:6px;padding:0 20px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px;display:grid}.stat-box{background:var(--surface2);border:1px solid var(--border);text-align:center;border-radius:10px;padding:12px 8px}.stat-num{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;color:var(--text);font-size:26px;font-weight:500;line-height:1}.stat-num.gold{color:var(--gold)}.stat-num.green{color:var(--green)}.stat-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-dim-aa);font-size:9px;font-family:var(--font-mono);margin-top:4px;line-height:1.3}.share-preview{background:var(--bg);border:1px solid var(--gold-dim);font-family:var(--font-mono);color:var(--text-mid);white-space:pre;text-align:center;border-radius:10px;margin-bottom:18px;padding:14px;font-size:15px;line-height:1.5}.btn-share{background:var(--gold);color:#000;width:100%;height:50px;font-family:var(--font-body);letter-spacing:.5px;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;transition:transform .15s,background .15s;display:flex}.btn-share:active{background:#c09a35;transform:scale(.97)}.btn-secondary{width:100%;height:44px;color:var(--text-mid);font-family:var(--font-body);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;margin-top:8px;font-size:14px;font-weight:500;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--text-dim-aa);color:var(--text)}@media (prefers-reduced-motion:reduce){.btn-share,.btn-secondary,.btn-share:active{transition:none!important}}.countdown-section{text-align:center;background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:14px}.countdown-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim-aa);font-size:10px;font-family:var(--font-mono);margin-bottom:6px}.countdown-time{font-family:var(--font-mono);color:var(--text);letter-spacing:4px;font-size:22px}#result-modal .modal-body{padding:16px 22px 2px}#result-modal .result-emoji{margin-bottom:2px;font-size:38px}#result-modal .modal-title{margin-bottom:2px;font-size:21px}#result-modal .modal-sub{margin-bottom:8px}#result-modal .share-preview{margin-bottom:10px;padding:10px;font-size:14px;line-height:1.35}#result-modal .result-word-reveal{margin-bottom:8px}#result-modal .result-word-reveal .label{margin-bottom:2px}#result-modal .result-word-reveal .word{font-size:26px}#result-modal .result-word-reveal .def{margin-top:2px;padding:0 8px}#result-modal .stats-grid{margin-bottom:8px}#result-modal .stat-box{padding:7px 6px}#result-modal .stat-num{font-size:20px}#result-modal .stat-label{margin-top:2px}#result-modal .streak-mend{margin-bottom:8px;padding:7px 10px}#result-modal .mend-copy{font-size:12px;line-height:1.25}#result-modal .mend-note{margin-top:1px;font-size:10px}#result-modal .mend-btn{height:30px;padding:0 12px;font-size:12px}#result-modal .countdown-section{margin-bottom:0;padding:7px 14px}#result-modal .countdown-label{margin-bottom:3px}#result-modal .countdown-time{letter-spacing:3px;font-size:17px}#result-modal .modal-actions{padding:8px 22px 10px;padding-bottom:max(10px, env(safe-area-inset-bottom))}#result-modal .btn-share{height:44px}#result-modal .btn-secondary{height:36px;margin-top:6px}@media (width>=700px) and (height>=700px){#result-modal,#stats-modal{align-items:center;padding:32px}#result-modal .modal,#stats-modal .modal{opacity:0;border-radius:20px;max-height:calc(100vh - 64px);transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;transform:scale(.96)}#result-modal.open .modal,#stats-modal.open .modal{opacity:1;transform:scale(1)}#result-modal .modal-handle,#stats-modal .modal-handle{display:none}#result-modal .modal-actions,#stats-modal .modal-actions{padding-bottom:14px}}@media (width>=700px) and (height>=700px) and (prefers-reduced-motion:reduce){#result-modal .modal,#stats-modal .modal{transition:none!important}}.stats-backup-link{color:var(--text-dim-aa);cursor:pointer;font-size:12px;font-family:var(--font-body);background:0 0;border:none;padding:6px 0 0;text-decoration:underline}.streak-mend{text-align:left;background:var(--surface2);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr auto;align-items:center;column-gap:10px;margin-bottom:16px;padding:9px 12px;display:grid}.mend-copy{color:var(--text);grid-area:1/1;font-size:13px;line-height:1.3}.mend-copy.mend-done{color:var(--text)}.mend-note{color:var(--text-dim-aa);grid-area:2/1;margin-top:2px;font-size:11px;line-height:1.35}.mend-btn{border:1px solid var(--gold);height:34px;color:var(--text);font-family:var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;grid-area:1/2/span 2;padding:0 14px;font-size:13px;font-weight:500;transition:background .15s}.mend-btn:hover{background:var(--field-wash)}.mend-btn:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.mend-btn{transition:none!important}}.stats-score-section{text-align:center;background:var(--surface2);border:1px solid var(--border);color:var(--text-dim-aa);border-radius:10px;margin-bottom:16px;padding:10px;font-size:13px}.score-val{font-family:var(--font-display);color:var(--gold);font-size:18px;font-weight:700}.score-sep{color:var(--border);margin:0 8px}.distrib{margin-bottom:20px}.distrib-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim-aa);font-size:10px;font-family:var(--font-mono);text-align:center;margin-bottom:10px}.distrib-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.distrib-num{font-family:var(--font-mono);color:var(--text-dim-aa);text-align:right;width:14px;font-size:12px}.distrib-bar-wrap{background:var(--dist-track);border-radius:4px;flex:1;height:22px;overflow:hidden}.distrib-bar{height:100%;font-family:var(--font-mono);color:var(--text-dim);background:0 0;border-radius:4px;justify-content:flex-end;align-items:center;min-width:22px;padding-right:9px;font-size:11px;transition:width 1s cubic-bezier(.4,0,.2,1);display:flex}:root,:root[data-theme=dark]{--dist-track:#272624;--dist-fill:#8f8a82;--dist-ink:#0d0d0d}:root[data-theme=light]{--dist-track:#e7e0cf;--dist-fill:#6b6455;--dist-ink:#fffdf6}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--dist-track:#e7e0cf;--dist-fill:#6b6455;--dist-ink:#fffdf6}}.distrib-bar.has-data{background:var(--dist-fill);color:var(--dist-ink);font-weight:500}.distrib-bar.has-data.current-guess{background:var(--state-correct-fill);color:var(--state-correct-ink);font-weight:700}.lb-tabs{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:4px;margin-bottom:16px;padding:3px;display:flex}.lb-tab{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.5px;cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 0;font-size:11px;font-weight:500;transition:all .2s}.lb-tab.active{background:var(--surface2);color:var(--gold);border:1px solid var(--border)}.lb-your-rank{border:1px solid var(--gold-dim);font-family:var(--font-mono);color:var(--gold);background:linear-gradient(135deg,#1a1200,#2a1d00);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 14px;font-size:12px;display:flex}.lb-rank-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);font-size:10px}.lb-rank-num{font-family:var(--font-display);color:var(--gold);font-size:22px;font-weight:700}.lb-rank-value{color:var(--text-mid);font-size:13px}.lb-list{-webkit-overflow-scrolling:touch;max-height:360px;overflow-y:auto}.lb-loading,.lb-empty{text-align:center;color:var(--text-dim);font-family:var(--font-mono);letter-spacing:1px;padding:40px 0;font-size:12px}.lb-error{text-align:center;color:var(--red);font-family:var(--font-mono);padding:40px 0;font-size:12px}.lb-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.lb-row:last-child{border-bottom:none}.lb-row.is-you{border:1px solid var(--gold-dim);background:#d4a84314;border-radius:8px;margin-bottom:2px}.lb-position{text-align:center;width:28px;font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;font-size:12px}.lb-position.top-1{color:var(--gold);font-size:14px;font-weight:700}.lb-position.top-2{color:var(--text-mid);font-weight:600}.lb-position.top-3{color:#8a6b27;font-weight:600}.lb-medal{text-align:center;flex-shrink:0;width:28px;font-size:16px}.lb-name{font-family:var(--font-body);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.lb-row.is-you .lb-name{color:var(--gold);font-weight:600}.lb-name .you-tag{font-family:var(--font-mono);letter-spacing:.5px;color:var(--gold);vertical-align:middle;background:#d4a84326;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:9px}.lb-value{font-family:var(--font-display);color:var(--text);flex-shrink:0;font-size:16px;font-weight:700}.lb-value-unit{font-family:var(--font-mono);color:var(--text-dim);margin-left:2px;font-size:10px}.lb-signin-nudge{text-align:center;font-family:var(--font-mono);letter-spacing:.5px;color:var(--gold);cursor:pointer;margin-top:8px;padding:10px;font-size:11px}.lb-player-count{text-align:center;font-family:var(--font-mono);letter-spacing:1px;color:var(--text-dim);text-transform:uppercase;padding:8px 0 0;font-size:10px}.howto-step{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.step-num{background:var(--surface2);border:1px solid var(--border);width:24px;height:24px;font-family:var(--font-mono);color:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;display:flex}.step-text{color:var(--text-mid);font-size:13px;line-height:1.45}.step-text strong{color:var(--text)}.howto-demo{background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:10px 12px}.howto-demo-def{margin-bottom:2px}.howto-demo-arrow{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);margin:5px 0;font-size:9px}.howto-demo-word{gap:3px;display:flex}.howto-demo-word .ex-tile{width:28px;height:28px;font-size:12px}.howto-legend{flex-direction:column;gap:6px;margin-top:8px;display:flex}.howto-legend-row{align-items:center;gap:8px;display:flex}.howto-legend-row .example-tiles{margin-top:0}.howto-legend-row .ex-tile{border-radius:4px;width:20px;height:20px;font-size:10px}.howto-legend-row .ex-tile.ph{border:1.5px dashed var(--border);color:#0000;background:0 0}.howto-legend-text{color:var(--text-mid);font-size:12px;line-height:1.3}.example-tiles{gap:4px;margin-top:8px;display:flex}.ex-tile{width:36px;height:36px;font-family:var(--font-mono);border:2px solid var(--border);border-radius:6px;justify-content:center;align-items:center;font-size:15px;font-weight:500;display:flex}.ex-tile.c{background:var(--state-correct-fill);border-color:var(--state-correct-edge);color:var(--state-correct-ink)}.ex-tile.p{background:var(--state-present-fill);border-color:var(--state-present-edge);color:var(--state-present-ink)}.ex-tile.a{background:var(--state-absent-fill);border-color:var(--state-absent-edge);color:var(--state-absent-ink)}@media (width>=700px) and (height>=700px){#howto-modal{align-items:center;padding:32px}#howto-modal .modal{opacity:0;border-radius:20px;width:100%;max-width:480px;max-height:85vh;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;transform:scale(.96)}#howto-modal.open .modal{opacity:1;transform:scale(1)}#howto-modal .modal-handle{display:none}}@media (width>=700px) and (height>=700px) and (prefers-reduced-motion:reduce){#howto-modal .modal{transition:none!important}}#howto-modal .step-num{color:var(--text)}@media (width>=700px) and (height<=699px){#howto-modal{align-items:center;padding:12px 24px}#howto-modal .modal{opacity:0;border-radius:20px;max-width:760px;max-height:calc(100vh - 24px);transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;transform:scale(.96)}#howto-modal.open .modal{opacity:1;transform:scale(1)}#howto-modal .modal-handle{display:none}#howto-modal .modal-body{grid-template-columns:1fr 1fr;align-content:start;column-gap:24px;padding:18px 24px 4px;display:grid}#howto-modal .modal-title,#howto-modal .modal-sub{grid-column:1/-1}#howto-modal .modal-sub{margin-bottom:12px}#howto-modal .howto-step{margin-bottom:10px}#howto-modal .modal-actions{padding:10px 24px 14px}}@media (width>=700px) and (height<=699px) and (prefers-reduced-motion:reduce){#howto-modal .modal{transition:none!important}}#howto-modal .howto-swatch{box-sizing:border-box;border-width:2px;border-radius:3px;flex-shrink:0;width:16px;height:16px}#howto-modal .howto-legend-text strong{color:var(--text)}#howto-modal .howto-guess{gap:3px;margin-top:8px;display:flex}#howto-modal .howto-guess .ex-tile{width:28px;height:28px;font-size:12px}#howto-modal .howto-demo-arrow{letter-spacing:.8px;margin:5px 0 6px;font-size:11px}:root{--flip-down:.27s;--flip-up:.23s;--flip-ease-down:cubic-bezier(.75, .12, .5, .3);--flip-ease-up:cubic-bezier(.5, 0, .9, .4);--flip-half:.25s;--reject-dur:.6s;--win-pop:.36s;--win-pop-stagger:55ms}.tile{transition:transform .14s cubic-bezier(.2,.7,.3,1)}@keyframes tileFlipDown{0%{transform:perspective(620px)rotateX(0)}to{transform:perspective(620px)rotateX(-90deg)}}@keyframes tileFlipUp{0%{transform:perspective(620px)rotateX(-90deg)}to{transform:perspective(620px)rotateX(0)}}.tile.flip-down{animation:tileFlipDown var(--flip-down) var(--flip-ease-down) forwards}.tile.flip-up{animation:tileFlipUp var(--flip-up) var(--flip-ease-up) forwards}.tile.flip-down,.tile.flip-up{will-change:transform;transition:none}@keyframes tileWinPop{0%{transform:scale(1)}28%{transform:scale(.85)}58%{transform:scale(1.03)}80%{transform:scale(.985)}to{transform:scale(1)}}.guess-row.win-bounce .tile{animation:tileWinPop var(--win-pop) cubic-bezier(.22, .61, .36, 1) both}.guess-row.win-bounce .tile:first-child{animation-delay:calc(var(--win-pop-stagger) * 0)}.guess-row.win-bounce .tile:nth-child(2){animation-delay:calc(var(--win-pop-stagger) * 1)}.guess-row.win-bounce .tile:nth-child(3){animation-delay:calc(var(--win-pop-stagger) * 2)}.guess-row.win-bounce .tile:nth-child(4){animation-delay:calc(var(--win-pop-stagger) * 3)}.guess-row.win-bounce .tile:nth-child(5){animation-delay:calc(var(--win-pop-stagger) * 4)}.guess-row.win-bounce .tile:nth-child(6){animation-delay:calc(var(--win-pop-stagger) * 5)}@keyframes hintAppear{0%{opacity:0}to{opacity:1}}#prompt-def .hint-btn,#prompt-def .hint-penalty,.saturday-hint-offer{animation:.24s ease-out both hintAppear}@keyframes rowReject{0%{transform:translate(0,0)}8%{transform:translate(-4.5px)}19%{transform:translate(4.2px)}30%{transform:translate(-3.6px)}41%{transform:translate(3px)}52%{transform:translate(-2.4px)}63%{transform:translate(1.8px)}74%{transform:translate(-1.2px)}85%{transform:translate(.7px)}94%{transform:translate(-.3px)}to{transform:translate(0,0)}}.current-row.shake,.guess-row.shake{animation:rowReject var(--reject-dur) ease-in-out}@keyframes tileRejectFlash{0%{border-color:var(--border)}12%{border-color:var(--red)}72%{border-color:var(--red)}to{border-color:var(--border)}}.current-row.shake .current-tile{animation:tileRejectFlash var(--reject-dur) ease-in-out}@keyframes cursorPulse{0%,to{border-color:var(--cursor-ring)}50%{border-color:color-mix(in srgb, var(--cursor-ring) 55%, transparent)}}.current-tile.cursor{animation:1.15s ease-in-out infinite cursorPulse}.tile.settle-fade{opacity:1;animation:none}@media (prefers-reduced-motion:reduce){.tile{transition:none}.tile.settle-fade,.tile.correct,.tile.present,.tile.absent{opacity:1;transition:none;animation:none}.tile.flip-down,.tile.flip-up,.guess-row.win-bounce,.guess-row.win-bounce .tile{animation:none;transform:none}.guess-row,.current-row.shake,.guess-row.shake,#prompt-def .hint-btn,#prompt-def .hint-penalty,.saturday-hint-offer{animation:none}.current-row.shake .current-tile{animation:tileRejectFlash var(--reject-dur) ease-in-out}.current-tile.cursor{border-color:var(--cursor-ring);animation:none}.current-tile,.current-tile.has-letter{transition:border-color .1s,background-color .1s;transform:none}.tile.filled{transform:none}}:root[data-theme=light]{--bg:#f4efe4;--surface:#fffdf6;--surface2:#e7e0cf;--border:#bdb29a;--gold:#8a6210;--gold-dim:#a8842f;--green:#16734c;--red:#a3281f;--text:#17140f;--text-mid:#3c372e;--text-dim:#5a5447;--text-dim-aa:#5a5447;--white:#fff;--shadow:0 10px 34px #3c2e142e;--field-wash:#8a621012}:root[data-theme=dark],:root:not([data-theme]){--field-wash:#d4a8430d}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4efe4;--surface:#fffdf6;--surface2:#e7e0cf;--border:#bdb29a;--gold:#8a6210;--gold-dim:#a8842f;--green:#16734c;--red:#a3281f;--text:#17140f;--text-mid:#3c372e;--text-dim:#5a5447;--text-dim-aa:#5a5447;--shadow:0 10px 34px #3c2e142e;--field-wash:#8a621012}}html body{background:var(--bg) radial-gradient(ellipse 980px 760px at center 42%, var(--field-wash), transparent 68%)}:root[data-theme=light] body:before{opacity:.03;mix-blend-mode:multiply}:root[data-theme=light] .tile.correct{background:var(--state-correct-fill);border-color:var(--state-correct-edge);color:var(--state-correct-ink)}:root[data-theme=light] .tile.present{background:var(--state-present-fill);border-color:var(--state-present-edge);color:var(--state-present-ink)}:root[data-theme=light] .tile.absent{background:var(--state-absent-fill);border-color:var(--state-absent-edge);color:var(--state-absent-ink)}:root[data-theme=light] .tile.filled{color:var(--text)}:root[data-theme=light] .tile.unrevealed{color:var(--state-unplayed-ink)}:root[data-theme=light] .current-tile.has-letter{background:var(--state-pending-fill)}:root[data-theme=light] .empty-tile{border-color:var(--state-empty-edge)}:root[data-theme=light] .landscape-overlay{background:var(--bg)}:root[data-theme=light] .recap-dot.done,:root[data-theme=light] .toggle-switch input:checked+.toggle-slider{background:#d3e8dc}:root[data-theme=light] .modal-overlay{background:#2e261673}:root[data-theme=light] .btn-share{color:#fffdf6}:root[data-theme=light] .btn-share:active{background:#6e4e0c}:root[data-theme=light] .login-send-btn{color:#fffdf6}:root[data-theme=light] .lb-position.top-3{color:#6e5520}:root[data-theme=light] .lb-your-rank{background:linear-gradient(135deg,#fbf1d6,#f3e3b6)}:root[data-theme=light] .ex-tile.c{background:var(--state-correct-fill);border-color:var(--state-correct-edge);color:var(--state-correct-ink)}:root[data-theme=light] .ex-tile.p{background:var(--state-present-fill);border-color:var(--state-present-edge);color:var(--state-present-ink)}:root[data-theme=light] .ex-tile.a{background:var(--state-absent-fill);border-color:var(--state-absent-edge);color:var(--state-absent-ink)}@media (width>=640px){:root header,:root .puzzle-bar,:root .signin-banner,:root .keyboard{margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50% + 16px)}:root .keyboard{padding-bottom:max(8px, env(safe-area-inset-bottom))}}@media (width>=1024px),(width>=720px) and (height<=760px){:root{--stage-gap:clamp(16px, 2.4vw, 40px);--stage-max:1180px}:root #app{max-width:min(var(--stage-max), calc(100% - 24px))}:root header,:root .puzzle-bar,:root .signin-banner{padding-inline:calc(50vw - 50%)}:root .game-area{column-gap:var(--stage-gap);grid-template-rows:repeat(4,auto);grid-template-columns:minmax(0,1fr) minmax(0,1.45fr) minmax(0,1fr);align-content:center;justify-items:center;row-gap:8px;padding:20px 0 14px;display:grid}:root .game-area:before,:root .game-area:after{content:"";background:linear-gradient(to bottom, transparent, var(--border) 16%, var(--border) 84%, transparent);grid-row:1/-1;align-self:stretch;width:1px}:root .game-area:before{margin-right:calc(var(--stage-gap) / -2);grid-column:1;justify-self:end}:root .game-area:after{margin-left:calc(var(--stage-gap) / -2);grid-column:3;justify-self:start}:root .game-area>.prompt-card{grid-area:1/1/-1;place-self:center stretch}:root .game-area>.guesses-container{grid-area:1/2}:root .game-area>.current-row{grid-area:2/2}:root .game-area>#empty-rows-container{grid-area:3/2}:root .game-area>.attempts-progress{grid-area:4/2;align-self:start}:root .game-area>.stage-side:not(.stage-record){grid-area:1/3/-1;place-self:center stretch;display:block}:root .puzzle-bar>.week-arc,:root .puzzle-bar>.week-progress{display:none}:root .game-area>.sunday-screen,:root .game-area>.unavailable-screen{grid-area:1/1/-1/-1}:root .game-area:has(>.sunday-screen):before{display:none}:root .game-area:has(>.sunday-screen):after{display:none}:root .game-area:has(>.sunday-screen)>.stage-side{display:none}:root .game-area:has(>.unavailable-screen):before{display:none}:root .game-area:has(>.unavailable-screen):after{display:none}:root .game-area:has(>.unavailable-screen)>.stage-side{display:none}}@media (width>=1024px) and (height<=820px),(width>=720px) and (height<=760px){:root{--tile-fit:clamp(30px, min(calc((100vh - 358px) / 6 - 6px), calc(6.66vw - 6.7px)), 62px)}:root .tile,:root .current-tile,:root .empty-tile{width:var(--tile-fit);height:var(--tile-fit);font-size:calc(var(--tile-fit) * .5)}}.header-actions{gap:6px}.header-actions .hi{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;width:18px;height:18px;display:block}.icon-btn{font:inherit;appearance:none;padding:0}:root .icon-btn{border-color:#3a3a3a}:root[data-theme=light] .icon-btn{border-color:var(--border)}.streak-badge{border:1px solid var(--gold-dim);background:var(--surface2);border-radius:8px;gap:6px;height:36px;padding:0 10px 0 8px;font-size:13px;font-weight:500;line-height:1}:root[data-theme=light] .streak-badge{background:#f6edd6}.streak-badge #header-streak{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;font-size:14px;font-weight:500}.sync-indicator{align-items:center;margin-right:2px;display:inline-flex}.week-arc{align-items:center;gap:5px;min-width:0;display:flex}.week-arc-label{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--text-mid);white-space:nowrap;flex-shrink:0;font-size:9px}.puzzle-bar .puzzle-num,.puzzle-bar .hard-toggle{white-space:nowrap}.week-arc:has(.week-progress:empty){display:none}.wp-day{box-sizing:border-box;font-family:var(--font-mono);border-radius:20%;justify-content:center;align-items:center;line-height:1;transition:background-color .3s,border-color .3s,color .3s;display:inline-flex}.wp-day>i{font-style:normal}.puzzle-bar .wp-day{background:#3c3c3c;border:1px solid #3c3c3c;width:9px;height:9px}:root[data-theme=light] .puzzle-bar .wp-day:not(.done):not(.is-today){border-color:var(--border);background:var(--border)}.puzzle-bar .wp-day>i{display:none}.puzzle-bar .wp-day.done{background:var(--green);border-color:var(--green)}.puzzle-bar .wp-day.is-today{border-color:var(--gold);box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--gold-dim);background:0 0}.puzzle-bar .wp-day.is-today.done{background:var(--gold)}.puzzle-bar .wp-day.wp-sat{width:11px;height:11px}.stage-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:13px 15px 14px;display:none}.stage-side-label{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:11px;font-size:10px}.stage-side .week-progress{flex-wrap:wrap;gap:5px}.stage-side .wp-day{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);width:clamp(23px,16.6667% - 4.16667px,32px);height:auto;color:var(--text-dim);flex:none;font-size:12px;font-weight:500}.stage-side .wp-day.done{border-color:var(--green);color:var(--green);background:#1d3b2e}.stage-side .wp-day.is-today{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-dim)}.stage-side .wp-day.is-today.done{background:#33280d}.wp-day.wp-sat{margin-left:2px}:root .wp-day.wp-sat:not(.done):not(.is-today),:root[data-theme] .wp-day.wp-sat:not(.done):not(.is-today){border-color:var(--gold-dim)}:root[data-theme=light] .stage-side .wp-day.done{background:#d3e8dc}:root[data-theme=light] .stage-side .wp-day.is-today.done{background:#f6edd6}.stage-side-note{color:var(--text-dim);margin-top:12px;font-size:11.5px;line-height:1.5}@media (width>=700px) and (height>=560px){#leaderboard-modal{align-items:center;padding:32px}#leaderboard-modal .modal{border-radius:var(--r);opacity:0;width:100%;max-width:420px;max-height:min(560px,100vh - 72px);transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s;transform:scale(.96)}#leaderboard-modal.open .modal{opacity:1;transform:scale(1)}#leaderboard-modal .modal-handle{display:none}#leaderboard-modal .lb-error,#leaderboard-modal .lb-empty,#leaderboard-modal .lb-loading{padding:26px 0 12px}#leaderboard-modal .modal-actions{padding-bottom:16px}}@media (width>=700px) and (height>=560px) and (prefers-reduced-motion:reduce){#leaderboard-modal .modal{transition:opacity .2s;transform:none}#leaderboard-modal.open .modal{transform:none}}:root .attempts-progress{column-gap:18px}:root{--hard-locked-ink:#969288;--hard-active-ink:#e86e66}:root[data-theme=light]{--hard-locked-ink:#625c4e;--hard-active-ink:var(--red)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--hard-locked-ink:#625c4e;--hard-active-ink:var(--red)}}:root .hard-toggle.active{color:var(--hard-active-ink)}:root .hard-toggle.disabled{opacity:1;color:var(--hard-locked-ink);background:var(--surface2);border-color:var(--border);cursor:default;pointer-events:auto;border-style:dashed}:root #app:has(.guesses-container .guess-row) .hard-toggle{opacity:1;color:var(--hard-locked-ink);background:var(--surface2);border-color:var(--border);cursor:default;pointer-events:auto;border-style:dashed}:root .hard-toggle.disabled:hover{border-color:var(--border)}:root #app:has(.guesses-container .guess-row) .hard-toggle:hover{border-color:var(--border)}:root .hard-toggle.disabled:before{content:"";vertical-align:-1px;width:9px;height:9px;-webkit-mask:var(--lock-mask) center / 9px 9px no-repeat;-webkit-mask:var(--lock-mask) center / 9px 9px no-repeat;mask:var(--lock-mask) center / 9px 9px no-repeat;background-color:currentColor;margin-right:5px;display:inline-block}:root #app:has(.guesses-container .guess-row) .hard-toggle:before{content:"";vertical-align:-1px;width:9px;height:9px;-webkit-mask:var(--lock-mask) center / 9px 9px no-repeat;-webkit-mask:var(--lock-mask) center / 9px 9px no-repeat;mask:var(--lock-mask) center / 9px 9px no-repeat;background-color:currentColor;margin-right:5px;display:inline-block}:root{--lock-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.6' d='M4 5.4V3.9a2 2 0 0 1 4 0v1.5'/%3E%3Crect x='2.1' y='5.4' width='7.8' height='5.2' rx='1.2' fill='%23000'/%3E%3C/svg%3E")}@media (width>=1024px),(width>=720px) and (height<=760px){:root .game-area:before{margin-right:0;margin-left:calc(var(--stage-gap) / -2);grid-column:1;justify-self:start}:root .game-area:after{margin-left:0;margin-right:calc(var(--stage-gap) / -2);grid-column:3;justify-self:end}:root .game-area>.prompt-card{flex-direction:column;justify-content:center;min-height:148px;margin-inline-end:calc(var(--stage-gap) / -2);display:flex}:root .game-area>.stage-side:not(.stage-record){margin-inline-start:calc(var(--stage-gap) / -2)}}@media (width>=1024px) and (height>=861px){:root .game-area>.prompt-card{grid-area:1/2;place-self:end center;width:100%;max-width:397px;min-height:0;margin-inline:0;padding:14px 18px 12px}:root .game-area>.prompt-card .prompt-def{font-size:19px}:root .game-area>.guesses-container{grid-row:2}:root .game-area>.current-row{grid-row:3}:root .game-area>#empty-rows-container{grid-row:4}:root .game-area>.attempts-progress{grid-row:5}:root .game-area>.stage-side,:root .game-area:before,:root .game-area:after{grid-row:1/6}:root .game-area{row-gap:8px}}@media (width>=1024px) and (width<=1279px){:root #app{max-width:calc(100% - 64px)}}.lb-invite{text-align:center;padding:10px 6px 4px}.lb-invite-title{font-family:var(--font-display);color:var(--text);margin-bottom:9px;font-size:19px;font-weight:700;line-height:1.25}.lb-invite-body{font-family:var(--font-body);color:var(--text-mid);max-width:34ch;margin:0 auto 14px;font-size:13px;line-height:1.55}.lb-mine{grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 14px;display:grid}.lb-mine-cell{background:var(--surface2);text-align:center;border:1px solid #3f3f3f;border-radius:10px;padding:11px 6px 9px}:root[data-theme=light] .lb-mine-cell{border-color:var(--border)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .lb-mine-cell{border-color:var(--border)}}.lb-mine-value{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;color:var(--text);font-size:22px;font-weight:500;line-height:1}.lb-mine-label{font-family:var(--font-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--text-mid);margin-top:6px;font-size:9px;line-height:1.3}.lb-invite-note{font-family:var(--font-body);color:var(--text-mid);max-width:36ch;margin:0 auto;font-size:12px;line-height:1.55}.lb-inline-link{appearance:none;font:inherit;color:var(--gold);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}:root[data-theme=light] .lb-inline-link{color:#74520d}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .lb-inline-link{color:#74520d}}.lb-invite-btn{appearance:none;font-family:var(--font-mono);letter-spacing:1px;color:var(--gold);background:var(--surface2);border:1px solid var(--gold-dim);cursor:pointer;border-radius:10px;padding:11px 20px;font-size:12px;font-weight:500;transition:border-color .2s,background-color .2s}:root[data-theme=light] .lb-invite-btn{color:#74520d}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .lb-invite-btn{color:#74520d}}.lb-invite-btn:hover{border-color:var(--gold)}.lb-invite-btn:active{background:var(--bg)}@media (width>=1024px) and (height>=861px){:root .game-area>.stage-record{grid-column:1;justify-self:stretch;margin-inline-start:0;margin-inline-end:calc(var(--stage-gap) / -2);display:block}}.stage-record-list{margin:0}.stage-record-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;display:flex}.stage-record-row:last-child{border-bottom:0;padding-bottom:2px}.stage-record-row dt{font-family:var(--font-mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--text-dim);font-size:10px}.stage-record-row dd{font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums;color:var(--text);margin:0;font-size:19px;font-weight:500;line-height:1}:root .current-row:not(.shake) .current-tile.cursor{background-image:linear-gradient(to top, var(--cursor-ring) 0, var(--cursor-ring) 5px, transparent 5px);animation:none}:root .current-tile{transition:none}:root .timer-dot{box-shadow:0 0 0 2px color-mix(in srgb, var(--green) 28%, transparent);animation:none}:root .flame{animation:none}:root{--bg:#0d0d0d;--surface:#171717;--surface2:#222;--border:#2a2a2a;--gold:#d4a843;--gold-dim:#8a6b27;--green:#4caf87;--red:#e05555;--text:#f0ece3;--text-dim:#86807b;--text-mid:#b0ab9f;--white:#fff;--shadow:0 8px 32px #0009;--r:12px;--font-display:"Playfair Display", serif;--font-mono:"DM Mono", monospace;--font-body:"DM Sans", sans-serif;--font-num:"DM Sans", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,button,[role=button],.key,.icon-btn{touch-action:manipulation}*{-webkit-user-select:none;user-select:none}input,textarea{pointer-events:none}html,body{background:var(--bg) radial-gradient(ellipse 900px 700px at center 40%, #d4a8430d, transparent 65%);height:100%;color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden}#app{padding-top:env(safe-area-inset-top)}body:before{content:"";opacity:.04;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}#app{flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative}header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px 8px;display:flex}.logo{font-family:var(--font-display);letter-spacing:6px;color:var(--text);text-transform:uppercase;font-size:22px;font-weight:900}.logo span{color:var(--gold)}.header-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--surface2);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-mid);border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex}.icon-btn:hover{background:var(--border);color:var(--text)}.streak-badge{border:1px solid var(--gold-dim);font-family:var(--font-mono);color:var(--gold);background:linear-gradient(135deg,#1a1200,#2a1d00);border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.puzzle-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:6px 16px;display:flex}.puzzle-num{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;font-size:11px}.timer-bar{align-items:center;gap:6px;display:flex}.timer-dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.timer-text{font-family:var(--font-mono);color:var(--text-mid);font-size:12px}.puzzle-bar.done .puzzle-num{color:var(--green)}.puzzle-bar.done .puzzle-num:after{content:" ✓"}.game-area{scrollbar-width:none;flex-direction:column;flex:1;justify-content:safe center;gap:6px;padding:8px 16px 4px;display:flex;overflow:hidden auto}.game-area::-webkit-scrollbar{display:none}.prompt-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);text-align:center;padding:10px 16px}.prompt-def{font-size:16px}.prompt-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;margin-top:6px;display:flex}.prompt-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-mid);font-size:11px;font-family:var(--font-mono)}.prompt-meta-sep{color:var(--text-dim);font-size:11px}.prompt-length{letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);font-size:11px;font-family:var(--font-mono)}.prompt-word{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:3px;margin-top:4px;font-size:11px;font-weight:500;line-height:1}.prompt-word:empty{display:none}.hint-btn{font-weight:400;font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);cursor:pointer;background:#d4a8431a;border-radius:6px;margin-top:6px;padding:4px 12px;font-size:10px;transition:background .2s;display:inline-block}.hint-btn:active{background:#d4a84333}.hint-penalty{color:var(--text-mid);margin-left:6px;font-size:10px;font-style:normal;font-weight:400}.guesses-container{flex-direction:column;gap:4px;display:flex}.empty-row{justify-content:center;gap:3px;display:flex}.empty-tile{border:2px solid var(--state-empty-edge);background:var(--state-unplayed-fill);border-radius:8px;width:54px;height:54px}.attempts-progress{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.attempt-pips{gap:4px;display:flex}.pip{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background-color .3s,transform .3s}.pip.used{background:var(--text-dim)}.pip.current{background:var(--gold);transform:scale(1.3)}.pip.won{background:var(--green)}.attempts-label{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:1px;font-size:10px}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.settings-info{flex:1}.settings-label{color:var(--text);margin-bottom:2px;font-size:15px;font-weight:600}.settings-desc{color:var(--text-dim);font-size:12px;line-height:1.4}.toggle-switch{flex-shrink:0;width:44px;height:24px;margin-left:12px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-dim);border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{border-color:var(--green);background:#1a3328}.toggle-switch input:checked+.toggle-slider:before{background:var(--green);transform:translate(20px)}.toggle-switch input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}.hard-toggle{font-family:var(--font-mono);letter-spacing:1.5px;color:var(--text-mid);background:var(--surface2);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:14px;padding:3px 10px;font-size:10px;transition:all .2s}.hard-toggle:hover{border-color:var(--text-dim)}.hard-toggle.active{color:var(--red);background:#e055551f;border-color:#e0555566}.hard-toggle.disabled{cursor:default}.theme-teaser{color:var(--text-dim);text-align:center;background:#d4a8430d;border:1px solid #d4a8431a;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:11px;font-style:italic;line-height:1.5}.theme-link{color:var(--gold);text-align:center;background:#d4a84314;border:1px solid #d4a84326;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:12px;line-height:1.4}.sunday-connections{text-align:left;width:320px;max-width:100%;margin-top:10px}.connection-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.connection-row[role=button]:not(.revealed){cursor:pointer}.connection-row[role=button]:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.connection-row.missed .connection-word,.connection-row.missed .connection-aside{color:var(--text-dim)}.connection-word{font-family:var(--font-mono);color:var(--text);flex:none;min-width:60px;font-weight:500}.connection-aside{color:var(--text-dim);text-align:right;flex:1;min-width:0;font-size:12px;line-height:1.35}.connection-aside.connection-link{font-style:italic}.connection-theme{text-align:center;font-family:var(--font-display);color:var(--gold);margin-top:10px;font-size:18px}.word-note{color:var(--text-mid);text-align:center;margin-top:8px;padding:0 10px;font-size:12px;font-style:italic;line-height:1.5}.install-banner{background:var(--surface);border-top:1px solid var(--border);padding:12px 18px max(12px, env(safe-area-inset-bottom));z-index:99;justify-content:space-between;align-items:center;transition:transform .3s ease-out;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.install-banner.visible{transform:translateY(0)}.install-text{color:var(--text-mid);flex:1;margin-right:12px;font-size:13px}.install-actions{align-items:center;gap:8px;display:flex}.install-btn{background:var(--gold);color:#000;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.install-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px}.board-share{flex-shrink:0;padding:10px 18px;animation:.3s ease-out slideUp}.board-share-btn{max-width:320px;margin:0 auto}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.signin-banner{cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:8px 16px;display:flex}.signin-banner-text{font-family:var(--font-mono);letter-spacing:1px;color:var(--gold);text-transform:uppercase;font-size:11px}.signin-banner-dot{background:var(--gold);opacity:.6;border-radius:50%;width:5px;height:5px}.email-input-display{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px 16px;display:flex}.email-input-bar{background:var(--surface2);border:1px solid var(--gold);width:100%;max-width:340px;height:44px;font-family:var(--font-body);color:var(--text);border-radius:10px;align-items:center;padding:0 14px;font-size:15px;display:flex;overflow:hidden}.email-input-bar .email-text{white-space:nowrap}.email-input-bar .email-cursor{background:var(--gold);flex-shrink:0;width:2px;height:20px;margin-left:1px;animation:1s step-end infinite caretBlink}@keyframes caretBlink{50%{opacity:0}}.email-stay-row{color:var(--text-dim);align-items:center;gap:8px;font-size:13px;display:flex}.email-stay-row input[type=checkbox]{accent-color:var(--gold);width:16px;height:16px}.email-status-msg{text-align:center;min-height:16px;font-size:12px}.email-status-msg.error{color:var(--red)}.email-status-msg.success{color:var(--green)}.settings-action-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);cursor:pointer;border-radius:8px;flex-shrink:0;margin-left:12px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.settings-action-btn:active{background:var(--border)}.login-form{flex-direction:column;gap:10px;padding:12px 0;display:flex}.login-input{background:var(--surface2);border:1px solid var(--border);width:100%;height:42px;color:var(--text);font-family:var(--font-body);box-sizing:border-box;border-radius:10px;outline:none;padding:0 14px;font-size:15px}.login-input:focus{border-color:var(--gold)}.login-checkbox{color:var(--text-dim);font-size:13px;font-family:var(--font-body);cursor:pointer;align-items:center;gap:8px;display:flex}.login-checkbox input[type=checkbox]{accent-color:var(--gold);width:16px;height:16px}.login-status{color:var(--text-dim);text-align:center;min-height:16px;font-size:12px}.login-status.error{color:var(--red)}.login-status.success{color:var(--green)}.login-send-btn{background:var(--gold);color:#000;font-family:var(--font-display);cursor:pointer;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:700;transition:opacity .15s}.login-send-btn:disabled{opacity:.5;cursor:not-allowed}.sync-indicator{color:var(--text-dim);align-items:center;margin-right:4px;font-size:14px;transition:color .3s;display:inline-flex}.sync-indicator.synced{color:var(--green)}.sync-indicator.syncing{color:var(--gold);animation:1s infinite pulse}.flame{animation:.8s infinite alternate flicker;display:inline-block}@keyframes flicker{0%{transform:scale(1)rotate(-2deg)}to{transform:scale(1.1)rotate(2deg)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(min(58vh,520px))rotate(720deg)}}.confetti-piece{pointer-events:none;z-index:9990;border-radius:2px;width:8px;height:8px;animation:1s ease-in forwards confetti-fall;position:fixed}@media (prefers-reduced-motion:reduce){.confetti-piece{opacity:0;animation:none}}.theme-flash-overlay{z-index:9998;pointer-events:none;opacity:0;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.theme-flash-overlay.active{opacity:1}.theme-flash-word{font-family:var(--font-display);color:var(--gold);letter-spacing:12px;text-shadow:0 0 30px #d4a84399,0 0 60px #d4a8434d;font-size:48px;font-weight:900;animation:1.5s ease-in-out themeGlow}@keyframes themeGlow{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.1)}70%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1)}}.game-area{-webkit-overflow-scrolling:touch}@media (height<=750px){.tile,.current-tile,.empty-tile{width:48px;height:48px;font-size:28px}.key{height:44px}.game-area{gap:5px;padding:6px 16px 4px}.prompt-card{padding:8px 14px}.prompt-def{font-size:14px}.prompt-word{font-size:11px}}@media (height<=680px){.tile,.current-tile,.empty-tile{width:44px;height:44px;font-size:26px}.key{max-width:36px;height:40px;font-size:13px}.game-area{gap:5px;padding:6px 16px 4px}.keyboard{padding:4px 8px max(6px, env(safe-area-inset-bottom))}.keyboard-row{--key-hit-x:3px;--key-hit-y:2.5px;gap:4px;margin-bottom:3px}.prompt-card{padding:8px 12px}.prompt-meta{margin-top:3px}.prompt-def{font-size:12px}.prompt-length{font-size:11px}.prompt-word{margin-top:2px;font-size:11px}.category-chip{display:none}}@media (height<=580px){.tile,.current-tile,.empty-tile{width:38px;height:38px;font-size:22px}.key{max-width:34px;height:36px;font-size:12px}.prompt-card{padding:6px 10px}.prompt-def{font-size:11px}.prompt-meta{margin-top:2px}.prompt-label{font-size:11px}.prompt-word{margin-top:1px;font-size:11px}.puzzle-bar{padding:4px 16px}header{padding:8px 16px 6px}.guesses-container{gap:3px}}@media (width>=500px){.key{font-size:15px}.guess-row,.current-row,.empty-row{gap:5px}.tile,.current-tile,.empty-tile{width:62px;height:62px;font-size:36px}}@media (prefers-reduced-motion:reduce){.timer-dot{animation:none}.install-banner,.icon-btn{transition:none}}.landscape-overlay{z-index:99999;background:#0d0d0d;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:fixed;inset:0}.landscape-overlay .rotate-icon{font-size:48px}.landscape-overlay .rotate-msg{font-family:var(--font-display);color:var(--text);text-align:center;font-size:18px}.landscape-overlay .rotate-sub{color:var(--text-dim);font-size:13px}@media (orientation:landscape) and (height<=600px) and (pointer:coarse) and (width<=950px){.landscape-overlay{display:flex}}.saturday-clues{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:4px;margin-top:8px;display:grid}.clue-row{font-family:var(--font-mono);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:4px 8px;font-size:13px;font-weight:400;line-height:1.25;display:flex}.clue-row.solved{background:#4caf8714;border:1px solid #4caf8733}.clue-row.missed{background:var(--surface2);border:1px solid var(--border);opacity:.5}.clue-day{letter-spacing:1px;color:var(--text-mid);flex-shrink:0;width:28px;font-size:9px}.clue-word{color:var(--text);letter-spacing:3px;font-weight:500}.clue-row.missed .clue-word{color:var(--text-dim)}.clue-count{font-family:var(--font-mono);letter-spacing:1px;color:var(--text-mid);justify-content:center;align-items:center;min-width:0;padding:4px 8px;font-size:11px;line-height:1.25;display:flex}.sunday-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.sunday-icon{margin-bottom:16px;font-size:64px}.sunday-title{font-family:var(--font-display);color:var(--text);margin-bottom:12px;font-size:32px;font-weight:700}.sunday-message{color:var(--text-mid);max-width:300px;margin-bottom:28px;font-size:15px;line-height:1.6}.sunday-recap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);width:100%;max-width:280px;margin-bottom:24px;padding:16px 20px}.recap-label{letter-spacing:2px;color:var(--text-dim);font-size:10px;font-family:var(--font-mono);margin-bottom:10px}.recap-dots{justify-content:center;gap:8px;margin-bottom:8px;display:flex}.recap-dot{background:var(--surface2);border:2px solid var(--border);width:36px;height:36px;font-family:var(--font-mono);color:var(--text-dim);border-radius:20%;justify-content:center;align-items:center;font-size:11px;display:flex}.recap-dot.done{border-color:var(--green);color:var(--green);background:#1a3328}.recap-stat{color:var(--text-mid);font-size:12px;font-family:var(--font-num);font-variant-numeric:lining-nums tabular-nums}.sunday-countdown{text-align:center;background:var(--surface2);border:1px solid var(--border);border-radius:10px;width:100%;max-width:280px;padding:14px}.week-progress{align-items:center;gap:3px;display:flex}.wp-dot{background:var(--border);border-radius:50%;width:6px;height:6px;transition:background .3s}.wp-dot.done{background:var(--green)}.wp-dot.sat{background:var(--border);border:1px solid var(--gold-dim);width:8px;height:8px;margin-left:2px}.wp-dot.sat.done{background:var(--gold);border-color:var(--gold)}.reveal-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:1px;cursor:pointer;border-radius:8px;margin-top:6px;padding:6px 14px;font-size:11px;transition:all .15s;display:inline-block}.reveal-btn:hover{background:var(--border);color:var(--text)}.saturday-hint-offer,.saturday-revealed-def{text-align:center;margin-top:12px}.code-input-row{justify-content:center;gap:8px;margin:16px 0;display:flex}.code-digit{border:2px solid var(--border);width:44px;height:56px;font-family:var(--font-mono);color:var(--text);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;font-size:24px;font-weight:500;transition:border-color .15s;display:flex}.code-digit.filled{border-color:var(--gold)}.code-digit.cursor{border-color:var(--text-dim);animation:1s step-end infinite cursor-blink}.unavailable-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.unavailable-icon{margin-bottom:14px;font-size:48px}.unavailable-title{font-family:var(--font-display);color:var(--text);margin-bottom:10px;font-size:26px;font-weight:700}.unavailable-body{color:var(--text-mid);max-width:320px;margin-bottom:24px;font-size:15px;line-height:1.6}.unavailable-retry{font-family:var(--font-body);color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;min-height:44px;padding:11px 22px;font-size:14px;font-weight:600}.unavailable-retry:hover:not(:disabled){background:var(--border)}.unavailable-retry:disabled{opacity:.6;cursor:default}.unavailable-reason{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-mid);opacity:.7;margin-top:14px;font-size:10px}.prompt-def,.howto-demo-def,.result-word-reveal .def,.saturday-revealed-def{font-family:var(--font-display);letter-spacing:0;color:var(--text);font-style:normal;font-weight:700;line-height:1.35}.howto-demo-def,.result-word-reveal .def,.saturday-revealed-def{font-size:15px}
