.boot[data-v-566ac1c1]{background:var(--paper-3);min-height:100vh}@layer design-system{:root{--blue-400:#5b8def;--blue-500:#2f6fed;--blue-600:#2563eb;--blue-700:#1b4cc9;--blue-tint:#eaf1fe;--orange-400:#f7a63d;--orange-500:#f2900f;--orange-600:#d97c08;--orange-tint:#fbe7c4;--n-0:#fff;--n-50:#faf7ea;--n-100:#f3edd8;--n-200:#e9e2c9;--n-300:#dbd2b2;--n-400:#a69e7f;--n-500:#766f54;--n-700:#3d3826;--n-900:#201d10;--success:#12855a;--success-surface:#e4f5ec;--warning:#b67514;--warning-surface:#f8e6b8;--danger:#d1453b;--danger-surface:#fbe6e4;--info:#2563c9;--info-surface:#e8effc;--bg:#f8f4e3;--surface:#fffdf5;--surface-2:#f3edd8;--inset:#efe8d0;--sidebar:#f4efdc;--border:#e9e2c9;--border-strong:#dbd2b2;--text:#201d10;--text-muted:#766f54;--text-subtle:#a69e7f;--accent:var(--blue-600);--accent-hover:var(--blue-700);--accent-tint:var(--blue-tint);--accent-2:var(--orange-500);--accent-2-tint:var(--orange-tint);--block-neutral:var(--text-muted);--block-neutral-surface:var(--surface-2);--block-info:var(--info);--block-info-surface:var(--info-surface);--block-success:var(--success);--block-success-surface:var(--success-surface);--block-warning:var(--warning);--block-warning-surface:var(--warning-surface);--block-danger:var(--danger);--block-danger-surface:var(--danger-surface);--block-accent:var(--accent);--block-accent-surface:var(--accent-tint);--block-highlight:var(--accent-2);--block-highlight-surface:var(--accent-2-tint);--font-display:"Plus Jakarta Sans","Inter",sans-serif;--font-body:"Inter",sans-serif;--font-read:"Source Serif 4",Georgia,serif;--font-mono:"JetBrains Mono",monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-full:999px;--sh-pad:12px;--shadow-sm:0 1px 2px #4036110f;--shadow-md:0 6px 20px #4036111a;--shadow-lg:0 18px 46px #40361133;--ease:.18s cubic-bezier(.32,.72,0,1)}[data-theme=dark]{--bg:#17140c;--surface:#26231a;--surface-2:#302c20;--inset:#1d1a12;--sidebar:#1d1a12;--border:#403a2b;--border-strong:#544d3a;--text:#f7f3e8;--text-muted:#c4bda6;--text-subtle:#948b73;--accent:var(--blue-400);--accent-tint:#1a2c4d;--accent-2:#f7a63d;--accent-2-tint:#3a2c12;--success-surface:#123526;--warning-surface:#3a2c12;--danger-surface:#3a1c17;--info-surface:#12233d;--block-neutral:var(--text-muted);--block-info:#7fb0ff;--block-success:#4ade80;--block-warning:#e7b64d;--block-danger:#f08a82;--block-accent:var(--blue-400);--block-highlight:#f7a63d;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--shadow-lg:0 18px 46px #0009}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] .page-title{color:var(--text)}@layer base{*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background var(--ease), color var(--ease);font-size:15px;line-height:1.55}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.015em;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(28px,3.6vw,40px);font-weight:800}h2{font-size:26px;font-weight:700}h3{font-size:19px;font-weight:700}.prose-read{font-family:var(--font-read);font-size:18px;line-height:1.7}code,kbd,samp{font-family:var(--font-mono);font-size:.88em}code{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2px 6px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}[hidden]{display:none!important}::selection{background:color-mix(in srgb, var(--accent-2) 35%, transparent)}}@layer components{.btn{font-family:var(--font-body);border-radius:var(--r-md);cursor:pointer;transition:background var(--ease), border-color var(--ease), color var(--ease);border:1px solid #0000;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn .btn-i{flex:none}.btn>svg:not([class]){flex:none;width:16px;height:16px}.btn-sm>svg:not([class]){width:14px;height:14px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}[data-theme=dark] .btn-primary{color:#10131c}.btn-accent{background:var(--accent-2);color:#241300}.btn-accent:hover{background:var(--orange-600);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{color:var(--accent);background:0 0}.btn-ghost:hover{background:var(--accent-tint)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover{background:var(--danger);color:#fff}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-sm{border-radius:var(--r-sm);padding:6px 12px;font-size:13px}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-subtle);cursor:pointer;transition:background var(--ease), color var(--ease);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn:disabled:hover{color:var(--text-subtle);background:0 0}.icon-btn-sm{width:28px;height:28px}.icon-btn-accent{color:var(--accent)}.icon-btn-accent:hover{background:var(--accent-tint);color:var(--accent)}.icon-btn-danger:hover{background:var(--danger-surface);color:var(--danger)}.select-card{text-align:left;width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:border-color var(--ease), background var(--ease);align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.select-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.select-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.select-card:disabled{opacity:.5;cursor:not-allowed}.select-card.is-selected{border-color:var(--accent)}.select-card-box{border:1.5px solid var(--border-strong);background:var(--surface);color:#fff;width:20px;height:20px;transition:background var(--ease), border-color var(--ease);border-radius:6px;flex:none;justify-content:center;align-items:center;margin-top:1px;display:flex}.select-card-box--radio{border-radius:50%}.select-card.is-selected .select-card-box{background:var(--accent);border-color:var(--accent)}.select-card-box svg{width:13px;height:13px}.select-card-dot{background:#fff;border-radius:50%;width:8px;height:8px}.select-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.select-card-title{color:var(--text);font-size:14px;font-weight:600;line-height:1.3}.select-card-desc{color:var(--text-muted);font-size:13px;line-height:1.35}.badge{border-radius:var(--r-full);align-items:center;gap:7px;padding:4px 12px 4px 9px;font-size:12.5px;font-weight:600;line-height:1.4;display:inline-flex}.badge .b-dot{border-radius:50%;flex:none;width:7px;height:7px}.badge-success{background:var(--success-surface);color:var(--success)}.badge-success .b-dot{background:var(--success)}.badge-warning{background:var(--warning-surface);color:var(--warning)}.badge-warning .b-dot{background:var(--warning)}.badge-danger{background:var(--danger-surface);color:var(--danger)}.badge-danger .b-dot{background:var(--danger)}.badge-info{background:var(--info-surface);color:var(--info)}.badge-info .b-dot{background:var(--info)}.badge-dark{background:var(--text);color:var(--surface)}.badge-dark .b-dot{background:var(--surface)}.badge-neutral{background:var(--surface-2);color:var(--text-muted)}.badge-neutral .b-dot{background:var(--text-subtle)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--ease), transform var(--ease)}.card.is-hoverable:hover{border-color:var(--text);transform:translateY(-1px)}.card-pad{padding:22px}.icon-tile{border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.icon-tile>svg:not([class]){width:20px;height:20px}.tile-blue{background:var(--accent-tint)}.tile-orange{background:var(--accent-2-tint)}.tile-neutral{background:var(--surface-2)}.progress{background:var(--inset);border-radius:var(--r-full);height:8px;overflow:hidden}.progress>i{background:var(--accent-2);border-radius:var(--r-full);height:100%;transition:width .4s cubic-bezier(.32,.72,0,1);display:block}@keyframes yspin{to{transform:rotate(360deg)}}.spinner{box-sizing:border-box;border:2.5px solid color-mix(in srgb, currentColor 22%, transparent);border-top-color:currentColor;border-radius:50%;flex:none;width:18px;height:18px;animation:.7s linear infinite yspin;display:inline-block}.spinner-sm{border-width:2px;width:14px;height:14px}.spinner-lg{border-width:3px;width:30px;height:30px}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.5s}}.loader{color:var(--accent);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.loader-label{color:var(--text-muted);font-size:14px;font-weight:600}.loader-content{min-height:180px;padding:32px}.loader-page{min-height:60vh;padding:48px}.loader-overlay{z-index:20;border-radius:inherit;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:absolute;inset:0}.callout{background:var(--accent-2-tint);border:1px solid color-mix(in srgb, var(--accent-2) 30%, transparent);border-radius:var(--r-lg);gap:14px;padding:16px 18px;font-size:14px;display:flex}.callout .c-emoji{font-size:20px;line-height:1.3}.callout-info{background:var(--info-surface);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.callout-success{background:var(--success-surface);border-color:color-mix(in srgb, var(--success) 30%, transparent)}.callout-warning{background:var(--warning-surface);border-color:color-mix(in srgb, var(--warning) 30%, transparent)}.callout-danger{background:var(--danger-surface);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.stat-card{flex-direction:column;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--accent-2);height:3px;position:absolute;top:0;left:0;right:0}.stat-card .s-num{font-family:var(--font-display);letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1}.stat-card .s-label{color:var(--text-muted);margin-top:5px;font-size:13px}.stat-card .s-delta{color:var(--success);font-size:12.5px;font-weight:600}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);text-align:left;border-bottom:1px solid var(--border);padding:10px 16px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background var(--ease)}.table tbody tr:hover{background:var(--surface-2)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-header-text{min-width:0}.page-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800;line-height:1.2}.page-sub{color:var(--text-muted);max-width:640px;margin:6px 0 0;font-size:14px;line-height:1.5}.page-actions{flex:none;align-items:center;gap:8px;display:flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.table-toolbar .tt-heading{font-family:var(--font-display);flex:none;margin:0;font-size:16px;font-weight:700;line-height:1.3}.tt-search{flex:220px;max-width:360px;position:relative}.tt-search .input{padding-left:34px}.tt-search-i{color:var(--text-subtle);pointer-events:none;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.tt-filters{flex:none;align-items:center;gap:8px;display:flex}.tt-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.pg-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.pg-actions{flex:none;align-items:center;gap:8px;display:flex}.field{margin-bottom:18px}.field label,.ro-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:6px;font-size:11px;font-weight:800}.field label{display:block}.field .hint{color:var(--text-subtle);margin-top:6px;font-size:12.5px}.input,.select,.textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color var(--ease), box-shadow var(--ease);padding:9px 12px;font-size:14px}.input::placeholder{color:var(--text-subtle)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.textarea{resize:vertical;min-height:88px}.field-error .input{border-color:var(--danger)}.field-error .hint{color:var(--danger)}.media-card{display:flex;overflow:hidden}.media-thumb{background:var(--surface-2);flex:none;width:96px;overflow:hidden}.media-thumb>img,.media-thumb>svg{object-fit:cover;width:100%;height:100%;display:block}.media-body{min-width:0;padding:16px 18px}.media-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.25}.media-sub{color:var(--text-muted);margin-top:4px;font-size:12.5px}.media-cover{background:var(--surface-2);height:132px;position:relative;overflow:hidden}.media-cover>img,.media-cover>svg{object-fit:cover;width:100%;height:100%;display:block}.media-cover-tag{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text);box-shadow:var(--shadow-sm);padding:3px 11px;font-size:11.5px;font-weight:600;position:absolute;bottom:12px;left:12px}.media-avatar{background:var(--accent-2-tint);width:56px;height:56px;color:var(--text);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:inline-flex}.opt-list-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.opt-list-title{color:var(--text);font-size:13.5px;font-weight:600}.opt-list-hint{color:var(--text-subtle);margin-top:2px;font-size:12px}.opt-list{flex-direction:column;gap:8px;display:flex}.opt-row{align-items:center;gap:6px;display:flex}.opt-field{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:0;transition:border-color var(--ease), box-shadow var(--ease);flex:1;align-items:stretch;display:flex;overflow:hidden}.opt-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.opt-field .input{background:0 0;border:0;border-radius:0;min-width:0}.opt-field .input:focus{box-shadow:none}.opt-key{width:150px;font-family:var(--font-mono);color:var(--text-subtle);flex:none;font-size:13px}.opt-grow{flex:1}.opt-divider{background:var(--border);flex:none;align-self:stretch;width:1px}.opt-remove{opacity:1;transition:opacity var(--ease)}.opt-remove:disabled{opacity:0;pointer-events:none}.ymenu{display:inline-block;position:relative}.ymenu>.btn .ymenu-caret{opacity:.85;transition:transform var(--ease);flex:none;margin-left:1px}.ymenu>.btn .ymenu-caret.is-open{transform:rotate(180deg)}.ymenu-scrim{z-index:60;cursor:default;background:0 0;border:none;position:fixed;inset:0}.ymenu-pop{z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:200px;box-shadow:var(--shadow-md);padding:6px;position:absolute;top:calc(100% + 6px)}.ymenu-pop.is-start{left:0}.ymenu-pop.is-end{right:0}.ymenu-item{width:100%;font:inherit;color:var(--text);text-align:left;border-radius:var(--r-md);cursor:pointer;transition:background var(--ease), color var(--ease);background:0 0;border:none;align-items:center;gap:11px;padding:9px 10px;font-size:14px;display:flex}.ymenu-item+.ymenu-item{margin-top:2px}.ymenu-item:hover{background:var(--surface-2)}.ymenu-item:disabled{opacity:.5;cursor:not-allowed}.ymenu-item.is-danger{color:var(--danger)}.ymenu-item.is-danger:hover{background:var(--danger-surface)}.ymenu-i{color:var(--text-subtle);flex:none}.ymenu-item.is-danger .ymenu-i{color:var(--danger)}.slider-row{align-items:center;gap:12px;display:flex}.slider{cursor:pointer;width:100%;height:22px;accent-color:var(--accent);background:0 0;flex:1}.slider:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:var(--r-sm)}.slider:disabled{opacity:.5;cursor:not-allowed}.slider-val{text-align:right;font-variant-numeric:tabular-nums;min-width:46px;color:var(--text-muted);flex:none;font-size:13px}.save-status{color:var(--text-subtle);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.save-status .save-status-i{flex:none}.save-status.is-saved{color:var(--success)}.save-status.is-error{color:var(--danger)}.row-link{text-align:left;width:100%;font:inherit;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--ease), background var(--ease);align-items:center;gap:12px;padding:11px 12px 11px 13px;text-decoration:none;display:flex}.row-link:hover{border-color:var(--border-strong);background:var(--surface-2)}.row-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.row-link:disabled{opacity:.5;cursor:not-allowed}.row-link.is-selected{border-color:var(--accent)}.row-link-icon{flex:none;justify-content:center;align-items:center;display:flex}.row-link-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.row-link-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.row-link-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.3;overflow:hidden}.row-link-chev{color:var(--text-subtle);flex:none}.cbadge{border-radius:var(--r-full);align-items:center;gap:7px;padding:4px 11px 4px 9px;font-size:12.5px;font-weight:600;line-height:1.4;display:inline-flex}.cbadge-num{font-variant-numeric:tabular-nums}.cbadge-label{color:var(--text-muted);font-weight:500}.cbadge .cbadge-dot{border-radius:50%;flex:none;width:7px;height:7px}.cbadge .cbadge-bar{border-radius:var(--r-full);background:color-mix(in srgb, currentColor 22%, transparent);flex:none;width:34px;height:5px;overflow:hidden}.cbadge .cbadge-bar>i{border-radius:var(--r-full);background:currentColor;height:100%;transition:width .4s cubic-bezier(.32,.72,0,1);display:block}.cbadge-high{background:var(--success-surface);color:var(--success)}.cbadge-high .cbadge-dot{background:var(--success)}.cbadge-mid{background:var(--warning-surface);color:var(--warning)}.cbadge-mid .cbadge-dot{background:var(--warning)}.cbadge-low{background:var(--accent-2-tint);color:var(--orange-600)}.cbadge-low .cbadge-dot{background:var(--accent-2)}.section-head{color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;margin-bottom:20px;display:flex}.section-head .sh-text{flex:24rem;min-width:0;max-width:62ch}.section-head .sh-aside{flex:none;align-items:center;gap:8px;display:flex}.sh-lead{color:var(--text-muted);margin:5px 0 0;font-size:13px;line-height:1.45}.sh-title .sh-heading{font-family:var(--font-read);color:var(--text);margin:0;font-size:17px;font-weight:600;line-height:1.25}.sh-sub{flex-direction:column;align-items:stretch;gap:10px;margin:0 0 16px}.sh-sub .sh-text{flex:none}.sh-sub .sh-aside{align-self:flex-end}.sh-sub .sh-heading{margin:0 calc(var(--sh-pad) * -1);padding:8px var(--sh-pad);background:var(--surface-2);border-radius:var(--r-sm);font-family:var(--font-body);color:var(--text);font-size:13px;font-weight:800;line-height:1.3}.sh-eyebrow .sh-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);margin:0;font-size:11px;font-weight:800}.sh-eyebrow .sh-lead{margin-top:4px;font-size:12.5px}}.ro-label{align-items:center;gap:8px;display:flex}.ro-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle);background:var(--surface-2);border-radius:var(--r-full);align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.ro-tag svg{width:11px;height:11px}.readonly{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-md);align-items:center;gap:8px;padding:9px 8px 9px 13px;display:flex}.readonly .ro-lock{color:var(--text-subtle);flex:none;display:flex}.readonly .ro-lock svg{width:14px;height:14px}.readonly .ro-value{min-width:0;font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;scrollbar-width:thin;-webkit-user-select:text;user-select:text;flex:1;font-size:13px;overflow-x:auto}.readonly .ro-value.is-text{white-space:normal;font-family:inherit;font-size:14px}}.lesson-body{font-family:inherit}.lesson-body .keypoints-block,.lesson-body .checkpoint-block,.lesson-body .activity-block,.lesson-body .example-block,.lesson-body .summary-box,.lesson-body .mermaid-block,.lesson-body .definition-block,.lesson-body .key-insight,.lesson-body .tip-block,.lesson-body .aside-block,.lesson-body .misconception-block,.lesson-body .objective-block,.lesson-body .quiz{--lb-hue:var(--accent);--lb-soft:var(--accent-faint);--lb-ink:var(--accent-ink);background:var(--lb-soft);border:1px solid var(--line-soft);border-inline-start:3px solid var(--lb-hue);border-radius:var(--r-md);font-family:var(--sans);color:var(--ink);margin:1.5rem 0;padding:1rem 1.125rem;font-size:.9375rem;line-height:1.6}.lesson-body .keypoints-block__badge,.lesson-body .checkpoint-block__badge,.lesson-body .activity-block__badge,.lesson-body .example-block__badge,.lesson-body .summary-box__badge,.lesson-body .definition-block__badge,.lesson-body .key-insight__badge,.lesson-body .tip-block__badge,.lesson-body .aside-block__badge,.lesson-body .misconception-block__badge,.lesson-body .objective-block__badge,.lesson-body .quiz__badge{border-radius:var(--r-xs);background:var(--lb-hue);color:var(--lb-on-hue,var(--on-accent));font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.625rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;line-height:1;display:inline-block}.lesson-body .activity-block__title,.lesson-body .example-block__title,.lesson-body .mermaid-block__title{font-family:var(--sans);color:var(--lb-ink);margin-bottom:.5rem;font-size:.9375rem;font-weight:600}.lesson-body .checkpoint-block .checkpoint-block__answer p,.lesson-body .activity-block .activity-block__instructions p,.lesson-body .example-block .example-block__content p,.lesson-body .summary-box .summary-box__content p,.lesson-body .callout .callout__content p{margin:0 0 .625rem}.lesson-body .checkpoint-block .checkpoint-block__answer p:last-child,.lesson-body .activity-block .activity-block__instructions p:last-child,.lesson-body .example-block .example-block__content p:last-child,.lesson-body .summary-box .summary-box__content p:last-child,.lesson-body .callout .callout__content p:last-child{margin-bottom:0}.lesson-body .keypoints-block .keypoints-block__item p{margin:0}.lesson-body .checkpoint-block{--lb-hue:var(--warning);--lb-soft:var(--warning-soft);--lb-ink:var(--warning-ink);--lb-on-hue:var(--on-warning)}.lesson-body .activity-block{--lb-hue:var(--success);--lb-soft:var(--success-soft);--lb-ink:var(--success-ink);--lb-on-hue:var(--on-success)}.lesson-body .example-block{--lb-hue:var(--info);--lb-soft:var(--info-soft);--lb-ink:var(--info-ink);--lb-on-hue:var(--on-info)}.lesson-body .tip-block{--lb-hue:var(--success);--lb-soft:var(--success-soft);--lb-ink:var(--success-ink);--lb-on-hue:var(--on-success)}.lesson-body .aside-block{--lb-hue:var(--info);--lb-soft:var(--info-soft);--lb-ink:var(--info-ink);--lb-on-hue:var(--on-info)}.lesson-body .misconception-block{--lb-hue:var(--warning);--lb-soft:var(--warning-soft);--lb-ink:var(--warning-ink);--lb-on-hue:var(--on-warning)}.lesson-body .definition-block__term{color:var(--lb-ink);margin-bottom:.375rem;font-weight:650}.lesson-body .objective-block{font-size:.875rem}.lesson-body .checkpoint-block__question{font-family:var(--sans);color:var(--ink);margin-bottom:.75rem;font-size:1rem;font-weight:600;line-height:1.45}.lesson-body .checkpoint-block__toggle{border:1px solid var(--lb-hue);border-radius:var(--r-sm);background:var(--paper);color:var(--lb-ink);font-family:var(--sans);cursor:pointer;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.lesson-body .checkpoint-block__toggle:hover{background:var(--lb-hue);color:var(--lb-on-hue)}.lesson-body .checkpoint-block__toggle:focus-visible{outline:2px solid var(--lb-hue);outline-offset:2px}.lesson-body .checkpoint-block__toggle:before{content:"";border-bottom:2px solid;border-right:2px solid;width:.4rem;height:.4rem;transition:transform .15s;transform:rotate(45deg)translate(-1px,-1px)}.lesson-body .checkpoint-block__toggle[aria-expanded=true]:before{transform:rotate(-135deg)translate(-1px,-1px)}.lesson-body .checkpoint-block__answer{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--paper);font-family:var(--serif);color:var(--ink);margin-top:.75rem;padding:.75rem .875rem;font-size:.9375rem;line-height:1.6}.lesson-body .keypoints-block__list{margin:0;padding:0;list-style:none}.lesson-body .keypoints-block__item{margin-bottom:.5rem;padding-inline-start:1.125rem;position:relative}.lesson-body .keypoints-block__item:last-child{margin-bottom:0}.lesson-body .keypoints-block__item:before{content:"";inset-inline-start:0;border-radius:var(--r-full);background:var(--lb-hue);width:6px;height:6px;position:absolute;top:.6em}.lesson-body .activity-block__duration{border:1px solid var(--line-soft);border-radius:var(--r-full);background:var(--paper);color:var(--ink-2);align-items:center;gap:.375rem;margin-top:.625rem;padding:.25rem .625rem;font-size:.75rem;display:inline-flex}.lesson-body .summary-box{border-inline-start-width:4px}.lesson-body .summary-box__content{font-family:var(--serif);font-size:1rem;line-height:1.6}.lesson-body .summary-box__content strong{color:var(--lb-ink)}.lesson-body .callout{--lb-hue:var(--info);--lb-soft:var(--info-soft);--lb-on-soft:var(--on-info-soft);border:1px solid var(--line-soft);border-inline-start:3px solid var(--lb-hue);border-radius:var(--r-md);background:var(--lb-soft);font-family:var(--sans);color:var(--ink);align-items:flex-start;gap:.75rem;margin:1.25rem 0;padding:.875rem 1rem;font-size:.9375rem;line-height:1.6;display:flex}.lesson-body .callout__icon{color:var(--lb-on-soft);flex:none;margin-top:.125rem}.lesson-body .callout__icon svg{width:1.125rem;height:1.125rem;display:block}.lesson-body .callout__content{flex:auto;min-width:0}.lesson-body .callout--warning{--lb-hue:var(--warning);--lb-soft:var(--warning-soft);--lb-on-soft:var(--on-warning-soft)}.lesson-body .callout--tip{--lb-hue:var(--success);--lb-soft:var(--success-soft);--lb-on-soft:var(--on-success-soft)}.lesson-body .callout--danger{--lb-hue:var(--danger);--lb-soft:var(--danger-soft);--lb-on-soft:var(--on-danger-soft)}.lesson-body .callout--note{--lb-hue:var(--line);--lb-soft:var(--paper-2);--lb-on-soft:var(--ink-2)}.lesson-body .mermaid-block{background:var(--paper);border-inline-start-width:1px;border-color:var(--line-soft);padding:.875rem 1rem}.lesson-body .mermaid-block__diagram{overflow-x:auto}.lesson-body .mermaid-block__diagram svg{max-width:100%;height:auto;margin:0 auto;display:block}.lesson-body .mermaid-block__diagram pre.mermaid{display:none}.lesson-body .mermaid-block--failed .mermaid-block__diagram pre.mermaid{border-radius:var(--r-sm);background:var(--paper-2);font-family:var(--mono);color:var(--ink-2);white-space:pre;margin:0;padding:.75rem;font-size:.8125rem;line-height:1.5;display:block;overflow-x:auto}.lesson-body .mermaid-block--failed .mermaid-block__diagram:before{content:"This diagram could not be drawn. Its source is below.";font-family:var(--sans);color:var(--ink-2);margin-bottom:.5rem;font-size:.8125rem;display:block}.lesson-body .mermaid-block--pending .mermaid-block__diagram{min-height:6rem}.lesson-body .quiz{padding-bottom:1.125rem}.lesson-body .quiz__question{border:none;min-inline-size:0;margin:0 0 1rem;padding:0}.lesson-body .quiz__question:last-of-type{margin-bottom:0}.lesson-body .quiz__question-text{inline-size:100%;font-family:var(--sans);color:var(--ink);margin-bottom:.5rem;padding:0;font-size:.9375rem;font-weight:600;line-height:1.45;display:block}.lesson-body .quiz__question-index{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-inline-end:.25rem}.lesson-body .quiz__options{gap:.375rem;display:grid}.lesson-body .quiz__option{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--paper);font-family:var(--sans);color:var(--ink);cursor:pointer;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;font-size:.875rem;line-height:1.5;transition:background .12s,border-color .12s;display:flex}.lesson-body .quiz__option:hover{border-color:var(--lb-hue)}.lesson-body .quiz__option:focus-within{outline:2px solid var(--lb-hue);outline-offset:2px}.lesson-body .quiz__radio{accent-color:var(--lb-hue);flex:none;margin:.1875rem 0 0}.lesson-body .quiz__option-text{flex:1;min-inline-size:0}.lesson-body .quiz__option-mark{text-align:center;flex:none;inline-size:1rem;font-size:.875rem;font-weight:700;line-height:1.5}.lesson-body .quiz--graded .quiz__option{cursor:default}.lesson-body .quiz--graded .quiz__option:hover{border-color:var(--line-soft)}.lesson-body .quiz__option--correct{border-color:var(--success);background:var(--success-soft);color:var(--on-success-soft)}.lesson-body .quiz__option--correct .quiz__option-mark:before{content:"✓";color:var(--success-ink)}.lesson-body .quiz__option--wrong{border-color:var(--danger);background:var(--danger-soft);color:var(--on-danger-soft)}.lesson-body .quiz__option--wrong .quiz__option-mark:before{content:"✕";color:var(--danger-ink)}.lesson-body .quiz__option--answer{border-color:var(--success);border-style:dashed}.lesson-body .quiz--graded .quiz__option--correct:hover,.lesson-body .quiz--graded .quiz__option--wrong:hover{border-color:inherit}.lesson-body .quiz__footer{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.875rem;display:flex}.lesson-body .quiz__submit,.lesson-body .quiz__reset{border-radius:var(--r-sm);font-family:var(--sans);cursor:pointer;padding:.4375rem .875rem;font-size:.8125rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.lesson-body .quiz__submit{border:1px solid var(--lb-hue);background:var(--lb-hue);color:var(--lb-on-hue,var(--on-accent))}.lesson-body .quiz__submit:hover:not(:disabled){background:var(--lb-ink);border-color:var(--lb-ink)}.lesson-body .quiz__submit:disabled{border-color:var(--line);background:var(--paper-2);color:var(--ink-2);cursor:not-allowed}.lesson-body .quiz__reset{border:1px solid var(--line-soft);background:var(--paper);color:var(--ink-2)}.lesson-body .quiz__reset:hover{border-color:var(--lb-hue);color:var(--lb-ink)}.lesson-body .quiz__submit:focus-visible,.lesson-body .quiz__reset:focus-visible{outline:2px solid var(--lb-hue);outline-offset:2px}.lesson-body .quiz__score:not([hidden]){font-family:var(--sans);color:var(--lb-ink);align-items:center;margin-inline-start:auto;font-size:.8125rem;font-weight:600;display:inline-flex}.lesson-body .quiz__empty{font-family:var(--sans);color:var(--ink-2);font-size:.875rem}.lesson-body .table-block{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--paper);margin:1.5rem 0;overflow-x:auto}.lesson-body .table-block table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.875rem}.lesson-body .table-block th,.lesson-body .table-block td{text-align:start;vertical-align:top;border-bottom:1px solid var(--line-soft);padding:.625rem .875rem}.lesson-body .table-block thead th{background:var(--paper-2);color:var(--ink);font-weight:600}.lesson-body .table-block tbody tr:last-child td{border-bottom:none}.lesson-body .table-block__caption{border-top:1px solid var(--line-soft);color:var(--ink-2);padding:.625rem .875rem;font-size:.8125rem;line-height:1.5}.lesson-body .image-block{font-family:var(--sans);margin:1.5rem 0;padding:0}.lesson-body .image-block__img{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--paper-2);width:100%;height:auto;display:block}.lesson-body .image-block__caption{color:var(--ink-2);margin-top:.5rem;font-size:.875rem;line-height:1.5}.lesson-body [data-zoom=on]{cursor:zoom-in}.lesson-body [data-zoom=on]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.lesson-body .image-block:not(:has(.image-block__img)) .image-block__caption{border-inline-start:2px solid var(--line-soft);margin-top:0;padding-inline-start:.75rem}@media (prefers-reduced-motion:reduce){.lesson-body .checkpoint-block__toggle,.lesson-body .checkpoint-block__toggle:before,.lesson-body .quiz__option,.lesson-body .quiz__submit,.lesson-body .quiz__reset{transition:none}}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--paper-3);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}.prose{font-family:var(--serif);color:var(--ink)}code,kbd,pre{font-family:var(--mono)}.field label,.ro-label{color:var(--faint)}:root{--sub-pad:.75rem}.eyebrow-label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:.375rem;font-size:.6875rem;font-weight:800;display:block}.ro-label .ro-tag{letter-spacing:.04em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[role=dialog][tabindex="-1"]:focus,[role=dialog][tabindex="-1"]:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
