:root,[data-theme=light]{--bg:#eef1f6;--panel:#fff;--panel-shadow:0 2px 16px #00000014;--text:#1a1e2e;--text-secondary:#5c6880;--label:#3a4358;--input-bg:#f7f8fb;--input-border:#d0d7e2;--focus-ring:#4f6ef71f;--accent:#4f6ef7;--accent-end:#6c5ce7;--accent-shadow:#4f6ef74d;--accent-hover-shadow:#4f6ef773;--accent-glow:#4f6ef740;--secondary-bg:#fff;--secondary-border:#d0d7e2;--secondary-hover:#f0f2f8;--secondary-text:#3a4358;--divider:#e2e6ee;--card-bg:#f5f7fb;--card-border:#e2e6ee;--timer-track:#e2e6ee;--timer-glow:#4f6ef726;--timer-label:#8895ad;--timer-idle:#b0b8c9;--score-accent:#4f6ef7;--vote-selected-bg:#eef2ff;--vote-selected-border:#4f6ef7;--vote-selected-shadow:0 0 0 2px #4f6ef740, 0 2px 12px #4f6ef726;--confirm-border:#2ea04359;--confirm-bg:#2ea04314;--confirm-text:#1a7f37;--success-glow:#2ea04340;--error:#e53e3e;--self-mark:#4f6ef7}[data-theme=gray]{--bg:#25272e;--panel:#2e3039;--panel-shadow:0 4px 24px #00000059;--text:#e4e5ea;--text-secondary:#8e919e;--label:#b0b3be;--input-bg:#222329;--input-border:#41434d;--focus-ring:#e53e3e2e;--accent:#e53e3e;--accent-end:#c53030;--accent-shadow:#e53e3e4d;--accent-hover-shadow:#e53e3e80;--accent-glow:#e53e3e40;--secondary-bg:#353740;--secondary-border:#4a4d58;--secondary-hover:#3e4049;--secondary-text:#c8cad2;--divider:#3c3e48;--card-bg:#2a2c34;--card-border:#3c3e48;--timer-track:#3c3e48;--timer-glow:#e53e3e33;--timer-label:#7a7d8a;--timer-idle:#555762;--score-accent:#e53e3e;--vote-selected-bg:#e53e3e1a;--vote-selected-border:#e53e3e;--vote-selected-shadow:0 0 0 2px #e53e3e40, 0 2px 12px #e53e3e26;--confirm-border:#48bb7859;--confirm-bg:#48bb781a;--confirm-text:#68d391;--success-glow:#48bb7840;--error:#fc8181;--self-mark:#fc8181}[data-theme=dark]{--bg:#0c0c10;--panel:#16161e;--panel-shadow:0 4px 28px #00000080;--text:#e4e5ea;--text-secondary:#6b6e7a;--label:#9a9daa;--input-bg:#111118;--input-border:#2a2a36;--focus-ring:#e53e3e33;--accent:#e53e3e;--accent-end:#b83232;--accent-shadow:#e53e3e59;--accent-hover-shadow:#e53e3e8c;--accent-glow:#e53e3e4d;--secondary-bg:#1e1e28;--secondary-border:#2e2e3a;--secondary-hover:#26262f;--secondary-text:#b0b3be;--divider:#22222e;--card-bg:#131318;--card-border:#22222e;--timer-track:#22222e;--timer-glow:#e53e3e40;--timer-label:#5a5d6a;--timer-idle:#3a3d48;--score-accent:#e53e3e;--vote-selected-bg:#e53e3e14;--vote-selected-border:#e53e3e;--vote-selected-shadow:0 0 0 2px #e53e3e4d, 0 0 18px #e53e3e26;--confirm-border:#48bb784d;--confirm-bg:#48bb7814;--confirm-text:#68d391;--success-glow:#48bb7833;--error:#fc8181;--self-mark:#fc8181}*{box-sizing:border-box}:root{color:var(--text);background:var(--bg);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{background:var(--bg);min-height:100vh;margin:0;transition:background .3s}#root{min-height:100vh}.layout{place-items:center;min-height:100vh;padding:24px;display:grid}.panel{background:var(--panel);width:min(760px,100%);box-shadow:var(--panel-shadow);border:none;border-radius:18px;gap:16px;padding:24px;transition:background .3s,box-shadow .3s;display:grid}h1{color:var(--text);margin:0;font-size:30px}h2{color:var(--text);margin:0}p{margin:0}.subtitle{color:var(--text-secondary)}.row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.inputGroup{color:var(--label);gap:6px;font-weight:500;display:grid}input,select,textarea,button{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;transition:background .2s,border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}textarea{resize:vertical;min-height:90px}textarea.bioTextarea{min-height:52px;font-size:.85rem}.bioHint{color:var(--text-secondary);font-weight:400}button{cursor:pointer;font-weight:600;transition:transform .12s,opacity .12s,box-shadow .12s,background .2s}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#fff;box-shadow:0 3px 12px var(--accent-shadow);border-color:#0000}.primary:hover:not(:disabled){box-shadow:0 4px 18px var(--accent-hover-shadow);transform:translateY(-1px)}.secondary{background:var(--secondary-bg);border:1px solid var(--secondary-border);color:var(--secondary-text)}.secondary:hover:not(:disabled){background:var(--secondary-hover)}.divider{background:var(--divider);height:1px}.themeSwitcher{align-items:center;gap:6px;display:flex}.themeBtn{border:2px solid var(--input-border);cursor:pointer;border-radius:50%;width:28px;min-width:28px;height:28px;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative}.themeBtn:hover{transform:scale(1.15)}.themeBtn.themeBtnActive{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.themeBtnLight{background:linear-gradient(135deg,#fff 50%,#4f6ef7 50%)}.themeBtnGray{background:linear-gradient(135deg,#2e3039 50%,#e53e3e 50%)}.themeBtnDark{background:linear-gradient(135deg,#0c0c10 50%,#e53e3e 50%)}.header{justify-content:space-between;align-items:center;gap:16px;display:flex}.headerActions{align-items:center;gap:10px;display:flex}.timerHud{flex-shrink:0;width:104px;height:104px;position:relative}.timerRingSvg{width:104px;height:104px;filter:drop-shadow(0 2px 8px var(--timer-glow));display:block}.timerRingTrack{fill:none;stroke:var(--timer-track);stroke-width:6px}.timerRingProgress{fill:none;stroke-width:6px;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--accent-glow));transition:stroke-dashoffset .35s linear}.timerHudCenter{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding-top:4px;display:flex;position:absolute;inset:0}.timerHudLabel{letter-spacing:.14em;text-transform:uppercase;color:var(--timer-label);font-size:9px;font-weight:700;line-height:1.1}.timerHudValue{font-variant-numeric:tabular-nums;color:var(--text);font-size:26px;font-weight:800;line-height:1.05}.timerHudIdle{color:var(--timer-idle);font-size:22px;font-weight:600}.timerHudUnit{color:var(--timer-label);margin-top:1px;font-size:10px;font-weight:600}.ratingHint{margin:-4px 0 0;font-size:13px;line-height:1.35}.leaveButton{width:auto;min-width:116px}.scoreboard{gap:6px;margin:0;padding:0;list-style:none;display:grid}.scoreboard li{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .2s;display:flex}.scoreboard li strong{color:var(--score-accent);font-size:18px}.phaseBlock{gap:10px;display:grid}.voteHint{margin:-4px 0 0;font-size:13px;line-height:1.35}.voteOption{text-align:left;background:var(--card-bg);border:1px solid var(--card-border);gap:8px;transition:background .2s,border-color .2s,transform .12s;display:grid}.voteOption:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 10px #00000014}.voteOptionMeta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.voteOptionTag{letter-spacing:.1em;text-transform:uppercase;color:var(--timer-label);font-size:11px;font-weight:700}.voteSelfMark{color:var(--self-mark);font-size:12px;font-weight:600}.voteOptionBody{color:var(--text);font-size:15px;line-height:1.35}.voteBreakdown{border:1px solid var(--card-border);background:var(--card-bg);border-radius:12px;margin-top:8px;padding:12px 14px}.voteBreakdownTitle{letter-spacing:.06em;text-transform:uppercase;color:var(--timer-label);margin:0 0 8px;font-size:12px;font-weight:700}.voteBreakdownList{gap:6px;margin:0;padding:0;list-style:none;display:grid}.voteBreakdownList li{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.voteBreakdownSide{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:800}.voteOption.voteLocked{opacity:.72}.voteOption.voteSelected{border-color:var(--vote-selected-border);box-shadow:var(--vote-selected-shadow);background:var(--vote-selected-bg);animation:.5s votePulse}.voteStatus{color:var(--accent);font-weight:600;animation:.35s voteFadeIn}@keyframes votePulse{0%{transform:scale(1)}50%{transform:scale(1.01)}to{transform:scale(1)}}@keyframes voteFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ratingItem{border:1px solid var(--card-border);background:var(--card-bg);border-radius:10px;gap:6px;padding:10px 12px;transition:background .2s;display:grid}.ratingSelf{color:var(--self-mark);font-size:12px;font-weight:600}.errorText{color:var(--error)}.copyLinkBtn{font-size:14px}.confirmBanner{border:1px solid var(--confirm-border);background:var(--confirm-bg);color:var(--confirm-text);border-radius:10px;margin:0;padding:8px 12px;font-weight:500;animation:.4s confirmBannerIn}.phaseBlock.phaseSuccess{animation:.55s phaseSuccessPop}.primary.btnSuccess{animation:.65s btnSuccessGlow}.primary.btnPulse{animation:.42s btnPressPop}.ratingItem.ratingPickFlash{animation:.42s ratingPickFlash}@keyframes confirmBannerIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes phaseSuccessPop{0%{transform:scale(1);box-shadow:0 0 #0000}40%{box-shadow:0 0 0 1px var(--success-glow);transform:scale(1.008)}to{box-shadow:none;transform:scale(1)}}@keyframes btnSuccessGlow{0%{filter:brightness();box-shadow:0 3px 12px var(--accent-shadow)}35%{filter:brightness(1.06);box-shadow:0 4px 24px var(--accent-hover-shadow)}to{filter:brightness();box-shadow:0 3px 12px var(--accent-shadow)}}@keyframes btnPressPop{0%{transform:scale(1)}45%{transform:scale(.97)}to{transform:scale(1)}}@keyframes ratingPickFlash{0%{border-color:var(--card-border);background:var(--card-bg)}40%{border-color:var(--confirm-border);background:var(--confirm-bg)}to{border-color:var(--card-border);background:var(--card-bg)}}
