@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{color:#14213d;background:#f6f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:32px;background:radial-gradient(circle at 15% 10%,rgba(79,70,229,.25),transparent 30rem),radial-gradient(circle at 85% 0%,rgba(16,185,129,.18),transparent 24rem),linear-gradient(135deg,#f8fafc,#eef2ff 52%,#fff)}.topbar{max-width:1180px;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:900;letter-spacing:-.04em;color:#111827}.logo-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#4f46e5;box-shadow:0 14px 34px #4f46e552}.logo-mark svg{width:24px;height:24px;fill:#fff}.event-pill{border:1px solid #c7d2fe;background:#eef2ffd9;color:#4338ca;border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:900}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;max-width:1180px;margin:0 auto 24px}.hero h1{margin:0;font-size:clamp(2.2rem,5vw,4.6rem);letter-spacing:-.06em}.hero-copy{max-width:660px;color:#526079;font-size:1.1rem;line-height:1.7}.hero-copy-block{max-width:780px}.challenge-card,.main-card,.side-panel{border:1px solid rgba(255,255,255,.78);background:#ffffffd1;box-shadow:0 24px 80px #1e293b1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px}.challenge-card{min-width:280px;padding:22px;display:flex;align-items:center;gap:16px;color:#111827}.challenge-number{width:82px;height:82px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:3rem;font-weight:900;letter-spacing:-.08em;box-shadow:0 18px 44px #4f46e547}.challenge-card span,.eyebrow,.step-label{margin:0 0 8px;color:#7c3aed;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.challenge-card strong{display:block;color:#111827;font-size:1.4rem;line-height:1.25}.grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}.main-card,.side-panel{padding:28px}.side-panel{display:flex;flex-direction:column;gap:18px}.mission-card{border-radius:22px;padding:20px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;box-shadow:0 18px 45px #4f46e538}.mission-card .step-label{color:#c7d2fe}.mission-card strong{display:block;font-size:1.35rem;line-height:1.25}.mission-card p{margin:10px 0 0;color:#e0e7ff;line-height:1.55}.stack{display:flex;flex-direction:column;gap:22px}h2,h3{margin:0;letter-spacing:-.03em}h2{font-size:clamp(1.8rem,4vw,2.8rem)}.muted{color:#64748b;line-height:1.6}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:flex;flex-direction:column;gap:8px;color:#334155;font-weight:700}input,textarea{width:100%;border:1px solid #d8dee9;background:#fff;color:#111827;border-radius:16px;padding:14px 16px;outline:none;transition:border .2s,box-shadow .2s}textarea{min-height:150px;resize:vertical}input:focus,textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 4px #7c3aed1f}.difficulty-grid,.criteria-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.choice-block{display:flex;flex-direction:column;gap:10px}.choice-block>p{margin:0;color:#334155;font-weight:800}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}.difficulty-card,.choice-card,.criterion{border:1px solid #d8dee9;background:#fff;border-radius:20px;padding:18px;text-align:left}.difficulty-card{min-height:134px;display:flex;flex-direction:column;gap:10px;color:#1e293b}.choice-card{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#1e293b;text-align:center;transition:border .2s,background .2s,transform .2s,box-shadow .2s}.choice-card:hover{transform:translateY(-2px);border-color:#a5b4fc}.choice-card small{color:#64748b;line-height:1.25}.choice-emoji{font-size:1.8rem}.difficulty-card span,.criterion p{color:#64748b;line-height:1.45}.difficulty-card.selected,.choice-card.selected{border-color:#7c3aed;background:#f5f3ff;box-shadow:inset 0 0 0 1px #7c3aed}.primary-button,.danger-button{border:0;border-radius:18px;padding:15px 22px;color:#fff;font-weight:800;transition:transform .2s,opacity .2s}.primary-button{background:linear-gradient(135deg,#7c3aed,#2563eb)}.danger-button{background:linear-gradient(135deg,#ef4444,#f97316)}.primary-button:hover,.danger-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.alert{max-width:1180px;margin:0 auto 18px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:18px;padding:14px 18px;font-weight:700}.alert.compact{margin:0}.session-screen,.analysis{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center}.session-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left}.timer,.pill{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:10px 14px;background:#eef2ff;color:#4338ca;font-weight:800}.voice-orb{width:min(320px,70vw);aspect-ratio:1;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle,#ffffff 0 30%,transparent 31%),radial-gradient(circle,#10b98147,#10b98114);border:1px solid rgba(16,185,129,.24);color:#047857;font-weight:900;box-shadow:0 30px 70px #10b98138}.voice-orb.speaking{background:radial-gradient(circle,#ffffff 0 30%,transparent 31%),radial-gradient(circle,#7c3aed52,#7c3aed14);border-color:#7c3aed47;color:#6d28d9;animation:pulse 1.1s infinite alternate}.loader{width:80px;height:80px;border:8px solid #e0e7ff;border-top-color:#7c3aed;border-radius:50%;animation:spin .9s linear infinite}.score-card{padding:24px;border-radius:24px;background:radial-gradient(circle at 90% 0%,rgba(16,185,129,.28),transparent 16rem),linear-gradient(135deg,#111827,#312e81);color:#fff}.score-card .muted{color:#cbd5e1}.score{margin:18px 0;font-size:clamp(3rem,10vw,6rem);font-weight:900;letter-spacing:-.08em}.criterion{display:flex;flex-direction:column;gap:8px}.criteria-note{margin:0;border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;border-radius:16px;padding:12px 14px;font-weight:800}.criterion span{color:#7c3aed;font-size:1.35rem;font-weight:900}.feedback-list{border:1px solid #e2e8f0;background:#fff;border-radius:22px;padding:20px}.feedback-list ul{margin:12px 0 0;padding-left:20px;color:#475569;line-height:1.7}.leaderboard{display:flex;flex-direction:column;gap:18px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{border:1px solid #d8dee9;background:#fff;border-radius:999px;padding:8px 12px;color:#475569;font-weight:800}.filters button.active{border-color:#7c3aed;background:#7c3aed;color:#fff}.ranking{display:flex;flex-direction:column;gap:12px}.rank-row{display:grid;width:100%;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border-radius:18px;background:#fff;border:1px solid #e2e8f0;color:inherit;text-align:left;transition:transform .2s,border .2s,box-shadow .2s}.rank-row:first-of-type{border-color:#fbbf24;background:linear-gradient(135deg,#fffbeb,#fff)}.rank-row:hover{transform:translateY(-1px);border-color:#a5b4fc;box-shadow:0 14px 30px #4f46e51a}.rank-row:disabled{cursor:wait;opacity:.7;transform:none}.rank{display:grid;place-items:center;min-width:42px;height:42px;border-radius:14px;background:#f5f3ff;color:#6d28d9;font-weight:900}.rank-row p{margin:4px 0 0;color:#64748b;font-size:.9rem;line-height:1.35}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.04)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.app-shell{padding:18px}.hero,.grid,.two-columns,.difficulty-grid,.criteria-grid,.choice-grid,.choice-grid-five{grid-template-columns:1fr}.hero{flex-direction:column}.session-header{flex-direction:column;align-items:flex-start}}
