.auth-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:var(--space-xl);padding-top:calc(var(--space-xl) + var(--safe-area-top));padding-bottom:calc(var(--space-xl) + var(--safe-area-bottom));background:radial-gradient(ellipse at 20% 20%,rgba(212,165,116,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(45,90,74,.12) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(139,115,85,.08) 0%,transparent 70%),linear-gradient(180deg,#1a1f2e,#121a24,#0d1117)}.auth-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,transparent 0%,rgba(0,0,0,.15) 100%);pointer-events:none}.auth-screen:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(212,165,116,.06) 0%,transparent 60%);top:-150px;right:-150px;animation:floatGlow 12s ease-in-out infinite;pointer-events:none;filter:blur(40px)}@keyframes floatGlow{0%,to{transform:translate(0);opacity:.8}50%{transform:translate(-30px,30px);opacity:1}}.auth-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);z-index:1;width:100%;max-width:380px;animation:contentFadeIn .8s ease-out}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo{animation:logoFloat 4s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.logo-image{width:100px;height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3));animation:logoAppear .6s ease-out backwards}@keyframes logoAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.auth-header{text-align:center;animation:headerFadeIn .6s ease-out .15s backwards}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;color:#faf8f5;margin-bottom:var(--space-xs);letter-spacing:-.01em}.auth-tagline{font-size:.85rem;color:#faf8f580;font-weight:400;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-body)}.auth-card{width:100%;background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--space-xl);animation:cardFadeIn .6s ease-out .25s backwards;box-shadow:0 4px 6px #0000001a,0 20px 50px #00000040,inset 0 1px #ffffff0f;border:1px solid rgba(255,255,255,.05)}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-card-header{text-align:center;margin-bottom:var(--space-lg)}.auth-card-header h2{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.auth-card-header p{font-size:.9rem;color:var(--color-text-muted)}.auth-error{background:#c444441a;color:#e57373;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.85rem;margin-bottom:var(--space-md);text-align:center;border:1px solid rgba(196,68,68,.2)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.form-group input{width:100%;padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;color:var(--color-text);background:var(--color-bg-card);transition:all var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2d5a4a26;background:var(--color-bg)}.form-group input::placeholder{color:var(--color-text-light)}.auth-btn{width:100%;padding:var(--space-md);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:50px}.auth-btn.primary{background:var(--color-accent);color:#fff;border:none;margin-top:var(--space-sm)}.auth-btn.primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #2d5a4a59}.auth-btn.primary:active:not(:disabled){transform:translateY(0)}.auth-btn.primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn.google{background:var(--color-bg-card);color:var(--color-text);border:2px solid var(--color-border)}.auth-btn.google:hover:not(:disabled){background:var(--color-bg-warm);border-color:var(--color-text-light);transform:translateY(-2px)}.auth-btn.google:active:not(:disabled){transform:translateY(0)}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--color-text-light);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-switch{text-align:center;margin-top:var(--space-lg);font-size:.9rem;color:var(--color-text-muted)}.auth-switch button{background:none;border:none;color:var(--color-gold);font-weight:600;cursor:pointer;text-decoration:none;transition:color var(--transition-fast)}.auth-switch button:hover{color:#c9a227;text-decoration:underline;text-underline-offset:2px}@media(max-width:480px){.auth-screen{padding:var(--space-md);padding-top:calc(var(--space-lg) + var(--safe-area-top));padding-bottom:calc(var(--space-lg) + var(--safe-area-bottom));justify-content:flex-start;padding-top:calc(var(--space-2xl) + var(--safe-area-top))}.auth-content{gap:var(--space-md)}.auth-header h1{font-size:1.5rem}.auth-tagline{font-size:.7rem}.logo-image{width:80px}.auth-card{padding:var(--space-lg)}.auth-card-header{margin-bottom:var(--space-md)}.auth-card-header h2{font-size:1.15rem}.auth-card-header p{font-size:.85rem}.form-group label{font-size:.75rem}.form-group input{padding:var(--space-md);font-size:16px}.auth-btn{padding:var(--space-md);font-size:.95rem}.auth-divider{margin:var(--space-md) 0;font-size:.75rem}.auth-switch{margin-top:var(--space-md);font-size:.85rem}}@media(max-width:375px){.auth-header h1{font-size:1.35rem}.logo-image{width:64px}}@media(max-height:600px)and (orientation:landscape){.auth-screen{justify-content:center;padding:var(--space-md)}.auth-content{flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:700px;gap:var(--space-md)}.auth-logo,.auth-header{flex-basis:100%}.auth-logo{animation:none}.logo-image{width:56px}.auth-card{flex-basis:100%;max-width:400px}.auth-header h1{font-size:1.35rem}}.stats-panel{width:100%;max-width:400px;padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-top:var(--space-lg)}.stats-panel h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md);text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg)}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.2}.stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.guess-distribution{margin-top:var(--space-md)}.guess-distribution h4{font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.distribution-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:4px}.guess-num{width:16px;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.guess-bar-container{flex:1}.guess-bar{background:var(--color-accent);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-align:right;transition:width var(--transition-base)}.stats-detail{border-top:1px solid var(--color-border-light);padding-top:var(--space-md)}.detail-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:.9rem}.detail-row span:first-child{color:var(--color-text-muted)}.detail-row span:last-child{font-weight:600;color:var(--color-text)}.stats-summary{width:100%;padding:var(--space-xl);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-top:var(--space-xl)}.summary-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm)}.summary-title:before{content:"📊"}.summary-grid{display:flex;flex-direction:column;gap:var(--space-md)}.summary-total{display:flex;align-items:baseline;gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-sm)}.summary-value{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-accent);line-height:1}.summary-label{font-size:1rem;color:var(--color-text-muted)}.summary-game{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0}.game-name{font-weight:600;color:var(--color-text)}.game-stat{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.game-value{font-weight:600;color:var(--color-text)}.game-detail{font-size:.8rem;color:var(--color-text-muted)}.summary-empty{text-align:center;padding:var(--space-lg) 0;color:var(--color-text-muted);font-size:.95rem}@media(max-width:500px){.stats-summary{padding:var(--space-lg);margin-top:var(--space-lg)}.summary-title{font-size:1.1rem;margin-bottom:var(--space-md)}.summary-game{padding:var(--space-sm) 0}.game-name{font-size:.95rem}}@media(max-width:400px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.stat-value{font-size:1.5rem}.stats-panel{padding:var(--space-md);margin-top:var(--space-md)}.stats-panel h3{font-size:1rem}.summary-value{font-size:2rem}.summary-label{font-size:.9rem}.game-detail{font-size:.75rem}}@media(max-width:350px){.stat-value{font-size:1.35rem}.stat-label{font-size:.65rem}.summary-value{font-size:1.75rem}}.leaderboard{width:100%;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;margin-top:var(--space-xl)}.leaderboard-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.leaderboard-icon{font-size:1.1rem}.leaderboard-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0}.leaderboard-tabs{display:flex;overflow-x:auto;padding:0 var(--space-sm);background:var(--color-bg-warm);border-bottom:1px solid var(--color-border-light);-webkit-overflow-scrolling:touch;scrollbar-width:none}.leaderboard-tabs::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:2px solid transparent;font-size:.8rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;min-height:var(--touch-target-min)}.tab-btn:hover{color:var(--color-text);background:#00000008}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.leaderboard-content{padding:var(--space-md);min-height:200px}.leaderboard-loading,.leaderboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--color-text-muted);text-align:center}.empty-subtitle{font-size:.85rem;margin-top:var(--space-xs);opacity:.7}.scores-list{display:flex;flex-direction:column;gap:var(--space-xs)}.scores-header{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-xs)}.header-rank,.header-name{opacity:.7}.header-metric{position:relative}.metric-dropdown-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;color:var(--color-accent);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.03em}.metric-dropdown-btn:hover{background:var(--color-bg-card);border-color:var(--color-accent)}.dropdown-chevron{transition:transform var(--transition-fast)}.dropdown-chevron.open{transform:rotate(180deg)}.metric-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:120px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 16px #00000026;z-index:100;overflow:hidden;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.metric-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;font-size:.8rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);text-align:left}.metric-option:hover{background:var(--color-bg-warm)}.metric-option.active{color:var(--color-accent);background:#2d5a4a14}.metric-option svg{color:var(--color-accent)}.score-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);border-radius:var(--radius-md);transition:all var(--transition-fast)}.score-row:hover{background:var(--color-border-light)}.score-row.top-three{background:var(--color-gold-light)}.score-row.top-three:hover{background:#f5e6c8}.score-row.is-you{background:#2d5a4a1a;border:1px solid var(--color-accent)}.score-row.is-you.top-three{background:linear-gradient(135deg,rgba(45,90,74,.1),var(--color-gold-light))}.score-rank{font-size:1.1rem;text-align:center}.score-name{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--space-xs)}.you-badge{font-size:.6rem;font-weight:600;color:var(--color-accent);background:#2d5a4a26;padding:2px 5px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.score-value{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--color-accent)}.leaderboard.mini{max-width:100%}.leaderboard.mini .leaderboard-tabs{display:none}.leaderboard.mini .leaderboard-header{padding:var(--space-sm) var(--space-md)}.leaderboard.mini .leaderboard-title{font-size:.95rem}.leaderboard.mini .leaderboard-content{padding:var(--space-sm);min-height:auto}.leaderboard.mini .score-row{padding:var(--space-xs) var(--space-sm);font-size:.9rem}.leaderboard.mini .score-rank,.leaderboard.mini .score-value{font-size:.9rem}@media(max-width:500px){.leaderboard-header{padding:var(--space-sm) var(--space-md)}.leaderboard-title{font-size:1rem}.tab-btn{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.scores-header{font-size:.65rem;padding:var(--space-xs) var(--space-sm)}.metric-dropdown-btn{font-size:.65rem;padding:3px 6px}.score-row{grid-template-columns:32px 1fr auto;gap:var(--space-xs);padding:var(--space-sm)}.score-name{font-size:.9rem}.score-value{font-size:.85rem}.leaderboard-content{padding:var(--space-sm)}}@media(max-width:375px){.tab-btn{padding:var(--space-xs) 6px;font-size:.7rem}.score-rank{font-size:.95rem}.score-name,.score-value{font-size:.85rem}}.home{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:var(--safe-area-bottom)}.home-header{padding:var(--space-2xl) var(--space-xl);background:linear-gradient(180deg,var(--color-bg-card) 0%,var(--color-bg) 100%);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-lg)}.user-section{display:flex;align-items:center}.user-loading{color:var(--color-text-muted);font-size:.9rem}.user-profile-btn{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.user-profile-btn:hover{background:var(--color-bg-card);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.user-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #00000026}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar span{color:#fff;font-weight:700;font-size:1.1rem;font-family:var(--font-display)}.user-info{display:flex;flex-direction:column;gap:var(--space-xs)}.user-name{font-weight:600;color:var(--color-text);font-size:.95rem}.user-settings-hint{font-size:.75rem;color:var(--color-text-light)}.user-chevron{color:var(--color-text-light);transition:transform var(--transition-fast)}.user-profile-btn:hover .user-chevron{transform:translate(2px);color:var(--color-text-muted)}.login-trigger{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #2d5a4a4d}.login-trigger:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2d5a4a66}.login-trigger svg{opacity:.9}.logo-container{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);animation:slideUp var(--transition-slow) ease-out}.logo-icon{width:70px;height:70px;flex-shrink:0}.logo-icon img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.logo-text h1{font-size:2.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-xs);letter-spacing:-.01em}.tagline{font-size:.85rem;color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-body)}.home-main{flex:1;max-width:800px;width:100%;margin:0 auto;padding:var(--space-2xl) var(--space-xl)}.section-title{font-size:1.25rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-lg)}.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.game-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-base);cursor:pointer;position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--game-color);transform:scaleX(0);transition:transform var(--transition-base)}.game-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,var(--game-color) 0%,transparent 70%);opacity:0;transition:opacity var(--transition-base)}.game-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.game-card:hover:before{transform:scaleX(1)}.game-card:hover:after{opacity:.06}.game-card:active{transform:translateY(-2px)}.game-card-icon{width:72px;height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-warm);border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;z-index:1}.game-card:hover .game-card-icon{transform:scale(1.08);background:var(--color-border-light)}.game-icon-svg{width:48px;height:48px}.game-card-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text);transition:color var(--transition-base);position:relative;z-index:1}.game-card:hover .game-card-name{color:var(--game-color)}.greeting-section{margin-top:var(--space-3xl)}.greeting-card{position:relative;padding:var(--space-2xl);background:linear-gradient(145deg,var(--color-accent) 0%,#1e3d32 100%);border-radius:var(--radius-xl);color:#fff;text-align:center;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.greeting-decoration{position:absolute;top:-60%;right:-15%;width:220px;height:220px;background:#d4a5741f;border-radius:50%;filter:blur(40px)}.greeting-decoration:after{content:"";position:absolute;bottom:-120%;left:-80%;width:180px;height:180px;background:#ffffff0d;border-radius:50%;filter:blur(30px)}.greeting-text{font-family:var(--font-display);font-size:1.4rem;font-style:italic;font-weight:500;margin-bottom:var(--space-md);position:relative;line-height:1.5}.greeting-attribution{font-size:.85rem;opacity:.7;position:relative;letter-spacing:.02em}.home-footer{padding:var(--space-xl);text-align:center;color:var(--color-text-light);font-size:.85rem;border-top:1px solid var(--color-border-light)}.games-section{margin-bottom:var(--space-2xl)}@media(max-width:640px){.home-header{position:relative;padding:var(--space-md) var(--space-md);padding-top:calc(var(--space-md) + var(--safe-area-top));flex-direction:row;align-items:center;justify-content:space-between}.user-section{margin:0}.logo-container{flex-direction:row;text-align:left;gap:var(--space-md);align-items:center}.logo-text{display:flex;flex-direction:column;gap:2px}.user-profile-btn{padding:var(--space-xs) var(--space-sm);gap:var(--space-xs);min-height:var(--touch-target-min);background:transparent;border-color:transparent}.user-profile-btn:hover{background:var(--color-bg-warm)}.user-avatar{width:36px;height:36px}.user-info,.user-chevron{display:none}.logo-icon{width:48px;height:48px}.logo-text h1{font-size:1.25rem;margin-bottom:0}.tagline{font-size:.6rem;letter-spacing:.08em}.home-main{padding:var(--space-lg) var(--space-md)}.section-title{font-size:1rem;margin-bottom:var(--space-md)}.games-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.game-card{padding:var(--space-md);gap:var(--space-sm)}.game-card-icon{width:64px;height:64px}.game-icon-svg{width:42px;height:42px}.game-card-name{font-size:.9rem}.greeting-section{margin-top:var(--space-2xl)}.greeting-card{padding:var(--space-lg)}.greeting-text{font-size:1.15rem}.greeting-attribution{font-size:.8rem}.home-footer{padding:var(--space-lg) var(--space-md);padding-bottom:calc(var(--space-lg) + var(--safe-area-bottom));font-size:.8rem}}@media(max-width:375px){.logo-icon{width:40px;height:40px}.logo-text h1{font-size:1.1rem}.tagline{font-size:.55rem}.games-grid{gap:var(--space-md)}.game-card{padding:var(--space-sm);gap:var(--space-xs)}.game-card-icon{width:56px;height:56px}.game-icon-svg{width:36px;height:36px}.game-card-name{font-size:.8rem}.greeting-text{font-size:1.1rem}}.profile-settings{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg);padding-bottom:var(--safe-area-bottom)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);padding-top:calc(var(--space-md) + var(--safe-area-top));background:var(--color-bg-card);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:100}.settings-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text)}.settings-content{flex:1;max-width:500px;width:100%;margin:0 auto;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg)}.settings-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-xl)}.settings-card h3{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md)}.user-info-section{display:flex;align-items:center;gap:var(--space-lg)}.user-avatar-large{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--color-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.user-avatar-large img{width:100%;height:100%;object-fit:cover}.user-avatar-large span{color:#fff;font-weight:700;font-size:1.75rem;font-family:var(--font-display)}.user-details h2{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.user-details p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--space-sm)}.google-badge{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-warm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.settings-message{padding:var(--space-md);border-radius:var(--radius-md);font-size:.9rem;text-align:center;animation:slideDown .3s ease-out}.settings-message.success{background:#e8f5e9;color:#2e7d32}.settings-message.error{background:#ffebee;color:#c62828}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-form{display:flex;flex-direction:column;gap:var(--space-md)}.settings-form .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.settings-form .form-group label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.settings-form .form-group input{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;color:var(--color-text);background:var(--color-bg);transition:all var(--transition-fast)}.settings-form .form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #2d5a4a1a}.settings-form .form-group input::placeholder{color:var(--color-text-light)}.settings-btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:none}.settings-btn.primary{background:var(--color-accent);color:#fff;align-self:flex-start}.settings-btn.primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.settings-btn.primary:disabled{opacity:.6;cursor:not-allowed}.settings-btn.danger{background:#f5f5f5;color:#c62828;border:1px solid #e0e0e0}.settings-btn.danger:hover{background:#ffebee;border-color:#ef9a9a}.settings-note{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:var(--space-md)}.danger-zone{border-color:#ffcdd2}.danger-zone h3{color:#c62828}@media(max-width:640px){.settings-header{padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + var(--safe-area-top))}.settings-title{font-size:1.15rem}.settings-content{padding:var(--space-md);gap:var(--space-md)}.settings-card{padding:var(--space-md)}.settings-card h3{font-size:1rem}.user-info-section{flex-direction:column;text-align:center;gap:var(--space-md)}.user-avatar-large{width:64px;height:64px}.user-avatar-large span{font-size:1.5rem}.user-details h2{font-size:1.2rem}.user-details p{font-size:.85rem}.settings-form .form-group input{padding:var(--space-md);font-size:16px}.settings-btn{min-height:var(--touch-target-min)}.settings-btn.primary{align-self:stretch;text-align:center}.settings-note{font-size:.85rem}}@media(max-width:375px){.settings-card{padding:var(--space-sm) var(--space-md)}.settings-form .form-group label{font-size:.7rem}}.stats-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md);padding-top:calc(var(--space-md) + env(safe-area-inset-top));padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom))}.stats-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:420px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:0 20px 60px #0006}.stats-modal-close{position:absolute;top:var(--space-sm);right:var(--space-sm);background:transparent;border:none;color:var(--color-text-light);padding:var(--space-xs);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;z-index:10}.stats-modal-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.stats-modal-title{font-size:1.25rem;font-weight:700;text-align:center;padding:var(--space-lg) var(--space-lg) var(--space-md);margin:0;color:var(--color-text)}.stats-tabs{display:flex;gap:var(--space-xs);padding:0 var(--space-lg);margin-bottom:var(--space-md)}.stats-tab{flex:1;padding:var(--space-sm) var(--space-md);background:transparent;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-light);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.stats-tab:hover{background:var(--color-bg-hover)}.stats-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.stats-content{flex:1;overflow-y:auto;padding:0 var(--space-lg) var(--space-lg)}.personal-stats{padding-top:var(--space-sm)}.no-stats{text-align:center;padding:var(--space-xl);color:var(--color-text-light)}.modal-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg)}.modal-stats-grid.three-col{grid-template-columns:repeat(3,1fr)}.modal-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-md) var(--space-xs);background:var(--color-bg);border-radius:var(--radius-md)}.modal-stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1.2}.modal-stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.modal-distribution{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.modal-distribution h4{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-sm)}.distribution-bars{display:flex;flex-direction:column;gap:6px}.dist-num{width:14px;font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-align:center}.dist-bar-wrap{flex:1;height:22px;background:var(--color-bg);border-radius:var(--radius-sm);overflow:hidden}.dist-bar{height:100%;background:var(--color-accent);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:fit-content;transition:width .3s ease}.dist-bar span{font-size:.75rem;font-weight:700;color:#fff}.dist-zero{font-size:.75rem;font-weight:600;color:var(--color-text-muted);padding-left:8px}.modal-detail-rows{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.modal-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0}.modal-detail-row span:first-child{font-size:.9rem;color:var(--color-text-light)}.modal-detail-row span:last-child{font-size:.95rem;font-weight:600;color:var(--color-text)}.family-leaderboard{min-height:200px}.loading-leaderboard{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);gap:var(--space-md);color:var(--color-text-light)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-scores{text-align:center;padding:var(--space-xl)}.no-scores p{margin:0;color:var(--color-text-light)}.no-scores-hint{font-size:.85rem;margin-top:var(--space-sm)!important;opacity:.7}.metric-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-md)}.metric-btn{padding:6px 12px;font-size:.75rem;font-weight:600;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-light);cursor:pointer;transition:all .15s ease}.metric-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.metric-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.leaderboard-list{display:flex;flex-direction:column;gap:var(--space-xs)}.leaderboard-header{display:grid;grid-template-columns:40px 1fr 70px;gap:var(--space-sm);padding:var(--space-sm);font-size:.75rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);white-space:nowrap}.leaderboard-row{display:grid;grid-template-columns:40px 1fr 70px;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);align-items:center;transition:background .2s ease}.leaderboard-row:hover{background:var(--color-bg-hover)}.leaderboard-row.is-you{background:rgba(var(--color-accent-rgb, 99, 102, 241),.15);border:1px solid var(--color-accent)}.lb-rank{font-weight:700;text-align:center;font-size:1rem}.lb-name{font-weight:500;display:flex;align-items:center;gap:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-badge{background:var(--color-accent);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase}.lb-score{font-weight:700;color:var(--color-accent);text-align:right}@media(max-width:480px){.stats-modal{max-height:90vh}.leaderboard-header,.leaderboard-row{grid-template-columns:36px 1fr 60px;gap:var(--space-xs);font-size:.9rem}.stats-tabs{padding:0 var(--space-md)}.stats-content{padding:0 var(--space-md) var(--space-md)}.modal-stats-grid{gap:var(--space-xs)}.modal-stat{padding:var(--space-sm) var(--space-xs)}.modal-stat-value{font-size:1.25rem}.modal-stat-label{font-size:.65rem}.metric-selector{gap:4px}.metric-btn{padding:5px 10px;font-size:.7rem}}@media(max-width:360px){.modal-stats-grid{grid-template-columns:repeat(2,1fr)}.modal-stats-grid.three-col{grid-template-columns:repeat(3,1fr)}.modal-stat-value{font-size:1.1rem}.leaderboard-header,.leaderboard-row{grid-template-columns:32px 1fr 50px}.metric-btn{padding:4px 8px;font-size:.65rem}}.wordle{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);width:100%;max-width:500px;position:relative}.wordle-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--space-md) var(--space-xl);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;animation:messagePopIn var(--transition-fast) ease-out;z-index:200;box-shadow:var(--shadow-lg)}@keyframes messagePopIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.wordle-message.hint{display:flex;align-items:center;gap:var(--space-md)}.wordle-message .toast-close{background:none;border:none;color:var(--color-bg);font-size:1.5rem;font-weight:400;cursor:pointer;opacity:.7;padding:0;line-height:1;margin-left:var(--space-sm)}.wordle-message .toast-close:hover{opacity:1}.wordle-controls{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.hint-btn{padding:var(--space-sm) var(--space-md);background:var(--color-gold);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.hint-btn:hover:not(:disabled){background:#c9a227;transform:translateY(-1px)}.hint-btn:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.wordle .control-btn{padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.wordle .control-btn:hover{background:var(--color-bg-warm);color:var(--color-text)}.wordle .control-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.wordle-stats-panel{width:100%;animation:slideUp var(--transition-fast) ease-out}.wordle-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.wordle-row{display:flex;gap:var(--space-sm)}.wordle-row.shake{animation:shake .5s ease-in-out}.wordle-cell{width:58px;height:58px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;font-family:var(--font-display);text-transform:uppercase;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);position:relative;perspective:250px}.wordle-cell.filled:not(.correct):not(.present):not(.absent){border-color:var(--color-text-light);animation:pop .1s ease-out}.wordle-cell-front,.wordle-cell-back{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;backface-visibility:hidden;transition:transform .3s ease-in-out}.wordle-cell-back{transform:rotateX(180deg)}.wordle-cell.revealing{border-color:transparent}.wordle-cell.revealing .wordle-cell-front{animation:flipFront .6s ease-in-out forwards;background:var(--color-bg-card);border:2px solid var(--color-text-light);border-radius:var(--radius-sm)}.wordle-cell.revealing .wordle-cell-back{animation:flipBack .6s ease-in-out forwards;border:none}.wordle-cell.revealing.correct .wordle-cell-back{background:var(--wordle-correct);color:#fff;border-radius:var(--radius-sm)}.wordle-cell.revealing.present .wordle-cell-back{background:var(--wordle-present);color:#fff;border-radius:var(--radius-sm)}.wordle-cell.revealing.absent .wordle-cell-back{background:var(--wordle-absent);color:#fff;border-radius:var(--radius-sm)}@keyframes flipFront{0%{transform:rotateX(0)}50%,to{transform:rotateX(180deg)}}@keyframes flipBack{0%,50%{transform:rotateX(180deg)}to{transform:rotateX(0)}}.wordle-cell.correct:not(.revealing),.wordle-cell.present:not(.revealing),.wordle-cell.absent:not(.revealing){border-color:transparent}.wordle-cell.correct:not(.revealing) .wordle-cell-front,.wordle-cell.present:not(.revealing) .wordle-cell-front,.wordle-cell.absent:not(.revealing) .wordle-cell-front{opacity:0}.wordle-cell.correct:not(.revealing) .wordle-cell-back{transform:rotateX(0);background:var(--wordle-correct);color:#fff;border-radius:var(--radius-sm)}.wordle-cell.present:not(.revealing) .wordle-cell-back{transform:rotateX(0);background:var(--wordle-present);color:#fff;border-radius:var(--radius-sm)}.wordle-cell.absent:not(.revealing) .wordle-cell-back{transform:rotateX(0);background:var(--wordle-absent);color:#fff;border-radius:var(--radius-sm)}.wordle-keyboard{display:flex;flex-direction:column;gap:var(--space-sm);width:100%;max-width:500px}.keyboard-row{display:flex;justify-content:center;gap:6px}.keyboard-key{min-width:40px;height:56px;padding:0 var(--space-sm);display:flex;align-items:center;justify-content:center;background:var(--wordle-key-bg);border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;font-family:var(--font-body);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.keyboard-key.wide{min-width:65px;font-size:.75rem}.keyboard-key:hover:not(:disabled){background:#bfc4c9;transform:translateY(-1px)}.keyboard-key:active:not(:disabled){transform:translateY(0)}.keyboard-key:disabled{cursor:default}.keyboard-key.correct{background:var(--wordle-correct);color:#fff}.keyboard-key.correct:active{background:#3d6b3a}.keyboard-key.present{background:var(--wordle-present);color:#fff}.keyboard-key.present:active{background:#8a7a2d}.keyboard-key.absent{background:var(--wordle-absent);color:#fff}.keyboard-key.absent:active{background:#2a2a2c}.wordle-result{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:100;animation:fadeIn var(--transition-base) ease-out}.result-content{background:var(--color-bg-card);padding:var(--space-xl);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-base) ease-out;max-width:380px;width:90%;max-height:90vh;overflow-y:auto}.result-content h2{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-xs);color:var(--color-text)}.result-content .result-subtitle{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:.95rem}.result-stats{margin-bottom:var(--space-lg)}.result-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.wordle-result-stats{text-align:left}.result-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg)}.result-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.result-stat .stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text)}.result-stat .stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.result-distribution h4{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm);text-align:center}.dist-bars{display:flex;flex-direction:column;gap:4px}.dist-row{display:flex;align-items:center;gap:var(--space-sm)}.dist-num{width:16px;font-weight:600;font-size:.85rem;color:var(--color-text);text-align:center}.dist-bar-wrap{flex:1;display:flex;align-items:center}.dist-bar{background:var(--wordle-correct);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;min-width:24px;text-align:right}.dist-zero{font-size:.8rem;color:var(--color-text-light);padding-left:var(--space-xs)}@media(max-width:500px){.wordle{gap:var(--space-lg)}.wordle-cell{width:52px;height:52px;font-size:1.75rem}.keyboard-key{min-width:32px;height:50px;font-size:.85rem;touch-action:manipulation}.keyboard-key.wide{min-width:52px;font-size:.75rem}.hint-btn{min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-lg)}}@media(max-width:380px){.wordle-cell{width:48px;height:48px;font-size:1.5rem}.wordle-row{gap:4px}.keyboard-row{gap:3px}.keyboard-key{min-width:28px;height:48px;padding:0 var(--space-xs);font-size:.8rem}.keyboard-key.wide{min-width:46px;font-size:.7rem}}@media(max-width:340px){.wordle-cell{width:44px;height:44px;font-size:1.35rem}.keyboard-key{min-width:26px;height:44px}.keyboard-key.wide{min-width:42px}}@media(max-height:500px)and (orientation:landscape){.wordle{gap:var(--space-sm)}.wordle-cell{width:36px;height:36px;font-size:1.1rem}.wordle-row{gap:3px}.keyboard-key{height:40px}}.spelling-bee{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);width:100%;max-width:400px}.bee-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--space-md) var(--space-xl);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;animation:toastPopIn var(--transition-fast) ease-out;z-index:200;box-shadow:var(--shadow-lg);text-align:center;max-width:280px}.bee-toast.hint{display:flex;align-items:center;gap:var(--space-md)}.bee-score-section{text-align:center;width:100%}.bee-rank{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.bee-stats-row{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.bee-score{font-size:.95rem;color:var(--color-text-muted)}.bee-divider{color:var(--color-border)}.bee-word-count{font-size:.95rem;color:var(--color-text-muted)}.bee-progress{width:100%}.progress-bar{height:8px;background:var(--color-border-light);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-gold);border-radius:4px;transition:width var(--transition-base)}.bee-input-section{text-align:center;min-height:80px}.bee-current-word{font-family:var(--font-display);font-size:2rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);min-height:48px;transition:color var(--transition-fast)}.bee-current-word.error{animation:shake .4s ease-in-out}.bee-current-word .placeholder{color:var(--color-text-light);font-weight:400;font-style:italic;letter-spacing:0}.bee-current-word .center-letter{color:var(--color-gold)}.bee-honeycomb{position:relative;--hex-size: 90px;--hex-height: calc(var(--hex-size) * .865);--gap: 4px;width:calc(var(--hex-size) * 2.5 + var(--gap) * 2);height:calc(var(--hex-height) * 3 + var(--gap) * 2)}.hex-cell{position:absolute;width:var(--hex-size);height:var(--hex-height);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.75rem;font-weight:700;border:none;cursor:pointer;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.hex-cell.center{left:calc(50% - var(--hex-size) / 2);top:calc(50% - var(--hex-height) / 2)}.hex-cell.pos-top{left:calc(50% - var(--hex-size) / 2);top:calc(50% - var(--hex-height) * 1.5 - var(--gap))}.hex-cell.pos-bottom{left:calc(50% - var(--hex-size) / 2);top:calc(50% + var(--hex-height) * .5 + var(--gap))}.hex-cell.pos-top-left{left:calc(50% - var(--hex-size) * 1.25 - var(--gap));top:calc(50% - var(--hex-height) - var(--gap) / 2)}.hex-cell.pos-top-right{left:calc(50% + var(--hex-size) * .25 + var(--gap));top:calc(50% - var(--hex-height) - var(--gap) / 2)}.hex-cell.pos-bottom-left{left:calc(50% - var(--hex-size) * 1.25 - var(--gap));top:calc(50% + var(--gap) / 2)}.hex-cell.pos-bottom-right{left:calc(50% + var(--hex-size) * .25 + var(--gap));top:calc(50% + var(--gap) / 2)}.hex-cell.outer{background:var(--color-border-light);color:var(--color-text)}.hex-cell.center{background:var(--color-gold);color:#fff;z-index:1}@media(hover:hover){.hex-cell.outer:hover{background:var(--color-border)}.hex-cell.center:hover{background:#c9a227}}.hex-cell.outer:active{background:var(--color-border)}.hex-cell.center:active{background:#b8922a}.bee-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.bee-controls-row{display:flex;gap:var(--space-md);justify-content:center}.bee-hint-btn{padding:var(--space-sm) var(--space-md);background:var(--color-gold);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.bee-hint-btn:hover:not(:disabled){background:#c9a227;transform:translateY(-1px)}.bee-hint-btn:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.bee-btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:80px}.bee-btn.primary{background:var(--color-text);color:#fff}.bee-btn.primary:hover{background:var(--color-accent);transform:translateY(-2px)}.bee-btn.secondary{background:var(--color-bg-warm);color:var(--color-text-muted);border:1px solid var(--color-border)}.bee-btn.secondary:hover{background:var(--color-border-light);color:var(--color-text);transform:translateY(-2px)}.bee-btn.shuffle{min-width:auto;padding:var(--space-md)}.bee-words-section{width:100%;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.bee-words-section.expandable{cursor:pointer}.bee-words-section.expandable:hover{border-color:var(--color-border)}.words-list{padding:var(--space-sm) var(--space-md);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);max-height:36px;overflow:hidden;transition:max-height var(--transition-base)}.words-list.expanded{max-height:200px;overflow-y:auto}.expand-hint{font-size:.7rem;color:var(--color-text-light);margin-left:auto;padding-left:var(--space-sm)}.found-word{padding:4px 8px;background:var(--color-bg-warm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;animation:scaleIn var(--transition-fast) ease-out;line-height:1}.found-word.pangram{background:var(--color-gold-light);color:var(--color-text);font-weight:700}.no-words{color:var(--color-text-light);font-style:italic;font-size:.8rem;padding:var(--space-xs) 0}.bee-game-controls{display:flex;gap:var(--space-sm);justify-content:center}.game-control-btn{padding:var(--space-sm) var(--space-lg);background:var(--color-bg-card);color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.9rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.game-control-btn:hover{color:var(--color-text);background:var(--color-bg-warm)}@media(max-width:400px){.spelling-bee{gap:var(--space-lg)}.bee-honeycomb{--hex-size: 76px}.hex-cell{font-size:1.5rem}.bee-current-word{font-size:1.5rem;min-height:40px}.bee-input-section{min-height:60px}.bee-btn{padding:var(--space-sm) var(--space-lg);min-width:70px;min-height:var(--touch-target-min)}.bee-score-section{margin-bottom:0}.bee-rank{font-size:1.25rem}.bee-toast{font-size:.9rem;padding:var(--space-sm) var(--space-lg);max-width:250px}.bee-score{font-size:.9rem}.words-list{padding:var(--space-xs) var(--space-sm);max-height:32px}.words-list.expanded{max-height:150px}.found-word{font-size:.7rem;padding:3px 6px}.bee-stats-row{font-size:.9rem}}@media(max-width:350px){.bee-honeycomb{--hex-size: 64px;--gap: 3px}.hex-cell{font-size:1.25rem}.bee-current-word{font-size:1.35rem}.bee-btn{padding:var(--space-sm) var(--space-md);min-width:60px;font-size:.85rem}.bee-controls{gap:var(--space-sm)}}@media(max-height:500px)and (orientation:landscape){.spelling-bee{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-md);max-width:100%}.bee-score-section{flex-basis:100%}.bee-honeycomb{order:1;--hex-size: 54px;--gap: 3px}.hex-cell{font-size:1.1rem}.bee-input-section,.bee-controls,.bee-words-section{order:2;flex:1;min-width:150px}.bee-current-word{font-size:1.25rem}}.crossword{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);width:100%;max-width:500px}.crossword-start-screen{display:flex;align-items:center;justify-content:center;min-height:400px;width:100%}.start-content{text-align:center;padding:var(--space-xl)}.start-content h2{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-text);margin-bottom:var(--space-sm)}.start-content p{color:var(--color-text-muted);margin-bottom:var(--space-xl)}.start-preview{display:flex;justify-content:center;margin-bottom:var(--space-xl)}.preview-grid{display:flex;flex-direction:column;gap:2px;padding:var(--space-sm);background:var(--color-border);border-radius:var(--radius-md)}.preview-row{display:flex;gap:2px}.preview-cell{width:24px;height:24px;background:var(--color-bg-card);border-radius:2px}.preview-cell.black{background:var(--color-text)}.start-btn{padding:var(--space-md) var(--space-3xl);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:1.1rem;transition:all var(--transition-fast)}.start-btn:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.crossword-timer{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-bg-warm);border-radius:var(--radius-md);font-family:var(--font-display)}.timer-icon{font-size:1rem}.timer-value{font-size:1.25rem;font-weight:600;color:var(--color-text);min-width:48px;text-align:center}.crossword-timer.paused{background:var(--color-border-light)}.crossword-timer.paused .timer-value{color:var(--color-text-muted)}.timer-resume-btn{padding:var(--space-xs) var(--space-md);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.timer-resume-btn:hover{background:var(--color-accent-hover)}.crossword-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--space-md) var(--space-xl);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;animation:toastPopIn var(--transition-fast) ease-out;z-index:200;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-md)}@keyframes toastPopIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.hint-letters{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:.2em}.crossword-clue-nav{display:flex;align-items:stretch;gap:var(--space-sm);width:100%;background:var(--color-bg-warm);border-radius:var(--radius-md);overflow:hidden}.clue-nav-btn{display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--color-bg-card);border:none;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.clue-nav-btn:hover{background:var(--color-border-light);color:var(--color-text)}.clue-nav-btn:active{background:var(--color-border)}.clue-nav-content{flex:1;padding:var(--space-sm) var(--space-md);display:flex;align-items:center;gap:var(--space-md);min-height:48px}.clue-nav-label{display:flex;align-items:center;gap:var(--space-xs);background:var(--color-accent);border:none;border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.clue-nav-label:hover{background:var(--color-accent-hover)}.clue-nav-label:active{transform:scale(.97)}.clue-nav-number{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:#fff}.clue-nav-dir{font-family:var(--font-display);font-weight:600;font-size:.75rem;color:#ffffffd9;text-transform:uppercase}.clue-nav-text{color:var(--color-text);font-size:.9rem;line-height:1.3}.crossword-hint-btn{padding:var(--space-sm) var(--space-md);background:var(--color-gold);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.crossword-hint-btn:hover:not(:disabled){background:#c9a227;transform:translateY(-1px)}.crossword-hint-btn:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.crossword-grid{display:flex;flex-direction:column;border:2px solid var(--color-text);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-text);gap:1px}.crossword-row{display:flex;gap:1px}.crossword-cell{width:52px;height:52px;background:var(--color-bg-card);position:relative;cursor:pointer;transition:background-color var(--transition-fast)}.crossword-cell.black{background:var(--color-text);cursor:default}.crossword-cell.highlighted{background:var(--color-gold-light)}.crossword-cell.selected{background:var(--color-gold)}.crossword-cell.error{background:#fdd}.crossword-cell.error.selected{background:#fbb}.cell-number{position:absolute;top:2px;left:4px;font-size:.65rem;font-weight:600;color:var(--color-text-muted);pointer-events:none}.crossword-cell input{width:100%;height:100%;text-align:center;font-family:var(--font-display);font-size:1.5rem;font-weight:600;text-transform:uppercase;background:transparent;color:var(--color-text);cursor:pointer;caret-color:transparent}.crossword-cell input:focus{outline:none}.crossword-controls{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.check-btn{padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:500;font-size:.85rem;color:var(--color-text-muted);transition:all var(--transition-fast)}.check-btn:hover{background:var(--color-bg-warm);color:var(--color-text);border-color:var(--color-text-muted)}.check-btn.active{background:var(--color-bg-warm);border-color:var(--color-accent);color:var(--color-accent)}.crossword-complete{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:100;animation:fadeIn var(--transition-base) ease-out}.complete-content{background:var(--color-bg-card);padding:var(--space-2xl);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-base) ease-out;max-width:320px;width:90%}.complete-content h2{font-size:1.5rem;margin-bottom:var(--space-md);color:var(--color-text)}.complete-time{color:var(--color-text-muted);margin-bottom:var(--space-xl);font-size:1.1rem}.complete-time strong{font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent)}.complete-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.more-games-btn{padding:var(--space-md) var(--space-2xl);background:var(--color-bg-warm);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:500;font-size:.95rem;transition:all var(--transition-fast)}.more-games-btn:hover{background:var(--color-border-light);color:var(--color-text)}.new-game-btn{padding:var(--space-sm) var(--space-lg);color:var(--color-text-muted);font-size:.9rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.new-game-btn:hover{color:var(--color-text);background:var(--color-bg-warm)}@media(max-width:500px){.crossword{gap:var(--space-md)}.crossword-cell{width:44px;height:44px}.crossword-cell input{font-size:1.25rem;font-size:16px}.crossword-clue-nav{min-height:var(--touch-target-min)}.clue-nav-content{padding:var(--space-xs) var(--space-sm);gap:var(--space-xs)}.clue-nav-text{font-size:.85rem}.clue-nav-btn{padding:var(--space-sm)}.clue-nav-label{padding:3px 8px}.clue-nav-number{font-size:.8rem}.clue-nav-dir{font-size:.65rem}.check-btn{padding:var(--space-sm) var(--space-md);font-size:.85rem;min-height:var(--touch-target-min)}.crossword-hint-btn{min-height:var(--touch-target-min)}.crossword-toast{padding:var(--space-sm) var(--space-lg);font-size:.9rem}.hint-letters{font-size:1.25rem}}@media(max-width:380px){.crossword-cell{width:40px;height:40px}.crossword-cell input{font-size:16px}.cell-number{font-size:.55rem}.crossword-controls{flex-wrap:wrap;justify-content:center}}@media(max-width:340px){.crossword-cell{width:36px;height:36px}.cell-number{font-size:.5rem;top:1px;left:2px}}@media(max-height:600px)and (orientation:landscape){.crossword{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-md);max-width:100%}.crossword-clue-nav{flex-basis:100%}.crossword-grid{order:1}.crossword-cell{width:32px;height:32px}.crossword-cell input{font-size:16px}.crossword-hint-btn,.check-btn{order:2}}.letter-boxed{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);width:100%;max-width:400px}.lb-status{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:var(--color-bg-warm);border-radius:var(--radius-md)}.lb-remaining{display:flex;flex-direction:column;gap:2px}.remaining-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.remaining-letters{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--color-text);letter-spacing:.1em}.lb-word-count{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.lb-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--space-md) var(--space-xl);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;animation:lbToastPopIn var(--transition-fast) ease-out;z-index:200;box-shadow:var(--shadow-lg);text-align:center;max-width:280px}.lb-toast.hint{display:flex;align-items:center;gap:var(--space-md)}.toast-close{background:none;border:none;color:var(--color-bg);font-size:1.5rem;font-weight:400;cursor:pointer;opacity:.7;padding:0;line-height:1;margin-left:var(--space-sm)}.toast-close:hover{opacity:1}@keyframes lbToastPopIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.lb-input-section{text-align:center;min-height:60px;width:100%}.lb-current-word{font-family:var(--font-display);font-size:2rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text);min-height:48px;transition:color var(--transition-fast)}.lb-current-word.error{animation:shake .4s ease-in-out}.lb-current-word.bounce{animation:bounce .4s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(0)}75%{transform:translateY(-4px)}}.lb-current-word .placeholder{color:var(--color-text-light);font-weight:400;font-style:italic;letter-spacing:0;font-size:1rem}.lb-box-container{width:100%;max-width:360px;aspect-ratio:1}.lb-svg{width:100%;height:100%}.lb-letter-bg{fill:var(--color-bg-card);stroke:var(--color-border);stroke-width:2;cursor:pointer;transition:all var(--transition-fast)}.lb-letter-bg:hover{fill:var(--color-bg-warm);stroke:var(--color-accent)}.lb-letter-bg.selected{fill:var(--color-accent);stroke:var(--color-accent)}.lb-letter-bg.last{fill:var(--color-accent);stroke:var(--color-accent-hover);stroke-width:3}.lb-letter-bg.used{fill:var(--color-gold-light);stroke:var(--color-gold)}.lb-letter-bg.used.selected{fill:var(--color-accent);stroke:var(--color-accent)}.lb-letter{font-family:var(--font-display);font-size:18px;font-weight:700;fill:var(--color-text);text-anchor:middle;dominant-baseline:central;cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:none}.lb-letter.selected{fill:#fff}.lb-letter.used:not(.selected){fill:var(--color-warm-gray)}.lb-controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.lb-controls-row{display:flex;gap:var(--space-md);justify-content:center}.lb-btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:80px}.lb-btn.primary{background:var(--color-text);color:#fff}.lb-btn.primary:hover{background:var(--color-accent);transform:translateY(-2px)}.lb-btn.secondary{background:var(--color-bg-warm);color:var(--color-text-muted);border:1px solid var(--color-border)}.lb-btn.secondary:hover{background:var(--color-border-light);color:var(--color-text);transform:translateY(-2px)}.lb-hint-btn{padding:var(--space-sm) var(--space-md);background:var(--color-gold);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.lb-hint-btn:hover:not(:disabled){background:#c9a227;transform:translateY(-1px)}.lb-hint-btn:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.lb-words-used{width:100%;min-height:40px;padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);text-align:center}.no-words{color:var(--color-text-light);font-style:italic;font-size:.9rem}.words-chain{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-xs)}.used-word{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-text);text-transform:uppercase}.word-connector{color:var(--color-text-light);margin:0 var(--space-xs)}.lb-help-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:transparent;color:var(--color-accent);font-size:.8rem;font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.lb-help-btn:hover{background:var(--color-bg-card)}.lb-help-btn svg{width:16px;height:16px}.lb-help-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:100;padding:var(--space-lg);animation:fadeIn var(--transition-base) ease-out}.lb-help-content{background:var(--color-bg-card);padding:var(--space-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:scaleIn var(--transition-base) ease-out}.lb-help-close{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-warm);border-radius:50%;color:var(--color-text-muted);transition:all var(--transition-fast)}.lb-help-close:hover{background:var(--color-border);color:var(--color-text)}.lb-help-content h2{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:var(--space-lg);padding-right:var(--space-xl)}.lb-help-rules{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.lb-help-rule{display:flex;gap:var(--space-md);align-items:flex-start}.rule-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-weight:700;font-size:.9rem;border-radius:50%;flex-shrink:0}.rule-text{font-size:.95rem;color:var(--color-text);line-height:1.5}.rule-text strong{color:var(--color-accent)}.lb-help-example{background:var(--color-bg-warm);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.lb-help-example p{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin:0}.lb-help-tips{margin-bottom:var(--space-lg)}.lb-help-tips h3{font-family:var(--font-display);font-size:1.1rem;color:var(--color-text);margin-bottom:var(--space-sm)}.lb-help-tips ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.lb-help-tips li{font-size:.9rem;color:var(--color-text-muted);padding-left:var(--space-md);position:relative}.lb-help-tips li:before{content:"•";position:absolute;left:0;color:var(--color-gold)}.lb-help-got-it{width:100%;padding:var(--space-md);background:var(--color-accent);color:#fff;font-weight:600;font-size:1rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.lb-help-got-it:hover{background:var(--color-accent-hover)}.lb-complete-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:100;animation:fadeIn var(--transition-base) ease-out}.lb-complete-modal .complete-content{background:var(--color-bg-card);padding:var(--space-2xl);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-base) ease-out;max-width:340px;width:90%}.lb-complete-modal h2{font-family:var(--font-display);font-size:1.75rem;color:var(--color-text);margin-bottom:var(--space-sm)}.lb-complete-modal p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.final-words{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl)}.final-word{padding:var(--space-xs) var(--space-md);background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:600;text-transform:uppercase}.play-again-btn{padding:var(--space-md) var(--space-2xl);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all var(--transition-fast)}@media(max-width:400px){.letter-boxed{gap:var(--space-md)}.lb-box-container{max-width:300px}.lb-status{padding:var(--space-sm) var(--space-md)}.remaining-letters{font-size:.9rem}.lb-current-word{font-size:1.5rem;min-height:40px}.lb-input-section{min-height:50px}.lb-btn{padding:var(--space-sm) var(--space-lg);min-width:70px;min-height:var(--touch-target-min)}.lb-hint-btn{min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-lg)}.lb-words-used{padding:var(--space-sm) var(--space-md)}.used-word{font-size:1rem}.lb-toast{font-size:.9rem;padding:var(--space-sm) var(--space-lg);max-width:250px}.lb-letter-bg{cursor:pointer}.lb-letter{font-size:16px}}@media(max-width:350px){.lb-box-container{max-width:260px}.lb-current-word{font-size:1.35rem}.lb-btn{padding:var(--space-sm) var(--space-md);min-width:60px;font-size:.9rem}.lb-controls,.lb-controls-row{gap:var(--space-sm)}.lb-letter{font-size:14px}}@media(max-width:450px){.lb-help-content{padding:var(--space-lg);max-height:85vh}.lb-help-content h2{font-size:1.25rem}.lb-help-rule{gap:var(--space-sm)}.rule-number{width:24px;height:24px;font-size:.8rem}.rule-text{font-size:.9rem}.lb-help-got-it{min-height:var(--touch-target-min)}.lb-help-close{width:36px;height:36px}}@media(max-height:500px)and (orientation:landscape){.letter-boxed{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-sm);max-width:100%}.lb-status{flex-basis:100%}.lb-box-container{max-width:250px;order:1}.lb-input-section,.lb-controls,.lb-words-used{order:2;flex:1;min-width:150px}.lb-current-word{font-size:1.25rem}}.puzzle-library{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);width:100%;max-width:800px;padding:var(--space-lg)}.puzzle-library h2{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--color-text);margin-bottom:0}.library-subtitle{color:var(--color-text-muted);font-size:1rem;margin-top:calc(-1 * var(--space-md))}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md);width:100%}.image-card{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;border:3px solid transparent;transition:all var(--transition-base);background:var(--color-bg-warm)}.image-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.image-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.image-card:hover img{transform:scale(1.05)}.image-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.image-name{position:absolute;bottom:0;left:0;right:0;padding:var(--space-sm) var(--space-md);background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.85rem;font-weight:500}.selected-check{position:absolute;top:var(--space-sm);right:var(--space-sm);width:28px;height:28px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn var(--transition-fast) ease-out}.selected-check svg{width:16px;height:16px;color:#fff}.selected-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-xl);background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);width:100%;max-width:500px;animation:slideUp var(--transition-base) ease-out}.preview-image{position:relative;width:100%;max-width:400px;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-warm)}.preview-image img{width:100%;height:100%;object-fit:cover}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;font-weight:500;color:var(--color-text-muted)}.start-puzzle-btn{padding:var(--space-md) var(--space-2xl);background:var(--color-accent);color:#fff;font-size:1.1rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast)}.start-puzzle-btn:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px)}.start-puzzle-btn:disabled{opacity:.6;cursor:not-allowed}.puzzle-game{display:flex;flex-direction:column;width:100vw;height:calc(100vh - 80px);margin:calc(-1 * var(--space-xl));background:#2c3e50;position:relative;overflow:hidden}.puzzle-header{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#0000004d;color:#fff;flex-shrink:0}.back-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#ffffff1a;color:#fff;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}.back-btn:hover{background:#fff3}.puzzle-progress{display:flex;flex-direction:column;gap:2px}.puzzle-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.pieces-count{font-size:.85rem;opacity:.8}.puzzle-header .progress-bar{flex:1;max-width:300px;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-left:auto}.puzzle-header .progress-fill{height:100%;background:var(--color-gold);border-radius:4px;transition:width var(--transition-base)}.puzzle-hint{padding:var(--space-sm) var(--space-md);background:var(--color-gold);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-left:auto}.puzzle-hint:hover:not(:disabled){background:#c9a227}.puzzle-hint:disabled{background:#fff3;color:#ffffff80;cursor:not-allowed}.puzzle-mat{flex:1;position:relative;overflow:hidden;background:radial-gradient(circle at center,#34495e,#2c3e50),repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(255,255,255,.02) 20px,rgba(255,255,255,.02) 21px),repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(255,255,255,.02) 20px,rgba(255,255,255,.02) 21px);display:flex;align-items:center;justify-content:center}.reference-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;z-index:100;animation:fadeIn var(--transition-fast) ease-out}.reference-overlay img{max-width:80%;max-height:80%;object-fit:contain;border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000080}.puzzle-grid-guide{position:relative;display:grid;grid-template-columns:repeat(10,60px);grid-template-rows:repeat(10,60px);background:#0000004d;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-md);box-shadow:0 4px 20px #0000004d}.grid-cell{border:1px solid rgba(255,255,255,.1);transition:background-color var(--transition-fast)}.puzzle-piece{border-radius:2px;box-shadow:0 2px 8px #0000004d;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast);background-color:var(--color-bg-warm)}.puzzle-piece:hover{box-shadow:0 4px 16px #0006;z-index:10}.puzzle-piece:active,.puzzle-piece.dragging{cursor:grabbing;box-shadow:0 8px 24px #00000080}.puzzle-piece.placed{cursor:default;box-shadow:none;border-radius:0}.puzzle-piece.on-mat{z-index:5}.puzzle-piece.in-tray{flex-shrink:0}.puzzle-piece.dragging{z-index:1000;transform:scale(1.05)}.puzzle-tray{height:100px;background:#0006;border-top:1px solid rgba(255,255,255,.1);padding:var(--space-md);flex-shrink:0}.tray-scroll{display:flex;gap:var(--space-sm);height:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-sm);scroll-behavior:smooth}.tray-scroll::-webkit-scrollbar{height:6px}.tray-scroll::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.tray-scroll::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.tray-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80}.puzzle-complete-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);width:100%;min-height:60vh;padding:var(--space-xl)}.puzzle-complete-screen .complete-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;max-width:500px;animation:scaleIn var(--transition-base) ease-out}.puzzle-complete-screen h2{font-family:var(--font-display);font-size:2rem;color:var(--color-text)}.puzzle-complete-screen p{color:var(--color-text-muted);font-size:1.1rem}.completed-image{width:100%;max-width:300px;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.completed-image img{width:100%;height:100%;object-fit:cover}.complete-actions{display:flex;gap:var(--space-md)}.play-again-btn{padding:var(--space-md) var(--space-2xl);background:var(--color-accent);color:#fff;font-size:1rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-fast)}.play-again-btn:hover{background:var(--color-accent-hover);transform:translateY(-2px)}@media(max-width:768px){.puzzle-library{padding:var(--space-md)}.image-grid{grid-template-columns:repeat(2,1fr)}.puzzle-game{height:calc(100vh - 60px);height:calc(100dvh - 60px)}.puzzle-header{flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.puzzle-header .progress-bar{order:3;flex-basis:100%;max-width:none;margin-left:0}.puzzle-mat{touch-action:none}.puzzle-tray{height:90px;padding-bottom:calc(var(--space-md) + var(--safe-area-bottom))}.back-btn,.puzzle-hint,.image-card{min-height:var(--touch-target-min)}}@media(max-width:500px){.image-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.image-card{border-width:2px}.puzzle-library h2{font-size:1.5rem}.library-subtitle{font-size:.9rem}.selected-preview{padding:var(--space-lg)}.start-puzzle-btn{min-height:var(--touch-target-min);padding:var(--space-md) var(--space-xl);font-size:1rem}.puzzle-name{font-size:1rem}.pieces-count{font-size:.8rem}}@media(max-width:375px){.puzzle-library h2{font-size:1.25rem}.image-grid{gap:var(--space-xs)}.image-name{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}}@media(max-height:500px)and (orientation:landscape){.puzzle-game{height:100vh;height:100dvh}.puzzle-header{padding:var(--space-xs) var(--space-md)}.puzzle-tray{height:70px}.puzzle-name{font-size:.9rem}}.sudoku{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);width:100%;max-width:450px}.sudoku-header{display:flex;justify-content:space-between;align-items:center;width:100%}.difficulty-badge{padding:var(--space-xs) var(--space-md);background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;font-weight:600;text-transform:capitalize;color:var(--color-text-muted)}.sudoku-header .hint-btn{padding:var(--space-sm) var(--space-md);background:var(--color-gold);color:var(--color-bg);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.sudoku-header .hint-btn:hover:not(:disabled){background:#c9a227}.sudoku-header .hint-btn:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.sudoku-grid{display:flex;flex-direction:column;border:3px solid var(--color-text);border-radius:var(--radius-md);overflow:hidden;background:var(--color-text)}.sudoku-row{display:flex}.sudoku-cell{width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.4rem;font-weight:500;background:var(--color-bg-card);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.sudoku-cell:hover{background:var(--color-bg-warm)}.sudoku-cell.initial{font-weight:700;color:var(--color-text);background:var(--color-bg-warm)}.sudoku-cell.selected{background:var(--color-gold)!important;color:var(--color-bg)}.sudoku-cell.related{background:var(--color-gold-light)}.sudoku-cell.same-value:not(.selected){background:#c8e6c9}.sudoku-cell.error{background:#ffcdd2!important;color:#c62828}.sudoku-cell.correct:not(.initial){background:#c8e6c9!important}.sudoku-cell.correct:not(.initial) .cell-value{color:#2e7d32}.sudoku-cell.wrong:not(.initial){background:#ffcdd2!important}.sudoku-cell.wrong:not(.initial) .cell-value{color:#c62828}.cell-value{font-size:1.4rem}.cell-notes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;padding:2px}.cell-notes .note{display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:600;color:var(--color-text-muted)}.cell-notes .note.active{color:var(--color-accent)}.sudoku-cell.box-right{border-right:2px solid var(--color-text)}.sudoku-cell.box-bottom{border-bottom:2px solid var(--color-text)}.sudoku-mode-toggle{display:flex;gap:var(--space-sm);width:100%}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.mode-btn:hover{background:var(--color-bg-warm);border-color:var(--color-text-light)}.mode-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.mode-btn svg{flex-shrink:0}.sudoku-numpad{display:grid;grid-template-columns:repeat(9,1fr);gap:var(--space-sm);width:100%}.numpad-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:600;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.numpad-btn:hover:not(:disabled){background:var(--color-bg-warm);border-color:var(--color-text-light);transform:translateY(-2px)}.numpad-btn:active:not(:disabled){transform:translateY(0)}.numpad-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.numpad-btn.notes-mode{border-style:dashed;border-color:var(--color-gold)}.numpad-btn.notes-mode:hover:not(:disabled){background:var(--color-gold-light);border-color:var(--color-gold)}.numpad-btn:disabled{opacity:.5;cursor:not-allowed}.sudoku-controls{display:flex;gap:var(--space-md);width:100%}.control-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.control-btn:hover:not(:disabled){background:var(--color-bg-warm);color:var(--color-text)}.control-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.control-btn:disabled{opacity:.5;cursor:not-allowed}.sudoku-difficulty-select{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);width:100%}.sudoku-difficulty-select span{font-size:.9rem;color:var(--color-text-muted);margin-right:var(--space-sm)}.sudoku-difficulty-select button{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-bg-warm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.sudoku-difficulty-select button:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.sudoku-complete{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:100;animation:fadeIn var(--transition-base) ease-out}.sudoku-complete .complete-content{background:var(--color-bg-card);padding:var(--space-2xl);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-base) ease-out;max-width:360px;width:90%}.sudoku-complete h2{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-sm);color:var(--color-text)}.sudoku-complete p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.sudoku-complete .play-again-btn{padding:var(--space-md) var(--space-2xl);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all var(--transition-fast)}.sudoku-complete .play-again-btn:hover{background:var(--color-accent-hover);transform:translateY(-2px)}@media(max-width:420px){.sudoku{gap:var(--space-md)}.sudoku-cell{width:38px;height:38px;font-size:1.2rem}.cell-value{font-size:1.2rem}.cell-notes .note{font-size:.5rem}.numpad-btn{font-size:1.2rem;min-height:var(--touch-target-min)}.mode-btn,.control-btn{padding:var(--space-sm);font-size:.85rem;min-height:var(--touch-target-min)}.sudoku-difficulty-select{flex-wrap:wrap;padding:var(--space-sm)}.sudoku-difficulty-select span{width:100%;text-align:center;margin-bottom:var(--space-xs)}.sudoku-difficulty-select button{min-height:var(--touch-target-min)}.difficulty-badge{font-size:.8rem}.sudoku-header .hint-btn{min-height:var(--touch-target-min)}}@media(max-width:375px){.sudoku-cell{width:34px;height:34px;font-size:1.1rem}.cell-value,.numpad-btn{font-size:1.1rem}.sudoku-controls{gap:var(--space-sm)}.control-btn{font-size:.8rem;gap:var(--space-xs)}.control-btn svg{width:16px;height:16px}}@media(max-height:600px)and (orientation:landscape){.sudoku{gap:var(--space-sm);flex-direction:row;flex-wrap:wrap;justify-content:center;max-width:100%}.sudoku-header{width:100%}.sudoku-grid{order:1}.sudoku-cell{width:32px;height:32px;font-size:1rem}.sudoku-mode-toggle,.sudoku-numpad,.sudoku-controls{order:2;flex:1;min-width:200px;max-width:300px}.numpad-btn{font-size:1rem}}.app{min-height:100vh;display:flex;flex-direction:column}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#121a24}.app-loading .loading-logo{animation:pulse 1.5s ease-in-out infinite}.app-loading .loading-logo img{width:100px;height:100px;object-fit:contain;image-rendering:pixelated}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.game-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);background:var(--color-bg-card);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:100}.back-button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);color:var(--color-text-muted);font-size:.9rem;font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.back-button:hover{color:var(--color-text);background:var(--color-bg-warm)}.game-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text)}.header-actions{display:flex;align-items:center;gap:var(--space-xs)}.info-button,.menu-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast)}.info-button:hover,.menu-button:hover{color:var(--color-text);background:var(--color-bg-warm)}.menu-container{position:relative}.game-menu{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;z-index:150;animation:fadeIn var(--transition-fast) ease-out;overflow:hidden}.game-menu button{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);text-align:left;font-size:.95rem;color:var(--color-text);background:none;border:none;transition:background var(--transition-fast)}.game-menu button:hover{background:var(--color-bg-warm)}.game-menu button svg{color:var(--color-text-muted)}.help-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:200;padding:var(--space-md);animation:fadeIn var(--transition-base) ease-out}.help-content{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:400px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:scaleIn var(--transition-base) ease-out}.help-close{position:absolute;top:var(--space-md);right:var(--space-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-warm);border-radius:50%;color:var(--color-text-muted);transition:all var(--transition-fast)}.help-close:hover{background:var(--color-border);color:var(--color-text)}.help-content h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-lg);padding-right:var(--space-2xl)}.help-rules{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.help-rules li{position:relative;padding-left:var(--space-lg);font-size:.95rem;color:var(--color-text);line-height:1.5}.help-rules li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--color-accent);border-radius:50%}.help-colors{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-warm);border-radius:var(--radius-md)}.color-hint{display:flex;align-items:center;gap:var(--space-md)}.color-box{width:24px;height:24px;border-radius:var(--radius-sm);flex-shrink:0}.color-meaning{font-size:.9rem;color:var(--color-text)}.help-got-it{width:100%;padding:var(--space-md);background:var(--color-accent);color:#fff;font-weight:600;font-size:1rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.help-got-it:hover{background:var(--color-accent-hover)}.game-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-xl);animation:fadeIn var(--transition-base) ease-out}@media(max-width:640px){.game-header{padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + var(--safe-area-top));gap:var(--space-sm)}.game-title{font-size:1.15rem;flex:1;text-align:center}.back-button{min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--space-sm)}.back-button span{display:none}.info-button{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.game-container{padding:var(--space-md);padding-bottom:calc(var(--space-md) + var(--safe-area-bottom))}.help-content{padding:var(--space-lg)}.help-content h2{font-size:1.25rem}.help-rules li{font-size:.9rem}}@media(max-height:500px)and (orientation:landscape){.game-header{padding:var(--space-xs) var(--space-md)}.game-title{font-size:1rem}.game-container{padding:var(--space-sm) var(--space-md)}}:root{--color-bg: #faf8f5;--color-bg-warm: #f5f2ed;--color-bg-card: #ffffff;--color-text: #1a1a1a;--color-text-muted: #6b6b6b;--color-text-light: #999999;--color-accent: #2d5a4a;--color-accent-hover: #234839;--color-gold: #d4a574;--color-gold-light: #e8c9a0;--color-warm-gray: #8b7355;--color-border: #e5e0d8;--color-border-light: #f0ebe3;--wordle-correct: #538d4e;--wordle-present: #b59f3b;--wordle-absent: #3a3a3c;--wordle-key-bg: #d3d6da;--font-display: "Crimson Pro", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-hover: 0 12px 32px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--touch-target-min: 44px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;min-height:100dvh;overscroll-behavior-y:none;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.4' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");z-index:9999}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.02em}button{font-family:var(--font-body);cursor:pointer;border:none;background:none;font-size:inherit;-webkit-tap-highlight-color:transparent;min-height:var(--touch-target-min);user-select:none;-webkit-user-select:none}input{font-family:var(--font-body);border:none;outline:none;background:none;font-size:16px;-webkit-appearance:none;appearance:none;border-radius:0}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],textarea,select{font-size:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out forwards}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out forwards}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out forwards}.stagger-children>*{opacity:0;animation:slideUp .4s ease-out forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-warm)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}::selection{background:var(--color-gold-light);color:var(--color-text)}@media(max-width:640px){:root{--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 2.5rem}}@media(hover:none)and (pointer:coarse){button:hover{transform:none!important}button:active{opacity:.8;transform:scale(.98)!important}}@media(max-height:500px)and (orientation:landscape){:root{--space-lg: 1rem;--space-xl: 1.25rem;--space-2xl: 1.5rem}}@media(prefers-contrast:high){:root{--color-border: #999;--color-border-light: #bbb}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
