/* Subject worlds share navigation and accessibility; only their atmosphere changes. */
:root{--accent:#087d68;--pale:#e9f6ef;--soft:#c5e6d5}
html[data-theme=math]{--accent:#b45426;--pale:#fff1e5;--soft:#f0ceb2}
html[data-theme=science]{--accent:#286582;--pale:#eaf5fa;--soft:#badde9}
html[data-theme=persian]{--accent:#855338;--pale:#faf0e5;--soft:#e5c9af}
html[data-theme=arabic]{--accent:#646c22;--pale:#f2f4e1;--soft:#d3d99d}
html[data-theme=logic]{--accent:#6057a8;--pale:#efedf9;--soft:#cec7ed}
html[data-theme=chess]{--accent:#315067;--pale:#eaf0f4;--soft:#bed0da}
html[data-theme=social]{--accent:#8f6340;--pale:#f8f0e4;--soft:#ddc7a8}
main{animation:arrive .35s ease-out}.learning-hero{position:relative;overflow:hidden;border-radius:18px;isolation:isolate}.learning-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 25%,var(--soft),transparent 46%);opacity:.55;z-index:-1}.hero-art{transition:transform .5s ease}.learning-hero:hover .hero-art{transform:translateY(-4px)}.hero-copy h2{letter-spacing:-1.4px}.hero-copy .primary{box-shadow:0 6px 0 color-mix(in srgb,var(--accent),#000 16%);transition:transform .18s,box-shadow .18s}.hero-copy .primary:active{transform:translateY(4px);box-shadow:0 2px 0 var(--accent)}
.course-browser{margin-bottom:24px}.grade-filter,.track-filter{display:flex;gap:4px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}.grade-filter button,.track-filter button{border:0;border-radius:7px;background:transparent;white-space:nowrap;padding:9px 16px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer}.grade-filter .active{background:var(--accent);color:white;font-weight:700}.track-filter{padding-top:2px}.track-filter .active{background:var(--pale);color:var(--accent)}.course-tabs{flex-wrap:wrap;gap:15px 25px;margin-bottom:0;overflow:visible}.course-tabs button{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0;font-size:13px}.course-tabs strong{font-weight:600}.course-tabs small{font-size:10px;opacity:.7}.subject-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.subject-dot.persian{background:#855338}.subject-dot.arabic{background:#646c22}.subject-dot.logic{background:#6057a8}.subject-dot.math{background:#b45426}.subject-dot.science{background:#286582}
.reward-strip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0 22px}.reward-strip>div:not(.earned-badges){display:flex;align-items:baseline;gap:8px}.reward-strip b{font-size:25px;color:var(--accent)}.reward-strip span{font-size:11px}.reward-strip small{font-size:12px;color:var(--muted)}.reward-strip p{width:100%;font-size:10px;color:var(--muted);margin:0}.earned-badges{display:flex;gap:12px;margin-right:auto;color:var(--accent)}.announcement{border-right:3px solid var(--accent);padding:10px 16px;background:var(--pale);margin:0 0 16px;font-size:13px}
.ink-orbit{width:170px;height:170px;border-radius:50%;border:1px solid #aa805a55;font-size:150px;line-height:1;font-family:Georgia,serif;color:var(--accent);text-align:center;position:absolute;top:25px;left:45px;transform:rotate(-8deg);animation:float 5s ease-in-out infinite}.quote-card{position:absolute;right:5px;bottom:35px;max-width:210px;background:#fff9eb;color:#6e462e;padding:18px 25px;box-shadow:0 12px 28px #6e462e15;transform:rotate(5deg);font-size:19px;font-weight:700;border-bottom:3px solid var(--soft)}.arabic-letter{position:absolute;font-size:210px;color:var(--accent);line-height:1;top:15px;left:55px;font-weight:700;animation:float 5s ease-in-out infinite}.grammar-orbit{position:absolute;right:20px;bottom:40px;border:1px dashed var(--accent);border-radius:50%;padding:24px 16px;font-size:24px;transform:rotate(-9deg);background:var(--pale)}.logic-grid{position:absolute;top:45px;left:5px;font-size:60px;color:var(--accent);letter-spacing:8px;transform:rotate(-8deg)}.logic-core{position:absolute;bottom:30px;right:35px;font-size:100px;font-weight:900;border:2px solid var(--accent);width:120px;height:135px;text-align:center;border-radius:14px;background:var(--pale);animation:float 4s ease-in-out infinite}.chess-board{position:absolute;left:25px;top:30px;font-size:70px;line-height:1.4;letter-spacing:10px;direction:ltr;background:repeating-conic-gradient(var(--soft) 0% 25%,var(--pale) 0% 50%) 0/70px 70px;padding:10px 20px;transform:perspective(700px) rotateY(12deg) rotateX(8deg);box-shadow:16px 18px 0 #31506716;color:var(--accent)}.social-art .map-orbit{position:absolute;left:20px;top:35px;width:220px;height:190px;border:2px dashed var(--accent);border-radius:47% 53% 60% 40%;display:grid;place-content:center;color:var(--accent);font-size:90px;transform:rotate(-15deg)}
.competition-section{margin:36px 0;border-top:2px solid var(--accent);padding-top:25px}.competition-section>.lead{font-size:12px;max-width:650px}.event-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.event-number{font-size:28px;color:var(--accent);font-weight:800;width:48px;height:48px;display:grid;place-content:center;background:var(--pale);border-radius:50%}.event-row h3{margin:0;font-size:15px}.event-row p{font-size:11px;color:var(--muted);margin:5px 0}.event-row small{font-size:10px;color:var(--muted)}.event-row .skill-actions{margin-right:auto}.empty-event{font-size:12px;color:var(--muted);padding:24px 0}.my-rank{display:flex;gap:25px;background:var(--pale);padding:20px;border-right:4px solid var(--accent);margin-bottom:25px}
.founder-heading{margin-bottom:24px}.founder-heading h1{margin:8px 0}.founder-metrics{display:flex;gap:45px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:25px}.founder-metrics div{display:flex;flex-direction:column;gap:4px}.founder-metrics b{font-size:30px;color:var(--accent)}.founder-metrics span{font-size:11px;color:var(--muted)}.admin-section{border-bottom:1px solid var(--line);padding:18px 0}.admin-section summary{font-size:16px;font-weight:700;cursor:pointer;list-style-position:inside}.admin-section summary::marker{color:var(--accent)}.admin-section p{font-size:12px;line-height:2;color:var(--muted);max-width:760px}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px;margin:22px 0;align-items:end;max-width:800px}.admin-form>button{justify-self:start}.admin-form label{font-size:12px}.admin-section .due-row{font-size:12px}.admin-section .due-row>span{overflow-wrap:anywhere}.admin-section .due-row button{flex-shrink:0}.admin-section+ .page-heading{margin-top:42px}.admin-section input[type=file]{max-width:100%}.skill-row{transition:background .2s,transform .2s}.skill-row:hover{background:color-mix(in srgb,var(--pale),transparent 60%);transform:translateX(-3px)}
@media(max-width:760px){.course-tabs{gap:7px 18px}.course-tabs button{font-size:11px}.grade-filter button{font-size:11px;padding:8px 13px}.reward-strip{gap:12px 19px}.reward-strip b{font-size:21px}.earned-badges{width:100%;margin:0}.event-row{gap:10px;align-items:flex-start}.event-number{width:30px;height:30px;font-size:18px;flex-shrink:0}.event-row .primary{font-size:10px;padding:8px}.event-row .text-button{font-size:10px}.event-row p{max-width:180px;line-height:1.8}.admin-form{grid-template-columns:1fr}.founder-metrics{gap:28px}.founder-metrics b{font-size:25px}.my-rank{flex-wrap:wrap;gap:10px;font-size:12px}.course-browser{margin-bottom:18px}.nav-item{min-width:0;padding:5px 4px}.hero-art{min-height:240px}.admin-section .due-row{align-items:flex-start}.topbar .sample-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.report-summary{display:flex;gap:30px;flex-wrap:wrap;padding:20px;border-block:1px solid var(--line,#d7e3d9)}.report-summary b{font-size:30px}.explain-panel summary{font-weight:700;cursor:pointer;padding:12px 0}.explain-panel details{border-top:1px solid #dce4df;padding:12px 0}.explain-panel pre{overflow:auto;max-height:350px;font-size:13px;white-space:pre-wrap}.explain-panel fieldset{display:flex;gap:15px;flex-wrap:wrap}.explain-panel fieldset label{display:flex;gap:6px;align-items:center}.explain-panel input[type=checkbox]{width:auto}
@media(min-width:761px){.rail{overflow-y:auto}.rail nav,.rail-foot{flex-shrink:0}.nav-item{padding:10px 12px}.rail-caption{margin:18px 7px 20px}}

.circuit-lab{padding:24px;border-radius:22px;background:#eef6f3}.circuit-bulb{font-size:26px;padding:20px;border:2px dashed #8799a0;border-radius:18px;transition:background .2s}.circuit-bulb.on{background:#fff3ab;border-color:#e0b22b}.circuit-switches{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0}.circuit-switches label{padding:15px;border-radius:14px;background:white}.circuit-switches input{width:24px;height:24px}
