:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f8fafc;--foreground:#0f172a;--muted:#475569;--card:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--brand:#2563eb;--brand-dark:#1d4ed8;--danger:#b91c1c;--danger-background:#fef2f2;--success:#15803d;--success-background:#f0fdf4;--warning:#a16207;--warning-background:#fefce8}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}button,input,textarea,select{color:var(--foreground);font:inherit;background-color:#fff}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}input:-webkit-autofill{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}input:-webkit-autofill:hover{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}input:-webkit-autofill:focus{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}textarea:-webkit-autofill{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}textarea:-webkit-autofill:hover{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}textarea:-webkit-autofill:focus{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}select:-webkit-autofill{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}select:-webkit-autofill:hover{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}select:-webkit-autofill:focus{border-color:var(--border-strong);-webkit-text-fill-color:var(--foreground);caret-color:var(--foreground);-webkit-box-shadow:inset 0 0 0 1000px #fff}.app-shell{min-height:100vh}.topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafce6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex;position:sticky;top:0}.topbar__brand{color:var(--foreground);font-weight:800;text-decoration:none}.topbar__nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.topbar__nav form{margin:0}.topbar__nav a,.topbar__button{color:var(--muted);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:700;line-height:inherit;background:0 0;border:0;border-radius:999px;padding:.45rem .75rem;text-decoration:none}.topbar__nav a:hover,.topbar__button:hover{color:var(--brand);background:#eff6ff}.shell{flex-direction:column;gap:1.5rem;min-height:100vh;padding:2rem;display:flex}.shell--wide{width:min(1180px,100%);margin:0 auto}.shell--standard{width:min(860px,100%);margin:0 auto}.hero{border:1px solid var(--border);background:radial-gradient(circle at top left, #2563eb24, transparent 34rem), var(--card);border-radius:1.25rem;grid-template-columns:minmax(0,1fr) minmax(13rem,16rem);align-items:start;gap:1.5rem;padding:2rem;display:grid;box-shadow:0 20px 40px #0f172a14}.hero__stats{grid-template-columns:repeat(3,minmax(7rem,1fr));gap:.75rem;display:grid}.hero__stats div{border:1px solid var(--border);background:#ffffffb8;border-radius:1rem;padding:1rem}.hero__stats strong{font-size:1.8rem;display:block}.hero__stats span{color:var(--muted);font-size:.9rem}.card{border:1px solid var(--border);background:var(--card);border-radius:1rem;padding:2rem;box-shadow:0 20px 40px #0f172a14}.card--interactive,.card--row{transition:border-color .16s,transform .16s}.card--interactive:hover,.card--row:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card--row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.card__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.eyebrow{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}h1{margin:.5rem 0 1rem;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}h2{margin:.35rem 0 .75rem;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.2}p{color:var(--muted);font-size:1.05rem;line-height:1.7}.status-list{gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.status-list li{border:1px solid var(--border);border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;display:flex}.status-list span{color:var(--muted)}.grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.list,.lesson-body,.lesson-layout{gap:1rem;display:grid}.button{border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--brand-dark)}.button--secondary{color:var(--brand);background:#fff}.button--danger{border-color:var(--danger);background:var(--danger);color:#fff}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.form{gap:1rem;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.form label{color:var(--foreground);gap:.4rem;font-weight:700;display:grid}.form input,.form select,.form textarea{border:1px solid var(--border-strong);width:100%;color:var(--foreground);caret-color:var(--foreground);background-color:#fff;border-radius:.75rem;padding:.8rem .9rem}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--brand);color:var(--foreground);background-color:#fff}.form textarea{resize:vertical}.back-link{width:fit-content;color:var(--brand);font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}.pill{color:#1e40af;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:700}.metadata-list{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:1rem 0;display:grid}.metadata-list--stacked{grid-template-columns:1fr}.metadata-list div{border-left:3px solid var(--border);padding-left:.75rem}.metadata-list dt{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:700}.metadata-list dd{overflow-wrap:anywhere;margin:.2rem 0 0}.progress{min-width:10rem;color:var(--muted);gap:.35rem;font-size:.9rem;display:grid}.progress__bar{background:#e2e8f0;border-radius:999px;height:.55rem;overflow:hidden}.progress__bar span{border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e);height:100%;display:block}.inline-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.state-card,.content-block,.key-value-panel{border:1px dashed var(--border-strong);background:var(--card);border-radius:1rem;padding:1.5rem}.state-card--error{background:var(--danger-background);color:var(--danger);border-color:#fecaca}.state-card--error p{color:var(--danger)}.state-card--warning{background:var(--warning-background);color:var(--warning);border-color:#fde68a}.state-card--warning p{color:var(--warning)}.state-card--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.state-card--success p{color:#166534}.admin-grid{gap:1rem;display:grid}.admin-grid label{color:var(--foreground);gap:.4rem;font-weight:700;display:grid}.form-help{color:var(--muted);font-size:.92rem}.lesson-block{gap:.85rem;display:grid}.lesson-block h2,.lesson-block p{margin:0}.lesson-block--concept{border-style:solid}.lesson-block--prompt-template,.lesson-block--pause-and-apply,.lesson-block--verification,.lesson-block--guided-activity,.lesson-block--agent-prompt,.lesson-block--tool-card,.lesson-block--callout,.lesson-block--key-takeaway{background:#f8fafc;border-style:solid}.lesson-block--pause-and-apply,.lesson-block--guided-activity,.lesson-block--key-takeaway{background:#f8fbff;border-color:#bfdbfe}.lesson-block--agent-prompt{background:#f5f3ff;border-color:#c4b5fd}.lesson-block--tool-card{background:#f0f9ff;border-color:#bae6fd}.lesson-block--verification{background:#f0fdf4;border-color:#bbf7d0}.lesson-block--callout{background:#fffbeb;border-color:#fde68a}.lesson-block__labeled-text{gap:.35rem;display:grid}.lesson-block__labeled-text p{margin:0}.lesson-block__header{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.lesson-block__header h2{flex:16rem}.lesson-block__kicker{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#0f172a14;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:700}.prompt-template{border:1px solid var(--border);color:#e2e8f0;font:inherit;white-space:pre-wrap;background:#0f172a;border-radius:.75rem;margin:0;padding:1rem;line-height:1.6;overflow-x:auto}.lesson-checklist{gap:.5rem;margin:0;padding-left:1.25rem;display:grid}.tool-example-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.tool-example{border:1px solid var(--border);background:#ffffffb8;border-radius:.75rem;gap:.65rem;padding:.85rem;display:grid}.tool-example h3{margin:0}.tool-example a{color:var(--link)}.lesson-table-wrapper{overflow-x:auto}.lesson-table{border-collapse:collapse;width:100%;font-size:.95rem}.lesson-table th,.lesson-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.75rem}.lesson-table th{color:var(--foreground);background:#f8fafc}.lesson-sidebar{border:1px solid var(--border);background:#ffffffb8;border-radius:1rem;gap:1rem;min-width:0;padding:1rem;display:grid}.lesson-footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.workspace-nav{z-index:5;border:1px solid var(--border);background:#ffffffeb;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem;display:flex;position:sticky;top:5rem;box-shadow:0 12px 28px #0f172a14}.workspace-nav a{color:var(--muted);border-radius:999px;padding:.55rem .8rem;font-size:.9rem;font-weight:700;text-decoration:none}.workspace-nav a:hover{color:var(--brand);background:#eff6ff}.learning-workspace{grid-template-columns:minmax(0,1.7fr) minmax(17rem,.55fr);align-items:start;gap:1rem;display:grid}.learning-workspace__main,.learning-workspace__side,.learning-workspace__content,.study-coach-link{gap:1rem;display:grid}.learning-workspace__side{position:sticky;top:9rem}.lesson-artifact-card--compact h2{margin:.2rem 0 .6rem;font-size:1rem}.lesson-artifact-card--compact .button-row{gap:.5rem}.lesson-artifact-card--compact .button{padding:.55rem .75rem}.guided-checkpoints{gap:.75rem}.guided-checkpoints h2{margin:0;font-size:1.2rem}.guided-checkpoints .button{padding:.55rem .75rem}.guided-checkpoints__details summary{cursor:pointer;color:var(--brand);font-weight:800}.checkpoint-list{gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.checkpoint-item__label{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.4rem .5rem;display:grid}.checkpoint-item__label a{min-width:0;color:var(--foreground);overflow-wrap:anywhere}.checkpoint-item__label .pill{grid-column:2;width:fit-content;padding:.2rem .5rem;font-size:.72rem}.final-artifact-panel,.activity-response{gap:1rem;display:grid}.activity-response{border-top:1px solid var(--border);padding-top:1rem}.activity-response label{color:var(--foreground);font-weight:800}.activity-response textarea{resize:vertical;border:1px solid var(--border-strong);width:100%;min-height:12rem;color:var(--foreground);caret-color:var(--foreground);background:#fff;border-radius:.75rem;padding:.9rem 1rem;line-height:1.6}.activity-response textarea:focus{border-color:var(--brand);outline:2px solid #2563eb33}.activity-response__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.status-list--plain li{border:0;border-radius:0;padding:0;display:list-item}.tutor-chat{gap:1rem;display:grid}.tutor-chat__header{align-items:start}.tutor-chat__header p{margin-bottom:0}.tutor-chat__messages{border:1px solid var(--border);background:#f8fafc;border-radius:1rem;gap:.75rem;max-height:34rem;padding:1rem;display:grid;overflow:auto}.tutor-chat__empty,.tutor-chat__status{color:var(--muted);text-align:center;gap:.25rem;font-size:.95rem;display:grid}.tutor-chat__bubble{border:1px solid var(--border);background:var(--card);border-radius:1rem;gap:.35rem;width:min(42rem,92%);padding:.9rem 1rem;display:grid}.tutor-chat__bubble p,.tutor-chat__error p{white-space:pre-wrap;margin:0}.tutor-chat__bubble--user{background:#eff6ff;border-color:#bfdbfe;justify-self:end}.tutor-chat__bubble--assistant{justify-self:start}.tutor-chat__bubble--refusal{background:var(--warning-background);border-color:#fde68a}.tutor-chat__flag,.inline-help{color:var(--muted);font-size:.85rem}.tutor-chat__flag{color:var(--warning);font-weight:700}.inline-help--error{color:var(--danger)}.lesson-complete{gap:.5rem;display:grid}.tutor-chat__form{border-top:1px solid var(--border);padding-top:1rem}.study-coach,.study-coach__results,.study-coach__intro,.study-coach__form{gap:1rem;display:grid}.study-coach__form-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.study-coach__list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.study-coach__list li{border:1px solid var(--border);background:#f8fafc;border-radius:1rem;gap:.35rem;padding:1rem;display:grid}.study-coach__list p{margin:0}.flashcards,.flashcards__list,.flashcard-review,.flashcard-review__card,.notes,.notes__list{gap:1rem;display:grid}.flashcard-item,.note-item{border:1px solid var(--border);background:#f8fafc;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem;display:grid}.flashcard-item p,.flashcard-review__card p,.note-item p{white-space:pre-wrap;margin:0}.flashcard-review__card{border:1px solid var(--border);background:#f8fafc;border-radius:1rem;padding:1.25rem}.toast-viewport{z-index:50;gap:.75rem;width:min(24rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--border-strong);border-left:4px solid var(--brand);background:var(--card);border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem;display:grid;box-shadow:0 20px 40px #0f172a24}.toast strong{margin-bottom:.2rem;display:block}.toast p{margin:0;font-size:.95rem}.toast button,.dialog__close{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.toast--success{border-left-color:var(--success);background:var(--success-background)}.toast--warning{border-left-color:var(--warning);background:var(--warning-background)}.toast--error{border-left-color:var(--danger);background:var(--danger-background)}.dialog-backdrop{z-index:40;background:#0f172a85;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border);background:var(--card);border-radius:1.25rem;gap:1rem;width:min(36rem,100%);max-height:calc(100vh - 2rem);padding:1.5rem;display:grid;overflow:auto;box-shadow:0 24px 80px #0f172a52}.dialog__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.dialog__header h2,.dialog__header p{margin-top:0}.dialog__body{color:var(--muted);line-height:1.7}.dialog__actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}@media (max-width:760px){.topbar,.shell{padding:1rem}.hero,.card--row,.flashcard-item,.note-item{grid-template-columns:1fr}.workspace-nav,.learning-workspace__side{position:static}.workspace-nav{border-radius:1rem}.learning-workspace,.hero__stats{grid-template-columns:1fr}}.lesson-artifact-card{border-left:4px solid var(--brand)}.submitted-artifact{white-space:pre-wrap;word-break:break-word;background:var(--background);border:1px solid var(--border);border-radius:.5rem;max-height:20rem;margin:.5rem 0 0;padding:.75rem;font-size:.85rem;overflow-y:auto}
