.gs-root{--gs-font: "Lexend", system-ui, sans-serif;--gs-font-info: "Source Serif 4", Georgia, serif;--gs-accent: #24837B;--gs-accent-dark: #1A6B64;--gs-accent-light: #DDF1E4;--gs-accent-faint: #EEF8F2;--gs-bg: #FFFCF0;--gs-surface: #FFFFFF;--gs-border: #E6E4D9;--gs-paper-dim: #F2F0E5;--gs-paper-deep: #E6E4D9;--gs-ink: #1C1B1A;--gs-ink-muted: #6F6E69;--gs-ink-faint: #878580;--gs-ink-ghost: #B7B5AC;font-family:var(--gs-font);color:var(--gs-ink);background:var(--gs-bg)}.player-register{max-width:600px;margin:0 auto;padding:0 .5rem}.game-title{font-size:1.35rem;font-weight:700;color:var(--gs-ink);text-align:center;padding:.75rem 0 .15rem;letter-spacing:-.02em}.game-subtitle{text-align:center;font-size:.78rem;color:var(--gs-ink-faint);margin-bottom:1rem}.category-scroller{margin-bottom:1.25rem;margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-scroller::-webkit-scrollbar{display:none}.category-row{display:flex;gap:.5rem;padding-right:2rem}.category-row.single-tile{padding-right:0;justify-content:center;margin-bottom:1.25rem}.category-tile{flex:0 0 auto;width:80px;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .25rem .5rem;border-radius:14px;border:2px solid transparent;background:var(--gs-surface);cursor:pointer;transition:all .15s ease;font-family:var(--gs-font)}.category-tile:hover{border-color:var(--gs-border)}.category-tile.selected{border-color:var(--gs-accent);background:var(--gs-accent-faint)}.category-icon{width:40px;height:40px;border-radius:10px;background:var(--gs-accent-faint);display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1;color:var(--gs-accent)}.category-tile.selected .category-icon{background:var(--gs-accent-light)}.category-label{font-size:.6rem;font-weight:500;color:var(--gs-ink-muted);text-align:center;line-height:1.2}.category-tile.selected .category-label{color:var(--gs-accent-dark);font-weight:600}.game-shell{background:var(--gs-surface);border-radius:20px;border:1px solid var(--gs-border);display:flex;flex-direction:column;height:min(65vh,460px);position:relative;overflow:hidden}.shell-status{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-bottom:1px solid var(--gs-border)}.progress-group{display:flex;align-items:center;gap:.6rem}.progress-dots{display:flex;gap:4px;align-items:center}.progress-dot{width:7px;height:7px;border-radius:50%;background:var(--gs-border);transition:background .2s ease}.progress-dot.active{background:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-faint)}.progress-dot.done{background:var(--gs-accent);opacity:.4}.progress-count{font-size:.65rem;font-weight:500;color:var(--gs-ink-ghost)}.shell-content{flex:1 1 auto;display:flex;align-items:center;justify-content:center;overflow:visible;padding:.75rem}.shell-controls{flex:0 0 auto;padding:.5rem .6rem .6rem;border-top:1px solid var(--gs-border)}.control-row{display:flex;gap:.5rem}.btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font-family:var(--gs-font);border:none;border-radius:14px;cursor:pointer;transition:all .15s ease;min-height:60px;padding:.4rem .5rem}.btn-icon{width:28px;height:28px;flex-shrink:0}.btn-label{font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.btn-primary{background:var(--gs-accent);color:#fff;box-shadow:0 2px 8px #1a6b6433;flex:1.3}.btn-primary:hover{background:var(--gs-accent-dark)}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:var(--gs-accent-faint);color:var(--gs-accent)}.btn-secondary:hover{background:var(--gs-accent-light)}.btn-secondary:active{transform:scale(.97)}.btn-secondary.demo-pulse{background:var(--gs-accent-light);transform:scale(1.03)}.play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#fffcf080;backdrop-filter:blur(2px);z-index:10;transition:opacity .3s ease}.play-overlay.hidden{opacity:0;pointer-events:none}.play-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-top:-4rem;padding:1.5rem 2rem 1.75rem;border-radius:20px;border:1px solid var(--gs-border);background:var(--gs-surface);box-shadow:0 4px 24px #0000000f}.difficulty-picker{display:flex;align-items:stretch;justify-content:center;gap:.75rem}.difficulty-tile{width:88px;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem .5rem;border-radius:14px;border:2px solid var(--gs-border);background:var(--gs-surface);cursor:pointer;transition:all .15s ease;font-family:var(--gs-font)}.difficulty-tile:hover{border-color:var(--gs-border)}.difficulty-tile.selected{border-color:var(--gs-accent);background:var(--gs-accent-faint);box-shadow:0 2px 12px #24837b26}.difficulty-icon{font-size:1.15rem;line-height:1;height:24px;display:flex;align-items:center;justify-content:center}.difficulty-tile-label{font-size:.6rem;font-weight:500;color:var(--gs-ink-muted)}.difficulty-tile.selected .difficulty-tile-label{color:var(--gs-accent-dark);font-weight:600}.play-overlay-btn{display:flex;align-items:center;gap:.65rem;background:var(--gs-accent);color:#fff;border:none;font-family:var(--gs-font);font-weight:600;font-size:1.2rem;padding:1rem 2.5rem;border-radius:100px;cursor:pointer;box-shadow:0 4px 24px #24837b4d,0 0 0 4px #24837b1a;transition:all .2s ease}.play-overlay-btn:hover{background:var(--gs-accent-dark);transform:scale(1.03);box-shadow:0 6px 32px #24837b66,0 0 0 6px #24837b1f}.play-overlay-btn svg{width:28px;height:28px;fill:currentColor}.round-celebration{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:#fffcf0eb;z-index:10;opacity:0;pointer-events:none;transition:opacity .3s ease}.round-celebration.visible{opacity:1;pointer-events:auto}.round-celebration-text{font-family:var(--gs-font);font-weight:700;font-size:1.3rem;color:var(--gs-accent)}.register-divide{max-width:1200px;margin:1.75rem auto 0;padding:0 1.5rem}.register-divide-inner{display:flex;align-items:center;gap:1rem;padding:.75rem 0}.register-divide-line{flex:1;height:1px;background:var(--gs-paper-deep)}.register-divide-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--gs-ink-ghost);white-space:nowrap}.info-register{background:var(--gs-paper-dim);padding:3rem 1.5rem 4rem}.info-register-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.5rem}.info-col-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.info-col-header svg{width:20px;height:20px;color:var(--gs-accent);flex-shrink:0}.info-col-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--gs-ink-muted)}.info-register h2{font-family:var(--gs-font-info);font-weight:600;font-size:1.2rem;color:var(--gs-ink);margin-bottom:.75rem;line-height:1.3}.info-register p{font-size:.85rem;line-height:1.7;color:var(--gs-ink-muted);margin-bottom:1rem}.info-list{list-style:none;padding:0;margin:.75rem 0 0}.info-list li{font-size:.85rem;line-height:1.6;color:var(--gs-ink-muted);padding-left:1.5rem;position:relative;margin-bottom:.5rem}.info-list li:before{content:"";position:absolute;left:0;top:.45rem;width:14px;height:14px;border-radius:50%;background:var(--gs-accent);opacity:.15}.info-list li:after{content:"✓";position:absolute;left:2px;top:.25rem;font-size:.7rem;font-weight:700;color:var(--gs-accent)}.info-quote{font-family:var(--gs-font-info);font-style:italic;font-size:.95rem;line-height:1.5;color:var(--gs-ink);margin-bottom:1rem;padding-left:1rem;border-left:2px solid var(--gs-accent);opacity:.85}.tip-card{background:var(--gs-surface);border-radius:12px;padding:1.25rem 1.5rem;margin-top:1rem}.tip-card p{margin-bottom:.5rem;font-size:.85rem;color:var(--gs-ink-muted);line-height:1.6}.tip-card p:last-child{margin-bottom:0}@media (max-width: 640px){.player-register{padding:0 .25rem}.game-title{font-size:1.2rem;padding:.5rem 0 .1rem}.game-subtitle{margin-bottom:.75rem}.category-scroller{margin-left:-.25rem;margin-right:-.25rem;padding-left:.25rem}.category-tile{width:72px;padding:.5rem .2rem .4rem;border-radius:12px}.category-icon{width:36px;height:36px;border-radius:8px;font-size:1.15rem}.category-label{font-size:.55rem}.game-shell{border-radius:16px;height:min(62vh,420px)}.shell-controls{padding:.4rem .5rem .5rem}.btn{min-height:56px;border-radius:12px}.play-overlay-inner{padding:1.25rem 1.25rem 1.5rem;border-radius:16px}.difficulty-picker{gap:.5rem}.difficulty-tile{width:78px;padding:.5rem .3rem .4rem;border-radius:12px}.info-register{padding:2rem 1rem 3rem}.info-register-inner{grid-template-columns:1fr;gap:2rem}.register-divide{margin-top:1.25rem;padding:0 1rem}}.progress-dot.resetting{animation:gs-dot-reset .3s ease forwards}@keyframes gs-dot-reset{0%{transform:scale(1);background:var(--gs-accent);opacity:.4}50%{transform:scale(.3);opacity:0}to{transform:scale(1);background:var(--gs-border);opacity:1}}@media (prefers-reduced-motion: no-preference){.play-overlay-btn{animation:gs-pulse-glow 2.5s ease-in-out infinite}@keyframes gs-pulse-glow{0%,to{box-shadow:0 4px 24px #24837b4d,0 0 0 4px #24837b1a}50%{box-shadow:0 4px 32px #24837b73,0 0 0 8px #24837b14}}}.word-display{display:flex;justify-content:center;flex-wrap:nowrap}.letter-block{background:var(--gs-accent);color:#fff;font-family:var(--gs-font);font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;box-shadow:0 3px 0 var(--gs-accent-dark),0 4px 12px #1a6b641f;flex-shrink:1;min-width:0}.letter-block:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--gs-accent-dark),0 8px 20px #1a6b642e}.letter-block:active{transform:translateY(1px);background:var(--gs-accent-dark);box-shadow:0 1px 0 var(--gs-accent-dark),0 2px 4px #1a6b641a}.letter-block.tapped{background:var(--gs-accent-dark);transform:scale(.95)}.letter-block.demo-highlight{background:var(--gs-accent-dark);transform:translateY(-2px) scale(1.05);box-shadow:0 6px 0 var(--gs-accent-dark),0 10px 24px #1a6b6440}.word-display.exiting .letter-block{animation:rtw-block-exit .25s ease forwards!important}@media (prefers-reduced-motion: no-preference){.letter-block{animation:rtw-block-enter .35s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes rtw-block-enter{0%{opacity:0;transform:translateY(12px) scale(.92)}}@keyframes rtw-block-exit{to{opacity:0;transform:translateY(-10px) scale(.9)}}}
