@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&family=Press+Start+2P&family=JetBrains+Mono:wght@400;700&display=swap";:root{--font-sans: "Inter", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-retro: "Press Start 2P", monospace;--transition-speed: .25s;--transition-bounce: cubic-bezier(.34, 1.56, .64, 1);--rarity-common: #6a6b6c;--rarity-rare: #57c1ff;--rarity-epic: #ff6161;--rarity-legendary: #ffc533;--rarity-mythic: #59d499;--bg-app: #f8fafc;--bg-card: #ffffff;--border-color: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--primary: #4f46e5;--primary-pressed: #4338ca;--primary-glow: rgba(79, 70, 229, .08);--primary-fg: #ffffff;--player-x: #ef4444;--player-o: #3b82f6;--grid-line: #cbd5e1;--cell-bg: #ffffff;--cell-hover: #f1f5f9;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--font-family: var(--font-sans);--border-radius: 8px;--glow-oldest: 0 0 16px 3px var(--player-x)}[data-theme=minimal]{--bg-app: #f8fafc;--bg-card: #ffffff;--border-color: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--primary: #4f46e5;--primary-pressed: #4338ca;--primary-glow: rgba(79, 70, 229, .08);--primary-fg: #ffffff;--player-x: #ef4444;--player-o: #3b82f6;--grid-line: #cbd5e1;--cell-bg: #ffffff;--cell-hover: #f1f5f9;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--border-radius: 8px}[data-theme=dark]{--bg-app: #07080a;--bg-card: #0d0d0d;--border-color: #242728;--text-main: #f4f4f6;--text-muted: #9c9c9d;--primary: #ffffff;--primary-pressed: #e8e8e8;--primary-glow: rgba(255, 255, 255, .08);--primary-fg: #000000;--player-x: #ff6161;--player-o: #57c1ff;--grid-line: #242728;--cell-bg: #0d0d0d;--cell-hover: #121212;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--font-family: var(--font-sans);--border-radius: 8px;--glow-oldest: 0 0 16px 3px var(--player-x)}[data-theme=neon]{--bg-app: #030712;--bg-card: #090d16;--border-color: #d946ef;--text-main: #fdf2ff;--text-muted: #d946ef;--primary: #10b981;--primary-glow: rgba(16, 185, 129, .4);--player-x: #f43f5e;--player-o: #00d2ff;--grid-line: #374151;--cell-bg: #05070f;--cell-hover: #1c0d22;--shadow-sm: 0 0 5px rgba(217, 70, 239, .2);--shadow-md: 0 0 10px rgba(217, 70, 239, .3);--shadow-lg: 0 0 20px rgba(217, 70, 239, .4);--font-family: var(--font-sans);--border-radius: 8px;--glow-oldest: 0 0 18px 4px #ff007f}[data-theme=retro]{--bg-app: #121214;--bg-card: #1c1c1f;--border-color: #f97316;--text-main: #ffffff;--text-muted: #a1a1aa;--primary: #8b5cf6;--primary-glow: rgba(139, 92, 246, .4);--player-x: #f97316;--player-o: #00a2ff;--grid-line: #27272a;--cell-bg: #18181b;--cell-hover: #3f3f46;--shadow-sm: 3px 3px 0px #000;--shadow-md: 5px 5px 0px #000;--shadow-lg: 8px 8px 0px #000;--font-family: var(--font-retro);--border-radius: 0px;--glow-oldest: 0 0 0px 4px #f97316}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-family)}html,body{background-color:var(--bg-app);color:var(--text-main);font-feature-settings:"calt","kern","liga","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-speed),color var(--transition-speed);min-height:100vh;overflow-x:hidden;width:100%}astro-island,astro-slot{display:contents}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root{--mobile-gap: 12px;--mobile-padding: 16px;--mobile-radius: 12px;--touch-target: 48px}.nickname-input-group{display:flex;gap:10px;width:100%}.tab-text-desktop{display:inline}.tab-text-mobile{display:none}.dashboard-title{font-size:3rem}@media(max-width:600px){.nickname-input-group{flex-direction:column!important;gap:8px!important}.nickname-save-btn{width:100%!important}.tab-text-desktop{display:none!important}.tab-text-mobile{display:inline!important}}@media(max-width:480px){.win-overlay{padding:16px 12px!important}.dashboard-title{font-size:2.25rem!important}.container{padding:var(--mobile-padding)}.dashboard-grid{display:flex!important;flex-direction:column!important;gap:var(--mobile-gap)!important}.dashboard-sidebar{order:-1}.btn-primary,.btn-secondary,.btn-tertiary{min-height:var(--touch-target);padding:12px 16px;font-size:1rem;white-space:normal!important;word-break:break-word!important;text-align:center}.dashboard-action-grid button{height:auto!important;min-height:84px!important;white-space:normal!important;word-break:break-word!important}.feature-grid,.feature-grid-3{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.feature-grid-3>button{padding:10px 6px!important;font-size:.65rem!important}.profile-quickcard,.sidebar-widget{padding:16px!important}.board-container{max-width:100%!important;gap:6px!important;padding:8px!important}.cell-btn{min-width:64px!important}.piece-placed{font-size:2.5rem!important}.timer-display{font-size:1.5rem!important}h1{font-size:2rem!important}.mode-select-grid{grid-template-columns:1fr!important}.stat-grid{grid-template-columns:repeat(2,1fr)!important}.player-grid{grid-template-columns:1fr!important;gap:12px!important;padding:16px!important}.player-grid>div{display:flex!important;flex-direction:column!important;align-items:center!important;padding:8px!important}.vs-timer{order:-1!important}.player-x-info{order:1!important}.player-o-info{order:2!important}.game-header{flex-direction:column!important;gap:12px!important;text-align:center!important}}@media(min-width:481px)and (max-width:768px){.container{padding:20px}.dashboard-grid{grid-template-columns:1fr!important}.dashboard-sidebar{order:-1}.feature-grid,.feature-grid-3{grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.board-container{max-width:100%!important;gap:8px!important;padding:10px!important}.cell-btn{min-width:72px!important}.player-grid{grid-template-columns:1fr auto 1fr!important;gap:16px!important;padding:18px!important}.vs-timer{min-width:60px}}@media(min-width:769px)and (max-width:1024px){.dashboard-grid{grid-template-columns:1fr 300px!important}.feature-grid,.feature-grid-3{grid-template-columns:repeat(3,1fr)!important}}@media(min-width:1025px){.dashboard-grid{grid-template-columns:1fr 280px!important}}@media(max-width:640px){.game-header{flex-direction:column!important;gap:12px!important;text-align:center!important}.player-grid{grid-template-columns:1fr!important;gap:12px!important}.player-grid>div{display:flex!important;flex-direction:column!important;align-items:center!important}.vs-timer{order:2!important}.player-x-info{order:1!important}.player-o-info{order:3!important}.board-container{max-width:100%!important;gap:6px!important;padding:8px!important}.cell-btn{min-width:64px!important}.piece-placed{font-size:2.5rem!important}.timer-display{font-size:1.5rem!important}.win-modal-content{padding:20px!important;margin:16px!important;max-width:calc(100% - 32px)!important}}@media(pointer:coarse){.btn-primary,.btn-secondary,.btn-tertiary,.cell-btn,button[role=button]{min-height:48px;touch-action:manipulation}.cell-btn{min-width:64px}}.gradient-bg{position:fixed;inset:0;z-index:-10;overflow:hidden}.gradient-circle{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(150px);opacity:.15;animation:floatCircle 25s infinite alternate ease-in-out}.gradient-circle-1{background:var(--player-x);top:-200px;left:-200px}.gradient-circle-2{background:var(--player-o);bottom:-200px;right:-200px;animation-delay:-5s}@keyframes floatCircle{0%{transform:translate(0) scale(1)}50%{transform:translate(100px,50px) scale(1.1)}to{transform:translate(-50px,150px) scale(.95)}}.card-common{border:2px solid var(--rarity-common);box-shadow:0 4px 6px -1px #0000001a}.card-rare{border:2px solid var(--rarity-rare);box-shadow:0 0 10px #3b82f64d}.card-epic{border:2px solid var(--rarity-epic);box-shadow:0 0 15px #a855f766}.card-legendary{border:2px solid var(--rarity-legendary);box-shadow:0 0 20px #f59e0b80}.card-mythic{position:relative;border:2px solid transparent;background:linear-gradient(var(--bg-card),var(--bg-card)) padding-box,linear-gradient(135deg,#ff007f,#7f00ff,#0ff,#00ff7f,#ff007f) border-box;animation:rainbowBorder 4s linear infinite;box-shadow:0 0 25px #ec489980}@keyframes rainbowBorder{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.board-container{display:grid;aspect-ratio:1;width:100%;max-width:450px;margin:0 auto;gap:12px;background-color:var(--grid-line);padding:12px;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);border:2px solid var(--border-color);position:relative}[data-theme=retro] .board-container{gap:6px;padding:6px;background-color:#000;border:6px solid var(--border-color)}.cell-btn{background-color:var(--cell-bg);border:none;border-radius:calc(var(--border-radius) - 4px);display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:background-color .2s,transform .1s;width:100%!important;aspect-ratio:1 / 1!important;height:auto!important}[data-theme=retro] .cell-btn{border-radius:0;box-shadow:inset -4px -4px #000,inset 4px 4px #ffffff1a}.cell-btn:hover:not(:disabled){background-color:var(--cell-hover);transform:scale(1.02)}.cell-btn:active:not(:disabled){transform:scale(.98)}.piece-placed{font-size:3rem;display:flex;align-items:center;justify-content:center;animation:dropIn .3s var(--transition-bounce) forwards;user-select:none;width:100%;height:100%}.piece-x{color:var(--player-x)}.piece-o{color:var(--player-o)}@keyframes dropIn{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.oldest-glow{animation:pulseGlow 1.5s infinite ease-in-out;box-shadow:var(--glow-oldest)!important}[data-theme=neon] .oldest-glow{box-shadow:0 0 25px 6px var(--player-x)!important}[data-theme=retro] .oldest-glow{animation:pulseFlash .5s infinite steps(2)}@keyframes pulseGlow{0%{opacity:.8;transform:scale(.96)}50%{opacity:1;transform:scale(1.02)}to{opacity:.8;transform:scale(.96)}}@keyframes pulseFlash{0%{outline:4px solid var(--player-x)}to{outline:0px solid transparent}}.piece-vanishing{animation:poofOut .4s ease-out forwards}@keyframes poofOut{0%{transform:scale(1);filter:blur(0px);opacity:1}50%{transform:scale(1.2);filter:blur(3px);opacity:.5}to{transform:scale(0);filter:blur(10px);opacity:0}}.win-overlay{animation:fadeIn .3s ease-out forwards;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.container{max-width:1000px;margin:0 auto;padding:24px}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em}[data-theme=retro] h1,[data-theme=retro] h2,[data-theme=retro] h3{letter-spacing:0;line-height:1.5}.btn-primary{background:var(--primary);color:var(--primary-fg, #000000);border:1px solid var(--border-color);padding:8px 16px;height:36px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:background-color var(--transition-speed) ease,border-color var(--transition-speed) ease,transform .1s ease;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn-primary:hover{background:var(--primary-pressed, #e8e8e8)}.btn-primary:active{transform:scale(.98)}[data-theme=retro] .btn-primary{box-shadow:4px 4px #000;border:3px solid #fff;border-radius:0;transform:none!important;color:#fff}[data-theme=retro] .btn-primary:active{transform:translate(2px,2px)!important;box-shadow:2px 2px #000}.btn-secondary{background:transparent;color:var(--text-main);border:1px solid var(--border-color);padding:8px 16px;height:36px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:background-color var(--transition-speed) ease,border-color var(--transition-speed) ease,transform .1s ease;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn-secondary:hover{background:var(--cell-hover);border-color:var(--text-muted)}.btn-secondary:active{transform:scale(.98)}[data-theme=retro] .btn-secondary{box-shadow:4px 4px #000;border:3px solid var(--border-color);border-radius:0}.btn-tertiary{background:#101111;color:var(--text-main);border:1px solid var(--border-color);padding:8px 16px;height:36px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:background-color var(--transition-speed) ease,border-color var(--transition-speed) ease,transform .1s ease;display:inline-flex;align-items:center;gap:8px;justify-content:center}.btn-tertiary:hover{background:#121212}.btn-tertiary:active{transform:scale(.98)}.badge-unlocked{background:linear-gradient(135deg,#f59e0b1a,#ef44441a);border:1px solid #f59e0b}.badge-locked{background:var(--cell-bg);border:1px solid var(--border-color);opacity:.5;filter:grayscale(1)}.winning-svg-line{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.winning-line{stroke-width:1px;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawWinningLine .7s cubic-bezier(.4,0,.2,1) forwards}@keyframes drawWinningLine{to{stroke-dashoffset:0}}.winning-line-x{stroke:var(--player-x);filter:drop-shadow(0 0 10px var(--player-x))}.winning-line-o{stroke:var(--player-o);filter:drop-shadow(0 0 10px var(--player-o))}.cell-btn.winning-cell{position:relative;z-index:5;animation:winCellPulse 1.5s infinite ease-in-out alternate}.cell-btn.winning-cell-x{border:2px solid var(--player-x)!important;background-color:#ef444414!important}.cell-btn.winning-cell-o{border:2px solid var(--player-o)!important;background-color:#3b82f614!important}.cell-btn.winning-cell:disabled{opacity:1!important;cursor:default}@keyframes winCellPulse{0%{transform:scale(1);box-shadow:inset 0 0 8px #ffffff1a}to{transform:scale(1.03);box-shadow:inset 0 0 16px #fff3}}[data-theme=retro] .winning-line{stroke-width:1.5px;stroke-linecap:square;filter:none!important}[data-theme=retro] .cell-btn.winning-cell{animation:retroWinCellPulse .4s infinite steps(2);transform:none!important}@keyframes retroWinCellPulse{0%{background-color:var(--cell-bg)}to{background-color:var(--border-color)}}.chest-bounce{animation:chestBounce 1.2s infinite ease-in-out}@keyframes chestBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.03)}}.chest-open-shake{animation:chestOpenShake .15s infinite alternate}@keyframes chestOpenShake{0%{transform:rotate(-3deg) translate(-2px)}to{transform:rotate(3deg) translate(2px)}}.unbox-reveal-burst{animation:unboxRevealBurst .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes unboxRevealBurst{0%{transform:scale(.2) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.cell-blocked{background-color:#ef444414!important;border:2px dashed #ef4444!important;cursor:not-allowed!important;opacity:.8}.ghost-glow{box-shadow:0 0 14px 2px #ec4899!important;border:2px dashed #ec4899!important;animation:pulseGhost 1.5s infinite ease-in-out}@keyframes pulseGhost{0%,to{opacity:.9;box-shadow:0 0 10px 1px #ec4899!important}50%{opacity:.45;box-shadow:0 0 18px 4px #ec4899!important}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));background-color:var(--bg-card);border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:center;z-index:100;box-shadow:0 -4px 12px #0000000d;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;gap:4px;transition:color var(--transition-speed) ease,transform .1s ease}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item.active{color:var(--primary)}.app-container{min-height:100dvh;padding-top:env(safe-area-inset-top,16px)!important;padding-bottom:calc(84px + env(safe-area-inset-bottom))!important;display:flex;flex-direction:column;align-items:center;width:100%;max-width:100vw;overflow-x:hidden}.game-container-wrapper{padding:16px}@media(max-width:480px){.game-container-wrapper{padding:8px!important}}.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:480px){.dashboard-action-grid{grid-template-columns:repeat(2,1fr)!important}}.player-grid-mobile{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;margin-bottom:20px}@media(max-width:640px){.player-grid-mobile{grid-template-columns:1.2fr auto 1.2fr!important;gap:6px!important;padding:8px 10px!important;margin-bottom:12px!important}.player-grid-mobile>.player-x-info{order:1!important;padding:6px!important}.player-grid-mobile>.vs-timer{order:2!important;margin:0!important;min-width:44px}.player-grid-mobile>.player-o-info{order:3!important;padding:6px!important}.player-grid-mobile .player-x-info div,.player-grid-mobile .player-o-info div,.player-grid-mobile .vs-timer span{font-size:14px!important}}.game-controls-bottom{display:flex;flex-direction:column;gap:10px;margin-top:20px;width:100%}.leaderboard-list{display:flex;flex-direction:column;gap:10px;padding:8px}.leaderboard-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:transform var(--transition-speed) ease}.leaderboard-row-me{background-color:var(--primary-glow)!important;border-color:var(--primary)!important}.leaderboard-left{display:flex;align-items:center;gap:12px}.leaderboard-rank{font-weight:800;font-size:1.1rem;min-width:32px}.leaderboard-avatar-wrapper{width:36px;height:36px;border-radius:8px;background-color:var(--cell-bg);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.leaderboard-player-name{font-weight:700;color:var(--text-main);font-size:.95rem}.leaderboard-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.leaderboard-wins{font-weight:800;color:var(--primary);font-size:.9rem}.leaderboard-rp{font-size:14px;color:var(--text-muted);font-weight:600}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px}@media(max-width:480px){.collection-grid{grid-template-columns:repeat(2,1fr)!important}}.collection-container{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}@media(max-width:768px){.collection-container{grid-template-columns:1fr!important}}@media(max-width:480px){.win-modal-content{padding:16px!important;margin:12px!important}.character-card-display{width:160px!important;height:220px!important}.merge-slot-card{width:70px!important;height:100px!important}.merge-slot-container{padding:16px 10px!important;gap:10px!important}.dashboard-title{font-size:2rem!important}.game-controls-bottom{flex-direction:column!important;gap:8px!important}}
