:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--tg-theme-text-color, #f8fafc);background:var(--tg-theme-bg-color, #070b16);font-synthesis:none;--surface: var(--tg-theme-secondary-bg-color, #111827);--surface-2: #18233a;--surface-3: #202d47;--muted: var(--tg-theme-hint-color, #9aa9bd);--accent: var(--tg-theme-button-color, #3b82f6);--accent-text: var(--tg-theme-button-text-color, #ffffff);--success: #4ade80;--danger: #fb7185;--gold: #fbbf24;--border: rgba(148, 163, 184, .22);--tg-safe-top: 0px;--tg-safe-right: 0px;--tg-safe-bottom: 0px;--tg-safe-left: 0px}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden;background:radial-gradient(circle at 50% -15%,rgba(59,130,246,.14),transparent 38%),var(--tg-theme-bg-color, #070b16)}button,a,input{font:inherit}button{border:0}.screen{min-height:100%;width:100%;max-width:760px;margin:0 auto;padding:calc(22px + var(--tg-safe-top)) calc(20px + var(--tg-safe-right)) calc(24px + var(--tg-safe-bottom)) calc(20px + var(--tg-safe-left));overflow-y:auto;overscroll-behavior:contain}.center-screen{display:grid;place-items:center}.panel,.profile-card,.ticket-card{background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:26px;box-shadow:0 18px 44px #0000002e}.panel{padding:clamp(26px,7vw,40px);width:min(100%,520px);text-align:center}.auth-panel h1,.error-panel h1{margin:16px 0 10px;font-size:clamp(30px,8vw,42px)}.muted{color:var(--muted)}.helper{color:var(--muted);font-size:14px;line-height:1.65}.dev-badge{display:inline-flex;padding:6px 11px;border-radius:999px;background:var(--gold);color:#111827;font-size:12px;font-weight:900;letter-spacing:.1em}.dev-badge.danger{background:var(--danger)}.dev-buttons{display:grid;gap:12px;margin:28px 0 14px}.primary,.secondary,.rank-button,.back-button,.icon-button,.link-button{min-height:56px;cursor:pointer;border-radius:17px;padding:16px 20px;transition:transform .12s ease,filter .12s ease,border-color .12s ease}.primary,.rank-button,.link-button{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent));color:var(--accent-text);font-weight:850;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 25%,transparent)}.secondary,.back-button,.icon-button{background:var(--surface-2);color:#f8fafc;border:1px solid var(--border)}button:hover,.link-button:hover{filter:brightness(1.08)}button:active,.link-button:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 60%,white);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:20px}.lobby-screen{display:flex;flex-direction:column;gap:18px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.topbar h1{margin:7px 0 0;font-size:clamp(28px,7.5vw,40px);line-height:1.08;letter-spacing:-.035em}.eyebrow{font-size:12px;color:var(--muted);font-weight:900;letter-spacing:.15em}.icon-button{width:56px;height:56px;min-height:56px;flex:0 0 56px;padding:0;border-radius:50%;font-size:23px}.profile-card{display:flex;justify-content:space-between;padding:22px;align-items:center}.profile-card strong{display:block;margin-top:6px;font-size:23px}.rating{text-align:right}.rating span{color:var(--muted);font-size:12px}.rating strong{font-size:34px;line-height:1}.ticket-card{padding:24px}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:center}.section-head h2{margin:5px 0 0;font-size:23px}.section-head>strong{font-size:29px}.ticket-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}.ticket-dot{width:24px;height:24px;border-radius:50%;border:3px solid #475569;background:transparent}.ticket-dot.active{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px #fbbf2417}.actions{display:grid;gap:12px}.rank-button{min-height:88px;display:grid;gap:5px;place-content:center;font-size:22px}.rank-button small{font-size:13px;opacity:.86;font-weight:650}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lobby-footer{margin-top:auto;padding:10px 3px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.guide-screen h1{margin:22px 0 12px;font-size:34px}.guide-section{padding:24px 2px;border-bottom:1px solid var(--border)}.guide-section h2{margin:0 0 10px;font-size:22px}.guide-section p{color:var(--muted);margin:0;line-height:1.75;font-size:16px}.back-button{padding:12px 17px;min-height:48px}.matching-panel{display:grid;justify-items:center;gap:13px}.matching-panel h1{font-size:clamp(28px,7vw,38px);margin:8px 0}.matching-player{margin:-2px 0 0;color:#cbd5e1;font-size:15px}.matching-player strong{color:#fff}.spinner{width:62px;height:62px;border:5px solid #334155;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:14px}@keyframes spin{to{transform:rotate(360deg)}}.error-panel{display:grid;justify-items:stretch;gap:12px}.error-message{color:#e2e8f0;font-size:17px;line-height:1.65;margin:4px 0}.error-reference{display:block;color:var(--muted);word-break:break-all}.form-message{min-height:20px;margin:-2px 0 0;color:var(--danger);font-size:13px}.form-message.success{color:var(--success)}.phaser-root{position:fixed;inset:0;width:100%;height:100%;background:#0b1020}.phaser-root canvas{display:block}.friend-button{width:100%}.challenge-panel{display:grid;gap:14px;justify-items:stretch}.challenge-panel h1{margin:7px 0;font-size:clamp(28px,7vw,38px)}.challenge-code{font-size:clamp(28px,8vw,40px);letter-spacing:.13em;font-weight:950;padding:20px 12px;background:#020617;border:1px solid var(--border);border-radius:17px}.challenge-url{word-break:break-all}.rating-line{font-size:30px;font-weight:850;margin:5px 0}.nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nav-grid.three{grid-template-columns:repeat(3,1fr)}.secondary.compact{padding:13px 14px;min-height:50px}.game-catalog{display:grid;gap:14px;margin-top:8px}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.game-card{min-height:88px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;padding:14px;border-radius:18px;background:linear-gradient(145deg,var(--surface-2),#121b2d);color:#f8fafc;border:1px solid var(--border);cursor:pointer}.game-card:hover{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));transform:translateY(-1px)}.game-card-icon,.game-hero-icon{display:grid;place-items:center}.game-card-icon{font-size:30px}.game-card strong,.game-card small{display:block}.game-card strong{font-size:15px}.game-card small{color:var(--muted);font-size:11px;line-height:1.35;margin-top:4px}.game-card-arrow{color:var(--muted);font-size:28px}.multi-game-screen,.social-game-screen,.generic-battle-screen{gap:18px}.game-intro{width:100%;display:grid;justify-items:center;gap:8px;padding:28px 22px}.game-intro h2{margin:0;font-size:26px}.game-hero-icon{width:78px;height:78px;border-radius:26px;background:color-mix(in srgb,var(--accent) 18%,var(--surface-2));font-size:44px}.multi-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.multi-mode-grid button{min-height:88px;display:grid;align-content:center;gap:5px;font-weight:850}.multi-mode-grid small{color:var(--muted);font-size:12px;font-weight:600}.social-card{width:100%;display:grid;gap:15px;text-align:left}.social-card label{display:grid;gap:7px;color:var(--muted);font-size:14px;font-weight:700}.question-block{border:1px solid var(--border);border-radius:17px;padding:15px;display:grid;gap:9px}.question-block+.question-block{margin-top:10px}.question-block legend{padding:0 4px;color:#f8fafc;font-weight:800}.choice-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px!important;min-height:42px;padding:9px 11px;border-radius:12px;background:var(--surface-2);color:#e2e8f0!important}.choice-row input{accent-color:var(--accent);width:18px;height:18px}.love-result{display:grid;justify-items:center;gap:4px;padding:24px 10px 10px;border-top:1px solid var(--border)}.love-result span{color:var(--muted);font-size:11px;letter-spacing:.14em;font-weight:900}.love-result strong{font-size:clamp(64px,20vw,100px);line-height:1;color:var(--gold)}.love-result p{margin:0;color:#cbd5e1}.challenge-meta,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.challenge-meta{color:var(--muted);font-size:12px;letter-spacing:.08em}.challenge-meta strong{color:var(--tg-theme-text-color, #f8fafc);letter-spacing:0}.know-result-card{gap:18px}.know-score{display:grid;justify-items:center;gap:6px;padding:10px 0 18px;border-bottom:1px solid var(--border)}.know-score span,.daily-score span{color:var(--muted);font-size:11px;letter-spacing:.14em;font-weight:900}.know-score strong,.daily-score strong{color:var(--gold);font-size:clamp(48px,16vw,76px);line-height:1}.know-score p{margin:0;color:var(--accent);font-weight:800}.know-ranking-list{margin-top:0}.daily-result-panel{display:grid;justify-items:center;gap:18px;width:min(100%,560px);text-align:center}.daily-result-panel .game-hero-icon,.daily-result-panel h1{margin:0}.daily-score{display:grid;justify-items:center;gap:8px;width:100%;padding:24px 0;border-block:1px solid var(--border)}.generic-battle-card{width:100%;display:grid;gap:20px;text-align:center}.generic-score{font-size:clamp(48px,15vw,84px);font-weight:950;color:var(--gold);letter-spacing:.06em}.generic-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.generic-action{min-height:76px;padding-inline:9px}.generic-action-grid:has(.generic-action:only-child){grid-template-columns:1fr}@media(max-width:520px){.game-grid,.multi-mode-grid{grid-template-columns:1fr}}.list-screen{display:flex;flex-direction:column;gap:17px}.view-header{display:flex;justify-content:space-between;gap:14px;align-items:center}.view-header h1{margin:5px 0 0;font-size:32px}.ranking-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ranking-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:64px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.ranking-row.me{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface))}.ranking-position{color:var(--muted);font-weight:850}.ranking-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750;font-size:17px}.ranking-record{display:none;color:var(--muted);font-size:13px}.profile-view{display:grid;gap:14px;text-align:left}.profile-view h1{margin:0;font-size:34px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 14px}.profile-stats>div{padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2)}.profile-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.profile-stats strong{font-size:19px}.field-label{color:var(--muted);font-size:14px}.text-input{width:100%;min-height:56px;border:1px solid var(--border);border-radius:15px;padding:15px 16px;background:#020617;color:#f8fafc;font:inherit;font-size:17px}.achievement-list{display:grid;gap:12px}.achievement-row{padding:19px;background:var(--surface);border:1px solid var(--border);border-radius:19px}.achievement-row.completed{border-color:color-mix(in srgb,var(--accent) 70%,var(--border))}.achievement-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.achievement-head h2{margin:5px 0 0;font-size:20px}.achievement-head>strong{white-space:nowrap;font-size:14px}.achievement-row p{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#020617}.progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#60a5fa)}@media(min-width:520px){.ranking-row{grid-template-columns:48px minmax(0,1fr) 110px auto}.ranking-record{display:block}}@media(min-width:760px){.screen{padding-top:calc(38px + var(--tg-safe-top));padding-bottom:calc(38px + var(--tg-safe-bottom))}.lobby-screen{gap:22px}}@media(max-width:390px){.screen{padding-left:calc(15px + var(--tg-safe-left));padding-right:calc(15px + var(--tg-safe-right))}.nav-grid.three{gap:8px}.secondary.compact{padding-inline:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
