:root{--color-paper:oklch(9% .005 0);--color-paper-2:oklch(14% .006 0);--color-paper-3:oklch(19% .008 0);--color-ink:oklch(96% 0 0);--color-ink-2:oklch(72% 0 0);--color-rule:oklch(26% .005 0);--color-rule-2:oklch(20% .005 0);--color-accent:oklch(56% .21 27);--color-focus:oklch(62% .23 27);--color-accent-ink:oklch(9% .005 0);--color-muted:oklch(52% 0 0);--color-neutral:oklch(45% 0 0);--color-gold:oklch(78% .1 85);--color-success:oklch(72% .14 150);--color-error:oklch(65% .18 25);--color-warning:oklch(78% .15 80);--font-display:Oswald, "Arial Narrow", sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"Geist Mono", monospace;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:7rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-short:.2s;--dur-medium:.4s;--radius-sm:2px;--radius-md:2px;--radius-lg:2px;--radius-xl:2px;--bg-color:var(--color-paper);--bg-gradient:none;--panel-bg:var(--color-paper-2);--panel-border:var(--color-rule);--panel-border-hover:var(--color-accent);--glow-color:color-mix(in oklch, var(--primary) 5%, transparent);--text-primary:var(--color-ink);--text-secondary:var(--color-ink-2);--text-muted:var(--color-muted);--primary:var(--color-accent);--primary-hover:oklch(64% .23 27);--primary-glow:color-mix(in oklch, var(--primary) 12%, transparent);--secondary:oklch(45% .01 0);--secondary-hover:oklch(55% .012 0);--secondary-glow:color-mix(in oklch, var(--secondary) 10%, transparent);--accent:var(--color-accent);--success:var(--color-success);--success-glow:color-mix(in oklch, var(--success) 12%, transparent);--warning:var(--color-warning);--error:var(--color-error);--error-glow:color-mix(in oklch, var(--error) 12%, transparent);--gold:var(--color-gold);--gold-glow:color-mix(in oklch, var(--gold) 10%, transparent);--panel-shadow:0 2px 10px #0000008c;--panel-shadow-hover:0 4px 14px #000000a6;--card-scrim:oklch(5% .003 0/.82);--card-bg:oklch(13% .006 0);--ticker-bg:oklch(7% .004 0);--ticker-rule:oklch(24% .005 0);--btn-secondary-bg:oklch(16% .006 0);--btn-secondary-bg-hover:oklch(22% .008 0);--btn-secondary-border:oklch(28% .008 0);--btn-secondary-border-hover:oklch(38% .01 0);--btn-secondary-ink:var(--color-ink);--font-title:var(--font-display);--ticker-h:37px;--transition-smooth:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out)}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{background-color:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-body);background-attachment:fixed;flex-direction:column;min-height:100vh;line-height:1.5;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);letter-spacing:-.02em;font-weight:700}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.5}50%{opacity:.8}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#05070c99}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch, var(--primary) 40%, transparent)}.portal-container{flex-direction:column;flex-grow:1;gap:3rem;width:100%;max-width:1400px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex}.portal-header{--panel-bg:oklch(11% .005 0);border-bottom:1px solid var(--panel-border);transition:padding var(--dur-short) var(--ease-out);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 2rem;display:flex}.portal-header.glass-card{border-radius:var(--radius-md)}.portal-container>.portal-header{top:var(--ticker-h);z-index:50;position:sticky}.portal-header.is-condensed{gap:.75rem;padding:.2rem 1rem}.portal-header.is-condensed .header-user-role,.portal-header.is-condensed .header-wallet-divider,.portal-header.is-condensed .header-wallet-xp,.portal-header.is-condensed .header-btn-label,.portal-header.is-condensed .brand-title span{display:none}.portal-header.is-condensed .brand-section{gap:.5rem}.portal-header.is-condensed .brand-logo-glow{border-radius:var(--radius-sm);width:20px;height:20px;box-shadow:none}.portal-header.is-condensed .brand-title{letter-spacing:.02em;font-size:.95rem}.portal-header.is-condensed .header-actions{gap:.5rem}.portal-header.is-condensed .status-chip{padding:.15rem .6rem;font-size:.72rem}.portal-header.is-condensed .status-chip-dot{width:6px;height:6px}.portal-header.is-condensed .header-wallet{padding:.15rem .7rem}.portal-header.is-condensed .header-wallet-coins span,.portal-header.is-condensed .header-user-name span{font-size:.82rem}.portal-header.is-condensed .header-icon-btn{width:24px;height:24px;padding:.2rem}.portal-header.is-condensed .header-btn{padding:.25rem .5rem}.portal-header.is-condensed .header-btn-cta{padding:.25rem .7rem}.portal-header.is-admin{gap:.75rem;padding:.75rem 1.25rem}.portal-header.is-admin .brand-section{flex-shrink:0;gap:.75rem}.portal-header.is-admin .brand-logo-glow{width:40px;height:40px}.portal-header.is-admin .brand-title{font-size:1.7rem}.portal-header.is-admin .header-actions{flex-wrap:nowrap;gap:.5rem}.portal-header.is-admin .status-chip{padding:.25rem .65rem;font-size:.78rem}.portal-header.is-admin .header-wallet{gap:.6rem;padding:.3rem .75rem}.portal-header.is-admin .header-wallet-xp{min-width:75px}.portal-header.is-admin .header-user-name span{max-width:12ch;font-size:.88rem}.portal-header.is-admin .header-user-role{font-size:.72rem}.portal-header.is-admin .btn.header-btn{padding:.35rem .65rem;font-size:.82rem}@media (width<=1380px){.portal-header.is-admin .header-btn-label{display:none}.portal-header.is-admin .btn.header-btn{padding:.4rem .55rem}}@media (width<=1250px){.portal-header .header-btn-label{display:none}.portal-header .btn.header-btn{padding:.4rem .55rem}}@media (width<=1150px){.portal-header.is-condensed .brand-title{display:none}}@media (width<=1000px){.portal-header.is-condensed .brand-section{display:none}}@media (prefers-reduced-motion:reduce){.portal-header,.status-chip,.header-wallet,.header-icon-btn,.header-btn{transition:none}}@media (width<=768px){.portal-header{text-align:left;flex-direction:column;align-items:stretch;gap:.5rem;padding:.65rem .85rem}.portal-header .brand-section{justify-content:flex-start;gap:.5rem;width:100%}.portal-header .brand-logo-glow{border-radius:var(--radius-sm);width:32px;height:32px;box-shadow:0 0 10px var(--primary-glow)}.portal-header .brand-title{flex-direction:row;align-items:baseline;gap:.35rem;font-size:1.15rem;line-height:1}.portal-header .brand-title span{letter-spacing:.15em;font-size:.75rem}.portal-header .user-auth-widget{width:100%;overflow:hidden}.portal-header .header-actions{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:.45rem;width:100%;padding-bottom:.2rem;display:flex;overflow-x:auto}.portal-header .header-actions::-webkit-scrollbar{display:none}.portal-header .status-chip{flex-shrink:0;padding:.2rem .55rem;font-size:.72rem}.portal-header .header-wallet{flex-shrink:0;gap:.5rem;padding:.25rem .65rem}.portal-header .header-wallet-xp{min-width:65px}.portal-header .header-wallet-xp-row{font-size:.65rem}.portal-header .header-user{flex-shrink:0}.portal-header .header-user-name span{max-width:10ch;font-size:.8rem}.portal-header .header-user-role,.portal-header .header-btn-label{display:none}.portal-header .btn.header-btn{flex-shrink:0;padding:.35rem .5rem}.portal-header .header-icon-btn{flex-shrink:0;width:28px;height:28px;padding:.3rem}.portal-header.is-condensed{scrollbar-width:none;flex-flow:row;align-items:center;gap:.5rem;padding:.25rem .6rem;overflow-x:auto}.portal-header.is-condensed::-webkit-scrollbar{display:none}.portal-header.is-condensed .header-actions{flex-wrap:nowrap}}.brand-section{align-items:center;gap:1rem;display:flex}.brand-logo-glow{background:linear-gradient(135deg, var(--primary), var(--secondary));border-radius:var(--radius-md);width:50px;height:50px;box-shadow:0 0 20px var(--primary-glow);justify-content:center;align-items:center;display:flex;position:relative}.brand-title{color:var(--color-ink);flex-direction:column;font-size:2.2rem;font-weight:800;line-height:1.1;display:flex}.brand-title span{text-transform:uppercase;letter-spacing:.25em;color:var(--color-accent);font-size:.85rem}.user-auth-widget{align-items:center;gap:1rem;display:flex}.header-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.status-chip{border-color:var(--panel-border);background:var(--panel-bg);white-space:nowrap;transition:padding var(--dur-short) var(--ease-out), font-size var(--dur-short) var(--ease-out);border-radius:30px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.8rem;font-weight:700;display:flex}.status-chip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.header-wallet{background:var(--panel-bg);cursor:pointer;transition:padding var(--dur-short) var(--ease-out);border-color:#ffffff14;border-radius:30px;align-items:center;gap:1rem;padding:.4rem 1.25rem;display:flex}.header-wallet-coins{color:var(--gold);align-items:center;gap:.35rem;display:flex}.header-wallet-coins span{font-size:.95rem;font-weight:700;font-family:var(--font-title)}.header-wallet-divider{background:#ffffff26;width:1px;height:18px}.header-wallet-xp{flex-direction:column;align-items:flex-start;min-width:95px;display:flex}.header-wallet-xp-row{justify-content:space-between;width:100%;font-size:.7rem;font-weight:700;display:flex}.header-wallet-xp-track{background:#ffffff1a;border-radius:2px;width:100%;height:4px;margin-top:2px;overflow:hidden}.header-wallet-xp-fill{background:linear-gradient(to right, var(--primary), var(--secondary));height:100%;transition:width .3s}.header-user{cursor:pointer;flex-direction:column;align-items:flex-start;display:flex}.header-user-name{align-items:center;gap:.5rem;display:flex}.header-user-name span{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;font-size:.95rem;font-weight:600;overflow:hidden}.header-user-role{font-size:.75rem}.btn.header-icon-btn{width:32px;height:32px;transition:width var(--dur-short) var(--ease-out), height var(--dur-short) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.45rem;display:inline-flex}.btn.header-btn{white-space:nowrap;transition:padding var(--dur-short) var(--ease-out);padding:.4rem .75rem;font-size:.8rem}.btn.header-btn-cta{padding:.6rem 1.25rem}.glass-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--panel-shadow);transition:border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out)}.glass-card:hover{border-color:var(--panel-border-hover);box-shadow:var(--panel-shadow-hover)}.instances-section{scroll-margin-top:calc(var(--ticker-h) + 3.5rem);flex-direction:column;gap:1.5rem;display:flex}.section-title{border-left:4px solid var(--primary);align-items:center;gap:.75rem;padding-left:.75rem;font-size:1.6rem;display:flex}.instances-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.game-card{--panel-shadow:none;--panel-border:oklch(30% .01 27);cursor:pointer;isolation:isolate;--theme-accent:var(--primary);flex-direction:column;justify-content:space-between;min-height:380px;padding:2rem;display:flex;position:relative;overflow:hidden}.game-card:before{content:"";z-index:0;opacity:.55;background:linear-gradient(135deg, #ffffff14, transparent 34%), radial-gradient(circle at 20% 24%, color-mix(in srgb, var(--theme-accent) 30%, transparent), transparent 34%);pointer-events:none;position:absolute;inset:0}.game-card:after{content:"";z-index:0;background:linear-gradient(to top, var(--card-scrim), transparent), repeating-linear-gradient(135deg, #ffffff09 0 1px, transparent 1px 10px);pointer-events:none;height:44%;position:absolute;inset:auto 0 0}.game-card-bg-glow{filter:blur(60px);opacity:.25;width:180px;height:180px;transition:var(--transition-smooth);z-index:0;border-radius:50%;position:absolute;top:-15%;right:-15%}.game-card:hover .game-card-bg-glow{opacity:.55;transform:scale(1.2)}.theme-poker .game-card-bg-glow{background-color:var(--primary)}.theme-cosmic .game-card-bg-glow{background-color:var(--secondary)}.theme-witches .game-card-bg-glow{background-color:var(--success)}.theme-fat_princess .game-card-bg-glow{background-color:var(--gold)}.theme-monopoly .game-card-bg-glow{background-color:#10b981}.theme-scrabble .game-card-bg-glow{background-color:#facc15}.theme-domino .game-card-bg-glow{background-color:#38bdf8}.theme-mahjong .game-card-bg-glow{background-color:#10b981}.theme-detective .game-card-bg-glow{background-color:#8f2d2d}.theme-chess .game-card-bg-glow{background-color:#e2e8f0}.theme-cthulhu .game-card-bg-glow{background-color:#14b8a6}.theme-music .game-card-bg-glow{background-color:#f59e0b}.theme-guitars .game-card-bg-glow{background-color:#ef4444}.theme-other .game-card-bg-glow{background-color:var(--text-muted)}.theme-card-stage{z-index:1;border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--theme-accent) 38%, #ffffff1f);background:linear-gradient(145deg, #ffffff1f, #ffffff05), radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--theme-accent) 26%, transparent), transparent 48%);place-items:center;min-height:138px;margin:-.55rem -.55rem 1.2rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff24,0 18px 40px #00000038}.theme-card-stage:before{content:"";border:1px solid #ffffff14;border-radius:10px;position:absolute;inset:10px}.theme-card-scene{z-index:2;border:1px solid color-mix(in srgb, var(--theme-accent) 52%, #fff3);width:84px;height:84px;color:var(--text-primary);font-size:3.15rem;font-family:var(--font-title);text-shadow:0 0 22px color-mix(in srgb, var(--theme-accent) 70%, transparent);box-shadow:0 16px 36px #0000004d, inset 0 0 24px color-mix(in srgb, var(--theme-accent) 18%, transparent);background:#05070c6b;border-radius:22px;place-items:center;font-weight:800;line-height:1;display:grid;position:relative}.theme-card-orbit{z-index:1;position:absolute;inset:0}.theme-card-orbit span{width:35px;height:35px;color:color-mix(in srgb, var(--theme-accent) 68%, white);font-family:var(--font-title);background:#05070c80;border:1px solid #ffffff1a;border-radius:10px;place-items:center;font-size:1.05rem;font-weight:800;display:grid;position:absolute;box-shadow:0 10px 22px #0000003d}.theme-card-orbit span:first-child{top:18px;left:22px;transform:rotate(-10deg)}.theme-card-orbit span:nth-child(2){top:20px;right:28px;transform:rotate(8deg)}.theme-card-orbit span:nth-child(3){bottom:24px;left:42px;transform:rotate(6deg)}.theme-card-orbit span:nth-child(4){bottom:20px;right:42px;transform:rotate(-8deg)}.theme-card-headline{z-index:2;color:color-mix(in srgb, var(--theme-accent) 56%, white);font-family:var(--font-title);letter-spacing:0;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800;position:absolute;bottom:10px;left:14px;right:14px}.game-card:hover .theme-card-scene{transform:translateY(-3px)scale(1.04)}.game-card:hover .theme-card-orbit span{border-color:color-mix(in srgb, var(--theme-accent) 50%, #fff3)}.theme-poker{background:linear-gradient(160deg,#422156b3,#09101eeb),radial-gradient(circle at 75% 15%,#fbbf2424,#0000 36%)}.theme-card_pyramid{background:radial-gradient(circle at 72% 18%,#fbbf242e,#0000 34%),repeating-linear-gradient(25deg,#ffffff06 0 2px,#0000 2px 18px),linear-gradient(160deg,#075b4ce0,#051419f5)}.theme-cosmic{background:radial-gradient(circle at 18% 22%,#fff3 0 1px,#0000 2px),radial-gradient(circle at 74% 34%,#818cf857,#0000 34%),linear-gradient(160deg,#151240d6,#040819f2)}.theme-witches{background:radial-gradient(circle at 70% 20%,#22c55e33,#0000 35%),linear-gradient(160deg,#0b3023db,#0a0f15f2)}.theme-fat_princess{background:radial-gradient(circle at 76% 18%,#ec489930,#0000 35%),linear-gradient(160deg,#5d2614db,#271325f2)}.theme-monopoly{background:linear-gradient(90deg,#ffffff0d 0 12px,#0000 12px 24px),linear-gradient(160deg,#0c5037d6,#081418f2)}.theme-scrabble{background:linear-gradient(90deg,#78350f29 0 1px,#0000 1px 46px),linear-gradient(0deg,#78350f29 0 1px,#0000 1px 46px),linear-gradient(160deg,#442d16e6,#14120ff5)}.theme-domino{background:linear-gradient(160deg,#122a43e0,#050d16f5)}.theme-mahjong{background:linear-gradient(160deg,#0c5c3ae0,#081c15f5)}.theme-chess{background:linear-gradient(45deg,#ffffff0f 25%,#0000 25% 50%,#ffffff0f 50% 75%,#0000 75%) 0 0/44px 44px,linear-gradient(160deg,#2d3038e6,#07090df5)}.theme-cthulhu{background:radial-gradient(circle at 80% 12%,#14b8a630,#0000 34%),linear-gradient(160deg,#072f31e6,#060e18f5)}.theme-music{background:repeating-linear-gradient(0deg,#0000 0 24px,#ffffff0b 24px 25px),linear-gradient(160deg,#3d250de0,#100f19f5)}.theme-guitars{background:linear-gradient(120deg,#ef44441f 0 2px,#0000 2px 22px),linear-gradient(160deg,#451616e6,#090b12f5)}.game-card-content{z-index:1;flex-direction:column;flex-grow:1;gap:1.25rem;display:flex;position:relative}.game-theme-tag{text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-self:flex-start;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.theme-poker .game-theme-tag{color:var(--primary-hover);background:#a855f70d;border-color:#a855f74d}.theme-card_pyramid .game-theme-tag{color:#fde68a;background:#78350f2e;border-color:#fbbf2466}.theme-cosmic .game-theme-tag{color:var(--secondary-hover);background:#6366f10d;border-color:#6366f14d}.theme-witches .game-theme-tag{color:var(--success);background:#10b9810d;border-color:#10b9814d}.theme-fat_princess .game-theme-tag{color:var(--gold);background:#fbbf240d;border-color:#fbbf244d}.theme-monopoly .game-theme-tag{color:#34d399;background:#10b9810d;border-color:#10b9814d}.theme-scrabble .game-theme-tag{color:#fde68a;background:#78350f3d;border-color:#facc1557}.theme-domino .game-theme-tag{color:#bae6fd;background:#0e749021;border-color:#38bdf857}.theme-mahjong .game-theme-tag{color:#86efac;background:#065f462e;border-color:#10b98157}.theme-detective .game-theme-tag{color:#e9b7a7;background:#4818164d;border-color:#b54b4373}.theme-chess .game-theme-tag{color:#f8fafc;background:#47556933;border-color:#e2e8f04d}.theme-cthulhu .game-theme-tag{color:#5eead4;background:#0f766e29;border-color:#14b8a657}.theme-music .game-theme-tag{color:#fcd34d;background:#92400e29;border-color:#f59e0b57}.theme-guitars .game-theme-tag{color:#fca5a5;background:#7f1d1d33;border-color:#ef444457}.game-title{font-size:1.6rem;line-height:1.2}.game-description{color:var(--text-secondary);flex-grow:1;font-size:.95rem;line-height:1.6}.game-meta{z-index:1;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.instance-status{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.status-dot{background-color:var(--text-muted);border-radius:50%;width:8px;height:8px}.status-dot.active{background-color:var(--success);box-shadow:0 0 8px var(--success-glow)}.launch-btn{border-radius:var(--radius-md);font-weight:600;font-family:var(--font-title);color:var(--text-primary);transition:background var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);white-space:nowrap;outline-offset:2px;background:#ffffff0d;border:1px solid #ffffff1a;outline:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.25rem;display:flex}.pack-manage-btn{min-height:44px;padding:.45rem .7rem;font-size:.72rem}.launch-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.launch-btn:active{transform:translateY(1px)}.launch-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.game-card:hover .launch-btn{background:linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 86%, #fff), var(--theme-accent));box-shadow:0 4px 18px color-mix(in srgb, var(--theme-accent) 36%, transparent)}@media (width<=480px){.game-card{min-height:360px;padding:1.35rem}.theme-card-stage{min-height:122px;margin:-.15rem -.15rem 1rem}.theme-card-scene{border-radius:18px;width:72px;height:72px;font-size:2.65rem}.theme-card-orbit span{width:30px;height:30px;font-size:.92rem}}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;display:grid}@media (width<=480px){.admin-grid{grid-template-columns:1fr}}.admin-card{align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.admin-icon-container{border-radius:var(--radius-md);background:color-mix(in oklch, var(--primary) 10%, transparent);border:1px solid color-mix(in oklch, var(--primary) 20%, transparent);width:54px;height:54px;color:var(--primary-hover);flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-card-content{flex-direction:column;flex-grow:1;gap:.5rem;display:flex}.admin-card-header{justify-content:space-between;align-items:flex-start;display:flex}.admin-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--error);background:#ef44441a;border:1px solid #ef444433;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.admin-btn{border-radius:var(--radius-sm);transition:var(--transition-smooth);outline-offset:2px;background:#ffffff0d;border:1px solid #ffffff1a;outline:2px solid #0000;align-self:flex-start;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:inline-flex}.admin-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.admin-btn:active{transform:translateY(1px)}.admin-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.admin-card:hover .admin-btn{background:var(--primary);color:#fff;border-color:#0000}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#05070cd9;justify-content:center;align-items:flex-start;padding:1.5rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{flex-direction:column;gap:1.5rem;width:100%;max-width:480px;margin:3rem auto;padding:2.5rem;display:flex;position:relative}.modal-close-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:.25rem;position:absolute;top:1.5rem;right:1.5rem}.modal-close-btn:hover{color:#fff;transform:rotate(90deg)}.modal-popout-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:1.5rem;right:3.5rem}.modal-popout-btn:hover{color:#fff;transform:scale(1.15)}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.form-input{border:1px solid var(--panel-border);border-radius:var(--radius-md);color:#fff;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);outline-offset:1px;background:#0f172a99;outline:2px solid #0000;padding:.75rem 1rem;font-family:inherit}.form-input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--primary);background:#0f172acc}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);font-weight:600;font-family:var(--font-title);white-space:nowrap;outline-offset:2px;outline:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border:none}.btn-primary:hover{box-shadow:0 8px 25px var(--primary-glow);transform:translateY(-2px)}.btn-secondary{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--btn-secondary-ink)}.btn-secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover)}.btn-danger{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d}.btn-danger:hover{background:var(--error);color:#fff;box-shadow:0 4px 15px var(--error-glow);border-color:#0000}.dashboard-panel{flex-direction:column;gap:2rem;padding:2rem;display:flex}.dashboard-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.instances-list-table{border-collapse:collapse;text-align:left;width:100%}.instances-list-table th,.instances-list-table td{border-bottom:1px solid #ffffff0f;padding:1rem}.instances-list-table th{font-family:var(--font-title);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.instances-list-table tr:hover td{background:#ffffff05}.form-select{border:1px solid var(--panel-border);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);outline-offset:1px;background:#0f172a99;outline:2px solid #0000;padding:.75rem 1rem;font-family:inherit}.form-select:hover{border-color:var(--panel-border-hover)}.form-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--primary);background:#0f172acc}.form-select:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.form-select option{background-color:var(--bg-color);color:#fff}.notification-banner{border-radius:var(--radius-md);align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;font-size:.95rem;display:flex}.notification-banner.info{background:color-mix(in oklch, var(--secondary) 10%, transparent);border:1px solid color-mix(in oklch, var(--secondary) 30%, transparent);color:#c7d2fe}.notification-banner.success{color:#a7f3d0;background:#10b9811a;border:1px solid #10b9814d}.notification-banner.warning{color:#fde68a;background:#f59e0b1a;border:1px solid #f59e0b4d}.notification-banner.error{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d}.portal-footer{text-align:center;border-top:1px solid var(--panel-border);color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.5rem;font-size:.9rem;display:flex}.footer-links{color:var(--text-secondary);align-items:center;gap:.65rem;font-size:.84rem;display:flex}.footer-links button,.about-back,.cookie-dismiss{appearance:none;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}.footer-links button:hover,.footer-links button:focus-visible{color:var(--primary-hover);text-decoration:underline}.turnstile-challenge{flex-direction:column;align-items:center;gap:.35rem;min-height:65px;display:flex}.turnstile-error{color:var(--error);text-align:center;font-size:.8rem}.contact-modal{max-width:530px}.contact-modal-mark{width:44px;height:44px;color:var(--gold);background:color-mix(in oklch, var(--gold) 12%, transparent);border:1px solid color-mix(in oklch, var(--gold) 30%, transparent);border-radius:50%;place-items:center;margin:0 auto .85rem;display:grid}.contact-modal h2{text-align:center;font-size:1.9rem}.contact-modal-intro{text-align:center;color:var(--text-secondary);max-width:42ch;margin:.5rem auto 1.35rem;font-size:.93rem}.contact-form{flex-direction:column;gap:.9rem;display:flex}.contact-form .form-group{flex-direction:column;gap:.35rem;display:flex}.contact-message-input{resize:vertical;min-height:120px}.contact-form .btn{align-self:flex-end;align-items:center;gap:.45rem;display:inline-flex}.contact-success{background:color-mix(in oklch, var(--success) 10%, transparent);border:1px solid color-mix(in oklch, var(--success) 30%, transparent);color:var(--success);border-radius:var(--radius-md);gap:.75rem;padding:1rem;display:flex}.contact-success p{color:var(--text-secondary);margin-top:.2rem;font-size:.9rem}.about-page{place-items:center;width:100%;padding:clamp(.5rem,2vw,2rem) clamp(.5rem,3vw,2rem) clamp(1rem,3vw,2.5rem);display:grid}.about-page-inner{width:min(100%,980px);animation:fadeIn .42s var(--ease-out,ease-out) both}.about-back{color:var(--text-secondary);align-items:center;gap:.45rem;padding:.4rem 0;display:inline-flex}.about-back:hover{color:var(--primary-hover)}.about-kicker{color:var(--gold);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:.5rem;margin-top:clamp(1rem,3vw,2rem);font-size:.82rem;font-weight:700;display:inline-flex}.about-page h1{letter-spacing:-.055em;max-width:12ch;margin:.8rem 0 1.3rem;font-size:clamp(3.1rem,8vw,7.2rem);line-height:.93}.about-lead{max-width:60ch;color:var(--text-secondary);font-size:clamp(1.02rem,1.8vw,1.25rem)}.about-grid{background:var(--panel-border);border:1px solid var(--panel-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(2rem,5vw,4.5rem);display:grid}.about-grid article{background:var(--panel-bg);padding:clamp(1.35rem,3vw,2.5rem)}.about-grid svg{color:var(--primary);margin-bottom:1.4rem}.about-grid h2{margin-bottom:.65rem;font-size:1.45rem}.about-grid p{color:var(--text-secondary)}.about-cta{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;display:flex}.about-cta strong,.about-cta span{display:block}.about-cta span{color:var(--text-secondary);margin-top:.15rem;font-size:.88rem}.about-cta .btn{white-space:nowrap;align-items:center;gap:.45rem;display:inline-flex}.cookie-consent{z-index:1000;background:color-mix(in oklch, var(--panel-bg) 94%, black);border:1px solid var(--panel-border-hover);max-width:480px;box-shadow:var(--panel-shadow);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.8rem;padding:1rem;display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.cookie-consent>svg{color:var(--gold)}.cookie-consent p{color:var(--text-secondary);font-size:.8rem}.cookie-consent .btn{padding:.45rem .7rem;font-size:.8rem}.cookie-dismiss{color:var(--text-muted);padding:.2rem}.cookie-dismiss:hover{color:var(--text-primary)}.contact-inbox{flex-direction:column;gap:1.25rem;display:flex}.contact-inbox-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--panel-border);padding:3rem}.contact-inbox-list{gap:.7rem;display:grid}.contact-inbox-item{cursor:pointer;border:1px solid var(--panel-border);background:color-mix(in oklch, var(--panel-bg) 88%, transparent);transition:var(--transition-smooth);border-left:3px solid #0000;padding:1rem 1.1rem}.contact-inbox-item:hover{border-color:var(--panel-border-hover);transform:translate(2px)}.contact-inbox-item.is-unread{border-left-color:var(--primary)}.contact-inbox-meta{color:var(--text-muted);justify-content:space-between;gap:.75rem;font-size:.75rem;display:flex}.contact-status{color:var(--gold);text-transform:uppercase;letter-spacing:.07em;font-weight:700}.contact-inbox-item h4{margin-top:.45rem;font-size:1.1rem}.contact-sender,.contact-preview{color:var(--text-secondary);font-size:.86rem}.contact-sender a{color:var(--primary-hover);text-decoration:underline}.contact-preview{white-space:pre-wrap;margin-top:.7rem}@media (width<=640px){.about-grid{grid-template-columns:1fr}.about-cta{flex-direction:column;align-items:flex-start}.cookie-consent{grid-template-columns:auto 1fr auto;bottom:.75rem;left:.75rem;right:.75rem}.cookie-dismiss{grid-area:1/3}.cookie-consent .btn{grid-column:2/4}.contact-form .btn{justify-content:center;width:100%}}.bg-glow-orbs{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-glow-orb-1{background:radial-gradient(circle, color-mix(in oklch, var(--primary) 8%, transparent) 0%, transparent 70%);border-radius:50%;width:40vw;height:40vw;animation:12s infinite alternate pulseGlow;position:absolute;top:10%;left:15%}.bg-glow-orb-2{background:radial-gradient(circle, color-mix(in oklch, var(--secondary) 8%, transparent) 0%, transparent 70%);border-radius:50%;width:35vw;height:35vw;animation:15s infinite alternate-reverse pulseGlow;position:absolute;bottom:10%;right:15%}.brand-logo-glow svg{transform-origin:50%;transition:transform .4s var(--ease-out);display:inline-block}.brand-section:hover .brand-logo-glow svg{transform:rotate(36deg)scale(1.15)}.brand-logo-glow:after{content:"";border-radius:inherit;box-shadow:0 0 15px var(--primary-glow);opacity:0;transition:opacity .3s;position:absolute;inset:0}.brand-section:hover .brand-logo-glow:after{opacity:1}.game-card{background:var(--card-bg);transition:transform .4s cubic-bezier(.25,1,.5,1),border-color .3s,box-shadow .4s cubic-bezier(.25,1,.5,1);position:relative;overflow:hidden}.game-card:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(115deg,#0000 0% 45%,#ffffff14 50%,#0000 55% 100%);width:100%;height:100%;transition:transform .6s;position:absolute;top:0;left:0;transform:translate(-100%)}.game-card:hover:before{transform:translate(100%)}.game-card:hover{box-shadow:0 20px 40px #0009, 0 0 25px color-mix(in oklch, var(--primary) 15%, transparent);transform:translateY(-8px)scale(1.02)}.theme-poker{border:1px solid #dc262633}.theme-poker:hover{background:linear-gradient(135deg,#1e0a0acc 0%,#05070cf2 100%);border-color:#ef44448c;box-shadow:0 20px 40px #0009,0 0 30px #ef444440}.theme-poker .launch-btn:hover{background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 4px 15px #ef444466}.theme-cosmic{border:1px solid #6366f140}.theme-cosmic:hover{background:linear-gradient(135deg,#0f173ecc 0%,#05070cf2 100%);border-color:#818cf899;box-shadow:0 20px 40px #0009,0 0 30px #6366f14d}.theme-cosmic .launch-btn:hover{background:linear-gradient(135deg,#6366f1,#ec4899);box-shadow:0 4px 15px #6366f166}.theme-witches{border:1px solid #10b98133}.theme-witches:hover{background:linear-gradient(135deg,#061e14cc 0%,#05070cf2 100%);border-color:#34d3998c;box-shadow:0 20px 40px #0009,0 0 30px #10b98140}.theme-witches .launch-btn:hover{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b98166}.theme-fat_princess{border:1px solid #fbbf2440}.theme-fat_princess:hover{background:linear-gradient(135deg,#2d1e0acc 0%,#05070cf2 100%);border-color:#fde04799;box-shadow:0 20px 40px #0009,0 0 30px #fbbf244d}.theme-fat_princess .launch-btn:hover{background:linear-gradient(135deg,#fbbf24,#db2777);box-shadow:0 4px 15px #fbbf2466}.theme-monopoly{border:1px solid #10b98140}.theme-monopoly:hover{background:linear-gradient(135deg,#0c2414cc 0%,#05070cf2 100%);border-color:#34d39999;box-shadow:0 20px 40px #0009,0 0 30px #10b9814d}.theme-monopoly .launch-btn:hover{background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 4px 15px #10b98166}.theme-scrabble{border:1px solid #8b5a2b40}.theme-scrabble:hover{background:linear-gradient(135deg,#282014cc 0%,#05070cf2 100%);border-color:#d9770699;box-shadow:0 20px 40px #0009,0 0 30px #d977064d}.theme-scrabble .launch-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 15px #d9770666}.theme-domino{border:1px solid #94a3b840}.theme-domino:hover{background:linear-gradient(135deg,#0f172acc 0%,#05070cf2 100%);border-color:#cbd5e199;box-shadow:0 20px 40px #0009,0 0 30px #94a3b84d}.theme-domino .launch-btn:hover{background:linear-gradient(135deg,#94a3b8,#475569);box-shadow:0 4px 15px #94a3b866}.theme-mahjong{border:1px solid #10b98140}.theme-mahjong:hover{background:linear-gradient(135deg,#0a2418cc 0%,#05070cf2 100%);border-color:#34d39999;box-shadow:0 20px 40px #0009,0 0 30px #10b98159}.theme-mahjong .launch-btn:hover{background:linear-gradient(135deg,#10b981,#064e3b);box-shadow:0 4px 15px #10b98166}.lobby-ticker-container{width:100%;height:var(--ticker-h);background:var(--ticker-bg);border-bottom:1px solid var(--ticker-rule);z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem 1rem;position:sticky;top:0;overflow:hidden}.lobby-ticker-inner{white-space:nowrap;gap:3.5rem;animation:35s linear infinite ticker-scroll;display:flex}.lobby-ticker-inner:hover{animation-play-state:paused}.ticker-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:inline-flex}.ticker-item strong{color:var(--text-primary)}.ticker-dot{background-color:var(--primary);width:6px;height:6px;box-shadow:0 0 8px var(--primary-glow);border-radius:50%}@keyframes ticker-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.floating-mini-game{z-index:90;border-radius:var(--radius-lg);width:320px;box-shadow:0 15px 45px #000000b3, 0 0 30px color-mix(in oklch, var(--primary) 10%, transparent);transition:transform var(--dur-medium) var(--ease-out), opacity var(--dur-medium) var(--ease-out), width var(--dur-medium) var(--ease-out), height var(--dur-medium) var(--ease-out), border-radius var(--dur-medium) var(--ease-out);background:#0f172af2;border:1px solid #ffffff14;position:fixed;bottom:1.5rem;right:1.5rem;overflow:hidden}.floating-mini-game.collapsed{cursor:pointer;border-color:color-mix(in oklch, var(--primary) 30%, transparent);background:linear-gradient(135deg,#1e1b4bf2 0%,#0f172af2 100%);border-radius:30px;justify-content:center;align-items:center;width:170px;height:48px;padding:0 1rem;display:flex}.floating-mini-game.collapsed:hover{border-color:var(--primary);box-shadow:0 5px 20px color-mix(in oklch, var(--primary) 35%, transparent);transform:translateY(-2px)}.mini-game-header{background:#ffffff05;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;display:flex}.mini-game-body{flex-direction:column;align-items:center;gap:1.2rem;padding:1.2rem;display:flex}.mini-game-felt-table{border-radius:var(--radius-md);background:radial-gradient(circle,#0c4a30 0%,#031c12 100%);border:2px solid #fbbf2440;justify-content:center;align-items:center;width:100%;padding:1.5rem 1rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #000c,0 0 15px #0c4a3026}.mini-game-felt-table:before{content:"";border-radius:var(--radius-md);pointer-events:none;border:1px dashed #fbbf241f;position:absolute;inset:8%}.lobby-dice-container{perspective:1000px;z-index:5;justify-content:center;align-items:center;gap:2.5rem;height:90px;margin:.5rem 0;display:flex}.lobby-dice{-webkit-user-select:none;user-select:none;cursor:default;width:72px;height:72px;transition:transform var(--dur-short) var(--ease-out);justify-content:center;align-items:center;display:flex;position:relative}.lobby-dice.rolling-1{animation:.75s linear infinite dice-tumble-1}.lobby-dice.rolling-2{animation:.75s linear infinite dice-tumble-2}.lobby-dice.rolling-1 text,.lobby-dice.rolling-2 text{filter:blur(1.5px);opacity:.65}.lobby-dice.rolling-1 svg,.lobby-dice.rolling-2 svg{animation:.4s linear infinite wireframe-spin}@keyframes wireframe-spin{0%{transform:rotate(0)scale(1.1)}to{transform:rotate(360deg)scale(.9)}}@keyframes dice-tumble-1{0%{transform:translate(-15px,-8px)rotate(0)scale(.95)}20%{transform:translate(10px,12px)rotate(140deg)scale(1.3)}40%{transform:translate(-18px,14px)rotate(280deg)scale(.85)}60%{transform:translate(8px,-15px)rotate(420deg)scale(1.35)}80%{transform:translate(-8px,-4px)rotate(560deg)scale(1.05)}to{transform:translate(0)rotate(720deg)scale(1)}}@keyframes dice-tumble-2{0%{transform:translate(12px,8px)rotate(0)scale(1)}25%{transform:translate(-14px,-12px)rotate(-160deg)scale(1.35)}50%{transform:translate(15px,10px)rotate(-320deg)scale(.8)}75%{transform:translate(-8px,15px)rotate(-480deg)scale(1.25)}to{transform:translate(0)rotate(-720deg)scale(1)}}.passive-gain-toast{color:var(--gold);pointer-events:none;z-index:100;font-size:.8rem;font-weight:700;animation:1.2s ease-out forwards floatUpFade;position:absolute}@keyframes floatUpFade{0%{opacity:0;transform:translateY(0)scale(.8)}20%{opacity:1;transform:translateY(-8px)scale(1)}to{opacity:0;transform:translateY(-35px)scale(.9)}}.floating-social-widget{z-index:95;border:1px solid color-mix(in oklch, var(--primary) 20%, transparent);border-radius:var(--radius-lg);width:360px;max-width:calc(100vw - 3rem);height:520px;max-height:calc(100vh - 8rem);box-shadow:0 20px 50px #000c, 0 0 30px color-mix(in oklch, var(--primary) 15%, transparent);-webkit-backdrop-filter:blur(20px);background:#0a0f1ef5;flex-direction:column;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:1.5rem;left:1.5rem;overflow:hidden}.floating-social-widget.collapsed{cursor:pointer;border-color:color-mix(in oklch, var(--secondary) 30%, transparent);width:170px;height:48px;box-shadow:0 10px 25px #00000080, 0 0 15px color-mix(in oklch, var(--secondary) 15%, transparent);background:linear-gradient(135deg,#1e1b4bf2 0%,#0f172af2 100%);border-radius:30px;flex-direction:row;justify-content:center;align-items:center;padding:0 1.2rem;display:flex}.floating-social-widget.collapsed:hover{border-color:var(--primary);box-shadow:0 5px 25px color-mix(in oklch, var(--primary) 35%, transparent);transform:translateY(-2px)}.social-widget-header{background:#ffffff05;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;display:flex}.social-widget-tabs{background:#0003;border-bottom:1px solid #ffffff0a;padding:.25rem;display:flex}.social-widget-tab{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-smooth);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .25rem;font-size:.78rem;font-weight:700;display:flex}.social-widget-tab:hover{color:var(--text-primary);background:#ffffff08}.social-widget-tab.active{color:var(--text-primary);background:color-mix(in oklch, var(--primary) 15%, transparent);box-shadow:inset 0 0 10px color-mix(in oklch, var(--primary) 10%, transparent);border:1px solid color-mix(in oklch, var(--primary) 20%, transparent)}.social-widget-body{flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.social-status-dot{border-radius:50%;width:9px;height:9px;display:inline-block;position:relative}.social-status-dot:after{content:"";opacity:.4;border:1px solid;border-radius:50%;animation:1.8s ease-in-out infinite pulseGlow;position:absolute;inset:-2px}.social-friend-card{border-radius:var(--radius-md);transition:var(--transition-smooth);background:#ffffff08;border:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .75rem;display:flex}.social-friend-card:hover{background:#ffffff0d;border-color:#ffffff14}.social-invite-banner{border-radius:var(--radius-md);color:var(--gold);background:linear-gradient(135deg,#fbbf2426 0%,#fbbf240d 100%);border:1px dashed #fbbf2459;padding:.6rem .8rem;font-size:.78rem;line-height:1.3}.tab-badge{background:var(--gold);color:#000;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:800;line-height:1;display:inline-flex}.tab-badge-pulse{background:var(--accent);color:var(--color-accent-ink);animation:1.5s infinite alternate pulseGlow}.spin-animation{animation:1.2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.game-card:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.ladder-page{width:min(1120px,100%);margin:0 auto}.ladder-masthead{border:1px solid color-mix(in oklch, var(--gold) 38%, var(--panel-border));background:linear-gradient(112deg, color-mix(in oklch, var(--color-paper-2) 93%, black), color-mix(in oklch, var(--gold) 5%, var(--color-paper-2)));padding:clamp(1.6rem,4vw,3.5rem);position:relative;overflow:hidden}.ladder-masthead:after{content:"ALL TIME";color:color-mix(in oklch, var(--gold) 10%, transparent);font:900 clamp(3rem, 12vw, 10rem)/1 var(--font-title);letter-spacing:-.08em;pointer-events:none;position:absolute;bottom:-.4em;right:-.05em}.ladder-kicker,.ladder-back,.ladder-refresh,.ladder-privacy-toggle{align-items:center;gap:.45rem;display:inline-flex}.ladder-kicker{z-index:1;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:800;position:relative}.ladder-masthead h2{z-index:1;margin:.3rem 0;font-size:clamp(2.6rem,7vw,5rem);line-height:.92;position:relative}.ladder-masthead p{z-index:1;max-width:40rem;color:var(--text-secondary);margin:0;position:relative}.ladder-back,.ladder-refresh{z-index:2;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;position:relative}.ladder-back{margin-bottom:1.5rem;padding:0}.ladder-refresh{border:1px solid var(--panel-border);color:var(--text-primary);margin-top:1.25rem;padding:.45rem .7rem}.ladder-refresh:disabled{cursor:wait;opacity:.65}.ladder-spinning{animation:1s linear infinite spin}.ladder-grid{background:var(--panel-border);border:1px solid var(--panel-border);grid-template-columns:1.15fr 1fr 1fr;gap:1px;margin-top:1px;display:grid}.ladder-panel{background:var(--card-bg);min-width:0;padding:1.25rem}.ladder-panel header{border-bottom:1px solid var(--panel-border);align-items:baseline;gap:.7rem;padding-bottom:1rem;display:flex}.ladder-panel-number{color:var(--gold);font:800 1.1rem/1 var(--font-title)}.ladder-panel h3{margin:0;font-size:1.2rem}.ladder-panel p{color:var(--text-muted);margin:.1rem 0 0;font-size:.76rem}.ladder-list{margin:0;padding:0;list-style:none}.ladder-list li{border-bottom:1px solid color-mix(in oklch, var(--panel-border) 72%, transparent);align-items:center;gap:.65rem;min-height:4.15rem;display:flex}.ladder-list li:last-child{border-bottom:0}.ladder-rank{color:var(--text-muted);font:700 1rem/1 var(--font-title);text-align:center;flex:0 0 1.5rem}.ladder-list li:first-child .ladder-rank{color:var(--gold)}.ladder-entry{gap:.13rem;min-width:0;display:grid}.ladder-entry strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.ladder-entry small{color:var(--text-muted);font-size:.72rem}.ladder-game-leader{min-width:0;color:var(--gold);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;margin-left:auto;font-size:.72rem;display:inline-flex;overflow:hidden}.ladder-status{border:1px solid var(--panel-border);background:var(--card-bg);color:var(--text-secondary);text-align:center;padding:4rem 1.5rem}.ladder-error{border-color:color-mix(in oklch, var(--error) 45%, var(--panel-border));color:var(--error)}.ladder-privacy-toggle{border:1px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;margin-top:.4rem;padding:.5rem .7rem;font-size:.76rem}.ladder-privacy-toggle input{accent-color:var(--primary)}@media (width<=820px){.ladder-grid{grid-template-columns:1fr}.ladder-panel{padding:1rem}.ladder-masthead:after{font-size:5rem}}
