:root{--paper: #FDFBF7;--ink: #2C2C2C;--graphite: #6B6B6B;--accent: #C65D3B;--accent-hover: #A84B2E;--tile-bg: #F5F3EF;--tile-border: #D4D0C8;--tile-shadow: rgba(44, 44, 44, .08);--success: #5A7A5A;--warning: #B8860B;--hint: #D4A84B;--danger: #B54A4A;--primary-color: var(--accent);--primary-hover: var(--accent-hover);--secondary-color: var(--graphite);--success-color: var(--success);--warning-color: var(--warning);--danger-color: var(--danger);--background-color: var(--paper);--card-background: #ffffff;--text-primary: var(--ink);--text-secondary: var(--graphite);--text-muted: #8A8A8A;--border-color: var(--tile-border);--shadow-sm: 0 1px 3px var(--tile-shadow);--shadow-md: 0 3px 8px var(--tile-shadow);--shadow-lg: 0 8px 24px var(--tile-shadow);--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:IBM Plex Mono,SF Mono,Monaco,monospace;background:var(--paper);min-height:100vh;color:var(--ink);line-height:1.6}.game-container{max-width:480px;margin:0 auto;min-height:100vh;background:var(--card-background);box-shadow:0 0 40px #2c2c2c0d;display:flex;flex-direction:column;position:relative}.game-header{background:var(--card-background);padding:1rem 1rem .75rem;text-align:center}.header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.header-btn{width:2.25rem;height:2.25rem;background:transparent;border:1px solid var(--tile-border);border-radius:var(--radius-md);color:var(--graphite);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.header-btn:hover{background:var(--tile-bg);border-color:var(--accent);color:var(--accent)}.help-btn-header{font-family:Newsreader,Georgia,serif;font-size:1.1rem;font-weight:500}.game-title{font-family:Newsreader,Georgia,serif;font-size:1.75rem;font-weight:500;color:var(--ink);margin:0;letter-spacing:-.02em}.game-info{display:flex;justify-content:center;gap:1rem;align-items:center}.date-display{color:var(--text-secondary);font-size:.9rem}.difficulty-badge{background:var(--accent);color:#fff;padding:.25rem .75rem;min-width:3.2ch;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;text-align:center}.difficulty-badge.easy{background:var(--success-color)}.difficulty-badge.medium{background:var(--warning-color)}.difficulty-badge.hard{background:var(--danger-color)}.difficulty-badge.complete{background:var(--success-color)}.target-section{background:var(--paper);padding:1rem 0 1.5rem;text-align:center}.game-counters{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:360px;margin:0 auto;margin-bottom:.5rem}.counter{font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--graphite);font-weight:500}.counter-left{text-align:left}.counter-right{text-align:right}.target-label{font-family:Newsreader,Georgia,serif;font-size:1rem;color:var(--graphite);margin-bottom:1rem;font-weight:400;font-style:italic}.target-word{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:0 1rem}.target-letter{width:2.75rem;height:2.75rem;background:var(--accent);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:1.1rem;font-weight:600;text-transform:uppercase;box-shadow:inset 0 1px 2px #00000026;transition:background .3s ease,transform .3s ease}.target-letter.matched{background:var(--success)}.gameplay-section{background:var(--paper);padding:2rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem}.current-section{display:flex;flex-direction:column;align-items:center;background:transparent;padding:1rem .75rem}.current-label{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:500}.current-word-container{width:100%;max-width:400px;position:relative}.insertion-arrows{position:relative;display:block;height:2rem;margin-bottom:.25rem}.word-letters-area{display:flex;justify-content:center;align-items:center;gap:0;row-gap:.45rem;min-height:2.75rem;flex-wrap:wrap;align-content:center}.letter-stack{width:3rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.arrow-stack{width:0;height:3rem;position:relative}.word-letter{width:2.75rem;height:2.75rem;background:#fff;border:1px solid var(--tile-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:1.1rem;font-weight:600;text-transform:uppercase;color:var(--ink);box-shadow:0 2px 4px var(--tile-shadow);transition:all var(--transition-fast);position:relative;user-select:none;touch-action:none;flex-shrink:0}.word-letter.matched{background:var(--success);color:#fff;border-color:var(--success);box-shadow:0 2px 4px #5a7a5a33}.word-letter.drag-target:not(.matched){border-color:var(--accent);background:#c65d3b14;transform:scale(1.05);box-shadow:0 4px 12px var(--tile-shadow)}.word-letter.drag-over:not(.matched){border-color:var(--success);background:#5a7a5a1f;transform:scale(1.08);box-shadow:0 6px 16px var(--tile-shadow)}.insertion-gap{width:.5rem;height:2.75rem;background:transparent;border-radius:var(--radius-sm);transition:width .15s ease,background .15s ease;flex-shrink:0;cursor:pointer;overflow:hidden}.insertion-gap:not(.disabled){background:linear-gradient(90deg,#0000000f,#00000008,#0000000f);border-radius:2px}.insertion-gap.drag-over{width:2.25rem;background:var(--success);box-shadow:0 0 12px #5a7a5a66}.insertion-gap.disabled{cursor:default;pointer-events:none}.insertion-gap.hint-highlight{width:2rem;background:var(--hint);animation:hintGlow 1.5s ease-in-out infinite}.insertion-gap[data-type=prepend].hint-highlight,.insertion-gap[data-type=append].hint-highlight{width:2rem;background:var(--hint);animation:hintGlow 1.5s ease-in-out infinite;box-shadow:none}.letters-section{display:flex;flex-direction:column;align-items:center;background:var(--tile-bg);border-radius:var(--radius-lg);padding:1.25rem;margin-top:.5rem}.letters-label{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem;font-weight:500}.letters-container{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;max-width:100%}.available-letter{width:2.75rem;height:2.75rem;background:#fff;border:1px solid var(--tile-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:1.1rem;font-weight:600;text-transform:uppercase;color:var(--ink);cursor:grab;box-shadow:0 2px 4px var(--tile-shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative;user-select:none;touch-action:none}.drag-ghost{position:fixed;width:2.75rem;height:2.75rem;background:#fff;border:2px solid var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:1.1rem;font-weight:600;text-transform:uppercase;color:var(--ink);pointer-events:none;z-index:2000;box-shadow:0 8px 24px #2c2c2c26;opacity:.95;transform:translate(-50%,-180%)}.word-letters-area.invalid-pulse{animation:invalidNudge .28s ease-out}.available-letter:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 12px var(--tile-shadow)}.available-letter.dragging{cursor:grabbing;opacity:.5;transform:scale(.95);z-index:1000;box-shadow:0 1px 2px var(--tile-shadow)}.available-letter.used{opacity:.3;cursor:not-allowed;transform:scale(.9)}.available-letter.return-pop{animation:returnPop .24s ease-out}.drag-return-clone{position:fixed;background:#fff;border:1px solid var(--tile-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:1.1rem;font-weight:600;text-transform:uppercase;color:var(--ink);box-shadow:0 6px 14px #2c2c2c24;pointer-events:none;z-index:2100;transition:transform .22s ease-out,opacity .22s ease-out}.available-letter.undo-returning{z-index:100;transition:transform .35s ease-out,opacity .15s ease-out}.available-letter.undo-shifting{transition:transform .3s ease-out}.controls-section{background:var(--paper);padding:1.25rem 1rem;display:flex;gap:1rem;justify-content:center}.btn{padding:.75rem 1.25rem;border:none;border-radius:var(--radius-md);font-family:IBM Plex Mono,monospace;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 2px 8px #c65d3b40}.btn-secondary{background:transparent;border:1px solid var(--tile-border);color:var(--graphite)}.btn-secondary:hover:not(:disabled){background:var(--tile-bg);border-color:var(--graphite)}.btn-accent{background:var(--hint);color:#fff}.btn-accent:hover:not(:disabled){background:var(--warning)}.btn.hint-flash:not(:disabled){animation:hintButtonFlash .9s ease-in-out infinite}.btn-icon{font-size:1.1rem}.progress-section{background:transparent;padding:.5rem 0 .25rem;border-top:none}.progress-bar{width:100%;height:.5rem;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-sm);transition:width var(--transition-normal),background-color var(--transition-normal);width:0%}.progress-fill.complete{background:var(--success-color, #22c55e)}.progress-text{text-align:center;color:var(--text-muted);font-size:.9rem}.status-section{background:var(--paper);padding:.75rem 1rem 1rem}.status-message{font-family:Newsreader,Georgia,serif;font-style:italic;text-align:center;color:var(--graphite);font-size:.95rem;padding:.75rem 1rem;background:#fff;border-radius:var(--radius-md);box-shadow:0 1px 3px var(--tile-shadow)}.status-message.success{background:#5a7a5a1a;color:var(--success)}.status-message.error{background:#b54a4a1a;color:var(--danger)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;backdrop-filter:blur(4px)}.modal.show{display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-normal)}.modal-content{background:var(--card-background);border-radius:var(--radius-lg);max-width:400px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-normal)}.modal-header{padding:1.5rem 1.5rem 0;text-align:center}.modal-header h2{font-family:Newsreader,Georgia,serif;color:var(--ink);margin-bottom:.5rem;font-weight:500}.history-modal-hint{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase}.modal-body{padding:1rem 1.5rem;text-align:center}.modal-body p{margin-bottom:1rem;color:var(--text-secondary)}.victory-summary{display:flex;flex-direction:column;gap:.5rem;text-align:left}.victory-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.5rem .75rem;background:var(--background-color)}.victory-item .label{font-weight:600}.victory-item .meta{color:var(--text-muted)}.victory-section{background:var(--card-background);padding:2rem 1.5rem;text-align:center;flex:1;display:flex;flex-direction:column;animation:fadeIn var(--transition-normal)}.victory-header{margin-bottom:1.5rem}.victory-header h2{font-family:Newsreader,Georgia,serif;font-size:1.75rem;font-weight:500;color:var(--ink);margin-bottom:.5rem}.victory-subtitle{font-family:Newsreader,Georgia,serif;font-style:italic;color:var(--graphite);font-size:1rem}.victory-results{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.victory-stage-card{background:var(--paper);border:1px solid var(--tile-border);border-radius:var(--radius-md);padding:1rem;text-align:left;animation:slideUp var(--transition-normal) backwards}.victory-stage-card:nth-child(1){animation-delay:.1s}.victory-stage-card:nth-child(2){animation-delay:.2s}.victory-stage-card:nth-child(3){animation-delay:.3s}.victory-btn-jumpin{animation:slideUp var(--transition-normal) backwards}.language-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.language-picker-victory{margin-top:1rem}.lang-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--tile-border);background:var(--paper);color:var(--ink);border-radius:999px;padding:.35rem .65rem;font-size:.8rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.lang-btn:hover{transform:translateY(-1px);border-color:var(--accent)}.lang-btn.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,white);font-weight:600}.lang-flag{width:1.1rem;height:.9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-size:.65rem;border:1px solid rgba(0,0,0,.12)}.victory-stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.victory-stage-label{font-weight:600;color:var(--ink);font-size:1rem;text-transform:none;letter-spacing:.01em}.victory-stage-golf{font-family:Newsreader,Georgia,serif;font-style:italic;color:var(--success);font-size:.9rem}.victory-stage-words{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.victory-word-text{font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:600;text-transform:uppercase;color:var(--ink);letter-spacing:.05em}.victory-arrow{color:var(--graphite);font-size:1rem}.victory-stage-stats{display:flex;gap:.5rem;font-size:.8rem;color:var(--graphite)}.victory-stat{display:flex;align-items:center;gap:.25rem}.victory-stat-value{font-weight:600;color:var(--ink)}.victory-stat-spacer{flex:1}.victory-stat-points{margin-left:auto}.victory-delta{font-size:.75rem;margin-left:.15rem}.victory-delta.delta-good{color:var(--success)}.victory-delta.delta-bad{color:var(--danger)}.victory-total-row{display:flex;justify-content:space-between;align-items:center;background:var(--accent);color:#fff;padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1rem;animation:slideUp var(--transition-normal) .4s backwards}.victory-total-label{font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.9rem}.victory-total-value{font-family:Newsreader,Georgia,serif;font-size:1.5rem;font-weight:500}.victory-footer{display:flex;align-items:center;gap:1rem;background:var(--soft-gray);padding:1rem;border-radius:var(--radius-md);margin-top:1rem}.victory-footer .btn{flex-shrink:0}.countdown-compact{flex:1;display:flex;flex-direction:column;gap:.25rem}.countdown-compact .countdown-bar-container{width:100%;height:24px;background:#0000001a;border-radius:4px;overflow:hidden;position:relative}.countdown-compact .countdown-bar{height:100%;background:var(--accent);border-radius:4px;transition:width 1s linear}.countdown-compact .countdown-timer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:600;color:var(--ink);white-space:nowrap;text-shadow:0 0 4px rgba(255,255,255,.8)}.victory-tabs{display:flex;gap:0;border-bottom:2px solid var(--tile-border);margin-bottom:1.5rem}.victory-tab{flex:1;padding:.75rem 1rem;background:none;border:none;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:500;color:var(--graphite);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.03em}.victory-tab:hover{color:var(--ink)}.victory-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.victory-tab-content{display:none}.victory-tab-content.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--paper);border:1px solid var(--tile-border);border-radius:var(--radius-md);padding:1rem;text-align:center}.stat-card-value{display:block;font-family:Newsreader,Georgia,serif;font-size:1.75rem;font-weight:500;color:var(--ink);line-height:1.2}.stat-card-label{font-size:.7rem;color:var(--graphite);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.stats-section{text-align:left}.stats-section-title{font-size:.75rem;color:var(--graphite);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.frequency-bars{display:flex;flex-direction:column;gap:.4rem}.frequency-row{display:flex;align-items:center;gap:.5rem}.frequency-label{width:2rem;font-family:IBM Plex Mono,monospace;font-size:.8rem;text-align:right;color:var(--graphite)}.frequency-bar-container{flex:1;height:1.25rem;background:var(--paper);border:1px solid var(--tile-border);border-radius:var(--radius-sm);overflow:hidden}.frequency-bar{height:100%;border-radius:var(--radius-sm);transition:width .3s ease;min-width:2px}.frequency-bar.delta-minus3{background:#2d7a2d}.frequency-bar.delta-minus2{background:#4a9a4a}.frequency-bar.delta-minus1{background:#5a9a5a}.frequency-bar.delta-zero{background:#a8b84a}.frequency-bar.delta-plus1{background:#c99a3a}.frequency-bar.delta-plus2{background:#c97a2a}.frequency-bar.delta-plus3{background:#b85a2a}.frequency-count{width:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--graphite);text-align:left}.victory-total-delta{font-family:IBM Plex Mono,monospace;font-size:.85rem;margin-left:.5rem;opacity:.9}.victory-total-delta.negative{color:#fffffff2}.victory-total-delta.positive{color:#ffffffd9}.victory-total-delta.zero{color:#fffc}.history-games-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.history-pagination{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--tile-border)}.history-pagination span{font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--graphite)}.btn-small{padding:.4rem .75rem;font-size:.7rem}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;margin-left:.35rem;border-radius:999px;background:var(--accent);color:#fff;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:600;line-height:1}.history-list{display:flex;flex-direction:column;gap:.5rem;text-align:left}.history-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--background-color);cursor:pointer;transition:background var(--transition-fast)}.history-item:hover{background:var(--tile-bg)}.history-word{display:flex;gap:.25rem}.history-letter{width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);background:var(--card-background);border:1px solid var(--border-color);display:inline-flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase}.history-letter.change{background:#c65d3b1f;border-color:var(--accent)}.history-meta{color:var(--text-muted);font-size:.85rem;min-width:3.5rem;text-align:right}.history-hint-icon{margin-left:.5rem}.modal-footer{padding:0 1.5rem 1.5rem;display:flex;gap:1rem;justify-content:center}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--background-color);display:flex;align-items:center;justify-content:center;z-index:999}.loading-content{text-align:center}.loading-spinner{width:3rem;height:3rem;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--background-color);display:flex;align-items:center;justify-content:center;z-index:998}.error-content{text-align:center;padding:2rem}.error-content h2{color:var(--danger-color);margin-bottom:1rem}.menu-panel{position:fixed;top:0;left:-320px;width:320px;max-width:85vw;height:100%;background:var(--card-background);box-shadow:var(--shadow-lg);z-index:1100;transition:left var(--transition-normal);overflow-y:auto}.menu-panel.show{left:0}.menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(4px);z-index:1099}.menu-overlay.show{display:block}.menu-content{padding:1.5rem}.menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--tile-border)}.menu-header h2{font-family:Newsreader,Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--ink);margin:0}.menu-close-btn{width:2rem;height:2rem;background:transparent;border:none;font-size:1.5rem;color:var(--graphite);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.menu-close-btn:hover{color:var(--accent)}.menu-section{margin-bottom:1.5rem}.menu-section-title{font-family:Newsreader,Georgia,serif;font-size:1rem;font-weight:500;color:var(--graphite);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.03em}.menu-nav-list{display:flex;flex-direction:column;gap:.75rem}.menu-nav-btn{width:100%;justify-content:center;padding:.85rem 1rem}.menu-link-btn{text-decoration:none}.menu-nav-btn.active{border-color:var(--accent);color:var(--accent);background:#c65d3b14}.previous-game-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--paper);border:1px solid var(--tile-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.previous-game-item:hover{background:var(--tile-bg)}.previous-game-item.played{border-left:3px solid var(--success)}.previous-game-item.unplayed{border-left:3px solid var(--accent)}.game-date{font-weight:500;color:var(--ink);font-size:.9rem}.game-score{font-family:Newsreader,Georgia,serif;color:var(--success);font-weight:500}.game-unplayed-label{font-size:.75rem;text-transform:uppercase;color:var(--accent);letter-spacing:.05em;font-weight:500}.pagination-nav{display:flex;justify-content:center;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--tile-border)}.pagination-btn{font-size:.75rem;padding:.5rem .75rem}.help-carousel-panel{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1200;backdrop-filter:blur(4px)}.help-carousel-panel.show{display:flex;align-items:center;justify-content:center;animation:fadeIn var(--transition-normal)}.help-carousel-content{background:var(--card-background);border-radius:var(--radius-lg);max-width:400px;width:90%;padding:1.5rem;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-normal)}.help-carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.help-carousel-header h2{font-family:Newsreader,Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--ink);margin:0}.help-close-btn{width:2rem;height:2rem;background:transparent;border:none;font-size:1.5rem;color:var(--graphite);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.help-close-btn:hover{color:var(--accent)}.help-slides-container{position:relative;min-height:220px}.help-slide{display:none;animation:fadeIn var(--transition-normal)}.help-slide.active{display:block}.help-slide-title{font-family:Newsreader,Georgia,serif;font-size:1.25rem;font-weight:500;color:var(--ink);text-align:center;margin-bottom:1rem}.help-slide-demo{background:var(--paper);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1rem;min-height:80px;display:flex;align-items:center;justify-content:center;gap:1rem}.help-video-wrapper{width:min(100%,280px);border-radius:var(--radius-md);overflow:hidden;border:none;background:transparent}.help-video{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border:none}.help-slide-text{font-family:Newsreader,Georgia,serif;font-style:italic;color:var(--graphite);text-align:center;font-size:.95rem;line-height:1.5}.demo-word{font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:600;color:var(--ink);letter-spacing:.1em}.demo-word.demo-target{color:var(--accent)}.demo-arrow{font-size:1.5rem;color:var(--graphite)}.demo-animation{display:flex;flex-direction:column;align-items:center;gap:.5rem}.demo-tile{width:2rem;height:2rem;background:#fff;border:1px solid var(--tile-border);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:.9rem;font-weight:600;color:var(--ink)}.demo-tile.demo-source{background:var(--accent);color:#fff;border-color:var(--accent)}.demo-tile.demo-target-tile{border-color:var(--accent);border-width:2px;border-style:dashed}.demo-hand{font-size:1.25rem;animation:demoMove 2s ease-in-out infinite}.demo-word-row{display:flex;gap:.25rem}.demo-gap{width:.5rem;height:2rem;background:var(--success);border-radius:var(--radius-sm);opacity:.5}.demo-goal{flex-direction:column;gap:.75rem}.demo-transform{display:flex;align-items:center;gap:.75rem}.demo-word-static{font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:600;color:var(--ink);letter-spacing:.1em}.demo-word-static.demo-target{color:var(--accent)}.demo-arrow-anim{font-size:1.25rem;color:var(--graphite)}.demo-steps{font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--graphite)}.demo-steps strong{color:var(--accent)}.demo-replace-anim,.demo-insert-anim{flex-direction:column;gap:.5rem;width:100%}.anim-row{display:flex;justify-content:center;gap:.3rem;position:relative}.anim-source-row{min-height:3rem;flex-direction:column;align-items:center;gap:.35rem}.anim-target-row{min-height:2.5rem}.anim-available{position:relative;width:8.5rem;height:2.5rem;display:flex;justify-content:center}.anim-tile{width:2.25rem;height:2.25rem;background:#fff;border:1px solid var(--tile-border);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:600;color:var(--ink);box-shadow:0 2px 4px var(--tile-shadow)}.anim-moving{background:#fff;color:var(--ink);border-color:var(--accent);position:absolute;top:0;box-shadow:0 6px 14px #2c2c2c24}.anim-moving-replace{left:.1rem;animation:moveToReplace 2.2s ease-in-out infinite}.anim-moving-insert{right:.1rem;animation:moveToInsert 2.2s ease-in-out infinite}.anim-tile.anim-highlight{border-color:var(--success);background:#5a7a5a1a;animation:helpTilePulse 2.2s ease-in-out infinite}.anim-gap{width:.75rem;height:2.25rem;border-radius:2px;background:linear-gradient(90deg,#00000014,#0000000a,#00000014)}.anim-gap.anim-highlight{animation:helpGapPulse 2.2s ease-in-out infinite}.anim-caption{font-family:IBM Plex Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--graphite)}.anim-result{font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--graphite);margin-top:.25rem}.anim-result strong{color:var(--accent)}@keyframes moveToReplace{0%,20%{transform:translate(0);opacity:1}65%,to{transform:translateY(2.85rem);opacity:.95}}@keyframes moveToInsert{0%,20%{transform:translate(0);opacity:1}65%,to{transform:translate(-.9rem,2.85rem);opacity:.95}}@keyframes helpTilePulse{0%,to{border-color:var(--tile-border);background:#fff}50%{border-color:var(--success);background:#5a7a5a1f}}@keyframes helpGapPulse{0%,to{background:#5a7a5a1a}50%{background:#5a7a5a3d}}.demo-scoring-clear{flex-direction:column;gap:.5rem;align-items:stretch;width:100%;padding:1rem}.score-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.25rem 0}.score-label{font-family:IBM Plex Mono,monospace;color:var(--graphite)}.score-value{font-weight:600;color:var(--ink)}.score-divider{height:1px;background:var(--tile-border);margin:.5rem 0}.score-icon{font-size:1rem;width:1.5rem}.score-desc{font-family:IBM Plex Mono,monospace;font-size:.85rem}.score-row.score-good .score-desc{color:var(--success)}.score-row.score-par .score-desc{color:var(--accent)}.score-row.score-bad .score-desc{color:var(--warning)}.help-carousel-nav{display:flex;flex-direction:column;align-items:center;gap:1rem}.help-dots{display:flex;justify-content:center;gap:.5rem}.help-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--tile-border);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.help-dot:hover{transform:scale(1.2)}.help-dot.active{background:var(--accent)}.help-next-btn{width:100%}.toast-container{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:1400;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.4rem}.toast{background:#2c2c2cf0;color:#fff;border-radius:999px;padding:.45rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 6px 14px #2c2c2c42;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .18s ease,transform .18s ease}.toast.show{opacity:1;transform:translateY(0) scale(1)}@keyframes demoMove{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(10px);opacity:.7}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes hintGlow{0%,to{box-shadow:0 0 5px var(--hint);transform:scale(1)}50%{box-shadow:0 0 15px var(--hint),0 0 25px var(--hint);transform:scale(1.03)}}@keyframes hintButtonFlash{0%,to{transform:translateY(0);box-shadow:0 2px 8px #d4a84b40}50%{transform:translateY(-1px) scale(1.03);box-shadow:0 6px 16px #d4a84b73}}.hint-highlight{animation:hintGlow 1.5s ease-in-out infinite!important;border:1px solid var(--hint)!important;z-index:10;position:relative}.status-message.hint{background:#d4a84b1f;color:var(--warning)}@keyframes letterCelebrate{0%{transform:scale(1) translateY(0)}15%{transform:scale(1.15) translateY(-8px)}30%{transform:scale(1) translateY(0)}45%{transform:scale(1.1) translateY(-5px)}60%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}.letter-celebrate{animation:letterCelebrate .6s ease-out;background:var(--success)!important;color:#fff!important;border-color:var(--success)!important}@keyframes victoryPulse{0%{box-shadow:0 0 #5a7a5a66}70%{box-shadow:0 0 0 20px #5a7a5a00}to{box-shadow:0 0 #5a7a5a00}}.victory-pulse{animation:victoryPulse .8s ease-out}@keyframes letterPlace{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.letter-placed{animation:letterPlace .25s ease-out}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-.5rem)}70%{transform:translateY(-.25rem)}90%{transform:translateY(-.125rem)}}.letter-appear{animation:slideUp var(--transition-normal)}.letter-disappear{animation:fadeOut var(--transition-fast)}@keyframes fadeOut{to{opacity:0;transform:scale(.8)}}@keyframes invalidNudge{0%{transform:translate(0)}25%{transform:translate(-3px)}55%{transform:translate(2px)}80%{transform:translate(-1px)}to{transform:translate(0)}}@keyframes returnPop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.word-letters-area.invalid-pulse{animation-duration:.01ms}}@media(max-width:480px){.game-container{max-width:100%;box-shadow:none}.target-letter,.word-letter,.available-letter{width:2.65rem;height:2.65rem;font-size:1.04rem}.target-word{gap:.4rem}.word-letters-area{gap:0;row-gap:.55rem}.insertion-gap{width:.45rem;height:2.65rem}.insertion-gap.drag-over{width:2.15rem}.game-header{padding:1rem}.game-title{font-size:1.75rem}.gameplay-section{padding:1rem;gap:1rem}.controls-section{padding:1.25rem;gap:.75rem}.controls-section .btn{flex:1 1 0;min-width:0;justify-content:center;padding:.8rem .6rem}.current-section{padding:1rem .5rem}.modal-content{margin:1rem}}@media(max-width:360px){.target-letter,.word-letter,.available-letter{width:2.25rem;height:2.25rem;font-size:.95rem}.target-word{gap:.35rem}.word-letters-area{gap:0;row-gap:.5rem}.insertion-gap{width:.35rem;height:2.25rem}.insertion-gap.drag-over{width:1.75rem}.letters-container{gap:.4rem}.controls-section{flex-direction:column}}.score-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;animation:overlayFadeIn .3s ease-out;backdrop-filter:blur(4px)}.score-overlay.fade-out{animation:overlayFadeOut .4s ease-in forwards}.score-overlay-content{text-align:center;animation:scorePopIn .4s cubic-bezier(.34,1.56,.64,1)}.score-overlay-callout{display:inline-flex;align-items:center;justify-content:center;margin:.95rem auto 0;padding:.28rem .78rem;border-radius:999px;border:1px solid rgba(205,168,82,.95);background:linear-gradient(135deg,#f5dc8a,#d6ad4a 55%,#b6842c);color:#3b2a08;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,245,214,.65);box-shadow:0 6px 16px #d6ad4a47;opacity:0;animation:calloutStampIn .34s cubic-bezier(.2,.9,.3,1.2) .36s forwards}.score-overlay-golf{font-family:Newsreader,Georgia,serif;font-size:4rem;font-weight:500;color:#fff;margin-bottom:.75rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.score-overlay-points{font-family:IBM Plex Mono,monospace;font-size:2.5rem;color:#ffffffe6}.score-overlay-delta{font-size:1.75rem;margin-left:.5rem}.score-overlay-delta.negative{color:var(--success)}.score-overlay-delta.positive{color:var(--warning)}.score-overlay-delta.zero{color:#ffffffb3}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes scorePopIn{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes calloutStampIn{0%{opacity:0;transform:scale(.72) rotate(-7deg)}to{opacity:1;transform:scale(1) rotate(0)}}.insertion-gap[data-type=prepend],.insertion-gap[data-type=append]{width:.75rem}.insertion-gap[data-type=prepend]:not(.disabled),.insertion-gap[data-type=append]:not(.disabled){background:linear-gradient(90deg,#00000014,#0000000a,#00000014)}.insertion-gap[data-type=prepend].drag-target:not(.disabled),.insertion-gap[data-type=append].drag-target:not(.disabled){width:1.25rem;background:#c65d3b26}.insertion-gap[data-type=prepend].drag-over,.insertion-gap[data-type=append].drag-over{width:2.5rem;background:var(--success);box-shadow:0 0 12px #5a7a5a66}@media(max-width:480px){.insertion-gap[data-type=prepend],.insertion-gap[data-type=append]{width:.5rem}.insertion-gap[data-type=prepend].drag-target:not(.disabled),.insertion-gap[data-type=append].drag-target:not(.disabled){width:1rem}.insertion-gap[data-type=prepend].drag-over,.insertion-gap[data-type=append].drag-over{width:2.35rem}}@media(max-width:360px){.insertion-gap[data-type=prepend],.insertion-gap[data-type=append]{width:.4rem}.insertion-gap[data-type=prepend].drag-target:not(.disabled),.insertion-gap[data-type=append].drag-target:not(.disabled){width:.85rem}.insertion-gap[data-type=prepend].drag-over,.insertion-gap[data-type=append].drag-over{width:2rem}}
