@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c1023;--panel:#151a32;--line:#2a304c;--muted:#a7b1cb;--teal:#75efcf;--purple:#b3a0ff;--text:#f4f5ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px 'DM Sans',system-ui,sans-serif;line-height:1.6}.stars{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 80% 10%,#42316b44,transparent 45%),radial-gradient(circle at 20% 45%,#1d726c14,transparent 40%);}.stars:after{content:'';position:absolute;inset:0;opacity:.35;background-image:radial-gradient(#abb7ec 1px,transparent 1px);background-size:113px 97px}header{height:94px;max-width:1320px;margin:auto;display:flex;align-items:center;gap:32px;padding:0 46px;border-bottom:1px solid var(--line)}a{color:inherit}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:11px 18px;background:#1c2340}button:hover{border-color:var(--teal);background:#25304b}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.brand{font:700 24px 'Space Grotesk',sans-serif;text-decoration:none;letter-spacing:-1px}.brand>span:last-child{color:var(--teal)}.brand-icon{color:var(--teal);font-size:34px;margin-right:10px}.header-tag{font-size:10px;letter-spacing:2px;color:var(--muted)}.private-tag{margin-left:auto;color:var(--teal);font-size:12px}main{max-width:1190px;margin:auto;padding:52px 28px 65px;min-height:75vh}h1,h2,h3,.big-number{font-family:'Space Grotesk',sans-serif;line-height:1.15}h1{font-size:clamp(36px,5.3vw,64px);font-weight:600;letter-spacing:-2.5px;margin:16px 0 20px}h1 em{font-style:normal;color:var(--teal)}h2{font-size:25px;letter-spacing:-.5px}h3{font-size:20px}p{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--teal);text-transform:uppercase}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:30px}.hero p{max-width:480px;font-size:17px}.orbit-scene{height:275px;position:relative;display:grid;place-items:center}.orbit{position:absolute;width:310px;height:150px;border:1px solid #6e628662;border-radius:50%;transform:rotate(-28deg)}.orbit.two{width:360px;height:205px;transform:rotate(26deg);border-style:dashed;opacity:.6}.planet{height:150px;width:150px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d4ccff,#8c7ad4 40%,#493473 80%);box-shadow:inset -15px -10px 35px #15132d88,0 0 80px #9872ee22;transform:rotate(-25deg);overflow:hidden}.planet:after{content:'';display:block;height:65px;width:240px;border-top:20px solid #d1bffb40;border-bottom:15px solid #59478c50;transform:translate(-30px,36px)}.satellite{position:absolute;right:44px;top:43px;font-size:35px;transform:rotate(12deg)}.float-label{position:absolute;left:25px;bottom:30px;border:1px solid var(--line);border-radius:20px;padding:7px 14px;background:#181d36;font-size:11px;color:var(--teal)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:30px 0 40px}.stat{background:#11162b;padding:20px 25px;display:flex;align-items:center;gap:15px}.stat strong{font:500 28px 'Space Grotesk';color:var(--text)}.stat span{color:var(--muted);font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 20px}.section-heading h2{margin:0}.pill{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 12px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:linear-gradient(140deg,#1b223b,#14192e);border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;overflow:hidden}.card.purple{background:linear-gradient(140deg,#241f3c,#17192e)}.card-top{display:flex;align-items:center;justify-content:space-between}.subject-icon{width:53px;height:53px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:#23473f;color:var(--teal)}.purple .subject-icon{background:#3b3059;color:var(--purple)}.card h2{font-size:30px;margin-bottom:9px}.card p{font-size:14px;min-height:46px}.segmented{display:flex;background:#0b1024;border:1px solid var(--line);border-radius:10px;padding:4px;gap:4px;margin:24px 0 17px}.segmented button{width:50%;padding:9px 4px;border:0;background:transparent;color:var(--muted);font-size:13px}.segmented button.selected{background:#2b3f40;color:var(--teal)}.purple .segmented button.selected{background:#3d3158;color:#d0bfff}.test-meta{display:flex;gap:22px;color:var(--muted);font-size:13px;margin-bottom:24px}.primary{background:var(--teal);color:#09281f;border:0;font-weight:700}.primary:hover{background:#a4ffe5;color:#09281f}.purple .primary{background:var(--purple);color:#20183b}.wide{width:100%}.secondary{background:transparent}.small{font-size:12px;color:var(--muted)}.tip-strip{border:1px solid var(--line);border-radius:12px;margin-top:24px;padding:18px 23px;display:flex;gap:16px;align-items:center;background:#14192d}.tip-strip p{font-size:13px;margin:0}.tip-strip strong{color:var(--text)}footer{max-width:1235px;margin:auto;border-top:1px solid var(--line);padding:24px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}footer a{text-underline-offset:3px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:16px}.timer{font:600 30px 'Space Grotesk';color:var(--teal);font-variant-numeric:tabular-nums}.timer.urgent{color:#ffbd83}.test-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:24px}.question{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px}.question h2{font-size:23px;line-height:1.5;margin:20px 0 25px;white-space:pre-line;letter-spacing:0}.options{display:grid;gap:10px}.option{display:flex;text-align:left;align-items:center;gap:15px;padding:14px 18px;background:#11162a;border:1px solid #333c5b;line-height:1.5}.option span{border:1px solid #58617b;border-radius:7px;min-width:31px;height:31px;display:grid;place-items:center;font-size:12px}.option.chosen{background:#1d3d3a;border-color:var(--teal)}.option.correct{border-color:var(--teal)}.option.incorrect{border-color:#f4a8b6}.question-footer{margin-top:25px;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.toggle.on{border-color:var(--purple);color:#d5c5ff}.navigator{background:#12172a;border:1px solid var(--line);border-radius:16px;padding:20px;height:fit-content}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:17px 0}.number-grid button{padding:6px 0;font-size:12px;border-radius:6px;position:relative}.number-grid button.answered{background:#254840;color:var(--teal)}.number-grid button.current{outline:2px solid var(--teal)}.number-grid button.flagged:after{content:'';width:6px;height:6px;background:#e5b1ff;border-radius:50%;position:absolute;right:1px;top:1px}.review-card{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:25px;margin:20px 0}.review-card h3{line-height:1.5}.worked{background:#0e1429;border-left:3px solid var(--teal);padding:16px 20px;margin:20px 0;border-radius:0 9px 9px 0;color:#d7dfed;white-space:pre-line}.speed{border-color:var(--purple)}.badge{display:inline-block;color:var(--teal);font-size:11px;text-transform:uppercase;letter-spacing:1px}.badge.wrong{color:#ffb3be}.badge.slow{color:#c9b8ff}.practice{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.practice h3{font-size:18px}.feedback{margin-top:15px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);gap:16px}.empty{padding:30px;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}dialog{background:#1a2039;color:var(--text);border:1px solid #4a5578;border-radius:18px;max-width:480px;padding:30px}dialog::backdrop{background:#030713bd}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#29334e;padding:12px 22px;border-radius:10px;display:none;z-index:10;max-width:90vw}.muted{color:var(--muted)}.back{margin-bottom:20px}.score{font:600 62px 'Space Grotesk';color:var(--teal)}.intro{max-width:730px;margin:auto}.intro li{margin:12px 0;color:var(--muted)}.review-filter{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.review-filter .selected{border-color:var(--teal);color:var(--teal)}@media(max-width:800px){header{padding:0 22px;height:78px}.header-tag{display:none}.hero{grid-template-columns:1fr}.orbit-scene{display:none}.stats{margin-top:24px}.stat{padding:16px;display:block}.stat strong{display:block}.cards{grid-template-columns:1fr}.test-layout{grid-template-columns:1fr}.navigator{order:-1}.number-grid{grid-template-columns:repeat(10,1fr)}.question{padding:20px}.test-header{align-items:flex-start}footer{flex-direction:column}main{padding:32px 20px}.private-tag{font-size:10px}.brand{font-size:21px}.stat span{font-size:11px}}@media(prefers-reduced-motion:no-preference){.satellite{animation:bob 5s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-10px) rotate(12deg)}}}

/* The training arena: charcoal, burnished gold and warm embers. */
:root{--bg:#11110f;--panel:#1c1c18;--line:#454033;--muted:#bdb8a8;--teal:#ebc777;--purple:#f0a673;--text:#f6f0df}
body{background:var(--bg)}.stars{background:radial-gradient(ellipse at 78% 18%,#9b4b1929,transparent 44%),radial-gradient(ellipse at 10% 70%,#79734810,transparent 40%)}.stars:after{opacity:.3;background-image:radial-gradient(#dd9a48 1px,transparent 1px);background-size:173px 131px}
header{border-color:#51452b}.brand{letter-spacing:-.6px}.brand-icon{color:var(--teal)}.header-tag{letter-spacing:2.4px}.private-tag{color:#c7b57c}
h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,74px);font-weight:400;letter-spacing:-2.5px;line-height:1.05}h1 em{font-style:italic;background:linear-gradient(110deg,#fff0b8,#e8b754 70%,#e38c4b);background-clip:text;-webkit-background-clip:text;color:transparent}h2,h3{font-family:'Space Grotesk',sans-serif}h2{font-weight:500}.hero{grid-template-columns:1.12fr 1fr;gap:26px}.hero p{max-width:495px}.eyebrow{font-size:10px;letter-spacing:2.5px}.arena-scene{position:relative;min-height:365px;display:flex;align-items:center;justify-content:center}.arena-emblem{width:100%;max-width:420px;filter:drop-shadow(0 0 23px #d1711822)}.arena-caption{position:absolute;bottom:5px;font-size:9px;letter-spacing:3px;color:#bba47a}.hero .pill{border-color:#66532d;color:#dfc68e;background:#33291844}
.stats{border-radius:2px;border-color:var(--line);margin-top:36px}.stat{background:#191914}.stat strong{color:#ead59f}.section-heading h2{font-family:Georgia,serif;font-size:29px}.pill{border-color:var(--line)}
.card,.card.purple{background:linear-gradient(135deg,#28271e,#181a15);border:1px solid #5d5035;border-radius:3px;padding:30px}.card.purple{background:linear-gradient(135deg,#2b211b,#1a1815);border-color:#634432}.card:after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#dcb15f,transparent)}.card.purple:after{background:linear-gradient(90deg,transparent,#c88452,transparent)}.subject-icon{border-radius:50%;background:#3d3623;border:1px solid #78623c;color:var(--teal)}.purple .subject-icon{background:#442e20;border:1px solid #8b5c3b;color:var(--purple)}.card h2{font-family:Georgia,serif;font-size:34px}.card p{color:#c5beaa}.segmented{border-radius:3px;background:#10110e;border-color:#514b39}.segmented button{border-radius:1px}.segmented button.selected{background:#493e25;color:#ffe0a0}.purple .segmented button.selected{background:#4c3021;color:#ffd2ad}
button{border-radius:3px;background:#302e23;border-color:#57503d}button:hover{background:#403b2a;border-color:#e0bc6a}.primary{background:linear-gradient(110deg,#f0d38e,#c79943);color:#211a0c;border:1px solid #eccb7b}.primary:hover{background:#f6daa0;color:#211a0c}.purple .primary{background:linear-gradient(110deg,#f2b78b,#ca8954);color:#2b1a0e;border-color:#e2a475}.secondary{background:transparent}.tip-strip{background:#201f17;border-radius:3px;border-color:#514831}.question,.review-card{background:#1c1d18;border-radius:4px;border-color:#504b3b}.option{background:#141611;border-color:#504f3c;border-radius:3px}.option span{border-color:#757058;border-radius:2px}.option.chosen{background:#3e3621;border-color:var(--teal)}.option.correct{border-color:#b6d88b}.option.incorrect{border-color:#f2a28a}.navigator{background:#171914;border-radius:3px;border-color:#504b3b}.number-grid button.answered{background:#4a3e22;color:#ffe2a0}.number-grid button.flagged:after{background:#efa276}.toggle.on{border-color:#e9a573;color:#ffd6a8}.worked{background:#12150f;color:#e1ddcd}.worked.speed{border-color:var(--purple)}.badge.wrong{color:#f4b19a}.badge.slow{color:#efbf8e}.timer{color:var(--teal)}dialog{background:#25251d;border-color:#8a7549;border-radius:4px}#notice{background:#3b3525;border:1px solid #a2864a;border-radius:3px}.empty{border-color:#71603e;border-radius:3px}.float-label{background:#242016}footer{border-color:#4b4433}
@media(max-width:800px){.hero{grid-template-columns:1fr}.arena-scene{min-height:190px;max-height:215px;order:1}.arena-emblem{max-width:230px}.arena-caption{bottom:-5px;font-size:8px;letter-spacing:2px}.hero h1{font-size:clamp(44px,10vw,62px)}.hero{gap:8px}.hero p{font-size:15px}.section-heading h2{font-size:26px}.card,.card.purple{padding:25px}.stats{margin-top:32px}.tip-strip{align-items:flex-start}}
.tutor{margin-top:22px;padding:20px;border:1px solid var(--teal);border-radius:14px;background:#161713}.tutor h4{font-size:18px;margin:0 0 8px}.chat-log{display:grid;gap:12px;margin:18px 0;max-height:480px;overflow:auto}.chat-message{padding:14px;border-radius:12px;background:#252821}.chat-message.user{background:#343023}.chat-message div{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin-top:5px}.chat-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.tutor label{display:block;margin:10px 0}.tutor textarea{display:block;box-sizing:border-box;width:100%;padding:12px;border-radius:8px;background:#11130f;color:#f4f0de;border:1px solid #8d907b;font:inherit;resize:vertical;margin-bottom:10px}.tutor textarea:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.chat-status{min-height:1.2em}
.progress-overview{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;margin:28px 0;border:1px solid #8c7849;border-radius:18px;background:#202218}.progress-overview h2{margin:8px 0}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.skill-card{padding:22px;border:1px solid #555b45;border-radius:16px;background:#191c16;min-width:0}.skill-title h3{margin:0 0 10px}.skill-title{margin-bottom:18px}.skill-card progress{display:block;width:100%;height:14px;margin:10px 0;accent-color:var(--teal)}.skill-card progress::-webkit-progress-bar{background:#373c2f;border-radius:8px}.skill-card progress::-webkit-progress-value{background:#d5bd72;border-radius:8px}.skill-metrics{display:flex;gap:24px;margin:18px 0}.skill-metrics strong{display:block;font-size:25px;color:#f4d882}.skill-metrics span{display:block;font-size:13px;color:#c4c9ba}.rating-rules{padding:20px;background:#25271d;border-radius:12px;margin:20px 0}.rating-rules p,.skill-card details p{line-height:1.65}summary{cursor:pointer;line-height:1.6}summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}@media(max-width:700px){.skill-grid{grid-template-columns:1fr}.progress-overview{align-items:stretch;flex-direction:column}.skill-card{padding:18px}}
/* Review outcomes remain distinct from the gold arena theme. */
.review-status-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}.result-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border:2px solid currentColor;border-radius:9px;font-size:13px;font-weight:800;letter-spacing:.6px;line-height:1.4}.result-badge>span{font-size:21px;line-height:1}.result-correct{color:#adffd3;background:#103b29}.result-incorrect{color:#ffd0d8;background:#581a2a}.result-speed{color:#c6e9ff;background:#103e64}.result-unanswered{color:#ffe3a0;background:#503b12}.review-card.review-outcome-correct{border-left:6px solid #4ee99b}.review-card.review-outcome-incorrect{border-left:6px solid #ff6483}.review-card.review-outcome-unanswered{border-left:6px solid #f2c25d}.review-question-meta{font-size:12px;font-weight:700;letter-spacing:1px;color:#d0cfbf;margin:10px 0}.review-card .review-correct-answer{color:#adffd3}.review-card .review-body>.worked.speed{background:#102e48;border-left:5px solid #6fc9ff;color:#e0f2ff}.review-card .review-body>.worked.speed .small{color:#bcd8ec}.review-card .review-body>.worked.speed strong{color:#b8e5ff}

.review-body[hidden]{display:none}.review-fold{margin:0 0 12px;font-weight:700}.review-card:has(.review-body[hidden]) .review-fold{margin-bottom:0}

.review-status-row .question-time{margin:0 0 0 auto;text-align:right;font-size:13px;line-height:1.5;color:#d0cfbf}.review-status-row .question-time strong{color:#f6f1dc;white-space:nowrap}@media(max-width:600px){.review-status-row .question-time{flex-basis:100%;margin-left:0}}

.review-status-row{flex-wrap:nowrap;gap:10px;margin-bottom:0;overflow-x:auto}.review-header-title{flex:1 0 150px;margin:0;font-size:16px;line-height:1.4;letter-spacing:0;color:#f6f1dc;white-space:nowrap}.review-status-row .result-badge{flex:0 0 auto;gap:5px;padding:6px 9px;font-size:11px;white-space:nowrap}.review-status-row .result-badge>span{font-size:17px}.review-status-row .question-time{flex:0 0 auto;margin:0;font-size:12px;white-space:nowrap}.review-status-row .review-fold{flex:0 0 36px;min-height:44px;margin:0;padding:4px;font-size:28px;line-height:1;font-weight:700}.review-body{margin-top:20px}

button.review-status-row{width:100%;padding:0;min-height:44px;border:0;background:transparent;text-align:left;color:inherit}button.review-status-row:hover{background:#ffffff08}.review-triangle{flex:0 0 auto;font-size:18px;color:var(--text)}

.review-fold-bottom{margin-top:20px}.review-status-row{scroll-margin-top:20px}

.review-time-track{display:block;position:relative;height:5px;width:160px;min-width:0;margin-top:4px;background:#454033;border-radius:4px;overflow:hidden}.review-time-fill{display:block;height:100%;background:#75d6a3;border-radius:4px}.review-time-track.over-guide .review-time-fill{background:#f0a673}.review-time-guide{position:absolute;top:0;bottom:0;width:2px;background:#fff5d7}
.review-status-row .question-time{width:160px}.review-time-track{width:160px;margin-left:auto}

button.review-status-row{display:grid;grid-template-columns:14px minmax(150px,1fr) 160px 118px 110px;column-gap:10px}.review-status-row .result-badge{justify-self:start}.review-status-row .question-time{grid-column:3}

button.review-status-row{grid-template-columns:14px minmax(150px,1fr) 160px 110px 118px}.review-status-row .result-speed{grid-column:4;grid-row:1}.review-status-row .result-badge:not(.result-speed){grid-column:5;grid-row:1;justify-self:end}

.skill-record{margin-top:18px;border:1px solid #655838;border-radius:10px;overflow:hidden;background:#1e2119}.skill-record summary{padding:13px 15px;color:#f0d38e;font-weight:600;background:#302b1d}.skill-record summary:hover{background:#3b3422}.skill-record summary::marker{color:#ebc777}.record-summary-divider{color:#bdb8a8}.record-content{padding:0 15px 15px}.record-total{color:#e9e4d6}.record-badges{display:flex;flex-wrap:wrap;gap:8px}.record-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid currentColor;border-radius:6px;font-size:12px}.record-correct{color:#adffd3;background:#103b29}.record-wrong{color:#ffd0d8;background:#581a2a}.record-unanswered{color:#ffe3a0;background:#503b12}.record-time{color:#ffd1a6;background:#47301d}.record-help{color:#c6e9ff;background:#103e64}.record-practice{margin-top:16px;padding:12px;border-left:3px solid #b3a0ff;background:#252138;border-radius:0 6px 6px 0;color:#dfd5ff}.record-practice p{margin:6px 0 0}
/* Keep content inside its panel as the window narrows. */
.review-card,.review-body,.cards>*{min-width:0;overflow-wrap:anywhere}
.review-header-title{min-width:0;white-space:normal;overflow-wrap:anywhere}
button.review-status-row{grid-template-columns:14px minmax(0,1fr) 160px 110px 118px;overflow:visible}
@media(max-width:800px){
 button.review-status-row{grid-template-columns:14px minmax(0,1fr) 118px;row-gap:12px}
 .review-status-row .review-triangle{grid-column:1;grid-row:1}
 .review-status-row .review-header-title{grid-column:2 / -1;grid-row:1}
 .review-status-row .question-time{grid-column:1 / 3;grid-row:2;max-width:100%;text-align:left;white-space:normal}
 .review-status-row .review-time-track{max-width:100%;margin-left:0}
 .review-status-row .result-speed{grid-column:1 / 3;grid-row:3}
 .review-status-row .result-badge:not(.result-speed){grid-column:3;grid-row:3}
 .review-card{padding:18px}
}
@media(max-width:400px){.review-card{padding:12px}.stats{grid-template-columns:1fr}.skill-metrics{flex-wrap:wrap}}

#auth-form label{display:block;margin:18px 0}#auth-form input{display:block;width:100%;margin-top:6px;padding:12px;background:#11130f;color:var(--text);border:1px solid var(--line);border-radius:6px;font:inherit}#auth-error{color:#ffd0d8}.actions [aria-pressed=true]{border-color:var(--teal);color:var(--teal)}

#auth-form label[hidden]{display:none}
