@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#101c35;--navy2:#172849;--purple:#7450f5;--violet:#9c63f6;--blue:#4e8bf7;--pink:#e66db8;--ink:#17233c;--muted:#74809a;--line:#e4eaf5;--bg:#f5f7fc;--white:#fff;--green:#13a66b;--shadow:0 18px 50px #24375b12}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:'DM Sans',sans-serif;color:var(--ink);font-size:15px}a{color:inherit;text-decoration:none}.topbar{height:76px;padding:0 max(calc((100% - 1180px)/2),5%);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px}.brand-icon{display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;border-radius:12px;width:34px;height:34px;font-size:23px}.topbar nav{display:flex;gap:30px;color:#526079;font-size:13px;font-weight:600}.topbar nav a:hover{color:var(--purple)}.container{max-width:1180px;margin:36px auto 70px;padding:0 18px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(32px,4vw,49px);line-height:1.12;margin-bottom:18px}h1 span,.join-intro h1 span,.page-heading h1 span,.admin-heading h1 span,.login-shell h1 span{color:var(--purple)}h2{font-size:25px}p{color:var(--muted);line-height:1.65}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--purple);display:block;margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 20px;border:0;border-radius:12px;font-weight:700;font-size:13px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn-primary{background:linear-gradient(110deg,var(--purple),#9256ed);color:white;box-shadow:0 8px 18px #754df52b}.btn-bright{background:linear-gradient(110deg,#ad5af0,#7450f5);color:white}.btn-outline{border:1px solid #d9e0ee;background:white;color:var(--ink)}.btn-small{padding:9px 12px;font-size:11px}.full{width:100%}.hero{background:linear-gradient(115deg,#101b34,#142849 72%,#30216a);border-radius:23px;padding:55px 6%;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;color:#fff;min-height:410px;overflow:hidden;position:relative;box-shadow:0 24px 50px #18274822}.hero:after{content:"";position:absolute;right:-90px;bottom:-190px;width:430px;height:300px;background:#7045e8;opacity:.18;transform:rotate(-35deg);border-radius:60px}.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:clamp(34px,4.1vw,50px)}.hero-copy h1 span{color:#ad80ff}.hero-copy p{color:#d3dcef;max-width:410px}.feature-row{display:flex;flex-wrap:wrap;gap:18px;margin:28px 0 27px;color:#e4eaf8;font-size:12px}.hero-art{height:280px;position:relative;display:grid;place-items:center;z-index:1}.brain{width:160px;height:160px;border-radius:44px;background:linear-gradient(145deg,#ad7cff,#5b49ef);display:grid;place-items:center;font-size:100px;color:#fff;box-shadow:0 20px 60px #774df766;transform:rotate(-8deg)}.orbit{position:absolute;border:1px solid #a58aff55;border-radius:50%;width:255px;height:255px}.orbit-two{width:310px;height:200px;transform:rotate(48deg)}.float-card{position:absolute;background:#fffffffa;color:var(--ink);padding:13px 16px;border-radius:13px;box-shadow:0 14px 35px #0002;font-size:12px;display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center}.float-card small{grid-column:2;color:var(--muted)}.card-a{top:24px;right:-8px}.card-b{bottom:18px;left:-10px}.hero-number{position:absolute;right:6px;bottom:-20px;font-size:30px;font-weight:800;color:#ffffff88}.hero-number span{font-size:13px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.info-card,.bottom-cta,.join-card,.question-card,.panel,.leaderboard,.result-card,.login-shell{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.info-card{padding:23px}.icon-box{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;font-size:21px;margin-bottom:20px}.purple{background:#f0eaff;color:var(--purple)}.blue{background:#eaf2ff;color:var(--blue)}.pink{background:#ffedf7;color:#d94e9e}.info-card h3{font-size:17px;margin-bottom:8px}.info-card p{font-size:13px;margin:0}.bottom-cta{padding:25px 30px;display:flex;align-items:center;justify-content:space-between}.bottom-cta h2{margin:0}.bottom-cta .eyebrow{margin-bottom:7px}footer{text-align:center;color:#9aa4b7;font-size:12px;padding:22px;border-top:1px solid var(--line)}
.join-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;max-width:1000px;margin:50px auto}.join-intro h1{font-size:57px}.join-intro p{max-width:320px}.privacy-note{margin-top:45px;color:#596781;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;width:max-content;font-size:12px}.join-card{padding:25px;display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:center}.qr-wrap{text-align:center;padding:15px 10px;border:1px solid var(--line);border-radius:14px}.qr-wrap img{width:100%;max-width:220px;display:block;margin:auto}.qr-wrap p{font-size:11px;margin:12px 0 0}.join-form{text-align:center;padding:12px}.avatar,.login-mark{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 14px;border-radius:20px;background:#f0eaff;color:var(--purple);font-size:29px}.join-form h2{margin-bottom:7px}.join-form>p{font-size:13px;margin-bottom:24px}.join-form form{text-align:left}.join-form label,.stack-form label,.admin-login-form label{display:block;font-size:12px;font-weight:700;margin:13px 0 7px}input,textarea,select{font:inherit;color:var(--ink);background:#fbfcff;border:1px solid #dce4f1;border-radius:10px;padding:12px 13px;width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:#9474ff;box-shadow:0 0 0 3px #8c6aff1c}input::placeholder,textarea::placeholder{color:#a1acc0}.join-form .btn{margin-top:14px}.alert{background:#fff0f2;color:#ba3650;border-radius:9px;padding:10px;font-size:12px;margin:10px 0}
.quiz-top{display:flex;justify-content:space-between;align-items:center;margin:15px 0 20px}.quiz-top h1{font-size:31px;margin:0}.quiz-top h1 small{font-size:16px;color:#9ba5b7}.timer-pill{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);padding:12px 17px;border-radius:13px;color:var(--purple)}.timer-pill strong{font-size:20px}.timer-pill.urgent{color:#d83354;background:#fff0f2}.progress{height:6px;background:#e5e9f4;border-radius:9px;overflow:hidden;margin-bottom:23px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--pink));border-radius:9px}.question-card{max-width:850px;margin:0 auto;padding:35px 38px}.question-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.type-pill{display:inline-block;background:#f0eaff;color:var(--purple);padding:7px 11px;border-radius:20px;font-size:10px;font-weight:800}.question-card h2{font-size:25px;line-height:1.45;margin:25px 0 30px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer-option{border:1px solid #dce4f1;border-radius:12px;padding:16px;display:flex;align-items:center;gap:13px;cursor:pointer;transition:.15s}.answer-option input{position:absolute;opacity:0;width:1px}.answer-option:has(input:checked){border-color:var(--purple);background:#f4f0ff;box-shadow:0 0 0 1px var(--purple)}.letter{width:28px;height:28px;border-radius:9px;background:#edf0f6;display:grid;place-items:center;font-size:12px;font-weight:800}.answer-option:has(input:checked) .letter{background:var(--purple);color:#fff}.radio-dot{margin-left:auto;width:15px;height:15px;border:1px solid #d4dbea;border-radius:50%}.answer-option:has(input:checked) .radio-dot{border:5px solid var(--purple)}.submit-answer{margin-top:24px}.tf-grid{grid-template-columns:1fr 1fr}.tf-grid .answer-option{padding:23px}.center{text-align:center;margin:24px}
.page-heading{text-align:center;margin:40px 0 28px}.page-heading h1{font-size:42px}.page-heading p{margin:0}.leaderboard{max-width:800px;margin:auto;padding:15px 25px}.leader-head,.leader-row{display:grid;grid-template-columns:55px 1fr 120px 100px;gap:10px;align-items:center;padding:15px 12px}.leader-head{color:#8792a8;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800;border-bottom:1px solid var(--line)}.leader-row{border-bottom:1px solid #eff2f8;font-size:13px}.leader-row:last-child{border:0}.leader-row.you{background:#f2edff;border-radius:10px}.rank{font-size:17px;font-weight:800}.player-name{display:flex;align-items:center;gap:10px;font-weight:700}.mini-avatar{width:30px;height:30px;border-radius:10px;background:linear-gradient(140deg,#dcd1ff,#b9d7ff);display:inline-grid;place-items:center;color:#5742be;font-weight:800;font-size:12px;flex-shrink:0}.player-name em{font-style:normal;color:var(--purple);font-size:10px;background:#fff;padding:4px 7px;border-radius:9px}.leader-row strong{text-align:right}.empty-state{text-align:center;padding:40px;color:var(--muted)}
.result-card{max-width:650px;margin:50px auto;padding:45px;text-align:center}.trophy{font-size:48px;margin-bottom:18px}.result-card h1{font-size:37px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#f5f7fc;border-radius:13px;padding:23px 10px;margin:30px 0}.result-stats div{display:grid;gap:7px;border-right:1px solid #e0e6f1}.result-stats div:last-child{border:0}.result-stats strong{font-size:25px;font-family:Manrope}.result-stats small{font-size:11px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:12px}.muted{font-size:12px;color:var(--muted)}
.login-shell{max-width:460px;margin:45px auto;padding:38px;text-align:center}.login-shell h1{font-size:34px}.login-shell>p{font-size:13px}.admin-login-form{text-align:left;margin-top:22px}.admin-login-form .btn{margin-top:22px}.security-note{font-size:10px;color:#9aa4b7;margin-top:22px}
.admin-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.admin-heading h1{font-size:37px;margin-bottom:9px}.admin-heading p{margin:0;font-size:13px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 22px;display:grid;gap:8px}.stat-card small{font-size:11px;color:var(--muted)}.stat-card strong{font:800 27px Manrope}.stat-card .state-text{font-size:19px;color:var(--green)}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{padding:24px;margin-bottom:20px;min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-title h2{font-size:22px;margin:0}.panel-title .eyebrow{margin-bottom:5px}.panel-title .icon-box{margin:0}.stack-form textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px;align-items:end}.check-stack{padding-bottom:7px}.checkline{display:flex!important;align-items:center;gap:8px;font-weight:500!important;margin:10px 0!important}.checkline input{width:16px;height:16px;accent-color:var(--purple)}.scoring-note{margin-top:20px;padding:16px;background:#f4f0ff;border-radius:12px;font-size:12px}.scoring-note p{font-size:12px;margin:5px 0 0}.question-list-panel{margin-top:2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:#8c97ac;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:#fafbfe}td,th{padding:13px 10px;border-bottom:1px solid #edf0f6}td{vertical-align:middle}.question-cell{min-width:230px;max-width:420px;font-weight:600}.question-cell small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.status{font-size:10px;padding:5px 8px;border-radius:8px}.status.on{background:#e4f9ef;color:#098854}.status.off{background:#fff0f2;color:#c64d65}.delete-btn{border:0;background:#fff0f2;color:#c34b60;border-radius:7px;padding:7px 9px;cursor:pointer}.roster-list>div{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f6}.roster-list>div:last-child{border:0}.roster-list strong{margin-left:auto;font-size:12px}.roster-list>div>b{width:20px;color:var(--muted)}.roster .panel-title{margin-bottom:10px}
@media(max-width:850px){.topbar{padding:0 20px}.topbar nav{gap:13px}.hero{grid-template-columns:1fr;padding:38px 7%}.hero-art{height:220px;margin-top:20px}.three-grid{grid-template-columns:1fr}.join-layout{grid-template-columns:1fr;gap:25px;margin:20px auto}.join-intro{text-align:center}.join-intro h1{font-size:43px}.join-intro p{margin:auto}.privacy-note{margin:15px auto}.admin-columns{grid-template-columns:1fr}.admin-heading{align-items:flex-start;gap:15px}.container{margin-top:24px}.bottom-cta{gap:15px}.bottom-cta h2{font-size:20px}}
@media(max-width:560px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:12px 17px;gap:10px}.brand{font-size:18px}.topbar nav{width:100%;justify-content:space-between;font-size:11px}.container{padding:0 12px}.hero{border-radius:16px;padding:30px 23px}.hero-copy h1{font-size:35px}.hero-art{transform:scale(.9);margin-left:-10px;margin-right:-10px}.feature-row{gap:11px}.three-grid{gap:12px}.bottom-cta{align-items:flex-start;flex-direction:column}.join-card{grid-template-columns:1fr;padding:15px}.qr-wrap{max-width:260px;margin:auto;width:100%}.join-form{padding:10px 4px}.question-card{padding:22px 17px}.question-card h2{font-size:21px}.answer-grid{grid-template-columns:1fr}.quiz-top h1{font-size:25px}.timer-pill{padding:9px 11px}.leaderboard{padding:10px}.leader-head,.leader-row{grid-template-columns:32px 1fr 48px 62px;gap:5px;padding:12px 5px;font-size:11px}.player-name{gap:5px}.mini-avatar{width:25px;height:25px}.leader-row strong{font-size:10px}.result-card{padding:30px 16px}.result-stats{padding:18px 4px}.result-stats strong{font-size:20px}.result-actions{flex-direction:column}.admin-heading h1{font-size:29px}.admin-heading .btn{padding:10px;font-size:11px}.admin-stats{gap:8px}.stat-card{padding:12px}.stat-card strong{font-size:20px}.stat-card small{font-size:10px}.panel{padding:16px}.form-two{grid-template-columns:1fr}.panel-title h2{font-size:19px}}
