:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-main:#040616;--bg-elevated:#070a1f;--bg-soft:#0b1028;--accent:#4ade80;--accent-soft:#4ade8024;--text-main:#e5e7eb;--text-muted:#9ca3af;--border-subtle:#94a3b84d;--radius-lg:20px;--radius-xl:24px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{color:var(--text-main);background:#020617;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#0f172af5,#0f172ad9,#0000);border-bottom:1px solid #94a3b859;position:sticky;top:0}.header-inner{align-items:center;gap:12px;max-width:1120px;margin:0 auto;padding:10px 16px;display:flex}.logo{color:inherit;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.logo-image{object-fit:cover;border-radius:50%;width:36px;height:36px;box-shadow:0 0 0 1px #94a3b899,0 0 25px #4ade8059}.logo-text{display:none}@media (min-width:768px){.logo-text{flex-direction:column;display:flex}}.logo-title{font-size:16px;font-weight:700}.logo-subtitle{color:var(--text-muted);font-size:11px}.nav{gap:16px;margin-left:12px;display:none}.nav-link{color:var(--text-muted);border-radius:999px;padding:6px 10px;font-size:13px;text-decoration:none;transition:all .18s}.nav-link:hover{color:var(--text-main);background:#0f172ae6}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.btn{cursor:pointer;color:var(--text-main);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:7px 14px;font-size:12px;transition:all .18s}.btn-sm{padding:6px 12px;font-size:11px}.btn-lg{padding:9px 18px;font-size:13px}.btn-primary{background:var(--accent);color:#022c22;border-color:var(--accent);box-shadow:0 0 25px #4ade8059}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-outline{background:#0f172acc;border-color:#94a3b8b3}.btn-outline:hover{border-color:var(--accent)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text-main);background:#0f172acc}.burger{cursor:pointer;background:#0f172ae6;border:1px solid #94a3b880;border-radius:999px;flex-direction:column;gap:4px;margin-left:4px;padding:6px;display:flex}.burger span{background:var(--text-main);border-radius:999px;width:16px;height:2px;transition:all .18s}.burger--open span:first-child{transform:translateY(3px)rotate(45deg)}.burger--open span:nth-child(2){opacity:0}.burger--open span:nth-child(3){transform:translateY(-3px)rotate(-45deg)}.nav--open{background:#0f172af5;border:1px solid #94a3b880;border-radius:18px;flex-direction:column;padding:10px;display:flex;position:fixed;inset:54px 12px auto}.hero,.section{max-width:1120px;margin:0 auto;padding:20px 16px}.hero{gap:20px;margin-top:4px;display:grid}.hero-content{flex-direction:column;gap:14px;display:flex}.hero-title{font-size:26px;line-height:1.2}.hero-gradient{background:linear-gradient(120deg,#4ade80,#22d3ee,#a855f7);color:#0000;-webkit-background-clip:text}.hero-subtitle{color:var(--text-muted);max-width:520px;font-size:14px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.hero-note{background:#0f172ae6;border:1px solid #94a3b866;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-size:12px;display:flex}.hero-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 8px;font-size:11px}.hero-showcase{justify-content:center;display:flex}.hero-card{border-radius:var(--radius-xl);background:radial-gradient(circle at top,#0f172a,#020617);border:1px solid #94a3b899;width:100%;max-width:320px;padding:14px;box-shadow:0 20px 40px #0f172ae6,0 0 40px #4ade8040}.hero-card-header{justify-content:space-between;align-items:center;display:flex}.hero-card-body{gap:10px;margin-top:12px;display:grid}.grid-preview{grid-template-columns:repeat(8,1fr);gap:3px;display:grid}.grid-cell{background:#0f172ae6;border-radius:4px;width:100%;padding-bottom:100%;box-shadow:inset 0 0 0 1px #1e40af66}.grid-cell--type-i{background:#38bdf8f2;box-shadow:0 0 8px #38bdf8e6,inset 0 0 0 1px #0f172ae6}.grid-cell--type-t{background:#818cf8f2;box-shadow:0 0 8px #818cf8e6,inset 0 0 0 1px #0f172ae6}.grid-cell--type-o{background:#facc15f2;box-shadow:0 0 8px #facc15e6,inset 0 0 0 1px #0f172ae6}.grid-cell--type-l{background:#f97316f2;box-shadow:0 0 8px #f97316e6,inset 0 0 0 1px #0f172ae6}.hero-score span{color:var(--text-muted);font-size:11px}.hero-score strong{margin-top:4px;font-size:16px;display:block}.hero-score p{color:var(--text-muted);margin-top:4px;font-size:12px}.section-header{margin-bottom:14px}.section-title{margin:0 0 4px;font-size:20px}.section-subtitle{color:var(--text-muted);font-size:13px}.chip{border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;display:inline-flex}.chip--green{background:var(--accent-soft);color:var(--accent)}.chip--dark{color:var(--text-muted);background:#0f172ae6;border:1px solid #94a3b866}.chip--status{color:#7dd3fc;background:#38bdf81a;border:1px solid #38bdf866}.games-grid{gap:14px;display:grid}.game-card{border-radius:var(--radius-lg);transform-style:preserve-3d;will-change:transform,box-shadow;background:#0f172af5;border:1px solid #94a3b866;padding:14px;box-shadow:0 16px 30px #0f172acc}.game-card:hover{border-color:#38bdf8b3}.game-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.game-title{margin:0;font-size:15px}.game-description{color:var(--text-muted);margin:4px 0 0;font-size:13px}.game-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.game-note{color:var(--text-muted);font-size:11px}.section--about{padding-bottom:26px}.about-card{border-radius:var(--radius-xl);color:var(--text-main);background:radial-gradient(circle at 0 0,#111827,#020617);border:1px solid #94a3b880;padding:16px;font-size:13px;box-shadow:0 18px 35px #0f172ae6}.about-card p{color:var(--text-muted);margin:8px 0}.about-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.about-list-item{color:var(--text-main);align-items:center;gap:10px;font-size:13px;display:flex}.about-icon{background:#0f172af2;border:1px solid #94a3b866;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;box-shadow:0 0 12px #0f172ae6}.about-icon svg{display:block}.about-icon--green{color:#4ade80;border-color:#4ade80b3;box-shadow:0 0 16px #4ade8059}.about-icon--blue{color:#38bdf8;border-color:#38bdf8b3;box-shadow:0 0 16px #38bdf859}.about-icon--violet{color:#a855f7;border-color:#a855f7b3;box-shadow:0 0 16px #a855f759}.about-icon--amber{color:#f59e0b;border-color:#f59e0bb3;box-shadow:0 0 16px #f59e0b59}.faq-grid{gap:12px;display:grid}.faq-item{background:#0f172af5;border:1px solid #94a3b866;border-radius:16px;padding:12px;font-size:13px}.faq-item h3{margin:0 0 4px;font-size:14px}.footer{background:#0f172afa;border-top:1px solid #94a3b866;padding:10px 16px 12px;font-size:12px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:1120px;margin:0 auto 6px;display:flex}.footer-brand{font-weight:600}.footer-caption{color:var(--text-muted);margin-left:4px}.footer-links{flex-wrap:wrap;gap:10px;display:flex}.footer-links a{color:var(--text-muted);text-decoration:none}.footer-links a:hover{color:var(--text-main)}.footer-bottom{max-width:1120px;color:var(--text-muted);margin:0 auto}@media (min-width:768px){.nav{display:flex}.nav--open{background:0 0;border:none;flex-direction:row;padding:0;position:static}.burger{display:none}.hero{grid-template-columns:minmax(0,3fr) minmax(0,2.1fr);align-items:center;padding-top:28px}.hero-title{font-size:34px}.games-grid,.faq-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tetris-page{flex-direction:column;gap:12px;display:flex}.tetris-hero{padding-top:18px;padding-bottom:8px}.tetris-hero-text{max-width:640px}.tetris-title{margin-bottom:6px;font-size:24px}.tetris-subtitle{color:var(--text-muted);font-size:13px;line-height:1.5}.tetris-actions,.tetris-tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hero-badge--soft{color:var(--text-main);background:#0f172ae6}.tetris-layout{gap:16px;display:grid}.tetris-board-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.tetris-board{aspect-ratio:10/20;background:radial-gradient(circle at top,#0f172a,#020617);border:1px solid #94a3b899;border-radius:18px;grid-template-columns:repeat(10,1fr);gap:2px;width:100%;max-width:280px;padding:8px;display:grid;box-shadow:0 18px 40px #0f172af2,0 0 32px #90969233}.tetris-cell{background:#0f172af2;border-radius:4px;box-shadow:inset 0 0 0 1px #1e40af80}.tetris-board-hint{color:var(--text-muted);text-align:center;font-size:11px}.tetris-sidebar{flex-direction:column;gap:10px;display:flex}.tetris-panel{background:#0f172af7;border:1px solid #94a3b880;border-radius:18px;padding:12px;font-size:13px;box-shadow:0 16px 30px #0f172ae6}.tetris-panel--ghost{background:radial-gradient(circle at 0 0,#111827,#020617)}.tetris-panel-title{margin:0 0 6px;font-size:14px}.tetris-stats-row{gap:12px;margin-top:4px;display:flex}.tetris-label{color:var(--text-muted);font-size:11px}.tetris-value{font-size:16px;font-weight:600}.tetris-small{color:var(--text-muted);margin-top:8px;font-size:12px}.tetris-controls-list{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.tetris-controls-list li{color:var(--text-main);gap:8px;font-size:12px;display:flex}.tetris-controls-list li span{text-align:center;background:#0f172af2;border:1px solid #94a3b880;border-radius:999px;min-width:40px;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px}@media (min-width:768px){.tetris-title{font-size:28px}.tetris-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:flex-start}.tetris-board-wrapper{align-items:flex-start}.tetris-board{max-width:320px}.tetris-sidebar{padding-left:12px}}.tetris-cell--filled{box-shadow:0 0 12px #0f172ae6}.tetris-cell--type-1{background:linear-gradient(135deg,#22d3ee,#0ea5e9);box-shadow:0 0 14px #38bdf8cc}.tetris-cell--type-2{background:linear-gradient(135deg,#facc15,#f97316);box-shadow:0 0 14px #facc15cc}.tetris-cell--type-3{background:linear-gradient(135deg,#a855f7,#6366f1);box-shadow:0 0 14px #a855f7cc}.tetris-cell--type-4{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 0 14px #4ade80cc}.tetris-cell--type-5{background:linear-gradient(135deg,#f97373,#ef4444);box-shadow:0 0 14px #f87171cc}.tetris-cell--type-6{background:linear-gradient(135deg,#38bdf8,#0ea5e9);box-shadow:0 0 14px #3b82f6cc}.tetris-cell--type-7{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 0 14px #fb923ccc}.tetris-next{grid-template-columns:repeat(4,1fr);gap:4px;width:96px;display:grid}.tetris-next-cell{background:#0f172ae6;border-radius:5px;width:20px;height:20px;box-shadow:inset 0 0 0 1px #1e40af66}.tetris-gameover{color:#fecaca;margin-top:10px;font-size:13px}.tetris-touch-controls{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.touch-btn{min-width:40px;color:var(--text-main);cursor:pointer;background:#0f172af5;border:1px solid #94a3b899;border-radius:999px;padding:6px 10px;font-size:12px}.touch-btn--drop{letter-spacing:.04em;background:#22c55e26;border-color:#4ade80cc;font-weight:600}.touch-btn:active{transform:translateY(1px)}@media (min-width:768px){.tetris-touch-controls{justify-content:flex-start;max-width:320px;display:none}.tetris-panel--next{display:none}}@media (max-width:767px){.tetris-board-hint,.tetris-panel--next{display:none}}.auth-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;background:#0f172acc;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal{background:#0f172afa;border:1px solid #94a3b899;border-radius:20px;width:100%;max-width:360px;padding:18px 18px 16px;box-shadow:0 18px 40px #0f172af2}.auth-title{margin:0 0 10px;font-size:18px}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-field{flex-direction:column;gap:4px;font-size:13px;display:flex}.auth-field input{color:#e5e7eb;background:#020617;border:1px solid #94a3b899;border-radius:10px;padding:8px 10px;font-size:13px}.auth-error{color:#fecaca;font-size:12px}.auth-submit{justify-content:center;width:100%}.auth-switch{color:#9ca3af;text-align:left;cursor:pointer;background:0 0;border:none;margin-top:2px;padding:0;font-size:12px}.header-user{color:#e5e7eb;margin-right:8px;font-size:13px}.tetris-leaderboard{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tetris-leader-row{background:radial-gradient(circle at 0 0,#34d39924,#0000 55%),#0f172af5;border:1px solid #374151d9;border-radius:14px;padding:6px 10px 8px;box-shadow:0 10px 25px #0f172ad9}.tetris-leader-main{align-items:center;gap:8px;display:flex}.tetris-leader-rank{background:#0f172ae6;border:1px solid #4b5563e6;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;display:inline-flex}.tetris-leader-rank--0 svg{color:#facc15;filter:drop-shadow(0 0 6px #facc1599)}.tetris-leader-rank--1 svg{color:#e5e7eb;filter:drop-shadow(0 0 6px #e5e7eb99)}.tetris-leader-rank--2 svg{color:#f59e0b;filter:drop-shadow(0 0 6px #f59e0b80)}.tetris-leader-name{background:#0f172ae6;border:1px solid #4b5563e6;border-radius:999px;flex:1;padding:2px 8px;font-size:13px}.tetris-leader-score{font-variant-numeric:tabular-nums;opacity:.9;font-size:13px}.tetris-leader-bar{background:#0f172ae6;border-radius:999px;height:4px;margin-top:4px;overflow:hidden}.tetris-leader-bar-fill{background:linear-gradient(90deg,#22c55e,#22d3ee,#a855f7);border-radius:999px;height:100%;box-shadow:0 0 12px #38bdf8cc}.tetris-fullscreen-toggle{margin-bottom:8px;display:none}@media (max-width:768px){.tetris-fullscreen-toggle{justify-content:flex-end;display:flex}.btn.btn-xs{border-radius:999px;padding:4px 10px;font-size:12px}body.tetris-mobile-fullscreen{background:radial-gradient(circle at top,#020617,#020617);overflow:hidden auto}body.tetris-mobile-fullscreen .header,body.tetris-mobile-fullscreen .footer{display:none}body.tetris-mobile-fullscreen .tetris-page{min-height:100dvh;padding-top:8px;padding-bottom:8px}body.tetris-mobile-fullscreen .tetris-hero,body.tetris-mobile-fullscreen .tetris-sidebar{display:none}body.tetris-mobile-fullscreen .tetris-layout{flex-direction:column;height:100%;padding-top:4px;padding-bottom:4px;display:flex}body.tetris-mobile-fullscreen .tetris-board-wrapper{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}body.tetris-mobile-fullscreen .tetris-board{width:min(92vw,360px);height:auto;margin:0 auto}body.tetris-mobile-fullscreen .tetris-board-hint{margin-top:4px;font-size:11px}body.tetris-mobile-fullscreen .tetris-touch-controls{gap:12px;margin-top:auto;padding-bottom:4px}body.tetris-mobile-fullscreen .touch-btn{border-radius:999px;padding:14px 18px;font-size:18px}body.tetris-mobile-fullscreen .touch-btn--drop{padding:14px 26px;font-size:16px;font-weight:600}}.game-btn-disabled{opacity:.6;cursor:default}.game-card--soon{opacity:.9}.page-merge{flex-direction:column;gap:24px;display:flex}.merge-layout{flex-direction:column;gap:16px;display:flex}@media (min-width:768px){.merge-layout{flex-direction:row;align-items:flex-start;gap:32px}}.merge-panel{flex-direction:column;gap:12px;max-width:260px;display:flex}.merge-stats{flex-direction:column;gap:8px;display:flex}.merge-stat-label{color:var(--text-muted);font-size:12px}.merge-stat-value{font-size:18px;font-weight:600}.merge-stat--best .merge-stat-value{color:#4ade80;font-size:14px}.merge-board{background:radial-gradient(circle at top,#0f172a,#020617);border:1px solid #94a3b899;border-radius:24px;flex-direction:column;gap:10px;padding:14px;display:inline-flex;box-shadow:0 22px 46px #0f172af5,0 0 28px #4ade8038}.merge-row{gap:10px;display:flex}.merge-cell{color:#e5e7eb;border-radius:14px;justify-content:center;align-items:center;width:80px;height:80px;font-size:24px;font-weight:700;transition:background .15s ease-out,transform 80ms ease-out,box-shadow .15s ease-out;display:flex;box-shadow:inset 0 0 0 1px #0f172acc}.merge-cell--empty{background:#0f172af5}.merge-cell--v2{background:#111827}.merge-cell--v4{background:#1f2937}.merge-cell--v8{background:#1d4ed8}.merge-cell--v16{background:#2563eb}.merge-cell--v32{background:#22c55e}.merge-cell--v64{background:#f97316}.merge-cell--v128{background:#ef4444}.merge-cell--v256{background:#e11d48}.merge-cell--v512{background:#a21caf}.merge-cell--v1024{background:#7c3aed}.merge-cell--v2048{color:#111827;background:#facc15;box-shadow:0 0 16px #facc15b3}.merge-message{background:#0f172af5;border-radius:10px;margin-top:8px;padding:8px 10px;font-size:13px}.merge-saving-note{color:var(--text-muted);margin-top:8px;font-size:12px}.merge-controls-hint{color:var(--text-muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.merge-controls-buttons{flex-direction:column;align-items:center;gap:6px;margin-top:6px;display:flex}.merge-controls-row{justify-content:center;gap:6px;display:flex}.merge-control-btn{width:42px;height:42px;color:var(--text-main);cursor:pointer;background:#0f172af5;border:1px solid #94a3b899;border-radius:999px;font-size:18px;transition:all .12s ease-out}.merge-control-btn:active{border-color:var(--accent);transform:translateY(1px)scale(.97)}@media (max-width:767px){.merge-board{gap:8px;padding:10px}.merge-cell{width:64px;height:64px;font-size:20px}}.merge-board-wrapper{flex-direction:column;align-items:center;gap:12px;display:flex}.merge-leader-panel{margin-top:10px}.snake-page{flex-direction:column;gap:16px;display:flex}.snake-layout{gap:16px;display:grid}.snake-board-wrapper{flex-direction:column;align-items:center;gap:10px;display:flex}.snake-board{aspect-ratio:1;background:radial-gradient(circle at top,#0f172a,#020617);border:1px solid #94a3b899;border-radius:24px;grid-template-columns:repeat(20,1fr);grid-auto-rows:1fr;gap:3px;width:min(420px,92vw);padding:10px;display:grid;box-shadow:0 20px 40px #0f172af2,0 0 30px #4ade8033}.snake-cell{background:#0f172af5;border-radius:6px;box-shadow:inset 0 0 0 1px #1e40af73}.snake-cell--snake{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 0 14px #22c55ee6}.snake-cell--head{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 0 18px #4ade80f2}.snake-cell--food{background:radial-gradient(circle at 30% 30%,#f97316,#b91c1c);box-shadow:0 0 16px #f87171e6}.snake-sidebar{flex-direction:column;gap:10px;display:flex}.snake-touch-controls{flex-direction:column;gap:6px;display:flex}.snake-touch-row{justify-content:center;gap:6px;display:flex}@media (min-width:768px){.snake-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:flex-start}}.snake-cell--wall{background:repeating-linear-gradient(135deg,#6b7280,#6b7280 4px,#4b5563 4px 8px);box-shadow:inset 0 0 0 1px #0f172acc,0 0 10px #94a3b8b3}.section-animated{opacity:0;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(18px)}.section-animated--visible{opacity:1;transform:translateY(0)}.hero-content,.hero-showcase{opacity:0;animation:.6s ease-out forwards hero-block-in;transform:translateY(14px)}.hero-showcase{animation-delay:80ms}@keyframes hero-block-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.hero-showcase{perspective:900px;justify-content:center;display:flex}.hero-card{transform-style:preserve-3d;transition:transform .16s ease-out,box-shadow .18s ease-out}.hero-card:hover{box-shadow:0 26px 45px #0f172af2,0 0 40px #4ade8047}
