html,body{margin:0;padding:0;height:100%;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;display:flex;flex-direction:column}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--panel: #ffffff;--panel-border: #e7eaf0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--bg-soft: #f7f8fa;--radius: 16px;--shadow: 0 -2px 12px rgba(15, 23, 42, .06)}.footer{background:var(--panel);border-top:1px solid var(--panel-border);box-shadow:var(--shadow);width:100%}.footer-container{max-width:960px;margin:0 auto;padding:18px 20px;display:flex;justify-content:center}.credits{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:18px;list-style:none;margin:0;padding:0;color:var(--text);font-size:.98rem}.person{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border:1px solid var(--panel-border);border-radius:var(--radius);background:#fff;transition:background .15s ease,border-color .15s ease,transform .06s ease}.person:hover{background:var(--bg-soft);border-color:#dce1ea}.person:active{transform:translateY(1px)}.person-info{display:flex;flex-direction:column;align-items:flex-start}.person-name{font-weight:600;color:var(--text);font-size:1rem;line-height:1.4}.person-role{font-size:.9rem;color:var(--muted);line-height:1.2}.links{display:flex;align-items:center;gap:10px}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--panel-border);background:#f8fafc;color:var(--accent);transition:background .15s ease,border-color .15s ease,transform .06s ease}.icon-btn:hover{background:#eff4ff;border-color:#dce6ff}.icon-btn:active{transform:translateY(1px)}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb2e}@media(max-width:600px){.footer-container{padding:14px 12px}.credits{gap:14px}.person{flex-direction:column;align-items:center;gap:8px;padding:10px 12px}.person-info{align-items:center}}.navbar{padding:0;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 10px #0000001a}.navbar-container{padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:100px}.navbar-title-link{text-decoration:none;color:inherit;transition:color .2s ease}.navbar-title-link:hover{color:#2563eb}.navbar-title-link h1{margin:0;cursor:pointer}.navbar-button-container{display:flex;align-items:center;height:50%;gap:1rem}.navbar-user,.welcome-text{color:#333;font-size:16px;font-weight:500;padding:0 1rem}.navbar-button{background-color:#fff;border:2px solid #e0e0e0;border-radius:.75rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease;font-family:inherit;min-width:140px}.navbar-button:hover{transform:translateY(-2px);background-color:#f0f0f0;border-color:#d0d0d0;box-shadow:0 4px 12px #0000001a}.auth-page{display:flex;align-items:center;justify-content:center;background:#f5f5f5;padding:20px;flex:1}.auth-container{width:100%;max-width:400px}.auth-card{background:#fff;border-radius:8px;padding:40px;box-shadow:0 2px 8px #00000014;border:1px solid #e0e0e0}.auth-title{text-align:center;color:#333;margin-bottom:8px;font-size:20px;font-weight:600}.auth-subtitle{text-align:center;color:#666;margin-bottom:30px;font-size:16px;font-weight:400}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:14px}.form-group input{padding:10px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:15px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#999}.error{color:#d32f2f}.auth-button{background:#333;color:#fff;border:none;padding:12px;border-radius:4px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.auth-button:hover:not(:disabled){background:#555}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-toggle{margin-top:20px;text-align:center;color:#666;font-size:14px}.toggle-button{background:none;border:none;color:#333;font-weight:500;cursor:pointer;text-decoration:underline;padding:0;margin-left:4px}.toggle-button:hover{color:#000}:root{--panel: #ffffff;--panel-border: #e7eaf0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-ghost: #eff4ff;--radius: 16px;--radius-sm: 12px;--shadow-1: 0 6px 24px rgba(15, 23, 42, .06);--shadow-2: 0 10px 30px rgba(15, 23, 42, .08)}.leaderboard-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:1.1rem;display:flex;flex-direction:column;gap:.75rem}.leaderboard-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding-bottom:.1rem}.leaderboard-title{margin:0;font-weight:700;font-size:1.05rem;color:var(--text)}.leaderboard-subtle{color:var(--muted);font-size:.9rem}.leaderboard-list{display:flex;flex-direction:column;gap:.75rem;width:100%}.leaderboard-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px dashed var(--panel-border);border-radius:var(--radius-sm);min-height:180px;background:#0f172a05;font-size:.95rem}.leaderboard-entry{background:#fff;border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:.8rem .95rem;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:.75rem;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.leaderboard-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:#dde3ec}.leaderboard-entry:nth-child(1){box-shadow:inset 3px 0 #fbbf24,var(--shadow-1)}.leaderboard-entry:nth-child(2){box-shadow:inset 3px 0 #cbd5e1,var(--shadow-1)}.leaderboard-entry:nth-child(3){box-shadow:inset 3px 0 #f59e0b,var(--shadow-1)}.rank-badge{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;font-weight:700;font-size:1rem;background:#f1f5f9;color:var(--text);border:1px solid var(--panel-border);-webkit-user-select:none;user-select:none}.rank-badge.medal{background:var(--accent-ghost);border-color:var(--accent)}.leaderboard-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem}.leaderboard-score{font-weight:800;color:var(--accent);text-align:right;min-width:3ch;font-size:1rem}.placeholder .leaderboard-name,.placeholder .leaderboard-score{color:var(--muted)}@media(max-width:520px){.leaderboard-entry{grid-template-columns:32px 1fr auto;padding:.75rem .85rem}.rank-badge{width:28px;height:28px;font-size:.95rem}.leaderboard-name{font-size:.9rem}.leaderboard-score{font-size:.92rem}}:root{--panel: #ffffff;--panel-border: #e7eaf0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-ghost: #eff4ff;--radius: 16px}.stats-card.pane{align-items:stretch;justify-content:flex-start;gap:.9rem;padding:1.1rem;height:100%}.stats-header{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.1rem}.stats-username{font-size:.9rem;color:var(--muted);word-break:break-all}.stats-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--muted);font-size:.95rem;border:1px dashed var(--panel-border);border-radius:12px;background:#0f172a05}.stats-layout-fixed{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"wins losses" "winr winr" "games games" "time avg" "high pairs";gap:.75rem;align-content:start}.area-wins{grid-area:wins}.area-losses{grid-area:losses}.area-winrate{grid-area:winr}.area-games{grid-area:games}.area-time{grid-area:time}.area-avg{grid-area:avg}.area-high{grid-area:high}.area-pairs{grid-area:pairs}.stat{background:#fff;border:1px solid var(--panel-border);border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.4rem;min-height:88px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.stat:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0f172a14;border-color:#dde3ec}.stat-head{display:flex;align-items:center;gap:.5rem}.stat-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--accent-ghost);color:var(--accent);border:1px solid var(--accent);flex:0 0 auto}.stat-label{font-size:.82rem;color:var(--muted)}.stat-value{font-weight:800;font-size:1.15rem;color:var(--text);line-height:1.2}.stat-hint{font-size:.8rem;color:var(--muted)}.progress{height:8px;width:100%;border-radius:999px;background:#eef2f7;border:1px solid var(--panel-border);overflow:hidden;margin-top:.1rem}.progress-bar{height:100%;width:0%;background:var(--accent);border-right:1px solid rgba(0,0,0,.08);border-radius:999px;transition:width .26s ease}@media(max-width:560px){.stats-layout-fixed{grid-template-columns:1fr;grid-template-areas:"wins" "losses" "winr" "games" "time" "avg" "high" "pairs"}}.home-container{min-height:50dvh;display:grid;place-items:center;padding:1.25rem;background:var(--bg);color:var(--text)}.shell{width:100%;max-width:920px}.welcome-section{padding:2rem;margin-bottom:1.25rem}.headline{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:700;letter-spacing:.1px;margin:0 0 .5rem}.gradient-text{color:var(--accent)}.subtle{color:var(--muted)}.user-info{color:var(--muted);font-size:.95rem;display:grid;gap:.7rem}.game-actions{padding:2rem;margin-top:1rem}.section-title{font-size:1.1rem;font-weight:700;margin:0 0 1.25rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}@media(max-width:820px){.grid{grid-template-columns:1fr}}.pane{background:#fff;border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.pane:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:#dde3ec}.pane-title{margin:0 0 .75rem;font-weight:600}.game-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.2rem;border-radius:12px;font-weight:600;font-size:1rem;border:1px solid #e5e7eb;background:#f8fafc;color:#0f172a;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease;min-width:160px}.game-button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.btn-accent{background:#fff;color:var(--accent);border:1px solid var(--accent)}.btn-accent:hover:not(:disabled){background:var(--accent-ghost)}.join-game-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.code-input-wrap{position:relative;display:grid;place-items:center;margin-bottom:1.5rem}.game-code-input{width:90%;text-align:center;padding:.9rem 1rem;font-size:1.6rem;letter-spacing:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text);background:#fff;border-radius:12px;border:1px solid var(--panel-border);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.game-code-input::placeholder{color:#c3c9d3;letter-spacing:.35rem}.game-code-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.code-dots{position:absolute;bottom:-16px;left:0;right:0;display:flex;justify-content:center;gap:12px}.code-dots span{width:6px;height:6px;border-radius:999px;background:#0000002e;transition:background .12s ease,transform .12s ease}.code-dots span.filled{background:var(--accent);transform:scale(1.1)}.hint{color:var(--muted);font-size:.9rem;margin-top:.6rem;text-align:center}.divider{height:1px;background:#eef1f5;margin:1.5rem 0}.error-message{margin:1rem 0 1.25rem;padding:.85rem 1rem;text-align:center;font-weight:600;border-radius:12px;color:#9f1239;background:#fef2f2;border:1px solid #fecaca}@media(max-width:768px){.home-container{padding:2rem 1rem}.game-button{width:100%}.game-code-input{width:100%;letter-spacing:.3rem}}:root{--action-width: 280px}.pane{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.single-player-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.75rem}.single-player-section .pane-title{margin:0;text-align:center}.single-player-section .game-button{width:var(--action-width)}.cards-row{display:flex;flex-direction:row;gap:2rem;width:100%;justify-content:center;align-items:stretch}.stats-card-col{width:25%;min-width:0;display:flex;flex-direction:column}.main-card-col{width:50%;min-width:0;display:flex;flex-direction:column}.leaderboard-card-col{width:25%;min-width:0;display:flex;flex-direction:column}@media(max-width:900px){.cards-row{flex-direction:column;gap:1.5rem}.stats-card-col,.main-card-col,.leaderboard-card-col{width:100%}}.card{width:15vh;height:15vh;perspective:1000px;transition:transform .2s ease}.card:hover{transform:translateY(-6px) scale(1.02)}.card.matched:hover{transform:none}.card.not-clickable{cursor:not-allowed;filter:saturate(.85)}.card.not-clickable:hover{transform:none}.card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s}.card.flipped .card-inner{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:1.5rem;background:#ffffffe6;box-shadow:#32325d1a 0 6px 12px -2px,#0000001a 0 3px 7px -3px;backface-visibility:hidden}.card-face:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;background:linear-gradient(135deg,#ff6ec4,#7873f5,#00ff2b);background-size:200% 200%;opacity:0;transition:opacity .3s ease;animation:borderShift 3s linear infinite;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-origin:content-box,border-box;-webkit-mask-clip:content-box,border-box;-webkit-mask-repeat:no-repeat,no-repeat;mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-origin:content-box,border-box;mask-clip:content-box,border-box;mask-repeat:no-repeat,no-repeat;-webkit-mask-composite:xor;mask-composite:exclude}.card:hover .card-face:before{opacity:1}.card.matched .card-face:before{opacity:0!important;animation:none!important}.card-front{transform:rotateY(0)}.card-back{transform:rotateY(180deg)}.card-face img{height:100%;width:100%;object-fit:cover;display:block;z-index:1;opacity:.92;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.card-face.matched{background:#fffffff0;box-shadow:#32325d1a 0 6px 12px -2px,#0000001a 0 3px 7px -3px;transition:border .2s ease}.card-face.matched.matched-own{border:4px solid #16a34a}.card-face.matched.matched-opponent{border:4px solid #dc2626}@keyframes borderShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}:root{--bg: #f7f8fa;--panel: #ffffff;--panel-border: #e7eaf0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-ghost: #eff4ff;--danger: #dc2626;--radius: 16px;--radius-sm: 12px;--shadow-1: 0 6px 24px rgba(15, 23, 42, .06);--shadow-2: 0 10px 30px rgba(15, 23, 42, .08);--win-start: #22c55e;--win-end: #16a34a;--lose-start: #ef4444;--lose-end: #f97316}.multiplayer-game-container{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg);color:var(--text)}.game-layout{display:grid;grid-template-columns:320px 1fr;gap:4rem;width:100%;max-width:1100px;align-items:stretch}.error-container{max-width:500px;width:100%;padding:2rem}.error-content{text-align:center;display:flex;flex-direction:column;gap:1.5rem}.error-title{font-size:1.5rem;font-weight:700;color:var(--danger);margin:0}.error-message{font-size:1.1rem;color:var(--text);line-height:1.6;margin:0}.sidebar{padding:1.25rem;display:flex;width:100%;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:var(--radius)}.sidebar-inner{display:flex;flex-direction:column;gap:1rem;flex-grow:1}.game-pin-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:.75rem}.game-pin-label{color:var(--muted);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;text-align:center}.game-pin-box{display:inline-flex;justify-content:center;align-items:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:2rem;font-weight:700;letter-spacing:.3rem;color:var(--text);border:1px solid var(--panel-border);border-radius:12px;padding:.8rem 1.4rem;background:#fff;text-align:center;-webkit-user-select:all;user-select:all;box-shadow:0 3px 10px #0f172a0d;transition:all .15s ease}.game-pin-box:hover{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.sidebar-players{display:flex;flex-direction:column;gap:.8rem}.player-card{background:#fff;border:1px solid var(--panel-border);border-radius:var(--radius-sm);padding:1rem 1.1rem;display:grid;grid-template-columns:48px 1fr auto;grid-template-areas:"avatar name tag" "avatar score tag" "avatar timer tag";column-gap:.9rem;row-gap:.4rem;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.player-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:#dde3ec}.player-card.is-turn{border:3px solid var(--accent);box-shadow:0 0 0 3px #2563eb1f}.player-avatar{grid-area:avatar;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--accent);background:var(--accent-ghost);border:1px solid var(--accent)}.player-name{grid-area:name;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-row{grid-area:score;display:inline-flex;align-items:center;gap:.5rem}.score-label{color:var(--muted);font-weight:700;font-size:.9rem}.score-pill{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;padding:.25rem .55rem;border-radius:999px;background:#fff;border:1px solid var(--panel-border)}.player-timer{grid-area:timer;font-size:.85rem;color:var(--muted);font-family:ui-monospace,Menlo,monospace}.turn-tag{grid-area:tag;align-self:start;justify-self:end;font-size:.82rem;font-weight:800;color:var(--accent);background:#fff;border:1.5px solid var(--accent);padding:.2rem .55rem;border-radius:999px}.turn-indicator{background:#f1f5f9;border:1px solid var(--panel-border);color:var(--text);border-radius:12px;padding:.7rem .9rem;text-align:center;font-weight:700}.turn-indicator.waiting{color:var(--muted)}.turn-indicator.waiting .dots{display:inline-flex;gap:6px;margin-left:6px}.turn-indicator.waiting .dots span{width:6px;height:6px;border-radius:50%;background:#0000002e;animation:dot 1.2s ease-in-out infinite}.turn-indicator.waiting .dots span:nth-child(2){animation-delay:.15s}.turn-indicator.waiting .dots span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{transform:translateY(0);opacity:.6}40%{transform:translateY(-3px);opacity:1}}.game-result{position:relative;box-sizing:border-box;align-self:stretch;width:100%;max-width:100%;margin-top:.5rem;border-radius:14px;padding:1rem 1.1rem;text-align:center;color:#fff;font-weight:900;letter-spacing:.2px;overflow:hidden;border:1px solid rgba(255,255,255,.25);transform:translateY(6px) scale(.98);opacity:0;animation:resultIn .38s cubic-bezier(.2,.8,.2,1) forwards;box-shadow:0 10px 28px #0f172a1f}@keyframes resultIn{to{transform:translateY(0) scale(1);opacity:1}}.game-result:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#ffffff17,#fff0,#ffffff17 64%,#fff0);transform:translate(-100%);animation:sweep 2.3s ease-in-out .35s infinite;pointer-events:none}@keyframes sweep{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.game-result.winner{background:linear-gradient(135deg,var(--win-start),var(--win-end));box-shadow:0 10px 30px #16a34a38}.game-result.loser{background:linear-gradient(135deg,var(--lose-start),var(--lose-end));box-shadow:0 10px 30px #ef444438}.result-row{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-size:1.05rem}.result-icon{font-size:1.25rem}.result-sub{display:block;margin-top:.3rem;font-size:.9rem;font-weight:800;opacity:.95}.sidebar-controls{display:flex;justify-content:center;margin-top:.25rem}.control-button{border:none;border-radius:12px;padding:.8rem 1.2rem;font-weight:700;font-size:1rem;cursor:pointer;background:var(--danger);color:#fff;transition:all .15s ease;width:100%;max-width:240px}.control-button:hover{background:#b91c1c}.board-col{display:flex;flex-direction:column;justify-content:center}.board-col.glass{background:#ffffffd1;border:1px solid rgba(231,234,240,.72);box-shadow:0 12px 32px #0f172a1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.board-panel{padding:1.25rem;display:flex;justify-content:center;align-items:center;min-height:560px;position:relative;overflow:hidden;border-radius:var(--radius)}.board-panel:before{content:"";position:absolute;inset:0;background-image:url(/assets/background-B85VKYbf.png);background-repeat:no-repeat;background-position:center;background-size:cover;opacity:.55;pointer-events:none;image-rendering:pixelated;filter:saturate(1.05);z-index:0;border-radius:inherit}.board-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(185deg,#ffffff7a,#fff6 38%,#ffffff85);pointer-events:none;z-index:0;border-radius:inherit}.board-center{display:grid;place-items:center;min-height:100%}.cards-container{display:grid;grid-template-columns:repeat(4,auto);gap:1.1rem;justify-content:center;align-content:center;position:relative;z-index:1}.card-wrap{position:relative;border-radius:12px}.card-wrap>*{display:block}.placeholder-text{color:var(--text);font-weight:600;text-align:center;font-size:1.1rem;opacity:.8}@media(max-width:900px){.multiplayer-game-container{align-items:flex-start;padding:1rem}.game-layout{grid-template-columns:1fr;gap:1.25rem}.board-panel{min-height:auto}.game-pin-box{font-size:1.6rem;letter-spacing:.28rem}.game-result{margin-top:.25rem}}@media(max-width:520px){.cards-container{grid-template-columns:repeat(2,auto);gap:.8rem}}.not-found-game-container{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem;background:#f7f8fa}.not-found-game-content{text-align:center;background:#fdfefc;padding:3rem;border:1px solid #e7eaf0;border-radius:16px;box-shadow:0 6px 24px #0f172a0f;max-width:500px;width:100%}.not-found-game-image{width:120px;height:120px;object-fit:contain;margin:0 auto 1rem;display:block}.not-found-game-subtitle{font-size:2rem;color:#0f172a;margin:1rem 0;font-weight:600}.not-found-game-message{font-size:1.1rem;color:#64748b;margin:1.5rem 0 2rem;line-height:1.6}.not-found-game-home-link{display:inline-block;background:#2563eb;color:#fff;padding:.8rem 2rem;text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:all .3s ease}.not-found-game-home-link:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d;text-decoration:none;color:#fff}.not-found-game-home-link:active{transform:translateY(0)}@media(max-width:768px){.not-found-game-container{padding:1rem}.not-found-game-content{padding:2rem}.not-found-game-image{width:80px;height:80px}.not-found-game-subtitle{font-size:1.5rem}.not-found-game-message{font-size:1rem}}.not-found-container{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem;background:#f7f8fa}.not-found-content{text-align:center;background:#fff;padding:3rem;border:1px solid #e7eaf0;border-radius:16px;box-shadow:0 6px 24px #0f172a0f;max-width:500px;width:100%}.not-found-title{font-size:6rem;font-weight:700;color:#2563eb;margin:0}.not-found-subtitle{font-size:2rem;color:#0f172a;margin:1rem 0;font-weight:600}.not-found-message{font-size:1.1rem;color:#64748b;margin:1.5rem 0 2rem;line-height:1.6}.not-found-home-link{display:inline-block;background:#2563eb;color:#fff;padding:.8rem 2rem;text-decoration:none;border-radius:12px;font-weight:600;font-size:1rem;transition:all .3s ease}.not-found-home-link:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d;text-decoration:none;color:#fff}.not-found-home-link:active{transform:translateY(0)}@media(max-width:768px){.not-found-container{padding:1rem}.not-found-content{padding:2rem}.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.5rem}.not-found-message{font-size:1rem}}:root{--bg: #f7f8fa;--panel: #ffffff;--panel-border: #e7eaf0;--text: #0f172a;--muted: #64748b;--accent: #2563eb;--accent-ghost: #eff4ff;--danger: #dc2626;--radius: 16px;--radius-sm: 12px;--shadow-1: 0 6px 24px rgba(15, 23, 42, .06);--shadow-2: 0 10px 30px rgba(15, 23, 42, .08)}.sp-game-container{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:1.25rem;background:var(--bg);color:var(--text)}.sp-shell{width:100%;max-width:920px}.glass{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.glow{isolation:isolate}.sp-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.5rem;margin-bottom:1.25rem}.sp-title{margin:0 0 .25rem;font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:800;letter-spacing:.1px}.sp-subtle{margin:0;color:var(--muted);font-size:.95rem}.sp-actions{display:inline-flex;gap:.6rem;align-items:center}.game-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.2rem;border-radius:12px;font-weight:700;font-size:1rem;border:1px solid #e5e7eb;background:#f8fafc;color:#0f172a;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease;min-width:140px}.game-button:hover:not(:disabled){background:#eef2f7;border-color:#e2e8f0}.game-button:active:not(:disabled){transform:translateY(1px)}.btn-muted{background:#f1f5f9;color:#334155;border-color:#e2e8f0}.btn-muted:hover:not(:disabled){background:#e9eef5}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.sp-board{padding:1.25rem;position:relative;overflow:hidden}.sp-board:before{content:"";position:absolute;inset:0;background-image:url(/assets/background-B85VKYbf.png);background-repeat:no-repeat;background-position:center;background-size:cover;opacity:.55;pointer-events:none;image-rendering:pixelated;filter:saturate(1.05);z-index:0;border-radius:inherit}.sp-board:after{content:"";position:absolute;inset:0;background:linear-gradient(185deg,#ffffff7a,#fff6 38%,#ffffff85);pointer-events:none;z-index:0;border-radius:inherit}.cards-container{display:grid;justify-content:center;grid-template-columns:repeat(4,auto);gap:1.1rem;padding:1rem;position:relative;z-index:1}.card-wrap:hover{filter:drop-shadow(0 4px 14px rgba(15,23,42,.08))}@media(max-width:860px){.sp-header{grid-template-columns:1fr;text-align:center}.sp-actions{justify-content:center}}@media(max-width:600px){.cards-container{grid-template-columns:repeat(3,auto);gap:.9rem}}@media(max-width:460px){.cards-container{grid-template-columns:repeat(2,auto);gap:.8rem}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;background-color:#f8f9fa}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
