@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Mongolian:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,"Noto Sans Mongolian",system-ui,sans-serif;color:#edf2ff;background:#0a1020;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0a1020;color:#edf2ff}button,input,select{font:inherit}
a{color:#9eb7ff}.muted{color:#9aa8c3}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:#91a9ff}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.04em;margin:.5rem 0}h2{font-size:1.25rem}
.entry-bg{display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 0%,#24386c 0%,#0a1020 65%)}
.entry-card{width:min(100%,430px);padding:36px;border:1px solid #293756;border-radius:24px;background:#111b30;box-shadow:0 24px 80px #0007}
.entry-card form{display:grid;gap:12px;margin-top:28px}.entry-hint{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:22px 0;color:#9aa8c3;font-size:.85rem}
.entry-hint code{background:#202d48;padding:5px 8px;border-radius:7px;color:#e4eaff}.subtle-link{font-size:.88rem;text-decoration:none}
label{display:block;font-size:.85rem;font-weight:700;color:#c8d3e8;margin-bottom:8px}
input,select{width:100%;padding:12px 13px;border:1px solid #344462;border-radius:10px;background:#0c1528;color:#f5f7ff;outline:none}
input:focus,select:focus{border-color:#829cff;box-shadow:0 0 0 3px #829cff22}
.btn{border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer;transition:transform .16s ease,filter .16s ease,background .16s ease}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.primary{background:#6d87ff;color:white}.secondary{background:#243453;color:#e7edff;border:1px solid #3b4d70}.danger{background:#a9364b;color:white}.success{background:#16876e;color:white}.full{width:100%;margin-top:8px}
.error{color:#ff8999;min-height:1.2em;font-size:.88rem;margin:12px 0 0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(18px,4vw,56px);border-bottom:1px solid #1f2c45;background:#0d1729}
.topbar h1{font-size:1.3rem;margin:0}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.page{width:min(1180px,calc(100% - 36px));margin:30px auto 70px}.panel{background:#111c31;border:1px solid #263653;border-radius:18px;padding:22px;margin-bottom:18px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.panel-head h2{margin:0}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.question-list{display:grid;gap:10px;margin-top:18px}
.question-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(90px,140px) minmax(90px,140px) auto;gap:10px;align-items:center;padding:12px;background:#0c1629;border:1px solid #253451;border-radius:12px}
.question-row strong{font-size:.9rem}.question-row input,.question-row select{padding:9px}
.team-list{display:grid;gap:10px}.team-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0c1629;border:1px solid #253451;border-radius:12px;padding:13px}
.team-name{display:flex;align-items:center;gap:10px;font-weight:800}.dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.team-red{background:#f05c6e}.team-blue{background:#538cff}.team-green{background:#35c99b}.team-yellow{background:#f4c84f}
.team-select{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.team-choice{padding:14px 10px;border:1px solid #354765;border-radius:12px;background:#0d1729;color:#edf2ff;font-weight:800;cursor:pointer}
.team-choice.selected{outline:2px solid #91a7ff;background:#202f51}.team-choice:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.bubbles{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:8px}
.bubble{display:flex;justify-content:center;align-items:center;gap:7px;padding:10px;border:1px solid #334563;border-radius:10px;background:#0d1729;cursor:pointer;font-weight:800}
.bubble input{width:auto;accent-color:#8298ff}.answer-row{padding:14px 0;border-bottom:1px solid #263653}.answer-row:last-child{border:0}
.warning{padding:18px;border:1px solid #ff586b;background:#521d2a;color:#fff;border-radius:14px;margin-bottom:18px;font-weight:800;line-height:1.5}
.hidden{display:none!important}.hint{font-size:.85rem;color:#9aa8c3}
.tv-body{background:radial-gradient(ellipse at 50% -20%,#263b69 0%,#080d18 65%);min-height:100vh}
.tv-layout{width:min(1450px,calc(100% - 48px));margin:32px auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}
.tv-title{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.tv-title h1{font-size:clamp(2rem,4vw,3.4rem)}
.leaderboard{display:grid;gap:14px}.leader-row{padding:19px 20px;border:1px solid #263653;background:#111b2d;border-radius:16px}
.leader-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:1.05rem;font-weight:800}
.score-number{font-variant-numeric:tabular-nums;font-size:1.3rem}.bar-track{height:15px;border-radius:30px;background:#26334c;overflow:hidden}
.bar-fill{height:100%;width:0;border-radius:30px;transition:width 1.15s cubic-bezier(.2,.8,.2,1),filter .6s ease;will-change:width}
.qr-panel{text-align:center;align-self:start}.qr-panel img{width:190px;height:190px;object-fit:contain;background:white;padding:8px;border-radius:12px;margin:8px auto 14px;display:block}
.qr-url{word-break:break-all;font-size:.8rem;color:#aab9d5}.tv-foot{color:#7283a4;font-size:.78rem;text-align:center;margin-top:24px}
.toast{position:fixed;right:20px;bottom:20px;padding:13px 17px;background:#20365b;border:1px solid #4b6594;border-radius:12px;box-shadow:0 10px 35px #0008;z-index:5}
@media(max-width:850px){.tv-layout{grid-template-columns:1fr}.qr-panel{max-width:420px;width:100%;margin:auto}.grid-two{grid-template-columns:1fr}}
@media(max-width:600px){.question-row{grid-template-columns:1fr 1fr}.question-row strong{grid-column:1/-1}.team-select{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.topbar-actions{justify-content:flex-end}.page{margin-top:18px}.panel{padding:16px}.entry-card{padding:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}