:root{
  --bg:#090b10;
  --panel:#11151d;
  --panel-2:#171c26;
  --panel-3:#1d2430;
  --line:#293140;
  --line-2:#394455;
  --text:#f5f7fb;
  --muted:#99a4b5;
  --muted-2:#707b8c;
  --accent:#755cff;
  --accent-hover:#866fff;
  --accent-soft:rgba(117,92,255,.13);
  --cyan:#54d7ff;
  --green:#56dda0;
  --red:#ff697b;
  --yellow:#f6c65f;
  --shadow:0 18px 45px rgba(0,0,0,.28);
  --radius:20px;
  --radius-sm:13px;
}
*{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;padding:28px 16px 54px;color:var(--text);
  background:
    radial-gradient(900px 500px at 50% -220px,rgba(117,92,255,.20),transparent 68%),
    linear-gradient(180deg,#0a0c12 0%,#090b10 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;overflow-x:hidden;
}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img,canvas{max-width:100%} [hidden]{display:none!important}
.container{width:min(100%,790px);margin:0 auto}.container:has(.host-card),.container:has(.vote-panel){width:min(100%,980px)}
.logo,.join-brand{text-align:center}.logo{margin:34px 0 30px}.logo h1,.join-brand h1,.game-header h1,h1{margin:0;font-weight:950;letter-spacing:-.045em;line-height:.98}.logo h1{font-size:clamp(3.15rem,12vw,5.2rem)}
.subtitle{margin-top:10px;color:var(--muted);font-size:.78rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{display:block;margin-bottom:7px;color:#b7aeff;font-size:.7rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.glass-card,.card{position:relative;background:rgba(17,21,29,.96);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin:0 0 16px}
.glass-card h2,.glass-card h3,.card h2,.card h3{margin:0;line-height:1.15}.glass-card h2{font-size:1.55rem}.glass-card h3,.card h3{font-size:1.08rem}.card-description,.lobby-note{margin:8px 0 0;color:var(--muted)}
.field-label{display:block;margin:16px 0 7px;color:#cfd5df;font-size:.78rem;font-weight:850;letter-spacing:.02em}
input,select,textarea{width:100%;min-height:54px;padding:0 15px;color:var(--text);background:#0c1016;border:1px solid var(--line-2);border-radius:13px;outline:none;transition:.16s border-color,.16s box-shadow,.16s background}
textarea{padding-top:13px;min-height:110px;resize:vertical}input::placeholder,textarea::placeholder{color:#657083}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(117,92,255,.14);background:#0f141c}.room-code-input{text-transform:uppercase;letter-spacing:.13em;font-weight:900}
form{margin:0}form>button{margin-top:12px}
button,.btn-start,.btn-new-game,.btn-lobby,.btn-back,.copy-link-btn,.result-close,.reveal-answer-btn,.reveal-all-answers-btn,.btn-secondary-wide,.btn-tv,.btn-call-vote,.btn-timer-start,.btn-timer-stop,.vote-close-btn{min-height:50px;padding:0 17px;border:1px solid transparent;border-radius:13px;background:var(--accent);color:#fff;font-weight:900;line-height:1.1;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.14s transform,.14s filter,.14s background,.14s border-color}
button:hover,.btn-tv:hover{filter:brightness(1.08)}button:active,.btn-tv:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid rgba(117,92,255,.34);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;filter:none}
.btn-start,.btn-new-game{background:var(--green);color:#06140e}.btn-lobby,.btn-back,.copy-link-btn,.btn-timer-stop,.vote-close-btn{background:var(--panel-3);border-color:var(--line-2);color:var(--text)}
.btn-delete,.kick-btn{background:#2a171d!important;border-color:#5a2a36!important;color:#ff98a5!important}.btn-edit{background:#142840!important;border-color:#28517d!important;color:#a4d1ff!important}.btn-save{background:#133426!important;border-color:#286149!important;color:#a2edc6!important}
.error,.success,.message{padding:13px 15px;margin:13px 0;border-radius:13px;font-weight:780}.error{background:#2a171d;border:1px solid #5a2a36;color:#ffabb5}.success{background:#123326;border:1px solid #285d47;color:#a0ebc3}.message{background:var(--panel-2);border:1px solid var(--line)}
.join-brand{margin-bottom:24px}.join-brand h1{font-size:clamp(2.4rem,8vw,3.55rem);margin:5px 0 10px}.join-brand p{margin:0;color:var(--muted)}
.room-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 2px 22px}.room-code-badge::before{content:"KOD POKOJU";display:block;margin-bottom:5px;color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.16em}.room-code{font-size:clamp(2.9rem,10vw,4.5rem);font-weight:950;letter-spacing:.11em;line-height:.9}.lobby-meta{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.live-status,.info-tag,.player-total,.host-chip,.sync-note{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:#c1c9d6;font-size:.73rem;font-weight:900}.live-status{background:#10221a;border-color:#22503b;color:#93e9bd}.live-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(86,221,160,.08)}
.host-card{padding:28px}.host-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.qr-invite{display:grid;grid-template-columns:minmax(280px,330px) 1fr;gap:30px;align-items:center;margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#0c1016}.qr-frame{width:100%;max-width:330px;margin:auto;padding:13px 13px 15px;background:#fff;border-radius:15px;color:#111;text-align:center}.qr-scan-label{margin:0 0 9px;font-size:.72rem;font-weight:950;letter-spacing:.15em}.qr-code-shell{display:grid;place-items:center;width:100%;aspect-ratio:1;padding:14px;background:#fff;border:3px solid #111;border-radius:8px;overflow:hidden}#joinQr{display:grid;place-items:center;width:100%;height:100%;aspect-ratio:1;background:#fff;line-height:0;overflow:hidden}#joinQr img,#joinQr canvas{display:block;width:100%!important;height:100%!important;object-fit:contain;background:#fff}#joinQr:has(img[src]) canvas{display:none!important}.qr-scan-foot{margin:9px 0 0;color:#444;font-size:.69rem;font-weight:750}.qr-copy p{margin:8px 0 15px;color:var(--muted)}.invite-code{margin:3px 0;font-size:clamp(2.7rem,7vw,4rem);font-weight:950;letter-spacing:.14em;line-height:1}.copy-link-btn{width:100%}.qr-fallback{color:#111;font-weight:850}
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;margin:9px 0;padding:13px 15px;background:#0d1118;border:1px solid var(--line);border-radius:14px}.toggle-label{font-weight:850}.toggle-switch{position:relative;width:54px;height:31px;border-radius:999px;background:#343b49;transition:.16s background}.toggle-switch::after{content:"";position:absolute;top:4px;left:4px;width:23px;height:23px;border-radius:50%;background:white;transition:.16s transform}.toggle-switch.active{background:var(--accent)}.toggle-switch.active::after{transform:translateX(23px)}.inline-form{display:inline}
.feature-badge,.info-badge,.question-mode-badge,.hint-box,.team-box{margin:10px 0;padding:13px 15px;background:#121924;border:1px solid var(--line);border-radius:13px;color:#ccd3df}.feature-badge{border-left:3px solid var(--cyan)}.info-badge{border-left:3px solid var(--yellow)}.question-mode-badge{border-left:3px solid var(--cyan)}.danger-badge{border-left-color:var(--red)!important;background:#21161b!important}
.settings-block,.tv-mode-card,.scoreboard-card,.game-timer-card{border:1px solid var(--line);background:#0d1118;border-radius:17px;padding:19px;margin-top:18px}.settings-block-head,.tv-mode-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.timer-settings-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,220px) auto;gap:12px;align-items:end;margin-top:15px}.timer-enable-row{grid-column:1/-1;display:flex;align-items:center;gap:11px;font-weight:800}.timer-enable-row input{width:20px;height:20px;min-height:0}.timer-select{min-height:48px}.tv-mode-card{background:linear-gradient(135deg,rgba(117,92,255,.12),rgba(84,215,255,.05));border-color:#39335f}.tv-mode-card p{margin:6px 0 0;color:var(--muted);max-width:640px}.btn-tv{white-space:nowrap}
.section-head,.game-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:24px 0 11px}.section-head h3,.game-section-head h3{margin:0}.player-list{display:grid;gap:8px}.player-item{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 12px;background:#0d1118;border:1px solid var(--line);border-radius:14px}.player-avatar{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:12px;background:var(--panel-3);border:1px solid var(--line-2);color:#c6beff}.player-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.player-name,.player-nick{font-weight:900;min-width:0}.player-role{margin-left:auto;color:var(--muted);font-size:.76rem}.you-badge,.host-chip{padding:4px 8px;border-radius:999px;background:#29234b;border:1px solid #51468c;color:#d1caff;font-size:.65rem;font-weight:950}.kick-btn{margin-left:auto;min-width:44px;min-height:39px;padding:0 11px}.btn-group{display:grid;grid-template-columns:1.3fr .7fr;gap:10px;margin-top:20px}.btn-group form,.btn-group form button{width:100%;margin:0}
.game-header{margin:8px 0 18px}.gameplay-header{display:flex;align-items:center;justify-content:space-between;text-align:left}.game-header h1{font-size:clamp(2.3rem,8vw,3.65rem)}.game-live-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#10221a;border:1px solid #22503b;color:#93e9bd;font-size:.7rem;font-weight:950}.game-live-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}.sync-note.sync-error{color:#ff9aa7;border-color:#5b2933;background:#2a171d}
.role-card{position:relative;padding:32px 26px;margin-bottom:14px;border-radius:22px;border:1px solid var(--line);text-align:center;box-shadow:var(--shadow);overflow:hidden}.role-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--cyan)}.role-card.impostor{background:linear-gradient(180deg,#211318,#151117);border-color:#572b35}.role-card.impostor:before{background:var(--red)}.role-card.crewmate{background:linear-gradient(180deg,#121a26,#11151d);border-color:#294360}.role-card.crewmate:before{background:var(--cyan)}.role-card.jester{background:linear-gradient(180deg,#211d12,#17150f);border-color:#5b4927}.role-card.jester:before{background:var(--yellow)}.secret-warning{display:inline-flex;margin:0 auto 19px;padding:7px 11px;border-radius:999px;background:#0b0f15;border:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:850}.role-title{margin-bottom:18px;font-size:clamp(1.55rem,5vw,2.1rem);font-weight:950;letter-spacing:-.02em}.role-description{margin-top:15px;color:#bdc6d4;font-weight:750}.password-box,.question-box{max-width:720px;margin:0 auto;padding:25px 18px;background:#090c11;border:1px solid var(--line-2);border-radius:16px}.password-label{display:block;color:var(--muted);font-size:.78rem}.password-text,.question-text{font-size:clamp(1.9rem,7vw,3.3rem);font-weight:950;letter-spacing:.02em;line-height:1.1;overflow-wrap:anywhere}.question-text{font-size:clamp(1.5rem,5vw,2.35rem)}
.question-answer-panel{margin-top:20px;padding:18px;background:#0d1118;border:1px solid var(--line);border-radius:16px;text-align:left}.question-answer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.question-answer-head span{color:var(--muted);font-size:.75rem;font-weight:850}.question-answer-form{display:grid;grid-template-columns:1fr auto;gap:9px}.question-answer-form button{margin:0}.my-answer-saved,.host-main-question,.all-answers-box,.host-answer-card{margin-top:12px;padding:13px 15px;border-radius:13px;background:var(--panel-2);border:1px solid var(--line)}.host-main-question-label,.host-answer-label{color:#b8b0ff;font-size:.68rem;font-weight:950;letter-spacing:.12em}.host-main-question-text,.host-answer-text{margin-top:6px;font-size:1.1rem;font-weight:900}.host-answer-note{margin-top:7px;color:var(--muted);font-size:.8rem}.reveal-all-answers-btn,.reveal-answer-btn{width:100%;margin-top:10px}.all-answers-title{font-weight:900;margin-bottom:8px}
.game-timer-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#10151e,#0d1118)}.timer-display{font-size:clamp(3.4rem,10vw,5.5rem);font-weight:950;letter-spacing:-.06em;line-height:.9;font-variant-numeric:tabular-nums}.timer-status{margin-top:8px;color:var(--muted);font-weight:800}.timer-actions{display:flex;gap:9px;flex-wrap:wrap}.timer-finished{border-color:#6a2c39}.timer-finished .timer-display{color:var(--red)}
.scoreboard-card{background:#0d1118}.score-hint{color:var(--muted);font-size:.72rem}.scoreboard-list{display:grid;gap:8px}.score-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:11px 13px;background:#151a23;border:1px solid transparent;border-radius:12px}.score-row:first-child{border-color:#574f2d;background:#1d1a12}.score-place{color:var(--muted);font-weight:900}.score-name{font-weight:850;overflow-wrap:anywhere}.score-points{min-width:36px;text-align:center;padding:4px 8px;border-radius:9px;background:#252c39;font-size:1.05rem}
.host-round-actions{margin-top:18px;padding:16px;border:1px dashed #414b5d;border-radius:16px;text-align:center;background:#0c1016}.host-action-note{margin:8px 0 0;color:var(--muted);font-size:.78rem}.btn-call-vote{min-width:min(100%,280px)}.vote-panel{margin-top:12px;padding:19px;background:#111720;border:1px solid #3b4351;border-radius:17px}.vote-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.vote-panel h4{margin:0;font-size:1.18rem}.vote-panel p{color:var(--muted)}.vote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vote-player-btn{margin:0;min-height:52px;background:#1c2330;border-color:#3a4558;text-align:left}.vote-close-btn{min-height:40px}
.round-result-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(4,6,9,.82);backdrop-filter:blur(12px)}.round-result-card{width:min(100%,540px);padding:30px;text-align:center;background:#121720;border:1px solid var(--line-2);border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.55)}.round-result-icon{font-size:3.4rem}.round-result-title{margin:10px 0 8px;font-size:clamp(1.8rem,6vw,2.7rem);font-weight:950}.round-result-message,.round-result-voted{color:var(--muted)}.result-close{width:100%;margin-top:17px}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-group{margin-bottom:10px}.password-list{margin-top:20px}.password-item{padding:12px;margin:8px 0;background:#0d1118;border:1px solid var(--line);border-radius:14px}.admin-password-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:center}.password-actions{display:flex;gap:7px}.password-actions button{margin:0;min-height:45px}

/* TV */
.tv-body{padding:0;min-height:100vh;background:#07090d;color:#f6f8fb}.tv-shell{width:min(1600px,calc(100% - 56px));margin:0 auto;padding:30px 0 44px}.tv-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;border-bottom:1px solid #252c38}.tv-header h1{font-size:clamp(2.3rem,4.8vw,5rem);letter-spacing:-.05em}.tv-header h1 strong{display:inline-block;margin-left:.16em;color:#fff;letter-spacing:.12em}.tv-live{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid #2d493d;border-radius:999px;background:#0e1b16;color:#8ee9b7;font-weight:950;letter-spacing:.06em}.tv-live i{width:8px;height:8px;border-radius:50%;background:#56dda0;box-shadow:0 0 0 5px rgba(86,221,160,.08)}
.tv-main-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:22px}.tv-stage-card,.tv-timer-card,.tv-panel,.tv-result{background:#10141b;border:1px solid #272e3a;border-radius:24px}.tv-stage-card,.tv-timer-card{min-height:320px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.tv-stage-card{background:linear-gradient(145deg,#151426,#10141b 55%)}.tv-timer-card{background:linear-gradient(145deg,#101c23,#10141b 58%)}.tv-stage{font-size:clamp(3.7rem,8vw,8.2rem);font-weight:950;line-height:.9;letter-spacing:-.065em;max-width:900px}.tv-round,.tv-timer-note{color:#9fa9b8;font-size:clamp(1rem,1.8vw,1.55rem);font-weight:780}.tv-timer{font-size:clamp(5.1rem,11vw,11rem);font-weight:950;letter-spacing:-.075em;line-height:.8;font-variant-numeric:tabular-nums}.tv-result{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;margin-top:18px;padding:22px 26px;background:linear-gradient(90deg,#17162a,#11151d)}.tv-result-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:20px;background:#23203f;font-size:2.7rem}.tv-result h2{margin:2px 0 5px;font-size:clamp(1.7rem,3.4vw,3.25rem)}.tv-result p{margin:0;color:#b8c0ce;font-size:clamp(1rem,1.7vw,1.35rem)}
.tv-lower-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.tv-panel{padding:24px}.tv-panel .section-head{margin:0 0 14px}.tv-panel h2{margin:0;font-size:clamp(1.45rem,2.3vw,2rem)}.tv-panel .section-head span{color:#8d97a8;font-weight:800}.tv-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.tv-player{min-width:0;padding:13px 14px;border:1px solid #2a3240;border-radius:13px;background:#171c25;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:850;overflow-wrap:anywhere}.tv-score-list{display:grid;gap:8px}.tv-score-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;background:#171c25;border:1px solid #2a3240;border-radius:13px;font-size:clamp(1rem,1.6vw,1.25rem)}.tv-score-row:first-child{background:#201d13;border-color:#51462c}.tv-score-row strong{display:grid;place-items:center;min-width:46px;height:36px;border-radius:10px;background:#252c38;font-size:1.3rem}.tv-score-row:first-child strong{background:#3a321e;color:#f8d77d}

@media(max-width:800px){
 body{padding:18px 12px 40px}.glass-card,.card,.host-card{padding:19px}.room-header{align-items:flex-start}.lobby-meta{max-width:160px}.qr-invite{grid-template-columns:1fr;gap:18px}.qr-copy{text-align:center}.timer-settings-form{grid-template-columns:1fr}.timer-enable-row{grid-column:auto}.settings-block-head,.tv-mode-card,.game-timer-card{align-items:stretch;flex-direction:column}.btn-tv,.timer-actions,.timer-actions button{width:100%}.player-main{display:block}.player-role{margin:2px 0 0}.btn-group{grid-template-columns:1fr}.gameplay-header{align-items:flex-start}.question-answer-form{grid-template-columns:1fr}.vote-grid{grid-template-columns:1fr}.admin-password-form{grid-template-columns:1fr}.password-actions{display:grid;grid-template-columns:1fr 1fr}.tv-shell{width:min(100% - 24px,1600px);padding-top:18px}.tv-main-grid,.tv-lower-grid{grid-template-columns:1fr}.tv-stage-card,.tv-timer-card{min-height:240px;padding:22px}.tv-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-header{align-items:flex-start}.tv-live{font-size:.72rem}.tv-result{grid-template-columns:1fr;text-align:center}.tv-result-icon{margin:auto}
}
@media(max-width:460px){.room-header{display:block}.lobby-meta{justify-content:flex-start;max-width:none;margin-top:13px}.role-card{padding:24px 16px}.tv-player-grid{grid-template-columns:1fr}.password-actions{grid-template-columns:1fr}.gameplay-header{display:block}.game-live-pill{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V11 - cleaner global UI */
body:not(.tv11-body){background:#f5f6f8;color:#14171d}
body:not(.tv11-body) .container{max-width:1040px}
body:not(.tv11-body) .glass-card,body:not(.tv11-body) .settings-block,body:not(.tv11-body) .tv-mode-card,body:not(.tv11-body) .scoreboard-card,body:not(.tv11-body) .game-timer-card{background:#fff;border:1px solid #e3e6eb;box-shadow:0 3px 14px rgba(20,23,29,.04);border-radius:20px}
body:not(.tv11-body) .eyebrow{font-size:11px;letter-spacing:.13em;font-weight:900;color:#747b88}
body:not(.tv11-body) h1,body:not(.tv11-body) h2,body:not(.tv11-body) h3{letter-spacing:-.025em}
body:not(.tv11-body) input,body:not(.tv11-body) select,body:not(.tv11-body) textarea{border-radius:13px!important;border-color:#dfe3e9!important;background:#fff!important}
body:not(.tv11-body) input:focus,body:not(.tv11-body) select:focus,body:not(.tv11-body) textarea:focus{outline:3px solid rgba(83,67,215,.12)!important;border-color:#7668e8!important}
body:not(.tv11-body) .btn-primary,body:not(.tv11-body) .btn-tv,body:not(.tv11-body) .btn-timer-start,body:not(.tv11-body) .btn-call-vote,body:not(.tv11-body) .btn-secondary-wide{background:#171a20!important;color:#fff!important;border-color:#171a20!important}
body:not(.tv11-body) .player-item,body:not(.tv11-body) .score-row{background:#f6f7f9!important;border:1px solid #eceef2}
body:not(.tv11-body) .game-timer-card{border-left:5px solid #171a20}
body:not(.tv11-body) .host-round-actions{background:#fafafa;border:1px solid #e3e6eb}
body:not(.tv11-body) #qrCode{background:#fff!important;border-radius:18px!important;padding:16px!important}

/* V11 TV */
.tv11-body{margin:0;background:#090b10;color:#f7f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
.tv11{width:min(1600px,calc(100% - 64px));margin:auto;padding:30px 0 24px}
.tv11-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-bottom:24px;border-bottom:1px solid #242933}
.tv11-brand{display:flex;align-items:center;gap:12px}.tv11-brand b{display:block;font-size:19px;letter-spacing:.08em}.tv11-brand small{display:block;color:#777f8e;font-size:10px;font-weight:800;letter-spacing:.16em}
.tv11-dot{width:14px;height:14px;border-radius:5px;background:#7657ff;box-shadow:0 0 24px rgba(118,87,255,.65)}
.tv11-room{text-align:center}.tv11-room span{display:block;color:#747c8b;font-size:10px;font-weight:900;letter-spacing:.16em}.tv11-room strong{font-size:32px;letter-spacing:.18em}
.tv11-live{justify-self:end;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.1em}.tv11-live i{width:8px;height:8px;border-radius:50%;background:#42d77d}
.tv11-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:22px}.tv11-phase,.tv11-clock,.tv11-panel,.tv11-winner{background:#11141b;border:1px solid #242933;border-radius:24px}
.tv11-phase{padding:34px;min-height:270px;display:flex;flex-direction:column;justify-content:center}.tv11-label{font-size:11px;font-weight:900;letter-spacing:.16em;color:#777f8e}
.tv11-phase h1{font-size:clamp(48px,6vw,94px);letter-spacing:-.055em;line-height:.93;margin:13px 0 14px}.tv11-phase p{margin:0;color:#9ba3b1;font-size:clamp(16px,1.7vw,24px);font-weight:600}
.tv11-people{display:flex;align-items:baseline;gap:9px;margin-top:28px}.tv11-people strong{font-size:34px}.tv11-people span{color:#777f8e;font-weight:700}
.tv11-clock{padding:34px;display:flex;flex-direction:column;justify-content:center}.tv11-clock>div:nth-of-type(1){font-size:clamp(78px,10vw,148px);font-weight:950;letter-spacing:-.075em;line-height:.9;font-variant-numeric:tabular-nums;margin:17px 0 15px}.tv11-clock p{margin:0;color:#8d95a3;font-size:18px;font-weight:800}
.tv11-progress{height:7px;background:#252a34;border-radius:99px;margin-top:26px;overflow:hidden}.tv11-progress i{display:block;height:100%;background:#7657ff;border-radius:inherit;transition:width .2s linear}.tv11-clock.is-done{border-color:#773d45}.tv11-clock.is-done>div:nth-of-type(1){color:#ff6876}
.tv11-winner{margin-top:18px;padding:24px 30px;display:flex;align-items:center;gap:22px;background:linear-gradient(100deg,#171429,#11141b);border-color:#3d3468}.tv11-winner[hidden]{display:none}.tv11-winner-icon{font-size:54px}.tv11-winner h2{font-size:clamp(28px,3vw,46px);margin:4px 0}.tv11-winner p{margin:0;color:#abb2c0;font-size:18px}
.tv11-content{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin-top:18px}.tv11-panel{padding:25px}.tv11-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.tv11-panel h2{font-size:28px;margin:4px 0 0}
.tv11-count{min-width:42px;height:42px;padding:0 12px;border-radius:13px;background:#20242d;display:grid;place-items:center;font-weight:900}.tv11-small{font-size:10px;color:#747c8b;font-weight:900;letter-spacing:.12em}
.tv11-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tv11-player{display:flex;align-items:center;gap:12px;background:#191d25;border:1px solid #252a34;border-radius:14px;padding:12px 14px;min-width:0}.tv11-player span{display:grid;place-items:center;flex:0 0 31px;height:31px;border-radius:9px;background:#252a34;color:#8f97a5;font-size:12px;font-weight:900}.tv11-player strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv11-score-list{display:grid;gap:8px}.tv11-score{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:12px 14px;background:#191d25;border:1px solid #252a34;border-radius:14px}.tv11-score .rank{color:#777f8e;font-weight:900}.tv11-score strong{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv11-score b{font-size:24px}.tv11-score.leader{background:#1b1829;border-color:#3c3364}.tv11-score.leader .rank,.tv11-score.leader b{color:#a995ff}
.tv11-footer{text-align:center;color:#555d6b;font-size:11px;font-weight:800;letter-spacing:.06em;padding-top:20px}
@media(max-width:900px){.tv11{width:min(100% - 28px,1600px);padding-top:16px}.tv11-top{grid-template-columns:1fr auto}.tv11-room{grid-row:2;grid-column:1/-1;padding-top:14px;border-top:1px solid #20242d}.tv11-hero,.tv11-content{grid-template-columns:1fr}.tv11-phase{min-height:0}.tv11-player-grid{grid-template-columns:1fr}}
@media(max-width:560px){.tv11-phase,.tv11-clock,.tv11-panel{padding:20px;border-radius:18px}.tv11-clock>div:nth-of-type(1){font-size:76px}.tv11-phase h1{font-size:48px}.tv11-winner{padding:20px}}


/* ===== V12 CLEAN UI FIX ===== */
:root{
  --ui-bg:#f3f4f6;
  --ui-card:#ffffff;
  --ui-card-soft:#f8f9fb;
  --ui-text:#17191f;
  --ui-muted:#6f7682;
  --ui-line:#e3e6eb;
  --ui-accent:#5b4be7;
  --ui-accent-dark:#4938d0;
  --ui-danger:#d94b59;
  --ui-radius:18px;
}

html{background:var(--ui-bg)}
body:not(.tv11-body){
  background:var(--ui-bg)!important;
  color:var(--ui-text)!important;
  line-height:1.45;
}

body:not(.tv11-body) .container,
body:not(.tv11-body) .page-shell,
body:not(.tv11-body) main{
  width:min(100% - 28px, 980px)!important;
  margin-inline:auto!important;
}

body:not(.tv11-body) .glass-card,
body:not(.tv11-body) .settings-block,
body:not(.tv11-body) .tv-mode-card,
body:not(.tv11-body) .scoreboard-card,
body:not(.tv11-body) .game-timer-card,
body:not(.tv11-body) .vote-panel,
body:not(.tv11-body) .host-round-actions{
  background:var(--ui-card)!important;
  border:1px solid var(--ui-line)!important;
  border-radius:var(--ui-radius)!important;
  box-shadow:0 6px 22px rgba(20,24,32,.045)!important;
}

body:not(.tv11-body) .glass-card,
body:not(.tv11-body) .settings-block,
body:not(.tv11-body) .tv-mode-card,
body:not(.tv11-body) .scoreboard-card,
body:not(.tv11-body) .game-timer-card{
  padding:20px!important;
}

body:not(.tv11-body) .eyebrow{
  color:#7b8290!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  font-weight:900!important;
}

body:not(.tv11-body) h1{
  font-size:clamp(28px,5vw,42px)!important;
  line-height:1.08!important;
  margin-top:6px!important;
}
body:not(.tv11-body) h2{font-size:26px!important}
body:not(.tv11-body) h3{font-size:20px!important}
body:not(.tv11-body) h1,
body:not(.tv11-body) h2,
body:not(.tv11-body) h3{
  letter-spacing:-.025em!important;
  color:var(--ui-text)!important;
}

body:not(.tv11-body) p,
body:not(.tv11-body) .muted,
body:not(.tv11-body) .card-description,
body:not(.tv11-body) .host-action-note,
body:not(.tv11-body) .timer-status{
  color:var(--ui-muted)!important;
}

body:not(.tv11-body) input,
body:not(.tv11-body) select,
body:not(.tv11-body) textarea{
  min-height:48px!important;
  border:1px solid #dce0e6!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--ui-text)!important;
  font-size:16px!important;
  box-shadow:none!important;
}
body:not(.tv11-body) input:focus,
body:not(.tv11-body) select:focus,
body:not(.tv11-body) textarea:focus{
  border-color:#8d83ef!important;
  outline:3px solid rgba(91,75,231,.12)!important;
}

body:not(.tv11-body) button,
body:not(.tv11-body) a[class*="btn"]{
  min-height:46px!important;
  border-radius:13px!important;
  font-weight:800!important;
  font-size:15px!important;
  box-shadow:none!important;
}

body:not(.tv11-body) .btn-primary,
body:not(.tv11-body) .btn-tv,
body:not(.tv11-body) .btn-timer-start,
body:not(.tv11-body) .btn-call-vote,
body:not(.tv11-body) .btn-secondary-wide{
  background:var(--ui-accent)!important;
  color:#fff!important;
  border:1px solid var(--ui-accent)!important;
}
body:not(.tv11-body) .btn-primary:hover,
body:not(.tv11-body) .btn-tv:hover,
body:not(.tv11-body) .btn-timer-start:hover,
body:not(.tv11-body) .btn-call-vote:hover,
body:not(.tv11-body) .btn-secondary-wide:hover{
  background:var(--ui-accent-dark)!important;
}

body:not(.tv11-body) .btn-secondary,
body:not(.tv11-body) .btn-timer-stop,
body:not(.tv11-body) .vote-close-btn{
  background:#eef0f4!important;
  color:var(--ui-text)!important;
  border:1px solid #e0e3e8!important;
}

body:not(.tv11-body) .room-code{
  display:inline-block!important;
  background:#f1f0ff!important;
  color:#4f3fd3!important;
  padding:8px 14px!important;
  border-radius:12px!important;
  letter-spacing:.13em!important;
  font-size:clamp(26px,5vw,38px)!important;
  font-weight:950!important;
}

body:not(.tv11-body) #qrCode{
  width:min(100%,360px)!important;
  margin-inline:auto!important;
  padding:16px!important;
  background:#fff!important;
  border:1px solid var(--ui-line)!important;
  border-radius:16px!important;
}
body:not(.tv11-body) #qrCode img,
body:not(.tv11-body) #qrCode canvas{
  display:block!important;
  max-width:100%!important;
  height:auto!important;
  margin:auto!important;
  image-rendering:pixelated;
}

body:not(.tv11-body) .player-item,
body:not(.tv11-body) .score-row,
body:not(.tv11-body) .answer-row{
  background:var(--ui-card-soft)!important;
  border:1px solid #eceef2!important;
  border-radius:13px!important;
}

body:not(.tv11-body) .game-timer-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-left:4px solid var(--ui-accent)!important;
}
body:not(.tv11-body) .timer-display{
  font-size:clamp(44px,8vw,68px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  color:var(--ui-text)!important;
}
body:not(.tv11-body) .timer-finished{
  border-left-color:var(--ui-danger)!important;
}
body:not(.tv11-body) .timer-finished .timer-display{
  color:var(--ui-danger)!important;
}

body:not(.tv11-body) .scoreboard-list{
  gap:8px!important;
}
body:not(.tv11-body) .score-row{
  grid-template-columns:34px minmax(0,1fr) auto!important;
  padding:12px 13px!important;
}
body:not(.tv11-body) .score-points{
  min-width:38px;
  text-align:center;
  background:#eceafe;
  color:#4f3fd3;
  border-radius:10px;
  padding:4px 9px;
}

body:not(.tv11-body) .host-round-actions{
  padding:18px!important;
  text-align:left!important;
}
body:not(.tv11-body) .host-round-actions .btn-call-vote{
  width:100%!important;
}

body:not(.tv11-body) .vote-grid{
  gap:10px!important;
}
body:not(.tv11-body) .vote-player-btn{
  border:1px solid var(--ui-line)!important;
  background:#fff!important;
  color:var(--ui-text)!important;
  border-radius:13px!important;
}
body:not(.tv11-body) .vote-player-btn:hover{
  background:#f5f4ff!important;
  border-color:#cfc9ff!important;
}

body:not(.tv11-body) .tv-mode-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
}

/* Better spacing */
body:not(.tv11-body) .section-head{
  gap:12px!important;
  margin-bottom:14px!important;
}
body:not(.tv11-body) .section-head h2,
body:not(.tv11-body) .section-head h3{margin-bottom:0!important}
body:not(.tv11-body) .glass-card + .glass-card,
body:not(.tv11-body) .glass-card + .game-timer-card,
body:not(.tv11-body) .game-timer-card + .glass-card,
body:not(.tv11-body) .scoreboard-card,
body:not(.tv11-body) .host-round-actions,
body:not(.tv11-body) .vote-panel{
  margin-top:16px!important;
}

/* TV mode: simplify, improve proportions and readability */
.tv11-body{
  background:#080a0f!important;
}
.tv11{
  width:min(1500px,calc(100% - 48px))!important;
  padding:24px 0 22px!important;
}
.tv11-top{
  padding-bottom:18px!important;
  border-bottom:1px solid #242831!important;
}
.tv11-room strong{
  font-size:28px!important;
}
.tv11-hero{
  grid-template-columns:1.05fr .95fr!important;
  gap:14px!important;
  margin-top:16px!important;
}
.tv11-phase,
.tv11-clock,
.tv11-panel,
.tv11-winner{
  background:#11141a!important;
  border:1px solid #252a33!important;
  border-radius:20px!important;
  box-shadow:none!important;
}
.tv11-phase,
.tv11-clock{
  padding:28px!important;
}
.tv11-phase{
  min-height:230px!important;
}
.tv11-phase h1{
  font-size:clamp(46px,5.6vw,82px)!important;
  margin:10px 0 12px!important;
}
.tv11-phase p{
  font-size:clamp(16px,1.5vw,21px)!important;
}
.tv11-clock>div:nth-of-type(1){
  font-size:clamp(72px,9vw,126px)!important;
  margin:12px 0 12px!important;
}
.tv11-progress{
  height:8px!important;
  margin-top:20px!important;
}
.tv11-content{
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin-top:14px!important;
}
.tv11-panel{
  padding:20px!important;
}
.tv11-player-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.tv11-player,
.tv11-score{
  background:#191d24!important;
  border-color:#282d36!important;
  border-radius:12px!important;
  padding:11px 12px!important;
}
.tv11-score.leader{
  background:#1a1726!important;
  border-color:#463d6e!important;
}
.tv11-winner{
  margin-top:14px!important;
  padding:20px 24px!important;
}
.tv11-footer{
  padding-top:14px!important;
}

/* Mobile fixes */
@media(max-width:760px){
  body:not(.tv11-body) .container,
  body:not(.tv11-body) .page-shell,
  body:not(.tv11-body) main{
    width:min(100% - 18px,980px)!important;
  }
  body:not(.tv11-body) .glass-card,
  body:not(.tv11-body) .settings-block,
  body:not(.tv11-body) .tv-mode-card,
  body:not(.tv11-body) .scoreboard-card,
  body:not(.tv11-body) .game-timer-card{
    padding:16px!important;
    border-radius:16px!important;
  }
  body:not(.tv11-body) .game-timer-card{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  body:not(.tv11-body) .timer-actions{
    width:100%!important;
  }
  body:not(.tv11-body) .timer-actions button{
    flex:1 1 100%!important;
  }
  body:not(.tv11-body) .tv-mode-card{
    grid-template-columns:1fr!important;
  }
  body:not(.tv11-body) .btn-tv{
    width:100%!important;
  }
  .tv11{
    width:min(100% - 18px,1500px)!important;
  }
  .tv11-hero,.tv11-content{
    grid-template-columns:1fr!important;
  }
  .tv11-player-grid{
    grid-template-columns:1fr!important;
  }
  .tv11-phase,.tv11-clock,.tv11-panel{
    padding:18px!important;
  }
}


/* ===== V13 DARK THEME FIX - remove accidental white UI ===== */
:root{
 --dark-bg:#0b0d12;
 --dark-card:#14171e;
 --dark-card2:#191d25;
 --dark-card3:#20252e;
 --dark-text:#f4f6f8;
 --dark-muted:#9ba3af;
 --dark-line:#292e38;
 --dark-accent:#7657ff;
 --dark-accent-hover:#6748f0;
}

html,body:not(.tv11-body){background:var(--dark-bg)!important;color:var(--dark-text)!important}
body:not(.tv11-body) .glass-card,
body:not(.tv11-body) .settings-block,
body:not(.tv11-body) .tv-mode-card,
body:not(.tv11-body) .scoreboard-card,
body:not(.tv11-body) .game-timer-card,
body:not(.tv11-body) .vote-panel,
body:not(.tv11-body) .host-round-actions,
body:not(.tv11-body) .card,
body:not(.tv11-body) .panel{
 background:var(--dark-card)!important;
 border-color:var(--dark-line)!important;
 color:var(--dark-text)!important;
 box-shadow:none!important
}
body:not(.tv11-body) h1,
body:not(.tv11-body) h2,
body:not(.tv11-body) h3,
body:not(.tv11-body) h4,
body:not(.tv11-body) label,
body:not(.tv11-body) strong{color:var(--dark-text)!important}
body:not(.tv11-body) p,
body:not(.tv11-body) .muted,
body:not(.tv11-body) .card-description,
body:not(.tv11-body) .host-action-note,
body:not(.tv11-body) .timer-status{color:var(--dark-muted)!important}
body:not(.tv11-body) .eyebrow{color:#858e9d!important}

body:not(.tv11-body) input,
body:not(.tv11-body) select,
body:not(.tv11-body) textarea{
 background:var(--dark-card2)!important;
 color:var(--dark-text)!important;
 border-color:#343a46!important;
 color-scheme:dark
}
body:not(.tv11-body) input::placeholder,
body:not(.tv11-body) textarea::placeholder{color:#777f8d!important}
body:not(.tv11-body) input:focus,
body:not(.tv11-body) select:focus,
body:not(.tv11-body) textarea:focus{
 border-color:#826cff!important;
 outline:3px solid rgba(118,87,255,.18)!important
}

body:not(.tv11-body) .player-item,
body:not(.tv11-body) .score-row,
body:not(.tv11-body) .answer-row,
body:not(.tv11-body) .question-answer,
body:not(.tv11-body) .role-card{
 background:var(--dark-card2)!important;
 border-color:var(--dark-line)!important;
 color:var(--dark-text)!important
}
body:not(.tv11-body) .score-points{
 background:#2b2450!important;
 color:#b8aaff!important
}
body:not(.tv11-body) .room-code{
 background:#211c3b!important;
 color:#b9adff!important
}
body:not(.tv11-body) .btn-primary,
body:not(.tv11-body) .btn-tv,
body:not(.tv11-body) .btn-timer-start,
body:not(.tv11-body) .btn-call-vote,
body:not(.tv11-body) .btn-secondary-wide{
 background:var(--dark-accent)!important;
 border-color:var(--dark-accent)!important;
 color:#fff!important
}
body:not(.tv11-body) .btn-primary:hover,
body:not(.tv11-body) .btn-tv:hover,
body:not(.tv11-body) .btn-timer-start:hover,
body:not(.tv11-body) .btn-call-vote:hover,
body:not(.tv11-body) .btn-secondary-wide:hover{background:var(--dark-accent-hover)!important}
body:not(.tv11-body) .btn-secondary,
body:not(.tv11-body) .btn-timer-stop,
body:not(.tv11-body) .vote-close-btn{
 background:var(--dark-card3)!important;
 color:var(--dark-text)!important;
 border-color:#343a45!important
}
body:not(.tv11-body) .vote-player-btn{
 background:var(--dark-card2)!important;
 color:var(--dark-text)!important;
 border-color:#303641!important
}
body:not(.tv11-body) .vote-player-btn:hover{
 background:#24203c!important;
 border-color:#6656b8!important
}
body:not(.tv11-body) .game-timer-card{border-left-color:var(--dark-accent)!important}
body:not(.tv11-body) .timer-display{color:var(--dark-text)!important}
body:not(.tv11-body) .timer-finished .timer-display{color:#ff6978!important}

/* QR itself must stay white for reliable scanning, only its outer card is dark */
body:not(.tv11-body) #qrCode{
 background:#fff!important;
 border-color:#fff!important;
 box-shadow:0 0 0 8px #fff!important
}
body:not(.tv11-body) #qrCode img,
body:not(.tv11-body) #qrCode canvas{background:#fff!important}

/* common inline/light remnants */
body:not(.tv11-body) [style*="background: white"],
body:not(.tv11-body) [style*="background:#fff"],
body:not(.tv11-body) [style*="background: #fff"],
body:not(.tv11-body) [style*="background: rgb(255"]{
 background:var(--dark-card)!important
}

/* keep actual QR white even after generic overrides */
body:not(.tv11-body) #qrCode,
body:not(.tv11-body) #qrCode *{background-color:#fff!important}

/* scrollbar */
body:not(.tv11-body){scrollbar-color:#343a45 #0b0d12}


/* ===== V14 FORM CONTROLS FIX ===== */

/* reset awkward inherited sizing */
body:not(.tv11-body) input[type="checkbox"],
body:not(.tv11-body) input[type="radio"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  padding:0!important;
  margin:0!important;
  border:2px solid #4b5361!important;
  background:#171b22!important;
  display:inline-grid!important;
  place-content:center!important;
  vertical-align:middle!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:border-color .15s ease,background .15s ease,transform .12s ease!important;
}

body:not(.tv11-body) input[type="checkbox"]{
  border-radius:7px!important;
}
body:not(.tv11-body) input[type="radio"]{
  border-radius:50%!important;
}

body:not(.tv11-body) input[type="checkbox"]::before{
  content:""!important;
  width:10px!important;
  height:6px!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  transform:rotate(-45deg) scale(0)!important;
  transform-origin:center!important;
  margin-top:-2px!important;
  transition:transform .12s ease!important;
}

body:not(.tv11-body) input[type="radio"]::before{
  content:""!important;
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
  background:#fff!important;
  transform:scale(0)!important;
  transition:transform .12s ease!important;
}

body:not(.tv11-body) input[type="checkbox"]:checked,
body:not(.tv11-body) input[type="radio"]:checked{
  background:var(--dark-accent)!important;
  border-color:var(--dark-accent)!important;
}

body:not(.tv11-body) input[type="checkbox"]:checked::before,
body:not(.tv11-body) input[type="radio"]:checked::before{
  transform:rotate(-45deg) scale(1)!important;
}
body:not(.tv11-body) input[type="radio"]:checked::before{
  transform:scale(1)!important;
}

body:not(.tv11-body) input[type="checkbox"]:focus-visible,
body:not(.tv11-body) input[type="radio"]:focus-visible{
  outline:3px solid rgba(118,87,255,.25)!important;
  outline-offset:3px!important;
}

body:not(.tv11-body) input[type="checkbox"]:disabled,
body:not(.tv11-body) input[type="radio"]:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}

/* labels wrapping checkboxes/radios */
body:not(.tv11-body) label:has(input[type="checkbox"]),
body:not(.tv11-body) label:has(input[type="radio"]),
body:not(.tv11-body) .timer-enable-row{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:44px!important;
  cursor:pointer!important;
  user-select:none!important;
}

body:not(.tv11-body) label:has(input[type="checkbox"]):hover,
body:not(.tv11-body) label:has(input[type="radio"]):hover{
  color:#fff!important;
}

/* switch-like option rows */
body:not(.tv11-body) .toggle-row,
body:not(.tv11-body) .setting-row,
body:not(.tv11-body) .option-row{
  background:var(--dark-card2)!important;
  border:1px solid var(--dark-line)!important;
  border-radius:13px!important;
  padding:12px 13px!important;
}

/* select fix */
body:not(.tv11-body) select{
  appearance:none!important;
  -webkit-appearance:none!important;
  padding-right:42px!important;
  background-color:var(--dark-card2)!important;
  background-image:
    linear-gradient(45deg,transparent 50%,#9ba3af 50%),
    linear-gradient(135deg,#9ba3af 50%,transparent 50%)!important;
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50%!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
}

body:not(.tv11-body) select option{
  background:#171b22!important;
  color:#f4f6f8!important;
}

/* range controls if present */
body:not(.tv11-body) input[type="range"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  height:6px!important;
  min-height:6px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#303641!important;
  outline:none!important;
}
body:not(.tv11-body) input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none!important;
  width:20px!important;
  height:20px!important;
  border-radius:50%!important;
  background:var(--dark-accent)!important;
  border:3px solid #fff!important;
  cursor:pointer!important;
}
body:not(.tv11-body) input[type="range"]::-moz-range-thumb{
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:var(--dark-accent)!important;
  border:3px solid #fff!important;
  cursor:pointer!important;
}

/* number inputs */
body:not(.tv11-body) input[type="number"]{
  color-scheme:dark!important;
}

/* file controls if ever used */
body:not(.tv11-body) input[type="file"]{
  padding:8px!important;
}
body:not(.tv11-body) input[type="file"]::file-selector-button{
  border:1px solid #3a404b!important;
  background:#242a33!important;
  color:#f4f6f8!important;
  border-radius:10px!important;
  padding:8px 12px!important;
  margin-right:10px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

/* improve grouped settings */
body:not(.tv11-body) .timer-enable-row{
  background:#171b22!important;
  border:1px solid #2d333d!important;
  border-radius:13px!important;
  padding:11px 12px!important;
}

body:not(.tv11-body) .timer-settings-form{
  align-items:end!important;
}

/* mobile tap comfort */
@media(max-width:760px){
  body:not(.tv11-body) input[type="checkbox"],
  body:not(.tv11-body) input[type="radio"]{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
  }

  body:not(.tv11-body) label:has(input[type="checkbox"]),
  body:not(.tv11-body) label:has(input[type="radio"]){
    min-height:48px!important;
  }
}


/* ===== V15 GAME FLOW FIX ===== */
/* Completely disable old blocking round-end popup */
.round-result-overlay,
#roundResultOverlay,
.result-overlay,
.game-result-overlay{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.round-result-inline{
  margin-top:14px!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  background:#171b22!important;
  border:1px solid #303641!important;
  color:#f4f6f8!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
.round-result-inline[hidden]{
  display:none!important;
}
.round-result-inline strong{
  font-size:16px!important;
  color:#fff!important;
}
.round-result-inline span{
  color:#a7afbb!important;
  font-size:14px!important;
}


/* ===== V16 REMOVE SCOREBOARD + FIX ROUND PLAYERS ===== */

/* scoreboard removed everywhere */
.scoreboard-card,
.scoreboard-list,
.score-row,
#scoreboard,
#tvScores,
.tv11-ranking{
  display:none!important;
}

/* game players section */
.round-players-list,
.players-list,
.player-list,
.players-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}

.round-players-list .player-item,
.players-list .player-item,
.player-list .player-item,
.players-grid .player-item{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:54px!important;
  padding:11px 13px!important;
  border:1px solid #2b303a!important;
  border-radius:13px!important;
  background:#171b22!important;
  color:#f4f6f8!important;
  box-shadow:none!important;
}

.round-players-list .player-item::before,
.players-list .player-item::before,
.player-list .player-item::before,
.players-grid .player-item::before{
  content:""!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#6f7784!important;
  flex:0 0 auto!important;
}

.round-players-list .player-item strong,
.players-list .player-item strong,
.player-list .player-item strong,
.players-grid .player-item strong{
  font-size:15px!important;
  font-weight:850!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.round-players-list .player-item .you,
.round-players-list .player-item .me,
.round-players-list .player-item .badge-you,
.players-list .player-item .you,
.player-list .player-item .you,
.players-grid .player-item .you{
  margin-left:auto!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:#29234c!important;
  color:#b9adff!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
}

.round-players-list .player-item:has(.you)::before,
.round-players-list .player-item:has(.me)::before,
.round-players-list .player-item:has(.badge-you)::before,
.players-list .player-item:has(.you)::before,
.player-list .player-item:has(.you)::before,
.players-grid .player-item:has(.you)::before{
  background:#7657ff!important;
  box-shadow:0 0 0 4px rgba(118,87,255,.12)!important;
}

/* TV now uses only player panel full width */
.tv11-content{
  grid-template-columns:1fr!important;
}
.tv11-player-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* clean section spacing */
body:not(.tv11-body) .players-section,
body:not(.tv11-body) .round-players-section{
  margin-top:16px!important;
}
body:not(.tv11-body) .players-section h2,
body:not(.tv11-body) .players-section h3,
body:not(.tv11-body) .round-players-section h2,
body:not(.tv11-body) .round-players-section h3{
  margin-bottom:4px!important;
}

@media(max-width:760px){
  .round-players-list,
  .players-list,
  .player-list,
  .players-grid{
    grid-template-columns:1fr!important;
  }
  .tv11-player-grid{
    grid-template-columns:1fr!important;
  }
}

/* V17 vote result only, no points */
.round-result-inline{margin:16px 0!important;padding:18px!important;border:1px solid #3b3560!important;border-radius:16px!important;background:#181525!important;display:flex!important;flex-direction:column!important;gap:6px!important}
.round-result-inline[hidden]{display:none!important}.round-result-inline strong{font-size:20px!important;color:#fff!important}.round-result-inline span{font-size:14px!important;color:#b7bdc7!important;line-height:1.5!important}
.scoreboard-card,.scoreboard-list,.score-row,#scoreboard,#tvScores,.tv11-ranking{display:none!important}
\n\n/* ===== V18 VOTE RESULT FIX ===== */\n.round-result-inline{\n  margin:16px 0!important;\n  padding:20px!important;\n  border-radius:18px!important;\n  background:#151922!important;\n  border:1px solid #313744!important;\n  color:#f5f7fa!important;\n  display:block!important;\n  box-shadow:none!important;\n}\n.round-result-inline[hidden]{display:none!important}\n.round-result-kicker{\n  color:#858e9d!important;\n  font-size:10px!important;\n  font-weight:950!important;\n  letter-spacing:.15em!important;\n  margin-bottom:7px!important;\n}\n.round-result-title{\n  color:#fff!important;\n  font-size:clamp(24px,4vw,34px)!important;\n  line-height:1.05!important;\n  font-weight:950!important;\n  letter-spacing:-.025em!important;\n}\n.round-result-message{\n  color:#adb5c1!important;\n  font-size:15px!important;\n  line-height:1.5!important;\n  margin-top:9px!important;\n}\n.round-result-voted{\n  display:inline-block!important;\n  margin-top:13px!important;\n  padding:7px 10px!important;\n  border-radius:10px!important;\n  background:#20252e!important;\n  color:#c8ced7!important;\n  font-size:13px!important;\n}\n.round-result-inline.winner-crewmates{border-color:#365c50!important;background:#121d1a!important}\n.round-result-inline.winner-crewmates .round-result-title{color:#61dea7!important}\n.round-result-inline.winner-impostors{border-color:#633a44!important;background:#211317!important}\n.round-result-inline.winner-impostors .round-result-title{color:#ff7180!important}\n.round-result-inline.winner-jester{border-color:#624d31!important;background:#211a11!important}\n.round-result-inline.winner-jester .round-result-title{color:#ffc96b!important}\n@media(max-width:760px){.round-result-inline{padding:16px!important;border-radius:15px!important}}\n

/* ===== V19 TV WINNER RESULT ===== */
.tv11-winner{
  min-height:130px!important;
  padding:24px 30px!important;
  border-width:2px!important;
}
.tv11-winner h2{
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.tv11-winner p{
  font-size:clamp(16px,1.5vw,22px)!important;
  margin-top:8px!important;
}
.tv11-winner-icon{
  font-size:clamp(50px,5vw,72px)!important;
}
.tv11-winner.winner-jester{
  background:linear-gradient(100deg,#261d10,#11141b)!important;
  border-color:#8c672d!important;
}
.tv11-winner.winner-crewmates{
  background:linear-gradient(100deg,#10231c,#11141b)!important;
  border-color:#2c7355!important;
}
.tv11-winner.winner-impostors{
  background:linear-gradient(100deg,#291319,#11141b)!important;
  border-color:#803847!important;
}


/* ===== V20 TIMER + TV RESULT FIX ===== */
.game-timer-card{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:16px!important;
  padding:18px!important;
  background:#14171e!important;
  border:1px solid #292e38!important;
  border-left:4px solid #7657ff!important;
  border-radius:18px!important;
}
.game-timer-card .timer-display{
  display:block!important;
  font-size:56px!important;
  line-height:.95!important;
  font-weight:950!important;
  color:#f5f7fa!important;
  letter-spacing:-.06em!important;
}
.game-timer-card .timer-status{
  margin-top:6px!important;
  color:#9ba3af!important;
  font-size:13px!important;
  font-weight:750!important;
}
.timer-actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.tv11-winner[hidden]{display:none!important}
.tv11-winner:not([hidden]){
  display:flex!important;
  position:relative!important;
  z-index:5!important;
}
@media(max-width:760px){
  .game-timer-card{flex-direction:column!important;align-items:stretch!important}
  .timer-actions{width:100%!important}
  .timer-actions button{flex:1 1 0!important}
}


/* ===== V21 TV RESULT RELIABILITY + VISIBILITY ===== */
.tv11-content{grid-template-columns:1fr!important}
#tvResult:not([hidden]){
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  min-height:150px!important;
  margin-top:16px!important;
}
#tvResult h2{
  font-size:clamp(38px,4.5vw,68px)!important;
}
#tvResult p{
  font-size:clamp(17px,1.6vw,24px)!important;
  max-width:1100px!important;
}


/* Własny kod pokoju */
.custom-code-toggle{
  width:100%;
  margin-top:14px!important;
  background:#eef0f4!important;
  color:var(--ui-text)!important;
  border:1px solid #e0e3e8!important;
}
.custom-code-box{
  margin-top:12px;
  padding:15px;
  border:1px solid var(--ui-line);
  border-radius:14px;
  background:var(--ui-card-soft);
}
.custom-code-box .field-label:first-child{margin-top:0}
.custom-code-unlock{
  width:100%;
  margin-top:10px!important;
  background:#252936!important;
  color:#fff!important;
}
.custom-code-error{
  margin-top:10px;
  padding:10px 12px;
  border-radius:11px;
  background:#fff0f2;
  border:1px solid #f3cbd1;
  color:#c63d4e;
  font-size:14px;
  font-weight:800;
}

/* ===== V22 OWN ROOM CODE UI ===== */
.code-choice{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
body:not(.tv11-body) .code-choice-card{
  position:relative;
  min-height:82px!important;
  width:100%;
  padding:14px 42px 14px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  text-align:left;
  background:#f7f8fa!important;
  color:var(--ui-text)!important;
  border:1px solid #e0e4ea!important;
  border-radius:15px!important;
  transition:.18s ease!important;
}
body:not(.tv11-body) .code-choice-card:hover{
  background:#f3f2ff!important;
  border-color:#c8c1ff!important;
  transform:translateY(-1px);
}
body:not(.tv11-body) .code-choice-card.is-active{
  background:#f0efff!important;
  border-color:#8c80f2!important;
  box-shadow:0 0 0 3px rgba(91,75,231,.08)!important;
}
.code-choice-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#fff;
  border:1px solid #e4e6ec;
  color:#5b4be7;
  font-size:20px;
  font-weight:950;
}
.code-choice-copy{display:block;min-width:0}
.code-choice-copy strong{display:block;font-size:14px;line-height:1.2}
.code-choice-copy small{display:block;margin-top:4px;color:#7b818c;font-size:11px;font-weight:650;line-height:1.25}
.code-choice-check{
  position:absolute;
  right:13px;
  top:50%;
  translate:0 -50%;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#5b4be7;
  color:#fff;
  font-size:12px;
  font-weight:950;
  opacity:0;
  transform:scale(.75);
  transition:.16s ease;
}
.code-choice-card.is-active .code-choice-check{opacity:1;transform:scale(1)}

body:not(.tv11-body) .custom-code-box{
  margin-top:12px;
  padding:17px!important;
  border:1px solid #dedcf7!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fafaff 0%,#f6f5ff 100%)!important;
  box-shadow:none!important;
  animation:customCodeIn .18s ease-out;
}
@keyframes customCodeIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.custom-code-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}
.custom-code-head strong{display:block;margin-top:2px;font-size:17px;letter-spacing:-.02em}
.custom-code-kicker{display:block;color:#7669db;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.custom-code-lock{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eeecff;
  border:1px solid #ddd9ff;
  font-size:17px;
}
.custom-code-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
body:not(.tv11-body) .custom-code-password-row input{min-width:0}
body:not(.tv11-body) .custom-code-unlock{
  width:auto!important;
  min-width:110px;
  margin-top:0!important;
  padding:0 16px!important;
  background:#252936!important;
  color:#fff!important;
  border-color:#252936!important;
}
body:not(.tv11-body) .custom-code-unlock:hover{background:#171a22!important}
.custom-code-error{
  margin-top:9px;
  padding:9px 11px;
  border-radius:10px;
  background:#fff0f2;
  border:1px solid #f3cbd1;
  color:#c63d4e;
  font-size:12px;
  font-weight:800;
}
.custom-room-fields{margin-top:15px;padding-top:14px;border-top:1px solid #dedcf7}
.custom-code-success{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 9px;
  margin-bottom:2px;
  border-radius:999px;
  background:#e9f8f0;
  color:#25754e;
  border:1px solid #c7ead7;
  font-size:11px;
  font-weight:900;
}
.custom-code-success span{font-size:12px}
.room-code-own-wrap{position:relative}
.room-code-hash{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  z-index:1;
  color:#8678ef;
  font-size:21px;
  font-weight:950;
  pointer-events:none;
}
body:not(.tv11-body) .room-code-own-wrap input{
  padding-left:38px!important;
  font-size:21px!important;
  font-weight:900!important;
  letter-spacing:.18em;
}
.custom-code-hint{margin-top:6px;color:#858b95;font-size:11px;font-weight:650}
.custom-code-box.is-unlocked{border-color:#c7e8d7!important;background:linear-gradient(180deg,#fbfffd 0%,#f4fbf7 100%)!important}
.custom-code-box.is-unlocked .custom-code-lock{background:#e7f7ee;border-color:#c7e8d7}

@media(max-width:560px){
  .code-choice{grid-template-columns:1fr}
  .custom-code-password-row{grid-template-columns:1fr}
  body:not(.tv11-body) .custom-code-unlock{width:100%!important}
}

/* ===== V23 PREMIUM OWN CODE - native dark lobby UI ===== */
.code-choice{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:18px!important;
}
body:not(.tv11-body) .code-choice-card{
  position:relative!important;
  overflow:hidden!important;
  min-height:96px!important;
  padding:17px 46px 17px 16px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  text-align:left!important;
  background:linear-gradient(180deg,#181c24 0%,#151920 100%)!important;
  color:#f4f6fa!important;
  border:1px solid #2b313d!important;
  border-radius:18px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
body:not(.tv11-body) .code-choice-card::before{
  content:"";
  position:absolute;
  inset:auto auto -42px -30px;
  width:115px;
  height:115px;
  border-radius:50%;
  background:rgba(118,87,255,.10);
  filter:blur(5px);
  opacity:0;
  transition:opacity .2s ease;
}
body:not(.tv11-body) .code-choice-card:hover{
  transform:translateY(-2px)!important;
  background:linear-gradient(180deg,#1c2029 0%,#171b23 100%)!important;
  border-color:#3a4251!important;
}
body:not(.tv11-body) .code-choice-card.is-active{
  background:linear-gradient(145deg,rgba(118,87,255,.19),rgba(118,87,255,.07) 55%,#171a22 100%)!important;
  border-color:#725df0!important;
  box-shadow:0 0 0 3px rgba(118,87,255,.10),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body:not(.tv11-body) .code-choice-card.is-active::before{opacity:1}
.code-choice-icon{
  position:relative;
  z-index:1;
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:#10131a!important;
  border:1px solid #2c3340!important;
  color:#a895ff!important;
  font-size:21px!important;
  font-weight:950!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.code-choice-card.is-active .code-choice-icon{
  background:#7657ff!important;
  border-color:#7657ff!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(118,87,255,.24)!important;
}
.code-choice-copy{position:relative;z-index:1;display:block!important;min-width:0!important}
.code-choice-copy strong{display:block!important;color:#f8f9fc!important;font-size:15px!important;font-weight:900!important;line-height:1.2!important}
.code-choice-copy small{display:block!important;margin-top:5px!important;color:#8f98a7!important;font-size:11px!important;font-weight:700!important;line-height:1.35!important}
.code-choice-card.is-active .code-choice-copy small{color:#aaa3d9!important}
.code-choice-check{
  position:absolute!important;
  z-index:2!important;
  right:15px!important;
  top:15px!important;
  translate:none!important;
  width:23px!important;
  height:23px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  background:#7657ff!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
  opacity:0!important;
  transform:scale(.72) rotate(-8deg)!important;
  transition:.18s ease!important;
}
.code-choice-card.is-active .code-choice-check{opacity:1!important;transform:scale(1) rotate(0)!important}

body:not(.tv11-body) .custom-code-box{
  position:relative!important;
  overflow:hidden!important;
  margin-top:13px!important;
  padding:0!important;
  border:1px solid #2c3240!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#171b23 0%,#13171e 100%)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.025)!important;
  animation:customCodePremiumIn .22s cubic-bezier(.2,.8,.2,1)!important;
}
body:not(.tv11-body) .custom-code-box::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-85px;
  top:-100px;
  border-radius:50%;
  background:rgba(118,87,255,.11);
  filter:blur(10px);
  pointer-events:none;
}
@keyframes customCodePremiumIn{from{opacity:0;transform:translateY(-7px) scale(.992)}to{opacity:1;transform:none}}
.custom-code-head{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0!important;
  padding:17px 18px!important;
  border-bottom:1px solid #292f3a!important;
  background:rgba(255,255,255,.012)!important;
}
.custom-code-head strong{display:block!important;margin-top:3px!important;color:#f5f7fb!important;font-size:16px!important;font-weight:900!important;letter-spacing:-.02em!important}
.custom-code-kicker{display:block!important;color:#9b8dff!important;font-size:9px!important;font-weight:950!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.custom-code-lock{
  width:40px!important;
  height:40px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:#10131a!important;
  border:1px solid #303744!important;
  font-size:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.custom-code-box>.field-label,
.custom-code-box>.custom-code-password-row,
.custom-code-box>.custom-code-error,
.custom-code-box>.custom-room-fields{position:relative!important;z-index:1!important;margin-left:18px!important;margin-right:18px!important}
.custom-code-box>.field-label{margin-top:16px!important;margin-bottom:7px!important;color:#b5bdc9!important}
.custom-code-password-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}
body:not(.tv11-body) .custom-code-password-row input{
  min-width:0!important;
  min-height:50px!important;
  background:#0f1319!important;
  color:#f5f7fb!important;
  border:1px solid #303744!important;
  border-radius:13px!important;
}
body:not(.tv11-body) .custom-code-password-row input:focus{
  border-color:#7657ff!important;
  outline:none!important;
  box-shadow:0 0 0 4px rgba(118,87,255,.12)!important;
}
body:not(.tv11-body) .custom-code-unlock{
  width:auto!important;
  min-width:116px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 17px!important;
  border:1px solid #7657ff!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#8267ff 0%,#6d50ee 100%)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 8px 20px rgba(118,87,255,.18)!important;
}
body:not(.tv11-body) .custom-code-unlock:hover{
  transform:translateY(-1px)!important;
  background:linear-gradient(180deg,#8a70ff 0%,#7558f5 100%)!important;
}
.custom-code-error{
  margin-top:9px!important;
  margin-bottom:0!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:rgba(255,90,111,.09)!important;
  border:1px solid rgba(255,105,123,.26)!important;
  color:#ff8c9c!important;
  font-size:12px!important;
  font-weight:800!important;
}
.custom-room-fields{
  margin-top:17px!important;
  margin-bottom:18px!important;
  padding-top:16px!important;
  border-top:1px solid #292f3a!important;
}
.custom-code-success{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 10px!important;
  margin:0 0 4px!important;
  border-radius:10px!important;
  background:rgba(86,221,160,.09)!important;
  color:#78e7b3!important;
  border:1px solid rgba(86,221,160,.22)!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.custom-room-fields .field-label{color:#b5bdc9!important}
.room-code-own-wrap{position:relative!important}
.room-code-hash{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  color:#917eff!important;
  font-size:21px!important;
  font-weight:950!important;
  pointer-events:none!important;
}
body:not(.tv11-body) .room-code-own-wrap input{
  min-height:58px!important;
  padding-left:42px!important;
  background:#0e1218!important;
  border:1px solid #333a47!important;
  border-radius:14px!important;
  color:#fff!important;
  font-size:24px!important;
  font-weight:950!important;
  letter-spacing:.24em!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
body:not(.tv11-body) .room-code-own-wrap input:focus{
  border-color:#7657ff!important;
  outline:none!important;
  box-shadow:0 0 0 4px rgba(118,87,255,.12)!important;
}
.custom-code-hint{margin-top:7px!important;color:#737d8c!important;font-size:10px!important;font-weight:750!important}
.custom-code-box.is-unlocked{
  border-color:rgba(86,221,160,.38)!important;
  background:linear-gradient(180deg,rgba(86,221,160,.045) 0%,#151a20 34%,#13171e 100%)!important;
}
.custom-code-box.is-unlocked .custom-code-lock{
  background:rgba(86,221,160,.09)!important;
  border-color:rgba(86,221,160,.25)!important;
}

@media(max-width:560px){
  .code-choice{grid-template-columns:1fr!important}
  body:not(.tv11-body) .code-choice-card{min-height:86px!important}
  .custom-code-password-row{grid-template-columns:1fr!important}
  body:not(.tv11-body) .custom-code-unlock{width:100%!important}
}
