:root{--bg:#f5f6f0;--paper:#fff;--ink:#243b30;--muted:#59665e;--line:#d9e0d5;--green:#234d3d;--soft:#e9efdf;--lime:#dbeaac;--bad:#863e31;--badbg:#fcf0e9;--radius:22px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,a,summary,input,select{touch-action:manipulation}button,a,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button,a,input,select,textarea,summary{outline-offset:4px} :focus-visible{outline:3px solid #377b62}button{transition:background .16s,border-color .16s}button:active{filter:brightness(.95)}.skip{position:fixed;top:-80px;left:12px;z-index:100;background:white;padding:16px}.skip:focus{top:10px}.top{max-width:1160px;margin:auto;padding:26px 32px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;font-size:25px;letter-spacing:-1px}.brand svg{width:34px;fill:var(--green)}.brand svg circle{fill:var(--lime)}.brand span{font-size:10px;letter-spacing:2px;margin-left:12px;font-weight:650;color:var(--muted)}.save-state{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.save-state:before{content:'';height:6px;width:6px;background:#4a775a;border-radius:50%}.nav{display:flex;gap:8px;max-width:1096px;margin:0 auto;border-bottom:1px solid var(--line);padding-bottom:14px}.nav a{padding:12px 22px;min-height:46px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:600;color:var(--muted)}.nav a.active{background:var(--green);color:white}.nav a:hover:not(.active){background:var(--soft)}main{max-width:1160px;margin:auto;padding:38px 32px 30px;min-height:65vh;outline:none!important}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--muted);margin:0 0 14px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}h1{font-size:clamp(30px,4.5vw,47px);font-weight:600;letter-spacing:-1.9px;line-height:1.12;margin:0 0 16px}h2{font-size:23px;font-weight:650;letter-spacing:-.7px;margin:0 0 12px}h3{font-size:17px;letter-spacing:-.3px;margin:0 0 8px}p{line-height:1.65;margin:0 0 16px}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.6}.hero{display:grid;grid-template-columns:1.25fr 1fr;background:var(--soft);border:1px solid #dce4d1;border-radius:26px;overflow:hidden;min-height:320px;margin-bottom:24px}.hero-copy{padding:36px}.hero p{max-width:420px}.hero .eyebrow{color:var(--green)}.hero-art{display:grid;place-items:center;position:relative;min-height:270px}.cell-art{width:100%;height:280px;overflow:visible}.hero-art .caption{position:absolute;bottom:18px;font-size:10px;letter-spacing:2px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:12px 20px;background:var(--paper);font-weight:650;font-size:14px;text-decoration:none;color:var(--ink)}.btn:hover{background:#edf1e8}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#32624e}.btn.ghost{background:transparent}.btn.danger{color:var(--bad);border-color:#d9aa96}.arrow{font-size:20px;font-weight:400}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 32px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:20px 24px}.stat strong{display:block;font-size:28px;letter-spacing:-1px;font-weight:600}.stat span{font-size:12px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:28px 0 18px}.section-head h2{margin:0}.section-head a{font-size:13px;color:var(--muted);min-height:44px;display:flex;align-items:center}.org-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.org-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:20px;text-decoration:none;display:block}.org-card:hover{border-color:#82967e}.org-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.org-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--org);color:#243b30;font-size:12px;font-weight:750}.org-card h3{font-size:15px;line-height:1.4;min-height:42px}.org-card p{font-size:12px;color:var(--muted);margin:0 0 14px}.bar{height:5px;border-radius:4px;background:#edf0e9;overflow:hidden}.bar>span{display:block;height:100%;background:var(--green);border-radius:4px}.org-card .small{margin-top:8px;font-size:11px;color:var(--muted)}.pill{font-size:11px;padding:6px 9px;background:var(--soft);border-radius:30px;display:inline-block;font-weight:650}.note{border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin:24px 0;background:#edf1e7}.note p:last-child{margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr);gap:24px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.panel+.panel{margin-top:18px}.mode-list{display:grid;gap:12px;margin:22px 0}.mode{border:1px solid var(--line);background:#fff;border-radius:15px;padding:20px;display:flex;align-items:center;text-align:left;gap:16px;min-height:90px;width:100%;color:var(--ink)}.mode:hover{border-color:#6c8775;background:#f4f7f0}.mode .num{width:42px;height:42px;background:var(--soft);border-radius:12px;display:grid;place-items:center;font-size:17px}.mode strong{display:block;font-size:16px;margin-bottom:5px}.mode small{display:block;color:var(--muted);line-height:1.5}.mode .arrow{margin-left:auto}label{font-size:13px;font-weight:650;display:block;margin:20px 0 8px}select,textarea{width:100%;min-height:48px;border:1px solid #9cae9a;border-radius:10px;background:white;padding:12px;color:var(--ink)}textarea{resize:vertical;min-height:90px;line-height:1.6}.lesson-list{display:grid;gap:12px}.lesson{border:1px solid var(--line);border-radius:18px;background:white;overflow:hidden;scroll-margin-top:20px}.lesson summary{padding:20px;cursor:pointer;display:flex;gap:14px;align-items:center;min-height:80px;list-style:none}.lesson summary::-webkit-details-marker{display:none}.lesson summary:after{content:'+';margin-left:auto;font-size:24px;color:var(--muted)}.lesson[open] summary:after{content:'−'}.lesson summary strong{font-size:16px}.lesson-body{padding:0 24px 24px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:20px 0}.facts div{border-bottom:1px solid var(--line);padding:14px 0}.facts dt{font-size:11px;color:var(--muted);margin-bottom:6px}.facts dd{margin:0;font-size:14px;font-weight:600}.correction{border-left:3px solid #a9803c;padding:12px 16px;background:#faf5e9;font-size:13px;line-height:1.65;margin-top:16px}.correction strong{display:block;color:#73511d}.wide-table{display:none}table{border-collapse:collapse;font-size:12px;width:100%}th,td{text-align:left;vertical-align:top;padding:14px 10px;border-bottom:1px solid var(--line);line-height:1.6}th{background:var(--soft);font-size:11px}td:first-child{font-weight:700}table td:nth-child(2){width:26%}.study-wrap{max-width:760px;margin:auto}.study-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.study-top .btn{padding:8px 12px;min-height:44px}.study-wrap .bar{margin-bottom:22px}.question{padding:32px}.question h1{font-size:27px;line-height:1.3;letter-spacing:-.8px;margin:16px 0}.clue{padding:18px;background:var(--soft);border-radius:12px;font-size:16px;line-height:1.7}.question-info{display:flex;justify-content:space-between;gap:12px;align-items:center}.choices{display:grid;gap:10px;margin:22px 0}.choice{display:flex;gap:12px;align-items:center;padding:16px;min-height:56px;border:1px solid #acb8a9;border-radius:12px;font-size:14px;font-weight:550;line-height:1.5;background:white;color:var(--ink);text-align:left}.choice:hover{background:#f2f5ec}.choice[aria-pressed=true]{border:2px solid var(--green);padding:15px;background:var(--soft)}.choice.correct{border-color:#37765a;background:#edf5e9}.choice.wrong{border-color:var(--bad);background:var(--badbg)}.choice:disabled{opacity:1}.choice .letter{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border:1px solid var(--line);border-radius:7px;font-size:11px}.feedback{background:var(--soft);border-radius:14px;padding:20px;margin-top:20px;line-height:1.65}.feedback.bad{background:var(--badbg);color:#693c2b}.feedback strong{display:block;margin-bottom:8px}.feedback .btn{margin-top:12px}.recall{min-height:80px}.reveal{margin-top:22px}.card-answer{font-size:21px;line-height:1.5;margin:20px 0}.score{width:128px;height:128px;border:8px solid var(--lime);background:var(--soft);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 22px}.score strong{font-size:35px;letter-spacing:-1px}.center{text-align:center}.review{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:18px;background:white}.review.bad{border-left:4px solid #a6624d}.review.good{border-left:4px solid #528169}.review p:last-child{margin:0}.review h3{font-size:15px;line-height:1.6}.breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.breakdown div{background:var(--soft);padding:14px;border-radius:12px}.breakdown strong{display:block;font-size:18px}.breakdown span{font-size:11px}.sources a{overflow-wrap:anywhere}.sources li{margin-bottom:14px;line-height:1.65}.steps{counter-reset:step;list-style:none;padding:0}.steps li{padding:12px 0 12px 36px;position:relative;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:15px;background:var(--soft);width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:11px}.inline-status{font-size:13px;color:var(--muted);min-height:22px;margin-top:12px}footer{max-width:1096px;margin:0 auto;padding:24px 0 36px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:2}footer a{font-size:12px}dialog{border:1px solid var(--line);border-radius:20px;padding:28px;max-width:430px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#1a352970}.empty{padding:28px;text-align:center}.test-history{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:13px}.study-hint{font-size:12px;color:var(--muted);margin-top:18px}.mt{margin-top:24px}
@media(min-width:1100px){.wide-table{display:block;margin-bottom:24px}.table-toggle{display:inline-flex}}
@media(max-width:760px){.top{padding:20px}.brand{font-size:23px}.brand span{display:none}.save-state{font-size:10px;max-width:130px;line-height:1.5}.nav{margin:0 20px;gap:4px;justify-content:space-between}.nav a{padding:12px;font-size:12px}main{padding:26px 20px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 24px 0}.hero-art{min-height:210px}.cell-art{height:220px}.hero-art .caption{bottom:12px}.hero h1{font-size:38px;max-width:340px}.hero p{font-size:14px}.hero .actions .btn{flex:1}.stats{gap:8px;margin:18px 0 28px}.stat{padding:16px 12px;border-radius:14px}.stat strong{font-size:24px}.stat span{font-size:10px}.org-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.org-card{padding:16px}.org-top{margin-bottom:14px}.org-card h3{font-size:14px}.layout{grid-template-columns:1fr}.panel{padding:22px}.section-head h2{font-size:21px}.section-head a{font-size:11px}.question{padding:22px}.question h1{font-size:23px}.question-info{font-size:11px}.study-top{font-size:12px}.facts{gap:0 16px}.facts dd{font-size:13px}.lesson summary{padding:16px}.lesson summary strong{font-size:14px}.lesson-body{padding:0 20px 20px}.breakdown{grid-template-columns:repeat(2,1fr)}footer{margin:0 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.title-row{align-items:flex-start}.title-row h1{font-size:31px}.actions>.btn{flex-grow:1}.note{padding:18px}.nav{overflow:visible}.question .actions{flex-wrap:wrap}.org-card h3{overflow-wrap:anywhere}}
@media(max-width:360px){.nav a{padding:12px 8px}.top{padding:18px 16px}main{padding:22px 16px}.nav,footer{margin-left:16px;margin-right:16px}.hero-copy{padding:24px 20px 0}.hero h1{font-size:34px}.org-card{padding:13px}.brand{font-size:21px}.save-state{max-width:110px}.question{padding:18px}.choice{padding:14px}.stat span{font-size:10px}.facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.top,.nav,footer,.actions,.btn{display:none!important}main{padding:0;max-width:none}.lesson{break-inside:avoid}.wide-table{display:block}.lesson-list{display:none}body{background:white}}
