*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-bg: #0f0f17;--color-surface: #191924;--color-surface-2: #222232;--color-surface-3: #2c2c3e;--color-primary: #d4963c;--color-primary-hover: #e0a84c;--color-primary-glow: rgba(212, 150, 60, .15);--color-text: #ece6de;--color-text-muted: #78788c;--color-correct: #50b870;--color-correct-bg: rgba(80, 184, 112, .1);--color-close: #d4963c;--color-warm: #e08840;--color-far: #d05050;--color-unused: #2c2c3e;--color-border: #262638;--color-overlay: rgba(0, 0, 0, .75);--color-input-bg: #191924;--color-streak: #d4963c;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .45);--radius: 14px;--radius-sm: 10px;--max-width: 500px;--logo-end: #f0c868;--heat-borders: #e05040;--heat-boiling: #50c868;--heat-hot: #d4b840;--heat-warm: #e08840;--heat-cool: #d45050;--heat-cold: #5888d4;--heat-freezing: #7860c0}[data-theme=light]{--color-bg: #f7f4ef;--color-surface: #ffffff;--color-surface-2: #eee8e0;--color-surface-3: #e4dcd2;--color-primary: #b87a2a;--color-primary-hover: #a06820;--color-primary-glow: rgba(184, 122, 42, .12);--color-text: #2c2420;--color-text-muted: #8a7e70;--color-correct: #4a9450;--color-correct-bg: rgba(74, 148, 80, .08);--color-close: #b87a2a;--color-warm: #d06020;--color-far: #c04040;--color-unused: #e4dcd2;--color-border: #d8d0c6;--color-overlay: rgba(44, 36, 32, .45);--color-input-bg: #ffffff;--color-streak: #b87a2a;--shadow-sm: 0 1px 4px rgba(44, 36, 32, .06);--shadow-md: 0 4px 16px rgba(44, 36, 32, .1);--shadow-lg: 0 8px 32px rgba(44, 36, 32, .14);--logo-end: #d4a050;--heat-borders: #c03020;--heat-boiling: #1a8c1a;--heat-hot: #c88a0a;--heat-warm: #d06020;--heat-cool: #b83a3a;--heat-cold: #4056b0;--heat-freezing: #5030a0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s,color .3s}input,button,select,textarea{font-family:inherit}#root{min-height:100%;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);max-width:var(--max-width);width:100%;margin:0 auto}.header-left{display:flex;align-items:baseline;gap:8px}.logo{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--color-primary),var(--logo-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.puzzle-number{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.header-right{display:flex;align-items:center;gap:4px}.streak-pill{display:flex;align-items:center;gap:3px;font-size:.8rem;font-weight:700;color:var(--color-streak);background:color-mix(in srgb,var(--color-streak) 12%,transparent);padding:4px 10px 4px 6px;border-radius:999px;line-height:1;margin-right:4px}.header-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:7px;transition:color .2s,background .2s;border-radius:8px;display:flex;align-items:center;justify-content:center}.header-btn:hover{color:var(--color-text);background:var(--color-surface-2)}.game{flex:1;max-width:var(--max-width);width:100%;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.audio-player{display:flex;align-items:center;gap:16px;background:var(--color-surface);padding:20px;border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-md);transition:border-color .4s,box-shadow .4s}.audio-player:has(.spinning){border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:0 0 24px var(--color-primary-glow),var(--shadow-md)}.record-container{position:relative;flex-shrink:0;width:80px;height:80px}.record{width:80px;height:80px;border-radius:50%;background:#1a1a1a;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000059}.record-grooves{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0px,transparent 3px,rgba(255,255,255,.03) 3px,rgba(255,255,255,.03) 4px)}.record-center{position:absolute;top:50%;left:50%;width:30px;height:30px;transform:translate(-50%,-50%);border-radius:50%;background:var(--color-primary);z-index:1;overflow:hidden}.record-art{width:100%;height:100%;object-fit:cover;border-radius:50%}.record.spinning{animation:spin-record 2s linear infinite}.play-btn-overlay{position:absolute;inset:0;border-radius:50%;border:none;background:#00000059;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s;z-index:2}.play-btn-overlay:hover{background:#00000080;transform:scale(1.05)}.play-btn-overlay:active{transform:scale(.97)}.floating-notes{position:absolute;top:0;left:50%;width:0;height:0;pointer-events:none;z-index:3}.note{position:absolute;font-size:18px;opacity:0;animation:float-note 2.5s ease-out infinite;color:var(--color-primary)}.audio-track{flex:1;display:flex;flex-direction:column;gap:8px}.audio-bar{height:10px;background:var(--color-unused);border-radius:5px;position:relative;overflow:hidden;cursor:pointer}.audio-bar-unlocked{position:absolute;top:0;left:0;height:100%;background:var(--color-surface-3);border-radius:5px}.audio-bar-progress{position:absolute;top:0;left:0;height:100%;background:var(--color-primary);border-radius:5px;transition:width .25s linear}.audio-label{font-size:.78rem;color:var(--color-text-muted)}.audio-track-info a{color:var(--color-primary);text-decoration:none;font-weight:500}.audio-track-info a:hover{text-decoration:underline}.hint-panel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.hint-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 10px;text-align:center;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm);transition:border-color .3s,opacity .3s,background .3s}.hint-box.locked{opacity:.45}.hint-box.unlocked{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);opacity:1;background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface));animation:hint-reveal .35s ease-out}.hint-label{font-size:.65rem;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px;font-weight:600}.hint-value{font-size:.85rem;font-weight:600}.hint-box.locked .hint-value{font-size:1.1rem;color:var(--color-text-muted)}.guess-list{display:flex;flex-direction:column;gap:6px}.guess-row{display:flex;align-items:center;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem;box-shadow:var(--shadow-sm);animation:guess-enter .3s ease-out}.guess-row.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.guess-flag{flex-shrink:0;line-height:1;display:flex;align-items:center}.country-flag{display:inline-block;vertical-align:middle;border-radius:2px;object-fit:cover}.guess-country{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guess-result{margin-left:auto;color:var(--color-correct);font-weight:700}.compass{flex-shrink:0;width:38px;height:38px}.compass-ring{width:100%;height:100%;border-radius:50%;border:2px solid var(--color-border);position:relative;background:var(--color-surface-2)}.compass-needle{position:absolute;top:50%;left:50%;width:2px;height:14px;margin-left:-1px;margin-top:-14px;transform-origin:bottom center;background:var(--needle-color, var(--color-primary));border-radius:1px}.compass-needle:after{content:"";position:absolute;top:-3px;left:-3px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid var(--needle-color, var(--color-primary))}.compass-center{position:absolute;top:50%;left:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--color-text-muted)}.heat-badge{flex-shrink:0;font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.heat-borders{background:color-mix(in srgb,var(--heat-borders) 18%,transparent);color:var(--heat-borders);font-weight:800;border:1px solid color-mix(in srgb,var(--heat-borders) 30%,transparent)}.heat-boiling{background:color-mix(in srgb,var(--heat-boiling) 15%,transparent);color:var(--heat-boiling)}.heat-hot{background:color-mix(in srgb,var(--heat-hot) 15%,transparent);color:var(--heat-hot)}.heat-warm{background:color-mix(in srgb,var(--heat-warm) 15%,transparent);color:var(--heat-warm)}.heat-cool{background:color-mix(in srgb,var(--heat-cool) 15%,transparent);color:var(--heat-cool)}.heat-cold{background:color-mix(in srgb,var(--heat-cold) 15%,transparent);color:var(--heat-cold)}.heat-freezing{background:color-mix(in srgb,var(--heat-freezing) 15%,transparent);color:var(--heat-freezing)}.guess-input-wrapper{position:relative}.guess-input-row{display:flex;gap:8px}.autocomplete-container{flex:1;position:relative}.guess-input{width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:2px solid var(--color-border);background:var(--color-input-bg);color:var(--color-text);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.guess-input::placeholder{color:var(--color-text-muted)}.guess-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.autocomplete-dropdown{position:absolute;bottom:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:4px;list-style:none;max-height:200px;overflow-y:auto;z-index:10;box-shadow:var(--shadow-lg);animation:dropdown-enter .15s ease-out}.autocomplete-option{padding:10px 14px;cursor:pointer;font-size:.9rem;transition:background .1s;display:flex;align-items:center;gap:8px}.option-flag{line-height:1;display:inline-flex;align-items:center}.autocomplete-option:hover,.autocomplete-option.highlighted{background:var(--color-surface-2)}.submit-btn{padding:14px 24px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,opacity .2s,transform .1s;flex-shrink:0;box-shadow:0 2px 10px var(--color-primary-glow)}.submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.submit-btn:active:not(:disabled){transform:scale(.97)}.submit-btn:disabled{opacity:.35;cursor:not-allowed}.results-screen{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:28px 24px;text-align:center;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-md);animation:results-enter .4s ease-out}.results-header{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.results-title{font-size:1.3rem;font-weight:800;margin:0}.copy-result{padding:8px 18px;border-radius:var(--radius-sm);border:none;background:var(--color-correct);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 8px #50b87033;white-space:nowrap}.copy-result:hover{background:#48a866}.copy-result:active{transform:scale(.97)}.results-stats{display:flex;justify-content:center;gap:20px}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}.stat-label{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.results-countdown{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:12px;border-top:1px solid var(--color-border)}.countdown-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.countdown-timer{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-primary)}.results-archive-nav{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--color-border);justify-content:center}.archive-nav-back-btn{font-size:.85rem;font-weight:600;padding:10px 18px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);transition:background .2s}.archive-nav-back-btn:hover{background:var(--color-surface-3)}.archive-nav-today-btn{font-size:.85rem;font-weight:600;padding:10px 18px;border-radius:var(--radius-sm);cursor:pointer;border:none;background:var(--color-primary);color:#fff;transition:background .2s}.archive-nav-today-btn:hover{background:var(--color-primary-hover)}.community-section{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--color-border)}.community-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;text-align:center;color:var(--color-text-muted);margin:0}.community-players{font-size:.75rem;color:var(--color-text-muted);text-align:center;margin:0}.community-distribution{display:flex;flex-direction:column;gap:4px}.community-row{display:flex;align-items:center;gap:8px}.community-label{width:14px;font-size:.85rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.community-bar-track{flex:1}.community-bar{background:var(--color-unused);padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;text-align:right;min-width:fit-content;transition:width .5s ease;font-variant-numeric:tabular-nums}.community-bar-player{background:var(--color-primary);color:#fff}.community-percentile{font-size:.85rem;font-weight:700;text-align:center;color:var(--color-primary);margin:0}.community-percentile-loss{color:var(--color-text-muted)}.community-loading{display:flex;justify-content:center;padding:8px 0}.community-spinner{width:20px;height:20px}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;animation:overlay-enter .2s ease-out}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:28px 24px;max-width:400px;width:100%;position:relative;box-shadow:var(--shadow-lg);animation:modal-enter .25s ease-out}.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;line-height:1;transition:color .2s;padding:4px;border-radius:6px}.modal-close:hover{color:var(--color-text);background:var(--color-surface-2)}.modal-title{text-align:center;font-size:1.1rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px;font-weight:700}.stats-summary{display:flex;justify-content:center;gap:16px;margin-bottom:24px}.distribution-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;text-align:center;color:var(--color-text-muted);font-weight:600}.distribution{display:flex;flex-direction:column;gap:4px}.distribution-row{display:flex;align-items:center;gap:8px}.distribution-label{width:14px;font-size:.85rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.distribution-bar-track{flex:1}.distribution-bar{background:var(--color-unused);padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;text-align:right;min-width:fit-content;font-variant-numeric:tabular-nums}.history-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.history-row{display:flex;align-items:center;gap:8px;padding:4px 0}.history-puzzle{font-size:.75rem;color:var(--color-text-muted);min-width:30px;font-weight:600;font-variant-numeric:tabular-nums}.history-dots{display:flex;gap:3px;flex:1}.history-dot{width:10px;height:10px;border-radius:50%}.dot-correct{background:var(--color-correct)}.dot-wrong{background:var(--color-far)}.dot-unused{background:var(--color-unused)}.history-result{font-size:.75rem;font-weight:700;min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.history-result.won{color:var(--color-correct)}.history-result.lost{color:var(--color-far)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--color-border)}.settings-row:last-child{border-bottom:none}.settings-label{display:flex;flex-direction:column;gap:2px}.settings-name{font-size:.95rem;font-weight:600}.settings-desc{font-size:.75rem;color:var(--color-text-muted)}.toggle{position:relative;width:48px;height:28px;border-radius:14px;border:none;background:var(--color-unused);cursor:pointer;padding:0;transition:background .25s;flex-shrink:0}.toggle-on{background:var(--color-primary)}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .25s}.toggle-on .toggle-knob{transform:translate(20px)}.how-to-play{max-height:85vh;overflow-y:auto}.htp-steps{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}.htp-step{display:flex;align-items:flex-start;gap:12px}.htp-icon{flex-shrink:0;font-size:1.4rem;line-height:1.4;width:28px;text-align:center}.htp-text{font-size:.9rem;line-height:1.5;color:var(--color-text)}.htp-text strong{font-weight:700}.htp-example-row{display:flex;align-items:center;gap:8px;margin-top:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:.85rem}.htp-example-country{font-weight:600;flex:1}.htp-annotations{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:.8rem;color:var(--color-text-muted)}.htp-hint-labels{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.htp-hint-chip{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:3px 10px;border-radius:12px;background:var(--color-surface-2);color:var(--color-text-muted);border:1px solid var(--color-border)}.htp-play-btn{width:100%;padding:14px 24px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 10px var(--color-primary-glow)}.htp-play-btn:hover{background:var(--color-primary-hover)}.htp-play-btn:active{transform:scale(.97)}.archive-page{max-width:var(--max-width);width:100%;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:20px}.archive-header{display:flex;align-items:center;justify-content:space-between}.archive-title{font-size:1.3rem;font-weight:700}.archive-today-btn{font-size:.85rem;font-weight:600;color:var(--color-primary);background:none;border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:8px 16px;cursor:pointer;transition:background .2s,color .2s}.archive-today-btn:hover{background:var(--color-primary);color:#fff}.archive-calendar{display:flex;flex-direction:column;gap:12px}.archive-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-month-label{font-size:1rem;font-weight:700;text-align:center;flex:1}.archive-nav-btn{background:none;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;padding:6px 10px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.archive-nav-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-text-muted)}.archive-nav-btn:disabled{opacity:.25;cursor:default}.archive-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.archive-day-header{text-align:center;font-size:.7rem;font-weight:600;color:var(--color-text-muted);padding:4px 0;text-transform:uppercase}.archive-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:10px;font-size:.85rem;gap:2px;min-height:42px}button.archive-cell{background:var(--color-surface-2);border:2px solid transparent;cursor:pointer;color:var(--color-text);transition:border-color .2s,background .2s,transform .1s}button.archive-cell:hover{border-color:var(--color-primary);transform:scale(1.04)}button.archive-cell:active{transform:scale(.98)}.archive-cell-today{border-color:var(--color-primary)!important;background:color-mix(in srgb,var(--color-primary) 10%,transparent)!important}.archive-cell-empty{background:none}.archive-cell-day{font-weight:600;line-height:1}.archive-star{flex-shrink:0}.archive-legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.archive-legend-item{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-text-muted)}.endless-icon-btn{font-size:1.4rem;line-height:1}.endless-status-bar{display:flex;align-items:center;justify-content:center;gap:24px;padding:14px 16px;margin-bottom:4px;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.endless-hearts{display:flex;gap:6px}.endless-heart{font-size:1.4rem;transition:opacity .3s,transform .3s}.endless-heart.alive{color:#e05040;opacity:1}.endless-heart.dead{color:var(--color-text-muted);opacity:.25;transform:scale(.85)}.endless-round,.endless-score,.endless-high-score{display:flex;flex-direction:column;align-items:center;gap:2px}.endless-score-value{font-size:1.5rem;font-weight:800;color:var(--color-text);line-height:1;font-variant-numeric:tabular-nums}.endless-score-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.endless-puzzle-result{text-align:center;padding:16px 0;animation:results-enter .3s ease-out}.results-track-card{margin-top:8px;font-size:.85rem;color:var(--color-text-muted)}.track-card-artist{font-weight:500}.track-card-name a{color:var(--color-primary);text-decoration:none;font-weight:600}.track-card-name a:hover{text-decoration:underline}.endless-next-btn{margin-top:16px;padding:12px 32px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 10px var(--color-primary-glow)}.endless-next-btn:hover{background:var(--color-primary-hover)}.endless-next-btn:active{transform:scale(.97)}.endless-new-high-score{text-align:center;font-size:1.1rem;font-weight:800;color:var(--color-streak);padding:10px 16px;margin-bottom:8px;background:color-mix(in srgb,var(--color-streak) 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-streak) 20%,transparent)}.endless-session-actions{display:flex;gap:12px;margin-top:16px;justify-content:center}.endless-play-again-btn{padding:10px 24px;border-radius:var(--radius-sm);border:none;background:var(--color-primary);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.endless-play-again-btn:hover{background:var(--color-primary-hover)}.endless-play-again-btn:active{transform:scale(.97)}.endless-daily-btn{padding:10px 24px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.endless-daily-btn:hover{background:var(--color-surface-2)}.endless-rules{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:32px 24px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--shadow-md)}.endless-rules-title{text-align:center;font-size:1.3rem;font-weight:800}.footer{max-width:var(--max-width);width:100%;margin:0 auto;padding:16px;text-align:center;font-size:.75rem;color:var(--color-text-muted);display:flex;flex-direction:column;gap:4px}.footer a{color:var(--color-primary);text-decoration:none}.footer a:hover{text-decoration:underline}.ad-banner{max-width:var(--max-width);width:100%;margin:16px auto 0;padding:0 16px}.loading-screen,.error-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px}.loading-screen .logo{font-size:2rem;margin-bottom:8px}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.error-screen{color:var(--color-far)}.no-puzzle{text-align:center;padding:32px 16px;color:var(--color-text-muted)}.guesses-remaining{text-align:center;font-size:.8rem;color:var(--color-text-muted)}.dev-reset{text-align:center;padding:8px}.dev-reset-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.7rem;padding:4px 12px;border-radius:6px;cursor:pointer;transition:border-color .2s,color .2s}.dev-reset-btn:hover{border-color:var(--color-far);color:var(--color-far)}@keyframes spin-record{to{transform:rotate(360deg)}}@keyframes float-note{0%{opacity:0;transform:translate(0) scale(.5)}15%{opacity:.85}to{opacity:0;transform:translate(var(--dx),-65px) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes guess-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes hint-reveal{0%{transform:scale(.96);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes results-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-enter{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:360px){.hint-label{font-size:.58rem}.hint-value{font-size:.78rem}.guess-row{gap:8px;padding:8px 10px}.heat-badge{font-size:.6rem;padding:2px 7px}}
