.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.auth-modal{background:#fff;border-radius:12px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a;animation:slideUp .3s ease;position:relative}.auth-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:32px;cursor:pointer;color:#999;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{color:#333}.auth-modal-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-modal-back{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:4px 8px;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}.auth-modal-back:hover{color:#1a1a1a}.auth-modal h2{margin:0;font-size:24px;font-weight:700;color:#1a1a1a}.auth-notice{background:#e8f5e9;color:#2e7d32;padding:12px;border-radius:8px;font-size:13px;margin-bottom:16px;border-left:4px solid #2e7d32}.form-group{margin-bottom:16px;display:flex;flex-direction:column}.form-group label{font-size:14px;font-weight:600;margin-bottom:6px;color:#333}.form-group input{padding:12px;border:2px solid #e5e5e5;border-radius:8px;font-size:16px;font-family:inherit;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#4a9d6e;box-shadow:0 0 0 3px #4a9d6e1a}.auth-error{background:#fee;color:#c00;padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px}.auth-submit{width:100%;padding:12px;background:#4a9d6e;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.auth-submit:hover:not(:disabled){background:#3d8059}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{text-align:center;font-size:14px;color:#666;margin-top:16px}.auth-toggle button{background:none;border:none;color:#4a9d6e;cursor:pointer;font-weight:600;text-decoration:underline;font-size:14px}.auth-toggle button:hover{color:#3d8059}.google-signin-btn{width:100%;padding:12px;background:#fff;color:#333;border:2px solid #e5e5e5;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;margin-bottom:16px}.google-signin-btn:hover:not(:disabled){background:#f8f8f8;border-color:#4a9d6e;box-shadow:0 2px 8px #4a9d6e26}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#4285f4}.auth-divider{text-align:center;font-size:12px;color:#999;margin-bottom:16px;position:relative;margin-top:-8px}.ftue-veil{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9998;animation:fadeIn .3s ease-out}.ftue-container{position:relative;background:#fff;border-radius:16px;width:90%;max-width:648px;aspect-ratio:4 / 3.9;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ftue-progress{height:4px;background:#e5e5e5;width:100%}.ftue-progress-bar{height:100%;background:#333;transition:width .4s ease-out}.ftue-slide{flex:1;overflow:hidden;padding:24px 28px;display:flex;flex-direction:column;justify-content:center;gap:16px;animation:fadeIn .5s ease-out .1s both;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.ftue-footer{padding:16px 32px 20px;display:flex;justify-content:center}.ftue-slide-welcome{text-align:center}.ftue-icon{margin-bottom:24px}.ftue-icon img{width:80px;height:80px;border-radius:16px;box-shadow:0 4px 12px #0000001a;animation:popIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.ftue-slide-welcome h1{font-size:28px;font-weight:700;margin:12px 0 4px;color:#1a1a1a}.ftue-tagline{font-size:14px;color:#666;margin-bottom:28px;font-weight:500}.ftue-auth-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.ftue-disclaimer{font-size:12px;color:#999;margin-top:12px}.ftue-btn{padding:12px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.ftue-btn-primary{background:#1a1a1a;color:#fff}.ftue-btn-primary:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.ftue-btn-secondary{background:#f0f0f0;color:#1a1a1a}.ftue-btn-secondary:hover{background:#e0e0e0;transform:translateY(-2px)}.ftue-btn-tertiary{background:transparent;color:#999;border:none;font-size:14px;font-weight:500;padding:8px 12px}.ftue-btn-tertiary:hover{color:#666;text-decoration:underline}.ftue-btn-large{padding:14px 28px;font-size:18px;width:100%}.ftue-btn-text{background:none;border:none;color:#00a896;font-size:14px;cursor:pointer;padding:8px 0;text-decoration:underline}.ftue-btn-text:hover{color:#07c}.ftue-slide h2{font-size:22px;font-weight:700;margin:0 0 8px;color:#1a1a1a;letter-spacing:-.3px}.ftue-slide-objective{text-align:center}.ftue-slide-objective h2{margin-bottom:12px}.ftue-objective-box{background:linear-gradient(135deg,#e6f3ff,#fff5e6);padding:28px 20px;border-radius:12px;border:1px solid rgba(0,153,255,.1);margin:12px 0}.ftue-objective-title{font-size:14px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.ftue-objective-text{font-size:26px;font-weight:700;color:#1a1a1a;margin:4px 0;letter-spacing:-.3px}.ftue-objective-subtext{font-size:14px;color:#666;margin-top:12px}.ftue-slide-daily-puzzle{text-align:center}.ftue-puzzle-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:16px 0}.ftue-puzzle-day{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background:#f9f9f9;border-radius:8px;border:1px solid #f0f0f0}.ftue-day-label{font-size:12px;font-weight:600;color:#666}.ftue-letter-count{font-size:24px;font-weight:700;color:#00a896}.ftue-slide-hook{text-align:center}.ftue-hook-content{background:linear-gradient(135deg,#e6f3ff,#fff5e6);padding:24px 20px;border-radius:12px;border:1px solid rgba(0,153,255,.1);margin:12px 0}.ftue-hook-title{font-size:18px;font-weight:700;color:#1a1a1a;margin-bottom:12px}.ftue-hook-text{font-size:14px;color:#666;line-height:1.6}.ftue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.ftue-grid-visual{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.ftue-tile{aspect-ratio:1;border-radius:8px;border:2px solid #e5e5e5;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.ftue-tile-empty{background:#faf9f7}.ftue-tile-hit{background:#6ec34d;color:#fff;border-color:#6ec34d}.ftue-tile-near{background:#d4a747;color:#fff;border-color:#d4a747}.ftue-tile-miss{background:#999;color:#fff;border-color:#999}.ftue-slide-hook h2{font-size:24px;margin-bottom:8px;color:#1a1a1a}.ftue-instruction{font-size:14px;color:#666;margin-bottom:16px}.ftue-next-btn{background:none;border:none;font-size:28px;cursor:pointer;padding:8px;display:block;margin:0 auto;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.ftue-slide-rules{text-align:left}.ftue-slide-rules h2{font-size:24px;margin-bottom:20px;text-align:center;color:#1a1a1a}.ftue-rule-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;padding:8px;border-radius:6px;transition:background .2s ease}.ftue-rule-item:hover{background:#f9f9f9}.ftue-rule-tile{width:56px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff;flex-shrink:0}.ftue-rule-item strong{display:block;font-size:16px;margin-bottom:4px;color:#1a1a1a}.ftue-rule-item p{font-size:14px;color:#666;margin:0}.ftue-slide-practice{text-align:center}.ftue-slide-practice h2{font-size:24px;margin-bottom:8px;color:#1a1a1a}.ftue-subtitle{font-size:14px;color:#666;margin-bottom:24px}.ftue-grid-interactive{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:24px}.ftue-guess-input{padding:12px;border:2px solid #e5e5e5;border-radius:8px;font-size:18px;font-weight:700;text-align:center;text-transform:uppercase;transition:all .2s ease}.ftue-guess-input:focus{outline:none;border-color:#00a896;box-shadow:0 0 0 3px #0099ff1a}.ftue-hint{font-size:13px;color:#999;margin-top:16px}.ftue-slide-feedback{text-align:center}.ftue-slide-feedback h2{font-size:24px;margin-bottom:24px;color:#1a1a1a}.ftue-result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:24px}.ftue-result-tile{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;animation:flipIn .6s ease-out}@keyframes flipIn{0%{transform:rotateX(90deg);opacity:0}to{transform:rotateX(0);opacity:1}}.ftue-explanation{text-align:left;background:#fafafa;padding:14px;border-radius:8px;border:1px solid #f0f0f0;margin-bottom:16px}.ftue-explanation p{font-size:14px;color:#333;margin:8px 0;line-height:1.5}.ftue-explanation strong{color:#1a1a1a;font-weight:600}.ftue-slide-complexity{text-align:center}.ftue-slide-complexity h2{font-size:24px;margin-bottom:24px;color:#1a1a1a}.ftue-feature{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;text-align:left;padding:12px;border-radius:8px;transition:all .2s ease}.ftue-feature:hover{background:#f9f9f9}.ftue-feature-icon,.ftue-streak-visual{font-size:32px;flex-shrink:0}.ftue-streak-visual{display:flex;align-items:center;gap:8px;font-size:28px}.ftue-streak-fire{display:block;font-size:40px}.ftue-streak-number{font-size:28px;font-weight:700;color:#00a896}.ftue-feature h3{font-size:16px;font-weight:600;margin:0 0 4px;color:#1a1a1a}.ftue-feature p{font-size:13px;color:#666;margin:0}.ftue-slide-play{text-align:center}.ftue-slide-play h2{font-size:24px;margin-bottom:8px;color:#1a1a1a}.ftue-today-info{display:flex;gap:16px;justify-content:center;align-items:center;margin:28px 0;padding:16px;background:linear-gradient(135deg,#f0f8ff,#fff9f0);border-radius:12px}.ftue-day-badge{font-size:14px;font-weight:600;color:#00a896}.ftue-challenge-size{font-size:18px;font-weight:700;color:#1a1a1a;padding:8px 12px;background:#fff;border-radius:6px;box-shadow:0 2px 4px #0000000d}.ftue-reminder{text-align:left;background:#fafafa;padding:14px;border-radius:8px;border:1px solid #f0f0f0;margin-bottom:16px}.ftue-reminder p{font-size:14px;color:#333;margin:8px 0;line-height:1.6}.ftue-slide-score{text-align:center}.ftue-score-list{margin:28px 0}.ftue-score-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;text-align:left;padding:12px;border-radius:8px;transition:all .2s ease}.ftue-score-item:hover{background:#f9f9f9}.ftue-score-icon{font-size:28px;flex-shrink:0;min-width:40px}.ftue-score-item strong{display:block;font-size:15px;margin-bottom:4px;color:#1a1a1a}.ftue-score-item p{font-size:13px;color:#666;margin:0}.ftue-slide-groups{text-align:center}.ftue-groups-content{margin:28px 0}.ftue-groups-text{font-size:15px;color:#666;margin-bottom:24px;line-height:1.6}.ftue-leaderboard-preview{background:#fafafa;border-radius:8px;padding:14px;margin-bottom:12px;border:1px solid #f0f0f0}.ftue-leaderboard-entry{display:grid;grid-template-columns:40px 1fr 80px;align-items:center;gap:16px;padding:12px 0;font-size:14px;border-bottom:1px solid #e5e5e5}.ftue-leaderboard-entry:last-child{border-bottom:none}.ftue-rank{font-weight:700;color:#00a896}.ftue-name{text-align:left;font-weight:500;color:#1a1a1a}.ftue-score{text-align:right;font-weight:600;color:#1a1a1a}.ftue-groups-note{font-size:12px;color:#999;font-style:italic}.ftue-slide-colors{text-align:center}.ftue-color-guide{margin:28px 0}.ftue-color-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;text-align:left;padding:8px;border-radius:6px;transition:background .2s ease}.ftue-color-item:hover{background:#f9f9f9}.ftue-color-box{width:48px;height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}.ftue-color-item strong{display:block;font-size:15px;margin-bottom:4px;color:#1a1a1a}.ftue-color-item p{font-size:13px;color:#666;margin:0}.ftue-slide-tips{text-align:center}.ftue-tips-list{margin:28px 0}.ftue-tip-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;text-align:left;padding:12px;background:#fafafa;border-radius:8px;border:1px solid #f0f0f0;transition:all .2s ease}.ftue-tip-item:hover{background:#f0f0f0;border-color:#e0e0e0}.ftue-tip-icon{font-size:20px;flex-shrink:0;min-width:28px}.ftue-tip-item p{font-size:14px;color:#333;margin:0;line-height:1.5}.ftue-slide-signin{text-align:center}.ftue-slide-signin h2{margin-bottom:12px;font-size:26px}.ftue-signin-benefits{background:linear-gradient(135deg,#e6f3ff,#fff5e6);padding:16px 18px;border-radius:12px;border:1px solid rgba(0,153,255,.1);margin:12px 0;text-align:left}.ftue-signin-intro{font-size:13px;font-weight:600;color:#1a1a1a;margin-bottom:12px}.ftue-benefits-list{list-style:none;padding:0;margin:0}.ftue-benefits-list li{font-size:13px;color:#333;margin-bottom:8px;padding-left:20px;position:relative;line-height:1.4}.ftue-benefits-list li:before{content:"✓";position:absolute;left:0;font-weight:700;color:#6ec34d}.ftue-auth-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.ftue-slide-features{text-align:center}.ftue-button-preview{margin:16px 0;display:flex;flex-direction:column;align-items:center;gap:8px}.ftue-button-preview .btn{font-size:16px;padding:8px 32px;height:auto;min-height:44px;min-width:200px;max-width:300px;--nudge-power-color: #3a3d42}.ftue-preview-label{font-size:12px;color:#999;margin:0}.ftue-feature-intro{font-size:14px;color:#666;margin-bottom:16px;font-weight:500}.ftue-feature-box{background:linear-gradient(135deg,#e6f3ff,#fff5e6);padding:18px;border-radius:12px;border:1px solid rgba(0,153,255,.1);margin:12px 0;display:flex;gap:14px;align-items:flex-start}.ftue-feature-icon-large{font-size:48px;flex-shrink:0;line-height:1;width:48px;height:48px;color:inherit}.ftue-feature-content{text-align:left}.ftue-feature-content h3{font-size:18px;font-weight:600;margin:0 0 8px;color:#1a1a1a}.ftue-feature-content p{font-size:14px;color:#666;margin:8px 0;line-height:1.5}.ftue-feature-note{font-size:13px;color:#999;font-style:italic}.ftue-powerup-examples{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.ftue-powerup-examples span{background:#fff;padding:6px 12px;border-radius:6px;font-size:13px;color:#333}.ftue-feature-cta{font-size:12px;color:#999;margin-top:12px;margin-bottom:12px;font-style:italic}.ftue-slide-final{text-align:center}.ftue-slide-final h2{font-size:28px;margin-bottom:24px;color:#1a1a1a}.ftue-celebration{margin-bottom:28px}.ftue-confetti{font-size:64px;animation:celebrate 1s ease-out}@keyframes celebrate{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.ftue-back-btn{position:absolute;top:16px;left:16px;background:transparent;border:none;font-size:24px;cursor:pointer;padding:8px;transition:all .2s ease;opacity:.6;z-index:10}.ftue-back-btn:hover{opacity:1;transform:translate(-4px)}.ftue-skip-btn{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:14px;font-weight:500;color:#999;cursor:pointer;padding:8px 12px;transition:all .2s ease;z-index:10}.ftue-skip-btn:hover{color:#666;text-decoration:underline}@keyframes nudgeBounceAWide{0%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:ease-in}4%{transform:translateY(6%) scale(1.53,.9);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:linear}8%{transform:translateY(-148.8%) scale(1.73,1.6217) translate(.143em);animation-timing-function:linear}14%{transform:translateY(-246.2%) scale(1.87,2.0753) translate(-.143em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;animation-timing-function:linear}20%{transform:translateY(-245.9%) scale(1.87,2.0739) translate(.107em);animation-timing-function:linear}26%{transform:translateY(-230%) scale(2) translate(.357em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052}29%{transform:translateY(-230%) scale(2) translate(-.25em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}32%{transform:translateY(-230%) scale(2) translate(.143em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}35%{transform:translateY(-230%) scale(2) translate(-.071em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}38%{transform:translateY(-230%) scale(2) translate(.036em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}41%{transform:translateY(-230%) scale(2) translate(0);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}44%{transform:translateY(-180.9%) scale(1.8,1.7404) translate(-.143em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}47%{transform:translateY(-67.1%) scale(1.6,1.1396) translate(.107em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}50%{transform:translateY(-18%) scale(1.53,.88);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 .286em .714em #00000029}54%{transform:translateY(0) scale(1.53,.82);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}58%{transform:translateY(-6%) scale(1.28,1.1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}62%{transform:translateY(0) scale(1.4,.93);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}66%{transform:translateY(-2%) scale(1.32,1.03);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}70%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}to{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}}@keyframes nudgeBounceBWide{0%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:ease-in}4%{transform:translateY(6%) scale(1.53,.9);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:linear}8%{transform:translateY(-148.8%) scale(1.73,1.6217) translate(.143em);animation-timing-function:linear}14%{transform:translateY(-246.2%) scale(1.87,2.0753) translate(-.143em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;animation-timing-function:linear}20%{transform:translateY(-245.9%) scale(1.87,2.0739) translate(.107em);animation-timing-function:linear}26%{transform:translateY(-230%) scale(2) translate(.357em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052}29%{transform:translateY(-230%) scale(2) translate(-.25em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}32%{transform:translateY(-230%) scale(2) translate(.143em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}35%{transform:translateY(-230%) scale(2) translate(-.071em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}38%{transform:translateY(-230%) scale(2) translate(.036em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}41%{transform:translateY(-230%) scale(2) translate(0);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}44%{transform:translateY(-180.9%) scale(1.8,1.7404) translate(-.143em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}47%{transform:translateY(-67.1%) scale(1.6,1.1396) translate(.107em);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}50%{transform:translateY(-18%) scale(1.53,.88);background:var(--nudge-power-color);border-color:var(--nudge-power-color);color:#fff;box-shadow:0 .286em .714em #00000029}54%{transform:translateY(0) scale(1.53,.82);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}58%{transform:translateY(-6%) scale(1.28,1.1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}62%{transform:translateY(0) scale(1.4,.93);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}66%{transform:translateY(-2%) scale(1.32,1.03);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}70%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}to{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}}@keyframes nudgeContentAWide{0%{transform:scale(1)}4%{transform:scale(.926,1.111);animation-timing-function:linear}8%{transform:scaleX(1.05);animation-timing-function:linear}14%{transform:scaleX(1.289);animation-timing-function:linear}20%{transform:scaleX(1.288);animation-timing-function:linear}26%{transform:scaleX(1.25)}41%{transform:scaleX(1.25);animation-timing-function:linear}44%{transform:scaleX(1.11);animation-timing-function:linear}47%{transform:scaleX(.762);animation-timing-function:linear}50%{transform:scale(.909,1.136)}54%{transform:scale(.87,1.22)}58%{transform:scale(1.042,.909)}62%{transform:scale(.952,1.075)}66%{transform:scale(1.01,.971)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes nudgeContentBWide{0%{transform:scale(1)}4%{transform:scale(.926,1.111);animation-timing-function:linear}8%{transform:scaleX(1.05);animation-timing-function:linear}14%{transform:scaleX(1.289);animation-timing-function:linear}20%{transform:scaleX(1.288);animation-timing-function:linear}26%{transform:scaleX(1.25)}41%{transform:scaleX(1.25);animation-timing-function:linear}44%{transform:scaleX(1.11);animation-timing-function:linear}47%{transform:scaleX(.762);animation-timing-function:linear}50%{transform:scale(.909,1.136)}54%{transform:scale(.87,1.22)}58%{transform:scale(1.042,.909)}62%{transform:scale(.952,1.075)}66%{transform:scale(1.01,.971)}70%{transform:scale(1)}to{transform:scale(1)}}.ftue-button-preview .btn.nudge-a{animation:nudgeBounceAWide 1.94s cubic-bezier(.34,1.56,.64,1) 1}.ftue-button-preview .btn.nudge-b{animation:nudgeBounceBWide 1.94s cubic-bezier(.34,1.56,.64,1) 1}.ftue-button-preview .btn.nudge-a .action-btn-content{animation:nudgeContentAWide 1.94s cubic-bezier(.34,1.56,.64,1) 1}.ftue-button-preview .btn.nudge-b .action-btn-content{animation:nudgeContentBWide 1.94s cubic-bezier(.34,1.56,.64,1) 1}@media (max-width: 600px){.ftue-container{width:95%;max-height:100vh;border-radius:12px;aspect-ratio:4 / 5.4}.ftue-slide{padding:24px 16px}.ftue-icon img{width:64px;height:64px}.ftue-slide-welcome h1{font-size:24px}.ftue-slide-hook h2,.ftue-slide-rules h2,.ftue-slide-practice h2,.ftue-slide-feedback h2,.ftue-slide-complexity h2,.ftue-slide-play h2{font-size:20px}.ftue-grid-visual{grid-template-columns:repeat(2,1fr)}.ftue-result-grid,.ftue-grid-interactive{grid-template-columns:repeat(5,1fr)}}.hint-signup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.hint-signup-modal{background:#fff;border-radius:12px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a;animation:slideUp .3s ease;position:relative}.hint-signup-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:32px;cursor:pointer;color:#999;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.hint-signup-close:hover{color:#333}.hint-signup-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.hint-signup-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.hint-signup-icon svg{width:40px;height:40px;color:currentColor}.hint-signup-modal h2{margin:0;font-size:24px;font-weight:700;color:#1a1a1a}.hint-signup-message{font-size:15px;color:#666;margin:0 0 24px;line-height:1.5}.hint-signup-message strong{color:#1a1a1a;font-weight:600}.hint-signup-benefits{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.benefit-icon{color:#4a9d6e;font-weight:700;font-size:16px;flex-shrink:0}.hint-signup-actions{display:flex;flex-direction:column;gap:10px}.hint-signup-btn{padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.hint-signup-primary{background:#4a9d6e;color:#fff}.hint-signup-primary:hover{background:#3d8059}.hint-signup-secondary{background:#f0f0f0;color:#666}.hint-signup-secondary:hover{background:#e0e0e0;color:#333}.hint-request-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.hint-request-modal{background:#fff;border-radius:12px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a;animation:slideUp .3s ease;position:relative}.hint-request-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:32px;cursor:pointer;color:#999;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.hint-request-close:hover{color:#333}.hint-request-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.hint-request-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.hint-request-icon svg{width:40px;height:40px;color:currentColor}.hint-request-modal h2{margin:0;font-size:24px;font-weight:700;color:#1a1a1a}.hint-request-message{font-size:15px;color:#666;margin:0 0 20px;line-height:1.5}.hint-request-details{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.detail-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.detail-label{color:#999;font-weight:500}.detail-value{color:#333;font-weight:600}.hint-request-benefits{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.benefit-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#333}.benefit-icon{font-size:18px;flex-shrink:0}.hint-request-success{text-align:center;padding:20px 0}.hint-request-success p{margin:0;font-size:18px;font-weight:600;color:#4a9d6e}.hint-request-success-text{font-size:14px!important;color:#666!important;margin-top:8px!important;font-weight:400!important}.hint-request-error{background:#fee;border:1px solid #fcc;border-radius:8px;padding:12px;color:#c33;font-size:14px;margin-bottom:16px;text-align:center}.hint-request-actions{display:flex;flex-direction:column;gap:10px}.hint-request-btn{padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.hint-request-primary{background:#4a9d6e;color:#fff}.hint-request-primary:hover:not(:disabled){background:#3d8059}.hint-request-primary:disabled{opacity:.6;cursor:not-allowed}.hint-request-secondary{background:#f0f0f0;color:#666}.hint-request-secondary:hover:not(:disabled){background:#e0e0e0;color:#333}.hint-request-secondary:disabled{opacity:.6;cursor:not-allowed}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--bg: #faf9f7;--ink: #1a1a1a;--muted: #8a8a8a;--line: #d8d5d0;--tile: #ffffff;--hit: #37C876;--near: #DCCC1E;--miss: #a8a5a0;--key: #e8e5e0;--accent: #1a1a1a;--key-commit: #3d3a35}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;font-family:ui-sans-serif,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);overscroll-behavior:none;touch-action:manipulation}body{line-height:1.5}#root{display:flex;flex-direction:column;align-items:center;height:100dvh;width:100%;max-width:720px;margin:0 auto;padding:max(1vmin,env(safe-area-inset-top)) clamp(12px,3.2vw,20px) max(1vmin,env(safe-area-inset-bottom));transition:background .6s ease}.app-shell{display:flex;flex-direction:column;align-items:center;flex:1;width:100%;min-height:0;background:var(--bg);position:relative}.app-shell>.board-wrap{width:100%;max-width:var(--board-width, 100%);margin-left:auto;margin-right:auto;container-type:inline-size}.app-shell>.header,.app-shell>.keyboard,.app-shell>.action-bar{width:100%;margin-left:auto;margin-right:auto;container-type:inline-size}.app-shell.forced-portrait{position:fixed;top:50%;left:50%;width:100dvh;height:100dvw;transform-origin:center center;overflow:hidden}.app-shell.forced-portrait-ccw{padding:max(1vmin,env(safe-area-inset-left)) max(clamp(12px,3.2vmin,20px),env(safe-area-inset-top)) max(1vmin,env(safe-area-inset-right)) max(clamp(12px,3.2vmin,20px),env(safe-area-inset-bottom))}.app-shell.forced-portrait-cw{padding:max(1vmin,env(safe-area-inset-right)) max(clamp(12px,3.2vmin,20px),env(safe-area-inset-bottom)) max(1vmin,env(safe-area-inset-left)) max(clamp(12px,3.2vmin,20px),env(safe-area-inset-top))}.header{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:4px 0 10px}.hamburger-btn{flex:0 0 auto;display:flex;flex-direction:column;justify-content:space-between;padding:5px 0 4px;background:transparent;border:none;cursor:pointer;opacity:.32;transition:opacity .15s ease;transform:scale(.9)}.hamburger-btn:active,.hamburger-btn:hover{opacity:.65}.hamburger-btn span{display:block;width:100%;height:10px;background:#b3b3b3;border-radius:999px;flex:0 0 auto}.menu-list{display:flex;flex-direction:column;gap:8px}.menu-item{display:flex;align-items:center;gap:12px;text-align:left;background:var(--key);border:none;border-radius:14px;padding:13px 14px;font-size:15px;font-weight:600;font-family:inherit;color:var(--ink);cursor:pointer;transition:background .15s ease}.menu-item:active{background:var(--line)}.menu-item-icon{flex:0 0 auto;display:flex;width:22px;height:22px;color:var(--ink)}.menu-item-icon svg{width:100%;height:100%}.menu-item-label{flex:1 1 auto}.menu-item-count{flex:0 0 auto;font-size:11px;font-weight:600;color:var(--muted)}.menu-item-chevron{flex:0 0 auto;display:flex;width:16px;height:16px;color:var(--muted)}.menu-item-chevron svg{width:100%;height:100%}.settings-note{margin-top:16px;font-size:11px;line-height:1.5;color:var(--muted)}.settings-about{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.settings-about-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.settings-about-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);padding:3px 0}.settings-about-row span:last-child{color:var(--ink);font-weight:600}.settings-section{margin-top:16px;display:flex;flex-direction:column;gap:8px}.settings-action-btn{padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease;font-family:inherit}.settings-action-btn:hover{opacity:.9}.settings-action-btn:active{opacity:.8}.powerup-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.powerup-header-row h2{margin:0}.powerup-coins{margin-bottom:0;font-size:13px;font-weight:600;color:var(--muted)}.powerup-quest-banner{margin-bottom:14px;padding:8px 12px;border-radius:10px;background:var(--accent-soft, rgba(255, 200, 80, .18));color:var(--ink);font-size:12px;font-weight:600;line-height:1.4}.powerup-list{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto;margin:0 0 20px}.powerup-section-label{margin:4px 0 0;padding:0 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.powerup-section-label:first-child{margin-top:0}.powerup-inventory{margin:8px auto 12px;padding:8px;background:var(--key);border-radius:12px}.powerup-inventory-label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;text-transform:uppercase}.powerup-pocket-grid{display:flex;flex-direction:column;gap:5px}.powerup-pocket-row{display:flex;gap:5px;justify-content:center}.powerup-pocket-row:last-child{justify-content:center}.powerup-pocket-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:55px;height:72px;background:#fff;border:2px solid var(--line);border-radius:8px;padding:6px;box-sizing:border-box;transition:all .2s ease}.powerup-pocket-slot.owned{cursor:pointer}.powerup-pocket-slot.owned:hover{border-color:#fbbc05;box-shadow:0 2px 8px #fbbc0533}.powerup-pocket-slot.pulsing{animation:pocketPulse .4s ease-out}@keyframes pocketPulse{0%{transform:scale(1);box-shadow:0 0 #fbbc0599}50%{transform:scale(1.05)}to{transform:scale(1);box-shadow:0 0 0 8px #fbbc0500}}.powerup-pocket-slot.empty{border-style:dotted;border-color:#e8e5e2}.powerup-pocket-slot.empty .powerup-icon-svg{opacity:.15}.powerup-pocket-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.powerup-pocket-slot .powerup-icon-svg{width:40px;height:40px}.powerup-pocket-badge{position:absolute;top:-12px;right:-12px;min-width:24px;height:24px;padding:0 4px;box-sizing:border-box;border-radius:999px;border:3px solid #fff;background:#e0577a;color:#fff;font-size:12px;font-weight:900;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000026;z-index:10}.powerup-pocket-label{font-size:8px;font-weight:600;color:var(--ink);text-align:center;line-height:1.1}.powerup-pocket-slot.empty .powerup-pocket-label{color:var(--muted)}.powerup-buy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.powerup-buy-popup{background:#fff;border-radius:16px;padding:20px;width:280px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 8px 24px #00000026;position:relative}.powerup-buy-header{position:absolute;top:16px;right:16px}.powerup-buy-coins{font-size:16px;font-weight:700;color:var(--ink)}.powerup-buy-icon{margin-top:8px}.powerup-buy-name{font-size:18px;font-weight:700;color:var(--ink);text-align:center}.powerup-buy-cost{font-size:14px;color:var(--dim);text-align:center}.powerup-buy-unavailable{font-size:13px;color:var(--muted);text-align:center;line-height:1.4;margin-top:-4px}.powerup-buy-unavailable.is-pulsing{animation:unavailablePulse 1.6s linear}@keyframes unavailablePulse{0%{transform:scale(1);color:var(--muted);animation-timing-function:cubic-bezier(.34,1.35,.64,1)}18%{transform:scale(1.22);color:var(--ink);animation-timing-function:cubic-bezier(.16,.62,.3,1)}62%{transform:scale(1.03);color:var(--ink);animation-timing-function:ease-out}to{transform:scale(1);color:var(--muted)}}.solid-btn.is-buzzing{animation:buttonBuzz .42s ease-in-out}@keyframes buttonBuzz{0%{transform:translate(0) rotate(0)}8%{transform:translate(-4.2px,-1.4px) rotate(-.13deg)}15%{transform:translate(-6.5px) rotate(-.2deg)}23%{transform:translate(-1.5px,1.4px) rotate(-.05deg)}32%{transform:translate(6.5px) rotate(.2deg)}40%{transform:translate(2.5px,-1px) rotate(.08deg)}49%{transform:translate(-4.5px) rotate(-.13deg)}57%{transform:translate(-1.5px,1px) rotate(-.05deg)}66%{transform:translate(3px) rotate(.09deg)}74%{transform:translate(1px,-.55px) rotate(.03deg)}83%{transform:translate(-1.5px) rotate(-.04deg)}91%{transform:translate(-.5px,.3px) rotate(-.01deg)}to{transform:translate(0) rotate(0)}}@media (prefers-reduced-motion: reduce){.solid-btn.is-buzzing,.powerup-buy-unavailable.is-pulsing{animation:none}}.powerup-buy-popup .solid-btn{width:100%;margin-top:8px}.powerup-buy-popup .btn{width:100%}.powerup-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--key);border-radius:12px}.powerup-row-empty{opacity:1}.powerup-icon-wrap{position:relative;flex:0 0 auto}.powerup-icon-svg{flex:0 0 auto}.powerup-badge{position:absolute;bottom:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;border:2px solid var(--key);background:var(--ink);color:#fff;font-size:10px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}.powerup-badge-zero{background:var(--card, #fff);color:var(--muted);border-color:var(--line)}.powerup-info{flex:1 1 auto;min-width:0}.powerup-name{font-size:13px;font-weight:700;color:var(--ink)}.powerup-desc{margin-top:4px;font-size:13px;line-height:1.5;color:#4a4a4a;font-weight:500}.powerup-usage{margin-top:4px;font-size:10px;font-weight:600;color:var(--muted)}.powerup-carousel-wrapper{position:relative;display:flex;align-items:center}.powerup-carousel-scroll-hint{position:absolute;top:0;bottom:0;width:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;opacity:.35;color:var(--ink);cursor:pointer;transition:opacity .2s ease;z-index:10}.powerup-carousel-scroll-hint:hover{opacity:.65}.powerup-carousel-scroll-hint:active{opacity:.85}.powerup-carousel-scroll-hint svg{width:24px;height:24px}.powerup-carousel-scroll-hint-left{left:0;background:linear-gradient(to right,rgba(255,255,255,.4),transparent)}.powerup-carousel-scroll-hint-right{right:0;background:linear-gradient(to left,rgba(255,255,255,.4),transparent)}.powerup-carousel-container{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:0 18px 8px;touch-action:none;will-change:scroll-position;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16%,#000 84%,transparent 100%);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:grab;flex:1}.powerup-carousel-container.is-dragging{cursor:grabbing}.powerup-carousel-container::-webkit-scrollbar{display:none!important}.powerup-carousel-container::-webkit-scrollbar-track{display:none!important}.powerup-carousel-container::-webkit-scrollbar-thumb{display:none!important}.powerup-carousel-item{flex:0 0 auto;width:176px;opacity:1;will-change:opacity,transform}.powerup-carousel-tile{width:100%;height:111px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;background:#f5f3f0;border-radius:12px;border:1px solid #b8b3aa;box-shadow:0 2px 8px #0000001a;overflow:hidden;cursor:pointer;font-family:inherit;transition:opacity .2s ease,background-color .2s ease}.powerup-carousel-tile:not(:disabled):hover{opacity:.9;background-color:#ede8e3}.powerup-carousel-tile:disabled{cursor:not-allowed;opacity:.6}.powerup-carousel-icon{flex:0 0 auto;min-height:0}.powerup-carousel-info{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;flex:0 0 auto;width:100%;min-height:0;justify-content:center}.powerup-carousel-name{font-size:12px;font-weight:700;color:var(--ink);line-height:1.15}.powerup-carousel-desc{font-size:9.5px;color:var(--muted);line-height:1.25;max-width:100%;word-break:break-word;padding:0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.powerup-carousel-cost{font-size:10px;color:var(--muted);font-weight:600;margin-top:2px}.powerup-carousel-container .powerup-row{width:100%}.powerup-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:5px;width:84px}.powerup-actions .btn{width:100%;min-width:0;padding:8px 6px;font-size:11px;font-weight:600;border:1px solid transparent;transition:all .2s ease}.powerup-btn-buy{background:#37c876;color:#fff;border-color:#2ab365}.powerup-btn-buy:hover:not(:disabled){background:#2ab365;transform:translateY(-1px);box-shadow:0 2px 8px #37c8764d}.powerup-btn-insufficient{background:#f5f5f5;color:#d9534f;border-color:#d9534f}.powerup-btn-insufficient:disabled{cursor:not-allowed;opacity:1}.powerup-btn-full{background:#e8e5e0;color:#999;cursor:not-allowed}.header-left{display:flex;flex-direction:column;align-items:stretch;min-width:0;flex:0 1 auto}.day-name{font-size:clamp(19px,8.8cqw,40px);font-weight:900;text-transform:uppercase;letter-spacing:.02em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{margin-top:4px;font-size:clamp(10px,3.2cqw,12px);font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-left .header-subtitle{text-align-last:justify}.header-right-group{display:flex;align-items:stretch;gap:8px;min-width:0;flex-shrink:1}.header-right{min-width:0;flex-shrink:1;text-align:left;display:flex;flex-direction:column;align-items:stretch}.clock{font-size:clamp(19px,8.8cqw,40px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;transition:color .2s ease}.clock.frozen{color:#4a90d9}.divider{width:calc(100% - 12px);height:1px;background:var(--line)}.board-wrap{flex:0 1 auto;padding:clamp(6px,1.2vh,14px) 0;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;position:relative}.board{display:flex;flex-direction:column;gap:6px;-webkit-user-select:none;user-select:none}.row{display:flex;gap:5px;justify-content:center}.tile{display:flex;align-items:center;justify-content:center;background:var(--tile);border:clamp(1px,.15vw,2px) solid var(--line);border-radius:clamp(6px,2vw,16px);font-weight:700;text-transform:uppercase;transition:transform .09s ease,background .25s ease,border-color .25s ease,color .25s ease}.tile.filled{border-color:var(--muted);animation:pop .12s ease}.tile.hit{background:var(--hit);border-color:var(--hit);color:#fff}.tile.near{background:var(--near);border-color:var(--near);color:#fff}.tile.miss{background:var(--miss);border-color:var(--miss);color:#fff}.tile.hint-fill{background:var(--bg);color:#b3afa9;border:2px dotted #c8c3bc}@keyframes tileTypePop{0%{transform:scale(1) translateY(0)}40%{transform:scale(1.064) translateY(-2.2px)}to{transform:scale(1) translateY(0)}}.tile.just-typed{animation:tileTypePop .28s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion: reduce){.tile.just-typed{animation:none}}@keyframes hintBounce{0%{transform:translateY(0) scale(1)}15%{transform:translateY(-18px) scale(1.08)}30%{transform:translateY(0) scale(.95)}45%{transform:translateY(-12px) scale(1.06)}60%{transform:translateY(0) scale(.98)}75%{transform:translateY(-6px) scale(1.03)}to{transform:translateY(0) scale(1)}}.tile.hint-bouncing{animation:hintBounce .65s cubic-bezier(.68,-.55,.265,1.55) forwards}.tile.hint-mismatch{background:#fffbf5;border-color:#fbbc05;border-width:2px;animation:hintMismatchPulse 1.8s ease-in-out infinite}@keyframes hintMismatchPulse{0%,to{box-shadow:0 0 #fbbc0533}50%{box-shadow:0 0 24px 12px #fbbc0580}}@keyframes pop{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes tileFlip{0%,42%{background:var(--tile);border-color:var(--muted);color:var(--ink);transform:scaleX(1)}50%{background:var(--tile);border-color:var(--muted);color:var(--ink);transform:scaleX(.04)}50.01%{background:var(--reveal-bg, var(--miss));border-color:var(--reveal-bg, var(--miss));color:#fff;transform:scaleX(.04)}to{transform:scaleX(1)}}@keyframes tileBounceNear{0%{transform:translateY(0) scaleX(1) scaleY(1)}28%{transform:translateY(-6px) scaleX(.928) scaleY(1.112)}52%{transform:translateY(0) scaleX(1.176) scaleY(.84)}76%{transform:translateY(-3px) scaleX(.968) scaleY(1.048)}to{transform:translateY(0) scaleX(1) scaleY(1)}}@keyframes tileBounceHit{0%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0);filter:brightness(1)}18%{transform:translateY(-13px) scaleX(.872) scaleY(1.208) rotate(-4deg);filter:brightness(1)}40%{transform:translateY(2px) scaleX(1.272) scaleY(.792) rotate(2.5deg);filter:brightness(1.35)}58%{transform:translateY(-4px) scaleX(.944) scaleY(1.08) rotate(-1.5deg);filter:brightness(1.05)}74%{transform:translateY(-1px) scaleX(1.08) scaleY(.944) rotate(.8deg);filter:brightness(1)}88%{transform:translateY(-1px) scaleX(.984) scaleY(1.016) rotate(0)}to{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}}@keyframes tileBuzz{0%{transform:translate(0) rotate(0)}14%{transform:translate(calc(var(--buzz) * -1)) rotate(calc(var(--buzz-rot) * -1))}30%{transform:translate(var(--buzz)) rotate(var(--buzz-rot))}46%{transform:translate(calc(var(--buzz) * -.68)) rotate(calc(var(--buzz-rot) * -.6))}62%{transform:translate(calc(var(--buzz) * .46)) rotate(calc(var(--buzz-rot) * .36))}80%{transform:translate(calc(var(--buzz) * -.22)) rotate(calc(var(--buzz-rot) * -.16))}to{transform:translate(0) rotate(0)}}.board-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:65;max-width:min(90vw,480px);padding:18px 36px;border-radius:999px;background:#1a1a1aeb;color:#fff;font-size:26px;font-weight:500;text-align:center;line-height:1.4;pointer-events:none;animation:fadeIn .15s ease both}.keyboard{width:100%;display:flex;flex-direction:column;gap:7px;padding:6px 0 0;-webkit-user-select:none;user-select:none}.key-row{display:flex;gap:3px;justify-content:center}.key{flex:1;height:clamp(46px,6.6vh,60px);min-width:0;display:flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--key);border:none;border-radius:clamp(6px,2vw,16px);padding-left:max(8px,2vw);padding-right:max(8px,2vw);font-size:clamp(11px,4cqw,16px);font-weight:600;color:var(--ink);font-family:inherit;cursor:pointer;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .06s ease;position:relative}.key:active{transform:scale(.94)}.key.eliminated{background:#f0ede8;color:#ccc;opacity:.7}.key-eliminate-clone{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--key);border-radius:inherit;color:var(--ink);pointer-events:none}.key.wide{flex:1.9;font-size:clamp(9px,3.7cqw,18px);letter-spacing:0}.key.narrow{flex:1.3}.key.enter{background:var(--key-commit);color:#f3f1ec}.key.enter:active{background:#4c4841}.key.glyph{display:flex;align-items:center;justify-content:center}.key.glyph svg{width:clamp(16px,7cqw,26px);height:clamp(16px,7cqw,26px)}.key.hit{background:var(--hit);color:#fff}.key.near{background:var(--near);color:#fff}.key.miss{background:var(--miss);color:#fff}.action-bar{display:flex;gap:6px;width:100%;flex-wrap:wrap;justify-content:center;overflow:visible;padding:clamp(12px,3vw,20px) clamp(20px,6vw,60px)}.action-btn-hint,.action-btn-power{display:flex;align-items:center;justify-content:center}.action-btn-content{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.action-btn-icon{flex:0 0 auto;width:1.1em;height:1.1em}.action-btn-power .action-btn-icon{transform:rotate(10deg)}.out-of-hints{opacity:.5;color:#999}.btn.action-btn-playagain{background:var(--hit);border-color:var(--hit);color:#fff}.btn.action-btn-playagain:active{background:var(--hit);opacity:.85}@keyframes nudgeBounceA{0%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:ease-in}4%{transform:translateY(6%) scale(1.15,.9);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:linear}8%{transform:translateY(-148.8%) scale(1.3,1.6217) translate(.143em);animation-timing-function:linear}14%{transform:translateY(-246.2%) scale(1.4,2.0753) translate(-.143em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;animation-timing-function:linear}20%{transform:translateY(-245.9%) scale(1.4,2.0739) translate(.107em);animation-timing-function:linear}26%{transform:translateY(-230%) scale(1.5,2) translate(.357em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052}29%{transform:translateY(-230%) scale(1.5,2) translate(-.25em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}32%{transform:translateY(-230%) scale(1.5,2) translate(.143em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}35%{transform:translateY(-230%) scale(1.5,2) translate(-.071em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}38%{transform:translateY(-230%) scale(1.5,2) translate(.036em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}41%{transform:translateY(-230%) scale(1.5,2) translate(0);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}44%{transform:translateY(-180.9%) scale(1.35,1.7404) translate(-.143em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}47%{transform:translateY(-67.1%) scale(1.2,1.1396) translate(.107em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}50%{transform:translateY(-18%) scale(1.15,.88);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 .286em .714em #00000029}54%{transform:translateY(0) scale(1.15,.82);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}58%{transform:translateY(-6%) scale(.96,1.1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}62%{transform:translateY(0) scale(1.05,.93);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}66%{transform:translateY(-2%) scale(.99,1.03);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}70%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}to{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}}@keyframes nudgeBounceB{0%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:ease-in}4%{transform:translateY(6%) scale(1.15,.9);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none;animation-timing-function:linear}8%{transform:translateY(-148.8%) scale(1.3,1.6217) translate(.143em);animation-timing-function:linear}14%{transform:translateY(-246.2%) scale(1.4,2.0753) translate(-.143em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;animation-timing-function:linear}20%{transform:translateY(-245.9%) scale(1.4,2.0739) translate(.107em);animation-timing-function:linear}26%{transform:translateY(-230%) scale(1.5,2) translate(.357em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052}29%{transform:translateY(-230%) scale(1.5,2) translate(-.25em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}32%{transform:translateY(-230%) scale(1.5,2) translate(.143em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}35%{transform:translateY(-230%) scale(1.5,2) translate(-.071em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}38%{transform:translateY(-230%) scale(1.5,2) translate(.036em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}41%{transform:translateY(-230%) scale(1.5,2) translate(0);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}44%{transform:translateY(-180.9%) scale(1.35,1.7404) translate(-.143em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}47%{transform:translateY(-67.1%) scale(1.2,1.1396) translate(.107em);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 1.429em 2.143em #00000052;animation-timing-function:linear}50%{transform:translateY(-18%) scale(1.15,.88);background:var(--nudge-color);border-color:var(--nudge-color);color:#fff;box-shadow:0 .286em .714em #00000029}54%{transform:translateY(0) scale(1.15,.82);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}58%{transform:translateY(-6%) scale(.96,1.1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}62%{transform:translateY(0) scale(1.05,.93);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}66%{transform:translateY(-2%) scale(.99,1.03);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}70%{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}to{transform:translateY(0) scale(1);background:transparent;border-color:var(--line);color:var(--ink);box-shadow:none}}.nudge-a,.nudge-b{transform-origin:bottom center;position:relative;z-index:1;pointer-events:none}.btn.nudge-a,.btn.nudge-b{overflow:visible}.nudge-a{animation:nudgeBounceA 1.94s cubic-bezier(.34,1.56,.64,1) 1}.nudge-b{animation:nudgeBounceB 1.94s cubic-bezier(.34,1.56,.64,1) 1}@keyframes nudgeContentA{0%{transform:scale(1)}4%{transform:scale(.926,1.111);animation-timing-function:linear}8%{transform:scaleX(1.3);animation-timing-function:linear}14%{transform:scaleX(1.5);animation-timing-function:linear}20%{transform:scaleX(1.5);animation-timing-function:linear}26%{transform:scaleX(1.48)}41%{transform:scaleX(1.48);animation-timing-function:linear}44%{transform:scaleX(1.35);animation-timing-function:linear}47%{transform:scaleX(1.015);animation-timing-function:linear}50%{transform:scale(.909,1.136)}54%{transform:scale(.87,1.22)}58%{transform:scale(1.042,.909)}62%{transform:scale(.952,1.075)}66%{transform:scale(1.01,.971)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes nudgeContentB{0%{transform:scale(1)}4%{transform:scale(.926,1.111);animation-timing-function:linear}8%{transform:scaleX(1.3);animation-timing-function:linear}14%{transform:scaleX(1.5);animation-timing-function:linear}20%{transform:scaleX(1.5);animation-timing-function:linear}26%{transform:scaleX(1.48)}41%{transform:scaleX(1.48);animation-timing-function:linear}44%{transform:scaleX(1.35);animation-timing-function:linear}47%{transform:scaleX(1.015);animation-timing-function:linear}50%{transform:scale(.909,1.136)}54%{transform:scale(.87,1.22)}58%{transform:scale(1.042,.909)}62%{transform:scale(.952,1.075)}66%{transform:scale(1.01,.971)}70%{transform:scale(1)}to{transform:scale(1)}}.nudge-a .action-btn-content{animation:nudgeContentA 1.94s cubic-bezier(.34,1.56,.64,1) 1}.nudge-b .action-btn-content{animation:nudgeContentB 1.94s cubic-bezier(.34,1.56,.64,1) 1}.nudge-hint{--nudge-color: #524d47}.nudge-power{--nudge-color: #3a3d42}@media (prefers-reduced-motion: reduce){.nudge-a,.nudge-b{animation:none}}.btn{flex:1;min-width:clamp(44px,13cqw,90px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:clamp(6px,2cqw,12px) clamp(3px,1.5cqw,8px);background:transparent;border:1px solid var(--line);border-radius:clamp(6px,2vw,16px);font-size:clamp(9px,3cqw,13px);font-weight:500;font-family:inherit;color:var(--ink);cursor:pointer;transition:background .15s ease;transform-origin:center center;will-change:transform}.btn:active{background:#0000000d}.action-bar .btn{font-size:clamp(10px,3.2cqw,13px);font-weight:700;min-width:clamp(70px,16cqw,110px)}.btn:disabled{opacity:.35;cursor:not-allowed}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141459;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.modal-card{background:#fff;border-radius:12px;padding:22px;width:100%;max-width:360px;min-height:min(420px,70vh);display:flex;flex-direction:column;box-shadow:0 18px 50px #0000002e;animation:rise .22s ease;max-height:80vh;overflow-y:auto;overscroll-behavior:contain}.modal-card.game-summary{height:min(560px,70vh);max-height:min(560px,70vh)}.modal-card>*:last-child{margin-top:auto;padding-top:20px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-card h2{margin:0 0 16px;font-size:15px;font-weight:400;letter-spacing:.16em;text-transform:uppercase}.welcome-modal h1{margin:0 0 20px;font-size:28px;font-weight:900;text-align:center}.welcome-section{margin-bottom:20px}.welcome-section h2{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.welcome-section p{margin:0 0 8px;font-size:14px;line-height:1.5}.welcome-section ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.welcome-section li{margin-bottom:6px}.feedback-example{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:13px}.feedback-example .tile{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:700;color:#fff;font-size:16px}.feedback-example .tile.hit{background:var(--hit)}.feedback-example .tile.near{background:var(--near)}.feedback-example .tile.miss{background:var(--miss)}.welcome-buttons{display:flex;flex-direction:column;gap:10px;margin-top:20px}.welcome-buttons button{width:100%}@keyframes typewriter{0%{opacity:0;transform:translate(-8px)}5%{opacity:1;transform:translate(0)}95%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}.instruction-section{margin-bottom:18px;animation:typewriter 3s ease-out forwards;opacity:0}.how-to-play .instruction-section:nth-child(2){animation-delay:1s}.how-to-play .instruction-section:nth-child(3){animation-delay:4s}.how-to-play .instruction-section:nth-child(4){animation-delay:7s}.how-to-play .instruction-section:nth-child(5){animation-delay:10s}.instruction-section h3{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.instruction-section p{margin:0 0 8px;font-size:13px;line-height:1.5}.instruction-section ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.ftue-slide h2,.ftue-slide p,.ftue-slide li{animation:typewriter 3s ease-out forwards;opacity:0}.ftue-slide h2{animation-delay:.1s}.ftue-slide>*:nth-child(1) p,.ftue-slide>*:nth-child(2) p{animation-delay:.6s}.ftue-slide li:nth-child(1){animation-delay:.6s}.ftue-slide li:nth-child(2){animation-delay:1.4s}.ftue-slide li:nth-child(3){animation-delay:2.2s}.ftue-slide li:nth-child(4){animation-delay:3s}.ftue-slide li:nth-child(5){animation-delay:3.8s}.ftue-slide li:nth-child(6){animation-delay:4.6s}.ftue-slide li:nth-child(7){animation-delay:5.4s}.instruction-section li{margin-bottom:6px}.color-guide{display:flex;flex-direction:column;gap:12px}.guide-item{display:flex;gap:12px;align-items:flex-start}.guide-tile{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-weight:700;color:#fff;font-size:16px;flex-shrink:0}.guide-tile.hit{background:var(--hit)}.guide-tile.near{background:var(--near)}.guide-tile.miss{background:var(--miss)}.guide-item strong{display:block;font-size:13px;margin-bottom:4px}.guide-item p{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.big-num{font-size:26px;font-weight:300;font-variant-numeric:tabular-nums}.stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-top:3px}.lb-group-switch,.group-tabs-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.lb-group-pill{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;font-family:inherit;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}.lb-group-pill.active{border-color:var(--accent);color:#fff;background:var(--accent)}.group-add-actions{margin-bottom:14px}.invite-actions{display:flex;gap:6px;margin-top:8px}.invite-actions .btn{flex:1}.group-detail-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-detail-header .btn{flex:0 0 auto;padding:5px 12px}.group-detail-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.favorite-star{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;font-size:18px;line-height:1;color:var(--muted);cursor:pointer}.favorite-star.favorited{color:var(--near)}.icon-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.icon-choice{width:38px;height:38px;font-size:18px;display:flex;align-items:center;justify-content:center;background:var(--key);border:2px solid transparent;border-radius:10px;cursor:pointer}.icon-choice.selected{border-color:var(--accent);background:#0000000f}.danger-btn{color:#b3462c;border-color:#b3462c}.lb-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--line)}.lb-tab{flex:1;padding:8px 4px;border:none;background:none;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.lb-tab.active{color:var(--ink);border-bottom-color:var(--ink)}.lb-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}.lb-row{display:flex;align-items:center;gap:10px;padding:9px 6px;border-radius:8px}.lb-row-me{background:#4a9d6e17}.lb-rank{width:20px;flex-shrink:0;font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.lb-name{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-score{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--hit)}.lb-row-unplayed{opacity:.55}.lb-row-unplayed .lb-score{font-size:11px;font-weight:600;font-style:italic;color:var(--muted)}.game-summary{width:100%;display:flex;flex-direction:column;align-items:center;padding:4px 0}.game-summary-headline{margin:2px 0 8px;font-size:20px;font-weight:800;text-align:center}.game-summary-headline.won{color:var(--hit)}.game-summary-headline.lost{color:var(--muted)}.game-summary-answer-tiles{display:flex;justify-content:center;gap:4px;margin-bottom:10px}.word-reveal-tile.game-summary-tile{opacity:1;width:30px;height:30px;font-size:15px}.game-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:100%;margin-bottom:4px}.game-summary-stat{text-align:center}.game-summary-stat .big-num{font-weight:700}.play-again-btn{width:min(100%,280px);margin:4px 0 8px;padding:12px 16px;background:var(--accent);color:#fff;border:none;border-radius:16px;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:inherit;cursor:pointer;box-shadow:0 8px 20px #00000024;transition:opacity .2s ease,transform .1s ease,background .2s ease}.game-summary>.solid-btn{width:min(100%,280px);align-self:center;background:transparent;color:var(--line);border-color:var(--line);opacity:.7}.game-summary>.solid-btn:hover{opacity:.85}.game-summary>.solid-btn:active{opacity:.65}.play-again-btn.won{background:#000}.play-again-btn:hover{opacity:.92}.play-again-btn:active{opacity:.85;transform:scale(.98)}.game-summary-rewards{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--ink);text-align:center}.game-summary-chest{margin-top:4px;font-size:12px;font-weight:600;color:var(--near)}.game-summary-fav-preview{margin:0 0 6px;padding:6px 12px;background:var(--key);border:none;border-radius:999px;font-size:11px;font-weight:600;color:var(--ink);cursor:pointer}@keyframes gameSummaryPopIn{0%{transform:scale(.7) translateY(40px);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes gameSummaryPopInHeadline{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes gameSummaryTileBounceIn{0%{transform:scale(0) rotateY(-90deg);opacity:0}50%{transform:scale(1.1) rotateY(10deg)}to{transform:scale(1) rotateY(0);opacity:1}}@keyframes gameSummaryStatLand{0%{transform:translateY(-30px);opacity:0}70%{transform:translateY(4px)}to{transform:translateY(0);opacity:1}}@keyframes gameSummaryStatLandBig{0%{transform:scale(.8) translateY(-40px);opacity:0}60%{transform:scale(1.12) translateY(6px)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes gameSummaryCoinBurst{0%{opacity:1}to{opacity:0}}@keyframes gameSummaryCoinSparkFly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc(cos(var(--angle)) * var(--dist)),calc(sin(var(--angle)) * var(--dist))) scale(.3);opacity:0}}@keyframes gameSummaryFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.game-summary.game-summary-win-pop{animation:gameSummaryPopIn .5s cubic-bezier(.34,1.56,.64,1)}.game-summary-headline.game-summary-pop-in{animation:gameSummaryPopInHeadline .4s cubic-bezier(.34,1.56,.64,1)}.game-summary-tile-bounce-in{animation:gameSummaryTileBounceIn .5s cubic-bezier(.34,1.56,.64,1) both}.game-summary-stat{opacity:0}.game-summary-stat.revealed{opacity:1}.game-summary-stat.game-summary-stat-land{animation:gameSummaryStatLand .6s cubic-bezier(.34,1.2,.64,1) both}.game-summary-stat.game-summary-stat-land-big{animation:gameSummaryStatLandBig .7s cubic-bezier(.34,1.3,.64,1) both}.game-summary-coins{margin:8px 0 6px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:16px;font-weight:700;color:var(--ink);position:relative;opacity:0;transform:scale(.8)}.game-summary-coins.revealed{animation:gameSummaryStatLandBig .8s cubic-bezier(.34,1.3,.64,1) forwards}.game-summary-coins-icon{font-size:24px}.game-summary-coins-num{font-size:32px;font-weight:800;color:var(--near)}.game-summary-coins-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.game-summary-coin-burst{position:absolute;width:100%;height:100%;top:0;left:0}.game-summary-coin-spark{position:absolute;width:8px;height:8px;background:var(--near);border-radius:50%;left:50%;top:50%;margin:-4px 0 0 -4px;animation:gameSummaryCoinSparkFly .8s ease-out both}.game-summary-fade-in{animation:gameSummaryFadeIn .5s ease-out both}.game-summary-coins .game-summary-chest{margin-top:0;font-size:11px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%);white-space:nowrap;animation:gameSummaryFadeIn .6s ease-out .4s both}.game-summary-secondary{display:flex;justify-content:space-between;gap:2px;width:100%;margin:2px 0 8px}.game-summary-secondary-btn{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0;background:none;border:none;padding:0;cursor:pointer;color:inherit;font-family:inherit}.game-summary-secondary-icon{width:36px;height:36px;border-radius:50%;background:var(--key);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .15s ease}.game-summary-secondary-icon svg{width:18px;height:18px}.game-summary-secondary-btn:hover .game-summary-secondary-icon,.game-summary-secondary-btn:active .game-summary-secondary-icon{background:var(--line)}.game-summary-secondary-label{font-size:9.5px;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.group-feed{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.group-feed-post{padding:8px 10px;border-radius:8px;background:#00000005}.group-feed-name{font-size:11px;font-weight:700;margin-bottom:4px}.group-feed-text{margin:0;font-family:inherit;font-size:11px;line-height:1.4;white-space:pre-wrap;color:var(--ink)}.badge-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:260px;overflow-y:auto;padding:10px 10px 4px;margin:0 -10px 16px}.badge-item{position:relative;border:1px solid var(--line);border-radius:8px;padding:10px 4px;text-align:center;transition:all .2s ease}.badge-item.earned{border-color:var(--near);background:#fdf8ee}.badge-item.locked{opacity:.3}.badge-sticker{position:absolute;top:-7px;right:-6px;min-width:22px;padding:2px 5px;border-radius:9px;background:var(--near);border:1.5px solid #fff;box-shadow:0 2px 5px #00000029;color:#fff;font-size:10px;font-weight:700;line-height:1.3;letter-spacing:.01em;font-variant-numeric:tabular-nums;transform:rotate(7deg)}.badge-emoji{font-size:20px;margin-bottom:4px}.badge-name{font-size:9px;margin-top:3px;font-weight:500}.solid-btn{width:100%;padding:11px;background:var(--accent);color:#fff;border:none;border-radius:14px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-family:inherit;cursor:pointer;transition:opacity .2s ease}.solid-btn:hover{opacity:.9}.solid-btn:active{opacity:.8}.solid-btn:disabled,.solid-btn.is-disabled{opacity:.4;cursor:not-allowed}.auth-field{display:block;margin-bottom:12px}.auth-field span{display:block;margin-bottom:5px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.auth-field input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-notice{margin:0 0 14px;padding:9px 11px;background:#00000009;border-radius:8px;font-size:11px;line-height:1.45;color:var(--muted)}.auth-notice-row{display:flex;align-items:center;gap:8px;margin:0 0 14px}.auth-notice-row .auth-notice{flex:1 1 auto;margin:0}.auth-notice-row .btn{flex:0 0 auto}.modal-back-link{display:inline-flex;align-items:center;margin-bottom:6px;padding:0;background:none;border:none;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer}.modal-back-link:active{color:var(--ink)}.auth-error{margin:0 0 12px;font-size:12px;line-height:1.4;color:#b4443a}.auth-alt{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.auth-alt .btn{flex:1 1 calc(50% - 4px)}.auth-switch{margin:14px 0 0;text-align:center;font-size:12px;color:var(--muted)}.auth-switch button{padding:0;border:none;background:none;font:inherit;color:var(--ink);text-decoration:underline;cursor:pointer}.auth-dismiss{width:100%;margin-top:14px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:16px;background:#00000005;border-radius:8px}.account-name{font-size:14px;font-weight:600;color:var(--ink)}.account-meta{margin-top:2px;font-size:11px;color:var(--muted)}.account-row .btn{flex:none;min-width:0;padding:7px 12px}.badge-ceremony{position:absolute;top:0;right:0;bottom:0;left:0;z-index:70;pointer-events:none}.badge-anchor{position:absolute;transform:translate(-50%,-50%)}.badge-award{position:relative;display:flex;flex-direction:column;align-items:center;padding:30px 34px 26px;border-radius:18px;background:#fff;box-shadow:0 24px 60px #0000002b;text-align:center}.badge-shock{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;border:2px solid var(--near);animation:badgeShock .62s cubic-bezier(.15,.7,.3,1) both}.badge-shock--late{border-color:var(--hit);animation-delay:.11s}.badge-award-emoji{font-size:54px;line-height:1;animation:badgeEmoji .7s cubic-bezier(.2,1.5,.4,1) 90ms both}.badge-award-name{margin-top:14px;font-size:17px;font-weight:600;letter-spacing:.02em;color:var(--ink);animation:badgeText .46s ease-out .17s both}.badge-award-desc{margin-top:5px;max-width:260px;font-size:12.5px;line-height:1.45;color:var(--muted);animation:badgeText .46s ease-out 225ms both}.badge-award-count{margin-top:14px;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--line);animation:badgeText .46s ease-out .28s both}@keyframes badgeDrop{0%{opacity:0;transform:translateY(-180px) scaleX(.86) scaleY(1.2)}16%{opacity:1;transform:translateY(0) scaleX(1.16) scaleY(.8)}24%{transform:translateY(-14px) scaleX(.97) scaleY(1.04)}32%{transform:translateY(0) scaleX(1) scaleY(1)}60%{opacity:1;transform:translateY(0) scaleX(1) scaleY(1)}82%{opacity:1;transform:translate(calc(var(--exit-x) * .55),calc(var(--exit-y) * .7 - 60px)) scale(.7) rotate(10deg)}to{opacity:0;transform:translate(var(--exit-x),var(--exit-y)) scale(.1) rotate(18deg)}}@keyframes badgeSlideLeft{0%{opacity:0;transform:translate(-120vw) rotate(-11deg)}20%{opacity:1;transform:translate(26px) rotate(4deg)}28%{transform:translate(-9px) rotate(-2deg)}36%{transform:translate(0) rotate(0)}60%{opacity:1;transform:translate(0) rotate(0)}82%{opacity:1;transform:translate(calc(var(--exit-x) * .55),calc(var(--exit-y) * .7 - 60px)) scale(.7) rotate(-10deg)}to{opacity:0;transform:translate(var(--exit-x),var(--exit-y)) scale(.1) rotate(-18deg)}}@keyframes badgeSlideRight{0%{opacity:0;transform:translate(120vw) rotate(11deg)}20%{opacity:1;transform:translate(-26px) rotate(-4deg)}28%{transform:translate(9px) rotate(2deg)}36%{transform:translate(0) rotate(0)}60%{opacity:1;transform:translate(0) rotate(0)}82%{opacity:1;transform:translate(calc(var(--exit-x) * .55),calc(var(--exit-y) * .7 - 60px)) scale(.7) rotate(10deg)}to{opacity:0;transform:translate(var(--exit-x),var(--exit-y)) scale(.1) rotate(18deg)}}@keyframes badgePunch{0%{opacity:0;transform:scale(.18) rotate(-14deg)}15%{opacity:1;transform:scale(1.2) rotate(5deg)}23%{transform:scale(.94) rotate(-2deg)}31%{transform:scale(1) rotate(0)}60%{opacity:1;transform:scale(1) rotate(0)}82%{opacity:1;transform:translate(calc(var(--exit-x) * .55),calc(var(--exit-y) * .7 - 60px)) scale(.7) rotate(10deg)}to{opacity:0;transform:translate(var(--exit-x),var(--exit-y)) scale(.1) rotate(18deg)}}@keyframes badgeSpring{0%{opacity:0;transform:translateY(150px) scaleX(1.14) scaleY(.84)}18%{opacity:1;transform:translateY(-20px) scaleX(.93) scaleY(1.12)}27%{transform:translateY(6px) scaleX(1.04) scaleY(.97)}35%{transform:translateY(0) scaleX(1) scaleY(1)}60%{opacity:1;transform:translateY(0) scaleX(1) scaleY(1)}82%{opacity:1;transform:translate(calc(var(--exit-x) * .55),calc(var(--exit-y) * .7 - 60px)) scale(.7) rotate(-10deg)}to{opacity:0;transform:translate(var(--exit-x),var(--exit-y)) scale(.1) rotate(-18deg)}}@keyframes badgeShock{0%{opacity:.6;transform:scale(.72)}to{opacity:0;transform:scale(1.9)}}@keyframes badgeEmoji{0%{opacity:0;transform:scale(0) rotate(-28deg)}60%{opacity:1;transform:scale(1.22) rotate(9deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes badgeText{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.badge-award,.badge-award-emoji,.badge-award-name,.badge-award-desc,.badge-award-count{animation:badgeText .3s ease-out both!important}.badge-shock{display:none}}.badge-toast{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;width:calc(100% - 24px);max-width:340px;pointer-events:none}.badge-pop{background:#fff;border:1.5px solid var(--near);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px #00000024;animation:drop .3s ease}@keyframes drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}.badge-emoji-pop{font-size:24px;flex-shrink:0}.badge-text-pop h3{margin:0;font-size:13px;font-weight:600}.badge-text-pop p{margin:2px 0 0;font-size:11px;color:var(--muted)}.word-reveal-inline{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:40;pointer-events:none;animation:fadeIn .3s ease both}.word-reveal-inner{pointer-events:auto;text-align:center}.word-reveal-label{margin-bottom:16px;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.word-reveal-tiles{display:flex;justify-content:center}.word-reveal-tile{display:flex;align-items:center;justify-content:center;background:var(--hit);border-radius:6px;color:#fff;font-weight:700;text-transform:uppercase;opacity:0}.word-reveal-dismiss{margin-top:22px;padding:9px 22px;border:1px solid var(--line);border-radius:6px;background:transparent;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);cursor:pointer;animation:fadeIn .3s ease both}@keyframes letterDrop{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:translateY(-62vh) translate(var(--drop-sway, 0px)) scaleX(.88) scaleY(1.2) rotate(calc(var(--drop-tilt, 0deg) * .6))}7%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:translateY(-58vh) translate(calc(var(--drop-sway, 0px) * .9)) scaleX(.88) scaleY(1.2) rotate(calc(var(--drop-tilt, 0deg) * .6))}58%{animation-timing-function:cubic-bezier(0,.6,.3,1);transform:translateY(0) translate(0) scaleX(.86) scaleY(1.22) rotate(0)}67%{animation-timing-function:cubic-bezier(.3,0,.15,1);transform:translateY(3px) translate(0) scaleX(1.26) scaleY(.78) rotate(calc(var(--drop-tilt, 0deg) * .5))}76%{animation-timing-function:cubic-bezier(.55,0,.85,.45);transform:translateY(-15px) translate(0) scaleX(.91) scaleY(1.13) rotate(calc(var(--drop-tilt, 0deg) * -.35))}86%{animation-timing-function:ease-out;transform:translateY(2px) translate(0) scaleX(1.07) scaleY(.95) rotate(0)}94%{animation-timing-function:ease-out;transform:translateY(-3px) translate(0) scaleX(.98) scaleY(1.02) rotate(0)}to{opacity:1;transform:translateY(0) translate(0) scaleX(1) scaleY(1) rotate(0)}}@keyframes tumblingTile{0%{opacity:1;transform:translateY(0) translate(0) rotate(0) rotateX(0) rotateY(0) scaleX(1) scaleY(1)}85%{opacity:1}to{opacity:0;transform:translateY(135vh) translate(var(--drift-x)) rotate(var(--rotation)) rotateX(var(--rot-x)) rotateY(var(--rot-y)) scaleX(.85) scaleY(1.08)}}@keyframes celebrationPop{0%{transform:translateY(0) scaleX(1) scaleY(1) rotate(0);animation-timing-function:cubic-bezier(.4,0,.6,1)}8%{transform:translateY(0) scaleX(1.08) scaleY(.86) rotate(0);animation-timing-function:cubic-bezier(.2,0,.1,1)}18%{transform:translateY(-14px) scaleX(.9) scaleY(1.16) rotate(calc(var(--lean) * -.4));animation-timing-function:cubic-bezier(.15,.6,.35,1)}34%{transform:translateY(-42px) scaleX(1) scaleY(1) rotate(var(--lean));animation-timing-function:cubic-bezier(.5,0,.85,.4)}48%{transform:translateY(-10px) scaleX(.95) scaleY(1.09) rotate(calc(var(--lean) * .3));animation-timing-function:cubic-bezier(.9,0,1,1)}56%{transform:translateY(0) scaleX(1.18) scaleY(.78) rotate(0);animation-timing-function:cubic-bezier(.15,.6,.35,1)}66%{transform:translateY(-8px) scaleX(.95) scaleY(1.1) rotate(calc(var(--lean) * -.3));animation-timing-function:cubic-bezier(.5,0,.85,.4)}76%{transform:translateY(-16px) scaleX(1) scaleY(1) rotate(calc(var(--lean) * .6));animation-timing-function:cubic-bezier(.9,0,1,1)}84%{transform:translateY(-6px) scaleX(.97) scaleY(1.06) rotate(calc(var(--lean) * .2));animation-timing-function:cubic-bezier(.2,0,.4,1)}90%{transform:translateY(0) scaleX(1.1) scaleY(.9) rotate(0);animation-timing-function:ease-out}96%{transform:translateY(-2px) scaleX(.99) scaleY(1.02) rotate(0);animation-timing-function:ease-out}to{transform:translateY(0) scaleX(1) scaleY(1) rotate(0)}}@keyframes celebrationFlash{0%,50%{filter:brightness(1)}56%{filter:brightness(1.22)}70%{filter:brightness(1)}90%{filter:brightness(1.1)}to{filter:brightness(1)}}.tile.celebrating{transform-origin:bottom center;will-change:transform}@media (prefers-reduced-motion: reduce){.tile.celebrating{animation:celebrationFlash .5s ease-out both!important}}.dev-panel{position:fixed;bottom:0;left:0;right:0;background:#000000e6;color:#0f0;padding:12px;font-family:monospace;font-size:12px;z-index:100;max-height:200px;overflow-y:auto}.dev-panel h3{margin:0 0 8px;font-size:12px}.dev-controls{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.dev-btn{padding:4px 8px;background:#0f0;color:#000;border:none;border-radius:3px;font-size:11px;font-family:monospace;font-weight:700;cursor:pointer}.dev-btn:active{opacity:.8}.dev-info{font-size:11px;line-height:1.4}.confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.cf-spread,.cf-gravity,.cf-sway{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.cf-piece{position:absolute}.cf-paper{border-radius:1px;will-change:transform}@keyframes cfReveal{0%{opacity:0}to{opacity:1}}@keyframes cfSpread{0%{transform:translate(0);animation-timing-function:cubic-bezier(.05,.7,.25,1)}to{transform:translate(var(--spread))}}@keyframes cfGravity{0%{transform:translateY(0);animation-timing-function:cubic-bezier(.1,.65,.35,1)}18%{transform:translateY(var(--rise));animation-timing-function:cubic-bezier(.55,0,.9,.75)}to{transform:translateY(var(--fall))}}@keyframes cfSway{0%{transform:translate(0)}28%{transform:translate(var(--sway))}55%{transform:translate(calc(var(--sway) * -.7))}78%{transform:translate(calc(var(--sway) * .45))}to{transform:translate(0)}}@keyframes cfSpin{0%{transform:rotateY(0) rotate(0)}to{transform:rotateY(var(--spin-y)) rotate(var(--spin-z))}}@keyframes cfFade{0%,82%{opacity:var(--depth-opacity)}to{opacity:0}}@keyframes cfRise{0%,20%{z-index:1}21%{z-index:9999}to{z-index:9999}}@media (prefers-reduced-motion: reduce){.confetti-container{display:none}}.cal-wrap{margin-top:24px;padding:16px;border-radius:8px;background:#00000005}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cal-nav-btn{padding:4px 10px;border:none;background:none;font-size:16px;color:var(--muted);cursor:pointer}.cal-nav-label{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.cal-weekday{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--muted)}.cal-grid{--cal-gap: 3px;display:grid;grid-template-columns:repeat(7,1fr);gap:var(--cal-gap);margin-bottom:14px}.cal-cell{position:relative;aspect-ratio:1}.cal-day{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;font-family:inherit;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;transition:background .2s ease,opacity .2s ease}.cal-day.unplayed{background:var(--line);color:var(--muted);opacity:.35;cursor:default}.cal-day.played{background:var(--hit);color:#fff;cursor:pointer}.cal-day:disabled{cursor:default}.cal-day.connect-left{border-top-left-radius:0;border-bottom-left-radius:0}.cal-day.connect-right{border-top-right-radius:0;border-bottom-right-radius:0}.cal-day.connect-right:after{content:"";position:absolute;top:0;right:calc(var(--cal-gap) * -1);width:var(--cal-gap);height:100%;background:var(--hit)}.cal-carry{position:absolute;width:6px;height:6px;background:var(--hit);pointer-events:none}.cal-carry-in{top:-2px;left:2px;border-radius:0 0 2px}.cal-carry-out{bottom:-2px;right:2px;border-radius:2px 0 0}.cal-day.today{box-shadow:0 0 0 2px var(--ink)}.cal-day.today.played{animation:calLive 2.2s ease-in-out infinite}@keyframes calLive{0%,to{box-shadow:0 0 0 2px var(--ink),0 0 0 2px #4a9d6e66}50%{box-shadow:0 0 0 2px var(--ink),0 0 0 6px #4a9d6e00}}@media (prefers-reduced-motion: reduce){.cal-day.today.played{animation:none}}.cal-badge-mark{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--near);border:1.5px solid #fff;box-shadow:0 1px 3px #0003;color:#fff;font-size:9px;font-weight:700;line-height:12px;text-align:center;pointer-events:none}.cal-legend{display:flex;gap:14px;font-size:10px;color:var(--muted)}.cal-legend-item{display:flex;align-items:center;gap:5px}.cal-legend-swatch{width:10px;height:10px;border-radius:2px;background:var(--line);opacity:.5}.cal-legend-swatch.played{background:var(--hit);opacity:1}.cal-legend-swatch.today{background:var(--line);opacity:1;box-shadow:0 0 0 2px var(--ink)}.day-detail{text-align:center}.day-detail-date{font-size:15px;font-weight:500;color:var(--ink)}.day-detail-day{margin-top:2px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.day-detail-result{margin-top:14px;font-size:13px;font-weight:600}.day-detail-result.won{color:var(--hit)}.day-detail-result.lost{color:var(--miss)}.day-detail-grid{display:inline-flex;flex-direction:column;gap:2px;margin-top:14px;font-size:18px;line-height:1}.day-detail-row{display:flex;gap:2px;justify-content:center}.day-detail-word{margin-top:14px;font-size:12px;color:var(--muted)}.day-detail-word strong{color:var(--ink);letter-spacing:.04em}.error-notification{position:fixed;top:12px;left:12px;right:12px;background:#fee;border:1px solid #fcc;border-radius:6px;padding:12px 16px;display:flex;gap:12px;align-items:flex-start;z-index:1000;box-shadow:0 2px 8px #0000001a;animation:slideDown .3s ease-out}.error-icon{font-size:20px;flex-shrink:0;color:#d32f2f}.error-content{flex:1;min-width:0}.error-title{font-weight:600;font-size:14px;color:#c62828;margin-bottom:2px}.error-message{font-size:12px;color:#b71c1c;line-height:1.4}.error-close{flex-shrink:0;background:none;border:none;font-size:20px;color:#d32f2f;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.error-close:hover{color:#c62828}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.sync-indicator{position:fixed;bottom:12px;right:12px;background:#fff8e1;border:1px solid #ffe082;border-radius:4px;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:12px;color:#f57f17;z-index:100;box-shadow:0 1px 4px #0000001a}.sync-dot{width:8px;height:8px;border-radius:50%;background:#f57f17;animation:pulse 2s ease-in-out infinite}.sync-text{font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:2000}.loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--line);border-top-color:var(--hit);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.landscape-blocker{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:10000;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.landscape-blocker-content{text-align:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));max-width:280px}.landscape-blocker-hint{margin-top:14px!important;font-size:13px!important;opacity:.62}.landscape-blocker-anim{position:relative;width:78px;height:78px;margin:0 auto 18px;color:var(--muted);opacity:.62}.landscape-blocker-anim svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.landscape-phone{animation:landscape-rotate-hint 2.8s ease-in-out infinite;transform-origin:50% 50%}.landscape-phone-body{fill:var(--muted)}.landscape-phone-screen{fill:var(--bg)}.landscape-phone-btn{fill:var(--muted)}.landscape-arrow{animation:landscape-arrow-hint 2.8s ease-in-out infinite}@keyframes landscape-rotate-hint{0%,12%{transform:rotate(var(--start-angle, 90deg))}45%,to{transform:rotate(0)}}@keyframes landscape-arrow-hint{0%,12%{opacity:1}45%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.landscape-phone,.landscape-arrow{animation:none}.landscape-arrow{opacity:0}}.landscape-blocker-content h1{font-size:24px;font-weight:700;margin:0 0 12px;color:var(--ink)}.landscape-blocker-content p{font-size:16px;color:var(--muted);margin:0;line-height:1.5}.game-summary-layers-wrapper{display:flex;flex-direction:column;gap:0;min-height:0;flex:1}.game-summary-persistent-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 -22px;padding:14px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.stat-item{text-align:center}.stat-num{font-size:13px;font-weight:700;color:var(--ink);line-height:1.2}.stat-label{font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}.game-summary-layers-container{display:flex;flex-direction:column;gap:0;min-height:280px;flex-shrink:0}.game-summary-layer-content{display:flex;flex-direction:column;gap:0;animation:fadeIn .2s ease;height:100%;min-height:280px}.layer-scroll-area{flex:1;display:flex;flex-direction:column;gap:16px;padding:0;min-height:0;overflow-y:auto}.game-summary-layer-header{font-size:14px;font-weight:600;text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.game-summary-hero-stat{text-align:center;margin:16px 0}.hero-stat-number{font-size:64px;font-weight:900;line-height:1;color:var(--ink);text-shadow:0 0 20px rgba(220,204,30,.3);animation:heroStatPulse 1.5s ease-in-out infinite}@keyframes heroStatPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.hero-stat-label{font-size:14px;color:var(--muted);margin-top:8px;font-weight:500}.game-summary-quick-stats{text-align:center;font-size:13px;color:var(--muted);display:flex;justify-content:center;gap:8px}.game-summary-answer-tiles.game-summary-answer-tiles-compact{gap:4px;margin-bottom:12px}.game-summary-answer-tiles.game-summary-answer-tiles-compact .word-reveal-tile{width:32px;height:32px;font-size:14px}.game-summary-section{padding:14px;background:var(--key);border-radius:10px;margin-bottom:8px}.game-summary-section-title{margin:0 0 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.game-summary-section-text{margin:0;font-size:13px;color:var(--ink);line-height:1.4}.game-summary-badge-progress{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.badge-circle{width:28px;height:28px;border-radius:50%;background:var(--bg);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--muted)}.badge-circle-active{background:var(--hit);border-color:var(--hit);color:#fff}.game-summary-milestone-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:8px}.milestone-progress{height:100%;background:var(--hit);border-radius:3px;animation:slideIn .6s ease-out}@keyframes slideIn{0%{width:0!important}}.game-summary-layer-buttons{display:flex;gap:10px;margin-top:12px}.game-summary-back-btn,.game-summary-next-btn,.game-summary-more-details-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease;font-family:inherit}.game-summary-back-btn{background:var(--key);color:var(--ink)}.game-summary-back-btn:active{background:var(--line)}.game-summary-next-btn,.game-summary-more-details-btn{background:var(--accent);color:#fff}.game-summary-next-btn:active,.game-summary-more-details-btn:active{opacity:.85}.game-summary-swipe-hint{text-align:center;font-size:12px;color:var(--muted);margin-top:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.leaderboard-header{margin-bottom:16px}.leaderboard-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.leaderboard-entry{display:grid;grid-template-columns:30px 1fr 50px;gap:12px;align-items:center;padding:10px 12px;background:var(--key);border-radius:8px;font-size:13px}.leaderboard-entry-user{background:linear-gradient(135deg,#05acb71a,#dccc1e0d);border:1px solid rgba(5,172,183,.2);font-weight:600}.leaderboard-rank{font-weight:700;color:var(--muted);font-size:11px}.leaderboard-info{min-width:0}.leaderboard-name{font-weight:600;color:var(--ink);margin-bottom:2px}.leaderboard-status{font-size:11px;color:var(--muted)}.leaderboard-time{text-align:right;font-weight:600;color:var(--ink);font-size:12px}.performance-section{margin-bottom:16px;padding:12px;background:var(--key);border-radius:8px}.performance-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.performance-row:last-child{margin-bottom:0}.performance-label{color:var(--muted);font-weight:500}.performance-value{color:var(--ink);font-weight:600}.powerup-item{font-size:13px;color:var(--ink);padding:8px 0;display:flex;align-items:center}.admin-dashboard{max-width:1400px;margin:0 auto;padding:20px;background:var(--bg);color:var(--ink);font-family:inherit}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--line)}.admin-header h1{margin:0;font-size:28px}.admin-header button{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:opacity .2s}.admin-header button:hover:not(:disabled){opacity:.8}.admin-header button:disabled{opacity:.5;cursor:not-allowed}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}.stat-card{background:var(--bg-secondary, rgba(255, 255, 255, .05));border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center}.stat-value{font-size:32px;font-weight:700;color:var(--accent);margin-bottom:8px}.stat-label{font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.admin-chart{background:var(--bg-secondary, rgba(255, 255, 255, .05));border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:30px}.admin-chart h2{margin:0 0 20px;font-size:18px}.admin-table{background:var(--bg-secondary, rgba(255, 255, 255, .05));border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:30px;overflow-x:auto}.admin-table h2{margin:0 0 20px;font-size:18px}.admin-table table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{background:#ffffff0d;padding:12px;text-align:left;border-bottom:2px solid var(--line);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.admin-table td{padding:12px;border-bottom:1px solid var(--line)}.admin-table tr:hover{background:#ffffff08}.admin-error{max-width:600px;margin:60px auto;padding:40px;background:#e74c3c1a;border:1px solid #E74C3C;border-radius:12px;text-align:center}.admin-error h2{color:#e74c3c;margin:0 0 16px}.admin-error p{color:var(--muted);margin:0}
