@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#15171c;--panel:#20232b;--panel2:#272b34;--text:#f2f0ea;--muted:#aaaeb9;--purple:#c4b1f3;--mint:#bcebcf;--border:#373b46}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--border);background:var(--panel2);color:var(--text);cursor:pointer;border-radius:12px;min-height:48px;padding:12px 20px;font-weight:600;transition:background .15s,transform .15s}button:hover:enabled{background:#353a47}button:disabled{opacity:.45;cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline:3px solid var(--mint);outline-offset:4px}a{color:inherit;text-decoration:none}input,textarea,select{width:100%;color:var(--text);background:#191c22;border:1px solid #444954;border-radius:10px;min-height:50px;padding:14px 16px}input::placeholder,textarea::placeholder{color:#787e8c}label{color:#d4d6de;margin:14px 0 8px;font-size:14px;display:block}h1,h2,h3{letter-spacing:-.04em;font-family:Manrope,system-ui,sans-serif;line-height:1.15}h1{margin:18px 0 24px;font-size:clamp(34px,5vw,68px);font-weight:800}h2{margin:20px 0 16px;font-size:30px}h3{font-size:20px}p{color:var(--muted);margin:12px 0 22px}small{color:var(--muted);font-size:12px}.shell{flex-direction:column;max-width:1440px;min-height:100vh;margin:auto;padding:0 5vw;display:flex}.topbar{border-bottom:1px solid #30333c;justify-content:space-between;align-items:center;gap:20px;height:102px;display:flex}.brand{color:var(--purple);align-items:center;gap:12px;font-size:32px;display:flex}.brand span{letter-spacing:.01em;color:var(--text);max-width:260px;font-size:15px;font-weight:700;line-height:1.25}.small-label,.eyebrow{letter-spacing:.14em;color:var(--muted);font-size:12px;font-weight:700}.entry{flex:1;grid-template-columns:1.2fr 1fr;align-items:center;gap:8vw;padding:75px 0 85px;display:grid}.intro h1{margin:32px 0;font-size:clamp(58px,6.8vw,100px);line-height:1.02}.intro h1 em{color:var(--purple);font-style:normal}.question-mark{color:var(--purple);margin-top:4px;display:block}.intro p{font-size:19px;line-height:1.8}.mint-dot{background:var(--mint);border-radius:50%;width:7px;height:7px;margin-right:10px;display:inline-block}.principles{color:var(--purple);gap:28px;margin-top:42px;font-size:12px;display:flex}.principles b{color:var(--muted);margin-left:7px;font-weight:500}.entry-panel{background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:38px;position:relative;box-shadow:0 25px 70px #0002}.panel-top{align-items:center;gap:18px;display:flex}.icon{background:var(--purple);color:var(--bg);border-radius:15px;place-items:center;width:50px;height:50px;font-size:30px;display:grid}.entry-panel h2{margin-top:32px}.entry-panel p{font-size:15px}.primary{background:var(--purple);color:#21202a;border-color:var(--purple)}.primary:hover:enabled{background:#d1c1fc}.full{width:100%;margin-top:14px}.entry-note{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:14px;margin-top:30px;padding-top:24px;font-size:12px;display:flex}.entry-note span{color:var(--mint);font-size:28px}footer{min-height:76px;color:var(--muted);border-top:1px solid #30333c;justify-content:space-between;align-items:center;gap:20px;margin-top:auto;font-size:12px;display:flex}.mode-choice{gap:8px;display:flex}.mode-choice button{flex:1;font-size:14px}.selected{color:#fff;border-color:var(--purple)!important;background:#383243!important}.error{color:#ffe0e5;background:#473137;border:1px solid #90616b;border-radius:12px;margin:15px 0;padding:16px 20px;font-size:14px}.loading{min-height:100vh;color:var(--purple);place-items:center;display:grid}.header-right{align-items:center;gap:14px;display:flex}.mode-badge{letter-spacing:.08em;color:var(--mint);border:1px solid #607b6c;border-radius:99px;padding:7px 12px;font-size:11px}.mode-badge.test{color:var(--purple);border-color:#69607e}.quiet{background:0 0;border:0;min-height:40px;padding:6px;font-size:13px}.test-strip{color:#d9cafa;text-align:center;letter-spacing:.03em;background:#2d2939;border-bottom:1px solid #50475f;padding:8px;font-size:12px}nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;padding:24px 0;display:flex}nav button{background:0 0;border:0;font-size:14px}nav button.active{color:var(--purple);background:#35303f}nav button:last-child{border:1px solid var(--border);margin-left:auto}.game-main{flex:1;padding:35px 0 55px}.session-label{color:var(--muted);align-items:center;gap:16px;margin-bottom:30px;font-size:12px;display:flex}.session-label span{background:var(--panel2);border-radius:30px;padding:5px 10px}.question-head{text-align:center;max-width:1050px;margin:22px auto 30px}.question-head h1{margin:18px 0 24px;font-size:clamp(34px,4.4vw,64px)}.phase-label{color:var(--mint);border:1px solid #435a4d;border-radius:30px;padding:7px 14px;font-size:12px}.name-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 12px;display:grid}.name-grid button{text-align:left;grid-column:span 2;align-items:center;gap:10px;min-height:56px;padding:12px;font-size:14px;display:flex}.name-grid button:last-child{grid-column:2/span 2}.name-grid small{margin-left:auto}.avatar{color:#dbcdf7;background:#3d3949;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.phone .game-main{align-self:center;width:100%;max-width:560px}.phone .topbar{height:78px}.phone .question-head{text-align:left}.phone .question-head h1{font-size:34px;line-height:1.2}.phone .progress{text-align:center;margin:24px 0}.choose h1{font-size:48px}.progress{text-align:center;margin:55px auto}.dots{justify-content:center;gap:12px;display:flex}.dots i{background:var(--panel2);border:1px solid #555a67;border-radius:50%;width:14px;height:14px}.dots i.filled{background:var(--mint);border-color:var(--mint)}.progress p{font-size:15px}.countdown{color:var(--purple);margin-top:25px;font-family:Manrope,sans-serif;font-size:24px}.countdown span{color:var(--muted);margin:8px;font-size:14px;display:block}.center{text-align:center}.pass{color:var(--muted);background:0 0;border:none}.veto-box{background:#20272a;border:1px solid #4d5557;border-radius:14px;margin:30px 0 8px;padding:20px}.veto-box b{font-size:14px}.veto-box p{margin:8px 0 18px;font-size:13px}.veto-box button{color:#c8e6d4;background:0 0;border-color:#667772;width:100%}.answer-confirmed{text-align:center;border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:32px 20px}.checkmark{color:var(--mint);font-size:34px}.answer-confirmed h2{font-size:25px}.lobby h1{max-width:840px}.lobby-layout{grid-template-columns:1.7fr 1fr;gap:35px;margin-top:40px;display:grid}.people{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lobby-person{border:1px solid var(--border);background:var(--panel);border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.lobby-person small{margin-left:auto}.lobby-person.joined{border-color:#50675a}.lobby-person.joined .avatar{color:var(--mint);background:#30453a}.joined-count{color:var(--mint);grid-column:1/-1}.qr-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:20px;padding:28px}.qr-card canvas{border-radius:12px}.qr-card p{font-size:13px}.qr-card a{overflow-wrap:anywhere;color:var(--purple);font-size:11px}.controls{border:1px solid var(--border);background:var(--panel);border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:32px;padding:24px;display:flex}.controls label{margin:0}.controls select{min-width:200px;margin:6px 0}.moderator-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:40px;padding-top:20px;display:flex}.moderator-bottom label{margin:0}.moderator-bottom select{margin-top:8px}.danger{color:#e7b7be;background:0 0;border-color:#705159;font-size:13px}.results{grid-template-columns:1fr 1.25fr;gap:24px;margin:40px 0;display:grid}.winner,.chart{background:var(--panel);border:1px solid var(--border);border-radius:22px;padding:36px}.winner{background:linear-gradient(140deg,#363041,#23232b);flex-direction:column;min-height:370px;display:flex}.winner .eyebrow{color:var(--purple)}.winner h2{margin:28px 0 10px;font-size:clamp(32px,4vw,57px)}.votes{color:var(--purple);font-size:24px}.result-foot{color:var(--muted);margin-top:auto;padding-top:22px;font-size:12px}.chart .eyebrow{margin-bottom:24px;display:block}.bar-row{color:var(--muted);grid-template-columns:95px 1fr 24px;align-items:center;gap:14px;margin:18px 0;font-size:14px;display:grid}.bar-row.leader{color:var(--text)}.track{background:#31343d;border-radius:4px;height:13px;overflow:hidden}.track div{background:#686173;border-radius:4px;height:100%;animation:.6s ease-out grow}.leader .track div{background:var(--purple)}.bar-row b{text-align:right;font-weight:500}.scale{color:#8c929f;justify-content:space-between;margin:20px 36px 0 109px;font-size:10px;display:flex}.neutral{text-align:center;max-width:900px;margin:auto;padding:65px 0}.neutral h1{font-size:clamp(36px,5vw,70px)}.neutral-icon{color:var(--mint);margin-bottom:20px;font-size:70px}.neutral .eyebrow{color:var(--mint)}.finish{text-align:center;padding:35px 0}.finish>h1{max-width:950px;margin:25px auto}.finish>button{margin:12px}.history{text-align:left;margin-top:50px}.history article{border-top:1px solid var(--border);padding:35px 0}.history .winner{min-height:270px}.management h1{font-size:48px}.management>button{margin:14px 12px 14px 0}.question-list{margin-top:20px}.question-edit{background:var(--panel);border-radius:14px;align-items:center;gap:14px;margin:14px 0;padding:14px;display:flex}.question-edit>input{flex:1}.checkbox{white-space:nowrap;align-items:center;gap:8px;display:flex}.checkbox input{width:20px;min-height:20px;accent-color:var(--purple)}.checkbox small{color:var(--purple)}.person-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:18px 0;display:flex}.person-row>span:nth-last-child(2){color:var(--muted);margin-left:auto;font-size:13px}.display .game-main{padding-top:50px}.display .question-head h1{font-size:clamp(38px,4.8vw,76px)}.display .bar-row{grid-template-columns:115px 1fr 24px;font-size:18px}.display .winner h2{font-size:clamp(40px,4.5vw,70px)}.display .progress p{font-size:24px}.display .dots i{width:24px;height:24px}.phone .lobby-layout{display:block}.phone .people{grid-template-columns:1fr}.phone .results{grid-template-columns:1fr;gap:15px}.phone .winner{min-height:240px;padding:26px}.phone .chart{padding:24px}.phone .winner h2{font-size:34px}@keyframes grow{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:850px){.shell{padding:0 22px}.topbar{height:78px}.small-label{display:none}.entry{grid-template-columns:1fr;gap:36px;padding:42px 0}.intro h1{font-size:58px}.intro .question-mark{margin-left:6px;display:inline}.intro p{font-size:16px}.principles{gap:18px;margin-top:26px}.entry-panel{padding:26px}.lobby-layout,.results{grid-template-columns:1fr}.winner{min-height:250px}.header-right{gap:5px}.mode-badge{font-size:9px}.brand span{font-size:12px}.moderator-bottom,.question-edit{flex-wrap:wrap}.question-edit>input{flex-basis:100%}.people{grid-template-columns:1fr}.person-row{flex-wrap:wrap}.person-row>button{margin-left:auto}nav button:last-child{margin-left:0}.game-main{padding:25px 0 35px}footer{flex-wrap:wrap;gap:10px;padding:18px 0}.management h1{font-size:34px}.lobby h1{font-size:38px}.controls{padding:18px}.controls>button{width:100%}.session-label{gap:8px;font-size:10px}.display .bar-row{grid-template-columns:95px 1fr 24px;font-size:14px}.brand span{max-width:160px}}@media (max-width:480px){.topbar{gap:10px}.brand{gap:8px;min-width:0;font-size:24px}.brand span{max-width:110px;font-size:12px}.header-right{gap:4px}.mode-badge{padding:6px 8px;font-size:8px}.quiet{padding:4px;font-size:11px}}.brand small{letter-spacing:.01em;color:var(--muted);white-space:nowrap;margin-top:3px;font-size:9px;font-weight:500;display:block}.intro h1{font-size:clamp(46px,5.9vw,88px)}@media (max-width:850px){.intro h1{font-size:48px}.brand small{font-size:8px}}.name-grid .avatar{width:28px;height:28px;font-size:12px}.phone .question-head .phase-label{margin:0 auto;display:table}.name-grid button{min-width:0}.name-grid small{font-size:10px}.login-mark{letter-spacing:-.035em;color:var(--purple);white-space:nowrap;justify-content:center;align-items:center;margin-right:38px;font-family:Manrope,system-ui,sans-serif;font-size:28px;font-weight:700;line-height:1;display:flex}.login-mark span:last-child{color:#9f7be1}@media (max-width:850px){.login-mark{margin-right:26px;font-size:20px}}@media (max-width:480px){.login-mark{font-size:clamp(12px,3.6vw,15px)}}.name-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:20px 0 12px}.name-grid button,.name-grid button:last-child{background:var(--panel);border:1px solid var(--border);min-height:44px;box-shadow:none;border-radius:12px;grid-column:span 2;grid-template-columns:22px minmax(0,1fr) 12px;align-items:center;gap:6px;padding:8px;display:grid;position:relative}.name-grid .avatar{color:#d8d7df;background:#30333d;width:22px;height:22px;font-size:10px;font-weight:600}.card-name{min-width:0;font-size:14px;font-weight:500}.card-check{color:var(--purple);text-align:center;font-size:14px;line-height:1}.name-grid button:hover:enabled{background:#2a2e38;transform:none}.name-grid button.selected{box-shadow:none;color:var(--text);border-color:var(--purple)!important;background:#302b3c!important}.name-grid button.selected .avatar{color:#e0d5f7;background:#49405e}.name-grid small{color:var(--muted);margin:0;font-size:10px;line-height:1;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.name-grid button:last-child:nth-child(odd){grid-column:2/span 2}.bar-row,.display .bar-row{grid-template-columns:120px minmax(0,1fr) 24px;gap:10px}.bar-label{white-space:nowrap;align-items:center;gap:8px;display:flex}.rank-badge{border-radius:7px;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-grid}.bar-row.rank-1{color:var(--text);font-weight:700}.rank-1 .rank-badge{background:var(--purple);color:#211c2b}.rank-1 .track div{background:var(--purple)}.bar-row.rank-2{color:#ded5ee}.rank-2 .rank-badge{color:#dfcef6;background:#494054}.rank-2 .track div{background:#a28bbb}.bar-row.rank-3{color:#c4becd}.rank-3 .rank-badge{color:#c4b4d7;background:#36313e}.rank-3 .track div{background:#806f96}.bar-row:is(.rank-1,.rank-2,.rank-3) b{font-weight:700}.track{height:15px}.scale{margin-left:130px;margin-right:34px}.display .bar-row{grid-template-columns:150px minmax(0,1fr) 24px}.display .rank-badge{width:30px;height:30px;font-size:15px}.display .scale{margin-left:160px}@media (max-width:850px){.display .bar-row{grid-template-columns:120px minmax(0,1fr) 24px}.display .rank-badge{width:24px;height:24px;font-size:12px}.display .scale{margin-left:130px}}@media (max-width:400px){.bar-row,.display .bar-row{grid-template-columns:108px minmax(0,1fr) 20px;gap:6px;font-size:13px}.bar-label{gap:5px}.rank-badge{width:22px;height:22px}.scale,.display .scale{margin-left:114px;margin-right:26px}}.brand .brand-name{max-width:240px;color:var(--text);font-size:18px;line-height:1.25}@media (max-width:850px){.brand .brand-name{max-width:180px;font-size:15px}}@media (max-width:480px){.brand .brand-name{max-width:110px;font-size:12px}}.dots{flex-wrap:wrap;max-width:560px;margin:auto}.controls select{max-width:100%}.access-id{letter-spacing:.04em;margin-top:4px;font-family:ui-monospace,monospace;font-size:11px;font-weight:400;display:block}.lobby-count{background:var(--panel);border:1px solid var(--border);border-radius:18px;flex-direction:column;justify-content:center;gap:8px;padding:28px;display:flex}.lobby-count strong{color:var(--purple);letter-spacing:-.03em;font-family:Manrope,system-ui,sans-serif;font-size:36px;line-height:1.2}.lobby-count span{color:var(--muted);font-size:15px}.rank-1 .track div,.rank-1 .rank-badge{color:#251a32;background:#efd5ff}.rank-2 .track div,.rank-2 .rank-badge{color:#251a32;background:#b888f0}.rank-3 .track div,.rank-3 .rank-badge{color:#201729;background:#967ac2}.rank-1 .track div{box-shadow:inset 0 0 0 1px #fff3}.bar-row.rank-1 b{color:#efd5ff}.bar-row.rank-2 b{color:#cfabfa}.bar-row.rank-3 b{color:#b49bd8}.chart .scale,.display .chart .scale{text-align:right;letter-spacing:.01em;margin:20px 0 0;font-size:11px;display:block}.bar-row.rank-1 b,.bar-row.rank-2 b,.bar-row.rank-3 b{color:var(--text)}.display .question-head h1{max-width:1000px;margin:18px auto 24px;font-size:clamp(30px,3.5vw,56px);line-height:1.2}.display .winner h2{overflow-wrap:anywhere;font-size:clamp(28px,3vw,46px);line-height:1.2}.display .winner .votes{font-size:21px}.principles{flex-wrap:wrap;row-gap:12px}.principles>span{align-items:baseline;display:flex}.principles b{max-width:210px}.lobby-controls{align-items:flex-end}.lobby-controls label{flex-direction:column;gap:8px;display:flex}.lobby-controls select{height:50px;margin:0}.lobby-controls>button{height:50px;min-height:50px}.lobby-controls>p{flex-basis:100%;margin:8px 0 0}.display .game-main:has(#display-question){min-height:100dvh;padding-top:16px}.display #display-question{margin-top:0;scroll-margin-top:16px}.display .results{margin-top:24px}.display .progress{margin:38px 0}.display .chart{padding:24px}.display .chart .eyebrow{margin-bottom:16px}.display .bar-row{margin:10px 0}.display .winner{min-height:0;padding:28px}.display .game-main:has(#display-question){padding-bottom:24px}
