*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Outfit,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;background-color:var(--bg, #0D1120);color:var(--t1, #EFF1FB);transition:background-color .25s ease,color .25s ease}#root{min-height:100vh}a{color:inherit}button{font-family:inherit;cursor:pointer;border:none}:root{--bg: #141414;--s1: #1F1F1F;--s2: #282828;--s3: #323232;--s4: #3C3C3C;--t1: #F2F2F2;--t2: #999999;--t3: #5E5E5E;--t4: #3C3C3C;--bd: rgba(255,255,255,.08);--bd2: rgba(255,255,255,.14);--bd3: rgba(255,255,255,.22);--sh-xs: 0 2px 8px rgba(0,0,0,.45);--sh-sm: 0 4px 16px rgba(0,0,0,.55);--sh-md: 0 8px 32px rgba(0,0,0,.65);--sh-lg: 0 16px 48px rgba(0,0,0,.75);--sh-xl: 0 24px 64px rgba(0,0,0,.8);--rot: #FF4D72;--rot-d: #E83060;--rot-g: rgba(255,77,114,.4);--rot-s: rgba(255,77,114,.12);--rot-b: rgba(255,77,114,.25);--blau: #4D9EFF;--blau-d: #2D80E8;--blau-g: rgba(77,158,255,.4);--blau-s: rgba(77,158,255,.12);--blau-b: rgba(77,158,255,.25);--buzz: #FFD166;--buzz-d: #F0B830;--buzz-g: rgba(255,209,102,.4);--buzz-s: rgba(255,209,102,.12);--buzz-b: rgba(255,209,102,.25);--ok: #4DFFAA;--ok-s: rgba(77,255,170,.12);--ok-b: rgba(77,255,170,.25);--err: #FF4D72;--warn: #FFD166;--r1: 8px;--r2: 12px;--r3: 16px;--r4: 22px;--r5: 30px;--pill: 999px;--t: .18s cubic-bezier(.4,0,.2,1);--t-spring: .35s cubic-bezier(.34,1.56,.64,1);--accent: var(--blau);--accent-d: var(--blau-d);--accent-g: var(--blau-g);--accent-s: var(--blau-s);--accent-b: var(--blau-b)}[data-theme=light]{--bg: #F2F2F2;--s1: #FFFFFF;--s2: #F7F7F7;--s3: #EBEBEB;--s4: #E0E0E0;--t1: #111111;--t2: #666666;--t3: #A8A8A8;--t4: #CCCCCC;--bd: rgba(0,0,0,.08);--bd2: rgba(0,0,0,.13);--bd3: rgba(0,0,0,.2);--sh-xs: 0 2px 8px rgba(0,0,0,.06);--sh-sm: 0 4px 16px rgba(0,0,0,.08);--sh-md: 0 8px 32px rgba(0,0,0,.1);--sh-lg: 0 16px 48px rgba(0,0,0,.12);--sh-xl: 0 24px 64px rgba(0,0,0,.15);--rot-g: rgba(255,77,114,.4);--rot-s: rgba(255,77,114,.1);--rot-b: rgba(255,77,114,.3);--blau-g: rgba(77,158,255,.4);--blau-s: rgba(77,158,255,.1);--blau-b: rgba(77,158,255,.3);--buzz-g: rgba(255,209,102,.4);--buzz-s: rgba(255,209,102,.1);--buzz-b: rgba(255,209,102,.3);--ok-s: rgba(40,200,120,.1);--ok-b: rgba(40,200,120,.28);--ok: #1AAB6D;--accent: var(--rot);--accent-d: var(--rot-d);--accent-g: var(--rot-g);--accent-s: var(--rot-s);--accent-b: var(--rot-b)}[data-accent=rot]{--accent: var(--rot);--accent-d: var(--rot-d);--accent-g: var(--rot-g);--accent-s: var(--rot-s);--accent-b: var(--rot-b)}[data-accent=blau]{--accent: var(--blau);--accent-d: var(--blau-d);--accent-g: var(--blau-g);--accent-s: var(--blau-s);--accent-b: var(--blau-b)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-spring{0%{opacity:0;transform:scale(.88) translateY(8px)}60%{transform:scale(1.04) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes hint-reveal{0%{opacity:0;transform:translateY(10px) scale(.97)}60%{transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes buzz-ring{0%{box-shadow:0 0 0 0 var(--accent-g)}60%{box-shadow:0 0 0 22px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes buzz-ring-2{0%{box-shadow:0 0 0 10px #ffd1662e}to{box-shadow:0 0 0 30px #ffd16600}}@keyframes glow-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes score-pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes danger-blink{0%,to{opacity:1}50%{opacity:.5}}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes intro-scale{0%{transform:scale(1.4);opacity:0}to{transform:scale(1);opacity:1}}.animate-pop{animation:pop-spring var(--t-spring) forwards}.animate-up{animation:slide-up-fade .3s var(--t) forwards}.spin{animation:spin .7s linear infinite}.app-shell{display:flex;flex-direction:column;min-height:100vh;max-width:960px;margin:0 auto;padding:0 16px 56px;gap:0}.app-main{flex:1;display:flex;flex-direction:column;gap:16px;padding-top:20px}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r5);padding:10px 16px;position:sticky;top:12px;margin:12px 0 0;z-index:100;box-shadow:var(--sh-sm)}.app-header>.room-meta{justify-self:start}.app-header>.brand{justify-self:center}.app-header>.header-actions{justify-self:end;position:relative;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:var(--r2);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-d) 100%);color:#fff;font-weight:900;font-size:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:width var(--t),height var(--t),font-size var(--t),border-radius var(--t)}.brand-text{font-size:20px;font-weight:800;color:var(--t1);letter-spacing:-.3px;transition:font-size var(--t)}.app-header--hero{padding:20px 24px 24px;flex-direction:column;gap:14px;display:flex;align-items:center;justify-content:center}.app-header--hero>.room-meta{display:none}.app-header--hero>.header-actions{position:absolute;top:16px;right:20px}.app-header--hero .brand{flex-direction:column;gap:12px}.app-header--hero .brand-mark{width:72px;height:72px;font-size:36px;border-radius:var(--r3);box-shadow:0 0 40px var(--rot-g)}.app-header--hero .brand-text{font-size:42px;font-weight:900;letter-spacing:-1px}.room-meta{display:flex;flex-direction:column;gap:1px}.room-code-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--t3);display:flex;align-items:center;gap:3px}.room-code-label svg{color:var(--accent);width:9px;height:9px}.room-code-row{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border-radius:var(--r1);padding:3px 6px 3px 2px;transition:background var(--t);-webkit-user-select:none;user-select:none}.room-code-row:hover{background:var(--accent-s)}.room-code-row:hover .room-code{text-shadow:0 0 12px var(--accent-g)}.room-code{font-size:16px;font-weight:500;letter-spacing:3px;color:var(--accent);transition:text-shadow var(--t)}.room-code-copy{color:var(--t3);width:12px;height:12px;transition:color var(--t)}.room-code-row:hover .room-code-copy{color:var(--accent)}.room-code-copied{font-size:11px;color:var(--ok);font-weight:700;display:inline-flex;align-items:center;gap:3px}.menu-trigger{width:38px;height:38px;border-radius:var(--r2);border:1px solid var(--bd2);background:var(--s2);color:var(--t2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t);flex-shrink:0;position:relative;z-index:1;transform:translateZ(0)}.menu-trigger:hover{background:var(--accent-s);border-color:var(--accent-b);color:var(--accent);box-shadow:0 0 12px var(--accent-g)}.menu-trigger:active{transform:scale(.94)}.menu-trigger.theme-toggle--sun:hover,.menu-trigger.theme-toggle--moon:hover{background:var(--accent-s);border-color:var(--accent-b);color:var(--accent);box-shadow:0 0 12px var(--accent-g)}.menu-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;background:var(--s2);border:1px solid var(--bd2);border-radius:var(--r3);box-shadow:var(--sh-lg),0 0 40px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;z-index:200;animation:slide-up-fade .2s ease-out forwards}.menu-dropdown button{width:100%;height:42px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 16px;background:transparent;color:var(--t2);font-size:14px;font-weight:600;border-radius:0;border:none;border-bottom:1px solid var(--bd);box-shadow:none;transition:background var(--t),color var(--t);white-space:nowrap}.menu-dropdown button:last-child{border-bottom:none}.menu-dropdown button:hover{background:var(--s3);color:var(--t1);transform:none;filter:none}.menu-dropdown button svg{width:15px;height:15px;flex-shrink:0}.menu-dropdown button.danger{color:var(--err);border:none;border-bottom:1px solid var(--bd);border-radius:0;padding:0 16px;width:100%;height:42px;box-shadow:none;justify-content:flex-start}.menu-dropdown button.danger:hover{background:var(--rot-s);color:var(--err);transform:none;box-shadow:none}.menu-dropdown hr{border:none;border-top:1px solid var(--bd2);margin:0}.heading-with-icon,.with-icon{display:inline-flex;align-items:center;gap:8px}p.with-icon{display:flex}.heading-with-icon svg,.with-icon svg{width:18px;height:18px;flex-shrink:0}.icon-button{width:34px;height:34px;border-radius:var(--r1);background:transparent;color:var(--t3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t),color var(--t)}.icon-button:hover{background:var(--s3);color:var(--t1)}.icon-button:active{transform:scale(.92)}.icon-button svg{width:16px;height:16px}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--t3);gap:10px;font-size:15px}.primary,.secondary,.ghost,button.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--r2);font-weight:700;font-size:14px;padding:0 20px;height:42px;transition:all var(--t);cursor:pointer;white-space:nowrap;border:none}.primary svg,.secondary svg,.ghost svg{width:16px;height:16px;flex-shrink:0}.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-d) 100%);color:#fff}.primary:hover{box-shadow:0 0 24px var(--accent-g)}.primary:active{transform:scale(.97)}.primary:disabled{opacity:.4;pointer-events:none}.secondary{background:var(--s2);color:var(--blau);border:1px solid var(--blau-b);box-shadow:0 0 0 0 var(--blau-g)}.secondary:hover{background:var(--blau-s);box-shadow:0 0 20px var(--blau-g)}.secondary:active{transform:scale(.97)}.secondary:disabled{opacity:.4;pointer-events:none}.ghost{background:transparent;color:var(--t2);border:1px solid var(--bd2)}.ghost:hover{background:var(--s3);color:var(--t1);border-color:var(--bd3)}.ghost:active{transform:scale(.97)}.ghost:disabled{opacity:.4;pointer-events:none}button.danger{background:transparent;color:var(--err);border:1px solid var(--rot-b)}button.danger:hover{background:var(--rot-s);box-shadow:0 0 12px var(--rot-g)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t3)}.field-hint{font-size:12px;color:var(--t3)}input,textarea,select{background:var(--s2);border:1px solid var(--bd2);border-radius:var(--r2);color:var(--t1);font-family:inherit;font-size:15px;font-weight:500;padding:10px 14px;outline:none;transition:border-color var(--t),box-shadow var(--t);width:100%}input::placeholder,textarea::placeholder{color:var(--t3)}input:focus,textarea:focus{border-color:var(--t3)}input:disabled{opacity:.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-backdrop{position:fixed;inset:0;background:#000000b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:300;animation:fade-in .15s ease}.modal-card{width:min(460px,100%);background:var(--s1);border:1px solid var(--bd2);border-radius:var(--r5);box-shadow:var(--sh-xl),0 0 60px #4d9eff0f;padding:28px;display:flex;flex-direction:column;gap:22px;color:var(--t1);max-height:92vh;overflow-y:auto;animation:pop-spring .3s cubic-bezier(.34,1.56,.64,1)}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:20px;font-weight:800;color:var(--t1)}.modal-body{display:flex;flex-direction:column;gap:18px}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.status-banner{position:fixed;bottom:24px;left:50%;transform:translate(-50%);min-width:280px;max-width:480px;background:var(--s2);border:1px solid var(--bd2);border-radius:var(--pill);box-shadow:var(--sh-md);padding:12px 20px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--t1);z-index:500;animation:slide-up-fade .25s var(--t) forwards}.status-banner svg{width:16px;height:16px;flex-shrink:0}.status-banner.error{border-color:var(--rot-b);color:var(--rot)}.status-banner.info{border-color:var(--blau-b);color:var(--blau)}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--pill);font-size:11px;font-weight:700;background:var(--s3);color:var(--t2)}.tag.me{background:var(--s3);color:var(--t2);border:1px solid var(--bd2)}.tag.me.team-a{background:var(--rot-s);color:var(--rot);border:1px solid var(--rot-b)}.tag.me.team-b{background:var(--blau-s);color:var(--blau);border:1px solid var(--blau-b)}.tag.host{background:var(--buzz-s);color:var(--buzz-d);border:1px solid var(--buzz-b)}.tag-success{background:var(--ok-s);color:var(--ok);border:1px solid var(--ok-b)}.tag-neutral{background:var(--s3);color:var(--t2)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border-radius:var(--pill);font-size:12px;font-weight:700;background:var(--s2);color:var(--t2);border:1px solid var(--bd2);letter-spacing:.1px}.chip svg{width:13px;height:13px;flex-shrink:0}.role-badge{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:var(--pill);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.role-badge.role-hm{background:var(--rot-s);color:var(--rot);border:1px solid var(--rot-b)}.role-badge.role-hm.team-b,.role-badge.role-hunter{background:var(--blau-s);color:var(--blau);border:1px solid var(--blau-b)}.role-badge.role-hunter.team-a{background:var(--rot-s);color:var(--rot);border:1px solid var(--rot-b)}.eliminated-badge{display:flex;align-items:center;gap:8px;background:var(--rot-s);border:1px solid var(--rot-b);border-radius:var(--r2);padding:10px 14px;color:var(--rot);font-size:13px;font-weight:700}.eliminated-badge svg{width:16px;height:16px;flex-shrink:0}.landing-shell{display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px;padding:20px 16px 40px}.landing-hero{display:flex;flex-direction:column;align-items:center;gap:20px}.landing-logo{display:flex;align-items:center;gap:16px}.logo-mark{width:80px;height:80px;border-radius:var(--r4);background:linear-gradient(145deg,#ff4d72,#ff8c42);color:#fff;font-size:42px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 32px var(--rot-g),0 8px 24px #0006}.logo-hints{font-size:56px;font-weight:900;letter-spacing:-2px;background:linear-gradient(135deg,var(--t1) 0%,var(--t2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.landing-sub{font-size:16px;color:var(--t2);line-height:1.6;max-width:380px}.landing-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.landing-actions{display:grid;gap:28px;width:100%;max-width:520px;grid-template-columns:1fr 1fr}.action-card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r4);box-shadow:var(--sh-sm);padding:24px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;cursor:pointer;transition:box-shadow var(--t),border-color var(--t),filter var(--t),transform var(--t)}.action-card.create:hover,.action-card.join:hover{border-color:var(--accent-b);box-shadow:0 0 32px var(--accent-g)}.action-card:active{transform:scale(.97)}.action-icon{width:44px;height:44px;border-radius:var(--r2);display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.action-icon svg{width:22px;height:22px}.action-card.create .action-icon,.action-card.join .action-icon{background:var(--accent-s);color:var(--accent)}.action-label{font-size:16px;font-weight:800;color:var(--t1)}.action-sub{font-size:13px;color:var(--t2)}.lobby-shell{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r5);padding:28px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--sh-sm)}.lobby-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.lobby-top h2{font-size:24px;font-weight:900;color:var(--t1)}.lobby-subtitle{font-size:13px;color:var(--t3);margin-top:2px}.lobby-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--buzz-s);border:1px solid var(--buzz-b);border-left:3px solid var(--buzz);border-radius:var(--r2);font-size:13px;font-weight:600;color:var(--t2)}.lobby-hint svg{color:var(--buzz);width:15px;height:15px;flex-shrink:0}.lobby-actions{display:flex;align-items:center;gap:10px}.teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.team-column{background:var(--s2);border-radius:var(--r4);overflow:hidden;border:1px solid var(--bd);display:flex;flex-direction:column}.team-column.team-a{border-top:3px solid var(--rot)}.team-column.team-b{border-top:3px solid var(--blau)}.team-column-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 12px;border-bottom:1px solid var(--bd)}.team-column-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800}.team-column.team-a .team-column-title{color:var(--rot)}.team-column.team-b .team-column-title{color:var(--blau)}.team-column-title svg{width:16px;height:16px}.team-players{display:flex;flex-direction:column;padding:10px 12px;gap:6px;flex:1}.player-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r2);background:var(--s1);border:1px solid var(--bd)}.player-avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}.team-column.team-a .player-avatar{background:var(--rot-s);color:var(--rot)}.team-column.team-b .player-avatar{background:var(--blau-s);color:var(--blau)}.unassigned-panel .player-avatar{background:var(--s3);color:var(--t2)}.player-name{font-size:14px;font-weight:600;color:var(--t1);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-flair{display:none}.player-tags{display:flex;gap:4px}.team-join-button{width:100%;padding:10px;margin-top:4px;background:transparent;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:background var(--t),color var(--t);border-radius:0 0 var(--r3) var(--r3);border-top:1px solid var(--bd)}.team-join-button.team-a{color:var(--rot)}.team-join-button.team-a:hover{background:var(--rot-s)}.team-join-button.team-b{color:var(--blau)}.team-join-button.team-b:hover{background:var(--blau-s)}.empty-placeholder{padding:20px;text-align:center;font-size:13px;color:var(--t3);font-style:italic}.unassigned-panel{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r3);padding:14px 16px}.unassigned-panel h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t3);margin-bottom:10px}.settings-panel{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r3);padding:18px;display:flex;flex-direction:column;gap:14px}.settings-panel-header{display:flex;justify-content:space-between;align-items:center}.settings-panel-title{font-size:15px;font-weight:800;color:var(--t1)}.settings-groups{display:flex;flex-direction:column;gap:14px}.settings-group{display:flex;flex-direction:column;gap:6px}.settings-group-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t3)}.settings-list{display:flex;flex-direction:column;gap:3px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--r1);background:var(--s1);border:1px solid var(--bd)}.settings-label{font-size:13px;color:var(--t2);font-weight:500}.settings-value{font-size:13px;color:var(--t1);font-weight:800}.settings-modal-group{display:flex;flex-direction:column;gap:12px}.settings-modal-group-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t3)}.ingame-shell{display:flex;flex-direction:column;gap:16px}.ingame-card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r4);padding:28px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:16px;text-align:center}.ingame-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.scoreboard{display:flex;align-items:stretch;gap:0;background:var(--s1);border:1px solid var(--bd);border-radius:var(--r4);overflow:hidden;box-shadow:var(--sh-sm)}.score-side{flex:1;display:flex;flex-direction:column;gap:6px;padding:16px 20px}.score-side.rot{border-left:3px solid var(--rot)}.score-side.blau{border-right:3px solid var(--blau);align-items:flex-end}.score-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--t3)}.score-number{font-size:48px;font-weight:900;line-height:1}.score-side.rot .score-number{color:var(--rot)}.score-side.blau .score-number{color:var(--blau)}.score-bar{height:4px;border-radius:var(--pill);background:var(--s3);overflow:hidden;width:100%}.score-bar-fill{height:100%;border-radius:var(--pill);transition:width .6s cubic-bezier(.4,0,.2,1)}.score-side.rot .score-bar-fill{background:var(--rot)}.score-side.blau .score-bar-fill{background:var(--blau)}.score-vs{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);border-left:1px solid var(--bd);border-right:1px solid var(--bd)}.round-shell{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r5);padding:28px;box-shadow:var(--sh-sm);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px}.round-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.round-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:var(--pill);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;background:var(--s3);color:var(--t2);border:1px solid var(--bd2)}.round-footer{display:flex;justify-content:flex-end}.round-muted{font-size:13px;color:var(--t3)}.round-teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.round-team-card{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r4);overflow:hidden}.round-team-card.team-a{border-top:3px solid var(--rot)}.round-team-card.team-b{border-top:3px solid var(--blau)}.round-team-card-header{padding:14px 16px;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;align-items:flex-end;gap:8px}.round-team-card-header h3{font-size:14px;font-weight:800;color:var(--t1)}.round-team-card.team-a .round-team-card-header h3{color:var(--rot)}.round-team-card.team-b .round-team-card-header h3{color:var(--blau)}.round-revealed-word{font-size:20px;font-weight:900;color:var(--t1);letter-spacing:1px;line-height:1}.round-points-badge{font-size:20px;font-weight:900;line-height:1}.round-points-badge.rot{color:var(--rot)}.round-points-badge.blau{color:var(--blau)}.round-points-badge.zero{color:var(--t3)}.round-card-section{padding:12px 16px;display:flex;flex-direction:column;gap:6px}.section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--t3)}.section-content{font-size:14px;font-weight:700;color:var(--t1)}.section-content.highlight{background:var(--ok-s);color:var(--ok);padding:6px 10px;border-radius:var(--r1)}.round-hints-list{display:flex;flex-direction:column;gap:4px;padding:0;list-style:none}.round-hints-list li{font-size:13px;color:var(--t2);padding:4px 0;border-bottom:1px solid var(--bd)}.round-hints-list li:last-child{border-bottom:none}.hint-missing{color:var(--t3);font-style:italic}.hint-panel{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r4);padding:24px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.hint-panel.team-a.locked{border-color:var(--rot-b)}.hint-panel.team-b.locked{border-color:var(--blau-b)}.hint-panel.team-b .secret-word-wrap{background:var(--blau-s);border-color:var(--blau-b)}.hint-panel.team-b .secret-word{color:var(--blau)}.hint-panel.team-b .hint-field{border-left-color:var(--blau)}.hint-panel.team-b .hint-index{background:var(--blau-s);color:var(--blau)}.hint-panel.team-b button.primary{background:linear-gradient(135deg,var(--blau) 0%,#2d7fd4 100%)}.hint-panel.team-b button.primary:hover:not(:disabled){box-shadow:0 0 20px var(--blau-g)}.hint-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.hint-panel-header>div:first-child{display:flex;flex-direction:column;gap:12px}.hint-panel-header h3{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--t3);margin:0;display:flex;align-items:center;gap:6px}.secret-word-wrap{display:inline-block;margin-top:0;background:var(--rot-s);border:1px solid var(--rot-b);border-radius:var(--r2);padding:8px 18px}.secret-word{font-size:28px;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:var(--rot);margin:0}.hint-countdown{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0}.countdown-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--t3)}.countdown-value{font-size:22px;font-weight:900;color:var(--t2);font-variant-numeric:tabular-nums}.hint-countdown.danger .countdown-value{color:var(--rot);animation:danger-blink .6s ease-in-out infinite}.hint-input-form{display:flex;flex-direction:column;gap:16px}.hint-input-grid{display:flex;flex-direction:column;gap:8px}.hint-field{display:flex;align-items:center;gap:12px;background:var(--s2);border:1px solid var(--bd2);border-radius:var(--r2);padding:4px;transition:border-color var(--t),box-shadow var(--t);border-left:3px solid var(--rot)}.hint-field:focus-within{border-color:var(--t3);border-left-color:var(--rot)}.hint-panel.team-b .hint-field:focus-within{border-left-color:var(--blau)}.hint-index{width:30px;height:30px;flex-shrink:0;border-radius:var(--r1);background:var(--rot-s);color:var(--rot);font-size:13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.hint-field input{background:transparent;border:none;box-shadow:none;font-size:15px;font-weight:600;padding:8px 10px}.hint-field input:focus{box-shadow:none;border-color:transparent}.hint-panel-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.hint-panel-meta{display:flex;align-items:center;gap:8px}.hint-status{font-size:13px;color:var(--t3);display:flex;align-items:center;gap:6px}.hint-status svg{width:14px;height:14px;flex-shrink:0}.hint-error{font-size:13px;color:var(--err);font-weight:600}.hint-intro-overlay{position:absolute;inset:0;background:var(--s2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--r4)}.hint-intro-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.hint-intro-role-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);background:var(--accent-s);border:1px solid var(--accent-b);border-radius:var(--pill);padding:4px 12px}.hint-panel.team-a .hint-intro-role-badge{color:var(--rot);background:var(--rot-s);border-color:var(--rot-b)}.hint-panel.team-b .hint-intro-role-badge{color:var(--blau);background:var(--blau-s);border-color:var(--blau-b)}.hint-intro-circle{width:120px;height:120px;border-radius:50%;background:var(--s3);border:3px solid var(--accent);display:flex;align-items:center;justify-content:center;animation:intro-scale .35s cubic-bezier(.34,1.56,.64,1) forwards}.hint-panel.team-a .hint-intro-circle{border-color:var(--rot)}.hint-panel.team-b .hint-intro-circle{border-color:var(--blau)}.hint-intro-circle.los{border-color:var(--ok);box-shadow:0 0 40px var(--ok-s)}.hint-intro-num{font-size:56px;font-weight:900;color:var(--t1);line-height:1}.hint-intro-sub{font-size:14px;color:var(--t2);font-weight:600}.waiting-card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r4);padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;box-shadow:var(--sh-sm);position:relative;min-height:420px}.waiting-card-time{position:absolute;top:16px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.waiting-icon{width:56px;height:56px;border-radius:50%;background:var(--blau-s);color:var(--blau);display:flex;align-items:center;justify-content:center;animation:glow-pulse 2s ease-in-out infinite;box-shadow:0 0 20px var(--blau-s)}.waiting-icon.team-a{background:var(--rot-s);color:var(--rot);box-shadow:0 0 20px var(--rot-s)}.waiting-icon svg{width:28px;height:28px}.round-shell .ingame-header h2{font-size:20px;font-weight:900;color:var(--t1)}.guessing-intro-overlay{display:flex;align-items:center;justify-content:center;padding:40px 0}.guessing-intro-card{background:var(--s2);border:1px solid var(--bd2);border-radius:var(--r5);padding:36px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:var(--sh-md),0 0 60px var(--blau-s);border-top:3px solid var(--blau)}.guessing-intro-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--blau)}.guessing-intro-count{font-size:72px;font-weight:900;color:var(--t1);line-height:1}.hint-reveal-list{display:flex;flex-direction:column;gap:8px}.hint-reveal-row{display:flex;align-items:center;gap:12px;background:var(--s2);border:1px solid var(--bd);border-radius:var(--r3);padding:12px 14px;transition:all var(--t)}.hint-reveal-row.revealed{background:var(--s1);border-color:var(--bd2);animation:hint-reveal .4s cubic-bezier(.34,1.56,.64,1) forwards}.hint-reveal-row.hidden{opacity:.55}.hint-reveal-row.missing{opacity:.4}.hint-reveal-row .hint-index{width:28px;height:28px;border-radius:var(--r1);flex-shrink:0;background:var(--s3);color:var(--t3);font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.hint-reveal-row.revealed .hint-index{background:var(--accent-s);color:var(--accent)}.hint-reveal-list.team-a .hint-reveal-row.revealed .hint-index{background:var(--rot-s);color:var(--rot)}.hint-reveal-list.team-b .hint-reveal-row.revealed .hint-index{background:var(--blau-s);color:var(--blau)}.hint-reveal-text{flex:1;font-size:15px;font-weight:600;color:var(--t1)}.hint-reveal-row.hidden .hint-reveal-text{color:transparent;-webkit-user-select:none;user-select:none}.hint-reveal-row.missing .hint-reveal-text{font-style:italic;color:var(--t3)}.hint-points-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--pill);font-size:11px;font-weight:800;background:var(--accent-s);color:var(--accent)}.hint-reveal-list.team-a .hint-points-badge{background:var(--rot-s);color:var(--rot)}.hint-reveal-list.team-b .hint-points-badge{background:var(--blau-s);color:var(--blau);border:1px solid var(--blau-b);flex-shrink:0}.hint-countdown-bar{display:flex;flex-direction:column;gap:6px}.hint-countdown-track{height:5px;border-radius:var(--pill);background:var(--s3);overflow:hidden}.hint-countdown-fill{height:100%;border-radius:var(--pill);background:var(--accent);transition:width .25s linear,background var(--t)}.hint-countdown-bar.team-a .hint-countdown-fill{background:var(--rot)}.hint-countdown-bar.team-b .hint-countdown-fill{background:var(--blau)}.hint-countdown-bar.danger .hint-countdown-fill{background:var(--rot)!important}.hint-countdown-bar.paused .hint-countdown-fill{background:var(--t3)}.hint-countdown-label{font-size:12px;font-weight:700;color:var(--t3);text-align:right}.chance-banner{display:flex;align-items:center;gap:8px;background:#1aab6d1f;border:1px solid rgba(26,171,109,.3);border-radius:var(--r2);padding:10px 14px;color:#1aab6d;font-size:13px;font-weight:700}.chance-banner svg{width:16px;height:16px;flex-shrink:0}.buzz-section{display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 0}.buzz-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.buzz-button{width:180px;height:180px;border-radius:50%;background:linear-gradient(145deg,var(--accent) 0%,var(--accent-d) 100%);color:#fff;font-size:22px;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:none;box-shadow:0 0 0 0 var(--accent-g),var(--sh-lg);animation:buzz-ring 2s ease-out infinite;transition:transform var(--t),filter var(--t);text-transform:uppercase;letter-spacing:2px}.buzz-button:hover{transform:scale(1.06)}.buzz-button:active{transform:scale(.95)}.buzz-button.disabled{background:var(--s3);color:var(--t3);animation:none;box-shadow:none;cursor:not-allowed;opacity:.5}.buzz-hint{font-size:13px;color:var(--t3);font-weight:600;text-align:center}.buzz-hint.error{color:var(--err)}.buzz-event-banner{background:var(--rot-s);border:1px solid var(--rot-b);border-radius:var(--r2);padding:10px 16px;font-size:14px;font-weight:700;color:var(--rot);display:flex;align-items:center;gap:8px;width:100%;text-align:center;justify-content:center}.buzz-event-banner.team-b{background:var(--blau-s);border-color:var(--blau-b);color:var(--blau)}.buzz-event-banner svg{width:16px;height:16px}.answer-confirm-panel{background:var(--s1);border:2px solid var(--bd);border-radius:var(--r4);padding:20px;display:flex;flex-direction:column;gap:14px}.answer-confirm-panel.team-a{border-color:var(--rot-b);box-shadow:0 0 32px var(--rot-s)}.answer-confirm-panel.team-b{border-color:var(--blau-b);box-shadow:0 0 32px var(--blau-s)}.answer-confirm-panel h3{font-size:15px;font-weight:800;color:var(--t1)}.confirm-actions{display:flex;gap:10px}.btn-correct{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--r2);border:none;cursor:pointer;font-size:14px;font-weight:700;background:#1aab6d;color:#fff;transition:box-shadow var(--t)}.btn-correct:hover:not(:disabled){box-shadow:0 0 20px #1aab6d66}.btn-correct:disabled{opacity:.4;pointer-events:none}.btn-incorrect{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--r2);border:none;cursor:pointer;font-size:14px;font-weight:700;background:var(--rot);color:#fff;transition:box-shadow var(--t)}.btn-incorrect:hover:not(:disabled){box-shadow:0 0 20px var(--rot-g)}.btn-incorrect:disabled{opacity:.4;pointer-events:none}.vote-disagreement{display:flex;align-items:center;gap:8px;background:var(--rot-s);border:1px solid var(--rot-b);border-radius:var(--r2);padding:10px 14px;color:var(--rot);font-size:13px;font-weight:700}.vote-status{display:flex;flex-direction:column;gap:6px}.vote-status-item{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:var(--r2);background:var(--s2);border:1px solid var(--bd);font-size:14px}.vote-status-item.voted-correct{background:var(--ok-s);border-color:var(--ok-b)}.vote-status-item.voted-incorrect{background:var(--rot-s);border-color:var(--rot-b)}.vote-status-label{font-weight:700;color:var(--t1)}.vote-status-value{color:var(--t2);display:inline-flex;align-items:center;gap:4px}.vote-status-value.vote-correct{color:var(--ok);font-weight:700}.vote-status-value.vote-incorrect{color:var(--rot);font-weight:700}.word-result-card{background:var(--s1);border:1px solid var(--bd2);border-radius:var(--r5);padding:36px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:var(--sh-lg)}.word-result-card.team-a-win{box-shadow:var(--sh-lg),0 0 60px var(--rot-s);border-color:var(--rot-b)}.word-result-card.team-b-win{box-shadow:var(--sh-lg),0 0 60px var(--blau-s);border-color:var(--blau-b)}.word-result-icon-wrap{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:score-pop .5s cubic-bezier(.34,1.56,.64,1) forwards}.word-result-icon-wrap.correct{background:var(--ok-s);color:var(--ok);box-shadow:0 0 32px var(--ok-b)}.word-result-icon-wrap.wrong{background:var(--s3);color:var(--t3)}.word-result-icon-wrap svg{width:38px;height:38px}.word-result-secret{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0}.word-result-secret-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--t3)}.word-result-secret-word{font-size:26px;font-weight:900;letter-spacing:.04em;color:var(--t1)}.word-result-team-name{font-size:22px;font-weight:900}.word-result-points-label{font-size:15px;font-weight:700;color:var(--t2)}.word-result-bar{width:100%;height:4px;background:var(--s3);border-radius:var(--pill);overflow:hidden}.word-result-bar-fill{height:100%;border-radius:var(--pill);background:var(--blau);transition:width .25s linear}.word-result-countdown{font-size:12px;color:var(--t3);font-weight:600}.game-over-shell{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r5);padding:40px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:36px;box-shadow:var(--sh-lg);position:relative;overflow:hidden}.game-over-trophy{font-size:64px;line-height:1;animation:score-pop .6s cubic-bezier(.34,1.56,.64,1) forwards}.game-over-title{font-size:32px;font-weight:900;color:var(--t1);letter-spacing:-1px}.game-over-scores{display:flex;gap:20px}.game-over-score-card{background:var(--s2);border:1px solid var(--bd);border-radius:var(--r4);padding:24px 36px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:130px}.game-over-score-card.rot{border-color:var(--rot-b)}.game-over-score-card.blau{border-color:var(--blau-b)}.game-over-score-card h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.game-over-score-card.rot h3{color:var(--rot)}.game-over-score-card.blau h3{color:var(--blau)}.game-over-score-num{font-size:48px;font-weight:900;line-height:1}.game-over-score-card.rot .game-over-score-num{color:var(--rot)}.game-over-score-card.blau .game-over-score-num{color:var(--blau)}@media(max-width:560px){.app-shell{padding:0 10px 40px}.brand-text{display:none}.teams-grid,.round-teams-grid,.landing-actions{grid-template-columns:1fr}.logo-hints{font-size:40px}.logo-mark{width:60px;height:60px;font-size:30px}.buzz-button{width:150px;height:150px}.score-number{font-size:38px}.game-over-scores{flex-direction:column;gap:10px}}@media(max-width:400px){.score-label{display:none}}
