:root{--bg-deepest: #050510;--bg-deep: #08081a;--bg-base: #0c0c1e;--bg-surface: #141430;--bg-elevated: #1a1a3e;--bg-hover: #222250;--bg-active: #2a2a5a;--border-subtle: rgba(255,255,255,.06);--border-default: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.2);--text-primary: #f0f0ff;--text-secondary: #a8a8cc;--text-muted: #6868a0;--text-inverse: #08081a;--primary: #4d8eff;--primary-hover: #3070f0;--primary-soft: rgba(77,142,255,.18);--primary-glow: rgba(77,142,255,.4);--accent: #ffb020;--accent-hover: #e09000;--accent-soft: rgba(255,176,32,.18);--success: #30e870;--success-soft: rgba(48,232,112,.15);--danger: #ff4466;--danger-hover: #e02040;--danger-soft: rgba(255,68,102,.15);--warning: #ffb020;--warning-soft: rgba(255,176,32,.15);--info: #20d4f0;--info-soft: rgba(32,212,240,.15);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 36px;--space-2xl: 56px;--space-3xl: 80px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(0,0,0,.4);--shadow-md: 0 6px 20px rgba(0,0,0,.5);--shadow-lg: 0 12px 40px rgba(0,0,0,.6);--shadow-glow: 0 0 30px var(--primary-glow);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.15rem;--text-xl: 1.35rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 4rem;--text-6xl: 5rem;--transition-fast: .18s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 10% 10%,rgba(77,142,255,.08) 0%,transparent 50%),radial-gradient(ellipse 70% 50% at 90% 90%,rgba(255,176,32,.06) 0%,transparent 50%),radial-gradient(ellipse 60% 60% at 50% 50%,rgba(139,92,246,.05) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 70% 20%,rgba(48,232,112,.03) 0%,transparent 50%);pointer-events:none;z-index:-1;animation:ambientShift 20s ease-in-out infinite alternate}@keyframes ambientShift{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}img{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}#app{min-height:100vh;display:flex;flex-direction:column}.page{display:none;flex:1}.page.active{display:flex;flex-direction:column}.spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);min-height:100vh;color:var(--text-secondary);font-size:var(--text-lg)}.coffee-btn{position:fixed;bottom:20px;left:20px;z-index:900;display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#ffdd331f,#ffb02014);border:1px solid rgba(255,221,51,.2);border-radius:var(--radius-full);color:#fd3;font-size:var(--text-sm);font-weight:600;cursor:pointer;text-decoration:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0000004d;transition:all .3s ease;opacity:.75}.coffee-btn:hover{opacity:1;transform:translateY(-2px);background:linear-gradient(135deg,#fd33,#ffb02026);border-color:#fd36;box-shadow:0 6px 28px #0006,0 0 20px #ffdd331a}.coffee-btn .coffee-icon{font-size:1.2em}.coffee-btn .coffee-text{letter-spacing:.01em}@media(max-width:480px){.coffee-btn .coffee-text{display:none}.coffee-btn{padding:10px 12px;border-radius:50%}}.feedback-btn{position:fixed;bottom:20px;right:20px;z-index:900;display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#4d8eff1f,#8b5cf614);border:1px solid rgba(77,142,255,.2);border-radius:var(--radius-full);color:var(--primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px #0000004d;transition:all .3s ease;opacity:.75;font-family:inherit}.feedback-btn:hover{opacity:1;transform:translateY(-2px);background:linear-gradient(135deg,#4d8eff33,#8b5cf626);border-color:#4d8eff66;box-shadow:0 6px 28px #0006,0 0 20px #4d8eff1a}.feedback-icon{font-size:1.2em}.feedback-overlay{position:fixed;inset:0;z-index:10000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.feedback-overlay.active{opacity:1;pointer-events:all}.feedback-modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-xl);width:90%;max-width:440px;box-shadow:0 24px 80px #0009;transform:translateY(20px) scale(.95);transition:transform .25s ease}.feedback-overlay.active .feedback-modal{transform:translateY(0) scale(1)}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.feedback-header h3{font-size:var(--text-xl);font-weight:700;margin:0}.feedback-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1;border-radius:var(--radius-md);transition:color .2s,background .2s}.feedback-close:hover{color:var(--text-primary);background:var(--bg-hover)}.feedback-subtitle{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.feedback-modal select{width:100%;margin-bottom:var(--space-md);padding:10px 12px;font-size:var(--text-sm)}.feedback-input{width:100%;resize:vertical;min-height:100px;font-family:inherit;font-size:var(--text-sm);padding:12px;box-sizing:border-box}.feedback-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-md)}.feedback-char-count{font-size:.75rem;color:var(--text-muted)}.feedback-footer .btn{padding:10px 28px}@media(max-width:480px){.feedback-btn .feedback-text{display:none}.feedback-btn{padding:10px 12px;border-radius:50%}.feedback-modal{padding:var(--space-lg)}}@media(max-width:768px){:root{--space-xl: 24px;--space-2xl: 36px;--space-3xl: 48px}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}@media(max-width:480px){:root{--space-xl: 20px;--space-2xl: 28px;--space-3xl: 36px}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;letter-spacing:.01em}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 60%);pointer-events:none}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,#4d8eff,#2563eb,#1d4ed8);background-size:200% 200%;color:#fff;box-shadow:0 4px 16px #4d8eff4d,0 0 0 1px #4d8eff1a}.btn-primary:hover:not(:disabled){background-position:100% 100%;box-shadow:0 6px 28px #4d8eff73,0 0 0 1px #4d8eff4d;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #4d8eff4d}.btn-secondary{background:linear-gradient(145deg,var(--bg-elevated),var(--bg-surface));color:var(--text-primary);border:1px solid var(--border-default);box-shadow:0 2px 8px #0003}.btn-secondary:hover:not(:disabled){background:linear-gradient(145deg,var(--bg-hover),var(--bg-elevated));border-color:var(--border-strong);box-shadow:0 4px 16px #0000004d;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#f46,#e02040);color:#fff;box-shadow:0 4px 16px #ff446640}.btn-danger:hover:not(:disabled){box-shadow:0 6px 24px #f466;transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-accent{background:linear-gradient(135deg,#ffb020,#e09000,#cc7000);background-size:200% 200%;color:var(--text-inverse);box-shadow:0 4px 16px #ffb02040;font-weight:700}.btn-accent:hover:not(:disabled){background-position:100% 100%;box-shadow:0 6px 28px #ffb02073;transform:translateY(-2px)}.btn-sm{padding:8px 14px;font-size:var(--text-xs)}.btn-lg{padding:18px 36px;font-size:var(--text-lg);font-weight:700;letter-spacing:.02em;border-radius:var(--radius-lg)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md)}.btn-icon.btn-sm{width:32px;height:32px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.input{padding:12px 16px;background:#08081ab3;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #4d8eff26,0 0 24px #4d8eff1a;background:#08081ae6}.input::placeholder{color:var(--text-muted)}.input-row{display:flex;gap:var(--space-md);align-items:flex-end}.input-row .input-group{flex:1}select.input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236868a0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.card{background:linear-gradient(145deg,var(--bg-surface),var(--bg-base));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.card-hover:hover{border-color:var(--border-default);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-title{font-size:var(--text-xl);font-weight:700}.badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.03em}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.tabs{display:flex;gap:var(--space-xs);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-lg)}.tab{padding:12px 20px;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.toggle-wrap{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-wrap input[type=checkbox]{display:none}.toggle-track{width:46px;height:26px;background:var(--bg-active);border-radius:var(--radius-full);position:relative;transition:all var(--transition-fast);flex-shrink:0;border:2px solid transparent}.toggle-wrap input:checked+.toggle-track{background:var(--primary);box-shadow:0 0 16px #4d8eff4d;border-color:#4d8eff4d}.toggle-track:after{content:"";width:18px;height:18px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform var(--transition-fast);box-shadow:0 2px 4px #0000004d}.toggle-wrap input:checked+.toggle-track:after{transform:translate(20px)}.toggle-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.divider{width:100%;height:1px;background:var(--border-subtle);margin:var(--space-lg) 0}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-3xl) var(--space-lg);color:var(--text-muted);text-align:center}.empty-state-icon{font-size:4rem;opacity:.5;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state-title{font-size:var(--text-xl);font-weight:700;color:var(--text-secondary)}@media(max-width:768px){.btn{min-height:44px;padding:10px 20px}.btn-sm{min-height:36px;padding:8px 14px}.btn-lg{padding:14px 28px;font-size:var(--text-base)}.input{min-height:44px;font-size:16px}select.input{font-size:16px}.input-row{flex-direction:column}.toggle-wrap{min-height:44px}}@media(max-width:480px){.btn-lg{width:100%}}.landing{display:flex;flex-direction:column;align-items:center;min-height:100vh;overflow-x:hidden;padding-bottom:60px;background:radial-gradient(ellipse 70% 50% at 50% 15%,rgba(77,142,255,.1) 0%,transparent 60%),radial-gradient(ellipse 40% 30% at 25% 65%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 75% 50%,rgba(255,176,32,.04) 0%,transparent 50%)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px 0}.hero-logo{width:150px;height:150px;border-radius:24px;box-shadow:0 14px 50px #00000080,0 0 80px #4d8eff1a;animation:heroFloat 5s ease-in-out infinite}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-tagline{font-size:1.15rem;color:var(--text-secondary);max-width:420px;line-height:1.5;margin-top:var(--space-lg)}.hero-cta{display:flex;gap:12px;margin-top:var(--space-xl)}.hero-cta .btn-lg{padding:12px 32px;font-size:var(--text-sm)}.btn-ghost{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:var(--text-primary);padding:12px 32px;border-radius:var(--radius-lg);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all .2s;font-family:inherit}.btn-ghost:hover{background:#ffffff1a;border-color:#ffffff40;transform:translateY(-1px)}.hero-spectate{color:var(--text-muted);font-size:.75rem;margin-top:14px;cursor:pointer;transition:color .2s}.hero-spectate:hover{color:var(--text-secondary);text-decoration:underline}.modes-section{padding:48px 24px 0;width:100%;max-width:1000px;box-sizing:border-box}.section-title{font-size:1.4rem;font-weight:700;text-align:center;margin-bottom:4px}.section-subtitle{text-align:center;color:var(--text-muted);font-size:var(--text-sm);margin-bottom:24px}.modes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mode-card{display:flex;flex-direction:column;gap:12px;padding:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;transition:border-color .3s,background .3s,transform .3s}.mode-card:hover{border-color:#4d8eff33;background:#ffffff0d;transform:translateY(-2px)}.mode-card-icon{font-size:1.8rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border-radius:10px;flex-shrink:0}.mode-card-body h3{font-size:.95rem;font-weight:700;color:#fff;margin-bottom:4px}.mode-card-body p{font-size:.75rem;color:var(--text-muted);line-height:1.55;margin:0}.beta-tag{font-size:.5rem;font-weight:700;letter-spacing:.06em;background:#ffb02026;color:#ffb020;padding:2px 5px;border-radius:4px;border:1px solid rgba(255,176,32,.25);vertical-align:middle;margin-left:3px}.features-section{padding:28px 24px 0;width:100%;max-width:1000px;box-sizing:border-box}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature{text-align:center;padding:16px 8px;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.feature-icon{font-size:1.2rem;margin-bottom:4px}.feature-label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.auth-overlay{position:fixed;inset:0;z-index:10000;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}.auth-overlay.active{opacity:1;pointer-events:all}.auth-modal{position:relative;width:90%;max-width:400px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:36px;box-shadow:0 24px 80px #0009;transform:translateY(16px) scale(.96);transition:transform .25s ease}.auth-overlay.active .auth-modal{transform:translateY(0) scale(1)}.auth-close{position:absolute;top:16px;right:20px;background:none;border:none;color:var(--text-muted);font-size:1.6rem;cursor:pointer;padding:4px 8px;line-height:1;border-radius:var(--radius-md);transition:color .2s,background .2s}.auth-close:hover{color:var(--text-primary);background:var(--bg-hover)}.auth-modal h2{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-lg);text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form .btn{margin-top:var(--space-xs);width:100%;padding:14px;font-size:var(--text-sm)}.auth-switch{text-align:center;color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-md)}.auth-switch a{color:var(--primary);cursor:pointer;font-weight:600}.auth-switch a:hover{text-decoration:underline}.auth-error{background:var(--danger-soft);color:var(--danger);padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);display:none;font-weight:500;border:1px solid rgba(255,68,102,.2)}.auth-error.visible{display:block}.spectate-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.spectate-container{width:100%;max-width:400px;background:var(--bg-surface);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:36px;text-align:center;box-shadow:0 16px 60px #0006}.spectate-logo{width:80px;height:80px;border-radius:16px;margin-bottom:16px;box-shadow:0 8px 30px #0006}.spectate-container h2{font-size:var(--text-xl);font-weight:700;margin-bottom:8px}.spectate-desc{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:20px;line-height:1.5}.spectate-container .input-group{text-align:left}@media(max-width:860px){.modes-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.hero{padding-top:36px}.hero-logo{width:110px;height:110px;border-radius:20px}.hero-tagline{font-size:1rem}.hero-cta{flex-direction:column;width:100%;max-width:240px}.hero-cta .btn{width:100%;text-align:center}.modes-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:1fr 1fr}.modes-section,.features-section{padding-left:16px;padding-right:16px}.section-title{font-size:1.2rem}.auth-modal{padding:28px 24px;border-radius:16px}}.dashboard-page{padding:var(--space-xl) var(--space-lg);max-width:1400px;margin:0 auto;width:100%}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;margin-bottom:var(--space-lg)}.top-bar-brand{display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-2xl);font-weight:800;background:linear-gradient(135deg,var(--primary),#a855f7,var(--accent));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:brandShift 8s ease-in-out infinite;letter-spacing:-.03em}.top-bar-logo{width:100px;height:100px;border-radius:var(--radius-xl);object-fit:cover;box-shadow:0 6px 30px #0009,0 0 40px #4d8eff14;-webkit-text-fill-color:initial;transition:transform .4s cubic-bezier(.16,1,.3,1)}.top-bar-logo:hover{transform:scale(1.1) rotate(-2deg)}@keyframes brandShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.top-bar-user{display:flex;align-items:center;gap:var(--space-md)}.top-bar-username{font-size:var(--text-base);color:var(--text-secondary);font-weight:600}.hero-section{text-align:center;padding:var(--space-xl) 0 var(--space-2xl)}.hero-title{font-size:var(--text-4xl);font-weight:800;margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:var(--text-lg);color:var(--text-muted)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-bottom:var(--space-3xl)}.action-card{position:relative;background:linear-gradient(155deg,#1c1c3ce6,#101028f2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-xl);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.action-card-glow{position:absolute;inset:0;border-radius:var(--radius-xl);opacity:0;transition:opacity .5s ease;pointer-events:none}.action-card:nth-child(1) .action-card-glow{background:radial-gradient(ellipse at 50% 80%,rgba(77,142,255,.15),transparent 70%)}.action-card:nth-child(2) .action-card-glow{background:radial-gradient(ellipse at 50% 80%,rgba(255,176,32,.15),transparent 70%)}.action-card:hover .action-card-glow{opacity:1}.action-card:hover{border-color:#4d8eff80;box-shadow:0 16px 48px #0006,0 0 60px #4d8eff1a,0 0 0 1px #4d8eff26;transform:translateY(-6px) scale(1.02)}.action-card:nth-child(2):hover{border-color:#ffb02080;box-shadow:0 16px 48px #0006,0 0 60px #ffb02014,0 0 0 1px #ffb02026}.action-card-icon{font-size:3.5rem;margin-bottom:var(--space-md);filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));transition:transform .4s cubic-bezier(.16,1,.3,1)}.action-card:hover .action-card-icon{transform:scale(1.2) translateY(-4px)}.action-card-title{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-xs);letter-spacing:-.01em}.action-card-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.games-section{margin-top:var(--space-lg)}.games-section h3{font-size:var(--text-2xl);margin-bottom:var(--space-lg);color:var(--text-primary);font-weight:700}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.game-card{background:linear-gradient(155deg,#1c1c3ccc,#101028e6);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm);transition:all .35s cubic-bezier(.16,1,.3,1)}.game-card:hover{border-color:#ffffff26;box-shadow:0 12px 36px #0006,0 0 40px #4d8eff0d;transform:translateY(-3px)}.game-card-header{display:flex;align-items:center;justify-content:space-between}.game-card-type{font-size:var(--text-xs);text-transform:uppercase;font-weight:800;letter-spacing:.06em}.game-card-code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);background:#08081a99;padding:4px 10px;border-radius:var(--radius-sm);font-weight:600}.game-card-info{font-size:var(--text-sm);color:var(--text-secondary)}.game-card-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.lobby-page{padding:var(--space-xl) var(--space-lg);max-width:720px;margin:0 auto;width:100%}.lobby-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-2xl)}.lobby-header h2{font-size:var(--text-3xl);font-weight:800}.lobby-form{display:flex;flex-direction:column;gap:var(--space-xl)}.lobby-section{background:linear-gradient(155deg,#141430cc,#0c0c1ee6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);padding:var(--space-xl)}.lobby-section h3{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm)}.advanced-toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) 0;cursor:pointer;color:var(--text-muted);font-size:var(--text-sm);font-weight:600;transition:color var(--transition-fast)}.advanced-toggle:hover{color:var(--text-secondary)}.advanced-toggle .chevron{transition:transform var(--transition-fast);font-size:var(--text-xs)}.advanced-toggle.open .chevron{transform:rotate(90deg)}.advanced-content{display:none;flex-direction:column;gap:var(--space-md);padding-top:var(--space-md)}.advanced-content.open{display:flex}.teams-config{display:flex;flex-direction:column;gap:var(--space-md)}.team-row{display:flex;align-items:center;gap:var(--space-sm)}.team-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px #0000004d}.team-row .input{flex:1}.join-section{display:flex;flex-direction:column;gap:var(--space-md);align-items:center}.join-section .input{text-align:center;font-family:var(--font-mono);font-size:var(--text-2xl);letter-spacing:.2em;text-transform:uppercase;max-width:300px;width:100%}.team-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--space-sm)}.team-select-btn{padding:var(--space-md);border:2px solid var(--border-default);border-radius:var(--radius-lg);background:#08081a80;color:var(--text-primary);cursor:pointer;text-align:center;font-size:var(--text-sm);font-weight:600;transition:all var(--transition-fast)}.team-select-btn:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-2px)}.team-select-btn.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 16px var(--primary-glow)}@keyframes fadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}.action-card:nth-child(3) .action-card-glow{background:radial-gradient(ellipse at 50% 80%,rgba(239,68,68,.15),transparent 70%)}.action-card:nth-child(3):hover{border-color:#ef444480;box-shadow:0 16px 48px #0006,0 0 60px #ef444414,0 0 0 1px #ef444426}.action-card:nth-child(4) .action-card-glow{background:radial-gradient(ellipse at 50% 80%,rgba(48,232,112,.12),transparent 70%)}.action-card:nth-child(4):hover{border-color:#30e87066;box-shadow:0 16px 48px #0006,0 0 60px #30e87014,0 0 0 1px #30e87026}.action-card:nth-child(5) .action-card-glow{background:radial-gradient(ellipse at 50% 80%,rgba(139,92,246,.15),transparent 70%)}.action-card:nth-child(5):hover{border-color:#8b5cf680;box-shadow:0 16px 48px #0006,0 0 60px #8b5cf614,0 0 0 1px #8b5cf626}.action-card:nth-child(6) .action-card-glow{background:radial-gradient(ellipse at 50% 80%,rgba(250,204,21,.15),transparent 70%)}.action-card:nth-child(6):hover{border-color:#facc1580;box-shadow:0 16px 48px #0006,0 0 60px #facc1514,0 0 0 1px #facc1526}.browse-games-page{padding:var(--space-xl) 0}.browse-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.browse-header h2{font-size:var(--text-3xl);font-weight:800}.browse-filters{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl)}.browse-filter-btn{padding:8px 20px;border:1px solid var(--border-default);border-radius:var(--radius-full);background:#08081a66;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.browse-filter-btn:hover{border-color:var(--primary);color:var(--text-primary)}.browse-filter-btn.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);box-shadow:0 0 12px var(--primary-glow)}.browse-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg)}.public-game-card{background:linear-gradient(155deg,#1c1c3cd9,#101028f2);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);transition:all .35s cubic-bezier(.16,1,.3,1)}.public-game-card:hover{border-color:#4d8eff4d;box-shadow:0 12px 40px #0006,0 0 30px #4d8eff0f;transform:translateY(-3px)}.public-game-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.public-game-settings{font-size:var(--text-xs);color:var(--text-muted);background:#ffffff0d;padding:2px 8px;border-radius:var(--radius-sm)}.public-game-host{font-size:var(--text-sm);color:var(--text-secondary)}.public-game-host strong{color:var(--text-primary)}.public-game-players{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.player-fill-bar{flex:1;min-width:80px;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.player-fill-inner{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:3px;transition:width .4s ease}.player-fill-text{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600;white-space:nowrap}.spots-left{font-size:var(--text-xs);color:var(--success);font-weight:600;white-space:nowrap}.public-game-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-xs)}.public-game-time{font-size:var(--text-xs);color:var(--text-muted)}.quick-match-body{display:flex;flex-direction:column;gap:var(--space-lg)}.qm-step{display:flex;flex-direction:column;gap:var(--space-sm)}.qm-label{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.qm-options{display:flex;gap:var(--space-sm)}.qm-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-md) var(--space-sm);border:2px solid var(--border-default);border-radius:var(--radius-lg);background:#08081a80;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:all .2s ease}.qm-option:hover{border-color:#4d8eff66;color:var(--text-primary)}.qm-option.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 0 16px var(--primary-glow)}.qm-option-icon{font-size:1.8rem}.qm-size-row{display:flex;align-items:flex-end;gap:var(--space-sm)}.qm-size-x{font-size:var(--text-lg);color:var(--text-muted);font-weight:700;padding-bottom:10px}.qm-status{text-align:center;font-size:var(--text-sm);color:var(--accent);min-height:1.5em;font-weight:600}.badge-secondary{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}@media(max-width:768px){.dashboard-page{padding:var(--space-md)}.top-bar{flex-wrap:wrap;gap:var(--space-sm)}.top-bar-logo{width:64px;height:64px}.top-bar-brand{font-size:var(--text-xl)}.top-bar-user{gap:var(--space-sm)}.top-bar-username{font-size:var(--text-sm);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-section{padding:var(--space-md) 0 var(--space-lg)}.hero-title{font-size:var(--text-2xl)}.hero-subtitle{font-size:var(--text-sm)}.quick-actions{grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-xl)}.action-card{padding:var(--space-lg) var(--space-md)}.action-card-icon{font-size:2rem;margin-bottom:var(--space-sm)}.action-card-title{font-size:var(--text-base)}.action-card-desc{font-size:var(--text-xs)}.games-grid,.browse-games-grid{grid-template-columns:1fr}.browse-filters{flex-wrap:wrap}.lobby-page{padding:var(--space-md)}.lobby-header h2{font-size:var(--text-2xl)}.lobby-section{padding:var(--space-lg)}.qm-options{flex-direction:column}.trade-columns{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-page{padding:var(--space-sm) var(--space-sm) var(--space-xl)}.quick-actions{grid-template-columns:1fr;gap:var(--space-sm)}.action-card{flex-direction:row;text-align:left;padding:var(--space-md);gap:var(--space-md)}.action-card-icon{font-size:1.8rem;margin-bottom:0;flex-shrink:0}.action-card:hover .action-card-icon{transform:scale(1.1)}.action-card:hover{transform:translateY(-2px)}.game-card{padding:var(--space-md)}.game-card-actions{flex-direction:column}.game-card-actions .btn{width:100%}.public-game-card{padding:var(--space-md)}.join-section .input{font-size:var(--text-xl)}.lobby-section{padding:var(--space-md)}}.game-page{display:flex;flex-direction:column;height:100vh;max-height:100vh;min-height:0;overflow:hidden;background:radial-gradient(ellipse 80% 50% at 30% 0%,rgba(77,142,255,.08) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 70% 100%,rgba(255,176,32,.05) 0%,transparent 60%),var(--bg-deep)}.game-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:#080818e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:var(--space-md);min-height:56px;z-index:10}.game-bar-left{display:flex;align-items:center;gap:var(--space-md)}.game-bar-code{font-family:var(--font-mono);font-size:var(--text-base);color:var(--accent);background:#ffb0201f;border:1px solid rgba(255,176,32,.25);padding:5px 14px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-weight:700;letter-spacing:.1em}.game-bar-code:hover{background:#ffb02038;box-shadow:0 0 20px #ffb02026}.game-bar-right{display:flex;align-items:center;gap:var(--space-sm)}.game-layout{flex:1;display:flex;overflow:hidden;min-height:0}.game-main{flex:1;display:flex;flex-direction:column;overflow:auto;padding:var(--space-lg)}.game-sidebar{width:340px;background:#080818f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar-tabs::-webkit-scrollbar{display:none}.sidebar-tab{flex:1 1 0;padding:var(--space-sm) var(--space-xs);font-size:.6rem;font-weight:700;color:var(--text-muted);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;transition:all var(--transition-fast);white-space:nowrap;min-width:0;text-align:center}.sidebar-tab:hover{color:var(--text-secondary);background:#ffffff05}.sidebar-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.sidebar-content{flex:1 1 0;min-height:0;height:0;overflow:hidden;display:none}.sidebar-content.active{display:flex;flex-direction:column}.game-log,.proof-log,.player-list{flex:1 1 0;min-height:0;overflow-y:auto}.bingo-board-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);flex:1;padding:var(--space-md) 0}.bingo-stats{display:flex;gap:var(--space-2xl);flex-wrap:wrap;justify-content:center}.bingo-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.bingo-stat-value{font-size:var(--text-4xl);font-weight:800;background:linear-gradient(135deg,var(--accent),#ffd700,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;filter:drop-shadow(0 2px 8px rgba(255,176,32,.3))}.bingo-stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.bingo-board{display:grid;gap:5px;width:100%;max-width:min(92vw,820px);padding:var(--space-lg);background:linear-gradient(155deg,#0c0c1eb3,#080818cc);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);box-shadow:0 0 60px #00000080,0 0 120px #4d8eff08,inset 0 0 40px #0000004d}.bingo-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px 6px;background:linear-gradient(155deg,#1c1c3cf2,#141430fa);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;min-height:80px;gap:5px;-webkit-user-select:none;user-select:none}.bingo-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.025));pointer-events:none}.bingo-tile:hover{border-color:#4d8eff80;background:linear-gradient(155deg,#232346f2,#1c1c37fa);transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #4d8eff1f;z-index:1}.bingo-tile .tile-img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));transition:transform .3s cubic-bezier(.16,1,.3,1)}.bingo-tile:hover .tile-img{transform:scale(1.15)}.bingo-tile .tile-name{font-size:.72em;line-height:1.2;color:var(--text-secondary);font-weight:600;word-break:break-word}.bingo-tile.marked{background:linear-gradient(155deg,#30e87033,#1eb45026);border-color:#30e87080;box-shadow:0 0 20px #30e8701f,inset 0 0 12px #30e8700d}.bingo-tile.marked .tile-name{color:var(--success)}.bingo-tile.marked:after{content:"✓";position:absolute;top:5px;right:7px;font-size:.9em;color:var(--success);font-weight:800;text-shadow:0 0 10px rgba(48,232,112,.6)}.bingo-tile.in-line{background:linear-gradient(155deg,#30e8704d,#1eb45040);border-color:var(--success);box-shadow:0 0 28px #30e87033,0 0 60px #30e87014,inset 0 0 16px #30e8700f;animation:lineGlow 2s ease-in-out infinite}@keyframes lineGlow{0%,to{box-shadow:0 0 16px #30e87026}50%{box-shadow:0 0 36px #30e87059,0 0 60px #30e8701f}}.bingo-tile.free-space{background:linear-gradient(155deg,#ffb02033,#e0900026);border-color:#ffb02080;box-shadow:0 0 16px #ffb0201a}.bingo-tile.free-space .tile-name{color:var(--accent);font-weight:800;font-size:1em;letter-spacing:.1em}.bingo-cols-8 .bingo-tile,.bingo-cols-9 .bingo-tile,.bingo-cols-10 .bingo-tile{min-height:60px;padding:5px 3px}.bingo-cols-8 .tile-img,.bingo-cols-9 .tile-img,.bingo-cols-10 .tile-img{width:32px;height:32px}.bingo-cols-8 .tile-name,.bingo-cols-9 .tile-name,.bingo-cols-10 .tile-name{font-size:.6em}.bingo-board[style*="repeat(11"] .bingo-tile,.bingo-board[style*="repeat(12"] .bingo-tile,.bingo-board[style*="repeat(13"] .bingo-tile,.bingo-board[style*="repeat(14"] .bingo-tile,.bingo-board[style*="repeat(15"] .bingo-tile{min-height:48px;padding:3px 2px;border-radius:var(--radius-sm)}.bingo-board[style*="repeat(11"] .tile-img,.bingo-board[style*="repeat(12"] .tile-img,.bingo-board[style*="repeat(13"] .tile-img,.bingo-board[style*="repeat(14"] .tile-img,.bingo-board[style*="repeat(15"] .tile-img{width:24px;height:24px}.bingo-board[style*="repeat(11"] .tile-name,.bingo-board[style*="repeat(12"] .tile-name,.bingo-board[style*="repeat(13"] .tile-name,.bingo-board[style*="repeat(14"] .tile-name,.bingo-board[style*="repeat(15"] .tile-name{font-size:.48em}.viewing-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,#4d8eff26,#8b5cf61a);border:1px solid rgba(77,142,255,.3);border-radius:var(--radius-lg);color:var(--primary);font-weight:700;font-size:var(--text-base);box-shadow:0 0 24px #4d8eff14}.bingo-tile.view-only{cursor:default}.bingo-tile.view-only.marked{background:linear-gradient(155deg,#8b5cf659,#6d28d940);border-color:#8b5cf6b3;box-shadow:0 0 20px #8b5cf633,inset 0 0 12px #8b5cf61a}.bingo-tile.view-only.marked .tile-name{color:#a78bfa}.bingo-tile.view-only.marked:after{color:#a78bfa;text-shadow:0 0 8px rgba(139,92,246,.6);font-size:1.1em}.bingo-tile.view-only.in-line{background:linear-gradient(155deg,#8b5cf673,#6d28d959);border-color:#a78bfacc;box-shadow:0 0 24px #8b5cf64d,inset 0 0 15px #8b5cf61f}.view-board-btn{font-size:.75rem;padding:3px 8px}.view-board-btn.active{color:var(--primary);background:#4d8eff26}.tile-tooltip{position:fixed;min-width:180px;max-width:300px;padding:10px 14px;background:#0e0e24f7;border:1px solid rgba(77,142,255,.4);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.82rem;line-height:1.5;text-align:left;white-space:normal;word-break:break-word;z-index:9999;pointer-events:none;box-shadow:0 10px 40px #000000b3,0 0 16px #4d8eff26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.tile-tooltip.visible{opacity:1;visibility:visible}.tile-tooltip strong{display:block;color:var(--text-primary);font-weight:700;margin-bottom:5px;font-size:.88rem;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.08)}[data-tooltip-desc] .tile-name{text-decoration:underline dotted rgba(77,142,255,.4);text-underline-offset:2px;cursor:help}.drop-description{font-size:var(--text-sm);color:var(--text-muted);margin-top:6px;line-height:1.45;font-style:italic;padding-left:2px}.territory-description{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.territory-description p{margin:4px 0 0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.tile-race-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);flex:1;padding:var(--space-md) 0}.dice-area{display:flex;align-items:center;gap:var(--space-xl);flex-wrap:wrap;justify-content:center}.dice-display{display:flex;gap:var(--space-md)}.dice{width:80px;height:80px;background:linear-gradient(155deg,#1c1c3cf2,#101028fa);border:2px solid var(--border-default);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2.8rem;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;box-shadow:0 6px 24px #0006,inset 0 1px #ffffff0f}.dice.rolling{animation:diceRoll .1s infinite;border-color:var(--primary);box-shadow:0 0 32px var(--primary-glow),0 0 60px #4d8eff26}@keyframes diceRoll{0%{transform:rotate(0) scale(1)}25%{transform:rotate(15deg) scale(1.1)}50%{transform:rotate(0) scale(1)}75%{transform:rotate(-15deg) scale(1.1)}}.winner-banner{font-size:var(--text-2xl);font-weight:800;padding:var(--space-md) var(--space-2xl);background:linear-gradient(135deg,#ffb02033,#ff8c0026);border:2px solid rgba(255,176,32,.5);border-radius:var(--radius-xl);color:var(--accent);box-shadow:0 0 40px #ffb02026,0 0 80px #ffb0200d;text-shadow:0 0 16px rgba(255,176,32,.4);animation:winnerPulse 2s ease-in-out infinite}@keyframes winnerPulse{0%,to{box-shadow:0 0 30px #ffb02026}50%{box-shadow:0 0 60px #ffb0204d,0 0 100px #ffb0201a}}.tile-race-board{display:grid;gap:4px 4px;row-gap:6px;width:100%;max-width:min(95vw,920px);padding:var(--space-lg);background:linear-gradient(155deg,#0c0c1eb3,#080818cc);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);box-shadow:0 0 60px #00000080,0 0 120px #4d8eff08,inset 0 0 40px #0000004d}.race-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px 4px;background:linear-gradient(155deg,#1c1c3ce6,#141430f2);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);color:var(--text-primary);position:relative;overflow:hidden;min-height:70px;gap:3px;transition:all .25s ease}.race-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.02));pointer-events:none}.race-tile.row-odd{background:linear-gradient(155deg,#202040e6,#181834f2)}.race-tile.row-even:after,.race-tile.row-odd:after{content:"";position:absolute;top:50%;width:0;height:0;border-style:solid;opacity:.45;pointer-events:none;transform:translateY(-50%);filter:drop-shadow(0 0 3px rgba(245,158,11,.4))}.race-tile.row-even:after{right:-4px;border-width:5px 0 5px 7px;border-color:transparent transparent transparent #f59e0b}.race-tile.row-odd:after{left:-4px;border-width:5px 7px 5px 0;border-color:transparent #f59e0b transparent transparent}.race-tile.row-even.row-end-right:after,.race-tile.row-odd.row-end-left:after{display:none}.race-tile .tile-img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}.race-tile .tile-name{font-size:.62em;line-height:1.15;color:var(--text-secondary);font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.race-tile-number{position:absolute;top:3px;left:5px;font-size:.55em;color:var(--text-muted);font-weight:800;opacity:.5}.race-tile.start-tile{background:linear-gradient(155deg,#30e87040,#1ec85033);border-color:#30e87080;box-shadow:0 0 20px #30e87026}.race-tile.start-tile .tile-name{color:var(--success);font-weight:800;font-size:.85em}.race-tile.finish-tile{background:linear-gradient(155deg,#ffb02040,#e0900033);border-color:#ffb02080;box-shadow:0 0 24px #ffb02026;animation:finishPulse 2s ease-in-out infinite}.race-tile.finish-tile .tile-name{color:var(--accent);font-weight:800;font-size:.85em}@keyframes finishPulse{0%,to{box-shadow:0 0 16px #ffb0201a}50%{box-shadow:0 0 32px #ffb0204d}}.race-tile.special-forward{background:linear-gradient(155deg,#30e87026,#1ec8501a);border-color:#30e87059}.race-tile.special-backward{background:linear-gradient(155deg,#ff446626,#e020401a);border-color:#ff446659}.special-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5em;font-weight:900;opacity:.2;pointer-events:none}.special-plus{color:var(--success)}.special-minus{color:var(--danger)}.race-tile .player-tokens{display:flex;flex-wrap:wrap;gap:2px;position:absolute;bottom:3px;right:4px}.player-token{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(0,0,0,.5);font-size:8px;display:flex;align-items:center;justify-content:center;background:#0000004d;box-shadow:0 2px 6px #00000080;animation:tokenMove .4s ease}.player-list{padding:var(--space-md)}.player-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:background var(--transition-fast)}.player-item:hover{background:var(--bg-hover)}.player-emoji{font-size:var(--text-xl)}.player-team-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.player-info{flex:1;min-width:0}.player-info.has-actions{cursor:pointer;border-radius:var(--radius-sm);padding:2px 6px;margin:-2px -6px;transition:background var(--transition-fast)}.player-info.has-actions:hover{background:var(--bg-hover)}.player-name{font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-stats{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.player-popover{position:fixed;z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:0 8px 32px #0009;padding:4px;min-width:160px;animation:popoverIn .12s ease-out}@keyframes popoverIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-action{display:block;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);white-space:nowrap}.popover-action:hover{background:var(--bg-hover)}.popover-action-danger{color:var(--danger)}.popover-action-danger:hover{background:#ff50501f}.team-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-weight:700;font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);margin-top:var(--space-md)}.team-color-indicator{width:10px;height:10px;border-radius:50%;box-shadow:0 0 6px #0000004d}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.chat-msg{display:flex;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.chat-msg-system{color:var(--text-muted);font-style:italic;justify-content:center}.chat-msg-name{font-weight:700;white-space:nowrap;flex-shrink:0}.chat-msg-text{word-break:break-word;color:var(--text-secondary)}.chat-input-row{display:flex;padding:var(--space-md);gap:var(--space-sm);border-top:1px solid var(--border-subtle);flex-shrink:0;align-items:center}.chat-input-row .input{flex:1;min-width:0}.chat-input-row .btn{flex-shrink:0}.chat-img-btn{display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:1.1rem;cursor:pointer;min-width:36px;flex-shrink:0}.chat-select-mode-btn{font-size:1rem;padding:0 6px;min-width:32px;flex-shrink:0}.chat-select-mode-active{background:#4d8eff33!important;color:var(--primary)!important;border:1px solid var(--primary)!important}.chat-select-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:#4d8eff1a;border-top:1px solid var(--primary);border-bottom:1px solid var(--primary);flex-shrink:0}.chat-select-count{font-size:var(--text-sm);font-weight:700;color:var(--primary);flex:1}.chat-img-selected{outline:3px solid var(--primary)!important;outline-offset:-3px;position:relative}.chat-img-selected:after{content:"✓";position:absolute;top:2px;right:2px;background:var(--primary);color:#fff;width:18px;height:18px;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center}.chat-selecting .chat-img-thumb{cursor:pointer;transition:outline .15s ease}.chat-selecting .chat-img-thumb:hover{outline:2px solid rgba(77,142,255,.5);outline-offset:-2px}.chat-img-thumb{display:block;max-width:180px;max-height:140px;border-radius:var(--radius-sm);margin-top:4px;cursor:pointer;border:1px solid var(--border-subtle);transition:opacity var(--transition-fast)}.chat-img-thumb:hover{opacity:.8}.chat-msg:has(.chat-img-thumb){flex-wrap:wrap}.chat-fullscreen-overlay{position:fixed;inset:0;z-index:9999;background:#000000e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);animation:fadeIn .15s ease}.chat-fs-toolbar{display:flex;gap:var(--space-sm);z-index:1}.chat-fullscreen-img{max-width:92vw;max-height:80vh;border-radius:var(--radius-md);box-shadow:0 8px 40px #0009;cursor:default}.chat-proof-tile-btn{border:1px solid var(--border-subtle)!important;transition:all var(--transition-fast)}.chat-proof-tile-btn:hover{border-color:var(--primary)!important}.chat-proof-tile-selected{background:#4d8eff26!important;border-color:var(--primary)!important;color:var(--primary)!important}.game-log{padding:var(--space-md)}.log-entry{padding:var(--space-sm);font-size:var(--text-xs);color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.log-entry:last-child{border-bottom:none}.log-time{color:var(--text-muted);font-family:var(--font-mono);margin-right:var(--space-sm);opacity:.7}.admin-controls{display:flex;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-sm) 0}.admin-panel-body{min-width:340px}.admin-section{margin-bottom:var(--space-xl)}.admin-section h4{margin-bottom:var(--space-md);color:var(--text-primary);font-size:var(--text-lg);font-weight:700}.admin-action-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.admin-hint{margin-top:var(--space-md);font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.race-move-floater{position:absolute;width:24px;height:24px;font-size:18px;line-height:24px;text-align:center;pointer-events:none;z-index:100;transform:translate(-50%,-50%);transition:left .12s ease-out,top .12s ease-out;filter:drop-shadow(0 0 8px rgba(245,158,11,.8))}.race-tile.tile-hop{transform:scale(1.08);border-color:#f59e0b99!important;box-shadow:0 0 16px #f59e0b4d!important;transition:transform .1s ease-out,border-color .1s,box-shadow .1s;z-index:10}.race-tile.tile-land{animation:tileLandPop .4s ease-out;border-color:#30e870b3!important;box-shadow:0 0 24px #30e87066!important;z-index:10}@keyframes tileLandPop{0%{transform:scale(1.15)}50%{transform:scale(.95)}to{transform:scale(1)}}.race-turn-arrow{display:flex;align-items:center;justify-content:center;height:18px}.race-turn-arrow.turn-active{position:relative}.turn-arrow-icon{font-size:18px;color:#f59e0b;line-height:1;text-shadow:0 0 8px rgba(245,158,11,.6);animation:arrowBounce 1.5s ease-in-out infinite}@keyframes arrowBounce{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(3px);opacity:1}}.race-tile.admin-editable{cursor:pointer}.race-tile.admin-editable:hover{border-color:#ffb02099;box-shadow:0 0 20px #ffb02026;transform:translateY(-1px)}.bingo-tile.proof-pending{border:2px solid rgba(255,176,32,.7);animation:proofPulse 1.5s ease-in-out infinite;position:relative}.bingo-tile.proof-pending:after{content:"⏳";position:absolute;top:3px;right:3px;font-size:.7em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}@keyframes proofPulse{0%,to{border-color:#ffb02066;box-shadow:0 0 8px #ffb0201a}50%{border-color:#ffb020e6;box-shadow:0 0 20px #ffb02040}}.proof-required-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:#ffb02014;border:1px solid rgba(255,176,32,.3);border-radius:var(--radius-lg);animation:fadeInUp .3s ease}.proof-required-text{font-size:var(--text-sm);color:var(--accent);text-align:center}.proof-modal-body{display:flex;flex-direction:column;gap:var(--space-md)}.proof-tile-info{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#4d8eff14;border-radius:var(--radius-md);border:1px solid rgba(77,142,255,.15)}.proof-tile-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.proof-tile-name{font-weight:600;color:var(--text-primary)}.proof-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);border:2px dashed var(--border-default);border-radius:var(--radius-lg);background:#ffffff05;cursor:pointer;transition:all .2s ease}.proof-upload-zone:hover,.proof-upload-zone.dragover{border-color:var(--primary);background:#4d8eff0d}.proof-upload-icon{font-size:3rem;margin-bottom:var(--space-sm)}.proof-upload-text{font-weight:600;color:var(--text-primary)}.proof-upload-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-xs)}.proof-file-input{display:none}.proof-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--space-sm)}.proof-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle)}.proof-thumb img{width:100%;height:100%;object-fit:cover}.proof-thumb-remove{position:absolute;top:2px;right:2px;width:22px;height:22px;border:none;border-radius:50%;background:#000000b3;color:#fff;font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.proof-thumb-remove:hover{background:var(--danger)}.proof-add-more-btn{align-self:flex-start}.proof-progress-bar{width:100%;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.proof-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:3px;width:0%;transition:width .3s ease}.proof-status{text-align:center;font-size:var(--text-sm);min-height:1.5em}.proof-status-success{color:var(--success);font-weight:600}.proof-status-error{color:var(--error)}.proof-log{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm)}.proof-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-2xl);color:var(--text-tertiary)}.proof-empty-icon{font-size:2.5rem;opacity:.5}.proof-entry{display:flex;gap:var(--space-sm);padding:var(--space-sm);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:border-color .2s ease}.proof-entry.proof-status-pending{border-color:#ffb0204d}.proof-entry.proof-status-approved{border-color:#22c55e33}.proof-entry.proof-status-rejected{border-color:#ef444433;opacity:.7}.proof-entry-thumb{width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:1px solid var(--border-subtle);transition:transform .2s ease}.proof-entry-thumb:hover{transform:scale(1.05)}.proof-entry-thumb img{width:100%;height:100%;object-fit:cover}.proof-multi-badge{position:absolute;bottom:2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--primary);color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center}.proof-entry-thumb{position:relative}.proof-entry-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.proof-entry-player{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.proof-entry-territory{font-size:var(--text-xs);color:var(--text-primary);margin-bottom:2px}.proof-entry-tile{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proof-entry-meta{display:flex;align-items:center;gap:var(--space-xs);margin-top:2px}.proof-entry-time{font-size:.65rem;color:var(--text-tertiary)}.proof-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.proof-badge-pending{background:#ffb02026;color:var(--accent);border:1px solid rgba(255,176,32,.3)}.proof-badge-approved{background:#22c55e26;color:var(--success);border:1px solid rgba(34,197,94,.3)}.proof-badge-rejected{background:#ef444426;color:var(--error);border:1px solid rgba(239,68,68,.3)}.proof-entry-actions{display:flex;gap:var(--space-xs);margin-top:4px}.proof-entry-actions .btn{padding:2px 8px;font-size:.65rem}.btn-danger{background:#ef444426;color:var(--error);border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef444440}.proof-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#000;font-size:.6rem;font-weight:700;margin-left:4px;animation:pop .3s ease}.proof-fullscreen-overlay{position:fixed;inset:0;z-index:10000;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);cursor:pointer;animation:fadeIn .2s ease}.proof-fullscreen-overlay.removing{animation:fadeOut .3s ease forwards}.proof-fullscreen-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:90vw;padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-size:var(--text-sm)}.proof-fullscreen-close{font-size:var(--text-xl)!important}.proof-fullscreen-img{max-width:90vw;max-height:75vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 40px #00000080;cursor:default}.proof-fullscreen-nav{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.proof-fs-counter{font-size:var(--text-sm);color:var(--text-secondary);min-width:60px;text-align:center}.proof-fs-prev,.proof-fs-next{cursor:pointer}@media(max-width:768px){.game-layout{flex-direction:column}.game-bar{padding:var(--space-sm) var(--space-md);gap:var(--space-sm);min-height:48px}.game-bar-left{gap:var(--space-sm);min-width:0;overflow:hidden}.game-bar-code{font-size:var(--text-sm);padding:4px 10px}.game-bar-right{gap:4px}.game-bar-right .btn{padding:6px 10px;font-size:var(--text-xs)}.game-sidebar{width:100%;height:40vh;min-height:240px;border-left:none;border-top:1px solid var(--border-subtle)}.game-main{padding:var(--space-md)}.sidebar-tab{padding:var(--space-sm);font-size:.65rem}.bingo-board{max-width:100%;padding:var(--space-sm)}.bingo-tile{min-height:50px;padding:3px 2px}.bingo-tile .tile-img{width:28px;height:28px}.bingo-tile .tile-name{font-size:.5em}.dice{width:54px;height:54px;font-size:1.8rem}.race-tile{min-height:50px}.race-tile .tile-img{width:26px;height:26px}.bingo-stats{gap:var(--space-lg)}.bingo-stat-value{font-size:var(--text-2xl)}.proof-fullscreen-overlay{padding:var(--space-sm)}.proof-fullscreen-img{max-width:96vw;max-height:70vh}.proof-fullscreen-header{max-width:96vw;font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm)}}@media(max-width:480px){.game-bar{flex-wrap:wrap;padding:var(--space-xs) var(--space-sm)}.game-sidebar{height:35vh;min-height:200px}.game-main{padding:var(--space-sm)}.bingo-tile{min-height:42px;padding:2px 1px}.bingo-tile .tile-img{width:22px;height:22px}.bingo-tile .tile-name{font-size:.45em}.proof-preview-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.proof-upload-zone{padding:var(--space-lg) var(--space-md)}.proof-upload-icon{font-size:2rem}}.badge-territory{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff}.territory-game{display:grid;grid-template-columns:1fr 320px;gap:var(--space-lg);height:100%;min-height:600px}.territory-map-container{position:relative;background:linear-gradient(135deg,#0f172af2,#1e293be6,#0f172af2);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;min-height:500px;aspect-ratio:4/3}.territory-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.territory-connection{stroke:#94a3b833;stroke-width:.3;stroke-dasharray:1 .5}.territory-connection.attack-path{stroke:#ef444473;stroke-width:.6;stroke-dasharray:none;animation:attackPathPulse 2s ease-in-out infinite}@keyframes attackPathPulse{0%,to{stroke-opacity:.3}50%{stroke-opacity:.7}}.territory-nodes{position:absolute;inset:0;z-index:2}.territory-node{position:absolute;transform:translate(-50%,-50%);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .2s ease,filter .2s ease;z-index:2}.territory-node:hover{transform:translate(-50%,-50%) scale(1.2);z-index:10;filter:brightness(1.3)}.territory-node.selected{transform:translate(-50%,-50%) scale(1.3);z-index:11}.territory-node.selected .territory-dot{animation:territoryPulse 1.5s ease-in-out infinite;border:2px solid white}.territory-node.attackable .territory-dot{border-color:#ef4444b3;animation:attackableGlow 1.8s ease-in-out infinite}.territory-node.attackable .territory-name{color:#fca5a5;text-shadow:0 0 6px rgba(239,68,68,.5)}@keyframes attackableGlow{0%,to{box-shadow:0 0 8px 3px #ef444466,0 0 16px 5px #ef444426;transform:scale(1)}50%{box-shadow:0 0 14px 6px #ef44448c,0 0 28px 10px #ef444433;transform:scale(1.12)}}.territory-node.mine .territory-dot{border:2px solid rgba(255,255,255,.5);box-shadow:0 0 8px 2px #ffffff26}.territory-dot{width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.15);transition:all .3s ease}.territory-name{font-size:9px;font-weight:600;color:var(--text-primary);text-shadow:0 1px 4px rgba(0,0,0,.8),0 0 8px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none;max-width:80px;text-align:center;overflow:hidden;text-overflow:ellipsis}.territory-defense{font-size:10px;pointer-events:none}@keyframes territoryPulse{0%,to{box-shadow:0 0 12px var(--owner-color)}50%{box-shadow:0 0 28px var(--owner-color),0 0 48px var(--owner-color)}}.territory-map-container[data-size=medium]{min-height:560px}.territory-map-container[data-size=medium] .territory-dot{width:22px;height:22px}.territory-map-container[data-size=medium] .territory-name{font-size:8px;max-width:68px}.territory-map-container[data-size=medium] .territory-connection{stroke-width:.25}.territory-map-container[data-size=large]{min-height:640px}.territory-map-container[data-size=large] .territory-dot{width:16px;height:16px;border-width:1.5px}.territory-map-container[data-size=large] .territory-name{font-size:7px;max-width:56px}.territory-map-container[data-size=large] .territory-defense{font-size:8px}.territory-map-container[data-size=large] .territory-connection{stroke-width:.2}.territory-sidebar{display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;max-height:100%}.territory-detail-panel{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.territory-detail-panel.empty{text-align:center;color:var(--text-muted);padding:var(--space-2xl)}.territory-detail-panel h4{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.territory-region-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#fff;margin-bottom:var(--space-md)}.territory-detail-info{display:flex;flex-direction:column;gap:var(--space-sm)}.detail-row{display:flex;justify-content:space-between;font-size:var(--text-sm)}.detail-row span:first-child{color:var(--text-secondary)}.territory-drop{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}.drop-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.drop-info{display:flex;align-items:center;gap:var(--space-sm);margin-top:6px}.drop-img{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.territory-actions{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.territory-attack-btn{animation:attackGlow 1.5s ease-in-out infinite}@keyframes attackGlow{0%,to{box-shadow:0 0 10px #ef44444d}50%{box-shadow:0 0 30px #ef444499,0 0 60px #ef444433}}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1px solid rgba(239,68,68,.4)}.btn-danger:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 4px 20px #ef44444d}.battle-result{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);text-align:center}.battle-result.captured{border-color:#ef444480;background:linear-gradient(135deg,rgba(239,68,68,.1),var(--surface-elevated))}.battle-result.defended{border-color:#22c55e80;background:linear-gradient(135deg,rgba(34,197,94,.1),var(--surface-elevated))}.battle-title{font-size:var(--text-lg);font-weight:700;margin-bottom:4px}.battle-detail{font-size:var(--text-sm);color:var(--text-secondary);display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:4px}.battle-attacker{color:#ef4444;font-weight:600}.battle-defender{color:#22c55e;font-weight:600}.battle-territory{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-sm)}.battle-dice{display:flex;justify-content:center;gap:var(--space-lg)}.battle-dice-group{display:flex;align-items:center;gap:4px;font-size:var(--text-sm);color:var(--text-secondary)}.battle-die{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:700;font-size:var(--text-sm)}.battle-plus{color:var(--text-muted);font-size:var(--text-xs);margin:0 2px}.battle-total{font-weight:800;font-size:var(--text-lg);margin-left:6px;color:var(--text-primary)}.territory-scoreboard{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.territory-scoreboard h4{font-size:var(--text-md);margin-bottom:var(--space-xs)}.win-condition-text{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:2px}.scoring-info{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-sm)}.territory-timer{background:#1e293bcc;border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;margin-bottom:var(--space-md);font-size:var(--text-md);font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:6px}.territory-timer .timer-icon{font-size:16px}.territory-timer .timer-urgent{color:#f59e0b;animation:timerPulse 1s ease-in-out infinite}.territory-timer.urgent{border-color:#f59e0b66;background:#f59e0b14}.territory-timer.expired{border-color:#ef444466;background:#ef44441a}.territory-timer .timer-expired{color:#ef4444;font-weight:700}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.6}}.region-bonus-pts{font-size:10px;color:#22c55e;font-weight:600;margin-left:4px}.territory-score-row{display:grid;grid-template-columns:12px 1fr auto;gap:var(--space-sm);align-items:center;padding:4px 0}.territory-score-row .score-bar{grid-column:1 / -1;height:4px;background:var(--surface);border-radius:var(--radius-full);overflow:hidden}.score-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .5s ease}.score-color{width:10px;height:10px;border-radius:50%}.score-name{font-size:var(--text-sm);font-weight:500}.score-count{font-size:var(--text-xs);color:var(--text-secondary)}.territory-regions-panel{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.territory-regions-panel h4{font-size:var(--text-md);margin-bottom:var(--space-sm)}.region-bonus-row{display:flex;align-items:center;gap:var(--space-sm);padding:6px 8px;font-size:var(--text-sm);border-radius:var(--radius-md);transition:background .2s}.region-bonus-row:hover{background:#ffffff0d}.region-bonus-row.active{background:#ffffff14;outline:1px solid rgba(255,255,255,.15)}.region-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.btn-region-edit{background:none;border:none;padding:2px 4px;font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s;flex-shrink:0}.region-bonus-row:hover .btn-region-edit{opacity:.7}.btn-region-edit:hover{opacity:1!important}.region-owner{margin-left:auto;flex-shrink:0}.region-owner{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted)}.territory-map-container[data-highlight-region] .territory-node{opacity:.2;transition:opacity .3s,filter .3s}.territory-map-container[data-highlight-region] .territory-node.region-glow{opacity:1;filter:brightness(1.3);z-index:10}.territory-map-container[data-highlight-region] .territory-node.region-glow .territory-dot{animation:regionHighlight 1.2s ease-in-out infinite}@keyframes regionHighlight{0%,to{box-shadow:0 0 12px var(--owner-color),0 0 4px #ffffff4d}50%{box-shadow:0 0 24px var(--owner-color),0 0 10px #ffffff80}}.territory-map-container[data-highlight-region] .territory-connection{opacity:.08;transition:opacity .3s}@media(max-width:768px){.territory-game{grid-template-columns:1fr}.territory-map-container{min-height:280px;aspect-ratio:auto}.territory-node .territory-name{font-size:7px}.territory-dot{width:20px;height:20px}.territory-map-container[data-size=large]{min-height:350px}.territory-map-container[data-size=large] .territory-dot{width:13px;height:13px}.territory-map-container[data-size=large] .territory-name{font-size:6px}}@media(max-width:480px){.territory-map-container{min-height:220px}.territory-dot{width:16px;height:16px}.territory-node .territory-name{font-size:5.5px}.territory-map-container[data-size=large]{min-height:280px}.territory-map-container[data-size=large] .territory-dot{width:11px;height:11px}.territory-map-container[data-size=large] .territory-name{font-size:5px}}.territory-waiting{display:flex;align-items:center;justify-content:center;min-height:400px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes tileMark{0%{transform:scale(1)}25%{transform:scale(.88)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes confettiDrop{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes toastSlideIn{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.92)}to{transform:scale(1);opacity:1}}@keyframes tokenMove{0%{transform:scale(1)}40%{transform:scale(1.6)}to{transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #4d8eff1a}50%{box-shadow:0 0 40px #4d8eff4d,0 0 80px #4d8eff1a}}.animate-fadeIn{animation:fadeIn var(--transition-base) both}.animate-fadeInUp{animation:fadeInUp .4s ease both}.animate-fadeInDown{animation:fadeInDown .4s ease both}.animate-scaleIn{animation:scaleIn .35s cubic-bezier(.16,1,.3,1) both}.animate-pop{animation:pop .35s ease both}.animate-shake{animation:shake .5s ease both}.animate-pulse{animation:pulse 1.5s ease infinite}.animate-bounceIn{animation:bounceIn .6s cubic-bezier(.16,1,.3,1) both}.animate-glowPulse{animation:glowPulse 3s ease-in-out infinite}.stagger-children>*{opacity:0;animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) both}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.12s}.stagger-children>*:nth-child(3){animation-delay:.19s}.stagger-children>*:nth-child(4){animation-delay:.26s}.stagger-children>*:nth-child(5){animation-delay:.33s}.stagger-children>*:nth-child(6){animation-delay:.4s}.toast-container{position:fixed;top:var(--space-xl);right:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm);z-index:var(--z-toast);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;background:#141430f2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-default);box-shadow:0 8px 32px #00000080;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1) both;pointer-events:auto;min-width:220px;max-width:420px}.toast.removing{animation:toastSlideOut .3s ease both}.toast-success{border-color:var(--success);background:#30e8701a;color:var(--success);box-shadow:0 8px 32px #0006,0 0 16px #30e8701a}.toast-error{border-color:var(--danger);background:#ff44661a;color:var(--danger);box-shadow:0 8px 32px #0006,0 0 16px #ff44661a}.toast-info{border-color:var(--info);background:#20d4f01a;color:var(--info);box-shadow:0 8px 32px #0006,0 0 16px #20d4f01a}.toast-warning{border-color:var(--warning);background:#ffb0201a;color:var(--warning);box-shadow:0 8px 32px #0006,0 0 16px #ffb0201a}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .25s ease both;padding:var(--space-xl)}.modal-overlay.removing{animation:fadeIn .2s ease reverse both}.modal-box{background:#101028f7;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 24px 64px #0009,0 0 120px #4d8eff0f,inset 0 1px #ffffff0d;animation:scaleIn .3s cubic-bezier(.16,1,.3,1) both}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.modal-header h3{font-size:var(--text-2xl);font-weight:700}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);font-size:var(--text-xl);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:var(--space-md)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl)}@media(max-width:600px){.modal-overlay{padding:0;align-items:flex-end}.modal-box{max-width:100%;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-lg);animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1) both}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{margin-bottom:var(--space-md)}.modal-header h3{font-size:var(--text-xl)}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.modal-wide{max-width:680px}.fb-viewer-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.fb-count{font-size:.8rem;color:var(--text-muted);font-weight:600}.fb-list{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto}.fb-entry{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px 40px 14px 14px}.fb-entry-header{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.fb-type-badge{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:4px;border:1px solid;opacity:.9}.fb-meta{font-size:.65rem;color:var(--text-muted)}.fb-message{font-size:.82rem;color:var(--text-secondary);line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.fb-delete{position:absolute;top:12px;right:10px;background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.3;transition:opacity .2s;padding:4px}.fb-delete:hover{opacity:1}.confetti-container{position:fixed;inset:0;pointer-events:none;z-index:var(--z-toast);overflow:hidden}.confetti-piece{position:absolute;width:12px;height:12px;top:-12px;animation:confettiDrop 3s linear forwards}.monopoly-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-md);width:100%}.monopoly-board{--board-size: min(88vw, 800px);--side-count: 9;--corner-size: calc(var(--board-size) * .1);--space-size: calc((var(--board-size) - 2 * var(--corner-size)) / var(--side-count));width:var(--board-size);height:var(--board-size);display:grid;grid-template-columns:var(--corner-size) repeat(var(--side-count),var(--space-size)) var(--corner-size);grid-template-rows:var(--corner-size) repeat(var(--side-count),var(--space-size)) var(--corner-size);background:linear-gradient(155deg,#0c0c1ed9,#080818eb);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:0 0 60px #00000080,0 0 120px #4d8eff0d;position:relative;overflow:hidden}.mono-space{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;cursor:pointer;transition:all .2s ease;padding:2px;text-align:center}.mono-space:hover{z-index:5;border-color:#4d8eff66;box-shadow:0 0 12px #4d8eff26}.mono-space.selected{z-index:6;border-color:#4d8effb3;box-shadow:0 0 20px #4d8eff4d}.mono-space.corner{font-size:.65em;font-weight:700;background:linear-gradient(135deg,#1c1c3ce6,#141430f2)}.mono-color-strip{position:absolute;z-index:1}.mono-space[data-side=bottom] .mono-color-strip{top:0;left:0;right:0;height:6px}.mono-space[data-side=left] .mono-color-strip{top:0;right:0;bottom:0;width:6px}.mono-space[data-side=top] .mono-color-strip{bottom:0;left:0;right:0;height:6px}.mono-space[data-side=right] .mono-color-strip{top:0;left:0;bottom:0;width:6px}.mono-space-name{font-size:.48em;font-weight:600;line-height:1.15;color:var(--text-secondary);z-index:2;word-break:break-word;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mono-space-price{font-size:.4em;color:var(--text-muted);font-weight:700;z-index:2;margin-top:1px}.mono-space-icon{font-size:1em;z-index:2;line-height:1}.mono-buildings{display:flex;gap:1px;position:absolute;z-index:3}.mono-space[data-side=bottom] .mono-buildings{top:7px;left:2px}.mono-space[data-side=left] .mono-buildings{top:2px;right:7px;flex-direction:column}.mono-space[data-side=top] .mono-buildings{bottom:7px;left:2px}.mono-space[data-side=right] .mono-buildings{top:2px;left:7px;flex-direction:column}.mono-house{width:6px;height:6px;background:#4ade80;border-radius:1px;box-shadow:0 0 4px #4ade8066}.mono-hotel{width:8px;height:8px;background:#f43f5e;border-radius:2px;box-shadow:0 0 6px #f43f5e80}.mono-tokens{display:flex;flex-wrap:wrap;gap:2px;position:absolute;bottom:3px;right:3px;z-index:4}.mono-token{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.7);box-shadow:0 1px 6px #0009,0 0 8px currentColor}.mono-anim-token{position:absolute;width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 16px #ffffffb3,0 0 30px var(--token-glow, #4d8eff);z-index:100;transition:left .15s cubic-bezier(.25,.46,.45,.94),top .15s cubic-bezier(.25,.46,.45,.94);pointer-events:none}.mono-step-highlight{background:#ffd7001f!important;box-shadow:inset 0 0 12px #ffd70033!important}.mono-space.owned{box-shadow:inset 0 0 8px #ffffff0d}.mono-space.mortgaged{opacity:.5}.mono-space.mortgaged .mono-space-name{text-decoration:line-through}.mono-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg);position:relative;z-index:1}.mono-center-title{font-size:1.4rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,gold,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mono-deadline-timer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:4px 12px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.mono-deadline-timer .timer-icon{font-size:1rem}.mono-deadline-timer .timer-urgent{color:#f44;animation:timerPulse 1s ease-in-out infinite}.mono-deadline-timer.expired{color:#f44;border-color:#ff44444d;background:#ff444414}.mono-deadline-timer .timer-expired{font-weight:700}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}.mono-pending-choice{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);background:rgba(var(--accent-rgb, 99,102,241),.12);border:1px solid rgba(var(--accent-rgb, 99,102,241),.3);width:100%}.mono-pending-label{font-size:var(--text-sm);text-align:center;color:var(--text)}.mono-pending-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.mono-passes-info{font-size:var(--text-xs);color:var(--text-muted);text-align:center;padding:4px 10px;border-radius:var(--radius-sm);background:#ffffff0a;width:100%}.mono-passes-info span{opacity:.6}.mono-passes-info.mono-passes-empty{color:var(--danger);background:#ef44441a}.mono-dice-area{display:flex;align-items:center;gap:var(--space-lg)}.mono-dice{width:60px;height:60px;background:linear-gradient(145deg,#f0f0f0,#d4d4d4);border:2px solid rgba(0,0,0,.15);border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:8px;gap:2px;box-shadow:0 4px 12px #0000004d,inset 0 1px #fff9;transition:transform .15s ease}.mono-dice.rolling{animation:diceRoll .12s infinite}@keyframes diceRoll{0%{transform:rotate(0) scale(1)}20%{transform:rotate(-12deg) scale(1.08)}40%{transform:rotate(8deg) scale(.95)}60%{transform:rotate(-6deg) scale(1.05)}80%{transform:rotate(10deg) scale(.97)}to{transform:rotate(0) scale(1)}}.die-cell{display:flex;align-items:center;justify-content:center}.die-dot{border-radius:50%;background:#1a1a2e;width:10px;height:10px;box-shadow:inset 0 1px 2px #0006}.die-placeholder{grid-column:1 / -1;grid-row:1 / -1;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#666;font-weight:700}.mono-player-status{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--text-sm)}.mono-money{font-size:1.3rem;font-weight:800;color:gold}.mono-status-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.mono-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:380px}.mono-actions .btn{font-size:var(--text-xs);padding:5px 10px}.mono-trade-notif{position:fixed;bottom:24px;right:24px;z-index:100;background:linear-gradient(135deg,var(--accent),#e09100);color:#000;font-weight:700;font-size:var(--text-sm);border:none;border-radius:999px;padding:10px 20px;cursor:pointer;box-shadow:0 4px 20px #ffb02066;animation:trade-pulse 2s ease-in-out infinite}.mono-trade-notif:hover{transform:scale(1.05)}@keyframes trade-pulse{0%,to{box-shadow:0 4px 20px #ffb02066}50%{box-shadow:0 4px 30px #ffb020b3}}.mono-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:var(--space-md)}.mono-detail-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:var(--text-sm)}.mono-detail-row span:first-child{color:var(--text-muted)}.mono-detail-actions{display:flex;gap:8px;margin-top:var(--space-md);flex-wrap:wrap}.mono-drop-info{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding:8px 12px;background:#0003;border-radius:var(--radius-sm)}.mono-drop-info img{width:36px;height:36px;object-fit:contain;border-radius:var(--radius-sm)}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.trade-column h5{margin-bottom:var(--space-sm);color:var(--text-secondary)}.trade-property-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.trade-property-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#0003;border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;transition:background .15s}.trade-property-item:hover{background:#4d8eff1a}.trade-property-item.selected{background:#4d8eff33;border:1px solid rgba(77,142,255,.3)}.trade-property-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.mono-card-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9998;background:linear-gradient(155deg,#161632fa,#0e0e26fc);border:2px solid rgba(255,176,32,.4);border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-xxl);max-width:400px;text-align:center;box-shadow:0 20px 80px #000000b3,0 0 40px #ffb0201a;animation:cardSlideIn .3s ease}.mono-card-popup h4{color:var(--accent);margin-bottom:var(--space-md)}.mono-card-popup p{font-size:var(--text-md);line-height:1.6;margin-bottom:var(--space-lg)}@keyframes cardSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:768px){.monopoly-wrapper{padding:var(--space-sm)}.monopoly-board{--board-size: 96vw}.mono-space-name{font-size:.38em}.mono-space-price{font-size:.32em}.mono-space-icon{font-size:.8em}.mono-center-title{font-size:1rem}.mono-dice{width:46px;height:46px;padding:6px}.die-dot{width:7px;height:7px}.mono-money{font-size:1rem}.mono-token{width:12px;height:12px}.mono-center{padding:var(--space-sm);gap:var(--space-sm)}.mono-dice-area{gap:var(--space-sm)}.mono-actions{max-width:100%}.mono-actions .btn{font-size:.6rem;padding:4px 8px}.mono-pending-choice{padding:6px 8px;gap:6px}.mono-pending-label{font-size:var(--text-xs)}.mono-pending-buttons .btn{font-size:var(--text-xs);padding:6px 10px;min-height:36px}.mono-passes-info{font-size:.65rem}.mono-deadline-timer{font-size:.75rem;padding:3px 8px}.mono-player-status{font-size:var(--text-xs)}.mono-trade-notif{bottom:16px;right:16px;font-size:var(--text-xs);padding:8px 14px}.mono-detail-grid,.trade-columns{grid-template-columns:1fr}}@media(max-width:480px){.monopoly-board{--board-size: 99vw}.mono-space-name{font-size:.32em}.mono-space-price{font-size:.26em}.mono-space-icon{font-size:.65em}.mono-space.corner{font-size:.5em}.mono-center-title{font-size:.75rem}.mono-dice{width:36px;height:36px;padding:4px;border-radius:6px}.die-dot{width:5px;height:5px}.mono-money{font-size:.85rem}.mono-token{width:10px;height:10px;border-width:1px}.mono-anim-token{width:16px;height:16px;border-width:2px}.mono-color-strip{height:4px!important;width:4px!important}.mono-house{width:4px;height:4px}.mono-hotel{width:6px;height:6px}.mono-pending-buttons{flex-direction:column;width:100%}.mono-pending-buttons .btn{width:100%}}.badge-monopoly{background:linear-gradient(135deg,gold,#ff8c00);color:#000;font-weight:700}
