:root{--ink:#071721;--paper:#f5eddd;--gold:#d9aa50;--gold2:#f2d78a;--plato:#8baee8;--aristotle:#9fc87e;--line:rgba(217,170,80,.28);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--reading:70ch}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;color:var(--paper);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% -10%,#1f5065 0,transparent 34rem),radial-gradient(circle at 90% 12%,#412d5c55 0,transparent 35rem),linear-gradient(180deg,#071721,#030a0f 70%,#07131b);line-height:1.65}button,a,textarea{font:inherit}button{cursor:pointer}a{color:inherit}body.lesson-open{overflow:hidden}
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:.7rem;padding:calc(.55rem + var(--safe-top)) max(1rem,env(safe-area-inset-right)) .55rem max(1rem,env(safe-area-inset-left));background:#041016ec;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.home{display:grid;place-items:center;width:2.55rem;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;color:var(--gold2);text-decoration:none}.topcopy{display:grid;line-height:1.15}.topcopy strong{font:600 1rem Georgia,serif}.topcopy small{color:#f5eddd78}.toolbar{display:flex;gap:.45rem;margin-left:auto}.tool{min-width:2.4rem;height:2.4rem;border:1px solid var(--line);border-radius:999px;color:var(--gold2);background:#ffffff08}.progressWrap{width:min(24vw,150px)}.progressTrack{height:.3rem;border-radius:99px;background:#fff1;overflow:hidden}.progressBar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:.3s}.progressLabel{display:block;margin-top:.2rem;color:#f5eddd6e;font-size:.65rem;text-align:right}
.wrap{width:min(calc(100% - 2rem),1180px);margin:auto}.hero{padding:clamp(3.5rem,9vw,7rem) 0 3rem}.eyebrow{margin:0 0 .75rem;color:var(--gold);font-size:.75rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}h1{max-width:12ch;margin:0;font:500 clamp(3.2rem,10vw,7.4rem)/.9 Georgia,serif;letter-spacing:-.045em}.lead{max-width:780px;margin:1.3rem 0 0;color:#f5edddbd;font-size:clamp(1.05rem,2.2vw,1.3rem)}.switcher{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.switcher button{padding:.78rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--paper);background:#fff1;font-weight:750}.switcher button.active{color:#07131a;background:var(--gold2);border-color:var(--gold2)}
.dashboard{display:grid;grid-template-columns:1.35fr .65fr;gap:1rem;padding:1rem 0 4rem}.panel{border:1px solid var(--line);border-radius:1.25rem;background:linear-gradient(145deg,#ffffff0d,#0003);overflow:hidden}.panelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.35rem;border-bottom:1px solid #ffffff10}.panelHead h2{margin:0;font:500 clamp(2rem,5vw,3.5rem)/1 Georgia,serif}.panelHead p{max-width:58ch;margin:.5rem 0 0;color:#f5eddd90}.count{flex:0 0 auto;padding:.45rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--gold2);font-size:.75rem}.moduleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem}.module{position:relative;display:grid;gap:.55rem;min-height:180px;padding:1rem;border:1px solid #ffffff13;border-radius:1rem;color:var(--paper);background:#0002;text-align:left;transition:.2s}.module:hover{transform:translateY(-3px);border-color:var(--gold)}.module.done{border-color:#79bf72;background:#4d8a3d18}.module .num{font:700 .74rem/1 Inter,sans-serif;letter-spacing:.12em;color:var(--gold)}.module.platone .num{color:var(--plato)}.module.aristotele .num{color:var(--aristotle)}.module h3{margin:0;font:500 1.45rem/1.08 Georgia,serif}.module p{margin:0;color:#f5eddd85;font-size:.9rem}.tick{position:absolute;right:.75rem;top:.75rem;width:1.55rem;aspect-ratio:1;display:grid;place-items:center;border:1px solid #ffffff20;border-radius:50%;color:transparent;font-size:.8rem}.module.done .tick{color:#07131a;background:#9bd18c;border-color:#9bd18c}
.side{display:grid;gap:1rem;align-content:start}.sideCard{padding:1.2rem;border:1px solid var(--line);border-radius:1.15rem;background:#ffffff09}.sideCard h3{margin:0 0 .7rem;font:500 1.35rem Georgia,serif}.sideCard p{margin:.3rem 0;color:#f5eddd8d;font-size:.9rem}.notes{width:100%;min-height:220px;resize:vertical;padding:1rem;border:1px solid #ffffff18;border-radius:.85rem;color:var(--paper);background:#020a0f;line-height:1.55}.noteActions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.6rem}.noteActions button{padding:.55rem .75rem;border:1px solid var(--line);border-radius:.7rem;color:var(--gold2);background:#0002}
.compareList{display:grid;gap:.8rem;padding:1rem}.compare{display:grid;grid-template-columns:.5fr 1fr 1fr;gap:1rem;padding:1rem;border:1px solid #ffffff14;border-radius:1rem;background:#0002}.compare h3{margin:0;font:500 1.25rem Georgia,serif}.compare p{margin:0;color:#f5eddd98;font-size:.9rem}.compare .p{border-left:3px solid var(--plato);padding-left:.8rem}.compare .a{border-left:3px solid var(--aristotle);padding-left:.8rem}
.lessonLayer{position:fixed;inset:0;z-index:100;display:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:rgba(0,0,0,.84);padding:0}.lessonLayer.open{display:block}.lessonPage{min-height:100%;width:min(100%,980px);margin:0 auto;background:linear-gradient(150deg,#0b2a38,#071821 68%,#030b10);box-shadow:0 0 80px #000}.lessonTop{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:.65rem;padding:calc(.75rem + var(--safe-top)) 1rem .75rem;background:#06141bf4;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.lessonTop .badge{padding:.4rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--gold2);font-size:.72rem;font-weight:800}.lessonTop .lessonNav{display:flex;gap:.4rem;margin-left:auto}.lessonTop button{min-width:2.45rem;height:2.45rem;border:1px solid var(--line);border-radius:999px;color:var(--gold2);background:#0003}.lessonTop button:disabled{opacity:.35;cursor:not-allowed}.lessonBody{padding:clamp(1.2rem,4vw,2.8rem) clamp(1rem,5vw,3.2rem) calc(5rem + var(--safe-bottom))}.lessonBody h2{max-width:17ch;margin:.25rem 0 .7rem;font:500 clamp(2.4rem,7vw,4.8rem)/.98 Georgia,serif}.problem{max-width:var(--reading);padding:1rem 1.1rem;border-left:4px solid var(--gold);border-radius:.3rem .9rem .9rem .3rem;color:#f5edddda;background:#0004;font:500 1.12rem Georgia,serif}.bodyText{max-width:var(--reading);font-size:1.03rem}.bodyText p{color:#f5edddc0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.3rem}.box{padding:1rem;border:1px solid #ffffff16;border-radius:.9rem;background:#ffffff08}.box h3{margin:0 0 .65rem;font:500 1.25rem Georgia,serif}.box ul{margin:0;padding-left:1.2rem;color:#f5edddb0}
.terms{display:flex;flex-wrap:wrap;gap:.5rem}.termBtn{padding:.5rem .68rem;border:1px solid var(--line);border-radius:999px;color:var(--gold2);background:#d9aa500d;font-size:.8rem;text-align:left}.termBtn:hover,.termBtn.active{background:#d9aa5022;border-color:var(--gold2)}.definition{display:none;margin-top:.9rem;padding:1rem;border-left:3px solid var(--gold);border-radius:.35rem .85rem .85rem .35rem;background:#020a0f;color:#f5edddc5}.definition.show{display:block}.definition strong{display:block;color:var(--gold2);font:500 1.2rem Georgia,serif;margin-bottom:.25rem}.definition .context{display:block;margin-top:.55rem;color:#f5eddd80;font-size:.86rem}
.check{margin-top:1.3rem;padding:1.1rem;border:1px solid var(--line);border-radius:1rem;background:#0003}.check h3{margin:0 0 .75rem;font:500 1.25rem Georgia,serif}.answers{display:grid;gap:.55rem}.answers button{padding:.8rem;border:1px solid #ffffff20;border-radius:.7rem;color:var(--paper);background:#fff1;text-align:left}.answers button.good{border-color:#8bd17d;background:#4e913d33}.answers button.bad{border-color:#e08a7d;background:#9b403833}.lessonActions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}.lessonActions button{padding:.75rem .9rem;border:1px solid var(--line);border-radius:.8rem;color:var(--gold2);background:#0003;font-weight:750}.lessonActions .complete{color:#07131a;background:var(--gold2)}
.focus .side,.focus .panelHead p,.focus .hero{display:none}.focus .dashboard{grid-template-columns:1fr}.focus .moduleGrid{grid-template-columns:repeat(3,1fr)}.large{font-size:118%}.toast{position:fixed;z-index:160;left:50%;bottom:calc(1.2rem + var(--safe-bottom));transform:translate(-50%,1rem);max-width:min(90vw,520px);padding:.75rem 1rem;border-radius:999px;color:#07131a;background:var(--gold2);opacity:0;pointer-events:none;transition:.2s;font-weight:800;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}footer{padding:2rem 1rem calc(3rem + var(--safe-bottom));text-align:center;color:#f5eddd58}
@media(max-width:860px){.dashboard{grid-template-columns:1fr}.side{grid-template-columns:1fr 1fr}.focus .moduleGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.progressWrap{display:none}.moduleGrid,.side,.columns{grid-template-columns:1fr}.compare{grid-template-columns:1fr}.focus .moduleGrid{grid-template-columns:1fr}.lessonTop #lessonSub{display:none}.lessonTop{padding-left:.65rem;padding-right:.65rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important}}