:root{--ink:#183632;--muted:#536b62;--green:#153b35;--paper:#f7f7ed;--white:#fffefa;--line:#dbe3d4;--mint:#a6e8c8;--gold:#f7d991;--shadow:0 10px 30px #173a3020;font:16px/1.5 system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c78022;outline-offset:3px}.skip{position:absolute;left:12px;top:-100px;z-index:5;background:white;padding:12px}.skip:focus{top:12px}h1,h2,h3,p{margin:0 0 .55em}h1,h2{font-family:Georgia,serif;letter-spacing:-.045em;line-height:1.05}h1{font-size:clamp(2.35rem,5vw,4rem)}h2{font-size:clamp(1.55rem,3vw,2.15rem)}h3{line-height:1.15;font-size:1.22rem}p{color:var(--muted)}small{font-size:.79rem}.eyebrow,.demo-label,.coordinates,.map-index,.map-caption,.top{font-size:.69rem;letter-spacing:.15em;font-weight:800}.eyebrow{color:#36715d;margin-bottom:.6rem}.brand{display:flex;align-items:center;gap:10px}.brand span,.side-end small{display:block}.brand b{display:block;font-size:1.05rem;line-height:1.15}.brand small{display:block;font-size:.57rem;letter-spacing:.15em;opacity:.72;margin-top:3px}.primary,.quiet,.demo-options button,.pills button{border:1px solid transparent;border-radius:12px;padding:.64rem 1rem;font-weight:750;display:inline-flex;align-items:center;gap:.5rem;justify-content:center}.primary{background:var(--green);color:white;min-height:44px}.primary:hover{background:#245448}.primary span{padding-left:.7rem}.quiet,.demo-options button,.pills button{background:var(--white);border-color:var(--line);color:var(--ink)}.quiet:hover,.demo-options button:hover,.pills button:hover{background:#edf5e8}.text-link{font-weight:750;color:#235e50}.next-link{display:inline-block;margin:.65rem}.notice,.error,.hint,.retry{padding:.65rem .85rem;border-radius:10px;background:#e6f3e8;color:#245746;margin:.7rem 0}.error,.retry{background:#ffefe4;color:#7a3c22}.retry{display:flex;justify-content:space-between;align-items:center}.loading{padding:3rem}
.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr}.login-art{color:#fff8dd;background:linear-gradient(120deg,#102b2c 3%,#102b2c70 75%),url('/atlas.svg') center/cover;display:flex;flex-direction:column;justify-content:space-between;min-height:520px;padding:clamp(1.5rem,5vw,4.8rem);position:relative;overflow:hidden}.login-title{padding:3rem 0}.login-title h1{font-size:clamp(3.3rem,7.7vw,7.1rem)}.login-title h1 em{font-weight:normal;color:var(--mint)}.login-title p{color:#d5ebda;max-width:340px}.login-title .eyebrow,.coordinates{color:#8edab8}.coordinates{display:flex;justify-content:space-between;gap:.6rem;border-top:1px solid #93d6bc42;padding-top:1rem}.login-form{display:grid;place-items:center;padding:clamp(1.5rem,5vw,4.8rem)}.login-form>div{width:min(100%,420px)}.login-form h2{font-size:clamp(2rem,4vw,3.5rem)}form{display:grid;gap:.85rem;margin:1rem 0}label{display:grid;gap:.34rem;font-weight:700;font-size:.88rem}input:not([type=range]),select{min-width:0;width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid #b7c8b9;background:#fffefa;border-radius:9px;color:var(--ink)}.demo-options{display:flex;flex-wrap:wrap;gap:6px}.demo-options button{font-size:.83rem;padding:.52rem .6rem}.demo-label{margin:1.5rem 0 .6rem}.footnote{font-size:.77rem;margin-top:.9rem}
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.side{display:flex;flex-direction:column;gap:2rem;background:#102b2c;color:#f6faee;padding:1.55rem 1rem;position:sticky;top:0;height:100vh}.side .brand{padding-left:.4rem}.side nav{display:grid;gap:.35rem}.side nav a{padding:.75rem;border-radius:10px;display:flex;align-items:center;gap:.65rem;font-weight:700;color:#c3dcd0}.side nav i{font-style:normal;font-size:1.2rem;width:1.3rem;text-align:center}.side nav a:hover,.side nav a.on{background:#23463f;color:#d3f6df}.side-end{margin-top:auto;border-top:1px solid #35574f;padding-top:1rem;display:flex;gap:.5rem;align-items:center}.side-end button,.top-profile button{margin-left:auto;border:0;background:transparent;color:inherit;font-size:1.35rem}.avatar{border-radius:50%;display:grid;place-items:center;width:35px;height:35px;background:#afe7c6;color:var(--ink);font-weight:800}.content{width:min(100%,1220px);padding:0 clamp(1rem,4vw,3.8rem) 3rem;margin:auto auto auto 0;min-height:100vh}.top{min-height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:1.55rem;color:var(--muted);text-transform:uppercase}.top i{margin:0 .4rem;opacity:.6}.top-profile{display:flex;align-items:center;gap:.55rem}.top strong{background:#f9e9b7;color:#6a4a09;border-radius:999px;padding:.32rem .65rem}.top-profile button{display:none}.intro,.section-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.intro{margin-bottom:1.45rem}.intro h1{margin-bottom:.2em}.map-section{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.map-section>.section-row{padding:.85rem 1rem}.section-row h2{margin-bottom:0}.pills{display:flex;flex-wrap:wrap;gap:5px}.pills button{min-height:36px;padding:.35rem .7rem;border-radius:999px;font-size:.86rem}.pills button[aria-pressed=true]{background:#ccebd9;border-color:#b2d8c2;color:#184536}.atlas{aspect-ratio:960/410;position:relative;background:#102b2c url('/atlas.svg') center/100% 100% no-repeat;color:#d1e9d6}.map-index,.map-caption{position:absolute;left:3%;top:8%;font-size:clamp(.48rem,1vw,.67rem)}.map-index b{color:var(--gold);margin:0 .4rem}.map-caption{top:auto;bottom:5%}.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;gap:2px;background:none;border:0;color:#fff9df;padding:0;min-width:44px;min-height:44px}.pin span{border:2px solid #d4ead6;width:clamp(25px,4.5vw,42px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:#214c43;font-weight:900;font-size:clamp(.66rem,1.5vw,1rem)}.pin b{font-size:.78rem;background:#143a32;padding:0 .32rem;border-radius:4px}.pin.selected span,.pin:hover span{background:var(--gold);border-color:#fff3c9;color:#2e2a1c;box-shadow:0 0 0 6px #f7d99147}.after-map{margin:1.55rem 0 .8rem}.cards{display:grid;gap:.8rem;margin:1rem 0}.chapter-card,.paper,.empty{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:1rem 1.15rem}.chapter-card{display:flex;align-items:center;gap:1rem}.chapter-card:hover{border-color:#8fc4a8}.chapter-card p,.chapter-card h3{margin-bottom:.24em}.chapter-card small{color:var(--muted)}.arrow{margin-left:auto;color:#347362;font-size:1.3rem}.tile-icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 auto;border-radius:14px;background:#d9f0df;color:#27624b;font:700 2rem Georgia,serif}.tile-icon.algebre{background:#ece3fb;color:#5c4483}.empty{color:var(--muted)}.search{margin:1rem 0;width:min(100%,460px)}.paper{padding:clamp(1rem,3vw,2rem)}.workshop{display:flex;align-items:center;gap:1rem;margin:1.05rem 0}.workshop h1{margin-bottom:.18em}.mode-bar{display:flex;gap:5px;margin-bottom:1rem}.mode-bar a{font-weight:750;border:1px solid var(--line);background:var(--white);padding:.62rem .8rem;border-radius:10px}.mode-bar a[aria-current]{background:#d5eddf;border-color:#b1d6bd}.controls{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.slider{min-width:150px;flex:1;background:#f0f4e9;padding:.55rem .7rem;border-radius:10px}.slider input{width:100%;accent-color:#2c7559}.manipulation{display:flex;flex-wrap:wrap;gap:.45rem;padding:.6rem 0}.boat{background:#c7e9d8;color:#245f4c;border-radius:4px 4px 14px 14px;padding:.3rem .55rem;font-size:.67rem}.boat.rest{background:#f8e5a9;color:#6b4809}.formula{font-weight:800;color:var(--ink);font-size:1.22rem}.blocks{display:flex;flex-wrap:wrap;gap:6px}.blocks span,.blocks i{display:grid;place-items:center;background:#b4dbc6;border-radius:5px;width:27px;height:65px;font-weight:800}.blocks i{height:27px;background:#efd58b;font-style:normal}.segments{display:flex;gap:5px;margin:.35rem 0 1rem}.segments span{height:5px;flex:1;background:#e2e9df;border-radius:10px}.segments .filled{background:#3a8465}.answer{display:flex;align-items:end;flex-wrap:wrap}.answer label{width:min(100%,260px)}.paper .pills{margin-bottom:1rem}.game-scene{margin:.8rem 0;background:#173d35;color:#eaf8e9;border-radius:14px;padding:1rem 1.25rem}.game-scene>span{font-size:.68rem;letter-spacing:.12em;color:#a0e7be}.game-scene strong{display:block;font:700 2rem Georgia,serif;margin:.4rem 0}.game-scene small{color:#bfdfca}.test-values{display:flex;gap:.7rem;flex-wrap:wrap}.stepper{display:flex;align-items:center;gap:.45rem;background:#eef3e9;padding:.5rem;border-radius:10px}.stepper button{min-width:34px;min-height:34px;border:1px solid #bfd5c4;border-radius:8px;background:white;color:var(--ink)}.stepper strong{min-width:1.2rem;text-align:center}.progress-list>a,.progress-list>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.58rem 0;border-bottom:1px solid var(--line)}.progress-list small{display:block;color:var(--muted)}.teacher-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:1rem}.result{background:#fff8df}
@media(max-width:760px){.shell{display:block}.side{position:fixed;top:auto;bottom:0;width:100%;height:auto;padding:.25rem .45rem max(.35rem,env(safe-area-inset-bottom));z-index:3}.side .brand,.side-end{display:none}.side nav{display:flex;justify-content:space-around;gap:0}.side nav a{display:grid;gap:0;justify-items:center;padding:.23rem .5rem;font-size:.7rem;min-width:62px}.side nav i{line-height:1.15}.top{min-height:48px;margin-bottom:1rem}.top-profile button{display:inline-block}.content{padding-bottom:5.7rem}.login{display:block}.login-art{min-height:280px;padding:1.2rem}.login-title{padding:1.5rem 0 .7rem}.login-title h1{font-size:3.15rem}.login-form{padding:1.25rem}.teacher-grid{grid-template-columns:1fr}}
@media(max-width:440px){.intro,.section-row{align-items:flex-start;flex-wrap:wrap}.intro .primary{margin-top:.15rem}.atlas{aspect-ratio:2.05}.map-section>.section-row{padding:.7rem}.chapter-card{padding:.75rem;gap:.65rem}.tile-icon{width:46px;height:46px}.after-map{margin-top:1rem}}
.grade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:1.5rem}.grade-grid button{text-align:left;color:var(--ink)}.grade-grid small{display:block}.relation{margin-top:1rem}.pin b{white-space:nowrap;max-width:145px;white-space:normal;line-height:1.15;padding:.2rem .35rem}.fraction-bar{display:flex;gap:3px;width:min(100%,520px)}.fraction-bar span{flex:1;text-align:center;background:#ecede3;border-radius:6px;padding:.6rem .1rem}.fraction-bar .taken{background:#a6e8c8;font-weight:800}.number-line{display:flex;position:relative;justify-content:space-between;border-top:2px solid #36715d;width:min(95%,520px);margin:1.1rem .4rem .4rem}.number-line b{position:absolute;top:-.85rem;transform:translateX(-50%);color:#9b5420}.triangle{width:min(100%,220px)}.live-result{margin:0;min-width:170px}
.pin small{font-size:.62rem;background:#143a32;padding:.08rem .3rem;border-radius:4px}.side .brand b{font-size:.91rem}
.rank-card{display:flex;gap:1rem;align-items:center;margin:0 0 1rem;padding:1rem 1.2rem;border-radius:15px;background:#e3f1e5;border:1px solid #c5dfcc}.rank-emblem{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;background:#163d34;color:#ffe7a5;font-size:1.7rem}.rank-body{flex:1;min-width:0}.rank-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.rank-heading h2{margin-bottom:.3rem}.rank-heading>b,.xp-chip{white-space:nowrap;background:#193f36;color:#fff8dc;padding:.27rem .55rem;border-radius:999px;font-weight:800}.rank-card p{font-size:.85rem;margin-bottom:.2rem}.rank-card progress{width:100%;height:10px;border:none;border-radius:99px;overflow:hidden;display:block;margin:.2rem 0 .4rem;accent-color:#327555}.rank-card progress::-webkit-progress-bar{background:#c4dcca}.rank-card progress::-webkit-progress-value{background:#327555}.domain-list{display:grid;gap:.7rem;margin-top:1rem}.domain-list section{padding:.7rem;border:1px solid var(--line);border-radius:10px}.domain-list section p{margin:0}.domain-list a{display:flex;justify-content:space-between;gap:.6rem;padding:.45rem 0;color:#235e50}.domain-list a span{font-size:.84rem;text-align:right}.quiz-goal{font-size:.87rem;color:#32674f}.paper summary{cursor:pointer;font-weight:750}.paper details p,.paper summary+p{margin-top:.55rem}
.next-activities{margin-top:.9rem}.xp-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:.5rem}.xp-route{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .65rem;border:1px solid #bad7c2;border-radius:10px;background:#fffefa;color:#234e3e}.xp-route:hover{border-color:#589679;background:#f1f9ed}.xp-route b,.xp-route small{display:block;line-height:1.35}.xp-route small{color:var(--muted);margin-top:.12rem}.xp-route small.xp-reward{color:#235e50;font-weight:750}.xp-route-icon{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#e4f1e5;font-weight:800}.next-activities-empty{margin-top:.7rem}@media(max-width:520px){.rank-card{align-items:flex-start}.rank-emblem{width:38px;height:38px;font-size:1.15rem}.rank-heading{flex-wrap:wrap}}
.site-credit{margin-top:2rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.domain-tabs{margin:.7rem 0}.pin{padding:0;font-family:inherit}.pin b{max-width:116px}.atlas .pin b{font-size:clamp(.52rem,1.1vw,.78rem)}@media(max-width:540px){.atlas .pin b,.atlas .pin small{display:none}.domain-tabs button{font-size:.76rem}}
.quiz-choice,.quiz-order,.quiz-point{min-width:0;flex:1 1 100%;border:1px solid var(--line);border-radius:12px;margin:0;padding:.7rem 1rem}.quiz-choice legend,.quiz-order legend,.quiz-point legend{font-weight:750}.quiz-choice label{display:flex;align-items:center;gap:.65rem;padding:.45rem .2rem}.quiz-choice input[type=radio],.point-grid input[type=radio]{width:1.1rem;min-height:auto;accent-color:#327555}.quiz-order label{margin:.5rem 0}.point-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));max-width:435px;margin:.5rem auto;text-align:center}.point-grid b{font-size:.72rem}.point-grid label{display:grid;place-items:center;aspect-ratio:1;border:1px solid #dbe3d4;position:relative;cursor:pointer}.point-grid label.axis{background:#edf2e6}.point-grid label input{position:absolute;opacity:0;inset:0;min-height:0;width:100%!important;margin:0;cursor:pointer}.point-grid label:focus-within{outline:2px solid #215e49;z-index:1}.point-grid label:has(input:checked){background:#a6e8c8;color:#173d35}.quiz-chart{display:flex;gap:1rem;align-items:start;max-width:420px;margin:.5rem 0 1rem;padding:0 1rem}.chart-axis{height:160px;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:.77rem}.chart-column{flex:1;text-align:center;font-size:.82rem}.chart-track{height:160px;display:flex;align-items:end;border-bottom:1px solid #52786d}.chart-track span{display:block;background:#69ad8b;border:1px solid #458368;border-radius:.3rem .3rem 0 0;width:100%}
.mini-sheet{border-collapse:collapse;margin:.6rem 0}.mini-sheet th,.mini-sheet td{padding:.3rem .6rem;border:1px solid var(--line);text-align:left}.mini-sheet input{max-width:10rem}.mini-sheet output{font-weight:750;color:#235e50}
.quiz-graph{display:block;width:min(100%,300px);height:auto;background:#f4f7ed;border-radius:9px;margin:.7rem 0}.quiz-graph text{font-size:12px;fill:#193f36}
