:root{color-scheme:dark;--bg: #0b1220;--elevated: #121a2b;--text: #f8fafc;--muted: #94a3b8;--accent: #7c3aed;--accent-hover: #6d28d9;--cyan: #22d3ee;--danger: #f87171;--danger-bg: rgba(248, 113, 113, .12);--radius: 16px;--ring: 0 0 0 3px rgba(124, 58, 237, .28);font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}a{color:inherit}.page-status{padding:2rem;text-align:center;color:var(--muted)}.login{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem 2.5rem;position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 50% -10%,rgba(124,58,237,.22),transparent 55%),linear-gradient(180deg,#070b14 0%,var(--bg) 42%,#0b1220 100%)}.login__orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}.login__orb--cyan{width:280px;height:280px;left:-80px;bottom:-60px;background:#22d3ee24}.login__orb--purple{width:320px;height:320px;right:-90px;top:12%;background:#8b5cf629}.login__panel{position:relative;z-index:1;width:min(420px,100%)}.login__brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1.15rem}.login__logo{height:36px;width:auto;display:block}.login__badge{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);border:1px solid rgba(34,211,238,.35);background:#22d3ee14;border-radius:999px;padding:.28rem .7rem}.login__card{background:#121a2beb;border:1px solid rgba(148,163,184,.14);border-radius:var(--radius);padding:1.75rem 1.6rem 1.6rem;box-shadow:0 24px 60px #00000059;display:flex;flex-direction:column;gap:1.15rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.login__intro h1{margin:.2rem 0 .45rem;font-size:1.55rem;font-weight:700;letter-spacing:-.03em}.login__eyebrow{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a78bfa}.login__card form{display:flex;flex-direction:column;gap:.95rem}.login__google{width:100%;height:40px;line-height:0;font-size:0;overflow:hidden;border-radius:4px;background:#131314}.login__google>div,.login__google iframe{display:block;width:100%;height:40px;max-height:40px;border:0;background:transparent}.login__divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.75rem;font-weight:500}.login__divider:before,.login__divider:after{content:"";flex:1;height:1px;background:#94a3b838}.login__hint,.login__error{margin:0;font-size:.92rem;line-height:1.5}.login__hint{color:var(--muted)}.login__error{color:#fecaca;background:var(--danger-bg);border:1px solid rgba(248,113,113,.28);border-radius:10px;padding:.7rem .8rem;font-size:.88rem}.login__footer{margin:1.15rem 0 0;text-align:center;color:#64748b;font-size:.8rem;line-height:1.5}.login__card label{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:600;color:#cbd5e1}.login__card input{border:1px solid rgba(148,163,184,.22);background:#070b14b3;color:var(--text);border-radius:10px;padding:.72rem .85rem;font-size:.95rem;font-weight:400;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login__card input::placeholder{color:#64748b}.login__card input:hover:not(:disabled){border-color:#94a3b866}.login__card input:focus{border-color:#8b5cf6;box-shadow:var(--ring)}.login__card input:disabled{opacity:.65}.btn{border:0;border-radius:10px;padding:.78rem 1rem;background:var(--accent);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .12s ease}.login__submit{margin-top:.15rem}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;border:1px solid #475569}.btn--danger{background:transparent;border:1px solid #b45353;color:#fecaca}.btn--danger:hover:not(:disabled){background:#b91c1c38}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.shell__nav{background:#020617;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.35rem}.shell__brand{font-weight:700;margin:0 0 .35rem}.shell__group{display:flex;flex-direction:column;gap:.15rem;margin-top:.85rem}.shell__group-label{margin:0 0 .15rem;padding:.15rem .35rem;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#475569;pointer-events:none;-webkit-user-select:none;user-select:none}.shell__link{text-decoration:none;padding:.48rem .7rem;border-radius:8px;border:1px solid rgba(148,163,184,.08);background:#94a3b80f;color:#e2e8f0;font-weight:600;cursor:pointer}.shell__link:hover{background:#94a3b829;border-color:#94a3b847;color:#fff}.shell__link--active{background:#7c3aed47;border-color:#a78bfa8c;color:#fff}.shell__main{display:flex;flex-direction:column;min-width:0}.shell__header{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid #1e293b;color:var(--muted);font-size:.9rem}.shell__content{padding:1.5rem 1.6rem 2rem;overflow:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-header h1{margin:0 0 .3rem;font-size:1.55rem;letter-spacing:-.03em}.page-header__desc{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45;max-width:40rem}.page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.stat-card__hint{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.chart-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.chart-card{background:var(--elevated);border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:1rem 1.1rem 1.15rem}.chart-card__caption{margin:-.35rem 0 .85rem;color:var(--muted);font-size:.8rem;line-height:1.4}.chart-card__body{min-height:180px}.chart-card--wide{grid-column:1 / -1}.live-rooms{width:100%}.live-rooms th:last-child,.live-rooms td:last-child{text-align:left}.live-rooms__code{font-size:.92rem;letter-spacing:.04em}.live-rooms__people{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.live-rooms__people li{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:999px;background:#94a3b81f;font-size:.82rem}.live-rooms__score{color:var(--muted);font-variant-numeric:tabular-nums}.live-rooms__empty{color:var(--muted)}.overview__table--spaced{margin-top:1.25rem}@media (max-width: 900px){.chart-grid{grid-template-columns:1fr}}.shell__content h1{margin-top:0}.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.overview__header h1{margin:0 0 .35rem}.overview__meta,.overview__empty{margin:0;color:var(--muted);font-size:.9rem}.stat-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:1.25rem 0 1.75rem}.stat-card{background:var(--elevated);border:1px solid rgba(148,163,184,.12);border-radius:12px;padding:1rem 1.05rem}.stat-card__label{margin:0;color:var(--muted);font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.stat-card__value{margin:.4rem 0 0;font-size:1.65rem;font-weight:700;letter-spacing:-.03em}.overview__panel{background:var(--elevated);border:1px solid rgba(148,163,184,.12);border-radius:12px;padding:1.1rem 1.15rem 1.2rem}.overview__panel h2{margin:0 0 .85rem;font-size:1rem}.overview__table{width:100%;border-collapse:collapse;font-size:.92rem}.overview__table th,.overview__table td{text-align:left;padding:.55rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.overview__table th{color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.overview__table td:last-child,.overview__table th:last-child{text-align:right}.card{background:var(--elevated);border-radius:var(--radius);padding:1.1rem}.card h2{margin:0 0 .5rem;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.92rem}.delete-account{max-width:760px}.delete-account__lookup,.delete-account label{display:flex;flex-direction:column;gap:.4rem}.delete-account__lookup{gap:.85rem;margin-bottom:1rem}.delete-account label{font-size:.8rem;font-weight:600;color:#cbd5e1}.delete-account input{border:1px solid rgba(148,163,184,.22);background:#070b14b3;color:var(--text);border-radius:10px;padding:.72rem .85rem;font-size:.95rem;font-weight:400;outline:none}.delete-account input:focus{border-color:#8b5cf6;box-shadow:var(--ring)}.delete-account__lookup .btn,.delete-account__confirm .btn{align-self:flex-start}.delete-account__facts{display:grid;grid-template-columns:8.5rem 1fr;gap:.4rem .75rem;margin:0 0 1rem}.delete-account__facts dt{color:var(--muted)}.delete-account__facts dd{margin:0}.delete-account__counts{margin-top:.25rem}.delete-account__sets{margin-top:1.1rem}.delete-account__sets h3{margin:0 0 .45rem;font-size:.95rem}.delete-account__sets ul{list-style:none;margin:0;padding:0}.delete-account__sets li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.delete-account__sets span{color:var(--muted);font-size:.82rem}.delete-account__confirm{display:flex;flex-direction:column;gap:.75rem;margin-top:1.15rem}.delete-account__confirm p{margin:0;color:var(--muted);line-height:1.45}.delete-account__confirm .delete-account__error{color:#fecaca}.delete-account__error,.delete-account__success{border-radius:12px;padding:.85rem 1rem;margin:0 0 1rem}.delete-account__error{color:#fecaca;background:var(--danger-bg);border:1px solid rgba(248,113,113,.28)}.delete-account__success{color:#bbf7d0;background:#22c55e1f;border:1px solid rgba(34,197,94,.28)}.delete-account__success p{margin:0}.delete-account__success p+p{margin-top:.35rem}.curriculum-admin__layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:1rem;align-items:start}.curriculum-admin__list{position:sticky;top:0;display:flex;flex-direction:column;gap:.65rem;max-height:calc(100vh - 7.5rem)}.curriculum-admin__filters,.curriculum-admin__filter-row,.curriculum-admin__split,.curriculum-admin__questions-head,.lesson-section__head{display:flex;gap:.6rem;align-items:center}.curriculum-admin__filters{flex-direction:column;align-items:stretch}.curriculum-admin__filter-row select{flex:1;min-width:0}.curriculum-admin__count{margin:0;color:var(--muted);font-size:.78rem}.curriculum-admin__list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;overflow:auto}.curriculum-admin__list button,.curriculum-admin__filters input,.curriculum-admin__filters select,.lesson-section input,.lesson-section textarea,.lesson-section select,.curriculum-question input,.curriculum-question textarea{width:100%;border:1px solid rgba(148,163,184,.22);background:#070b14b3;color:var(--text);border-radius:10px;padding:.65rem .75rem;font:inherit}.curriculum-admin__list button,.lesson-section input,.lesson-section textarea,.lesson-section select,.curriculum-question input,.curriculum-question textarea,.curriculum-admin__filters input,.curriculum-admin__filters select{outline:none}.lesson-section input:focus,.lesson-section textarea:focus,.lesson-section select:focus,.curriculum-question input:focus,.curriculum-question textarea:focus,.curriculum-admin__filters input:focus,.curriculum-admin__filters select:focus{border-color:#8b5cf6;box-shadow:var(--ring)}.curriculum-admin__list button{text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.curriculum-admin__list button.is-active{border-color:#8b5cf6;background:#7c3aed29}.curriculum-admin__list strong{font-size:.92rem}.curriculum-admin__list span,.curriculum-admin__field-label{display:block;color:var(--muted);font-size:.78rem;font-weight:600}.curriculum-admin__questions-head{justify-content:space-between}.curriculum-admin__questions-head .btn{width:auto;white-space:nowrap}.curriculum-admin__questions-head h2 span{margin-left:.35rem;color:var(--muted);font-size:.8rem;font-weight:700}.curriculum-admin__editor{display:flex;flex-direction:column;gap:.85rem;min-width:0}.lesson-section{display:flex;flex-direction:column;gap:.8rem;background:var(--elevated);border:1px solid rgba(148,163,184,.12);border-radius:14px;padding:1rem 1.1rem 1.1rem}.lesson-section h2,.curriculum-question h3{margin:0;font-size:1rem}.lesson-section__head{justify-content:space-between}.lesson-section__hint{margin:-.35rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.4}.lesson-section label,.curriculum-admin fieldset,.curriculum-question label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;color:#cbd5e1;border:0;margin:0;padding:0}.lesson-section textarea,.curriculum-question textarea{resize:vertical}.curriculum-admin__split>label{flex:1;min-width:0}.lesson-grades{display:flex;flex-wrap:wrap;gap:.4rem}.lesson-grades label{position:relative;width:auto;flex-direction:row;border:1px solid rgba(148,163,184,.22);border-radius:999px;padding:.4rem .75rem;background:#070b1473;cursor:pointer}.lesson-grades label.is-on{border-color:#8b5cf6;background:#7c3aed47;color:#fff}.lesson-grades input{position:absolute;opacity:0;pointer-events:none}.lesson-toggle{flex-direction:row!important;align-items:flex-start;gap:.65rem!important;padding:.75rem .8rem;border-radius:12px;background:#070b1473;border:1px solid rgba(148,163,184,.16)}.lesson-toggle input{width:auto;margin-top:.15rem}.lesson-toggle small{display:block;margin-top:.2rem;color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.4}.lesson-badge{flex-shrink:0;padding:.25rem .55rem;border-radius:999px;background:#94a3b81f;color:var(--muted);font-size:.72rem;font-weight:800}.lesson-badge--on{background:#7c3aed38;color:#ddd6fe}.curriculum-question{display:flex;flex-direction:column;gap:.7rem;padding:.85rem;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#070b1447}.curriculum-admin__choices{display:flex;flex-direction:column;gap:.45rem}.curriculum-admin__choices label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;padding:.35rem .45rem;border-radius:10px}.curriculum-admin__choices label.is-correct{background:#22c55e1a}.curriculum-admin__choices input[type=radio]{width:auto}.lesson-savebar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .9rem;border-radius:14px;background:#121a2bf5;border:1px solid rgba(148,163,184,.16);box-shadow:0 -8px 24px #02061759}.lesson-savebar .btn{width:auto;flex-shrink:0}.lesson-savebar .curriculum-admin__error,.lesson-savebar .curriculum-admin__notice{margin:0}.tag-field__pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}.tag-pill{border:0;border-radius:999px;padding:.25rem .6rem;background:#7c3aed47;color:#fff;cursor:pointer;font-size:.78rem}.curriculum-admin__error,.curriculum-admin__notice{margin:0;padding:.7rem .8rem;border-radius:10px}.curriculum-admin__error{color:#fecaca;background:var(--danger-bg)}.curriculum-admin__notice{color:#bbf7d0;background:#22c55e1f}@media (max-width: 900px){.curriculum-admin__layout,.curriculum-admin__split{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.curriculum-admin__list{position:static;max-height:none}.curriculum-admin__list ul{max-height:280px}}@media (max-width: 720px){.shell{grid-template-columns:1fr}.shell__nav{flex-direction:row;flex-wrap:wrap;align-items:center}.shell__brand{width:100%;margin-bottom:.25rem}.shell__group{flex-direction:row;flex-wrap:wrap;align-items:center;margin-top:.35rem}.shell__group-label{width:100%}}
