:root,[data-theme=purple-dark]{--palette-purple-50:#faf5ff;--palette-purple-100:#f3e8ff;--palette-purple-200:#e9d5ff;--palette-purple-300:#d8b4fe;--palette-purple-400:#c084fc;--palette-purple-500:#a855f7;--palette-purple-600:#9333ea;--palette-purple-700:#7e22ce;--palette-purple-800:#6b21a8;--palette-purple-900:#581c87;--palette-purple-950:#3b0764;--palette-slate-50:#f8fafc;--palette-slate-100:#f1f5f9;--palette-slate-200:#e2e8f0;--palette-slate-300:#cbd5e1;--palette-slate-400:#94a3b8;--palette-slate-500:#64748b;--palette-slate-600:#475569;--palette-slate-700:#334155;--palette-slate-800:#1e293b;--palette-slate-900:#0f172a;--bg-canvas:#0e0c19;--bg-canvas-subtle:#141026;--bg-surface:#171329d6;--bg-surface-elevated:#1e1936e0;--bg-surface-card:#171329db;--bg-surface-hover:#292246a6;--bg-surface-active:#342b59d9;--bg-surface-subtle:#ffffff08;--bg-input:#0a08148c;--bg-input-focus:#0a0814bf;--bg-pill:#ffffff12;--bg-pill-hover:#ffffff1f;--gradient-bg-canvas:radial-gradient(circle at 50% -20%, #251745 0%, #120e24 45%, #0a0814 100%);--gradient-primary:linear-gradient(160deg, #110d21 0%, #17112e 50%, #1d153a 100%);--gradient-secondary:linear-gradient(145deg, #231942 0%, #130f24 100%);--gradient-title:linear-gradient(135deg, #fff 0%, #ede9fe 25%, #d8b4fe 65%, #c084fc 100%);--gradient-accent-primary:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 50%, #6d28d9 100%);--gradient-accent-secondary:linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);--gradient-vote:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-pg13:linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);--gradient-18plus:linear-gradient(135deg, #f43f5e 0%, #fb7185 100%);--text-primary:#fbfbfe;--text-secondary:#dcd6f7;--text-tertiary:#aba3ce;--text-muted:#827b9f;--text-placeholder:#dcd6f77a;--text-disabled:#ffffff6b;--text-on-accent:#fff;--text-dark:#0f172a;--accent-primary:#8b5cf6;--accent-primary-hover:#9f75ff;--accent-primary-active:#7c3aed;--accent-primary-light:#c4b5fd;--accent-primary-start:#8b5cf6;--accent-primary-end:#6d28d9;--accent-secondary:#f43f5e;--accent-secondary-hover:#fb7185;--accent-secondary-start:#f43f5e;--accent-secondary-end:#e11d48;--color-success:#10b981;--color-success-bg:#10b98126;--color-warning:#f59e0b;--color-warning-bg:#f59e0b26;--color-error:#ef4444;--color-error-bg:#ef444426;--color-info:#38bdf8;--color-info-bg:#38bdf826;--border-glass:#ffffff1c;--border-glass-subtle:#ffffff12;--border-glass-hover:#d8b4fe47;--border-focus:#a855f7b3;--border-focus-ring:#a855f740;--shadow-sm:0 2px 6px #0000004d;--shadow-md:0 6px 16px #00000059;--shadow-lg:0 14px 34px #00000073;--shadow-card:0 20px 50px #00000080, 0 0 0 1px #ffffff0f;--shadow-button:0 4px 14px #7c3aed61;--shadow-button-hover:0 6px 20px #7c3aed80;--shadow-dark:#0006;--shadow-light:#ffffff0d;--glass-blur:blur(20px);--glass-blur-sm:blur(12px);--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.16, 1, .3, 1);--transition-normal:.25s cubic-bezier(.16, 1, .3, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--bg-primary:var(--bg-canvas);--bg-secondary:var(--bg-surface);--bg-tertiary:var(--bg-surface-elevated);--card-black:#141026;--card-white:#fbfbfe;--card-border-black:#292144;--card-border-white:#e2e8f0;--shadow-accent-primary:#8b5cf64d;--shadow-accent-primary-strong:#8b5cf680;--shadow-accent-secondary:#f43f5e4d;--glass-bg:#ffffff0a;--glass-bg-strong:#ffffff14;--glass-border:var(--border-glass);--glass-border-focus:var(--border-focus);--text-dimmed:var(--text-tertiary)}.app-title{text-align:center;letter-spacing:-.03em;background:var(--gradient-title);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:3rem;font-weight:800;line-height:1.15}.app-subtitle{text-align:center;color:var(--text-secondary);letter-spacing:-.01em;margin:6px 0 32px;font-size:1rem;font-weight:500}.glass-card{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);letter-spacing:-.01em;margin-bottom:7px;font-size:.88rem;font-weight:600;display:block}.room-input{background:var(--bg-input);border:1px solid var(--border-glass);width:100%;color:var(--text-primary);border-radius:var(--radius-md);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;padding:13px 15px;font-size:16px}.room-input::placeholder{color:var(--text-placeholder);font-size:.95rem}.room-input:focus{border-color:var(--accent-primary);background:var(--bg-input-focus);box-shadow:0 0 0 3px var(--border-focus-ring);outline:none}.btn-primary{background:var(--gradient-accent-primary);width:100%;color:var(--text-on-accent);border-radius:var(--radius-md);cursor:pointer;transition:filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-button);border:none;justify-content:center;align-items:center;padding:14px;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{color:var(--text-disabled);cursor:not-allowed;box-shadow:none;opacity:.8;background:#ffffff14;border:1px solid #ffffff14}.btn-secondary{width:100%;color:var(--text-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:12px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-glass-hover)}.danbox-spinner{border:3px solid #ffffff1f;border-top-color:var(--accent-primary-light);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite danboxSpin}@keyframes danboxSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glass-empty-state{text-align:center;background:var(--bg-surface-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-glass-subtle);padding:32px 20px}.glass-empty-state h3{color:var(--text-primary);margin:0 0 4px;font-size:1.05rem;font-weight:600}.glass-empty-state p{color:var(--text-tertiary);margin:0;font-size:.88rem}:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--container-pad-x:max(14px, calc(10px + var(--safe-area-left)));--container-pad-x-right:max(14px, calc(10px + var(--safe-area-right)));--container-pad-top:max(16px, calc(12px + var(--safe-area-top)));--container-pad-bottom:max(20px, calc(16px + var(--safe-area-bottom)))}*,:before,:after{box-sizing:border-box}html{background-color:var(--bg-canvas);-webkit-text-size-adjust:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-canvas);background-image:var(--gradient-bg-canvas);min-height:100dvh;color:var(--text-primary);background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;overflow-x:hidden}*{scrollbar-width:thin;scrollbar-color:#d8b4fe33 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d8b4fe33;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#d8b4fe59}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea,button{font-family:inherit}.error-message{background:var(--color-error-bg);color:#fca5a5;border-radius:var(--radius-md);text-align:center;border:1px solid #ef444459;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:.9rem;font-weight:500;display:flex}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.home-container{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.home-card{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);width:100%;max-width:580px;margin:auto 0;padding:clamp(20px,4vw,36px) clamp(16px,3.5vw,32px)}.rooms-section{flex-direction:column;gap:20px;display:flex}.rooms-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.rooms-header h2{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.rooms-content{flex-direction:column;justify-content:center;min-height:120px;display:flex}.create-button.main-action{background:var(--gradient-accent-primary);color:var(--text-on-accent);border-radius:var(--radius-md);cursor:pointer;transition:filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);width:100%;box-shadow:var(--shadow-button);border:none;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:15px 20px;font-size:1.05rem;font-weight:600;display:flex}.create-button.main-action:hover{filter:brightness(1.1);box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}.create-button.main-action:active{transform:translateY(0)}.connecting-message{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:24px 0;font-size:.95rem;display:flex}@keyframes homeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-rooms-message{text-align:center;background:var(--bg-surface-subtle);border-radius:var(--radius-lg);border:1px solid var(--border-glass-subtle);padding:32px 20px}.empty-state-icon{margin-bottom:10px;font-size:2.5rem;line-height:1}.no-rooms-message h3{color:var(--text-primary);margin:0 0 4px;font-size:1.05rem;font-weight:600}.no-rooms-message p{color:var(--text-secondary);margin:0;font-size:.88rem}.rooms-list{flex-direction:column;gap:10px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.room-item{background:var(--bg-surface-subtle);border:1px solid var(--border-glass-subtle);border-radius:var(--radius-md);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.room-item:hover{background:var(--bg-surface-hover);border-color:var(--border-glass-hover)}.room-info{flex:1;min-width:0}.room-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.98rem;font-weight:600;overflow:hidden}.room-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.room-code{background:var(--bg-input);border-radius:var(--radius-xs);color:var(--accent-primary-light);letter-spacing:.5px;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:600}.room-players{color:var(--text-secondary)}.room-locked{font-size:.85rem}.room-in-progress{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.room-item .join-button{background:var(--bg-pill);color:var(--text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;padding:8px 18px;font-size:.88rem;font-weight:600}.room-item .join-button:hover:not(:disabled){color:var(--text-dark);background:#fff;border-color:#fff}.room-item .join-button:disabled{opacity:.45;cursor:not-allowed}@media (width<=600px){.home-card{border-radius:var(--radius-lg);padding:20px 16px}.app-title{font-size:2.2rem}.app-subtitle{margin-bottom:20px;font-size:.9rem}.room-item{padding:10px 12px}}@media (width<=380px){.home-card{padding:16px 12px}.app-title{font-size:1.9rem}.create-button.main-action{padding:13px 16px;font-size:.95rem}}@media (orientation:landscape) and (height<=520px){.home-container{padding-top:max(10px, calc(8px + var(--safe-area-top)));padding-bottom:max(16px, calc(10px + var(--safe-area-bottom)));align-items:flex-start}.home-card{margin:0 auto;padding:16px 22px}.app-title{font-size:1.9rem}.app-subtitle{margin:2px 0 16px;font-size:.85rem}.rooms-content{min-height:80px}}.create-room-container{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.create-room-card{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);width:100%;max-width:480px;margin:auto 0;padding:clamp(20px,4vw,36px) clamp(16px,3.5vw,32px)}.create-room-form{margin-top:24px}.create-submit-button{background:var(--gradient-accent-primary);width:100%;color:var(--text-on-accent);border-radius:var(--radius-md);cursor:pointer;transition:filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-button);border:none;margin-top:8px;margin-bottom:12px;padding:14px;font-size:1rem;font-weight:600}.create-submit-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}.create-submit-button:active:not(:disabled){transform:translateY(0)}.create-submit-button:disabled{color:#ffffff7a;cursor:not-allowed;box-shadow:none;background:#ffffff12;border:1px solid #ffffff14}@media (width<=600px){.create-room-card{border-radius:var(--radius-lg);padding:20px 16px}.form-group{margin-bottom:16px}}@media (width<=380px){.create-room-card{padding:16px 12px}}@media (orientation:landscape) and (height<=520px){.create-room-container{padding-top:max(10px, calc(8px + var(--safe-area-top)));padding-bottom:max(16px, calc(10px + var(--safe-area-bottom)));align-items:flex-start}.create-room-card{margin:0 auto;padding:16px 20px}.create-room-form{margin-top:16px}}.join-room-container{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.join-room-card{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);width:100%;max-width:480px;margin:auto 0;padding:clamp(20px,4vw,36px) clamp(16px,3.5vw,32px)}.join-room-form{margin-top:24px}.join-submit-button{background:var(--gradient-accent-primary);width:100%;color:var(--text-on-accent);border-radius:var(--radius-md);cursor:pointer;transition:filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-button);border:none;margin-top:8px;margin-bottom:12px;padding:14px;font-size:1rem;font-weight:600}.join-submit-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}.join-submit-button:active:not(:disabled){transform:translateY(0)}.join-submit-button:disabled{color:#ffffff7a;cursor:not-allowed;box-shadow:none;background:#ffffff12;border:1px solid #ffffff14}.back-button{width:100%;color:var(--text-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:12px;font-size:.95rem;font-weight:600}.back-button:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-glass-hover)}@media (width<=600px){.join-room-card{border-radius:var(--radius-lg);padding:20px 16px}.form-group{margin-bottom:16px}}@media (width<=380px){.join-room-card{padding:16px 12px}}@media (orientation:landscape) and (height<=520px){.join-room-container{padding-top:max(10px, calc(8px + var(--safe-area-top)));padding-bottom:max(16px, calc(10px + var(--safe-area-bottom)));align-items:flex-start}.join-room-card{margin:0 auto;padding:16px 20px}.join-room-form{margin-top:16px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:2000;padding:max(16px, env(safe-area-inset-top,16px)) max(16px, env(safe-area-inset-right,16px)) max(16px, env(safe-area-inset-bottom,16px)) max(16px, env(safe-area-inset-left,16px));background:#08060fc7;justify-content:center;align-items:center;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:calc(100dvh - max(32px, calc(var(--safe-area-top) + var(--safe-area-bottom) + 16px)));-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-card);color:var(--text-primary);flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) modalScaleIn;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-glass-subtle);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.modal-close{background:var(--bg-pill);border:1px solid var(--border-glass);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--bg-surface-hover);border-color:var(--border-glass-hover)}.modal-body{color:var(--text-secondary);padding:22px;font-size:.98rem;line-height:1.6}.modal-footer{border-top:1px solid var(--border-glass-subtle);background:var(--bg-surface-subtle);justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.modal-btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:10px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.modal-btn-primary{background:var(--gradient-accent-primary);color:var(--text-on-accent);box-shadow:var(--shadow-button)}.modal-btn-primary:hover{filter:brightness(1.1);box-shadow:var(--shadow-button-hover)}.modal-btn-danger{background:var(--color-error);color:#fff}.modal-btn-danger:hover{background:#dc2626}.modal-btn-secondary{background:var(--bg-pill);color:var(--text-secondary);border:1px solid var(--border-glass)}.modal-btn-secondary:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-glass-hover)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (width<=600px){.modal-content{border-radius:var(--radius-lg)}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-footer{flex-direction:column-reverse}.modal-btn{width:100%;padding:12px}}@media (orientation:landscape) and (height<=520px){.modal-content{border-radius:var(--radius-lg);max-height:calc(100dvh - 16px)}.modal-header{padding:10px 16px}.modal-header h2{font-size:1.05rem}.modal-body{padding:12px 16px;font-size:.9rem;line-height:1.4}.modal-footer{padding:8px 16px}.modal-btn{padding:8px 14px;font-size:.85rem}}.swap-button{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);border:2px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);z-index:1000;padding:12px 24px;font-size:1rem;font-weight:600;position:fixed;top:20px;left:140px}.swap-button:hover{background:#ffffff4d;transform:scale(1.05)}.host-waiting{box-sizing:border-box;background:var(--bg-surface-subtle);border:1px solid var(--border-glass-subtle);border-radius:var(--radius-md);width:fit-content;max-width:100%;color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;margin:24px auto 0;padding:12px 18px;font-size:.95rem;font-style:normal;font-weight:400;line-height:1.5}.mode-button.hidden{background:linear-gradient(135deg,#7c3aed 0%,#5b21b6 100%);border-color:#a78bfa66}.mode-button.hidden .mode-title{color:#fff}.mode-button.hidden .mode-desc{color:#ede9fe}.mode-button.known{background:linear-gradient(135deg,#db2777 0%,#9d174d 100%);border-color:#f472b666}.mode-button.known .mode-title{color:#fff}.mode-button.known .mode-desc{color:#fce7f3}@media (width<=768px){.mode-content h1{font-size:2.5rem}.subtitle{margin-bottom:30px;font-size:1.1rem}.mode-buttons{gap:16px}.mode-button{width:200px;min-height:240px;padding:28px 20px}.mode-icon{font-size:3rem}.mode-title{font-size:1.6rem}.mode-desc{font-size:.95rem}}@media (width<=480px){.mode-content h1{font-size:2rem}.subtitle{font-size:1rem}.mode-button{width:100%;max-width:280px;min-height:180px;padding:24px 18px}.mode-icon{font-size:2.5rem}.mode-title{font-size:1.4rem}.mode-desc{font-size:.9rem}}.ready-to-start{justify-content:center;align-items:center;min-height:80vh;padding:20px;display:flex}.ready-content{text-align:center;width:100%;max-width:600px}.ready-content h1{color:#333;text-align:center;width:100%;margin-bottom:30px;margin-left:0;margin-right:0;font-size:2rem}.ready-card{background:var(--bg-surface-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:40px}.ready-card h2{color:var(--text-primary);margin-bottom:20px;font-size:2.5rem}.ready-message{color:var(--text-secondary);margin-bottom:30px;font-size:1.2rem;line-height:1.6}.admin-instruction{color:var(--text-tertiary);margin-bottom:20px;font-size:1rem}.start-round-button{background:var(--gradient-accent-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:50px;padding:18px 50px;font-size:1.3rem;font-weight:700;transition:all .3s;box-shadow:0 5px 15px #667eea66}.start-round-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea99}.start-round-button:active{transform:translateY(0)}.character-reveal{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.reveal-content{text-align:center;max-width:600px}.reveal-content h1{opacity:.9;margin-bottom:40px;font-size:2.5rem}.character-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:2px solid #ffffff40;border-radius:20px;margin-bottom:30px;padding:50px 40px;box-shadow:0 20px 60px #00000040}.character-card h2{opacity:.9;margin-bottom:30px;font-size:1.5rem}.character-name{text-shadow:0 4px 20px #0000004d;margin-bottom:20px;font-size:3.5rem;font-weight:800}.character-hint{opacity:.8;font-size:1.1rem;line-height:1.5}.countdown{opacity:.9;font-size:1.5rem;font-weight:600}.discussion{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.discussion-content{text-align:center;width:100%;max-width:580px;padding-top:40px}.discussion-content h1{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 28px;font-size:2.2rem;font-weight:800}.timer-display{margin-bottom:28px}.timer-circle{-webkit-backdrop-filter:blur(16px);background:#171b2ed9;border:2px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;margin:0 auto;display:flex;box-shadow:0 10px 30px #00000059}.timer-text{font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:-1px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:3.2rem;font-weight:700}.instructions{margin-bottom:24px}.instructions p{color:var(--text-secondary);margin:0;font-size:1.1rem}.vote-now-button{background:var(--gradient-vote);color:#1a1a2e;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:14px 32px;font-size:1.05rem;font-weight:700;box-shadow:0 4px 14px #f59e0b4d}.vote-now-button:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 20px #f59e0b73}.vote-now-button:active{transform:translateY(0)}.character-reminder{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);background:#171b2ebf;border:1px solid #ffffff14;margin-bottom:28px;padding:20px;box-shadow:0 8px 24px #0000004d}.toggle-character-button{color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff1f;margin-bottom:12px;padding:9px 18px;font-size:.88rem;font-weight:600}.toggle-character-button:hover{background:#ffffff24}.character-display{justify-content:center;align-items:center;min-height:40px;display:flex}.character-text{color:var(--text-primary);letter-spacing:-.01em;font-size:1.6rem;font-weight:700}.character-hidden{letter-spacing:6px;color:var(--text-dimmed);-webkit-user-select:none;user-select:none;font-size:1.5rem}@media (width<=600px){.discussion-content h1{margin-bottom:20px;font-size:1.8rem}.timer-circle{width:150px;height:150px}.timer-text{font-size:2.6rem}.character-reminder{padding:16px}.character-text{font-size:1.35rem}.vote-now-button{width:100%;padding:14px}}.voting{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.voting-content{text-align:center;width:100%;max-width:580px;padding-top:36px}.voting-content h1{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 24px;font-size:2.2rem;font-weight:800}.extratime-notice{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);background:#f59e0b1f;border:1px solid #f59e0b4d;margin-bottom:24px;padding:16px}.extratime-notice p{color:#fde68a;margin:0 0 8px;font-size:1rem;font-weight:500}.extratime-timer{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:1.8rem;font-weight:700}.vote-status{color:var(--text-secondary);margin-bottom:20px;font-size:1.05rem}.players-vote-list{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.vote-player-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#171b2ecc;border:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.vote-player-card:hover{background:#ffffff14;border-color:#fff3}.vote-player-card.selected{border-color:var(--color-success);background:#10b98126}.vote-player-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.vote-radio{width:24px;height:24px;color:var(--color-success);transition:all var(--transition-fast);border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.vote-player-card.selected .vote-radio{border-color:var(--color-success);background:#10b98133}.submit-vote-button{background:var(--color-success);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all var(--transition-fast);border:none;padding:15px;font-size:1.05rem;font-weight:700;box-shadow:0 4px 14px #10b9814d}.submit-vote-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.submit-vote-button:disabled{color:#ffffff4d;cursor:not-allowed;box-shadow:none;background:#ffffff0f}.waiting-votes{text-align:center}.voted-confirmation{color:var(--color-success);margin-bottom:12px;font-size:1.3rem;font-weight:700}.voted-players-list{flex-direction:column;align-items:center;gap:8px;display:flex}.voted-player{color:var(--text-tertiary);font-size:.95rem}@media (width<=600px){.voting-content h1{margin-bottom:16px;font-size:1.8rem}.vote-player-card{padding:12px 16px}.vote-player-name{font-size:1rem}}.round-results{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.results-content{text-align:center;width:100%;max-width:680px;padding-top:36px}.reveal-box{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);opacity:0;background:#171b2ed9;border:1px solid #ffffff1a;margin-bottom:24px;padding:32px 24px;transition:all .6s cubic-bezier(.16,1,.3,1);transform:scale(.96)translateY(10px);box-shadow:0 16px 40px #0006}.reveal-box.revealed{opacity:1;transform:scale(1)translateY(0)}.reveal-text{color:var(--text-secondary);margin:0 0 16px;font-size:1.3rem;font-weight:600}.reveal-name{letter-spacing:-.02em;font-size:2.6rem;font-weight:800}.reveal-name.voted-name{color:#fbbf24}.reveal-name.imposter-name{color:#f43f5e}.reveal-name .emoji{font-size:2.2rem;display:inline-block}.character-reveal-boxes{opacity:0;justify-content:center;gap:16px;margin-bottom:24px;transition:all .6s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(10px)}.character-reveal-boxes.revealed{opacity:1;transform:translateY(0)}.character-box{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-md);text-align:center;background:#171b2ed9;border:1px solid #ffffff1a;flex:1;min-width:160px;padding:18px 24px}.character-box.players-character{border-color:#38bdf880}.character-box.imposter-character{border-color:#f43f5e80}.character-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.85rem;font-weight:600}.character-name{font-size:1.4rem;font-weight:700}.character-box.players-character .character-name{color:#38bdf8}.character-box.imposter-character .character-name{color:#f43f5e}.round-leaderboard{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);opacity:0;background:#171b2ed9;border:1px solid #ffffff14;margin-bottom:24px;padding:24px 20px;transition:all .6s cubic-bezier(.16,1,.3,1);transform:translateY(10px)}.round-leaderboard.revealed{opacity:1;transform:translateY(0)}.round-leaderboard h2{color:var(--text-primary);margin:0 0 16px;font-size:1.25rem;font-weight:700}.leaderboard-list{flex-direction:column;gap:8px;display:flex}.leaderboard-item{border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.leaderboard-item.current-player{background:#6366f11f;border-color:#6366f166}.leaderboard-item .rank{color:var(--text-tertiary);text-align:left;min-width:36px;font-size:1rem;font-weight:700}.leaderboard-item .player-name{text-align:left;color:var(--text-primary);flex:1;font-size:1.02rem;font-weight:600}.leaderboard-item .score{color:#a5b4fc;text-align:right;min-width:80px;font-size:1.05rem;font-weight:700}.next-round-button{background:var(--color-success);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;padding:14px 36px;font-size:1.05rem;font-weight:700;box-shadow:0 4px 14px #10b9814d}.next-round-button:hover{filter:brightness(1.08);transform:translateY(-1px)}@media (width<=600px){.results-content{padding-top:24px}.reveal-box{padding:24px 16px}.reveal-name{font-size:2rem}.character-reveal-boxes{flex-direction:column;gap:10px}.character-box{padding:14px 18px}.character-name{font-size:1.2rem}.next-round-button{width:100%;padding:14px}}.waiting-final-results{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.waiting-content{text-align:center;width:100%;max-width:600px}.result-announcement{border-radius:15px;margin-bottom:40px;padding:30px;animation:.5s ease-in fadeIn}.result-announcement h1{margin:0 0 20px;font-size:3rem;animation:.6s ease-out bounceIn}.imposter-won{color:var(--text-primary);background:linear-gradient(135deg,#ff416c,#ff4b2b)}.players-won{color:var(--text-primary);background:linear-gradient(135deg,#4facfe,#00f2fe)}.imposter-reveal{opacity:.95;margin:0;font-size:1.5rem}.game-complete-message{background:var(--glass-bg);border:2px solid #fff3;border-radius:12px;margin:30px 0;padding:25px}.game-complete-message h2{color:#fff;margin:0 0 10px;font-size:2rem}.game-complete-message p{color:#ffffffe6;margin:0;font-size:1.2rem}.show-final-results-button{color:var(--text-primary);cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;margin-top:30px;padding:18px 45px;font-size:1.4rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #667eea66}.show-final-results-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.show-final-results-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.final-results{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.podium-place{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#ffffff2e;border:2px solid #fff3;border-radius:20px;width:250px;padding:30px 25px;transition:all .8s;transform:translateY(50px);box-shadow:0 20px 60px #00000040}.podium-place.current-player{border:3px solid #fbbf24;box-shadow:0 0 30px #fbbf2466}@media (width<=768px){.final-results{padding:20px 15px}.game-over{margin-bottom:30px;font-size:2.5rem}.podium{gap:10px;min-height:300px;padding:0 5px}.podium-place{width:110px;padding:15px 10px}.podium-place.first{height:280px}.podium-place.second{height:230px}.podium-place.third{height:190px}.place-medal{margin-bottom:10px;font-size:2.5rem}.place-name{margin-bottom:8px;font-size:1rem}.place-score{margin-bottom:8px;font-size:1.2rem}.place-rank{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.85rem}}@media (width<=400px){.game-over{margin-bottom:20px;font-size:2rem}.podium{gap:8px;min-height:250px}.podium-place{width:95px;padding:12px 8px}.podium-place.first{height:240px}.podium-place.second{height:200px}.podium-place.third{height:170px}.place-medal{margin-bottom:8px;font-size:2rem}.place-name{margin-bottom:6px;font-size:.9rem}.place-score{margin-bottom:6px;font-size:1rem}.place-rank{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.75rem}}.other-player-item.current-player{background:linear-gradient(135deg,#fbbf244d 0%,#f59e0b4d 100%);border:2px solid #fbbf24;box-shadow:0 0 20px #fbbf244d}.imposter-game{min-height:100vh;color:var(--text-primary)}.drawing-canvas-container{padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);flex-direction:column;align-items:center;gap:14px;width:100%;min-height:100dvh;display:flex}.drawing-header{text-align:center;justify-content:space-between;align-items:center;width:100%;max-width:400px;display:flex}.drawing-header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.word-prompt{color:#fbbf24;font-weight:800}.timer-badge{font-variant-numeric:tabular-nums;color:var(--text-primary);background:#171b2ed9;border:1px solid #ffffff1f;border-radius:9999px;padding:6px 14px;font-size:1rem;font-weight:700}.canvas-wrapper{border-radius:var(--radius-md);box-sizing:border-box;background:#fff;max-width:100%;padding:8px;box-shadow:0 10px 30px #0006}.drawing-canvas{border-radius:var(--radius-sm);cursor:crosshair;touch-action:none;border:1px solid #e2e8f0;max-width:100%;height:auto;display:block}.drawing-controls{gap:10px;width:100%;max-width:400px;display:flex}.drawing-controls button{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:13px 16px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--gradient-accent-primary);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:disabled{color:#ffffff4d;cursor:not-allowed;background:#ffffff14}.btn-secondary{color:var(--text-secondary);background:#ffffff14;border:1px solid #ffffff1f}.btn-secondary:hover{color:var(--text-primary);background:#ffffff24}@media (orientation:landscape) and (height<=520px){.drawing-canvas-container{padding-top:max(8px, calc(6px + var(--safe-area-top)));padding-bottom:max(10px, calc(6px + var(--safe-area-bottom)));gap:8px}.drawing-header{margin-bottom:0}.canvas-wrapper{padding:4px}.drawing-canvas{aspect-ratio:1;width:auto;max-height:min(58vh,320px)}.drawing-controls{gap:8px}.drawing-controls button{padding:8px 12px;font-size:.85rem}}.guessing-phase{flex-direction:column;align-items:center;gap:20px;min-height:100vh;padding:20px;display:flex}.guessing-header{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:20px;display:flex}.guessing-header h2{color:var(--text-primary);margin:0;font-size:1.5rem}.guessing-header .timer-badge{background:var(--glass-bg-strong);border-radius:var(--radius-lg);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 20px;font-size:1.2rem;font-weight:700}.artist-name{color:gold;font-weight:700}.artist-message{color:#fffc;margin:10px 0 0;font-size:1rem}.guess-options{grid-template-columns:repeat(2,1fr);gap:15px;width:100%;max-width:600px;display:grid}.guess-option{cursor:pointer;background:#fff;border:3px solid #0000;border-radius:12px;padding:10px;transition:all .3s;position:relative}.guess-option:not(.disabled):hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.guess-option.selected{border-color:#667eea;box-shadow:0 0 20px #667eea80}.guess-option.disabled{cursor:not-allowed;opacity:.7}.guess-option img{filter:blur(.8px);image-rendering:auto;border-radius:8px;width:100%;height:auto;display:block}.option-number{color:var(--text-primary);background:#000000b3;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;font-weight:700;display:flex;position:absolute;top:15px;left:15px}.selected-badge{color:var(--text-primary);background:#667eea;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:1.5rem;font-weight:700;display:flex;position:absolute;top:15px;right:15px}.submit-guess-btn{background:var(--gradient-accent-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:15px 40px;font-size:1.1rem;font-weight:700;transition:all .3s}.submit-guess-btn:disabled{cursor:not-allowed;opacity:.5;background:#ccc}.submit-guess-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.waiting-message{flex-direction:column;align-items:center;gap:15px;margin-top:20px;display:flex}.waiting-message p{color:var(--text-primary);margin:0;font-size:1.1rem}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=600px){.guess-options{grid-template-columns:1fr;max-width:400px}.guessing-header h2{font-size:1.2rem}}.waiting-for-players{flex-direction:column;justify-content:center;align-items:center;gap:30px;min-height:100vh;padding:20px;display:flex}.spinner-large{border:5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:60px;height:60px;animation:1s linear infinite spin}.waiting-text{color:#fff;text-align:center;margin:0;font-size:1.3rem}.all-drawings-review{background:var(--gradient-accent-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;align-items:center;padding:20px;display:flex}.all-drawings-review h2{text-align:center;text-shadow:2px 2px 4px #0000004d;margin-bottom:20px;font-size:2rem}.drawings-scroll-container{width:100%;max-width:600px;margin-bottom:20px;padding:10px;overflow-y:auto}.drawing-review-item{background:#fff;border-radius:15px;margin-bottom:20px;padding:15px;position:relative;box-shadow:0 4px 6px #0000001a}.drawing-header{margin-bottom:10px;position:relative}.drawing-header h3{color:#333;margin:0;font-size:1.3rem;font-weight:600}.correct-guessers{color:var(--text-primary);border-radius:var(--radius-lg);z-index:10;text-align:center;background:#4caf50e6;max-width:200px;padding:8px 15px;font-size:.9rem;font-weight:600;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #0003}.drawing-image-container{background:#f5f5f5;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:200px;display:flex;position:relative;overflow:visible}.drawing-image{filter:blur(.8px);image-rendering:auto;border-radius:10px;max-width:100%;height:auto;display:block}.no-drawing{color:#999;padding:40px;font-style:italic}.continue-btn{background:var(--gradient-accent-secondary);color:var(--text-primary);border-radius:var(--radius-xl);cursor:pointer;border:none;margin-top:10px;padding:15px 40px;font-size:1.2rem;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #0003}.continue-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.continue-btn:active{transform:translateY(0)}.round-results{flex-direction:column;align-items:center;gap:30px;min-height:100vh;padding:40px 20px;display:flex}.results-title{color:var(--text-primary);text-align:center;text-shadow:0 2px 10px #0000004d;margin:0;font-size:2.5rem}.scoreboard{background:var(--glass-bg);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:500px;padding:30px}.scoreboard h3{color:var(--text-primary);text-align:center;margin:0 0 20px;font-size:1.5rem}.scores-list{flex-direction:column;gap:12px;display:flex}.score-item{background:#ffffff1a;border-radius:12px;align-items:center;gap:15px;padding:15px 20px;transition:all .3s;display:flex}.score-item:hover{background:#ffffff26;transform:translate(5px)}.score-item.rank-1{color:var(--text-dark);background:linear-gradient(135deg,gold 0%,#ffed4e 100%);font-weight:700}.score-item.rank-2{color:var(--text-dark);background:linear-gradient(135deg,silver 0%,#e8e8e8 100%)}.score-item.rank-3{color:var(--text-dark);background:linear-gradient(135deg,#cd7f32 0%,#e6a65d 100%)}.score-rank{min-width:40px;font-size:1.2rem;font-weight:700}.score-name{flex:1;font-size:1.1rem}.score-points{font-size:1.2rem;font-weight:700}.next-round-btn{border-radius:var(--radius-md);background:var(--gradient-accent-primary);color:var(--text-primary);cursor:pointer;transition:var(--transition-normal);box-shadow:0 4px 15px var(--shadow-dark);border:none;padding:18px 50px;font-size:1.2rem;font-weight:700}.next-round-btn:hover{box-shadow:0 6px 20px var(--shadow-accent-primary);transform:translateY(-3px)}@media (width<=600px){.results-title{font-size:2rem}.scoreboard{padding:20px}.score-item{padding:12px 15px}}.final-results{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.final-results-content{text-align:center;width:100%;max-width:1000px}.game-over{text-shadow:0 4px 30px #0000004d;margin-bottom:60px;font-size:4rem;font-weight:800}.podium{justify-content:center;align-items:flex-end;gap:20px;min-height:400px;margin-bottom:50px;display:flex}.podium-place{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;background:#ffffff2e;border:2px solid #fff3;border-radius:20px;flex-direction:column;justify-content:flex-start;align-items:center;width:250px;padding:30px 25px;transition:all .8s;display:flex;transform:translateY(50px);box-shadow:0 20px 60px #00000040}.podium-place.revealed{opacity:1;transform:translateY(0)}.podium-place.first{background:linear-gradient(135deg,#fbbf2459 0%,#f59e0b59 100%);border-color:#fbbf2480;order:2;height:350px}.podium-place.second{background:linear-gradient(135deg,#e2e8f059 0%,#cbd5e159 100%);border-color:#e2e8f080;order:1;height:280px}.podium-place.third{background:linear-gradient(135deg,#fb923c59 0%,#f9731659 100%);border-color:#fb923c80;order:3;height:220px}.place-name{word-break:break-word;margin-bottom:10px;font-size:1.8rem;font-weight:700}.place-score{margin-bottom:10px;font-size:2rem;font-weight:800}.place-rank{opacity:.9;font-size:1.2rem;font-weight:600}.other-players{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid #fff3;border-radius:20px;max-width:600px;margin:0 auto;padding:30px}.other-players h3{margin-bottom:20px;font-size:1.5rem}.other-player-item{background:#ffffff1a;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:15px 20px;transition:all .3s;display:flex}.other-rank{min-width:50px;font-weight:700}.other-name{text-align:left;flex:1;font-size:1.1rem;font-weight:600}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.final-results{padding:20px 15px}.game-over{margin-bottom:30px;font-size:2.5rem}.podium{gap:10px;min-height:300px;padding:0 5px}.podium-place{width:110px;padding:15px 10px}.podium-place.first{height:280px}.podium-place.second{height:230px}.podium-place.third{height:190px}.place-medal{margin-bottom:10px;font-size:2.5rem}.place-name{margin-bottom:8px;font-size:1rem}.place-score{margin-bottom:8px;font-size:1.2rem}.place-rank{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.85rem}}@media (width<=400px){.game-over{margin-bottom:20px;font-size:2rem}.podium{gap:8px;min-height:250px}.podium-place{width:95px;padding:12px 8px}.podium-place.first{height:240px}.podium-place.second{height:200px}.podium-place.third{height:170px}.place-medal{margin-bottom:8px;font-size:2rem}.place-name{margin-bottom:6px;font-size:.9rem}.place-score{margin-bottom:6px;font-size:1rem}.place-rank{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:.75rem}}.artist-game{background:var(--gradient-primary);min-height:100vh;position:relative}.artist-game *{box-sizing:border-box}.select-rating{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.rating-content{text-align:center;width:100%;max-width:700px}.rating-content h1{background:var(--gradient-title);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:3rem;line-height:1.15}.rating-buttons{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:30px;display:flex}.rating-button{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-lg);cursor:pointer;width:250px;min-height:280px;transition:all var(--transition-normal);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:36px 28px;display:flex}.rating-button:hover{border-color:var(--border-glass-hover);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.rating-button:active{transform:translateY(-3px)}.rating-button.pg13{background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border-color:#38bdf866}.rating-button.adult{background:linear-gradient(135deg,#be123c 0%,#881337 100%);border-color:#fb718566}.rating-icon{margin-bottom:15px;font-size:3.8rem;line-height:1}.rating-title{color:#fff;margin-bottom:10px;font-size:1.85rem;font-weight:700}.rating-desc{color:#f1f5f9;font-size:1.05rem;line-height:1.4}@media (width<=768px){.rating-content h1{font-size:2.5rem}.subtitle{margin-bottom:30px;font-size:1.1rem}.rating-buttons{gap:16px}.rating-button{width:200px;padding:28px 20px}.rating-icon{font-size:3rem}.rating-title{font-size:1.6rem}.rating-desc{font-size:.95rem}}@media (width<=480px){.rating-content h1{font-size:2rem}.subtitle{font-size:1rem}.rating-button{width:100%;max-width:280px;min-height:180px;padding:24px 18px}.rating-icon{font-size:2.5rem}.rating-title{font-size:1.4rem}.rating-desc{font-size:.9rem}}.playing-phase{min-height:100vh;padding:160px 20px 20px}.playing-content{flex-direction:column;gap:45px;max-width:800px;margin:0 auto;display:flex}.black-card-container{justify-content:center;margin-top:25px;margin-bottom:35px;display:flex}.black-card-container .black-card{width:100%;max-width:500px;min-height:180px}.judge-waiting{text-align:center;padding:40px 20px}.judge-message{color:var(--text-secondary);margin-bottom:20px;font-size:1.3rem}.submission-count{color:var(--text-tertiary);font-size:1.1rem;font-weight:700}.submitted-message{text-align:center;padding:40px 20px}.checkmark{color:var(--color-success);margin-bottom:20px;font-size:5rem;animation:.5s checkmarkPop}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.submitted-message p{color:var(--text-secondary);margin-bottom:15px;font-size:1.3rem}.hand-section{flex-direction:column;gap:15px;display:flex}.hand-label{color:var(--text-secondary);text-align:center;font-size:1.2rem;font-weight:700}.card-deck{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:15px;padding:10px 5px;display:flex;overflow-x:auto}.card-deck::-webkit-scrollbar{height:8px}.card-deck::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.card-deck::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.card-deck::-webkit-scrollbar-thumb:hover{background:#ffffff80}.card-deck .white-card{flex-shrink:0;min-width:200px}.scroll-hint{text-align:center;color:var(--text-dimmed);margin-top:-5px;font-size:.9rem;font-style:italic}.submit-section{justify-content:center;margin-top:10px;display:flex}.submit-button{background:var(--gradient-accent-primary);color:var(--text-primary);cursor:pointer;transition:var(--transition-normal);box-shadow:0 5px 15px var(--shadow-accent-primary);border:none;border-radius:50px;padding:18px 50px;font-size:1.3rem;font-weight:700}.submit-button:hover:not(:disabled){box-shadow:0 8px 20px var(--shadow-accent-primary-strong);transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.playing-phase{padding:135px 15px 15px}.playing-content{gap:35px}.black-card-container .black-card{min-height:150px}.judge-badge{padding:12px 25px;font-size:1.2rem}.judge-message,.submitted-message p{font-size:1.1rem}.card-deck .white-card{min-width:170px}}.score-badge-container{top:max(14px, calc(10px + var(--safe-area-top)));right:max(14px, calc(10px + var(--safe-area-right)));z-index:100;position:fixed}.score-badge{cursor:pointer;transition:transform .2s}.score-badge:hover{transform:scale(1.05)}.marketplace-menu{background:var(--gradient-secondary);border-radius:var(--radius-md);min-width:250px;padding:15px;animation:.3s slideDown;position:absolute;top:60px;right:0;box-shadow:0 8px 24px #00000080}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.marketplace-header{color:#fff;text-align:center;border-bottom:2px solid #fff3;margin-bottom:12px;padding-bottom:8px;font-size:1.2rem;font-weight:700}.marketplace-option{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:12px 15px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.marketplace-option:hover:not(:disabled){transform:translate(-3px);box-shadow:0 4px 12px #667eea66}.marketplace-option:disabled{opacity:.4;cursor:not-allowed}.option-cost{font-size:1.1rem}.option-name{font-size:.95rem}.replace-card-modal-overlay{z-index:200;background:#000c;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.replace-card-modal{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-radius:20px;max-width:90%;max-height:90vh;padding:30px;animation:.3s modalSlideUp;overflow-y:auto;box-shadow:0 10px 40px #00000080}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.replace-card-modal h2{color:#fff;text-align:center;margin-bottom:20px;font-size:1.5rem}.replace-card-deck{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;max-height:60vh;margin-bottom:25px;padding:10px;display:grid;overflow-y:auto}.replace-card-deck .white-card{min-height:120px}.replace-card-actions{justify-content:center;gap:15px;display:flex}.confirm-replace-button,.cancel-replace-button{cursor:pointer;border:none;border-radius:50px;padding:15px 30px;font-size:1.1rem;font-weight:700;transition:all .3s}.confirm-replace-button{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);box-shadow:0 4px 12px #4caf5066}.confirm-replace-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4caf5099}.confirm-replace-button:disabled{opacity:.5;cursor:not-allowed}.cancel-replace-button{color:#fff;background:linear-gradient(135deg,#f44336 0%,#d32f2f 100%);box-shadow:0 4px 12px #f4433666}.cancel-replace-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f4433699}.custom-card-modal{max-width:600px}.custom-card-hint{color:#aaa;text-align:center;margin-bottom:20px;font-size:.95rem}.custom-card-input{color:#fff;resize:vertical;background:#1a1a2e;border:2px solid #444;border-radius:10px;width:100%;min-height:120px;margin-bottom:10px;padding:15px;font-family:inherit;font-size:1rem;transition:border-color .3s}.custom-card-input:focus{border-color:#4caf50;outline:none;box-shadow:0 0 10px #4caf504d}.custom-card-input::placeholder{color:#666}.character-count{text-align:right;color:#888;margin-bottom:20px;font-size:.9rem}@media (width<=768px){.marketplace-menu{min-width:220px}.replace-card-modal{padding:20px}.replace-card-modal h2{font-size:1.3rem}.replace-card-deck{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.replace-card-actions{flex-direction:column}.confirm-replace-button,.cancel-replace-button{width:100%}}@media (width<=480px){.playing-phase{padding:125px 10px 10px}.black-card-container .black-card{min-height:120px}.judge-badge{padding:10px 20px;font-size:1rem}.card-deck .white-card{min-width:150px}.submit-button{padding:15px 40px;font-size:1.1rem}.marketplace-menu{min-width:200px;right:-10px}.marketplace-option{padding:10px 12px;font-size:.9rem}.replace-card-deck{grid-template-columns:1fr}}.judging-phase{min-height:100vh;padding:160px 20px 20px}.judging-content{flex-direction:column;gap:45px;max-width:800px;margin:0 auto;display:flex}.judge-badge{background:var(--gradient-accent-secondary);color:var(--text-primary);border-radius:var(--radius-xl);text-align:center;box-shadow:0 5px 15px var(--shadow-accent-secondary);padding:15px 30px;font-size:1.5rem;font-weight:700}.judge-instruction{text-align:center;color:var(--text-secondary);margin:10px 0 20px;font-size:1.2rem}.submitted-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;padding:10px 0;display:grid}.submitted-cards .white-card{min-height:150px}.confirm-button{background:var(--gradient-accent-primary);color:var(--text-primary);cursor:pointer;transition:var(--transition-normal);box-shadow:0 5px 15px var(--shadow-accent-primary);border:none;border-radius:50px;padding:18px 50px;font-size:1.3rem;font-weight:700}.confirm-button:active:not(:disabled){transform:translateY(0)}.judge-name{color:var(--text-secondary);margin-bottom:10px;font-size:1.5rem;font-weight:700}@media (width<=768px){.judging-phase{padding:135px 15px 15px}.judge-badge{padding:12px 25px;font-size:1.2rem}.judge-instruction{font-size:1.1rem}.submitted-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.submitted-cards .white-card{min-height:130px}}@media (width<=480px){.judging-phase{padding:125px 10px 10px}.judge-badge{padding:10px 20px;font-size:1rem}.submitted-cards{grid-template-columns:1fr;gap:12px}.confirm-button{padding:15px 40px;font-size:1.1rem}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-1vmin)}}.winner-title{color:var(--text-dark);background:var(--gradient-accent-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:15px;font-size:2.5rem}.winner-name{color:var(--text-dark);margin-bottom:25px;font-size:2rem;font-weight:700}.winner-score{justify-content:center;align-items:center;gap:15px;margin-bottom:30px;font-size:1.5rem;display:flex}.score-label{color:var(--text-muted)}.score-value{color:var(--text-dark);font-weight:700}.next-round-button{background:var(--gradient-accent-primary);color:var(--text-primary);cursor:pointer;border:none;border-radius:50px;padding:18px 50px;font-size:1.3rem;font-weight:700;transition:all .3s;box-shadow:0 5px 15px #667eea66}.next-round-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea99}.next-round-button:active{transform:translateY(0)}.mini-leaderboard{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:25px}.mini-leaderboard h3{color:var(--text-primary);text-align:center;margin-bottom:20px;font-size:1.5rem}.standing-item{color:#fff;background:#ffffff1a;border-radius:10px;align-items:center;gap:15px;padding:12px 20px;display:flex}.rank{min-width:40px;font-size:1.2rem;font-weight:700}.player-name{flex:1;font-size:1.1rem}.player-score{font-size:1.1rem;font-weight:700}@media (width<=768px){.winner-popup{padding:40px 30px}.trophy-icon{font-size:4rem}.winner-title{font-size:2rem}.winner-name{font-size:1.7rem}.winner-score{font-size:1.3rem}.next-round-button{padding:15px 40px;font-size:1.1rem}}@media (width<=480px){.winner-popup{padding:30px 20px}.trophy-icon{font-size:3.5rem}.winner-title{font-size:1.7rem}.winner-name{font-size:1.5rem}.winner-score{flex-direction:column;gap:5px;font-size:1.1rem}.mini-leaderboard{padding:20px 15px}.standing-item{padding:10px 15px}.rank{min-width:35px;font-size:1rem}.player-name,.player-score{font-size:1rem}}@keyframes champPop{0%{opacity:0;transform:scale(.8)rotate(-5deg)}50%{transform:scale(1.05)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes crownFloat{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-15px)rotate(5deg)}}.champion-title{color:var(--text-dark);background:var(--gradient-accent-secondary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:2.8rem}.champion-score{margin-top:20px}.final-score{color:var(--accent-primary-start);font-size:1.8rem;font-weight:700}.final-leaderboard{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:30px}.final-leaderboard h3{color:var(--text-primary);text-align:center;margin-bottom:30px;font-size:2rem}.podium-place{background:var(--glass-bg-strong);border-radius:var(--radius-md);text-align:center;transition:var(--transition-normal);padding:20px;animation:.5s forwards podiumRise}.podium-place.place-1{flex:1;order:2;max-width:200px;padding:30px 20px;animation-delay:.2s}.podium-place.place-2{flex:1;order:1;max-width:180px;animation-delay:.4s}.podium-place.place-3{flex:1;order:3;max-width:180px;animation-delay:.6s}@keyframes podiumRise{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.place-score{color:#ffffffe6;font-size:1.1rem;font-weight:700}.other-players{flex-direction:column;gap:10px;margin-top:20px;display:flex}.other-player{color:#fff;background:#ffffff1a;border-radius:10px;align-items:center;gap:15px;padding:12px 20px;display:flex}.other-rank{min-width:40px;font-size:1.1rem;font-weight:700}.other-name{flex:1;font-size:1.1rem}.other-score{font-size:1.1rem;font-weight:700}.home-button-large{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50px;align-self:center;padding:20px 60px;font-size:1.4rem;font-weight:700;transition:all .3s;box-shadow:0 8px 25px #667eea66}.home-button-large:hover{transform:translateY(-3px);box-shadow:0 12px 35px #667eea99}.home-button-large:active{transform:translateY(0)}@media (width<=768px){.champion-section{padding:40px 30px}.crown-icon{font-size:5rem}.champion-title{font-size:2.3rem}.champion-name{font-size:2rem}.final-score{font-size:1.5rem}.podium{flex-wrap:wrap;gap:15px}.podium-place.place-1,.podium-place.place-2,.podium-place.place-3{max-width:150px}.place-medal{font-size:2.5rem}.place-name{font-size:1.1rem}}@media (width<=480px){.game-end-content{gap:30px}.champion-section{padding:30px 20px}.crown-icon{font-size:4rem}.champion-title{font-size:2rem}.champion-name{font-size:1.7rem}.final-score{font-size:1.3rem}.podium{flex-direction:column;align-items:center}.podium-place{width:100%;max-width:100%!important}.podium-place.place-1{order:1}.podium-place.place-2{order:2}.podium-place.place-3{order:3}.home-button-large{padding:18px 50px;font-size:1.2rem}}.cards-against-humanity-game{background:var(--gradient-primary);min-height:100dvh;color:var(--text-primary);position:relative}.cards-game-container{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);box-sizing:border-box;flex-direction:column;width:100%;display:flex}.card{border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none;padding:18px;box-shadow:0 4px 12px #00000040}.white-card{color:#0f172a;text-align:center;background:#f8fafc;border:2px solid #0000;justify-content:center;align-items:center;min-height:110px;padding:16px;font-size:1rem;font-weight:600;line-height:1.4;display:flex}.white-card.submitted{opacity:.6;cursor:not-allowed}.score-badge{color:var(--text-primary);background:#171b2ed9;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:6px;padding:8px 16px;font-size:.95rem;font-weight:700;display:flex}.score-badge .icon{font-size:1.1rem}.round-indicator{top:calc(14px + var(--safe-area-top));left:calc(14px + var(--safe-area-left));-webkit-backdrop-filter:blur(12px);color:var(--text-primary);z-index:100;background:#171b2ed9;border:1px solid #ffffff1f;border-radius:9999px;padding:8px 14px;font-size:.88rem;font-weight:600;position:fixed}.round-indicator.with-home-button{left:auto;right:calc(14px + var(--safe-area-right))}@media (width<=768px){.black-card{min-height:110px;padding:18px;font-size:1.05rem}.white-card{min-height:90px;padding:14px;font-size:.92rem}.score-badge{padding:6px 12px;font-size:.85rem}}.select-mode{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);justify-content:center;align-items:center;width:100%;display:flex}.mode-content{text-align:center;width:100%;max-width:700px}.mode-content h1{background:var(--gradient-title);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:3rem;line-height:1.15}.subtitle{color:var(--text-secondary);margin-bottom:40px;font-size:1.25rem}.mode-buttons{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:30px;display:flex}.mode-button{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-lg);cursor:pointer;width:250px;min-height:280px;transition:all var(--transition-normal);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:36px 28px;display:flex}.mode-button:hover{border-color:var(--border-glass-hover);box-shadow:var(--shadow-lg);transform:translateY(-8px)}.mode-button:active{transform:translateY(-3px)}.mode-button.dictator{background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 100%);border-color:#fbbf2466}.mode-button.dictator .mode-title{color:#1e1b4b}.mode-button.dictator .mode-desc{color:#312e81}.mode-button.democracy{background:linear-gradient(135deg,#7c3aed 0%,#5b21b6 100%);border-color:#a78bfa66}.mode-button.democracy .mode-title{color:#fff}.mode-button.democracy .mode-desc{color:#ede9fe}.mode-icon{margin-bottom:15px;font-size:3.8rem;line-height:1}.mode-title{color:var(--text-primary);margin-bottom:10px;font-size:1.85rem;font-weight:700}.mode-desc{color:var(--text-secondary);font-size:1.05rem;line-height:1.4}.admin-note{color:var(--text-tertiary);font-size:.95rem;font-style:italic}@media (width<=768px){.mode-content h1{font-size:2.5rem}.subtitle{margin-bottom:30px;font-size:1.1rem}.mode-buttons{gap:16px}.mode-button{width:200px;min-height:240px;padding:28px 20px}.mode-icon{font-size:3rem}.mode-title{font-size:1.6rem}.mode-desc{font-size:.95rem}}@media (width<=480px){.mode-content h1{font-size:2rem}.subtitle{font-size:1rem}.mode-button{width:100%;max-width:280px;min-height:180px;padding:24px 18px}.mode-icon{font-size:2.5rem}.mode-title{font-size:1.4rem}.mode-desc{font-size:.9rem}}.writing-phase{flex-direction:column;align-items:center;min-height:100vh;padding:80px 20px 100px;display:flex}.round-header{align-items:center;gap:20px;margin-bottom:30px;display:flex}.judge-writing,.waiting-judge,.answer-writing,.judge-waiting,.answer-submitted{text-align:center;width:100%;max-width:600px}.instruction{color:var(--text-secondary);margin-bottom:20px;font-size:1.2rem}.black-card-input,.answer-input{border:2px solid var(--card-border-white);border-radius:var(--radius-md);background:var(--card-white);width:100%;min-height:120px;color:var(--text-dark);resize:vertical;margin-bottom:20px;padding:15px;font-family:inherit;font-size:1.1rem}.black-card-input:focus,.answer-input:focus{border-color:var(--accent-primary-start);box-shadow:0 0 15px var(--shadow-accent-primary);outline:none}.submit-button{background:var(--gradient-accent-primary);color:var(--text-primary);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);box-shadow:0 4px 12px var(--shadow-accent-primary);border:none;padding:15px 40px;font-size:1.1rem;font-weight:700}.submit-button:hover{box-shadow:0 6px 16px var(--shadow-accent-primary-strong);transform:translateY(-3px)}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.black-card-display{margin-bottom:30px}.wait-text{color:var(--text-tertiary);margin:10px 0 20px;font-size:1.1rem}.submission-progress{margin-top:20px}@media (width<=768px){.round-header h2{font-size:1.7rem}.instruction{font-size:1.1rem}.black-card-input,.answer-input{min-height:100px;font-size:1rem}}@media (width<=480px){.writing-phase{padding:70px 15px 80px}.round-header{flex-direction:column;gap:10px}.round-header h2{font-size:1.5rem}.check-icon{font-size:3rem}}.judging-phase{flex-direction:column;align-items:center;min-height:100vh;padding:80px 20px 100px;display:flex}.judging-content{flex-direction:column;align-items:center;width:100%;max-width:1000px;display:flex}.judge-badge{background:var(--gradient-accent-primary);color:var(--text-primary);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-primary);margin-bottom:20px;padding:12px 24px;font-size:1.1rem;font-weight:700;display:inline-block}.judge-instruction{color:var(--text-secondary);text-align:center;margin-bottom:30px;font-size:1.2rem}.submitted-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;padding-bottom:100px;display:grid}.confirm-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:linear-gradient(#0000 0%,#000000b3 30%,#000000e6 100%);justify-content:center;padding:20px;display:flex;position:fixed;bottom:0;left:0;right:0}.waiting-judge{text-align:center;padding:40px 20px}.judge-info{margin-bottom:30px}.judge-name{color:var(--text-secondary);margin-bottom:10px;font-size:1.3rem}.spinner{border:5px solid #fff3;border-top-color:var(--accent-primary-start);border-radius:50%;width:50px;height:50px;margin:0 auto;animation:1s linear infinite spin}@media (width<=768px){.round-header h2{font-size:1.7rem}.submitted-cards{grid-template-columns:1fr;gap:15px}.judge-instruction{font-size:1.1rem}.confirm-button{padding:12px 40px;font-size:1.1rem}}@media (width<=480px){.judging-phase{padding:70px 15px 80px}.round-header h2{font-size:1.5rem}.judge-badge{padding:10px 20px;font-size:1rem}}.voting-phase{flex-direction:column;align-items:center;min-height:100vh;padding:80px 20px 100px;display:flex}.round-header{text-align:center;margin-bottom:30px}.round-header h2{color:var(--text-primary);font-size:2rem}.voting-content{width:100%;max-width:1000px}.black-card-container{justify-content:center;margin-bottom:40px;display:flex}.voting-badge{background:var(--gradient-accent-secondary);color:var(--text-primary);border-radius:var(--radius-lg);box-shadow:0 4px 12px var(--shadow-accent-secondary);margin-bottom:20px;padding:12px 24px;font-size:1.1rem;font-weight:700;display:inline-block}.voting-instruction{color:var(--text-secondary);text-align:center;margin-bottom:30px;font-size:1.2rem}.submitted-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;display:grid}.confirm-section{justify-content:center;margin-top:30px;display:flex}.confirm-button{background:var(--gradient-accent-secondary);color:var(--text-primary);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);box-shadow:0 4px 12px var(--shadow-accent-secondary);border:none;padding:15px 50px;font-size:1.2rem;font-weight:700}.confirm-button:hover:not(:disabled){box-shadow:0 6px 16px var(--shadow-accent-secondary-strong);transform:translateY(-3px)}.confirm-button:disabled{opacity:.5;cursor:not-allowed}.waiting-votes{text-align:center;padding:40px 20px}.check-icon{color:#4caf50;margin-bottom:20px;font-size:4rem}.vote-submitted{color:var(--text-primary);margin-bottom:10px;font-size:1.5rem;font-weight:700}.waiting-message{color:var(--text-tertiary);margin-bottom:30px;font-size:1.2rem}.vote-progress{max-width:400px;margin:0 auto}.progress-text{color:var(--text-secondary);margin-bottom:10px;font-size:1.1rem}.progress-bar{border-radius:var(--radius-lg);background:#fff3;width:100%;height:12px;overflow:hidden}.progress-fill{background:var(--gradient-accent-secondary);height:100%;transition:width .3s}@media (width<=768px){.round-header h2{font-size:1.7rem}.submitted-cards{grid-template-columns:1fr;gap:15px}.voting-instruction{font-size:1.1rem}.confirm-button{padding:12px 40px;font-size:1.1rem}.check-icon{font-size:3rem}.vote-submitted{font-size:1.3rem}}@media (width<=480px){.voting-phase{padding:70px 15px 80px}.round-header h2{font-size:1.5rem}.voting-badge{padding:10px 20px;font-size:1rem}}.round-end{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.confetti-container{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}.confetti{width:10px;height:10px;animation:3s linear forwards confettiFall;position:absolute;top:-10px}.round-end-content{flex-direction:column;gap:30px;width:100%;max-width:600px;display:flex}.winner-popup{background:var(--card-white);border-radius:var(--radius-xl);text-align:center;padding:50px 40px;animation:.5s popIn;box-shadow:0 20px 60px #0000004d}.trophy-icon{margin-bottom:20px;font-size:5rem;animation:1s infinite bounce}.winner-title{color:var(--text-dark);margin-bottom:20px;font-size:2.5rem}.winner-name{color:var(--accent-primary-start);margin-bottom:20px;font-size:2rem}.winner-score{justify-content:center;align-items:center;gap:10px;margin-bottom:30px;display:flex}.score-label{color:var(--text-muted);font-size:1.2rem}.score-value{color:var(--text-dark);font-size:1.5rem;font-weight:700}.admin-actions{flex-direction:column;gap:15px;display:flex}.next-round-button,.end-game-button{background:var(--gradient-accent-primary);color:var(--text-primary);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);box-shadow:0 4px 12px var(--shadow-accent-primary);border:none;padding:15px 40px;font-size:1.2rem;font-weight:700}.end-game-button{background:var(--gradient-accent-secondary);box-shadow:0 4px 12px var(--shadow-accent-secondary)}.next-round-button:hover,.end-game-button:hover{transform:translateY(-3px)}.mini-leaderboard{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-dark);padding:30px}.mini-leaderboard h3{text-align:center;color:var(--text-primary);margin-bottom:20px;font-size:1.5rem}.standings-list{flex-direction:column;gap:10px;display:flex}.standing-item{border-radius:var(--radius-md);background:#ffffff1a;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.rank{color:var(--text-primary);min-width:40px;font-weight:700}.player-name{color:var(--text-primary);flex:1;font-size:1.1rem}.player-score{color:var(--accent-primary-start);font-weight:700}@media (width<=768px){.winner-title{font-size:2rem}.winner-name{font-size:1.7rem}.trophy-icon{font-size:4rem}.mini-leaderboard h3{font-size:1.3rem}}@media (width<=480px){.winner-popup{padding:30px 20px}.winner-title{font-size:1.7rem}.winner-name{font-size:1.5rem}.trophy-icon{font-size:3rem}.mini-leaderboard{padding:20px}.standing-item{padding:10px 15px}.player-name{font-size:1rem}}.game-end{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.game-end-content{flex-direction:column;gap:40px;width:100%;max-width:800px;display:flex}.champion-section{background:var(--card-white);border-radius:var(--radius-xl);text-align:center;padding:60px 40px;animation:.5s slideIn;box-shadow:0 20px 60px #0000004d}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.crown-icon{margin-bottom:20px;font-size:6rem;animation:2s ease-in-out infinite glow}@keyframes glow{0%,to{filter:drop-shadow(0 0 10px #ffd70080)}50%{filter:drop-shadow(0 0 20px #ffd700cc)}}.champion-title{color:var(--text-dark);margin-bottom:20px;font-size:3rem}.champion-name{color:var(--accent-primary-start);margin-bottom:20px;font-size:2.5rem;font-weight:700}.champion-score{margin-bottom:20px}.final-score{color:var(--text-muted);font-size:1.5rem}.final-leaderboard{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--shadow-dark);padding:40px}.final-leaderboard h3{text-align:center;color:var(--text-primary);margin-bottom:30px;font-size:2rem}.podium{justify-content:center;align-items:flex-end;gap:20px;margin-bottom:30px;display:flex}.podium-place{border-radius:var(--radius-lg);text-align:center;background:#ffffff1a;flex:1;max-width:200px;padding:20px;transition:transform .3s}.podium-place:hover{transform:translateY(-10px)}.place-1{background:linear-gradient(135deg,#ffd70033,#ffa50033);order:2;padding-top:40px}.place-2{background:linear-gradient(135deg,#c0c0c033,#a9a9a933);order:1;padding-top:30px}.place-3{background:linear-gradient(135deg,#cd7f3233,#b8733333);order:3;padding-top:20px}.place-medal{margin-bottom:15px;font-size:3rem}.place-name{color:var(--text-primary);margin-bottom:10px;font-size:1.3rem;font-weight:700}.place-score{color:var(--text-secondary);font-size:1.1rem}.other-players{flex-direction:column;gap:10px;display:flex}.other-player{border-radius:var(--radius-md);background:#ffffff0d;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.other-rank{color:var(--text-secondary);min-width:40px;font-weight:700}.other-name{color:var(--text-primary);flex:1;font-size:1.1rem}.other-score{color:var(--text-secondary)}.home-button-large{background:var(--gradient-accent-secondary);color:var(--text-primary);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);box-shadow:0 6px 15px var(--shadow-accent-secondary);border:none;align-self:center;padding:18px 50px;font-size:1.3rem;font-weight:700}.home-button-large:hover{box-shadow:0 8px 20px var(--shadow-accent-secondary-strong);transform:translateY(-5px)}@media (width<=768px){.champion-title{font-size:2.5rem}.champion-name{font-size:2rem}.crown-icon{font-size:5rem}.podium{gap:15px}.place-medal{font-size:2.5rem}.place-name{font-size:1.1rem}.final-leaderboard h3{font-size:1.7rem}}@media (width<=480px){.champion-section{padding:40px 20px}.champion-title{font-size:2rem}.champion-name{font-size:1.7rem}.crown-icon{font-size:4rem}.podium{flex-direction:column;align-items:center;gap:15px}.podium-place{width:100%;max-width:100%}.place-1,.place-2,.place-3{order:initial}.final-leaderboard{padding:25px}.home-button-large{width:100%;padding:15px 30px;font-size:1.2rem}}.cards-for-humanity-game{background:var(--gradient-primary);min-height:100dvh;color:var(--text-primary);position:relative}.cards-for-humanity-container{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);box-sizing:border-box;flex-direction:column;width:100%;display:flex}.card{border-radius:var(--radius-md);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;padding:18px;box-shadow:0 4px 12px #00000040}.card-content{word-wrap:break-word;width:100%}.black-card{color:var(--text-primary);text-align:center;background:#151722;border:2px solid #2a2e42;justify-content:center;align-items:center;min-height:130px;padding:24px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 8px 24px #0006}.white-card{color:#0f172a;text-align:center;cursor:pointer;background:#f8fafc;border:2px solid #0000;justify-content:center;align-items:center;min-height:110px;padding:16px;font-size:1rem;font-weight:600;line-height:1.4;display:flex}.white-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000059}.white-card.selected{border-color:var(--accent-primary-start);box-shadow:0 0 0 2px var(--accent-primary-start), 0 8px 20px #00000059;transform:translateY(-2px)}@media (width<=768px){.black-card{min-height:110px;padding:18px;font-size:1.05rem}.white-card{min-height:90px;padding:14px;font-size:.92rem}}@media (width<=480px){.black-card{min-height:90px;padding:14px;font-size:.98rem}.white-card{min-height:80px;padding:12px;font-size:.88rem}}.ftl-game-container{width:100%;height:100dvh;min-height:100dvh;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom);background:linear-gradient(135deg,#1a5f3f 0%,#0d3d26 100%);justify-content:center;align-items:center;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden}.ftl-loading{color:#fff;text-align:center;font-size:24px}.ftl-poker-table{background:radial-gradient(#2d7a4f 0%,#1a5f3f 60%,#0d3d26 100%);border:12px solid #8b6914;border-radius:50%;justify-content:center;align-items:center;width:95vw;height:90vh;display:flex;position:relative;box-shadow:0 0 40px #00000080,inset 0 0 60px #0000004d}.ftl-player{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.ftl-player-top-left{top:5%;left:10%}.ftl-player-top-right{top:5%;right:10%}.ftl-player-bottom{width:90%;bottom:2%;left:50%;transform:translate(-50%)}.ftl-player-info{background:#000000b3;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;transition:all .3s;display:flex;box-shadow:0 4px 8px #0000004d}.ftl-player-active-turn .ftl-player-info{background:#ffd7004d;border:2px solid gold;box-shadow:0 0 20px #ffd70099}.ftl-player-active-turn .ftl-player-name{color:#ffed4e;text-shadow:0 0 10px #ffd700cc;font-weight:900}.ftl-player-name{color:#fff;font-size:18px;font-weight:700}.ftl-landlord-badge{color:#8b4513;background:linear-gradient(135deg,gold 0%,#ffed4e 100%);border-radius:12px;padding:4px 10px;font-size:14px;font-weight:700;box-shadow:0 2px 4px #0000004d}.ftl-turn-indicator{color:#ffed4e;font-size:14px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 2vmin #f1c40f80}50%{box-shadow:0 0 3vmin #f1c40fcc}}.ftl-card-count{color:#fff;background:#00000080;border-radius:12px;padding:4px 12px;font-size:16px}.ftl-center-area{z-index:10;flex-direction:column;align-items:center;gap:20px;max-width:90%;max-height:50%;padding:10px;display:flex;position:absolute;top:15%;left:50%;overflow:hidden auto;transform:translate(-50%)}.ftl-kitty-hidden{gap:10px;display:flex}.ftl-card-back{background:linear-gradient(135deg,#c41e3a 0%,#8b0000 100%);border:3px solid gold;border-radius:8px;justify-content:center;align-items:center;width:70px;height:100px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 8px #0000004d}.ftl-card-back:before{content:"🂠";color:#ffffff4d;font-size:40px}.ftl-kitty-reveal{text-align:center;animation:.5s fadeIn}.ftl-kitty-reveal h3{color:#fff;text-shadow:2px 2px 4px #00000080;margin-bottom:10px}.ftl-kitty-cards{justify-content:center;gap:10px;display:flex}.ftl-bidding-status{color:#fff;text-align:center;background:#000c;border-radius:12px;padding:16px 24px;font-size:18px;box-shadow:0 4px 12px #00000080}.ftl-landlord-reveal{background:#ffd70033;border:3px solid gold;border-radius:16px;padding:20px 40px;box-shadow:0 0 20px #ffd70080}.ftl-landlord-reveal h2{color:gold;text-shadow:2px 2px 4px #000c;margin:0;font-size:28px}.ftl-bidding-buttons{gap:16px;margin-top:12px;display:flex}.ftl-play-area{flex-direction:column;justify-content:center;align-items:center;min-height:150px;display:flex}.ftl-last-play{text-align:center}.ftl-last-play-label{color:#fff;text-shadow:1px 1px 2px #00000080;margin-bottom:8px;font-size:16px}.ftl-play-info{color:#fffc;margin-bottom:3px;font-size:11px;font-weight:400}.ftl-played-cards{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ftl-no-play{color:#fff;text-align:center;padding:20px;font-size:18px}.ftl-card{background:#fff;border:2px solid #333;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:70px;height:100px;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 8px #0003}.ftl-card-rank{font-size:24px;font-weight:700}.ftl-card-suit{font-size:20px}.ftl-card.red .ftl-card-rank,.ftl-card.red .ftl-card-suit,.ftl-card-rank.red,.ftl-card-suit.red{color:#d32f2f}.ftl-card.black .ftl-card-rank,.ftl-card.black .ftl-card-suit,.ftl-card-rank.black,.ftl-card-suit.black{color:#000}.ftl-card-small{width:50px;height:70px;font-size:16px}.ftl-card-small .ftl-card-rank{font-size:18px}.ftl-hand-preview{flex-wrap:wrap;justify-content:center;gap:4px;max-width:100%;margin-top:8px;display:flex}.ftl-hand{flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;margin-top:12px;transition:opacity .3s;display:flex}.ftl-hand-inactive{opacity:.5}.ftl-card-selectable{cursor:pointer;transition:all .3s}.ftl-card-selectable:hover{transform:translateY(-10px);box-shadow:0 8px 16px #0000004d}.ftl-card-selected{border-color:gold;transform:translateY(-20px);box-shadow:0 0 20px #ffd700cc}.ftl-error-message{color:#fff;background:#f44336e6;border:2px solid #d32f2f;border-radius:8px;margin:8px 0;padding:12px 20px;font-size:16px;font-weight:700;animation:.5s shake;box-shadow:0 4px 12px #f4433680}.ftl-suggestion-message{color:#fff;background:#4caf50e6;border:2px solid #4caf50;border-radius:8px;margin:8px 0;padding:12px 20px;font-size:15px;font-weight:700;animation:.3s fadeIn;box-shadow:0 4px 12px #4caf5080}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.ftl-combo-type{color:#ffed4e;font-size:14px;font-weight:400}.ftl-action-buttons{gap:12px;margin-top:12px;display:flex}.ftl-btn{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 8px #0000004d}.ftl-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #0006}.ftl-btn:active:not(:disabled){transform:translateY(0)}.ftl-btn:disabled{opacity:.5;cursor:not-allowed}.ftl-btn-accept{color:#fff;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%)}.ftl-btn-decline{color:#fff;background:linear-gradient(135deg,#f44336 0%,#d32f2f 100%)}.ftl-btn-play{color:#fff;background:linear-gradient(135deg,#2196f3 0%,#1976d2 100%)}.ftl-btn-pass{color:#fff;background:linear-gradient(135deg,#ff9800 0%,#f57c00 100%)}.ftl-btn-suggest{color:#fff;background:linear-gradient(135deg,#9c27b0 0%,#7b1fa2 100%)}.ftl-btn-primary{color:#fff;background:linear-gradient(135deg,#9c27b0 0%,#7b1fa2 100%);padding:16px 32px;font-size:18px}.ftl-btn-secondary{color:#fff;background:linear-gradient(135deg,#607d8b 0%,#455a64 100%);padding:12px 24px}.ftl-waiting-message{color:#fff;text-align:center;background:#00000080;border-radius:8px;margin-top:16px;padding:12px;font-size:16px}.ftl-round-end{text-align:center;color:#fff;max-width:600px;padding:40px}.ftl-round-end-header h1{text-shadow:2px 2px 4px #00000080;margin-bottom:20px;font-size:36px}.ftl-winner-announcement{background:#ffd70033;border:3px solid gold;border-radius:16px;margin:30px 0;padding:30px;box-shadow:0 0 30px #ffd70080}.ftl-winner-announcement h2{color:gold;margin-bottom:12px;font-size:32px}.ftl-winner-name{margin:0;font-size:28px;font-weight:700}.ftl-scoreboard{background:#00000080;border-radius:12px;margin:30px 0;padding:20px}.ftl-scoreboard h3{margin-bottom:16px;font-size:24px}.ftl-score-list{flex-direction:column;gap:12px;display:flex}.ftl-score-item{background:#ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 20px;transition:all .2s;display:flex}.ftl-score-item-me{background:#2196f34d;border:2px solid #2196f3}.ftl-score-rank{width:40px;font-size:20px;font-weight:700}.ftl-score-name{flex:1;font-size:18px}.ftl-score-points{color:gold;font-size:18px;font-weight:700}.ftl-admin-controls{justify-content:center;gap:16px;margin-top:30px;display:flex}.ftl-game-end{text-align:center;color:#fff;max-width:700px;padding:40px}.ftl-game-end-header h1{text-shadow:2px 2px 4px #00000080;margin-bottom:30px;font-size:48px}.ftl-final-winner{background:linear-gradient(135deg,#ffd7004d 0%,#ffc10733 100%);border:4px solid gold;border-radius:20px;margin:40px 0;padding:40px;box-shadow:0 0 40px #ffd70099}.ftl-final-winner h2{color:gold;margin-bottom:20px;font-size:40px}.ftl-champion-name,.ftl-champions-list{margin:10px 0;font-size:36px;font-weight:700}.ftl-champion-score{color:#ffed4e;margin-top:10px;font-size:24px}.ftl-final-standings{background:#00000080;border-radius:12px;margin:30px 0;padding:24px}.ftl-final-standings h3{margin-bottom:20px;font-size:28px}.ftl-podium{flex-direction:column;gap:16px;display:flex}.ftl-podium-position{background:#ffffff1a;border-radius:12px;align-items:center;gap:16px;padding:16px 24px;transition:all .2s;display:flex}.ftl-podium-winner{background:#ffd70033;border:2px solid gold}.ftl-podium-me{background:#2196f34d;border:2px solid #2196f3}.ftl-podium-rank{text-align:center;width:50px;font-size:32px}.ftl-podium-name{flex:1;font-size:22px;font-weight:700}.ftl-podium-score{color:gold;font-size:20px}.ftl-game-stats{opacity:.8;margin:20px 0;font-size:18px}.ftl-display-container{color:#fff;box-sizing:border-box;background:linear-gradient(135deg,#1a5f3f 0%,#0d3d26 100%);justify-content:center;align-items:center;width:100vw;height:100vh;padding:40px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.ftl-display-content{text-align:center;width:100%;max-width:1200px}.ftl-display-content h1{text-shadow:3px 3px 6px #00000080;margin-bottom:20px;font-size:56px}.ftl-display-content h2{color:gold;margin-bottom:30px;font-size:40px}.ftl-display-content h3{margin:20px 0;font-size:32px}.ftl-display-content h4{margin:12px 0;font-size:24px}.ftl-display-center{margin:40px 0}.ftl-display-status{margin:20px 0;font-size:28px}.ftl-display-landlord{color:gold;margin:20px 0;font-size:32px}.ftl-display-landlord-info{margin:20px 0}.ftl-display-current-turn{color:#ffed4e;margin:20px 0;font-size:28px}.ftl-display-last-play h4{margin-bottom:16px}.ftl-display-last-play .ftl-play-info{color:#fffc;margin-bottom:6px;font-size:14px;font-weight:400}.ftl-display-no-play p{font-size:24px}.ftl-display-players{flex-wrap:wrap;justify-content:center;gap:40px;margin-top:40px;display:flex}.ftl-display-player-item{background:#00000080;border-radius:16px;align-items:center;gap:12px;padding:16px 24px;font-size:24px;display:flex}.ftl-display-player-name{font-weight:700}.ftl-display-card-count{color:#ffed4e;margin-left:8px}.ftl-display-winner{background:#ffd70033;border:4px solid gold;border-radius:20px;margin:40px 0;padding:40px}.ftl-display-winner-name{font-size:36px;font-weight:700}.ftl-display-scoreboard,.ftl-display-final-standings{margin:40px 0}.ftl-display-score-item,.ftl-display-podium-item{background:#ffffff1a;border-radius:12px;justify-content:space-between;align-items:center;margin:12px 0;padding:16px 32px;font-size:24px;display:flex}.ftl-display-rank,.ftl-display-medal{text-align:center;width:60px;font-size:28px;font-weight:700}.ftl-display-name{flex:1;font-weight:700}.ftl-display-score{color:gold;font-weight:700}.ftl-display-champion{background:linear-gradient(135deg,#ffd7004d 0%,#ffc10733 100%);border:5px solid gold;border-radius:24px;margin:60px 0;padding:60px;box-shadow:0 0 50px #ffd700b3}.ftl-display-champion-name{margin:20px 0;font-size:48px;font-weight:700}.ftl-display-champions-list{margin:20px 0;font-size:40px;font-weight:700}.ftl-display-champion-score{color:#ffed4e;font-size:32px}@media (width<=768px){.ftl-poker-table{border-radius:40%}.ftl-card{width:50px;height:72px}.ftl-card-rank{font-size:18px}.ftl-card-suit{font-size:14px}}@media (orientation:portrait){.ftl-center-area{max-height:40%;top:18%}.ftl-card{width:45px;height:64px}.ftl-card-rank{font-size:16px}.ftl-card-suit{font-size:12px}.ftl-last-play-label{font-size:14px}.ftl-played-cards{gap:5px}}@media (orientation:landscape){.ftl-poker-table{grid-template-rows:auto 1fr auto;grid-template-columns:1fr;gap:0;width:min(92vw,100% - 24px);max-width:none;height:min(95vh,95dvh);max-height:none;padding:1vh 2vw;display:grid}.ftl-player-top-left,.ftl-player-top-right{position:absolute;top:2vh}.ftl-player-top-left{left:max(5%, var(--safe-area-left))}.ftl-player-top-right{right:max(5%, var(--safe-area-right))}.ftl-center-area{flex-direction:column;justify-content:center;align-items:center;max-width:80%;max-height:none;margin:8vh auto 2vh;padding:0;display:flex;position:relative;top:auto;left:auto;overflow:visible;transform:none}.ftl-player-bottom{flex-direction:column;align-items:center;gap:4px;width:95%;margin:0 auto;padding-bottom:1vh;display:flex;position:relative;bottom:auto;left:auto;transform:none}.ftl-player-bottom .ftl-player-info{order:1}.ftl-player-bottom .ftl-action-buttons,.ftl-player-bottom .ftl-bidding-buttons{order:2;margin-top:0}.ftl-player-bottom .ftl-hand,.ftl-player-bottom .ftl-hand-preview{order:3}.ftl-player-bottom .ftl-waiting-message{order:2;margin-top:0}.ftl-hand,.ftl-hand-preview{flex-wrap:wrap;gap:2px;max-width:100%}.ftl-bidding-buttons{gap:10px;margin-top:0}.ftl-bidding-status{padding:10px 20px;font-size:16px}.ftl-card{width:48px;height:68px}.ftl-card-rank{font-size:17px}.ftl-card-suit{font-size:13px}.ftl-card-small{width:40px;height:56px}.ftl-card-small .ftl-card-rank{font-size:13px}.ftl-card-small .ftl-card-suit{font-size:10px}.ftl-player-info{padding:5px 10px;font-size:13px}.ftl-player-name{font-size:14px}.ftl-card-count{padding:3px 8px;font-size:12px}.ftl-landlord-badge{padding:2px 6px;font-size:10px}.ftl-turn-indicator{font-size:10px}.ftl-action-buttons{gap:8px}.ftl-btn{padding:7px 14px;font-size:12px}.ftl-last-play-label{margin-bottom:5px;font-size:12px}.ftl-played-cards{gap:4px}.ftl-no-play{padding:10px;font-size:14px}.ftl-waiting-message{margin-top:0;padding:6px;font-size:12px}.ftl-card-selectable:hover{transform:translateY(-6px)}.ftl-card-selected{transform:translateY(-12px)}.ftl-play-area{min-height:auto;max-height:20vh;overflow-y:auto}}.uno-select-mode{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;display:flex}.uno-select-mode-content{text-align:center;width:100%;max-width:800px}.uno-select-mode-title{color:#fff;text-shadow:4px 4px 8px #0000004d;margin:0 0 1rem;font-size:4rem;font-weight:700}.uno-select-mode-subtitle{color:#ffffffe6;margin-bottom:3rem;font-size:1.5rem}.uno-mode-buttons{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.uno-mode-button{cursor:pointer;background:#fff;border:none;border-radius:20px;width:280px;padding:2rem;transition:all .3s;box-shadow:0 8px 20px #0003}.uno-mode-button:hover{transform:translateY(-8px);box-shadow:0 12px 30px #0000004d}.uno-mode-button:active{transform:translateY(-4px)}.uno-mode-standard{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.uno-mode-crazy{color:#fff;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.uno-mode-icon{margin-bottom:1rem;font-size:4rem}.uno-mode-name{margin-bottom:.5rem;font-size:2rem;font-weight:700}.uno-mode-description{opacity:.9;font-size:1rem}.uno-player-count{color:#fffc;margin-top:3rem;font-size:1.1rem}@media (width<=768px){.uno-select-mode-title{font-size:3rem}.uno-mode-buttons{flex-direction:column;align-items:center}.uno-mode-button{width:100%;max-width:280px}}:root{--uno-card-width:14vmin;--uno-card-height:21vmin;--uno-spacing-sm:1vmin;--uno-spacing-md:2vmin;--uno-spacing-lg:3vmin;--uno-radius:1.5vmin;--uno-font-xs:2.5vmin;--uno-font-sm:3.5vmin;--uno-font-md:4.5vmin;--uno-font-lg:6vmin;--uno-font-xl:10vmin}.uno-playing{width:100%;height:100dvh;min-height:100dvh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:var(--uno-font-md);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.uno-top-bar{width:100%;min-height:8vmin;padding:max(var(--uno-spacing-sm), var(--safe-area-top)) var(--uno-spacing-md) var(--uno-spacing-sm);color:#fff;z-index:10;box-sizing:border-box;background:#0000004d;justify-content:center;align-items:center;gap:3vmin;display:flex}.uno-round-info{font-size:var(--uno-font-sm);white-space:nowrap;font-weight:700}.uno-direction-indicator{font-size:var(--uno-font-sm);opacity:.9;white-space:nowrap;font-weight:700}.uno-mode-badge{border-radius:var(--uno-radius);font-size:var(--uno-font-sm);white-space:nowrap;background:#fff3;padding:.5vmin 1.5vmin}.uno-additional-opponents{flex-shrink:0;gap:1vmin;padding:1vmin 2vmin;display:flex;overflow-x:auto}.uno-additional-player{border-radius:var(--uno-radius);color:#fff;font-size:var(--uno-font-xs);background:#ffffff1a;border:1px solid #0000;flex-shrink:0;gap:1vmin;padding:1vmin;display:flex}.uno-additional-player.active-turn{border-color:#f1c40f}.uno-error{color:#fff;padding:var(--uno-spacing-md) var(--uno-spacing-lg);border-radius:var(--uno-radius);z-index:100;font-size:var(--uno-font-md);white-space:nowrap;background:#e74c3c;animation:.3s slideDown;position:absolute;top:15vmin;left:50%;transform:translate(-50%);box-shadow:0 1vmin 3vmin #0000004d}.uno-table{gap:var(--uno-spacing-md);padding:var(--uno-spacing-md);flex:1;grid-template:"left top right""left center right"1fr/1fr 2fr 1fr;min-height:0;display:grid;position:relative}.uno-opponent{align-items:center;gap:var(--uno-spacing-sm);flex-direction:column;justify-content:center;display:flex}.uno-opponent-top{grid-area:top;place-self:start center}.uno-opponent-left{grid-area:left;align-self:center}.uno-opponent-right{grid-area:right;align-self:center}.uno-opponent-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--uno-spacing-sm) var(--uno-spacing-md);border-radius:var(--uno-radius);color:#fff;text-align:center;background:#ffffff1a;border:.2vmin solid #0000;min-width:14vmin;transition:all .3s}.uno-opponent.active-turn .uno-opponent-info{border-color:#f1c40f;animation:1.5s ease-in-out infinite pulse;box-shadow:0 0 2vmin #f1c40f80}.uno-opponent-name{font-weight:700;font-size:var(--uno-font-sm);white-space:nowrap;text-overflow:ellipsis;max-width:20vmin;margin-bottom:.5vmin;overflow:hidden}.uno-opponent-wins{font-size:var(--uno-font-xs);opacity:.9}.uno-opponent-card-count{font-size:var(--uno-font-xs);opacity:.8}.uno-opponent-uno-badge{color:#fff;border-radius:var(--uno-radius);font-size:var(--uno-font-xs);background:#e74c3c;margin-top:.5vmin;padding:.2vmin 1vmin;font-weight:700;animation:.5s ease-in-out infinite wiggle}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.uno-opponent-cards{height:calc(var(--uno-card-height) * .7);flex-wrap:nowrap;justify-content:center;align-items:center;margin-top:1vmin;display:flex}.uno-card-back-small{width:calc(var(--uno-card-width) * .7);height:calc(var(--uno-card-height) * .7);border-radius:calc(var(--uno-radius) * .5);font-size:var(--uno-font-xs);color:#fff;margin-left:calc(var(--uno-card-width) * -.6);background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%);border:.2vmin solid #fff;justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:0 .5vmin 1vmin #0000004d}.uno-card-back-small:first-child{margin-left:0}.uno-card-overflow{color:#fff;font-size:var(--uno-font-sm);align-self:center;margin-left:1vmin}.uno-center{justify-content:center;align-items:center;gap:var(--uno-spacing-lg);grid-area:center;display:flex;position:relative}.uno-draw-pile{align-items:center;gap:var(--uno-spacing-sm);cursor:pointer;flex-direction:column;transition:transform .2s;display:flex}.uno-draw-pile:hover{transform:scale(1.05)}.uno-draw-pile:active{transform:scale(.98)}.uno-deck-count{color:#fff;font-size:var(--uno-font-sm);font-weight:700}.uno-discard-pile{align-items:center;gap:var(--uno-spacing-sm);flex-direction:column;display:flex}.uno-current-color{-webkit-backdrop-filter:blur(8px);color:#fff;font-size:var(--uno-font-xs);text-transform:capitalize;pointer-events:none;background:#00000080;border:1px solid #fff3;border-radius:9999px;align-items:center;gap:.8vmin;margin-top:.5vmin;padding:.4vmin 1.4vmin;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #0000004d}.uno-color-dot{border:.2vmin solid #fff;border-radius:50%;flex-shrink:0;width:1.8vmin;height:1.8vmin;box-shadow:0 0 6px #00000059}.uno-color-dot.uno-color-red{background:#ff4757;box-shadow:0 0 8px #ff4757cc}.uno-color-dot.uno-color-yellow{background:#ffd32a;box-shadow:0 0 8px #ffd32acc}.uno-color-dot.uno-color-green{background:#2ed573;box-shadow:0 0 8px #2ed573cc}.uno-color-dot.uno-color-blue{background:#2e86de;box-shadow:0 0 8px #2e86decc}.uno-draw-stack-indicator{color:#fff;border-radius:var(--uno-radius);font-size:var(--uno-font-md);z-index:5;pointer-events:none;white-space:nowrap;background:#e74c3c;padding:1vmin 2vmin;font-weight:700;animation:1s ease-in-out infinite bounce;position:absolute;top:-8vmin;left:50%;transform:translate(-50%);box-shadow:0 1vmin 3vmin #0000004d}.uno-card{width:var(--uno-card-width);height:var(--uno-card-height);border-radius:var(--uno-radius);background-color:#fff;border:.4vmin solid #fff;flex-direction:column;transition:all .2s;display:flex;position:relative;box-shadow:0 1vmin 3vmin #0000004d}.uno-card.clickable{cursor:pointer}.uno-card.clickable:hover{z-index:10;transform:translateY(-2vmin);box-shadow:0 2vmin 5vmin #0006}.uno-card.selected{z-index:20;transform:translateY(-3vmin)scale(1.05);box-shadow:0 2vmin 6vmin #ffffff80}.uno-card.unplayable{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.uno-card.unplayable:hover{transform:none;box-shadow:0 1vmin 3vmin #0000004d}.uno-card-red{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%)}.uno-card-yellow{background:linear-gradient(135deg,#f1c40f 0%,#f39c12 100%)}.uno-card-green{background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%)}.uno-card-blue{background:linear-gradient(135deg,#3498db 0%,#2980b9 100%)}.uno-card-center{color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.uno-card-number-large{font-size:var(--uno-font-xl);text-shadow:.3vmin .3vmin .6vmin #0000004d;font-weight:700;line-height:1}.uno-card-action-icon{font-size:var(--uno-font-lg);margin-bottom:.5vmin;line-height:1}.uno-card-action-label{font-size:var(--uno-font-sm);text-align:center;font-weight:700;line-height:1.2}.uno-card-wild{background:#000}.uno-card-wild-top,.uno-card-wild-bottom{flex:1;display:flex}.uno-wild-quarter{flex:1}.uno-wild-red{background:#e74c3c}.uno-wild-yellow{background:#f1c40f}.uno-wild-blue{background:#3498db}.uno-wild-green{background:#2ecc71}.uno-card-wild-center{text-align:center;color:#fff;border-radius:calc(var(--uno-radius) * .8);background:#000000b3;width:70%;padding:.5vmin 1vmin;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.uno-wild-text{font-size:var(--uno-font-md)}.uno-wild-draw4{font-size:var(--uno-font-sm);margin-top:.5vmin}.uno-card-back{background:linear-gradient(135deg,#e74c3c 0%,#c0392b 100%);position:relative;overflow:hidden}.uno-card-back-pattern{border-radius:calc(var(--uno-radius) * .6);border:.3vmin solid #ffffff4d;position:absolute;inset:1vmin}.uno-card-back-text{color:#fff;font-size:var(--uno-font-lg);text-shadow:.3vmin .3vmin .6vmin #00000080;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-15deg)}.uno-my-area{padding:var(--uno-spacing-md);background:#0000004d;border-top:.2vmin solid #ffffff1a;flex-direction:column;justify-content:flex-end;min-height:25vmin;max-height:40vh;display:flex}.uno-my-info{color:#fff;margin-bottom:var(--uno-spacing-md);padding:0 var(--uno-spacing-sm);justify-content:space-between;align-items:center;display:flex}.uno-my-name{font-weight:700;font-size:var(--uno-font-md)}.uno-my-wins{font-size:var(--uno-font-md)}.uno-your-turn{color:#000;border-radius:var(--uno-radius);font-weight:700;font-size:var(--uno-font-md);background:#f1c40f;padding:.5vmin 1.5vmin;animation:1.5s ease-in-out infinite pulse}.uno-pass-button{color:#fff;border-radius:var(--uno-radius);cursor:pointer;font-weight:700;font-size:var(--uno-font-md);background:#95a5a6;border:none;padding:.8vmin 2vmin;transition:all .2s}.uno-pass-button:hover{background:#7f8c8d;transform:translateY(-.2vmin)}.uno-pass-button:active{transform:translateY(0)}.uno-my-hand{padding:var(--uno-spacing-md) 0;scrollbar-width:none;-ms-overflow-style:none;perspective:1000px;justify-content:flex-start;gap:var(--uno-spacing-sm);flex-wrap:nowrap;justify-content:flex-start;max-width:100%;margin:0 auto;display:flex;overflow-x:auto}.uno-my-hand::-webkit-scrollbar{display:none}.uno-hand-card{flex-shrink:0;margin-left:0;transition:transform .2s}.uno-hand-card:first-child{margin-left:auto}.uno-hand-card:last-child{margin-right:auto}.uno-hand-card:hover{z-index:100;transform:translateY(-2vmin)}.uno-color-picker-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;box-sizing:border-box;background:#0a0f1ed1;justify-content:center;align-items:center;padding:16px;animation:.25s cubic-bezier(.16,1,.3,1) unoOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes unoOverlayFadeIn{0%{opacity:0}to{opacity:1}}.uno-color-picker{text-align:center;box-sizing:border-box;background:linear-gradient(165deg,#1c2640f5 0%,#0f1628fa 100%);border:1px solid #ffffff26;border-radius:28px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:clamp(20px,4vmin,32px) clamp(20px,4vmin,36px);animation:.3s cubic-bezier(.16,1,.3,1) unoPickerScaleIn;display:flex;box-shadow:0 25px 50px -12px #000000bf,0 0 35px #6366f133,inset 0 1px 1px #fff3}@keyframes unoPickerScaleIn{0%{opacity:0;transform:scale(.88)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.uno-color-picker-header{flex-direction:column;align-items:center;gap:6px;margin-bottom:clamp(16px,3vmin,24px);display:flex}.uno-color-picker-icon-wrap{background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:clamp(46px,8vmin,56px);height:clamp(46px,8vmin,56px);margin-bottom:4px;display:flex;box-shadow:0 4px 16px #0000004d}.uno-color-picker-icon{font-size:clamp(22px,4vmin,28px);line-height:1}.uno-color-picker-title{color:#fff;letter-spacing:-.02em;text-shadow:0 2px 4px #0006;margin:0;font-size:clamp(1.35rem,4vmin,1.75rem);font-weight:800}.uno-color-picker-subtitle{color:#ffffffb3;margin:0;font-size:clamp(.85rem,2.4vmin,.95rem);font-weight:500}.uno-color-options{grid-template-columns:1fr 1fr;gap:clamp(12px,2.5vmin,18px);width:100%;display:grid}.uno-color-option{letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #ffffff40;border-radius:18px;outline:none;justify-content:center;align-items:center;gap:clamp(8px,1.8vmin,14px);padding:clamp(16px,3vmin,22px) clamp(12px,2vmin,20px);font-size:clamp(1.1rem,3.2vmin,1.3rem);font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.uno-color-option-indicator{background:#ffffffd9;border-radius:50%;flex-shrink:0;width:clamp(14px,2.6vmin,18px);height:clamp(14px,2.6vmin,18px);box-shadow:0 0 6px #00000040}.uno-color-option-name{line-height:1}.uno-color-option.uno-color-red{color:#fff;text-shadow:0 1px 3px #0006;background:linear-gradient(135deg,#ff4757 0%,#ee2c45 50%,#c0392b 100%);border-color:#ffa0aa80;box-shadow:0 8px 24px -4px #ee2c458c,inset 0 1px 1px #fff6}.uno-color-option.uno-color-red:hover{background:linear-gradient(135deg,#ff5e6c 0%,#f73852 50%,#d63031 100%);transform:translateY(-3px)scale(1.03);box-shadow:0 12px 28px -2px #ee2c45b3,0 0 16px #ff475766,inset 0 1px 1px #ffffff80}.uno-color-option.uno-color-red:active{transform:translateY(1px)scale(.97)}.uno-color-option.uno-color-yellow{color:#1f1a00;text-shadow:none;background:linear-gradient(135deg,#ffd32a 0%,#ffc048 50%,#ffa801 100%);border-color:#fff9;box-shadow:0 8px 24px -4px #ffc04899,inset 0 1px 1px #fff9}.uno-color-option.uno-color-yellow .uno-color-option-indicator{opacity:.75;background:#1f1a00}.uno-color-option.uno-color-yellow:hover{background:linear-gradient(135deg,#ffdf4d 0%,#ffd066 50%,#ffb41f 100%);transform:translateY(-3px)scale(1.03);box-shadow:0 12px 28px -2px #ffc048bf,0 0 16px #ffd32a66,inset 0 1px 1px #ffffffb3}.uno-color-option.uno-color-yellow:active{transform:translateY(1px)scale(.97)}.uno-color-option.uno-color-green{color:#fff;text-shadow:0 1px 3px #0006;background:linear-gradient(135deg,#2ed573 0%,#10ac84 50%,#178363 100%);border-color:#8cffc380;box-shadow:0 8px 24px -4px #10ac848c,inset 0 1px 1px #fff6}.uno-color-option.uno-color-green:hover{background:linear-gradient(135deg,#44df84 0%,#18bfa0 50%,#1e9672 100%);transform:translateY(-3px)scale(1.03);box-shadow:0 12px 28px -2px #10ac84b3,0 0 16px #2ed57366,inset 0 1px 1px #ffffff80}.uno-color-option.uno-color-green:active{transform:translateY(1px)scale(.97)}.uno-color-option.uno-color-blue{color:#fff;text-shadow:0 1px 3px #0006;background:linear-gradient(135deg,#2e86de 0%,#0984e3 50%,#1e3799 100%);border-color:#8cd2ff80;box-shadow:0 8px 24px -4px #0984e38c,inset 0 1px 1px #fff6}.uno-color-option.uno-color-blue:hover{background:linear-gradient(135deg,#489bf2 0%,#1e96f5 50%,#2643af 100%);transform:translateY(-3px)scale(1.03);box-shadow:0 12px 28px -2px #0984e3b3,0 0 16px #2e86de66,inset 0 1px 1px #ffffff80}.uno-color-option.uno-color-blue:active{transform:translateY(1px)scale(.97)}.uno-color-picker-cancel{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;margin-top:clamp(16px,3vmin,22px);padding:10px 24px;font-size:clamp(.9rem,2.5vmin,1rem);font-weight:600;transition:all .2s}.uno-color-picker-cancel:hover{color:#fff;background:#ffffff29;border-color:#ffffff4d;transform:translateY(-1px)}.uno-color-picker-cancel:active{transform:translateY(1px)}@media (orientation:landscape){:root{--uno-card-width:10vmin;--uno-card-height:15vmin;--uno-font-xs:1.5vmin;--uno-font-sm:2vmin;--uno-font-md:2.5vmin;--uno-font-lg:3vmin;--uno-font-xl:6vmin}.uno-table{padding:var(--uno-spacing-lg)}.uno-opponent-cards{height:calc(var(--uno-card-height) * .5)}.uno-card-back-small{width:calc(var(--uno-card-width) * .5);height:calc(var(--uno-card-height) * .5)}.uno-my-area{min-height:20vmin}}.uno-round-end{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;width:100%;height:100dvh;min-height:100dvh;padding:max(12px, var(--safe-area-top)) max(16px, var(--safe-area-right)) max(20px, var(--safe-area-bottom)) max(16px, var(--safe-area-left));color:#fff;background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);flex-direction:column;justify-content:flex-start;align-items:center;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden auto}.uno-round-end-content{box-sizing:border-box;flex-direction:column;gap:clamp(10px,2vmin,16px);width:100%;max-width:920px;margin:auto 0;display:flex}.uno-round-end-header{justify-content:center;align-items:center;gap:10px;display:flex}.uno-round-badge{-webkit-backdrop-filter:blur(8px);letter-spacing:.5px;text-transform:uppercase;background:#ffffff26;border:1px solid #ffffff38;border-radius:9999px;padding:4px 14px;font-size:clamp(.75rem,2vmin,.88rem);font-weight:700}.uno-mode-tag{color:#ffffffd9;background:#00000047;border:1px solid #ffffff1f;border-radius:9999px;padding:4px 12px;font-size:clamp(.75rem,2vmin,.88rem);font-weight:600}.uno-round-end-grid{grid-template-columns:1fr;gap:clamp(12px,2.5vmin,20px);width:100%;display:grid}@media (width>=640px) and (orientation:landscape),(width>=768px){.uno-round-end-grid{grid-template-columns:minmax(280px,1fr) minmax(300px,1.15fr);align-items:stretch}}.uno-winner-panel{flex-direction:column;justify-content:space-between;gap:clamp(10px,2vmin,16px);display:flex}.uno-winner-card{background:linear-gradient(145deg,#1c2640e0 0%,#0f1628f0 100%);border:1px solid #f1c40f59;border-radius:20px;align-items:center;gap:clamp(12px,2.5vmin,20px);padding:clamp(14px,3vmin,24px);display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000059,0 0 25px #f1c40f26}.uno-trophy-badge{flex-shrink:0;font-size:clamp(2.2rem,6vmin,3.5rem);line-height:1;animation:2s ease-in-out infinite unoTrophyBounce}@keyframes unoTrophyBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.08)}}.uno-winner-details{text-align:left;flex-direction:column;gap:4px;min-width:0;display:flex}.uno-winner-subtitle{text-transform:uppercase;letter-spacing:1px;color:#ffd32a;font-size:clamp(.7rem,2vmin,.85rem);font-weight:700}.uno-winner-name{color:#fff;text-shadow:0 2px 8px #00000080;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.4rem,4vmin,2.2rem);font-weight:900;line-height:1.15;overflow:hidden}.uno-winner-stats{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.uno-stat-chip{border-radius:8px;padding:4px 10px;font-size:clamp(.75rem,2vmin,.85rem);font-weight:700}.uno-stat-points{color:#2ed573;background:#2ed57333;border:1px solid #2ed57366}.uno-stat-wins{color:#ffd32a;background:#f1c40f33;border:1px solid #f1c40f66}.uno-round-end-actions{width:100%;display:flex}.uno-next-round-btn{color:#fff;letter-spacing:.5px;cursor:pointer;background:linear-gradient(135deg,#2ed573 0%,#10ac84 50%,#16a085 100%);border:2px solid #ffffff59;border-radius:16px;outline:none;justify-content:center;align-items:center;gap:10px;width:100%;padding:clamp(12px,2.5vmin,16px) clamp(16px,3vmin,28px);font-size:clamp(1.05rem,3vmin,1.25rem);font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 8px 24px #10ac8473}.uno-next-round-btn:hover{background:linear-gradient(135deg,#44df84 0%,#18bfa0 50%,#1abc9c 100%);transform:translateY(-2px);box-shadow:0 12px 28px #10ac8499}.uno-next-round-btn:active{transform:translateY(1px)}.uno-next-arrow{font-size:1.2em;transition:transform .2s}.uno-next-round-btn:hover .uno-next-arrow{transform:translate(4px)}.uno-leaderboard-panel{flex-direction:column;min-width:0;display:flex}.uno-leaderboard-card{box-sizing:border-box;background:linear-gradient(145deg,#1c2640d1 0%,#0f1628e6 100%);border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;height:100%;padding:clamp(12px,2.5vmin,20px);display:flex;box-shadow:0 12px 30px #00000059}.uno-leaderboard-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.uno-leaderboard-header h3{color:#fff;margin:0;font-size:clamp(1rem,2.8vmin,1.2rem);font-weight:800}.uno-leaderboard-count{color:#fff9;font-size:clamp(.7rem,2vmin,.8rem);font-weight:600}.uno-leaderboard-list{flex-direction:column;gap:6px;max-height:clamp(160px,40vmin,300px);padding-right:4px;display:flex;overflow-y:auto}.uno-leaderboard-item{background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:clamp(6px,1.5vmin,10px) clamp(10px,2vmin,14px);transition:all .2s;display:grid}.uno-leaderboard-item.is-winner{background:#f1c40f26;border-color:#f1c40f80;box-shadow:0 0 14px #f1c40f33}.uno-leaderboard-item.is-you{background:#6366f11f;border-color:#6366f199}.uno-leaderboard-rank{text-align:center;font-size:clamp(1rem,2.5vmin,1.25rem);line-height:1}.uno-leaderboard-name-wrap{align-items:center;gap:8px;min-width:0;display:flex}.uno-leaderboard-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.85rem,2.4vmin,1rem);font-weight:700;overflow:hidden}.uno-you-badge{color:#e0e7ff;text-transform:uppercase;background:#6366f166;border:1px solid #a5b4fc80;border-radius:9999px;flex-shrink:0;padding:1px 6px;font-size:.65rem;font-weight:800}.uno-leaderboard-wins{color:#ffd32a;white-space:nowrap;font-size:clamp(.85rem,2.2vmin,.95rem);font-weight:700}@media (height<=380px) and (orientation:landscape){.uno-round-end{padding:max(6px, var(--safe-area-top)) max(12px, var(--safe-area-right)) max(10px, var(--safe-area-bottom)) max(12px, var(--safe-area-left))}.uno-round-end-header{display:none}.uno-round-end-content{gap:8px}.uno-winner-card{gap:12px;padding:10px 14px}.uno-trophy-badge{font-size:2rem}.uno-next-round-btn{padding:8px 16px;font-size:.95rem}.uno-leaderboard-card{padding:10px 14px}.uno-leaderboard-header{margin-bottom:6px;padding-bottom:4px}.uno-leaderboard-list{gap:4px;max-height:180px}.uno-leaderboard-item{padding:5px 8px}}.uno-game-end{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;width:100%;height:100dvh;min-height:100dvh;padding:max(16px, var(--safe-area-top)) max(16px, var(--safe-area-right)) max(28px, var(--safe-area-bottom)) max(16px, var(--safe-area-left));color:#fff;background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);flex-direction:column;justify-content:flex-start;align-items:center;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden auto}.uno-game-end-content{text-align:center;box-sizing:border-box;width:100%;max-width:1000px;margin:auto 0}.uno-champion-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:3px solid #ffd70080;border-radius:30px;margin-bottom:3rem;padding:3rem 2rem;box-shadow:0 10px 40px #0000004d}.uno-crown-icon{font-size:6rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.uno-champion-section h1{color:#fff;text-shadow:3px 3px 6px #00000080;margin:1rem 0 .5rem;font-size:3rem}.uno-champion-name{color:gold;text-shadow:4px 4px 8px #00000080;margin:1rem 0;font-size:4rem;font-weight:700}.uno-champion-stats{margin-top:1.5rem}.uno-champion-wins{color:#fff;background:#ffd7004d;border:2px solid gold;border-radius:20px;padding:1rem 2rem;font-size:1.5rem;font-weight:700;display:inline-block}.uno-final-standings{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:25px;padding:2.5rem 2rem}.uno-final-standings h3{color:#fff;margin:0 0 2rem;font-size:2rem}.uno-podium{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;display:flex}.uno-podium-spot{background:#ffffff26;border:2px solid #0000;border-radius:20px;min-width:150px;padding:2rem 1.5rem;transition:all .3s}.uno-podium-spot.spot-1{background:#ffd7004d;border-color:gold;order:2;min-height:280px;transform:translateY(-20px)}.uno-podium-spot.spot-2{background:#c0c0c04d;border-color:silver;order:1;min-height:240px}.uno-podium-spot.spot-3{background:#cd7f324d;border-color:#cd7f32;order:3;min-height:200px}.uno-podium-spot:hover{transform:scale(1.05)}.uno-podium-spot.spot-1:hover{transform:translateY(-20px)scale(1.05)}.uno-podium-medal{margin-bottom:1rem;font-size:4rem}.uno-podium-rank{color:#fff;margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.uno-podium-name{color:#fff;word-break:break-word;margin-bottom:.75rem;font-size:1.3rem;font-weight:700}.uno-podium-wins{color:#fff;font-size:1.1rem;font-weight:700}.uno-other-players{border-top:2px solid #fff3;margin-top:2rem;padding-top:2rem}.uno-other-players h4{color:#fff;margin:0 0 1rem;font-size:1.3rem}.uno-other-player{background:#ffffff1a;border-radius:12px;grid-template-columns:60px 1fr auto;align-items:center;gap:1rem;margin-bottom:.5rem;padding:1rem 1.5rem;transition:all .3s;display:grid}.uno-other-player:hover{background:#ffffff26;transform:translate(5px)}.uno-other-rank{color:#ffffffb3;text-align:center;font-size:1.2rem;font-weight:700}.uno-other-name{color:#fff;text-align:left;font-size:1.1rem;font-weight:700}.uno-other-wins{color:#fff;font-size:1rem;font-weight:700}.uno-game-end-actions{margin-top:2.5rem}.uno-game-end-message{color:#fff;opacity:.9;margin:0;font-size:1.2rem}@media (width<=768px){.uno-champion-section h1{font-size:2rem}.uno-champion-name{font-size:2.5rem}.uno-podium{flex-direction:column;align-items:center}.uno-podium-spot{width:100%;max-width:250px;order:unset!important;min-height:auto!important;transform:none!important}.uno-podium-spot:hover{transform:scale(1.02)!important}.uno-other-player{grid-template-columns:50px 1fr auto;padding:.75rem 1rem}}.uno-game{background:linear-gradient(135deg,#1e3c72 0%,#2a5298 100%);width:100%;height:100dvh;min-height:100dvh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden}.uno-game.uno-phase-roundEnd,.uno-game.uno-phase-gameEnd,.uno-game.uno-phase-selectMode{-webkit-overflow-scrolling:touch;overflow:hidden auto}.uno-loading{color:#fff;flex-direction:column;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;display:flex}.uno-loading-spinner{font-size:4rem;animation:2s linear infinite spin}.uno-loading p{margin-top:1rem;font-size:1.2rem}.room-lobby-container{min-height:100dvh;padding:var(--container-pad-top) var(--container-pad-x-right) var(--container-pad-bottom) var(--container-pad-x);width:100%;max-width:1100px;color:var(--text-primary);flex-direction:column;margin:0 auto;display:flex}.room-header{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:24px;display:flex}.room-title-row{flex-direction:column;align-items:center;gap:8px;display:flex}.room-title{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-size:2.2rem;font-weight:800;line-height:1.2}.room-actions{justify-content:center;gap:8px;width:100%;max-width:320px;display:flex}.room-action-btn{background:var(--bg-pill);color:var(--text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.room-action-btn:hover{background:var(--bg-surface-hover);border-color:var(--border-glass-hover)}.room-action-btn.leave-btn{background:var(--color-error-bg);color:#fca5a5;border-color:#ef444440}.room-action-btn.leave-btn:hover{color:#fee2e2;background:#ef444440;border-color:#ef444473}.lobby-content{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:20px;display:grid}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-header h2{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.player-count-badge{background:var(--bg-pill);color:var(--text-secondary);border-radius:var(--radius-full);padding:2px 8px;font-size:.78rem;font-weight:700}.room-players-section{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--border-glass);box-shadow:var(--shadow-card);flex-direction:column;padding:20px;display:flex}.room-players-list{flex-direction:column;gap:8px;max-height:420px;padding-right:4px;display:flex;overflow-y:auto}.room-player-item{background:var(--bg-surface-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-glass-subtle);transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.room-player-item:hover{background:var(--bg-surface-hover);border-color:var(--border-glass-hover)}.room-player-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:.92rem;font-weight:600;display:flex;overflow:hidden}.room-admin-badge{font-size:.9rem;line-height:1}.room-player-item.away{opacity:.65}.away-badge{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#94a3b82e;border:1px solid #94a3b859;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:700}.you-badge{color:var(--accent-primary-light);text-transform:uppercase;letter-spacing:.5px;background:#8b5cf638;border:1px solid #8b5cf666;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:700}.room-kick-button{background:var(--color-error-bg);color:#fca5a5;cursor:pointer;transition:all var(--transition-fast);border:1px solid #ef444440;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:.78rem;font-weight:600}.room-kick-button:hover{color:#fff;background:#ef44444d}.room-games-section{background:var(--bg-surface-card);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px solid var(--border-glass);box-shadow:var(--shadow-card);flex-direction:column;padding:20px;display:flex}.games-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:14px;display:grid}.room-game-card{background:var(--bg-surface-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);border:1px solid var(--border-glass-subtle);flex-direction:column;justify-content:space-between;gap:14px;padding:16px;display:flex}.room-game-card:hover:not(.disabled){background:var(--bg-surface-hover);border-color:var(--border-glass-hover);transform:translateY(-1px)}.room-game-card.selected{border-color:var(--accent-primary);background:#8b5cf61f}.room-game-card.disabled{opacity:.9;border-color:#ffffff0d}.game-card-main{align-items:flex-start;gap:14px;display:flex}.game-icon{flex-shrink:0;font-size:2.2rem;line-height:1}.game-info{flex:1;min-width:0}.game-name-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.game-name{color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.game-votes{color:var(--accent-primary-light);border-radius:var(--radius-full);white-space:nowrap;background:#8b5cf62e;padding:2px 7px;font-size:.78rem;font-weight:600}.game-reqs{margin-top:4px}.player-req-tag{border-radius:4px;font-size:.8rem;font-weight:600;display:inline-block}.player-req-tag.needs-more,.player-req-tag.too-many{color:#fca5a5}.player-req-tag.ready{color:#86efac}.room-game-actions{gap:8px;display:flex}.vote-button,.start-button{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;justify-content:center;align-items:center;padding:9px 12px;font-size:.88rem;font-weight:600;display:inline-flex}.vote-button{background:var(--bg-pill);color:var(--text-primary);border:1px solid var(--border-glass)}.vote-button:hover:not(:disabled){background:var(--bg-pill-hover);border-color:var(--border-glass-hover)}.vote-button.is-selected{background:var(--gradient-accent-primary);color:var(--text-on-accent);border-color:#0000}.start-button{background:var(--color-success);color:#fff}.start-button:hover:not(:disabled){filter:brightness(1.1)}.vote-button:disabled,.start-button:disabled{color:#ffffff73;cursor:not-allowed;box-shadow:none;background:#ffffff0f;border:1px solid #ffffff12}.qr-modal-content-inner{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.qr-code-wrapper{border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fff;justify-content:center;align-items:center;padding:12px;display:flex}@media (width<=680px){.lobby-content{grid-template-columns:1fr;gap:16px}.room-players-section,.room-games-section{padding:16px}}@media (width<=600px){.room-lobby-container{padding-top:max(12px, calc(10px + var(--safe-area-top)));padding-bottom:max(20px, calc(16px + var(--safe-area-bottom)));padding-left:max(10px, calc(8px + var(--safe-area-left)));padding-right:max(10px, calc(8px + var(--safe-area-right)))}.room-title{font-size:1.8rem}.room-header{gap:10px;margin-bottom:16px}.room-actions{gap:6px}.room-action-btn{min-width:0;padding:8px 6px;font-size:.8rem}.game-icon{font-size:1.8rem}.room-players-section,.room-games-section{padding:14px 12px}.room-game-card{gap:10px;padding:12px}.games-grid{gap:10px}}@media (width<=400px){.room-title{font-size:1.55rem}.room-actions{gap:4px}.room-action-btn{gap:3px;padding:7px 4px;font-size:.74rem}.room-player-name{font-size:.85rem}}@media (orientation:landscape) and (height<=520px){.room-lobby-container{padding-top:max(8px, calc(6px + var(--safe-area-top)));padding-bottom:max(12px, calc(8px + var(--safe-area-bottom)));padding-left:max(14px, calc(12px + var(--safe-area-left)));padding-right:max(14px, calc(12px + var(--safe-area-right)))}.room-header{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.room-title-row{flex-direction:row;align-items:center;gap:10px}.room-title{font-size:1.35rem;line-height:1.1}.room-actions{justify-content:flex-end;gap:6px;width:auto;max-width:none}.room-action-btn{padding:6px 10px;font-size:.76rem}.lobby-content{grid-template-columns:minmax(210px,240px) 1fr;gap:12px}.room-players-section,.room-games-section{padding:10px 12px}.section-header{margin-bottom:8px}.section-header h2{font-size:1rem}.room-players-list{gap:6px;max-height:calc(100dvh - 120px)}.room-player-item{padding:7px 10px}.games-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;max-height:calc(100dvh - 120px);padding-right:4px;overflow-y:auto}.room-game-card{gap:8px;padding:10px 12px}.game-icon{font-size:1.6rem}.game-name{font-size:.95rem}}.home-button{top:calc(14px + var(--safe-area-top));left:calc(14px + var(--safe-area-left));-webkit-backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);z-index:1000;background:#161b2ed9;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 4px 12px #0000004d}.home-button:hover{background:#202640f2;border-color:#ffffff38;transform:translateY(-1px)}.home-button:active{transform:translateY(0)}@media (width<=600px){.home-button{padding:7px 13px;font-size:.82rem}}.install-pwa-banner{bottom:max(12px, calc(10px + var(--safe-area-bottom)));z-index:1000;width:min(100% - 24px,440px);animation:.3s cubic-bezier(.16,1,.3,1) pwaSlideUp;position:fixed;left:50%;transform:translate(-50%)}@keyframes pwaSlideUp{0%{opacity:0;transform:translate(-50%)translateY(30px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.install-pwa-content{background:var(--bg-surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--text-primary);align-items:center;gap:12px;padding:12px 16px;display:flex}.install-pwa-icon{flex-shrink:0;font-size:24px;line-height:1}.install-pwa-text{flex:1;min-width:0}.install-pwa-title{color:var(--text-primary);margin-bottom:2px;font-size:.9rem;font-weight:600}.install-pwa-subtitle{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.install-pwa-button{background:var(--gradient-accent-primary);color:var(--text-on-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-button);border:none;flex-shrink:0;padding:7px 15px;font-size:.85rem;font-weight:600}.install-pwa-button:hover{filter:brightness(1.1);box-shadow:var(--shadow-button-hover)}.install-pwa-close{color:var(--text-secondary);cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:flex}.install-pwa-close:hover{color:var(--text-primary);background:var(--bg-pill-hover)}@media (orientation:landscape) and (height<=520px){.install-pwa-banner{bottom:max(6px, calc(4px + var(--safe-area-bottom)));max-width:360px}.install-pwa-content{border-radius:var(--radius-md);gap:8px;padding:6px 12px}.install-pwa-icon{font-size:18px}.install-pwa-title{margin-bottom:0;font-size:.8rem}.install-pwa-subtitle{display:none}.install-pwa-button{padding:5px 10px;font-size:.75rem}}.notification-container{top:max(14px, calc(10px + var(--safe-area-top)));right:max(14px, calc(10px + var(--safe-area-right)));z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.notification-toast{background:var(--bg-surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);min-width:280px;max-width:380px;box-shadow:var(--shadow-card);pointer-events:auto;cursor:pointer;border:1px solid var(--border-glass);color:var(--text-primary);justify-content:space-between;align-items:center;padding:12px 16px;animation:.25s cubic-bezier(.16,1,.3,1) forwards notifSlideIn;display:flex}.notification-content{align-items:center;gap:10px;min-width:0;display:flex}.notification-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:1rem;font-weight:700;display:flex}.notification-message{color:var(--text-secondary);font-size:.88rem;font-weight:500;line-height:1.4}.notification-close{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:0 0 0 10px;font-size:1.25rem;line-height:1}.notification-close:hover{color:var(--text-primary)}.notification-success{border-left:3px solid var(--color-success)}.notification-success .notification-icon{background:var(--color-success-bg);color:var(--color-success)}.notification-error{border-left:3px solid var(--color-error)}.notification-error .notification-icon{background:var(--color-error-bg);color:var(--color-error)}.notification-info{border-left:3px solid var(--color-info)}.notification-info .notification-icon{background:var(--color-info-bg);color:var(--color-info)}@keyframes notifSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (width<=768px){.notification-container{top:max(12px, calc(8px + var(--safe-area-top)));bottom:auto;left:max(12px, calc(8px + var(--safe-area-left)));right:max(12px, calc(8px + var(--safe-area-right)));align-items:center}.notification-toast{width:100%;min-width:auto;animation:.25s cubic-bezier(.16,1,.3,1) forwards notifSlideDown}}@keyframes notifSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.App{flex-direction:column;min-height:100dvh;display:flex;position:relative}
