*{box-sizing:border-box}:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg, #0B0F1A);color:var(--ink-92, rgba(255, 255, 255, .92));font-family:var(--font-sans, "DM Sans", system-ui, sans-serif)}:root{--accent: rgb(45, 212, 191);--accent-hover: rgb(110, 231, 216);--accent-deep: rgb(15, 118, 110);--accent-bg-soft: rgba(45, 212, 191, .06);--accent-bg-medium: rgba(45, 212, 191, .12);--accent-border: rgba(45, 212, 191, .24);--bg: #0B0F1A;--bg-medium: #12182A;--bg-card: #1A2138;--bg-elevated: #222B47;--bg-overlay: rgba(11, 15, 26, .96);--ink-92: rgba(255, 255, 255, .92);--ink-85: rgba(255, 255, 255, .85);--ink-75: rgba(255, 255, 255, .75);--ink-65: rgba(255, 255, 255, .65);--ink-55: rgba(255, 255, 255, .55);--ink-45: rgba(255, 255, 255, .45);--ink-40: rgba(255, 255, 255, .4);--ink-35: rgba(255, 255, 255, .35);--ink-30: rgba(255, 255, 255, .3);--ink-25: rgba(255, 255, 255, .25);--ink-20: rgba(255, 255, 255, .2);--border-strong: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .06);--border-faint: rgba(255, 255, 255, .04);--player-1: rgb(96, 165, 250);--player-1-soft: rgba(96, 165, 250, .12);--player-1-border: rgba(96, 165, 250, .28);--player-2: rgb(251, 191, 36);--player-2-soft: rgba(251, 191, 36, .12);--player-2-border: rgba(251, 191, 36, .28);--player-3: rgb(248, 113, 113);--player-3-soft: rgba(248, 113, 113, .12);--player-3-border: rgba(248, 113, 113, .28);--player-4: rgb(167, 139, 250);--player-4-soft: rgba(167, 139, 250, .12);--player-4-border: rgba(167, 139, 250, .28);--player-5: rgb(74, 222, 128);--player-5-soft: rgba(74, 222, 128, .12);--player-5-border: rgba(74, 222, 128, .28);--player-6: rgb(244, 114, 182);--player-6-soft: rgba(244, 114, 182, .12);--player-6-border: rgba(244, 114, 182, .28);--oil: rgb(217, 119, 6);--oil-soft: rgba(217, 119, 6, .12);--oil-border: rgba(217, 119, 6, .28);--ore: rgb(148, 163, 184);--ore-soft: rgba(148, 163, 184, .12);--ore-border: rgba(148, 163, 184, .28);--capital: rgb(45, 212, 191);--capital-soft: rgba(45, 212, 191, .12);--capital-border: rgba(45, 212, 191, .28);--vp: rgb(234, 179, 8);--vp-soft: rgba(234, 179, 8, .12);--vp-border: rgba(234, 179, 8, .28);--state-decay: rgb(251, 146, 60);--state-decay-soft: rgba(251, 146, 60, .12);--state-danger: rgb(239, 68, 68);--state-danger-soft: rgba(239, 68, 68, .12);--state-victory: rgb(234, 179, 8);--state-victory-soft: rgba(234, 179, 8, .12);--state-success: rgb(74, 222, 128);--state-success-soft: rgba(74, 222, 128, .12);--font-sans: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--weight-body: 400;--weight-medium: 500;--weight-heading: 600;--tracking-tight: -.5px;--tracking-snug: -.3px;--tracking-ui: -.2px;--tracking-mono: .3px;--tracking-mono-wide: .5px;--fs-display: 2.625rem;--fs-h2: 1.5rem;--fs-h3: 1.25rem;--fs-h4: 1.125rem;--fs-body: 1rem;--fs-small: .875rem;--fs-mono: .6875rem;--fs-mono-xs: .5625rem;--gutter: 52px;--gutter-tablet: 2rem;--gutter-mobile: 1.5rem;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-3xl: 14px;--shadow-card-hover: 0 2px 16px rgba(0, 0, 0, .3);--shadow-modal: 0 12px 48px rgba(0, 0, 0, .4);--shadow-popover: 0 8px 32px rgba(0, 0, 0, .32), 0 2px 8px rgba(0, 0, 0, .2);--shadow-turn-glow: 0 0 0 1px var(--accent-border), 0 4px 24px rgba(45, 212, 191, .15);--ease-spring: cubic-bezier(.22, 1, .36, 1);--t-fast: .15s ease;--t-base: .2s ease;--t-card: .3s ease;--t-image: .6s var(--ease-spring);--max-post: 680px;--max-content: 800px;--max-page: 960px;--max-wide: 1200px;--nav-height: 56px}@keyframes lucide-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lucide-spin{animation:lucide-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.lucide-spin{animation-duration:4s}}.wrapper{min-height:100vh;box-sizing:border-box}.home-header{position:absolute;top:0;left:0;display:flex;align-items:center;padding:24px 32px;z-index:50}.home-logo{font:var(--weight-heading) 12px/1.1 var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-92);text-decoration:none;white-space:pre-line}.header{color:var(--ink-92);display:flex;flex-flow:column nowrap;justify-content:center;align-items:center;background:var(--bg);padding:8rem 2rem 5rem;box-sizing:border-box;min-height:78vh;border-bottom:1px solid var(--border)}.header .header-hero{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;max-width:720px;width:100%;text-align:center}.hero-eyebrow{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0 0 28px;display:inline-flex;align-items:center;gap:8px}.hero-eyebrow .lucide{width:12px;height:12px;color:var(--accent)}.header .hero-tagline{font:var(--weight-heading) clamp(34px,5vw,52px)/1.1 var(--font-sans);letter-spacing:var(--tracking-tight);color:var(--ink-92);margin:0 0 24px;max-width:760px}.header .hero-teaser{font:var(--weight-body) clamp(16px,1.5vw,18px)/1.65 var(--font-sans);color:var(--ink-65);margin:0 0 40px;max-width:600px}.header .hero-buttons{display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:center}.header a{text-decoration:none}.home-cta{display:inline-flex;align-items:center;gap:14px;padding:12px 14px 12px 24px;background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-2xl);text-decoration:none;cursor:pointer;font-family:var(--font-sans);color:var(--accent);transition:background .2s ease,border-color .2s ease,transform .2s var(--ease-spring)}.home-cta:hover{background:var(--accent-bg-medium);border-color:var(--accent);transform:translateY(-1px)}.home-cta-simple{font:var(--weight-heading) 15px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:14px 14px 14px 22px}.home-cta-rich .home-cta-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}.home-cta-rich .home-cta-main{font:var(--weight-heading) 16px/1.2 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--accent)}.home-cta-rich .home-cta-sub{font:var(--weight-body) 12px/1.3 var(--font-sans);color:var(--ink-45);text-align:left}.home-cta-ext{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--bg);flex-shrink:0}.home-cta-ext .lucide{width:14px;height:14px;stroke-width:2.25}.content{padding:96px 52px;max-width:1200px;margin:0 auto;box-sizing:border-box}.section-eyebrow{display:block;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);text-align:center;margin:0 0 16px}.content-heading{font:var(--weight-heading) clamp(26px,3.2vw,34px)/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92);text-align:center;margin:0 auto 56px;max-width:720px}.content .game-elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0 auto;max-width:1100px}.content .game-element{margin:0;padding:32px 28px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s var(--ease-spring);flex:none}.content .game-element:hover{background:#ffffff05;border-color:var(--border);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.content .game-element span.callout{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin-bottom:8px;display:block;text-align:center}.game-element span{display:block}.game-element .game-element-icon{display:inline-flex;justify-content:center;align-items:center;color:var(--accent);margin:0 0 20px;align-self:center}.game-element .game-element-icon .lucide{width:28px;height:28px}.game-element .step{font:var(--weight-heading) 17px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);margin:0 0 10px;text-align:center;max-width:none}.game-element .explanation{font:var(--weight-body) 14px/1.6 var(--font-sans);color:var(--ink-65);flex-grow:1;text-align:center;max-width:none}.content-cta{padding:56px 0 0;text-align:center}.footer{background:var(--bg);padding:56px 32px 40px;text-align:center;font:var(--weight-medium) 11px/1.5 var(--font-sans);letter-spacing:.03em;color:var(--ink-30);border-top:1px solid var(--border);box-sizing:border-box}.footer__copy:after{content:"  · "}.footer a{color:var(--ink-30);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.footer a:hover{color:var(--ink-92);background-size:100% 1px}@media(max-width:480px){.footer__copy:after{content:none}.footer__copy,.footer__links{display:block}.footer__links{margin-top:.4rem}}@media(max-width:880px){.header{padding:6rem 2rem 4rem!important;min-height:auto}.content{padding:64px 32px!important}}@media(max-width:640px){.header{padding:5rem 1.5rem 3rem!important}.content{padding:56px 24px!important}.home-header{padding:20px 24px}}.global-header{position:fixed;top:0;right:0;left:0;display:flex;justify-content:flex-end;padding:24px 32px;z-index:100;pointer-events:none}.global-header>*{pointer-events:auto}.tutorial-pill{position:fixed;bottom:24px;right:24px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;color:var(--ink-45);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring);z-index:100}.tutorial-pill:hover{background:var(--accent-bg-soft);border-color:var(--accent-border);color:var(--accent);transform:translateY(-1px)}.tutorial-pill .lucide{width:16px;height:16px}.about-hero{background:var(--bg);padding:96px 52px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center}.about-hero-content{max-width:720px;margin:0 auto}.about-title{font:var(--weight-heading) clamp(26px,3.2vw,34px)/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92);margin:0 0 32px}.about-hero-text{font:var(--weight-body) clamp(16px,1.5vw,17px)/1.7 var(--font-sans);color:var(--ink-65);margin:0 auto 20px;max-width:640px}.about-hero-text:last-child{margin-bottom:0}.about-hero~.content .content-heading{max-width:720px;margin-left:auto;margin-right:auto}.design-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0 auto;max-width:1100px;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:0;border-radius:0}@media(max-width:1100px){.design-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.design-cards{grid-template-columns:1fr}}.design-card{text-align:left;padding:24px 24px 28px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s var(--ease-spring)}.design-card:hover{background:#ffffff05;border-color:var(--border);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.design-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.design-card-header>.lucide{width:16px;height:16px;color:var(--accent);flex-shrink:0}.design-card-header span{font:var(--weight-heading) 15px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92)}.design-card p{font:var(--weight-body) 14px/1.55 var(--font-sans);color:var(--ink-65);margin:0}.about-closing{margin:56px auto 0;max-width:640px;text-align:center}.about-closing p{font:var(--weight-body) 16px/1.7 var(--font-sans);color:var(--ink-65);margin:0 0 16px}.about-closing p:last-child{margin-bottom:0}.about-rules{margin:80px auto 0;max-width:720px;padding-top:64px;position:relative;border-top:1px solid var(--border)}.about-rules+.content-cta{padding-top:64px}.about-rules:before{content:none}.rules-heading{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0 0 32px;text-align:center}.accordion-container{display:flex;flex-direction:column;gap:0}@media(max-width:640px){.about-hero{padding:64px 24px}}.auth-modal-backdrop{position:fixed;inset:0;background:#0b0f1ab8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.auth-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:36px 32px;width:100%;max-width:420px;position:relative;box-shadow:var(--shadow-modal);backdrop-filter:none;-webkit-backdrop-filter:none}.auth-modal-close{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--ink-45);cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease}.auth-modal-close:hover{color:var(--ink-92);background:#ffffff0a}.auth-modal-close .lucide{width:18px;height:18px}.auth-modal-title{font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92);margin:0 0 24px;text-align:center}.auth-modal-tabs{display:flex;gap:0;margin-bottom:28px;background:transparent;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.auth-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;background:transparent;border:none;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-45);cursor:pointer;border-radius:0;transition:background .2s ease,color .2s ease}.auth-tab+.auth-tab{border-left:1px solid var(--border)}.auth-tab:hover{color:var(--ink-92);background:#ffffff05}.auth-tab.active{background:var(--accent-bg-soft);color:var(--accent)}.auth-modal-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-field label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.auth-field input{font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:12px 14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink-92);transition:border-color .2s ease,background .2s ease}.auth-field input::placeholder{color:var(--ink-30)}.auth-field input:hover{border-color:var(--border-strong)}.auth-field input:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.auth-error{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--state-danger-soft);border:1px solid var(--state-danger);border-radius:var(--radius-md);color:var(--state-danger);font:var(--weight-medium) 13px/1.4 var(--font-sans)}.auth-error .lucide{color:var(--state-danger);width:16px;height:16px;flex-shrink:0}.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;height:46px;padding:0 22px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);color:var(--accent);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.auth-submit:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.auth-submit:disabled{background:transparent;border-color:var(--border);color:var(--ink-30);cursor:not-allowed}.auth-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-modal-footer{margin-top:20px;text-align:center;font:var(--weight-body) 12px/1.5 var(--font-sans);color:var(--ink-45)}.auth-link{background:none;border:none;color:var(--accent);font:var(--weight-medium) 12px/1.5 var(--font-sans);cursor:pointer;padding:0;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.auth-link:hover{color:var(--accent-hover);background-size:100% 1px}@media(max-width:480px){.auth-modal{padding:28px 24px}.auth-modal-title{font-size:19px}}.quick-start-backdrop{position:fixed;inset:0;background:#0b0f1a52;display:flex;align-items:flex-end;justify-content:flex-start;z-index:1000;padding:32px}.quick-start-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 28px 20px;width:100%;max-width:420px;position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-popover);backdrop-filter:none;-webkit-backdrop-filter:none}.quick-start-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--ink-45);cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease}.quick-start-close:hover{color:var(--ink-92);background:#ffffff0a}.quick-start-close .lucide{width:16px;height:16px}.quick-start-content{display:flex;flex-direction:column;min-height:0}.quick-start-slide{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.quick-start-slide-header{display:flex;align-items:center;gap:10px}.quick-start-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.quick-start-icon .lucide{width:18px;height:18px}.quick-start-slide-title{font:var(--weight-heading) 16px/1.2 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);margin:0}.quick-start-slide-description{font:var(--weight-body) 13px/1.6 var(--font-sans);color:var(--ink-65);margin:0}.quick-start-inline-link{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;padding:0;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.quick-start-inline-link:hover{color:var(--accent-hover);background-size:100% 1px}.quick-start-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-soft)}.quick-start-dots{display:flex;gap:6px}.quick-start-dot{width:5px;height:5px;border-radius:50%;background:var(--ink-20);border:none;padding:0;cursor:pointer;transition:background .2s ease,width .3s var(--ease-spring)}.quick-start-dot:hover{background:var(--ink-40)}.quick-start-dot.active{background:var(--accent);width:18px;border-radius:3px}.quick-start-nav{display:flex;gap:4px;align-items:center}.quick-start-nav-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:6px 10px;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;cursor:pointer;color:var(--ink-45);border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease}.quick-start-nav-btn:hover:not(:disabled){color:var(--ink-92);background:#ffffff08}.quick-start-nav-btn:disabled{opacity:.3;cursor:not-allowed}.quick-start-nav-btn .lucide{width:14px;height:14px}.quick-start-nav-btn.next{color:var(--accent)}.quick-start-nav-btn.next:hover:not(:disabled){color:var(--accent-hover);background:var(--accent-bg-soft)}.quick-start-nav-btn.next.primary{padding:8px 14px;background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-md);color:var(--accent);text-transform:uppercase}.quick-start-nav-btn.next.primary:hover{background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover)}@media(max-width:640px){.quick-start-backdrop{background:#0b0f1ab8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:24px}.quick-start-modal{max-width:100%}}.profile-modal-backdrop{position:fixed;inset:0;background:#0b0f1ab8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.profile-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:36px 32px;width:100%;max-width:460px;position:relative;box-shadow:var(--shadow-modal);backdrop-filter:none;-webkit-backdrop-filter:none}.profile-modal-close{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--ink-45);cursor:pointer;border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease}.profile-modal-close:hover{color:var(--ink-92);background:#ffffff0a}.profile-modal-close .lucide{width:18px;height:18px}.profile-modal-title{font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92);margin:0 0 24px;text-align:center}.profile-modal-tabs{display:flex;gap:0;margin-bottom:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.profile-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;background:transparent;border:none;border-radius:0;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-45);cursor:pointer;transition:background .2s ease,color .2s ease}.profile-tab+.profile-tab{border-left:1px solid var(--border)}.profile-tab:hover{color:var(--ink-92);background:#ffffff05}.profile-tab.active{background:var(--accent-bg-soft);color:var(--accent)}.profile-tab .lucide{width:14px;height:14px;flex-shrink:0}.profile-modal-form{display:flex;flex-direction:column;gap:16px}.profile-field{display:flex;flex-direction:column;gap:8px}.profile-field label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.profile-field input{font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:12px 14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink-92);transition:border-color .2s ease,background .2s ease}.profile-field input::placeholder{color:var(--ink-30)}.profile-field input:hover{border-color:var(--border-strong)}.profile-field input:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.profile-field-hint{font:var(--weight-body) 11px/1.4 var(--font-sans);color:var(--ink-30)}.profile-error{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--state-danger-soft);border:1px solid var(--state-danger);border-radius:var(--radius-md);color:var(--state-danger);font:var(--weight-medium) 13px/1.4 var(--font-sans)}.profile-error .lucide{color:var(--state-danger);width:16px;height:16px;flex-shrink:0}.profile-success{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--state-success-soft);border:1px solid var(--state-success);border-radius:var(--radius-md);color:var(--state-success);font:var(--weight-medium) 13px/1.4 var(--font-sans)}.profile-success .lucide{color:var(--state-success);width:16px;height:16px;flex-shrink:0}.profile-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;height:46px;padding:0 22px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);color:var(--accent);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.profile-submit:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.profile-submit:disabled{background:transparent;border-color:var(--border);color:var(--ink-30);cursor:not-allowed}.profile-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}@media(max-width:480px){.profile-modal{padding:28px 24px}.profile-modal-title{font-size:19px}.profile-tab{padding:10px 12px;font-size:11px}}.user-menu{position:relative}.user-menu-loading{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;color:var(--ink-30)}.user-menu-loading .lucide{width:14px;height:14px}.user-menu-login{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink-65);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.user-menu-login:hover{background:var(--accent-bg-soft);border-color:var(--accent-border);color:var(--accent);transform:translateY(-1px)}.user-menu-login .lucide{width:14px;height:14px}.user-menu-trigger{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 14px 0 6px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-3xl);color:var(--ink-92);cursor:pointer;transition:background .2s ease,border-color .2s ease}.user-menu-trigger:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.user-avatar{width:26px;height:26px;border-radius:50%;background:var(--player-4);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-initials{font:var(--weight-heading) 11px/1 var(--font-sans);color:#fff}.user-name{font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{font:var(--weight-medium) 9px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;padding:3px 6px;border-radius:var(--radius-xs);border:1px solid}.role-badge.role-admin{background:var(--state-danger-soft);border-color:var(--state-danger);color:var(--state-danger)}.role-badge.role-host{background:var(--player-4-soft);border-color:var(--player-4-border);color:var(--player-4)}.role-badge.role-user,.role-badge.role-player{background:transparent;border-color:var(--border);color:var(--ink-45)}.role-badge.role-pending{background:var(--state-decay-soft);border-color:var(--state-decay);color:var(--state-decay)}.user-menu-trigger>.lucide{width:12px;height:12px;color:var(--ink-30);margin-left:0}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);overflow:hidden;z-index:1000;backdrop-filter:none;-webkit-backdrop-filter:none}.user-menu-header{padding:14px 18px 12px}.user-menu-username{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.user-menu-divider{height:1px;background:var(--border);margin:4px 0;border:none}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 18px;background:transparent;border:none;font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-85);cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.user-menu-item:hover:not(:disabled){background:#ffffff08;color:var(--accent)}.user-menu-item .lucide{width:15px;height:15px;color:var(--ink-40);flex-shrink:0;transition:color .15s ease}.user-menu-item:hover:not(:disabled) .lucide{color:var(--accent)}.user-menu-item-muted{color:var(--ink-30);cursor:not-allowed}.user-menu-item-muted .lucide{color:var(--ink-30)}.user-menu-item-danger:hover:not(:disabled){background:var(--state-danger-soft);color:var(--state-danger)}.user-menu-item-danger:hover:not(:disabled) .lucide{color:var(--state-danger)}@media(max-width:640px){.user-name{display:none}.user-menu-trigger{padding:0 12px 0 5px}.user-menu-dropdown{right:-8px;min-width:220px}}.accordion-section{border:none;border-top:1px solid var(--border);background:transparent;border-radius:0;overflow:hidden;transition:background .2s ease}.accordion-section:last-child{border-bottom:1px solid var(--border)}.accordion-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 4px;background:transparent;border:none;cursor:pointer;font-family:var(--font-sans);transition:padding .2s ease}.accordion-header:hover .accordion-title{color:var(--accent)}.accordion-header-left{display:flex;align-items:center;gap:14px}.accordion-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--accent);background:none;border:none;border-radius:0;flex-shrink:0}.accordion-icon .lucide{width:18px;height:18px}.accordion-title{font:var(--weight-heading) 16px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);transition:color .2s ease}.accordion-chevron{display:inline-flex;align-items:center;color:var(--ink-30);transition:color .2s ease}.accordion-chevron .lucide{width:16px;height:16px}.accordion-section.open .accordion-chevron{color:var(--accent)}.accordion-content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.accordion-section.open .accordion-content-wrapper{grid-template-rows:1fr}.accordion-content{overflow:hidden}.accordion-content>*{padding:0 4px 28px}.accordion-content h4{font:var(--weight-heading) 14px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-85);margin:24px 0 8px;text-transform:none}.accordion-content h4:first-child{margin-top:0}.accordion-content p{font:var(--weight-body) 15px/1.65 var(--font-sans);color:var(--ink-65);margin:0 0 12px}.accordion-content p:last-child{margin-bottom:0}.accordion-content ul{margin:0 0 12px;padding-left:20px}.accordion-content li{font:var(--weight-body) 15px/1.65 var(--font-sans);color:var(--ink-65);margin-bottom:6px}.accordion-content li:last-child{margin-bottom:0}.accordion-content strong{color:var(--ink-85);font-weight:var(--weight-heading)}.accordion-content .configurable{font:var(--weight-medium) 11px/1.5 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-30);font-style:normal;margin-top:16px;padding-top:12px;border-top:1px solid var(--border-soft)}.accordion-content table{width:100%;border-collapse:collapse;margin:16px 0;font-family:var(--font-sans)}.accordion-content th,.accordion-content td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-soft)}.accordion-content th{font:var(--weight-medium) 10px/1 var(--font-mono);color:var(--ink-30);letter-spacing:var(--tracking-mono);text-transform:uppercase}.accordion-content td{font:var(--weight-body) 13px/1.5 var(--font-sans);color:var(--ink-65)}.accordion-content tr:last-child td{border-bottom:none}.accordion-content tbody tr:hover td{background:#ffffff05}@media(max-width:600px){.accordion-header{padding:16px 0}.accordion-title{font-size:15px}.accordion-content>*{padding:0 0 20px}}.require-auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:14px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.require-auth-loading .lucide{width:28px;height:28px;color:var(--accent)}.require-auth-prompt{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:24px}.require-auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:40px 36px;text-align:center;max-width:440px;box-shadow:var(--shadow-modal);backdrop-filter:none;-webkit-backdrop-filter:none}.require-auth-card i{display:inline-block;font-size:36px;color:var(--accent);margin-bottom:20px}.require-auth-card.require-auth-denied i{color:var(--state-danger)}.require-auth-card h2{font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92);margin:0 0 12px}.require-auth-card p{font:var(--weight-body) 14px/1.55 var(--font-sans);color:var(--ink-65);margin:0 0 24px}.require-auth-card button{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);color:var(--accent);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.require-auth-card button:hover{background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.require-auth-role{display:block;font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin-top:14px}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);min-width:280px;max-width:480px;padding:12px 16px;display:inline-flex;align-items:center;gap:12px;background:var(--bg-card);border:1px solid;border-radius:var(--radius-md);box-shadow:var(--shadow-popover);z-index:1001;animation:toast-slide-in .3s var(--ease-spring)}@keyframes toast-slide-in{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}@media(prefers-reduced-motion:reduce){.toast{animation-duration:.01s}}.toast-success{border-color:var(--state-success);background:var(--state-success-soft);color:var(--state-success)}.toast-error{border-color:var(--state-danger);background:var(--state-danger-soft);color:var(--state-danger)}.toast-message{flex:1;font:var(--weight-medium) 13px/1.4 var(--font-sans);letter-spacing:var(--tracking-ui)}.toast-close-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;cursor:pointer;color:inherit;padding:0;border-radius:var(--radius-xs);opacity:.7;transition:opacity .2s ease,background .2s ease}.toast-close-btn:hover{opacity:1;background:#ffffff0f}.toast-close-btn .lucide{width:14px;height:14px}@media(max-width:640px){.toast{left:16px;right:16px;transform:translate(0);min-width:auto;max-width:none}@keyframes toast-slide-in{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}}.config-container{font-family:var(--font-sans);background:var(--bg);color:var(--ink-92)}.config-container.config-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}.config-loading,.config-error{display:flex;align-items:center;justify-content:center;height:100vh;text-align:center;padding:48px 24px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.config-home-button{position:fixed!important;top:20px;right:24px;left:auto;z-index:1000;display:inline-flex;align-items:center;justify-content:center;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;height:38px;padding:0 16px;background:var(--accent-bg-soft);color:var(--accent);border:1px solid var(--accent-border);border-radius:var(--radius-lg);text-decoration:none;box-sizing:border-box;width:auto;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring);overflow:visible;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.config-home-button:before{content:none}.config-home-button:hover{background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.config-editor-wrapper{position:fixed;top:0;left:0;width:100%;height:100vh;margin:0;padding:0}.config-editor-wrapper .monaco-editor{border:none}.config-header{position:fixed;top:20px;right:24px;z-index:1000;display:flex;gap:10px;align-items:center}.config-logout-button{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:transparent;color:var(--state-danger);border:1px solid var(--state-danger);border-radius:var(--radius-lg);text-decoration:none;box-sizing:border-box;cursor:pointer;transition:background .2s ease,transform .2s var(--ease-spring);backdrop-filter:none;-webkit-backdrop-filter:none}.config-logout-button:hover{background:var(--state-danger-soft);transform:translateY(-1px)}@media(max-width:640px){.admin-login{padding:24px 22px;margin:0;width:100%;box-sizing:border-box}.login-form input,.login-form button{max-width:100%;width:100%}.config-header,.config-home-button{top:16px;right:16px}}.user-table-container{background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:hidden}.user-table-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);gap:16px;flex-wrap:wrap}.user-table-filters{display:flex;gap:6px}.filter-button{display:inline-flex;align-items:center;height:30px;padding:0 12px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-45);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.filter-button:hover{border-color:var(--border-strong);color:var(--ink-92)}.filter-button.active{background:var(--accent-bg-soft);border-color:var(--accent-border);color:var(--accent)}.filter-button.filter-pending{border-color:var(--state-decay-soft);color:var(--state-decay)}.filter-button.filter-pending:hover{border-color:var(--state-decay)}.filter-button.filter-pending.active{background:var(--state-decay-soft);border-color:var(--state-decay);color:var(--state-decay)}.user-table-search{display:flex;align-items:center;gap:10px;padding:8px 14px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);min-width:260px;transition:border-color .2s ease,background .2s ease}.user-table-search:hover,.user-table-search:focus-within{border-color:var(--accent);background:var(--accent-bg-soft)}.user-table-search .lucide{color:var(--ink-30);width:14px;height:14px;flex-shrink:0}.user-table-search input{background:transparent;border:none;outline:none;font:var(--weight-medium) 13px/1 var(--font-sans);color:var(--ink-92);width:100%}.user-table-search input::placeholder{color:var(--ink-30)}.user-table{width:100%;border-collapse:collapse;font-family:var(--font-sans)}.user-table th{text-align:left;padding:12px 18px;font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);background:transparent;border-bottom:1px solid var(--border)}.user-table td{padding:14px 18px;font:var(--weight-medium) 13px/1.4 var(--font-sans);color:var(--ink-85);border-bottom:1px solid var(--border-soft)}.user-table tbody tr:hover{background:#ffffff05}.user-table tbody tr.inactive-row{opacity:.55}.user-table tbody tr:last-child td{border-bottom:none}.user-cell{min-width:200px}.user-info{display:flex;flex-direction:column;gap:2px}.user-email{font-weight:var(--weight-medium);color:var(--ink-92)}.user-display-name{font:var(--weight-body) 11px/1.4 var(--font-sans);color:var(--ink-30)}.date-cell{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-45);white-space:nowrap}.role-badge{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid;border-radius:var(--radius-xs);font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:transparent}.role-admin{background:var(--state-danger-soft);border-color:var(--state-danger);color:var(--state-danger)}.role-host{background:var(--accent-bg-soft);border-color:var(--accent-border);color:var(--accent)}.role-pending{background:var(--state-decay-soft);border-color:var(--state-decay);color:var(--state-decay)}.role-user{background:transparent;border-color:var(--border);color:var(--ink-45)}.status-badge{display:inline-flex;align-items:center;padding:4px 9px;border:1px solid;border-radius:var(--radius-xs);font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:transparent}.status-active{background:var(--state-success-soft);border-color:var(--state-success);color:var(--state-success)}.status-inactive{background:var(--state-danger-soft);border-color:var(--state-danger);color:var(--state-danger)}.actions-cell{width:140px}.action-buttons{display:flex;gap:6px}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--ink-65);transition:background .2s ease,border-color .2s ease,color .2s ease}.action-btn:disabled,.action-btn-text:disabled{opacity:.4;cursor:not-allowed}.action-btn .lucide{width:14px;height:14px}.action-approve:hover:not(:disabled){background:var(--state-success-soft);border-color:var(--state-success);color:var(--state-success)}.action-revoke:hover:not(:disabled){background:var(--state-decay-soft);border-color:var(--state-decay);color:var(--state-decay)}.action-deactivate:hover:not(:disabled){background:var(--state-danger-soft);border-color:var(--state-danger);color:var(--state-danger)}.action-reactivate:hover:not(:disabled){background:var(--state-success-soft);border-color:var(--state-success);color:var(--state-success)}.action-reset-password:hover:not(:disabled){background:var(--player-4-soft);border-color:var(--player-4-border);color:var(--player-4)}.self-indicator,.admin-protected{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-30);font-style:normal}.user-table-empty{padding:56px 24px;text-align:center;font:var(--weight-body) 13px/1.55 var(--font-sans);color:var(--ink-45)}.user-table-footer{padding:12px 20px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);background:transparent;border-top:1px solid var(--border)}@media(max-width:768px){.user-table-controls{flex-direction:column;align-items:stretch}.user-table-filters{flex-wrap:wrap}.user-table-search{min-width:100%}.user-table{display:block;overflow-x:auto}}.admin-login{max-width:440px;margin:0 auto;padding:36px 32px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);backdrop-filter:none;-webkit-backdrop-filter:none}.admin-login-header-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);width:100%;flex-wrap:wrap;gap:12px}.admin-login-header-row h2{margin:0!important;padding:0;border:none;font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92)}.admin-login-description{margin:0 0 24px;font:var(--weight-body) 13px/1.55 var(--font-sans);color:var(--ink-65)}.login-form{display:flex;flex-direction:column;gap:14px;width:100%}.login-form label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.login-form input{width:100%;max-width:320px;padding:12px 14px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:transparent;color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.login-form input::placeholder{color:var(--ink-30)}.login-form input:hover:not(:disabled){border-color:var(--border-strong)}.login-form input:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.login-form button{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:320px;height:46px;padding:0 22px;margin-top:16px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);color:var(--accent);cursor:pointer;position:relative;overflow:visible;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.login-form button:before{content:none}.login-form button:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.login-form button:disabled{background:transparent;border-color:var(--border);color:var(--ink-30);cursor:not-allowed}.create-game-link{font:var(--weight-medium) 12px/1.4 var(--font-sans);color:var(--ink-45);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.create-game-link:hover{color:var(--ink-92);background-size:100% 1px}.admin-dashboard{max-width:1200px;margin:0 auto;width:100%}.admin-header-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border);width:100%;flex-wrap:wrap;gap:16px}.admin-header-row h2{margin:0!important;padding:0;border:none;font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92)}.admin-actions{display:flex;gap:12px;align-items:center}.button-link{font:var(--weight-medium) 12px/1.4 var(--font-sans);color:var(--ink-45);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.button-link:hover{color:var(--ink-92);background-size:100% 1px}.logout-button,.revoke-button,.delete-game-button{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:transparent;border:1px solid var(--state-danger);border-radius:var(--radius-md);color:var(--state-danger);cursor:pointer;position:relative;overflow:visible;transition:background .2s ease,color .2s ease,transform .2s var(--ease-spring);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.logout-button:before,.revoke-button:before,.delete-game-button:before{content:none}.logout-button:hover:not(:disabled),.revoke-button:hover:not(:disabled),.delete-game-button:hover:not(:disabled){background:var(--state-danger-soft);transform:translateY(-1px)}.logout-button:disabled,.revoke-button:disabled,.delete-game-button:disabled{opacity:.4;cursor:not-allowed}.dashboard-section{margin-bottom:32px;padding:32px 36px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.dashboard-section h2{margin:0 0 20px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.create-host-key{display:flex;flex-direction:column;gap:14px;width:100%}.create-host-key input{width:100%;max-width:320px;padding:12px 14px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:transparent;color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.create-host-key input::placeholder{color:var(--ink-30)}.create-host-key input:hover:not(:disabled){border-color:var(--border-strong)}.create-host-key input:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.create-host-key input:disabled{border-color:var(--border-soft);color:var(--ink-30);cursor:not-allowed;opacity:.6}.create-host-key-button{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:320px;height:46px;padding:0 22px;margin-top:0;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);color:var(--accent);cursor:pointer;position:relative;overflow:visible;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.create-host-key-button:before{content:none}.create-host-key-button:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.create-host-key-button:disabled{background:transparent;border-color:var(--border);color:var(--ink-30);cursor:not-allowed}.host-key-card{margin-bottom:16px;padding:24px 26px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.host-key-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:16px}.host-key-info{flex:1}.host-key-label{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.host-key-label strong{font:var(--weight-heading) 15px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92)}.host-key-value{font:var(--weight-medium) 12px/1.4 var(--font-mono);letter-spacing:.05em;color:var(--ink-65);word-break:break-all}.host-key-meta{font:var(--weight-medium) 10px/1.4 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-30)}.host-key-games{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft)}.host-key-games h3{margin:0 0 12px;font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.empty-games{font:var(--weight-body) 12px/1.5 var(--font-sans);color:var(--ink-45)}.games-list{display:flex;flex-direction:column;gap:8px}.game-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#ffffff05;border:1px solid var(--border-soft);border-radius:var(--radius-sm);gap:14px;backdrop-filter:none;-webkit-backdrop-filter:none}.game-info{display:flex;flex-direction:column;gap:4px;flex:1}.game-code{font:var(--weight-heading) 14px/1 var(--font-mono);letter-spacing:.5px;color:var(--ink-92)}.game-details{font:var(--weight-medium) 10px/1.4 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-30)}.dashboard-actions{margin-top:24px;text-align:center}.refresh-button{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 18px;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;background:transparent;color:var(--ink-65);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.refresh-button:hover:not(:disabled){background:var(--accent-bg-soft);border-color:var(--accent-border);color:var(--accent);transform:translateY(-1px)}.refresh-button:disabled{opacity:.4;cursor:not-allowed}.error-message{padding:12px 14px;background:var(--state-danger-soft);border:1px solid var(--state-danger);border-radius:var(--radius-md);margin-bottom:16px;font:var(--weight-medium) 13px/1.4 var(--font-sans);color:var(--state-danger)}.loading{text-align:center;padding:32px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.empty-state{text-align:center;padding:32px;font:var(--weight-body) 13px/1.55 var(--font-sans);color:var(--ink-45)}@media(max-width:640px){.admin-login{padding:24px 22px;margin:0;width:100%;box-sizing:border-box}.login-form input,.login-form button{max-width:100%;width:100%}.admin-dashboard{width:100%}.dashboard-section{padding:24px 22px}.host-key-card{padding:20px}.host-key-header{flex-direction:column;align-items:stretch;gap:14px}.revoke-button{width:100%}.game-item{flex-direction:column;align-items:stretch}.delete-game-button,.create-host-key{width:100%}.create-host-key input,.create-host-key-button{max-width:100%;width:100%}.admin-header-row{flex-direction:column;align-items:flex-start;gap:14px}.admin-actions{width:100%;flex-direction:column;align-items:stretch}.logout-button{width:100%}}.games-page{max-width:1200px;margin:0 auto;width:100%}.games-page>.section-eyebrow{text-align:left;margin-bottom:12px}.games-header-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:16px}.games-header-row h2{margin:0;padding:0;border:none;font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92)}.games-filters{display:flex;gap:24px;margin-bottom:32px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.filter-group select{appearance:none;-webkit-appearance:none;font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:8px 32px 8px 14px;background-color:transparent;background-image:linear-gradient(45deg,transparent 50%,var(--ink-40) 50%),linear-gradient(135deg,var(--ink-40) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink-85);cursor:pointer;transition:border-color .2s ease,color .2s ease}.filter-group select:hover{border-color:var(--border-strong);color:var(--ink-92)}.filter-group select:focus{outline:none;border-color:var(--accent)}.filter-group select:disabled{opacity:.5;cursor:not-allowed}.games-section{padding:0;background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.games-page .games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.game-card{padding:20px 22px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:14px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s var(--ease-spring);backdrop-filter:none;-webkit-backdrop-filter:none}.game-card:hover{background:#ffffff05;border-color:var(--border);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.game-card-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}.games-page .game-code{font:var(--weight-heading) 16px/1 var(--font-mono);letter-spacing:1px;color:var(--ink-92);margin-right:auto}.status-badge{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-xs);border:1px solid;background:transparent}.status-active{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg-soft)}.status-setup{color:var(--player-1);border-color:var(--player-1-border);background:var(--player-1-soft)}.status-completed{color:var(--state-success);border-color:var(--state-success-soft);background:var(--state-success-soft)}.status-abandoned{color:var(--state-danger);border-color:var(--state-danger-soft);background:var(--state-danger-soft)}.role-badge{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-xs);color:var(--ink-65);border:1px solid var(--border);background:transparent}.game-card-body{display:flex;gap:18px;flex-wrap:wrap}.game-stat{display:inline-flex;align-items:center;gap:6px;font:var(--weight-body) 13px/1 var(--font-sans);color:var(--ink-65)}.game-stat .lucide{color:var(--ink-40);width:14px;height:14px;flex-shrink:0}.game-card-footer{display:flex;gap:12px;flex-wrap:wrap;font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-30)}.game-players{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;padding-top:14px;border-top:1px solid var(--border-soft)}.game-card .player-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;background:transparent;border:1px solid var(--border-soft);border-left:2px solid;border-radius:var(--radius-sm);font:var(--weight-medium) 11px/1.2 var(--font-sans);color:var(--ink-65)}.games-section .empty-state{text-align:center;padding:80px 24px;color:var(--ink-65)}.games-section .empty-state .lucide{width:32px;height:32px;margin:0 auto 16px;color:var(--ink-20);display:block}.games-section .empty-state p{font:var(--weight-heading) 17px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-85);margin:0 0 6px}.empty-hint{font:var(--weight-body) 13px/1.5 var(--font-sans);color:var(--ink-45)}.games-section .loading{text-align:center;padding:64px 24px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.pagination{display:flex;justify-content:center;margin-top:40px}.load-more-button{display:inline-flex;align-items:center;justify-content:center;font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);height:42px;padding:0 22px;color:var(--accent);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s var(--ease-spring)}.load-more-button:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);transform:translateY(-1px)}.load-more-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.games-filters{flex-direction:column;gap:12px}.filter-group{width:100%}.filter-group select{flex:1}.games-page .games-list{grid-template-columns:1fr}.games-header-row{flex-direction:column;align-items:flex-start}}.player-list{width:100%}.player-list-header{margin-bottom:16px}.player-list-count{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.player-list-items{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0}.player-list-item{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-3xl);transition:background .2s ease,border-color .2s ease,transform .2s var(--ease-spring);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-list-item:hover{background:#ffffff05;border-color:var(--border);transform:translateY(-1px);box-shadow:none}.player-list-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;box-shadow:none}.player-list-icon .lucide{width:14px;height:14px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.player-list-name{font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);white-space:nowrap;margin:0}.player-list-empty{text-align:center;padding:48px 16px;color:var(--ink-45)}.player-list-empty p{margin:0 0 6px;font:var(--weight-heading) 15px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-85)}.player-list-empty-hint{font:var(--weight-body) 13px/1.5 var(--font-sans);color:var(--ink-45)}@media(max-width:640px){.player-list-item{padding:5px 12px 5px 5px;gap:8px}.player-list-icon{width:24px;height:24px}.player-list-icon .lucide{width:12px;height:12px}.player-list-name{font-size:12px}}.display-lobby-container{min-height:100vh;display:flex;flex-direction:column}.display-lobby-content{flex:1;padding:64px 52px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-height:100vh}.display-lobby-main-card{width:100%;max-width:720px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:56px 48px;display:flex;flex-direction:column;gap:40px;box-sizing:border-box;margin:auto;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.display-lobby-header-row{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding-bottom:20px;border-bottom:1px solid var(--border);width:100%}.display-lobby-header-row h2{margin:0;padding:0;border:none;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.display-lobby-link{font:var(--weight-medium) 12px/1.4 var(--font-sans);color:var(--ink-45);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.display-lobby-link:hover{color:var(--ink-92);background-size:100% 1px}.display-lobby-section{display:flex;flex-direction:column;gap:14px}.display-lobby-label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.display-lobby-code-container{background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);padding:40px 24px;text-align:center;margin:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.display-lobby-code{font:var(--weight-heading) clamp(3rem,8vw,5rem)/1 var(--font-mono);letter-spacing:.15em;color:var(--accent);text-align:center;margin:0;text-shadow:none}.display-lobby-status-text{text-align:center;font:var(--weight-medium) 11px/1.4 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0}.display-lobby-url{padding:18px 22px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;position:relative;cursor:pointer;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s ease,border-color .2s ease}.display-lobby-url:hover{background:var(--accent-bg-soft);border-color:var(--accent-border);box-shadow:none}.display-lobby-url-text{font:var(--weight-medium) clamp(13px,1.6vw,15px)/1.4 var(--font-mono);letter-spacing:0;color:var(--ink-65);word-break:break-all;margin:0}.display-lobby-url:hover .display-lobby-url-text{color:var(--accent)}.display-lobby-copied{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--accent);color:var(--bg);padding:6px 14px;border-radius:var(--radius-sm);font:var(--weight-heading) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;pointer-events:none;z-index:10;animation:fadeInOut 2s ease-in-out;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}@keyframes fadeInOut{0%,to{opacity:0;transform:translate(-50%,-50%) scale(.92)}10%,90%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.display-lobby-copied{animation-duration:4s}}.display-lobby-warning{padding:14px 18px;background:var(--state-decay-soft);border:1px solid var(--state-decay);border-radius:var(--radius-md);margin:0 0 4px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.display-lobby-warning p{font:var(--weight-medium) 12px/1.5 var(--font-sans);color:var(--state-decay);margin:0}.display-lobby-connection-status{padding:12px 16px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;backdrop-filter:none;-webkit-backdrop-filter:none}.display-lobby-connection-status p{margin:0;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.display-lobby-error{text-align:center;padding:64px 32px;background:transparent;border:1px solid var(--state-danger);border-radius:var(--radius-md);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.display-lobby-error h2{font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--state-danger);margin:0 0 12px}.display-lobby-error p{font:var(--weight-body) 14px/1.55 var(--font-sans);color:var(--ink-65);margin:0 0 28px}.display-lobby-loading{text-align:center;padding:64px 24px}.display-lobby-loading p{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:6px 0}@media(max-width:880px){.display-lobby-content{padding:32px 24px}.display-lobby-main-card{padding:40px 28px;gap:32px}.display-lobby-code{font-size:clamp(2.5rem,12vw,4rem)}.display-lobby-code-container{padding:32px 16px}}@media(max-width:640px){.display-lobby-header-row{flex-direction:column;align-items:flex-start;gap:12px}.display-lobby-main-card{padding:32px 20px;gap:28px}.display-lobby-url{padding:14px 16px}.display-lobby-url-text{font-size:12px}}.leaderboard{width:100%;background:var(--bg);border-bottom:1px solid var(--border);padding:16px 24px}.leaderboard-header{margin-bottom:12px}.leaderboard-title{margin:0;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.leaderboard-players{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.leaderboard-player{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-3xl);transition:background .2s ease,border-color .2s ease,transform .2s var(--ease-spring)}.leaderboard-player:hover{background:#ffffff05;border-color:var(--border);transform:translateY(-1px)}.leaderboard-player-indicator{display:flex;align-items:center;gap:6px}.leaderboard-player-color{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.leaderboard-player-icon{font:var(--weight-heading) 14px/1 var(--font-sans);width:18px;text-align:center;flex-shrink:0;color:var(--ink-65)}.leaderboard-player-info{display:flex;flex-direction:column;gap:2px}.leaderboard-player-name{font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);white-space:nowrap}.leaderboard-player-superpower{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-45);font-style:normal}.leaderboard-empty{text-align:center;padding:16px;color:var(--ink-45)}.leaderboard-empty p{margin:0;font:var(--weight-body) 13px/1.5 var(--font-sans)}@media(max-width:640px){.leaderboard{padding:12px 16px}.leaderboard-players{gap:6px}.leaderboard-player{padding:5px 12px 5px 5px;gap:8px}.leaderboard-player-color{width:20px;height:20px}.leaderboard-player-icon{font-size:12px;width:16px}.leaderboard-player-name{font-size:12px}}.territory-map-container{width:100%;position:relative;display:flex;flex-direction:column;height:calc(100vh - 80px);max-height:calc(100vh - 80px);overflow:hidden}.territory-map-status-pill{position:absolute;top:20px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-3xl);font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;z-index:10;box-shadow:var(--shadow-popover)}.territory-map-status-pill-victory{padding:10px 18px;font-size:13px}.territory-map-status-pill-victory a{color:#fff;text-decoration:none;cursor:pointer;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),opacity .15s ease}.territory-map-status-pill-victory a:hover{background-size:100% 1px;opacity:.85}.territory-map-status-pill-blink{animation:territory-map-status-pill-blink .6s ease-in-out}@keyframes territory-map-status-pill-blink{0%,to{opacity:1;transform:translate(-50%) scale(1)}25%{opacity:.7;transform:translate(-50%) scale(1.04)}50%{opacity:1;transform:translate(-50%) scale(1)}75%{opacity:.85;transform:translate(-50%) scale(1.02)}}@media(prefers-reduced-motion:reduce){.territory-map-status-pill-blink{animation:none}}.territory-map-background{position:relative;width:100%;height:100%;flex:1;background-image:url(/media/world-map.png);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center}.territory-map-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0b0f1ad9,#12182ac7);pointer-events:none}.territory-map-columns{position:relative;display:flex;gap:12px;z-index:1;margin:0 auto;width:fit-content;align-items:flex-start}.territory-map-column{display:flex;flex-direction:column;gap:12px;flex:0 0 auto;width:min(12.5vw,240px);min-width:180px;max-width:280px}.territory-map-column.odd{margin-top:calc(clamp(120px,min(10vh,160px),200px)/2 + 6px)}.territory-map-column.even{margin-top:0}.territory-map-column-empty{flex:0 0 auto;width:min(12.5vw,240px);min-width:180px;max-width:280px}.territory-map-card{width:min(12.5vw,240px);height:clamp(120px,min(10vh,160px),200px);min-width:180px;max-width:280px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);position:relative;overflow:hidden;box-sizing:border-box;transition:border-color .2s ease,transform .2s var(--ease-spring);--card-height: clamp(120px, min(10vh, 160px), 200px);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.territory-map-card.available{background-color:#ffffff0d}.territory-map-card-blank{border-color:transparent;background:transparent}.territory-map-card-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.territory-map-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;position:relative}.territory-map-card-name{font:var(--weight-heading) 14px/1.25 var(--font-sans);letter-spacing:var(--tracking-ui);margin:0;color:#fff;max-width:calc(100% - 32px)}.territory-map-card-player{width:24px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff;position:absolute;top:0;right:0}.territory-map-card-player .lucide{width:14px;height:14px}.territory-map-card-stats{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.territory-map-card-stat{display:inline-flex;align-items:center;gap:4px;font:var(--weight-heading) 13px/1 var(--font-mono);color:#fff}.territory-map-card-stat .lucide{width:12px;height:12px;opacity:.8}.territory-map-card-influence-bars{position:absolute;top:14px;right:16px;display:flex;flex-direction:column-reverse;gap:3px;width:22px;align-items:center}.territory-map-card-influence-bar{width:22px;height:5px;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:2px}.territory-map-card-influence-bar.filled-heavy{background:#fff;border-color:#fff}.territory-map-card-influence-bar.filled-light{background:#fff6;border-color:#fff6}.territory-map-card-bottom-left{position:absolute;bottom:14px;left:16px;display:flex;flex-direction:column;gap:3px}.territory-map-card-icon-row{display:flex;gap:2px;flex-wrap:wrap}.territory-map-card-icon-row .lucide{width:12px;height:12px;color:#fff;flex-shrink:0}.territory-map-card-resource-row{display:flex;align-items:center;gap:4px;font:var(--weight-heading) 12px/1 var(--font-mono);color:#fff}.territory-map-card-resource-row .lucide{width:12px;height:12px}.territory-map-card-vp{position:absolute;bottom:12px;right:16px;font:var(--weight-body) 22px/1 var(--font-mono);letter-spacing:-.5px;color:#fff;width:24px;text-align:center;display:flex;align-items:flex-end;justify-content:center}.territory-map-card-vp-superpower{font-weight:var(--weight-heading)}.territory-map-loading{text-align:center;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);padding:32px}@media(max-width:1200px){.territory-map-card{width:min(13vw,200px);height:min(11vh,140px)}.territory-map-column,.territory-map-column-empty{width:min(13vw,200px)}}@media(max-width:768px){.territory-map-card{width:min(14vw,180px);height:min(12vh,120px);padding:12px 14px}.territory-map-column,.territory-map-column-empty{width:min(14vw,180px)}.territory-map-columns{gap:8px;padding:0 2vw}.territory-map-card-name{font-size:13px}.territory-map-card-stat{font-size:12px}}.breaking-news-backdrop{position:fixed;inset:0 0 100px;width:100%;height:calc(100% - 100px);background:#0b0f1ac7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:999;animation:backdropFadeIn .25s ease-out}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.breaking-news-popup{position:fixed;top:calc((100vh - 100px)/2);left:50%;transform:translate(-50%,-50%);background:#fff;border:none;border-radius:var(--radius-2xl);min-width:500px;max-width:720px;width:85%;max-height:calc(100vh - 120px);box-shadow:var(--shadow-modal);z-index:1000;animation:cardAppear .3s var(--ease-spring);overflow:hidden;display:flex;flex-direction:column}@keyframes cardAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.breaking-news-popup,.breaking-news-backdrop{animation-duration:.01s}}.breaking-news-image-section{position:relative;width:100%;height:100%;min-height:320px;overflow:hidden;background:#f3f4f6;border-radius:var(--radius-2xl)}.breaking-news-image{width:100%;height:100%;object-fit:cover;display:block}.breaking-news-image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e5e7eb;color:#6b7280}.placeholder-icon{font-size:4rem;margin-bottom:1rem}.placeholder-text{font:var(--weight-medium) 14px/1 var(--font-sans)}.breaking-news-banner{position:absolute;top:32px;left:0;background:#ff4361;color:#fff;padding:8px 16px;font:var(--weight-heading) 12px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 2px 8px #0000004d;border-radius:0 var(--radius-sm) var(--radius-sm) 0;z-index:10}.breaking-news-text-section{position:absolute;bottom:8px;left:8px;right:8px;min-height:88px;padding:10px;background:#fff;display:flex;flex-direction:row;gap:12px;align-items:center;border-radius:var(--radius-2xl)}.pnp-news-logo-block{background:#3446b7;width:96px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-md)}.pnp-news-logo-content{color:#fff;font:var(--weight-heading) 16px/1 var(--font-sans);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.pnp-news-text{display:block;text-align:left;line-height:1.2}.pnp-news-text i{font-size:16px;line-height:16px;margin-left:.25em}.breaking-news-content-block{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;background:#fff;padding:0 8px;min-width:0}.breaking-news-headline{font:var(--weight-heading) 22px/1.15 var(--font-sans);letter-spacing:var(--tracking-snug);color:#111827;margin:0 0 6px}.breaking-news-description{font:var(--weight-body) 14px/1.4 var(--font-sans);color:#374151;margin:0}@media(max-width:768px){.breaking-news-popup{min-width:90%;max-width:95%}.breaking-news-image-section{min-height:220px}.breaking-news-headline{font-size:18px}.breaking-news-description{font-size:13px}.pnp-news-logo-block{width:72px;height:60px}}.event-effect-display{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:18px 20px;margin:16px 0;color:var(--ink-65);font:var(--weight-body) 13px/1.55 var(--font-sans)}.event-effect-display h4{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0 0 12px}.event-effect-display .macro-effects{margin-bottom:16px}.event-effect-display .micro-effects{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft)}.event-effect-display ul{list-style:none;padding:0;margin:0}.event-effect-display .effect-item{padding:4px 0 4px 14px;color:var(--ink-65);position:relative}.event-effect-display .effect-item:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:1px;background:var(--accent)}.display-gameboard-container{max-width:1200px;margin:0 auto;padding:0;font-family:var(--font-sans);min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink-92)}.display-gameboard-container.full-screen-map{max-width:none;margin:0;width:100vw;height:100vh;overflow:hidden;background:var(--bg);position:fixed;top:0;left:0}.display-gameboard-container.full-screen-map .display-gameboard-main{padding:0;flex:1;overflow:hidden;position:relative;min-height:0}.display-gameboard-header{display:flex;justify-content:space-between;align-items:baseline;padding:24px 32px;background:var(--bg);border-bottom:1px solid var(--border)}.display-gameboard-header h1{margin:0;font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--ink-92)}.display-gameboard-room-code{font:var(--weight-heading) 14px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.display-gameboard-main{flex:1;padding:32px;display:flex;flex-direction:column;gap:24px}.display-gameboard-section{display:flex;flex-direction:column;gap:12px;padding:24px 28px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md)}.display-gameboard-label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.display-gameboard-status-badge{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid;border-radius:var(--radius-xs);font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;width:fit-content}.display-gameboard-status-badge[data-status=setup]{background:var(--player-1-soft);color:var(--player-1);border-color:var(--player-1-border)}.display-gameboard-status-badge[data-status=in_progress]{background:var(--accent-bg-soft);color:var(--accent);border-color:var(--accent-border)}.display-gameboard-phase{font:var(--weight-medium) 17px/1.3 var(--font-sans);color:var(--ink-92)}.display-gameboard-current-selector{margin-top:8px;padding:12px 16px;background:var(--player-1-soft);border:1px solid var(--player-1-border);border-radius:var(--radius-md);color:var(--player-1);font:var(--weight-medium) 13px/1.4 var(--font-sans)}.display-gameboard-territories-count{font:var(--weight-medium) 13px/1.4 var(--font-sans);color:var(--ink-65)}.display-gameboard-loading,.display-gameboard-error{text-align:center;padding:64px 24px}.display-gameboard-loading p{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:6px 0}.display-gameboard-status{font:var(--weight-medium) 11px/1 var(--font-mono);color:var(--ink-25)}.display-gameboard-error h2{font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--state-danger);margin:0 0 12px}.display-gameboard-error p{font:var(--weight-body) 14px/1.55 var(--font-sans);color:var(--ink-65);margin:0 0 28px}.display-gameboard-content{flex:1;display:flex;flex-direction:column;justify-content:center}@media(max-width:640px){.display-gameboard-header{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 24px}.display-gameboard-header h1{font-size:19px}.display-gameboard-main{padding:24px;gap:20px}.display-gameboard-section{padding:20px}}.display-gameboard-bottom-bar{position:fixed;bottom:0;left:0;right:0;width:100vw;background:var(--bg-card);border-top:1px solid var(--border);padding:16px 32px;z-index:100;min-height:80px;box-shadow:0 -1px 0 var(--border)}.display-gameboard-bottom-bar-content{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:100%;margin:0;width:100%}.display-gameboard-title-lockup{flex-shrink:0}.display-gameboard-title-text{padding:0;font:var(--weight-heading) 12px/1.1 var(--font-mono);letter-spacing:.5px;text-transform:uppercase;display:inline-block;color:var(--ink-92);white-space:pre-line}.display-gameboard-turn-order{flex:1}.display-gameboard-bottom-bar-title{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin-bottom:10px}.display-gameboard-players-list{display:flex;gap:8px;flex-wrap:wrap}.display-gameboard-player-indicator{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-3xl);transition:background .2s ease,border-color .2s ease;box-shadow:none}.display-gameboard-player-indicator.current-turn{border-color:#ffffff59;box-shadow:0 0 0 1px #ffffff2e,0 4px 16px #00000059}.display-gameboard-player-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.display-gameboard-player-icon .lucide{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.display-gameboard-player-name{font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92)}.display-gameboard-player-indicator.current-turn .display-gameboard-player-name{color:#fff}.display-gameboard-player-vp{font:var(--weight-heading) 14px/1 var(--font-mono);letter-spacing:-.5px;color:var(--ink-65);background:#ffffff0a;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.display-gameboard-player-indicator.current-turn .display-gameboard-player-vp{color:#fff;background:#ffffff2e}.display-gameboard-trade-offers{min-width:200px}.display-gameboard-offer-box{display:inline-flex;align-items:center;gap:10px;padding:0 16px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--ink-92);height:48px;box-sizing:border-box}.display-gameboard-offer-box .lucide{width:16px;height:16px;color:var(--ink-65);flex-shrink:0}.display-gameboard-offer-arrow{width:16px;height:16px;flex-shrink:0;color:var(--ink-30)}.display-gameboard-offer-quantity{display:flex;align-items:center;justify-content:center;font:var(--weight-heading) 14px/1 var(--font-mono);letter-spacing:-.3px;color:var(--ink-92);flex-shrink:0;min-width:20px}.display-gameboard-offer-ratio{display:flex;align-items:center;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:0;color:var(--ink-45);flex-shrink:0;min-width:32px}.display-gameboard-offer-ratio.ratio-left{justify-content:flex-start}.display-gameboard-offer-ratio.ratio-right{justify-content:flex-end}.display-gameboard-offer-item .lucide{width:12px;height:12px;opacity:.8}@media(max-width:768px){.display-gameboard-bottom-bar{padding:14px 20px}.display-gameboard-bottom-bar-content{flex-direction:column;gap:14px;align-items:flex-start}.display-gameboard-players-list{flex-direction:row;flex-wrap:wrap;gap:6px}.display-gameboard-trade-offers{width:100%}}@media(prefers-reduced-motion:reduce){@keyframes pulse{0%,to{opacity:1;transform:scale(1)}}}.display-gameboard-container.side-by-side-layout{display:flex;flex-direction:row;max-width:none;margin:0;width:100vw;height:100vh;overflow:hidden;background:var(--bg);position:fixed;top:0;left:0}.display-gameboard-container.side-by-side-layout .display-gameboard-main{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:0;padding:0;min-height:0}.display-gameboard-container.side-by-side-layout .display-gameboard-bottom-bar{position:fixed;bottom:0;left:0;right:400px;width:auto}.display-gameboard-container.side-by-side-layout.drawer-collapsed .display-gameboard-bottom-bar{right:0}.display-gameboard-container.side-by-side-child{max-width:none;margin:0;flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;background:transparent}.display-gameboard-container.side-by-side-child .display-gameboard-main{padding:0;flex:1;overflow:hidden;position:relative;min-height:0}.controller-drawer{position:fixed;bottom:20px;right:20px;z-index:1000;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);overflow:hidden;transition:width .3s var(--ease-spring),height .3s var(--ease-spring),opacity .2s ease,box-shadow .3s ease}.controller-drawer.collapsed{display:none}.controller-drawer.expanded{width:420px;height:calc(100vh - 40px);box-shadow:0 16px 48px #0006,0 4px 12px #00000040}.controller-drawer-toggle-bar{display:flex;align-items:center;justify-content:space-between;height:52px;background:transparent;border-bottom:1px solid var(--border)}.controller-drawer-toggle{height:100%;background:none;border:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;cursor:pointer;position:relative;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-65);transition:background .2s ease,color .2s ease}.controller-drawer-toggle:hover{background:#ffffff08;color:var(--ink-92)}.controller-drawer-toggle .lucide{width:14px;height:14px}.controller-drawer-exit{height:100%;background:none;border:none;display:inline-flex;align-items:center;gap:8px;padding:0 18px;cursor:pointer;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-45);transition:background .2s ease,color .2s ease}.controller-drawer-exit:hover{background:#ffffff08;color:var(--ink-92)}.controller-drawer-exit .lucide{width:14px;height:14px}.controller-drawer-notification-badge{position:absolute;top:10px;right:10px;width:8px;height:8px;background:var(--state-danger);border-radius:50%;animation:pulse-notification 2s ease-in-out infinite}@keyframes pulse-notification{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){.controller-drawer-notification-badge{animation:none}}.controller-drawer-content{height:calc(100% - 52px);overflow-y:auto;overflow-x:hidden;padding:0;opacity:1;transition:opacity .2s ease}.controller-drawer.expanded>.controller-drawer-content:only-child{height:100%}.controller-drawer-content::-webkit-scrollbar{width:8px}.controller-drawer-content::-webkit-scrollbar-track{background:transparent}.controller-drawer-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.controller-drawer-content::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}.controller-drawer.side-by-side{position:static;bottom:auto;right:auto;border-radius:0;border:none;border-left:1px solid var(--border);height:100vh;width:420px;flex-shrink:0;box-shadow:none;margin:0}.controller-drawer.side-by-side.collapsed{display:none}.controller-drawer.side-by-side .controller-drawer-content{height:calc(100% - 52px)}.play-wrapper{background:var(--bg);min-height:100vh;display:flex;flex-direction:column}.play-header{position:absolute;top:0;left:0;display:flex;align-items:center;padding:24px 32px;z-index:50}.play-logo-link{display:inline-flex;align-items:center;text-decoration:none;color:inherit;line-height:1.1}.play-logo{font:var(--weight-heading) 12px/1.1 var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-92);text-decoration:none;white-space:pre-line;padding:0;border:none;box-shadow:none}.play-content{flex:1;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8rem 2rem 5rem;box-sizing:border-box}.play-content-centered{max-width:560px;margin:0 auto;width:100%}.play-content-inner{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1100px}.play-eyebrow{margin:0 0 28px}.play-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1100px;width:100%}.play-cards-grid-single{grid-template-columns:1fr;max-width:440px;margin:0 auto}.play-card{background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:32px 28px;display:flex;flex-direction:column;min-height:380px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s var(--ease-spring)}.play-card:hover{background:#ffffff05;border-color:var(--border);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.play-card-icon{display:inline-flex;justify-content:center;align-items:center;color:var(--accent);margin:0 auto 20px;width:auto;height:auto;background:none;border:none;border-radius:0}.play-card-icon .lucide{width:28px;height:28px}.play-card-title{font:var(--weight-heading) 17px/1.3 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);text-align:center;margin:0 0 8px}.play-card-description{font:var(--weight-body) 14px/1.55 var(--font-sans);color:var(--ink-65);text-align:center;margin:0 0 24px;min-height:44px}.play-card-content{flex:1;display:flex;flex-direction:column;gap:10px}.play-card-input{font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:12px 14px;background:transparent;color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.play-card-input:hover:not(:disabled){border-color:var(--border-strong)}.play-card-input:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.play-card-input:disabled{border-color:var(--border-soft);color:var(--ink-30);cursor:not-allowed;opacity:.6}.play-card-input::placeholder{color:var(--ink-30)}.play-card-select{font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:12px 36px 12px 14px;background-color:transparent;color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-sizing:border-box;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-40) 50%),linear-gradient(135deg,var(--ink-40) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;transition:border-color .2s ease}.play-card-select:hover:not(:disabled){border-color:var(--border-strong)}.play-card-select:focus{outline:none;border-color:var(--accent)}.play-card-select:disabled{border-color:var(--border-soft);color:var(--ink-30);cursor:not-allowed;opacity:.6}.play-card-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);height:46px;padding:0 22px;width:100%;margin-top:auto;cursor:pointer;color:var(--accent);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;position:relative;overflow:visible;box-sizing:border-box;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.play-card-button:before{content:none}.play-card-button:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.play-card-button:disabled{background:transparent;border-color:var(--border);color:var(--ink-30);cursor:not-allowed}.play-card-button.disabled-appearance{background:transparent;border-color:var(--border);color:var(--ink-40)}.play-card-button.disabled-appearance.clickable{cursor:pointer}.play-card-button.disabled-appearance.clickable:hover{background:#ffffff05;border-color:var(--border-strong);color:var(--ink-65)}.play-card-link{font:var(--weight-medium) 12px/1.4 var(--font-sans);letter-spacing:.02em;color:var(--ink-45);text-decoration:none;cursor:pointer;background:none;border:none;padding:0;text-align:left;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.play-card-link:hover{color:var(--ink-92);background-size:100% 1px}.play-card-link-centered{text-align:center;width:100%;margin-bottom:16px}.play-card-status{text-align:center;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0}.play-spinner{width:14px;height:14px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:play-spin .8s linear infinite;opacity:.7}@keyframes play-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.play-spinner{animation-duration:4s}}.play-customization-section{display:flex;flex-direction:column;gap:20px;background:transparent;padding:32px 28px;border:1px solid var(--border-soft);border-radius:var(--radius-md);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.play-form-group{display:flex;flex-direction:column;gap:10px;margin-bottom:0}.play-form-group:last-child{margin-bottom:0}.play-label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.play-input{font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);padding:12px 14px;background:transparent;color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.play-input:hover:not(:disabled){border-color:var(--border-strong)}.play-input:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.play-input:disabled{border-color:var(--border-soft);color:var(--ink-30);cursor:not-allowed;opacity:.6}.play-input::placeholder{color:var(--ink-30)}.play-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);height:46px;padding:0 22px;width:100%;cursor:pointer;color:var(--accent);background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;position:relative;overflow:visible;box-sizing:border-box;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.play-button:before{content:none}.play-button:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover);transform:translateY(-1px)}.play-button:disabled{background:transparent;border-color:var(--border);color:var(--ink-30);cursor:not-allowed}.play-button-start{margin-bottom:16px}.play-hint{text-align:center;font:var(--weight-medium) 11px/1.4 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0}.play-color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}.play-color-swatch{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;transition:border-color .2s ease,transform .2s var(--ease-spring),box-shadow .2s ease}.play-color-swatch:hover:not(:disabled){transform:translateY(-1px);border-color:var(--border-strong);box-shadow:var(--shadow-card-hover)}.play-color-swatch.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg-soft)}.play-color-swatch.taken{opacity:.4;cursor:not-allowed}.play-color-swatch.taken:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(0,0,0,.4) 8px,rgba(0,0,0,.4) 9px);border-radius:var(--radius-md)}.play-checkmark{color:#fff;font-size:1.25rem;font-weight:600;z-index:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.play-taken-overlay{position:absolute;color:var(--state-danger);font-size:1.25rem;font-weight:600;z-index:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.play-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0}.play-icon-button{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;min-height:56px;color:var(--ink-65);backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring)}.play-icon-button .lucide{width:22px;height:22px}.play-icon-button:hover:not(:disabled){border-color:var(--border-strong);background:#ffffff05;color:var(--ink-92);transform:translateY(-1px)}.play-icon-button.selected{border-color:var(--accent);background:var(--accent-bg-soft);color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg-soft)}.play-icon-button:disabled{opacity:.5;cursor:not-allowed}.play-icon-checkmark{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--accent);color:var(--bg);font-size:10px;font-weight:600}@media(max-width:880px){.play-cards-grid{grid-template-columns:1fr;max-width:440px}.play-card{min-height:auto}}@media(max-width:640px){.play-header{padding:20px 24px}.play-content{padding:6rem 1.5rem 3rem}.play-card{padding:28px 22px}.play-customization-section{padding:24px 22px}.play-color-grid,.play-icon-grid{gap:8px}.play-color-swatch,.play-icon-button{min-height:48px}}.controller-drawer .play-customization-section{border:none;border-radius:0;padding:24px;background:none}.territory-deployment-card{width:100%;max-width:400px;height:clamp(120px,min(10vh,160px),200px);min-width:240px;min-height:140px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);position:relative;overflow:hidden;box-sizing:border-box;cursor:pointer;transition:border-color .2s ease,transform .2s var(--ease-spring);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.territory-deployment-card:hover:not(.territory-deployment-card-disabled):not(.territory-deployment-card-deploying){border-color:#ffffff38;transform:translateY(-1px)}.territory-deployment-card:active:not(.territory-deployment-card-disabled):not(.territory-deployment-card-deploying){transform:scale(.98)}.territory-deployment-card-deploying{animation:territory-deployment-click .4s ease;pointer-events:none}@keyframes territory-deployment-click{0%{transform:scale(1);box-shadow:none}25%{transform:scale(.97);box-shadow:0 0 0 2px var(--accent-bg-medium)}50%{transform:scale(1.02);box-shadow:0 0 0 3px var(--accent)}to{transform:scale(1);box-shadow:none}}@media(prefers-reduced-motion:reduce){.territory-deployment-card-deploying{animation:none}}.territory-deployment-card-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.territory-deployment-card-content{height:100%;display:flex;flex-direction:column;justify-content:space-between}.territory-deployment-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;position:relative}.territory-deployment-card-name{font:var(--weight-heading) 14px/1.25 var(--font-sans);letter-spacing:var(--tracking-ui);margin:0;color:#fff;max-width:calc(100% - 32px)}.territory-deployment-card-player{width:24px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff;position:absolute;top:0;right:0}.territory-deployment-card-player .lucide{width:14px;height:14px}.territory-deployment-card-influence-bars{position:absolute;top:14px;right:16px;display:flex;flex-direction:column-reverse;gap:3px;width:22px;align-items:center}.territory-deployment-card-influence-bar{width:22px;height:5px;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:2px}.territory-deployment-card-influence-bar.filled-heavy{background:#fff;border-color:#fff}.territory-deployment-card-influence-bar.filled-light{background:#fff6;border-color:#fff6}.territory-deployment-card-bottom-left{position:absolute;bottom:14px;left:16px;display:flex;flex-direction:column;gap:3px}.territory-deployment-card-icon-row{display:flex;gap:2px;flex-wrap:wrap}.territory-deployment-card-icon-row .lucide{width:12px;height:12px;color:#fff;flex-shrink:0}.territory-deployment-card-vp{position:absolute;bottom:12px;right:16px;font:var(--weight-heading) 22px/1 var(--font-mono);letter-spacing:-.5px;color:#fff;width:24px;text-align:center;display:flex;align-items:flex-end;justify-content:center}.territory-deployment-card-spinner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0b0f1a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-md);z-index:20}.territory-deployment-card-spinner{width:36px;height:36px;border:2px solid rgba(255,255,255,.25);border-top-color:var(--accent);border-radius:50%;animation:territory-deployment-spinner .6s linear infinite}@keyframes territory-deployment-spinner{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.territory-deployment-card-spinner{animation-duration:4s}}@media(max-width:768px){.territory-deployment-card{width:100%;max-width:100%;min-height:140px}.territory-deployment-card-name{font-size:15px}}@media(max-width:1200px)and (min-width:769px){.territory-deployment-card{max-width:360px}}.territory-deployment-container{display:flex;flex-direction:column;width:100%;align-items:stretch;container-type:inline-size}.territory-deployment-message{background:var(--state-decay-soft);border:1px solid var(--state-decay);border-radius:var(--radius-md);padding:11px 14px;margin-bottom:16px;text-align:center;color:var(--state-decay);font:var(--weight-medium) 12px/1.4 var(--font-sans);letter-spacing:var(--tracking-ui)}.territory-deployment-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:0 4px}@container (max-width: 550px){.territory-deployment-cards{padding:0 2px}}@media(max-width:550px){.territory-deployment-cards{padding:0 2px}}.player-controller-container{min-height:100vh;background:var(--bg);color:var(--ink-92);padding:0;position:relative}.player-controller-top-bar{display:flex;align-items:center;justify-content:space-between;width:100%;height:60px;padding:0 24px;background:var(--bg);border-bottom:1px solid var(--border);border-bottom-width:2px;position:sticky;top:0;z-index:100}.player-controller-top-bar-icon{width:36px;height:36px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-top-bar-icon .lucide{width:18px;height:18px}.player-controller-top-bar-name{flex:1;text-align:center;font:var(--weight-medium) 13px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-92)}.player-controller-top-bar-vp{display:inline-flex;align-items:center;justify-content:center;font:var(--weight-heading) 18px/1 var(--font-mono);letter-spacing:-.5px;color:var(--ink-92);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 14px;min-width:48px;flex-shrink:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-controller-summary-bar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:10px 16px;display:flex;align-items:center;justify-content:space-around;gap:12px;flex-wrap:wrap;position:sticky;top:60px;z-index:99;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-controller-summary-item{display:inline-flex;align-items:center;gap:6px}.player-controller-summary-item .lucide{width:14px;height:14px;color:var(--ink-45)}.player-controller-summary-item span{font:var(--weight-heading) 14px/1 var(--font-mono);letter-spacing:-.3px;color:var(--ink-92)}.player-controller-content{max-width:720px;margin:0 auto;padding:24px}.player-controller-main{display:flex;flex-direction:column;gap:16px;padding:16px}.player-controller-section{background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:24px 26px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-controller-label{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin-bottom:12px;display:block}.player-controller-phase{font:var(--weight-medium) 17px/1.3 var(--font-sans);color:var(--ink-92);margin-bottom:8px}.player-controller-phase-hint{font:var(--weight-body) 13px/1.55 var(--font-sans);color:var(--ink-65);margin:0}.player-controller-players-count,.player-controller-territories-count{font:var(--weight-medium) 17px/1.3 var(--font-sans);color:var(--ink-92)}.player-status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-xs);font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase}.player-status-setup{background:var(--player-4-soft);color:var(--player-4);border:1px solid var(--player-4-border);backdrop-filter:none;-webkit-backdrop-filter:none}.player-status-in-progress{background:var(--accent-bg-soft);color:var(--accent);border:1px solid var(--accent-border);backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-loading,.player-controller-error{text-align:center;padding:64px 32px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-controller-loading p{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.player-controller-error h2{font:var(--weight-heading) 22px/1.2 var(--font-sans);letter-spacing:var(--tracking-snug);color:var(--state-danger);margin:0 0 12px}.player-controller-connection-status{margin-top:24px;padding:12px 16px;background:var(--state-decay-soft);border:1px solid var(--state-decay);border-radius:var(--radius-md);text-align:center;font:var(--weight-medium) 12px/1.4 var(--font-sans);color:var(--state-decay);backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-turn-indicator{margin-bottom:18px;padding:14px 18px;background:var(--accent-bg-soft);border:1px solid var(--accent-border);border-radius:var(--radius-md);text-align:center;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 0 24px var(--accent-bg-soft)}.player-controller-your-turn{font:var(--weight-medium) 14px/1.3 var(--font-sans);color:var(--accent);margin:0}.player-controller-waiting{font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30);margin:0;text-align:center}.player-controller-superpower-selection,.player-controller-territory-selection{margin-top:16px}.player-controller-superpowers,.player-controller-territories{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px}.player-controller-superpower-card,.player-controller-territory-card{background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:20px 22px;transition:background .3s ease,border-color .3s ease,transform .3s var(--ease-spring);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-controller-superpower-card.available:hover,.player-controller-territory-card.available:hover{background:#ffffff05;border-color:var(--border);transform:translateY(-1px)}.player-controller-superpower-card.taken,.player-controller-territory-card.taken{opacity:.4;background:transparent}.player-controller-superpower-header,.player-controller-territory-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.player-controller-superpower-header h3,.player-controller-territory-header h3{font:var(--weight-heading) 16px/1.2 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);margin:0}.player-controller-superpower-taken,.player-controller-territory-taken{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--state-danger)}.player-controller-superpower-stats,.player-controller-territory-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.player-controller-superpower-stat,.player-controller-territory-stat{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#ffffff05;border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.player-controller-superpower-stat .stat-label,.player-controller-territory-stat .stat-label{font:var(--weight-medium) 10px/1 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-30)}.player-controller-superpower-stat .stat-value,.player-controller-territory-stat .stat-value{font:var(--weight-heading) 13px/1 var(--font-mono);color:var(--ink-92)}.player-controller-select-button,.player-controller-select-button-superpower,.player-controller-button-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;height:46px;padding:0 22px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--accent);background:var(--accent-bg-soft)!important;border:1px solid var(--accent-border)!important;border-radius:var(--radius-lg);cursor:pointer;margin-top:16px;position:relative;overflow:visible;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease-spring);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-select-button:before{content:none}.player-controller-select-button:hover:not(:disabled),.player-controller-select-button-superpower:hover:not(:disabled),.player-controller-button-secondary:hover:not(:disabled){background:var(--accent-bg-medium)!important;border-color:var(--accent)!important;color:var(--accent-hover);transform:translateY(-1px)}.player-controller-select-button:active:not(:disabled){transform:translateY(0)}.player-controller-select-button:disabled,.player-controller-select-button-superpower:disabled,.player-controller-button-secondary:disabled{background:transparent!important;border-color:var(--border)!important;color:var(--ink-30);cursor:not-allowed}.player-controller-input,.player-controller-select{width:100%;padding:12px 14px;font:var(--weight-medium) 14px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:transparent;color:var(--ink-92);border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .2s ease,background .2s ease}.player-controller-input::placeholder{color:var(--ink-30)}.player-controller-input:hover:not(:disabled),.player-controller-select:hover:not(:disabled){border-color:var(--border-strong)}.player-controller-input:focus,.player-controller-select:focus{outline:none;border-color:var(--accent);background:var(--accent-bg-soft)}.player-controller-input:disabled,.player-controller-select:disabled{border-color:var(--border-soft);color:var(--ink-30);cursor:not-allowed;opacity:.6}.player-controller-victory-screen{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:auto}.player-controller-victory-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.player-controller-victory-icon{height:120px;display:flex;align-items:center;justify-content:center;color:#fff;filter:drop-shadow(0 4px 24px rgba(0,0,0,.25))}.player-controller-victory-icon .lucide{width:120px;height:120px;stroke-width:1.25}.player-controller-victory-text{font:var(--weight-heading) clamp(36px,7vw,56px)/1.05 var(--font-sans);letter-spacing:var(--tracking-tight);color:#fff;text-transform:uppercase;text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.25);margin:0}.player-controller-victory-play-again{position:absolute;top:32px;right:32px;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;font:var(--weight-medium) 12px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-lg);cursor:pointer;text-decoration:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s ease,border-color .2s ease,transform .2s var(--ease-spring)}.player-controller-victory-play-again:hover{background:#ffffff2e;border-color:#ffffff8c;transform:translateY(-1px)}.player-controller-victory-play-again:active{transform:translateY(0)}.player-controller-dialog-overlay{position:fixed;inset:0;background:#0b0f1ab8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.player-controller-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px;max-width:420px;width:90%;box-shadow:var(--shadow-modal);backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-dialog h3{font:var(--weight-heading) 17px/1.2 var(--font-sans);letter-spacing:var(--tracking-ui);color:var(--ink-92);margin:0 0 14px}.player-controller-dialog p{font:var(--weight-body) 14px/1.55 var(--font-sans);color:var(--ink-65);margin:0 0 22px}.player-controller-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.player-controller-dialog-button{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 18px;font:var(--weight-medium) 13px/1 var(--font-sans);letter-spacing:var(--tracking-ui);background:transparent;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink-65);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-dialog-button:hover:not(:disabled){background:#ffffff08;border-color:var(--border-strong);color:var(--ink-92)}.player-controller-dialog-button:disabled{opacity:.4;cursor:not-allowed}.player-controller-dialog-button-primary{background:var(--accent-bg-soft);border-color:var(--accent-border);color:var(--accent)}.player-controller-dialog-button-primary:hover:not(:disabled){background:var(--accent-bg-medium);border-color:var(--accent);color:var(--accent-hover)}.player-controller-dialog-button-danger{background:var(--state-danger-soft);border-color:var(--state-danger);color:var(--state-danger)}.player-controller-dialog-button-danger:hover:not(:disabled){background:var(--state-danger-soft);border-color:var(--state-danger);color:var(--state-danger);filter:brightness(1.15)}.player-controller-form-container{padding:0;background:none;border:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-trade-card{margin-bottom:12px;padding:14px 16px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);display:flex;align-items:center;gap:14px;flex-wrap:wrap;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.player-controller-trade-icon{width:22px;height:22px;color:var(--ink-65);flex-shrink:0}.player-controller-trade-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.player-controller-trade-ratio{font:var(--weight-medium) 12px/1.3 var(--font-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink-92);white-space:nowrap;text-align:center}.player-controller-trade-button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--ink-65);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font:var(--weight-heading) 16px/1 var(--font-sans);transition:background .2s ease,border-color .2s ease,color .2s ease;backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-trade-button:hover:not(:disabled){background:var(--accent-bg-soft);border-color:var(--accent);color:var(--accent)}.player-controller-trade-button:disabled{opacity:.4;cursor:not-allowed}.player-controller-form-group{margin-bottom:14px}.player-controller-form-label{display:block;margin-bottom:6px;font:var(--weight-medium) 11px/1 var(--font-mono);letter-spacing:var(--tracking-mono-wide);text-transform:uppercase;color:var(--ink-30)}.player-controller-form-hint{margin-bottom:18px;padding:10px 14px;background:transparent;border:1px solid var(--border-soft);border-radius:var(--radius-md);font:var(--weight-body) 12px/1.5 var(--font-sans);color:var(--ink-65)}.player-controller-territory-limit-indicator{font:var(--weight-medium) 12px/1.4 var(--font-sans);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:14px;text-align:center;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .3s ease,border-color .3s ease,color .3s ease}.player-controller-territory-limit-available{color:var(--accent);background:var(--accent-bg-soft);border:1px solid var(--accent-border)}.player-controller-territory-limit-maxed{color:var(--state-decay);background:var(--state-decay-soft);border:1px solid var(--state-decay)}.player-controller-toggle{display:inline-flex;align-items:center;cursor:pointer;position:relative;width:44px;height:24px}.player-controller-toggle input{opacity:0;width:0;height:0}.player-controller-toggle-slider{position:absolute;inset:0;background:var(--border);border-radius:24px;transition:background-color .2s}.player-controller-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s var(--ease-spring)}.player-controller-toggle input:checked+.player-controller-toggle-slider{background:var(--accent)}.player-controller-toggle input:checked+.player-controller-toggle-slider:before{transform:translate(20px)}.player-controller-link-button{display:block;width:100%;margin-top:10px;padding:8px;background:none;border:none;font:var(--weight-medium) 12px/1.4 var(--font-sans);color:var(--ink-45);text-align:center;cursor:pointer;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:50% calc(50% + .6em);background-repeat:no-repeat;transition:background-size .3s var(--ease-spring),color .15s ease}.player-controller-link-button:hover{color:var(--ink-92);background-size:60% 1px}.player-controller-alert{padding:14px 16px;border-radius:var(--radius-md);margin-bottom:16px;border:1px solid;backdrop-filter:none;-webkit-backdrop-filter:none}.player-controller-alert-warning{background:var(--player-4-soft);border-color:var(--player-4);color:var(--player-4)}.player-controller-alert-error{background:var(--state-decay-soft);border-color:var(--state-decay);color:var(--state-decay)}.player-controller-alert p{margin:0;font:var(--weight-medium) 13px/1.4 var(--font-sans)}.player-controller-alert p:first-child{margin-bottom:4px}.player-controller-alert p:not(:first-child){font-size:12px;opacity:.85}
