@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color:#132319;--panel-surface:#ffffffe6;--ink-soft:#3a5444;--border-soft:#14372724;--brand:#206340;--brand-strong:#15462d;--accent:#d99a2b;background:#f4f7f1;font-family:Space Grotesk,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{color:#122117;background:radial-gradient(circle at 12% 8%,#d99a2b2e,#0000 28%),radial-gradient(circle at 88% 18%,#3a755038,#0000 30%),linear-gradient(145deg,#f8fbf5,#ecf3eb 42%,#e6efe4 100%);min-height:100%;margin:0;overflow:hidden}a{color:var(--brand-strong)}.page-shell{max-width:1440px;height:100vh;margin:0 auto;padding:1rem;overflow:hidden}.content-grid{grid-template-columns:minmax(305px,360px) minmax(0,1fr);gap:1.05rem;height:100%;min-height:0;display:grid;overflow:hidden}.curriculum-panel{align-content:start;gap:.72rem;height:100%;min-height:0;padding-right:.35rem;display:grid;overflow:hidden auto}.module-card{background:var(--panel-surface);border:1px solid #143a2729;border-radius:14px;padding:.84rem;box-shadow:0 7px 20px #1123180f}.module-header{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.module-header h2{margin:0;font-size:1rem}.module-header span{color:#335844;font-family:IBM Plex Mono,monospace;font-size:.77rem}.module-track{color:#4f6f5b;margin:.35rem 0 .7rem;font-size:.8rem}.lesson-list{gap:.36rem;display:grid}.lesson-item{text-align:left;color:#173122;background:#fafdfac2;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:.58rem;width:100%;padding:.48rem .54rem;transition:border-color .2s,background-color .2s,transform .2s;display:flex}.lesson-item:disabled{opacity:.56;cursor:not-allowed}.lesson-item:hover:not(:disabled){background:#e9f4eaf0;border-color:#1f5d3d57;transform:translateY(-1px)}.lesson-item.is-active{background:#d9eedcf2;border-color:#1b5b3a99}.lesson-meta{gap:.1rem;display:grid}.lesson-title{font-size:.84rem;line-height:1.28}.lesson-duration{color:#527765;font-family:IBM Plex Mono,monospace;font-size:.74rem}.status-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:.28rem}.status-dot.ready{background:#2f9a60;box-shadow:0 0 0 3px #2f9a6026}.status-dot.pending{background:#c2ccb7}.note-panel{background:#ffffffed;border:1px solid #14382726;border-radius:16px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 42px #11231814}.note-header{background:linear-gradient(116deg,#ecf6eedb,#fafdfad6);border-bottom:1px solid #12372321;padding:1.15rem 1.35rem 1.08rem}.note-track{color:#38634d;text-transform:uppercase;letter-spacing:.09em;margin:0;font-family:IBM Plex Mono,monospace;font-size:.76rem}.note-header h2{margin:.45rem 0 .35rem;font-size:clamp(1.2rem,2vw,1.72rem);line-height:1.15}.note-header p{color:#496956;margin:0}.note-placeholder{color:#2d523e;background:#f8fcf8e6;border:1px dashed #1f5b3c4d;border-radius:12px;margin:1rem;padding:1rem}.note-placeholder.error{color:#7f2f25;background:#fff1eff0;border-color:#b13b2b59}.note-body{min-height:0;overflow:hidden auto}.note-content{color:#153122;padding:1rem 1.35rem 1.5rem;line-height:1.55}.note-content h2,.note-content h3,.note-content h4,.note-content h5,.note-content h6{color:#1e4a33;margin:1.25rem 0 .7rem;line-height:1.2}.note-content h2{font-size:1.34rem}.note-content h3{font-size:1.14rem}.note-content p,.note-content li,.note-content blockquote{font-size:.98rem}.note-content p,.note-content ol,.note-content ul,.note-content blockquote{margin:0 0 .82rem}.note-content ol,.note-content ul{padding-left:1.3rem}.note-content a{color:#1e6a45}.note-content blockquote{background:#f3f8f2e6;border-left:3px solid #25614261;border-radius:4px;padding:.3rem .75rem}.note-content code{background:#152b1f14;border-radius:6px;padding:.06rem .35rem;font-family:IBM Plex Mono,monospace;font-size:.84em}.note-image-row{gap:.58rem;margin:0 0 .88rem;display:grid}.note-image{margin:0}.note-image img,.note-content .inline-image{background:#f7faf7;border:1px solid #1134232e;border-radius:10px;width:min(100%,960px);height:auto;box-shadow:0 8px 20px #0e231914}.note-content .inline-image{vertical-align:middle;max-width:320px;margin-left:.35rem;display:inline-block}@media (width<=980px){.page-shell{height:auto;min-height:100vh;padding:.8rem;overflow:visible}.content-grid{grid-template-columns:1fr;height:auto;overflow:visible}.curriculum-panel{height:auto;padding-right:0;overflow:visible}.note-panel{height:auto;min-height:60vh}.note-body{overflow:visible}}
