@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#fff;background:#17123b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 50% -15%,#4b2787 0,transparent 42%),#17123b}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.ambient{position:fixed;pointer-events:none;filter:blur(3px);opacity:.55}.ambient-one{width:450px;height:450px;border:2px solid #7055ae;border-radius:40%;right:-250px;top:10%;transform:rotate(25deg)}.ambient-two{width:360px;height:360px;border:2px solid #6454a0;border-radius:45%;left:-240px;bottom:-80px;transform:rotate(-20deg)}.shell{position:relative;max-width:1100px;margin:auto;padding:28px 24px 50px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Outfit,sans-serif;font-weight:900;font-size:1.5rem;letter-spacing:-.05em}.brand span:last-child{color:#ffcf42}.brand-mark{display:inline-grid;place-items:center;width:37px;height:37px;margin-right:6px;border-radius:12px;background:#ffcf42;color:#2c1558;font-size:1.5rem}.top-note{color:#bcb2d9;font-size:.9rem}.home{display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:center;min-height:calc(100vh - 145px)}.eyebrow{color:#ffcf42;font-weight:800;letter-spacing:.16em;font-size:.8rem;text-transform:uppercase}.home h1{font-family:Outfit,sans-serif;font-size:clamp(3.5rem,7vw,6rem);line-height:.98;letter-spacing:-.065em;margin:16px 0 24px}.home h1 em{color:#ffcf42;font-style:normal}.intro{font-size:1.16rem;line-height:1.6;color:#cbc3df;max-width:530px;margin:0 0 28px}.home-art{display:flex;gap:14px;align-items:center}.art-tile{font-family:Outfit,sans-serif;font-size:2.5rem;font-weight:900;width:74px;height:74px;display:grid;place-items:center;border-radius:20px;box-shadow:0 13px 20px #0e0a2e55;transform:rotate(-10deg)}.art-tile:nth-child(2){transform:rotate(9deg) translateY(14px)}.art-tile:nth-child(3){transform:rotate(-5deg)}.a{background:#ed547c}.b{background:#5595ee}.c{background:#e7ae31}.panel{background:#fff;color:#241a48;border-radius:28px;padding:32px;box-shadow:0 25px 70px #08051c77}.panel h2{font-family:Outfit,sans-serif;font-size:1.9rem;letter-spacing:-.04em;margin:0 0 7px}.panel p{color:#706985;margin:0 0 25px;line-height:1.5}.field{display:block;font-weight:800;font-size:.88rem;margin:18px 0 8px}.input{border:2px solid #e5e2ef;background:#f8f7fc;border-radius:12px;height:52px;padding:0 15px;width:100%;outline:none;color:#241a48}.input:focus{border-color:#7454d6;background:#fff}.input::placeholder{color:#a6a0b7}.button{border:0;border-radius:13px;min-height:51px;padding:11px 20px;background:#ffcf42;color:#281747;font-weight:800;box-shadow:0 5px 0 #dba72a;transition:transform .15s,box-shadow .15s}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 #dba72a}.button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 #dba72a}.button.full{width:100%;margin-top:20px}.button.purple{background:#6e4bd4;color:#fff;box-shadow:0 5px 0 #4c2d9b}.button.purple:hover:not(:disabled){box-shadow:0 7px 0 #4c2d9b}.divider{text-align:center;color:#9c96ad;margin:22px 0;display:flex;align-items:center;gap:14px;font-size:.85rem;font-weight:700}.divider:before,.divider:after{content:'';height:1px;background:#e9e6ef;flex:1}.stage{max-width:880px;margin:52px auto 0}.stage-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #7869a6;background:#ffffff12;border-radius:100px;padding:8px 15px;color:#e8e1fb;font-weight:700}.pill .dot{width:8px;height:8px;background:#5feaab;border-radius:50%;box-shadow:0 0 0 4px #5feaab22}.stage h1{font-family:Outfit,sans-serif;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.05em;margin:16px 0}.muted{color:#bdb5d6;line-height:1.5}.room-code{display:inline-flex;align-items:baseline;gap:14px;background:#fff;color:#241a48;border-radius:22px;padding:18px 26px;margin:18px 0}.room-code small{font-size:.9rem;color:#6f6882;font-weight:700}.room-code strong{font:900 clamp(2.5rem,7vw,4.5rem) Outfit,sans-serif;letter-spacing:.07em}.room-code button{border:0;background:#f0ecfb;border-radius:9px;padding:9px;color:#4c2d9b;font-weight:800}.roster,.leaderboard{display:grid;gap:10px;margin-top:22px}.roster{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.person,.rank{background:#ffffff13;border:1px solid #ffffff25;border-radius:15px;padding:14px 17px;font-weight:800}.person{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person:before{content:'●';color:#ffcf42;margin-right:9px}.stage-actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}.stage-actions .button{min-width:180px}.question-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.timer{font:900 1.6rem Outfit,sans-serif;background:#ffcf42;color:#26174c;border-radius:12px;padding:8px 16px;min-width:76px;text-align:center}.timer.low{background:#ff6b94;color:#fff}.question-title{font-family:Outfit,sans-serif;font-size:clamp(2rem,4.6vw,3.5rem);letter-spacing:-.045em;line-height:1.13;margin:25px 0 28px;min-height:100px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer{border:2px solid transparent;border-radius:17px;min-height:106px;padding:19px;display:flex;align-items:center;gap:18px;color:#fff;text-align:left;font-weight:800;font-size:1.18rem;box-shadow:0 6px 0 #0003;transition:transform .12s,filter .12s}.answer:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.08)}.answer:disabled{opacity:1}.answer .shape{font-size:1.8rem;flex:0 0 36px}.answer:nth-child(1){background:#eb4d73}.answer:nth-child(2){background:#4e8fe5}.answer:nth-child(3){background:#e3a62d}.answer:nth-child(4){background:#50ad84}.answer.selected{border-color:white;outline:3px solid #fff5;transform:scale(.98)}.answer.dim{filter:brightness(.5)}.answer.correct{border-color:#fff;box-shadow:0 0 0 4px #fff6}.note-box{background:#ffffff12;border:1px solid #ffffff25;border-radius:17px;padding:20px;margin-top:24px;color:#e9e2fa}.rank{display:flex;align-items:center;gap:16px;font-size:1.06rem}.rank .position{color:#ffcf42;font:900 1.45rem Outfit,sans-serif;width:34px}.rank .score{margin-left:auto;color:#ffcf42}.winner{background:#ffcf42;color:#2d1854;border-radius:22px;padding:22px;text-align:center;margin:26px 0}.winner .cup{font-size:2.8rem}.winner strong{display:block;font:900 2rem Outfit,sans-serif}.winner .muted{color:#62487c}.waiting{font-size:1.4rem;font-weight:700;margin-top:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#fff;color:#31215b;border-radius:12px;padding:12px 18px;box-shadow:0 12px 30px #0005;opacity:0;pointer-events:none;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){.home{grid-template-columns:1fr;gap:36px;padding-top:70px}.home h1{font-size:clamp(3rem,12vw,5rem)}.panel{max-width:550px}.top-note{display:none}}@media(max-width:550px){.shell{padding:18px 16px 40px}.home{padding-top:46px}.panel{padding:24px}.stage{margin-top:40px}.answers{grid-template-columns:1fr;gap:10px}.answer{min-height:75px;font-size:1.06rem}.question-title{min-height:0}.room-code{width:100%;justify-content:space-between}.room-code strong{font-size:2.6rem}.stage-actions .button{width:100%}}

.editor{max-width:850px}.question-card{background:#fff;color:#241a48;border-radius:20px;padding:24px;margin:18px 0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-head h2{font-family:Outfit,sans-serif;margin:0;font-size:1.45rem}.card-head>div{display:flex;gap:6px}.small-button{background:#eee9fa;color:#4c2d9b;border:0;border-radius:8px;padding:8px 11px;font-weight:800;min-width:35px}.option-list{display:grid;gap:10px;margin-top:18px}.option-row{display:flex;align-items:center;gap:12px}.option-row input[type=radio]{appearance:none;width:23px;height:23px;flex:0 0 23px;border:2px solid #7d69b0;border-radius:50%;cursor:pointer}.option-row input[type=radio]:checked{background:#6749cc;box-shadow:inset 0 0 0 4px white}.correct-hint{font-size:.85rem;color:#71668b;margin-top:12px}.editor .stage-actions{position:sticky;bottom:10px;background:#17123bf2;padding:14px 0;z-index:2}
