.mermaid-root--lesson{margin:1.5rem 0}.mermaid-card{padding:1.25rem;border-radius:1rem;overflow:auto}.mermaid-card,.mermaid-root--hero{position:relative}.mermaid-inline--lesson{position:relative;overflow:auto}.mermaid-inline--hero{min-width:-moz-min-content;min-width:min-content}.mermaid-svg-wrap{transition:opacity .2s ease}.mermaid-svg-wrap--fade{opacity:.4}.mermaid-svg-wrap--incoming{position:absolute;inset:0;opacity:1;animation:mermaid-fade-in .25s ease forwards}@keyframes mermaid-fade-in{0%{opacity:0}to{opacity:1}}.mermaid-toolbar{position:absolute;top:.5rem;right:.5rem;z-index:2;display:flex;gap:.25rem;padding:.25rem;border-radius:.625rem;background:rgb(var(--surface)/.92);border:1px solid rgb(var(--border));box-shadow:0 1px 4px rgba(0,0,0,.08);backdrop-filter:blur(6px)}.mermaid-toolbar--hero{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15)}.mermaid-toolbar--hero-header{position:static;z-index:auto;box-shadow:none;backdrop-filter:none;padding:0;border:none;background:transparent;margin-left:auto;flex-shrink:0}.mermaid-hero-chrome{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;min-width:0}.mermaid-hero-chrome__meta{display:flex;align-items:center;gap:.5rem;min-width:0}.mermaid-hero-chrome__dots{display:flex;gap:.375rem;flex-shrink:0}.mermaid-hero-chrome__dot{width:.625rem;height:.625rem;border-radius:9999px}.mermaid-hero-chrome__dot--close{background:rgb(var(--mermaid-warn,239 68 68)/.7)}.mermaid-hero-chrome__dot--minimize{background:rgb(var(--mermaid-gold,234 179 8)/.7)}.mermaid-hero-chrome__dot--maximize{background:rgb(var(--mermaid-success,16 185 129)/.7)}.mermaid-hero-chrome__filename{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;color:rgb(var(--muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mermaid-toolbar--hero-header .mermaid-toolbar__btn{padding:.3rem .45rem;border-radius:.375rem;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.06)}.mermaid-toolbar--hero-header .mermaid-toolbar__btn:hover{background:hsla(0,0%,100%,.14);border-color:hsla(0,0%,100%,.2)}.mermaid-toolbar__btn{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .5rem;border-radius:.375rem;font-size:.6875rem;font-weight:500;color:rgb(var(--muted));transition:color .15s,background .15s}.mermaid-toolbar__btn:hover{color:rgb(var(--foreground));background:rgb(var(--surface-alt))}.mermaid-toolbar--hero .mermaid-toolbar__btn{color:hsla(0,0%,100%,.7)}.mermaid-toolbar--hero .mermaid-toolbar__btn:hover{color:#fff;background:hsla(0,0%,100%,.12)}.mermaid-toolbar__label{display:none}@media (min-width:640px){.mermaid-toolbar__label{display:inline}}.mermaid-type-chip{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:rgb(var(--primary)/.12);color:rgb(var(--primary));border:1px solid rgb(var(--primary)/.2)}.mermaid-type-chip--inline{position:absolute;top:0;left:0;z-index:1}.mermaid-skeleton{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-radius:1rem;background:rgb(var(--surface-alt)/.5)}.mermaid-skeleton--hero{background:transparent;min-height:12rem}.mermaid-skeleton__chip{width:4rem;height:1.25rem;border-radius:9999px;background:rgb(var(--surface-alt));animation:mermaid-pulse 1.2s ease-in-out infinite}.mermaid-skeleton__nodes{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.mermaid-skeleton__node{width:2rem;height:2rem;border-radius:.75rem;background:rgb(var(--surface-alt));animation:mermaid-pulse 1.2s ease-in-out infinite}@keyframes mermaid-pulse{0%,to{opacity:.5}50%{opacity:1}}.mermaid-error{margin:1.5rem 0;padding:1rem;border-radius:1rem;border:1px dashed rgb(var(--border));background:rgb(var(--surface-alt)/.5)}.mermaid-error__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.mermaid-error__title{font-size:.875rem;font-weight:600;color:rgb(var(--foreground))}.mermaid-error__msg{font-size:.75rem;color:rgb(var(--muted))}.mermaid-error__actions{display:flex;gap:.5rem;margin-top:.75rem}.mermaid-error__source{margin-top:.75rem;padding:.75rem;border-radius:.75rem;overflow:auto;border:1px dashed rgb(var(--border))}.mermaid-btn,.mermaid-error__source{font-size:.75rem;background:rgb(var(--surface))}.mermaid-btn{padding:.375rem .75rem;border-radius:.375rem;border:1px solid rgb(var(--border));color:rgb(var(--foreground))}.mermaid-btn--ghost{background:transparent;color:rgb(var(--muted))}.mermaid-hero-shell{position:relative}.mermaid-hero-scroll{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.mermaid-hero-scroll::-webkit-scrollbar{display:none}.mermaid-hero-scroll--overflow{mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.mermaid-hero-hint{position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);padding:.25rem .75rem;border-radius:9999px;font-size:.6875rem;color:hsla(0,0%,100%,.8);background:rgba(0,0,0,.35);backdrop-filter:blur(4px);animation:mermaid-hint-fade 3s ease forwards}@keyframes mermaid-hint-fade{0%,70%{opacity:1}to{opacity:.6}}.mermaid-modal{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;background:rgb(var(--background)/.96);backdrop-filter:blur(8px)}.mermaid-modal--hero{background:rgb(var(--background)/.98)}.mermaid-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid rgb(var(--border));flex-shrink:0}.mermaid-modal__title-wrap{display:flex;align-items:center;gap:.5rem;min-width:0}.mermaid-modal__title{font-size:.875rem;font-weight:500;color:rgb(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mermaid-modal__controls{display:flex;align-items:center;gap:.125rem;flex-shrink:0}.mermaid-modal__icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;color:rgb(var(--muted));transition:color .15s,background .15s}.mermaid-modal__icon:hover:not(:disabled){color:rgb(var(--foreground));background:rgb(var(--surface-alt))}.mermaid-modal__icon:disabled{opacity:.3;cursor:not-allowed}.mermaid-modal__pct{min-width:3rem;height:2rem;padding:0 .5rem;border-radius:.5rem;font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums;color:rgb(var(--muted))}.mermaid-modal__pct:hover{color:rgb(var(--foreground));background:rgb(var(--surface-alt))}.mermaid-modal__sep{width:1px;height:1.25rem;margin:0 .25rem;background:rgb(var(--border))}.mermaid-modal__canvas{flex:1;overflow:auto;padding:1rem 1.5rem;cursor:grab}.mermaid-modal__canvas--dragging{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mermaid-modal__diagram{margin:0 auto;padding:1.5rem;border-radius:1rem;border:1px solid rgb(var(--border));background:rgb(var(--surface-alt));transition:width .1s ease}.mermaid-modal__diagram--hero{background:rgb(var(--surface-alt)/.6);border-color:rgb(var(--border)/.5)}.mermaid-modal__hint{text-align:center;padding:0 1rem 1rem;font-size:.6875rem;color:rgb(var(--muted));flex-shrink:0}.diagram-shell svg{max-width:100%;height:auto;font-family:var(--font-jakarta,system-ui),sans-serif}.diagram-shell svg .edgePath path,.diagram-shell svg .flowchart-link{stroke-width:2px}.diagram-shell svg .marker path{fill:rgb(var(--primary));stroke:rgb(var(--primary))}.diagram-shell svg .node ellipse,.diagram-shell svg .node polygon,.diagram-shell svg .node rect{stroke-width:2px}.diagram-shell svg .cluster rect{stroke-width:2px;rx:12px;ry:12px}.diagram-shell svg .actor-line{stroke:rgb(var(--border));stroke-width:1px}.diagram-shell svg .messageLine0,.diagram-shell svg .messageLine1{stroke:rgb(var(--primary));stroke-width:2px}.diagram-shell svg .note{fill:rgb(var(--surface-alt))}.diagram-shell svg .labelBox,.diagram-shell svg .loopLine,.diagram-shell svg .note{stroke:rgb(var(--border))}.diagram-shell svg .section0,.diagram-shell svg .section1,.diagram-shell svg .section2,.diagram-shell svg .section3{fill:rgb(var(--surface-alt))}.diagram-shell svg .active0,.diagram-shell svg .active1,.diagram-shell svg .task{fill:rgb(var(--primary));stroke:rgb(var(--primary-hover,var(--primary)))}.diagram-shell svg .done0,.diagram-shell svg .done1{fill:rgb(var(--mermaid-success,16 185 129))}.diagram-shell svg .crit0,.diagram-shell svg .crit1{fill:rgb(var(--mermaid-warn,239 68 68))}.diagram-shell svg .lineWrapper line{stroke:rgb(var(--primary))!important}.diagram-shell svg .section-root line,.diagram-shell svg .timeline-node line{stroke:rgb(var(--border))}.diagram-shell svg marker path[fill=black],.diagram-shell svg marker path[stroke=black]{fill:rgb(var(--primary));stroke:rgb(var(--primary))}@media print{.mermaid-hero-hint,.mermaid-modal__bar,.mermaid-modal__hint,.mermaid-toolbar,.mermaid-type-chip{display:none!important}.mermaid-card,.mermaid-inline,.mermaid-modal__diagram{box-shadow:none!important;filter:none!important;border:1px solid #ccc!important;background:#fff!important}.diagram-shell svg .node polygon,.diagram-shell svg .node rect{stroke:#333!important}}@font-face{font-family:__jakarta_8cd9e1;src:url(/_next/static/media/be6419ffe34f1ed7-s.p.woff2) format("woff2");font-display:swap;font-weight:300 800}@font-face{font-family:__jakarta_Fallback_8cd9e1;src:local("Arial");ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.00%;size-adjust:105.75%}.__className_8cd9e1{font-family:__jakarta_8cd9e1,__jakarta_Fallback_8cd9e1}.__variable_8cd9e1{--font-jakarta:"__jakarta_8cd9e1","__jakarta_Fallback_8cd9e1"}@font-face{font-family:__mono_5f5d0e;src:url(/_next/static/media/d4d543e2c04cd1cb-s.p.woff2) format("woff2");font-display:swap;font-weight:400 500}@font-face{font-family:__mono_Fallback_5f5d0e;src:local("Arial");ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.00%;size-adjust:131.49%}.__className_5f5d0e{font-family:__mono_5f5d0e,__mono_Fallback_5f5d0e}.__variable_5f5d0e{--font-mono:"__mono_5f5d0e","__mono_Fallback_5f5d0e"}