@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110d;--bg-soft:#1a1612;--surface:#201b15;--surface-2:#29231b;--ink:#f5ece0;--muted:#bcb09d;--dim:#8c8174;--border:#f5ece014;--border-strong:#f5ece02e;--accent:#eaa856;--green:#8ad19a;--blue:#7cc3e3;--font-body:"Atkinson Hyperlegible", ui-sans-serif, system-ui, sans-serif;--font-display:"Bricolage Grotesque", "Atkinson Hyperlegible", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}a{color:inherit}button{font-family:inherit}.state-screen{text-align:center;min-height:60vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.state-screen__hint{color:var(--dim);font-size:14px}.app-header{z-index:20;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#14110dd9;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.app-header__left{align-items:center;gap:12px;min-width:0;display:flex}.app-header__back{border:1px solid var(--border-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;width:36px;height:36px;font-size:18px}.app-header__back:hover{background:var(--surface-2)}.app-header__title{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:500;overflow:hidden}.app-header__right{flex-shrink:0;align-items:center;gap:10px;display:flex}.app-header__notes-btn{border:1px solid var(--border-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700}.app-header__notes-btn:hover{background:var(--surface-2)}.auth-gate{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-gate__card{text-align:center;gap:10px;max-width:420px;display:grid}.auth-gate__kicker{color:var(--accent);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:13px}.auth-gate__card h1{font-family:var(--font-display);margin:0;font-size:32px;font-weight:400}.auth-gate__hint{color:var(--muted);margin:0 0 12px;font-size:15px}.auth-gate__widget{justify-content:center;width:100%;display:flex}.auth-gate__widget-card{width:100%}.auth-gate__widget-header--hidden{display:none}.home__content{gap:36px;max-width:720px;margin:0 auto;padding:24px 20px 80px;display:grid}.day-group{gap:14px;display:grid}.day-group__heading{font-family:var(--font-display);text-transform:capitalize;color:var(--ink);margin:0;font-size:22px;font-weight:400}.day-group__list{gap:12px;display:grid}.lesson-card{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:10px;padding:16px 18px;text-decoration:none;transition:border-color .15s,background .15s;display:block}.lesson-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.lesson-card__meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lesson-card__badge{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.lesson-card__badge--explainer{color:var(--accent)}.lesson-card__badge--retrieval{color:var(--green)}.lesson-card__badge--correction{color:var(--blue)}.lesson-card__slot,.lesson-card__category{color:var(--muted);font-size:12px}.lesson-card__title{font-family:var(--font-display);margin:0;font-size:18px;font-weight:400}.lesson-page__body{grid-template-columns:1fr;gap:28px;max-width:1100px;margin:0 auto;padding:28px 20px 80px;display:grid}.lesson-page--desktop .lesson-page__body{grid-template-columns:696px 340px;align-items:start}.notes-aside{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);background:linear-gradient(#29231bbf,#201b15bf);border-radius:10px;align-self:start;gap:14px;padding:22px;display:grid;position:sticky;top:84px}.notes-aside h3{font-family:var(--font-display);color:var(--muted);margin:0;font-size:18px;font-weight:500}.notes-aside textarea{min-height:160px}.drawer-overlay{z-index:40;background:#0a080699;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background:var(--bg-soft);border-left:1px solid var(--border);width:min(420px,92vw);height:100%;padding:20px;position:relative;overflow-y:auto}.drawer-panel__close{border:1px solid var(--border-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;width:32px;height:32px;position:absolute;top:14px;right:14px}.drawer-panel .notes-aside{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:36px 0 0;position:static;top:auto}.sync-field{margin-top:18px}.sync-field__body{gap:10px;display:grid}.sync-field__question{color:var(--muted);font-size:16px;font-weight:700}.typography-control{justify-content:center;align-items:center;gap:12px;padding:4px 0;display:flex}.typography-control__btn{border:1px solid var(--border-strong);width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;font-weight:700}.typography-control__btn:hover:not(:disabled){background:var(--surface-2)}.typography-control__btn:disabled{opacity:.4;cursor:not-allowed}.typography-control__value{text-align:center;min-width:44px;color:var(--muted);font-variant-numeric:tabular-nums}button.ghost{border:1px solid var(--border-strong);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;padding:12px 16px;font-weight:700}button.ghost:hover{background:var(--surface-2)}.lesson-scope{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110d;--bg-soft:#1a1612;--surface:#201b15;--surface-2:#29231b;--surface-3:#352d23;--ink:#f5ece0;--muted:#bcb09d;--dim:#8c8174;--border:#f5ece014;--border-strong:#f5ece02e;--accent:#eaa856;--accent-soft:#eaa85621;--blue:#7cc3e3;--blue-soft:#7cc3e31c;--green:#8ad19a;--green-soft:#8ad19a1c;--red:#ee8e9b;--red-soft:#ee8e9b1c;--shadow-sm:0 1px 2px #0000004d;--shadow:0 8px 28px #00000047;--shadow-lg:0 28px 60px #0006;--radius-sm:6px;--radius:10px;--radius-lg:16px;--font-body:"Atkinson Hyperlegible", ui-sans-serif, system-ui, sans-serif;--font-display:"Bricolage Grotesque", "Atkinson Hyperlegible", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure:600px;--ease:cubic-bezier(.2, .6, .2, 1);--font-scale:1;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:calc(22px * var(--font-scale));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.6}.lesson-scope *{box-sizing:border-box}.lesson-scope :focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--radius-sm)}.lesson-scope textarea:focus-visible,.lesson-scope input:focus-visible{outline:none}.lesson-scope ::selection{color:var(--ink);background:#e8a94f52}.lesson-scope.kind-retrieval{background:radial-gradient(ellipse 80rem 50rem at 10% -8%, #8ad19a1f, transparent 60%), radial-gradient(ellipse 60rem 36rem at 94% 6%, #8ad19a0f, transparent 60%), var(--bg)}.lesson-scope.kind-correction{background:radial-gradient(ellipse 80rem 50rem at 10% -8%, #7cc3e31f, transparent 60%), radial-gradient(ellipse 60rem 36rem at 94% 6%, #7cc3e30f, transparent 60%), var(--bg)}.lesson-scope h1,.lesson-scope h2,.lesson-scope h3,.lesson-scope h4{letter-spacing:-.01em;color:var(--ink);margin:0}.lesson-scope h1{font-family:var(--font-display);font-size:calc(60px * var(--font-scale));letter-spacing:-.02em;max-width:14ch;font-weight:400;line-height:1.05}.lesson-scope h2{font-family:var(--font-display);font-size:calc(40px * var(--font-scale));letter-spacing:-.015em;font-weight:400;line-height:1.1}.lesson-scope h3{font-size:calc(26px * var(--font-scale));font-weight:700;line-height:1.25}.lesson-scope h4{font-size:calc(22px * var(--font-scale));color:var(--muted);font-weight:700;line-height:1.3}.lesson-scope p,.lesson-scope li,.lesson-scope td,.lesson-scope th,.lesson-scope label,.lesson-scope button,.lesson-scope textarea,.lesson-scope input{font-size:calc(22px * var(--font-scale))}.lesson-scope figcaption,.lesson-scope .note{font-size:calc(20px * var(--font-scale))}.lesson-scope p{max-width:var(--measure);margin:0}.lesson-scope p+p{margin-top:1em}.lesson-scope ul,.lesson-scope ol{max-width:var(--measure);margin:0;padding-left:1.4em}.lesson-scope li+li{margin-top:.4em}.lesson-scope li::marker{color:var(--dim)}.lesson-scope strong{color:var(--ink);font-weight:700}.lesson-scope em{color:var(--ink);font-style:italic}.lesson-scope a{color:var(--blue);text-underline-offset:3px;transition:text-decoration-color .2s var(--ease);-webkit-text-decoration:underline #7cc3e359;text-decoration:underline #7cc3e359;text-decoration-thickness:1px}.lesson-scope a:hover{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.lesson-scope hr{background:var(--border);border:0;height:1px;margin:8px 0}.lesson-scope blockquote{border-left:2px solid var(--accent);color:var(--muted);max-width:var(--measure);margin:0;padding:4px 0 4px 22px;font-style:italic}.lesson-scope blockquote p{font-family:var(--font-display);font-size:calc(26px * var(--font-scale));color:var(--ink);font-weight:500;line-height:1.4}.lesson-scope code,.lesson-scope pre{font-family:var(--font-mono)}.lesson-scope :not(pre)>code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--accent);padding:2px 6px;font-size:.9em;font-weight:500}.lesson-scope main{gap:32px;min-width:0;display:grid}.lesson-scope .hero,.lesson-scope .section,.lesson-scope .panel,.lesson-scope .callout,.lesson-scope .exercise,.lesson-scope .diagram,.lesson-scope .table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.lesson-scope .hero,.lesson-scope .section,.lesson-scope .panel,.lesson-scope .exercise{padding:clamp(28px,4vw,48px)}.lesson-scope .hero{background:radial-gradient(ellipse 40rem 24rem at 0% 0%, #eaa8561a, transparent 65%), var(--surface);border:1px solid var(--border);min-height:40vh;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:center;gap:22px;display:flex}.lesson-scope.kind-retrieval .hero{background:radial-gradient(ellipse 40rem 24rem at 0% 0%, #8ad19a1f, transparent 65%), var(--surface)}.lesson-scope.kind-correction .hero{background:radial-gradient(ellipse 40rem 24rem at 0% 0%, #7cc3e31f, transparent 65%), var(--surface)}.lesson-scope .hero h1,.lesson-scope .hero .lead{margin-top:4px}.lesson-scope .section,.lesson-scope .stack{gap:24px;display:grid}.lesson-scope .section>h2+p,.lesson-scope .section>h3+p{margin-top:-4px}.lesson-scope .linear>*+*{margin-top:28px}.lesson-scope .tag{border:1px solid var(--border-strong);width:fit-content;color:var(--muted);font-family:var(--font-mono);font-weight:700;font-size:calc(20px * var(--font-scale));text-transform:uppercase;letter-spacing:.06em;background:#f5ece008;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;display:inline-flex}.lesson-scope .kind-badge{width:fit-content;font-family:var(--font-mono);font-weight:700;font-size:calc(17px * var(--font-scale));text-transform:uppercase;letter-spacing:.1em;border:1px solid;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;display:inline-flex}.lesson-scope .kind-badge:before{content:"";background:currentColor;border-radius:50%;width:9px;height:9px;box-shadow:0 0 12px}.lesson-scope .kind-badge.explainer{color:var(--accent);background:var(--accent-soft);border-color:#eaa85673}.lesson-scope .kind-badge.retrieval{color:var(--green);background:var(--green-soft);border-color:#8ad19a73}.lesson-scope .kind-badge.correction{color:var(--blue);background:var(--blue-soft);border-color:#7cc3e373}.lesson-scope .lead{max-width:var(--measure);color:var(--muted);font-weight:700;font-size:calc(22px * var(--font-scale));line-height:1.5}.lesson-scope .meta,.lesson-scope .helper{color:var(--muted);font-size:calc(20px * var(--font-scale))}.lesson-scope .helper{color:var(--dim)}.lesson-scope .callout{background:var(--surface);border-left-width:3px;padding:22px 24px}.lesson-scope .callout>*+*{margin-top:10px}.lesson-scope .callout.good{background:linear-gradient(180deg, var(--green-soft), transparent 120%);border-color:#80d39e38;border-left-color:var(--green)}.lesson-scope .callout.warn{background:linear-gradient(180deg, var(--accent-soft), transparent 120%);border-color:#e8a94f38;border-left-color:var(--accent)}.lesson-scope .callout.fix{background:linear-gradient(180deg, var(--blue-soft), transparent 120%);border-color:#7cc3e338;border-left-color:var(--blue)}.lesson-scope .callout.bad{background:linear-gradient(180deg, var(--red-soft), transparent 120%);border-color:#ec8da238;border-left-color:var(--red)}.lesson-scope .diagram{background:var(--bg-soft);padding:24px;overflow:hidden}.lesson-scope .diagram svg,.lesson-scope .diagram canvas,.lesson-scope .diagram .mermaid{width:100%;min-height:420px;display:block}.lesson-scope .diagram figcaption{color:var(--muted);font-size:calc(20px * var(--font-scale));text-align:center;margin-top:14px}.lesson-scope table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.lesson-scope th,.lesson-scope td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:16px 18px}.lesson-scope th{background:var(--surface-2);color:var(--ink);font-weight:700}.lesson-scope td{color:var(--ink)}.lesson-scope tr:last-child td{border-bottom:0}.lesson-scope tbody tr{transition:background .15s var(--ease)}.lesson-scope tbody tr:hover{background:#f3ede205}.lesson-scope .codebox,.lesson-scope pre{color:#ece4d6;border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;font-size:calc(20px * var(--font-scale));background:#0b0805;padding:22px 24px;line-height:1.5;overflow-x:auto}.lesson-scope pre code{color:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;padding:0}.lesson-scope textarea,.lesson-scope input{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;color:var(--ink);font-family:var(--font-body);font-size:calc(22px * var(--font-scale));transition:border-color .15s var(--ease), background .15s var(--ease);background:#0b08058c;padding:16px 18px;line-height:1.55}.lesson-scope textarea:hover,.lesson-scope input:hover{border-color:#f5ece021}.lesson-scope textarea:focus,.lesson-scope input:focus{background:#0b0805b3;border-color:#f5ece02e;outline:none}.lesson-scope textarea{resize:vertical;min-height:180px}.lesson-scope textarea::placeholder,.lesson-scope input::placeholder{color:var(--dim)}.lesson-scope button,.lesson-scope .button{border:1px solid var(--ink);background:var(--ink);width:100%;color:var(--bg);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:calc(22px * var(--font-scale));cursor:pointer;transition:transform .1s var(--ease), background .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease);box-shadow:var(--shadow-sm);padding:14px 18px;font-weight:700}.lesson-scope button:hover,.lesson-scope .button:hover{background:#fff;border-color:#fff;box-shadow:0 4px 14px #f3ede226}.lesson-scope button:active,.lesson-scope .button:active{box-shadow:none;transform:translateY(1px)}.lesson-scope button.ghost,.lesson-scope .button.ghost{color:var(--ink);border-color:var(--border-strong);background:0 0;font-weight:500}.lesson-scope button.ghost:hover,.lesson-scope .button.ghost:hover{background:var(--surface-2);border-color:var(--ink);box-shadow:none}.lesson-scope .exercise{background:radial-gradient(ellipse 30rem 18rem at 0% 0%, #eaa8561f, transparent 70%), var(--surface);box-shadow:0 0 0 1px #eaa85614, var(--shadow);border:1px solid #eaa85652}.lesson-scope .exercise h2,.lesson-scope .exercise h3{color:var(--ink)}.lesson-scope .exercise label{color:var(--muted);margin-bottom:10px;font-weight:700;display:block}.lesson-scope .exercise>*+*{margin-top:18px}.lesson-scope [data-sync-id],.lesson-scope .sync-source{display:none}.lesson-scope .sync-field{margin-top:18px}@media (width<=560px){.lesson-scope{font-size:calc(20px * var(--font-scale));line-height:1.6}.lesson-scope p,.lesson-scope li,.lesson-scope td,.lesson-scope th,.lesson-scope label,.lesson-scope button,.lesson-scope textarea,.lesson-scope input,.lesson-scope figcaption{font-size:calc(20px * var(--font-scale))}.lesson-scope .hero{min-height:auto;padding:28px 22px}.lesson-scope .section,.lesson-scope .panel,.lesson-scope .exercise{padding:24px 20px}.lesson-scope th,.lesson-scope td{padding:14px}}@media (prefers-reduced-motion:reduce){.lesson-scope *,.lesson-scope :before,.lesson-scope :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
