:root { --ink:#10162f; --muted:#707995; --line:#e8ebf5; --blue:#5357ed; --violet:#7c4dff; --bg:#f6f7fc; --success:#18a873; --danger:#ef5b69; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); overflow-x:hidden; }
button,input { font:inherit; }
button { cursor:pointer; }
.hidden { display:none !important; }
.ambient { position:fixed; border-radius:50%; filter:blur(4px); pointer-events:none; opacity:.45; }
.ambient-one { width:420px; height:420px; background:#d8d4ff; top:-220px; right:-130px; }
.ambient-two { width:340px; height:340px; background:#d4eaff; bottom:-230px; left:-150px; }
.app-shell { position:relative; width:min(1440px,100%); min-height:100vh; margin:auto; }
.topbar { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 42px; background:rgba(255,255,255,.86); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); font-size:20px; font-weight:800; }
.brand>span:last-child>span { color:var(--blue); }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:#fff; background:linear-gradient(145deg,var(--blue),var(--violet)); box-shadow:0 8px 20px #5558ed45; }
.player-chip { display:flex; align-items:center; gap:9px; padding:8px 10px 8px 13px; background:#fff; border:1px solid var(--line); border-radius:14px; font-size:13px; font-weight:700; }
.status-dot { width:8px; height:8px; border-radius:50%; background:#1cc98a; box-shadow:0 0 0 4px #1cc98a18; }
.icon-button { border:0; background:#f0f1f8; color:#777f98; width:28px; height:28px; border-radius:8px; }

.screen { min-height:calc(100vh - 76px); }
.login-screen { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:80px; padding:70px clamp(36px,8vw,130px); }
.login-copy h1 { margin:16px 0 22px; font-size:clamp(44px,5.2vw,76px); line-height:1.06; letter-spacing:-4px; }
.login-copy h1 em { color:var(--blue); font-style:normal; }
.login-copy>p { max-width:590px; font-size:18px; line-height:1.8; color:var(--muted); }
.eyebrow { text-transform:uppercase; letter-spacing:2.2px; font-size:11px; font-weight:800; color:var(--blue); }
.feature-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.feature-row span { padding:10px 15px; background:#fff; border:1px solid var(--line); border-radius:12px; font-size:12px; font-weight:700; }
.card { background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 22px 70px rgba(43,48,94,.08); }
.login-card { max-width:450px; width:100%; justify-self:end; padding:42px; }
.card-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:17px; color:#fff; font-size:24px; background:linear-gradient(145deg,var(--blue),var(--violet)); }
.login-card h2 { margin:24px 0 7px; font-size:25px; }
.login-card>p { margin:0 0 27px; color:var(--muted); font-size:14px; }
.login-card label { display:block; margin:17px 0 8px; font-size:12px; font-weight:800; }
.login-card input { width:100%; height:52px; padding:0 16px; border:1px solid #dfe3ef; border-radius:13px; outline:0; transition:.2s; }
.login-card input:focus { border-color:var(--blue); box-shadow:0 0 0 4px #5357ed12; }
.primary-button,.secondary-button { border:0; border-radius:13px; font-weight:800; transition:.2s; }
.primary-button { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:24px; padding:15px 18px; color:#fff; background:linear-gradient(135deg,var(--blue),#6b4de8); box-shadow:0 12px 30px #5558ed3a; }
.primary-button:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 16px 34px #5558ed4d; }
.primary-button:disabled { opacity:.55; cursor:not-allowed; }
.form-message { min-height:20px; margin-top:12px; color:var(--muted); font-size:12px; text-align:center; }
.form-message.error,.answer-feedback.error { color:var(--danger); }

.game-screen { display:grid; grid-template-columns:230px 1fr; }
.sidebar { display:flex; flex-direction:column; gap:8px; padding:30px 18px; background:#fff; border-right:1px solid var(--line); }
.nav-item { display:flex; align-items:center; gap:12px; width:100%; padding:13px 14px; border:0; border-radius:12px; background:transparent; color:#7a829a; text-align:left; font-size:13px; font-weight:700; }
.nav-item.active { color:var(--blue); background:#f0f0ff; }
.nav-item small { margin-left:auto; font-size:8px; text-transform:uppercase; }
.sidebar-tip { margin-top:auto; padding:18px; border-radius:17px; color:#fff; background:linear-gradient(145deg,#242b56,#4646a6); }
.sidebar-tip>span { font-size:21px; }.sidebar-tip strong { display:block; margin:10px 0 5px; font-size:12px; }.sidebar-tip p { margin:0; opacity:.72; font-size:10px; line-height:1.6; }
.content { width:100%; max-width:1120px; margin:0 auto; padding:48px clamp(26px,5vw,70px); }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }
.section-heading h1 { margin:6px 0 0; font-size:32px; letter-spacing:-1.3px; }
.live-pill { padding:8px 13px; border-radius:20px; color:#e3485e; background:#fff0f2; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
.live-pill span { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#ee4c63; animation:pulse 1.5s infinite; }
@keyframes pulse { 50% { opacity:.3; } }
.arena-card { min-height:385px; display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border-radius:26px; background:#fff; border:1px solid var(--line); box-shadow:0 24px 70px rgba(43,48,94,.09); }
.arena-visual { position:relative; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#4b4ede,#7c4dff); }
.orbit { position:absolute; border:1px solid #ffffff36; border-radius:50%; }.orbit-one { width:280px;height:280px; }.orbit-two { width:190px;height:190px; }
.trophy { position:relative; display:grid; place-items:center; width:110px;height:110px;border-radius:32px; background:#ffffff1d; color:#fff; font-size:52px; box-shadow:0 20px 45px #2527804d; backdrop-filter:blur(8px); }
.arena-info { padding:42px; }.arena-meta { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:11px; font-weight:700; }
.badge { padding:6px 9px; border-radius:7px; color:var(--blue); background:#eeeeff; font-size:9px; font-weight:800; letter-spacing:1px; }
.arena-info h2 { margin:17px 0 10px; font-size:28px; letter-spacing:-1px; }.arena-info>p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.arena-stats { display:grid; grid-template-columns:repeat(3,1fr); margin:28px 0 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.arena-stats div { display:flex; flex-direction:column; gap:4px; text-align:center; border-right:1px solid var(--line); }.arena-stats div:last-child { border:0; }.arena-stats strong { font-size:20px; }.arena-stats span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.8px; }
.join-button { margin-top:23px; }
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.mini-card { display:flex; gap:14px; padding:18px; background:#fff; border:1px solid var(--line); border-radius:17px; }.mini-icon { display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px;font-weight:800;}.mini-icon.violet{background:#eeeaff;color:#734fee}.mini-icon.blue{background:#e9f3ff;color:#438ae7}.mini-icon.orange{background:#fff1e4;color:#f09537}.mini-card strong{font-size:12px}.mini-card p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}

.center-card { max-width:620px; margin:45px auto; padding:60px; text-align:center; }.pulse-ring { display:grid;place-items:center;width:88px;height:88px;margin:0 auto 28px;border-radius:50%;background:#eeedff;box-shadow:0 0 0 15px #f7f6ff;}.pulse-ring span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--blue);color:#fff;font-size:22px}.center-card h1{margin:12px 0;font-size:30px}.center-card>p{color:var(--muted);font-size:13px}.large-timer{margin:28px 0;font-size:54px;font-weight:800;letter-spacing:-2px;color:var(--blue)}.player-progress{max-width:360px;margin:auto;color:var(--muted);font-size:11px}.player-progress>div{height:7px;margin-top:10px;overflow:hidden;border-radius:10px;background:#edf0f7}.player-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--violet));transition:.3s}
.question-topline { display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px;margin-bottom:22px;color:var(--muted);font-size:12px;font-weight:800;}.question-timer{position:relative;height:42px;overflow:hidden;border-radius:22px;background:#e9ebf5;text-align:center}.question-timer i{position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(90deg,#7068f3,#5b55d9);transition:.3s}.question-timer strong{position:relative;z-index:1;line-height:42px;color:#fff}.score-chip{text-align:right}.score-chip b{color:var(--blue);font-size:18px}.question-card{padding:50px}.question-label{display:block;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:2px;text-align:center}.question-card h1{max-width:780px;margin:15px auto 38px;text-align:center;font-size:28px;line-height:1.45}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.option-button{display:flex;align-items:center;gap:15px;min-height:72px;padding:14px 18px;border:1px solid #e2e5f0;border-radius:15px;background:#fff;color:var(--ink);font-weight:700;text-align:left;transition:.2s}.option-button:hover:not(:disabled),.option-button.selected{border-color:var(--blue);background:#f5f4ff;transform:translateY(-1px)}.option-button span{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:#eef0f7;color:#626a83}.option-button.correct{border-color:var(--success);background:#edfbf6}.option-button.wrong{border-color:var(--danger);background:#fff1f2}.answer-feedback{min-height:24px;margin-top:20px;text-align:center;font-size:13px;font-weight:800}.answer-feedback.success{color:var(--success)}
.results-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.result-hero{padding:35px;text-align:center;background:linear-gradient(150deg,#4e51df,#7e50ee);color:#fff}.result-crown{font-size:46px;margin-bottom:16px}.result-hero>span{display:block;opacity:.72;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.result-hero>strong{display:block;margin:8px 0;font-size:58px}.result-hero p{margin:0 0 25px}.secondary-button{padding:12px 17px;background:#fff;color:var(--blue)}.leaderboard-card{padding:28px}.leaderboard-card h2{margin:0 0 18px;font-size:18px}.ranking-row{display:grid;grid-template-columns:30px 38px 1fr auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line);font-size:12px}.ranking-row.me{border-radius:12px;background:#f1f0ff;border:0}.rank{color:var(--muted);font-weight:800}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ebeaff;color:var(--blue);font-weight:800}.ranking-row>b{color:var(--blue)}
.toast{position:fixed;z-index:10;left:50%;bottom:25px;transform:translate(-50%,30px);padding:13px 20px;border-radius:12px;background:#171c36;color:#fff;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.toast.visible{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){.login-screen{grid-template-columns:1fr;gap:35px;padding:45px}.login-card{justify-self:start}.game-screen{grid-template-columns:1fr}.sidebar{display:none}.arena-card{grid-template-columns:1fr}.arena-visual{min-height:190px}.info-grid{grid-template-columns:1fr}.content{padding:32px 20px}.results-layout{grid-template-columns:1fr}.topbar{padding:0 20px}}
@media(max-width:560px){.login-screen{padding:30px 20px}.login-copy h1{font-size:43px;letter-spacing:-2px}.login-card{padding:27px}.arena-info{padding:27px}.options-grid{grid-template-columns:1fr}.question-card{padding:30px 20px}.question-card h1{font-size:21px}.question-topline{grid-template-columns:1fr 1fr}.question-timer{grid-row:2;grid-column:1/3}.center-card{padding:35px 22px}.feature-row{display:none}}
