:root{--editor-fs:13.5px;--learn-fs:14px}html:not([data-theme]),html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-deep:#0a0f18;--bg-card:#0e1219;--bg-raised:#141a24;--bg-editor:#0a0d13;--border:#1c2433;--text-hi:#eaeff6;--text-mid:#8d98ab;--text-lo:#3e4a5c;--accent:#e8843c;--accent-dim:#e8843c1f;--accent-glow:#e8843c40;--success:#2dd4a0;--success-dim:#2dd4a01a;--error:#f0544c;--error-dim:#f0544c1a;--warn:#f5c542;--blue:#5ea3f8;--purple:#b07af5;--logo-dojo:#d6854c;--on-accent-btn:#fff;--overlay-scrim:#000000b8;--dialog-scrim:#000000a6;--shadow-overlay:0 24px 80px #0000008c;--shadow-dialog:0 20px 60px #00000080;--shadow-task-band:0 -10px 36px #0000008c;--output-label-bg:#0003;--shadow-mobile-nav:4px 0 20px #00000080;--shadow-module-card:0 8px 28px #00000040;--resources-body-bg:linear-gradient(145deg, #5ea3f80d, #e8843c0a);--inline-code-bg:#0a0d13;--scrollbar-thumb:#2a3344;--meter-track-bg:#252f42;--meter-track-rim:#eaeff624;--tab-inactive:#9aa8bc;--tab-inactive-hover:#d8dee9;--lesson-resources-subtitle:#c5cedc;--figure-caption:#c2ccdc}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-deep:#fff;--bg-card:#fff;--bg-raised:#ececef;--bg-editor:#fff;--border:#c5cad6;--text-hi:#0f172a;--text-mid:#475569;--text-lo:#94a3b8;--accent:#c2410c;--accent-dim:#c2410c1f;--accent-glow:#c2410c38;--success:#059669;--success-dim:#0596691f;--error:#dc2626;--error-dim:#dc26261a;--warn:#d97706;--blue:#2563eb;--purple:#7c3aed;--logo-dojo:#b45309;--on-accent-btn:#fff;--overlay-scrim:#0f172a73;--dialog-scrim:#0f172a66;--shadow-overlay:0 24px 80px #0f172a24;--shadow-dialog:0 20px 60px #0f172a1f;--shadow-task-band:0 -10px 28px #0f172a1a;--output-label-bg:#0f172a0f;--shadow-mobile-nav:4px 0 24px #0f172a1f;--shadow-module-card:0 8px 28px #0f172a14;--resources-body-bg:linear-gradient(145deg, #2563eb0f, #ea580c0d);--inline-code-bg:#e8eaef;--scrollbar-thumb:#b8bec9;--meter-track-bg:#d1d9e6;--meter-track-rim:var(--border);--tab-inactive:#5d6778;--tab-inactive-hover:#334155;--lesson-resources-subtitle:#3d4d60;--figure-caption:#6e7d91}*{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg-deep);color:var(--text-hi);height:100vh;font-family:IBM Plex Sans,sans-serif;overflow:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.app{grid-template-rows:56px 1fr;grid-template-columns:280px 1fr;height:100vh;display:grid}header{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:20;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.header-left{align-items:center;gap:8px;display:flex}.brand{align-items:center;gap:8px;display:inline-flex}.brand-mark{flex-shrink:0;justify-content:center;align-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;font-size:28px;line-height:1;display:flex}.brand-title{letter-spacing:.02em;white-space:nowrap;font-family:Playfair Display,serif;font-size:20px;font-weight:700;line-height:1.15}.brand-name-np{color:var(--text-hi)}.brand-name-dojo{color:var(--logo-dojo)}a.brand,a.dashboard-cta,a.module-card--link,a.path-step-btn{text-decoration:none}.header-right{flex-shrink:0;align-items:center;gap:14px;display:flex;position:relative}.header-tools-desktop{align-items:center;gap:14px;display:flex}.header-more{display:none}.header-more-trigger{cursor:pointer;background:var(--bg-raised);border:1px solid var(--border);color:var(--text-mid);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-family:inherit;line-height:0;list-style:none;transition:border-color .15s,color .15s,background .12s;display:flex}.header-more-trigger::-webkit-details-marker{display:none}.header-more[open] .header-more-trigger{border-color:var(--accent);color:var(--accent)}.header-more-panel{z-index:60;background:var(--bg-card);border:1px solid var(--border);width:min(216px,100vw - 28px);max-width:calc(100vw - 24px);box-shadow:var(--shadow-dialog);box-sizing:border-box;border-radius:10px;flex-direction:column;align-items:stretch;gap:16px;padding:12px 14px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.header-more-section-title{letter-spacing:.07em;text-transform:uppercase;color:var(--text-lo);margin:0 0 8px;font-size:10px;font-weight:700}.header-more-panel .dashboard-share-menu--header-more{width:100%;display:block}.header-more-panel .dashboard-share-menu--header-more .dashboard-share-trigger--compact{box-sizing:border-box;text-align:center;width:100%}.dashboard-share-menu--header-more .dashboard-share-panel{box-sizing:border-box;width:100%;min-width:0;left:0!important;right:0!important}.meter--stacked{flex-direction:column;align-items:stretch;gap:8px}.meter-track--wide{max-width:none;width:100%!important}.header-more-reset{align-self:stretch;width:100%}.meter{align-items:center;gap:10px;display:flex}.meter-label{color:var(--text-mid);font-size:12px;font-weight:500}.meter-label b{color:var(--success);font-weight:700}.meter-track{background:var(--meter-track-bg);width:180px;height:7px;box-shadow:inset 0 0 0 1px var(--meter-track-rim,var(--border));border-radius:4px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--accent), var(--success));border-radius:3px;height:100%;transition:width .5s cubic-bezier(.22,1,.36,1)}.hdr-btn,.dashboard-share-trigger--compact{border:1px solid var(--border);color:var(--text-lo);box-sizing:border-box;cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;height:28px;min-height:28px;padding:0 12px;font-family:inherit;font-size:11px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.hdr-btn:hover{border-color:var(--error);color:var(--error)}.theme-menu{flex-shrink:0;position:relative}.theme-menu-trigger{border:1px solid var(--border);background:var(--bg-raised);cursor:pointer;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;font-size:17px;line-height:1;transition:border-color .12s,background .12s;display:grid}.theme-menu-trigger:hover{border-color:var(--text-lo);background:var(--bg-card)}.theme-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-menu-dropdown{z-index:60;background:var(--bg-card);border:1px solid var(--border);min-width:132px;box-shadow:var(--shadow-dialog);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.theme-menu-item{width:100%;font:inherit;color:var(--text-mid);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:flex}.theme-menu-item:hover{background:var(--bg-raised);color:var(--text-hi)}.theme-menu-item.active{color:var(--accent);font-weight:600}.theme-menu-ico{text-align:center;width:22px;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;font-size:16px;line-height:1}.tab-bar{border-bottom:1px solid var(--border);background:var(--bg-card);gap:0;padding:0 16px;display:flex}.tab-btn{color:var(--tab-inactive);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.tab-btn:hover:not(.active){color:var(--tab-inactive-hover)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-btn.active:hover{color:var(--accent);filter:brightness(1.06)}.mobile-breadcrumb{display:none}nav{background:var(--bg-card);border-right:1px solid var(--border);padding:12px 0;overflow-y:auto}.sec-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-lo);padding:14px 18px 6px;font-size:9px;font-weight:700}.nav-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;margin:1px 8px;padding:8px 14px;transition:all .12s;display:flex}.nav-item:hover{background:var(--bg-raised)}.nav-item.active{background:var(--accent-dim);outline:1px solid #e8843c33}.nav-item.active .nav-title{color:var(--accent)}.nav-dot{border:2px solid var(--border);width:24px;height:24px;color:var(--text-lo);border-radius:50%;flex-shrink:0;place-items:center;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;transition:all .2s;display:grid}.nav-item.done .nav-dot{border-color:var(--success);background:var(--success);color:#fff;font-size:12px}.nav-item.active .nav-dot{border-color:var(--accent);color:var(--accent)}.nav-item.done.active .nav-dot{border-color:var(--accent);background:var(--accent);color:#fff}.nav-item.done.active .nav-title{color:var(--accent)}.nav-title{color:var(--text-mid);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.nav-item.done .nav-title{color:var(--success)}main{flex-direction:column;display:flex;position:relative;overflow:hidden}.panes{flex:1;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.panes-learn{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.panes-learn>.learn{flex:1;min-height:0}.panes--resizable>.code-pane{border-left:none;min-width:0}.panes-gutter{cursor:col-resize;touch-action:none;z-index:6;background:0 0;position:relative}.panes-gutter:before{content:"";background:var(--border);pointer-events:none;width:1px;transition:background .15s,box-shadow .15s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.panes-gutter:after{content:"";background:var(--border);pointer-events:none;border-radius:999px;width:7px;height:56px;transition:background .15s,box-shadow .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.panes-gutter:hover:before,.panes--resizing .panes-gutter:before,.panes-gutter:focus-visible:before{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent)}.panes-gutter:hover:after,.panes--resizing .panes-gutter:after,.panes-gutter:focus-visible:after{background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.panes-gutter:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.learn{font-size:var(--learn-fs);padding:28px 32px;overflow-y:auto}.learn.learn--lesson,.learn.learn--scenario{flex-direction:column;min-height:0;padding:28px 0 28px 32px;display:flex;overflow:hidden}.learn.learn--lesson .lesson-scroll,.learn.learn--scenario .lesson-scroll{flex:1;min-height:0;padding-bottom:16px;overflow:hidden auto}.learn.learn--lesson .lesson-scroll-inner,.learn.learn--scenario .lesson-scroll-inner{min-width:0;max-width:100%;padding-right:32px}.badge{text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);background:var(--accent-dim);border-radius:12px;margin-bottom:14px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.learn-pill-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.learn-pill-row .badge{margin-bottom:0}.badge--nav-trigger{font-family:inherit;line-height:inherit;pointer-events:none;cursor:default;border:none}.badge-caret{display:none}.learn-pill-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.learn-pill-row .dashboard-share-menu{flex-shrink:0}.learn-font-control{position:relative}.font-size-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-lo);cursor:pointer;background:0 0;border-radius:6px;place-items:center;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:800;line-height:1;transition:border-color .15s,color .15s;display:grid}.font-size-btn:hover{border-color:var(--text-mid);color:var(--text-mid)}.learn-font-popover{z-index:60;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-overlay);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;display:flex;position:absolute;top:calc(100% + 6px);right:50%;transform:translate(50%)}.learn-font-step{border:1px solid var(--border);width:24px;height:24px;color:var(--text-mid);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;font-family:inherit;font-size:15px;font-weight:600;line-height:1;transition:border-color .15s,color .15s;display:flex}.learn-font-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.learn-font-step:disabled{opacity:.35;cursor:default}.learn-font-label{color:var(--text-hi);text-align:center;font-variant-numeric:tabular-nums;min-width:36px;font-size:11px;font-weight:600}.editor-font-control{position:relative}.editor-font-popover{z-index:60;background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-overlay);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.learn-pill-row .dashboard-share-panel{left:auto;right:0}.learn h2{margin-bottom:18px;font-family:Playfair Display,serif;font-size:1.857em;font-weight:700;line-height:1.25}.lesson-reading{margin-bottom:0}.lesson-task-band{z-index:4;border-top:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-task-band);flex-shrink:0;margin:0 0 -28px -32px;padding:18px 32px;position:relative}.lesson-task-band .task{margin-top:0}.lesson-hint-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;display:flex}.lesson-hint-actions .hint-btn,.lesson-hint-actions .sm-btn{margin-top:0}.lesson-task-band .hint-box{margin-top:8px}.lesson-details.lesson-resources-details{margin:18px 0 0}.lesson-resources-details>summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lesson-resources-details>summary:after{float:none;flex-shrink:0;align-self:center;margin-top:0}.lesson-resources-summary-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lesson-resources-summary-line{align-items:baseline;gap:8px;display:inline-flex}.lesson-resources-summary-sub{text-transform:none;letter-spacing:normal;line-height:1.45}.lesson-resources-body{background:var(--resources-body-bg)}.prose{color:var(--text-mid);min-width:0;max-width:100%;font-size:1em;line-height:1.8}.prose p{overflow-wrap:anywhere;margin-bottom:12px}.prose strong{color:var(--text-hi);font-weight:600}.prose code{background:var(--inline-code-bg);color:var(--purple);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:3px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:.893em}.prose pre{background:var(--bg-editor);border:1px solid var(--border);color:var(--text-hi);box-sizing:border-box;contain:inline-size;border-radius:8px;max-width:100%;margin:12px 0;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:.893em;line-height:1.65;overflow-x:auto}.code-sample{border:1px solid var(--border);background:var(--bg-editor);contain:inline-size;border-radius:8px;margin:12px 0;overflow:hidden}.code-sample-header{background:var(--bg-raised);border-bottom:1px solid var(--border);letter-spacing:.4px;text-transform:uppercase;color:var(--blue);align-items:center;gap:6px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:.75em;font-weight:600;display:flex}.code-sample-icon{flex-shrink:0}.code-sample pre.shiki{border:none;border-radius:0;margin:0;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:.893em;line-height:1.65;overflow-x:auto;background:var(--bg-editor)!important}.code-sample pre.shiki code{color:inherit;font-size:inherit;background:0 0;border:none;border-radius:0;padding:0}html:not([data-theme]) .shiki span,html[data-theme=dark] .shiki span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}html[data-theme=light] .shiki span{color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important}html[data-theme=light] .code-sample-header{color:var(--blue)}.prose h3{color:var(--text-hi);margin:20px 0 8px;font-size:1em;font-weight:700}.prose ul{margin-bottom:12px;padding-left:18px}.prose li{margin-bottom:5px;line-height:1.65}.prose-figure{background:var(--bg-editor);border:1px solid var(--border);text-align:center;border-radius:10px;margin:16px 0;padding:14px}.prose-figure img{border-radius:6px;max-width:100%;height:auto;margin:0 auto;display:block}.prose figcaption,.prose-figure figcaption{color:var(--figure-caption);text-align:left;margin-top:12px;font-size:.786em;font-weight:400;line-height:1.55}.prose-figure figcaption{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.lesson-details{border:1px solid var(--border);background:var(--bg-deep);border-radius:10px;margin:18px 0 0;padding:0;overflow:hidden}.lesson-details summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-dim);border-bottom:1px solid #0000;padding:12px 16px;font-size:.857em;font-weight:700;list-style:none;transition:background .12s}.lesson-details summary::-webkit-details-marker{display:none}.lesson-details summary:after{content:"▸";float:right;opacity:.92;font-size:1.28em;line-height:1}.lesson-details[open] summary{border-bottom-color:var(--border)}.lesson-details[open] summary:after{content:"▾"}.lesson-details summary:hover{filter:brightness(1.06)}.lesson-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lesson-details-body{padding:16px 18px 18px}.lesson-details-body img{cursor:zoom-in;transition:box-shadow .15s}.lesson-details-body img:hover{box-shadow:0 0 0 2px var(--accent-glow)}.lesson-details-body img:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.scenario-intro-body img{cursor:zoom-in;transition:box-shadow .15s}.scenario-intro-body img:hover{box-shadow:0 0 0 2px var(--accent-glow)}.scenario-intro-body img:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.why-matters-lightbox-overlay{z-index:120;background:var(--overlay-scrim);place-items:center;padding:24px 16px;display:none;position:fixed;inset:0;overflow-y:auto}.why-matters-lightbox-overlay.show{display:grid}.why-matters-lightbox{background:var(--bg-card);border:1px solid var(--border);width:min(920px,100%);max-height:min(92vh,900px);box-shadow:var(--shadow-overlay);font-size:var(--learn-fs);border-radius:12px;flex-direction:column;animation:.2s popIn;display:flex}.why-matters-lightbox-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.why-matters-lightbox-title{color:var(--text-hi);margin:0;font-size:1.071em;font-weight:700}.why-matters-lightbox-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.why-matters-lightbox-close{background:var(--accent);color:var(--on-accent-btn);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:8px 18px;font-family:inherit;font-size:.929em;font-weight:600;transition:filter .15s}.why-matters-lightbox-close:hover{filter:brightness(1.08)}.why-matters-lightbox-close:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.why-matters-lightbox-img-wrap{background:var(--bg-deep);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;max-height:min(58vh,520px);padding:16px 20px;display:flex;overflow:auto}.why-matters-lightbox-img{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:min(52vh,480px);display:block}.why-matters-lightbox-copy{flex:1;min-height:0;padding:18px 20px 22px;font-size:.929em;line-height:1.65;overflow-y:auto}.why-matters-lightbox-copy .lightbox-prose-figcaption{border-top:1px solid var(--border);color:var(--figure-caption);margin:14px 0 0;padding-top:12px;font-size:.786em;font-weight:400;line-height:1.55}.task{background:var(--accent-dim);box-sizing:border-box;border:1px solid #e8843c33;border-radius:10px;min-width:0;max-width:100%;margin-top:18px;padding:16px 18px}.task-label{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:6px;font-size:.714em;font-weight:700}.task p{color:var(--text-hi);overflow-wrap:anywhere;font-size:.929em;line-height:1.6}.task code{color:var(--accent);overflow-wrap:anywhere;background:#e8843c1a;border:none;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:.857em}.hint-btn,.sm-btn{border:1px solid var(--border);color:var(--text-mid);cursor:pointer;background:0 0;border-radius:5px;margin-top:12px;padding:6px 14px;font-family:inherit;font-size:.857em;transition:all .15s}.hint-btn:hover,.sm-btn:hover{border-color:var(--warn);color:var(--warn)}.sm-btn.danger:hover{border-color:var(--error);color:var(--error)}.hint-box{color:var(--warn);background:#f5c5420f;border:1px solid #f5c54226;border-radius:6px;margin-top:8px;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:.893em;line-height:1.6;display:none}.hint-box.show{display:block}.lesson-docs-icon{font-size:1em;line-height:1}.lesson-docs-sub{text-transform:none;letter-spacing:0;color:var(--text-lo);font-size:.786em;font-weight:500}.lesson-resources-details .lesson-resources-summary-sub.lesson-docs-sub{color:var(--lesson-resources-subtitle)}.lesson-docs-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lesson-docs-link{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-hi);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.929em;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.lesson-docs-link:hover{border-color:var(--blue);background:#5ea3f814}.lesson-docs-logo{object-fit:contain;object-position:left center;flex-shrink:0;width:auto;max-width:72px;height:22px}.lesson-docs-label{color:var(--text-mid);flex:1;font-family:JetBrains Mono,monospace;font-size:.857em}.lesson-docs-link:hover .lesson-docs-label{color:var(--text-hi)}.lesson-docs-external{color:var(--text-lo);flex-shrink:0;font-size:.786em}.icon-btn{border:1px solid var(--border);color:var(--text-lo);cursor:pointer;background:0 0;border-radius:5px;place-items:center;width:28px;height:28px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s;display:grid}.icon-btn:hover{border-color:var(--text-mid);color:var(--text-mid)}.icon-btn--active{border-color:var(--accent);color:var(--accent)}.code-pane{background:var(--bg-editor);border-left:1px solid var(--border);flex-direction:column;display:flex}.code-editor-split{flex:1;min-height:0;transition:none;display:grid}.code-split-top{flex-direction:column;min-height:0;display:flex;overflow:hidden}.output-split-gutter{cursor:row-resize;touch-action:none;z-index:6;background:0 0;flex-shrink:0;position:relative}.output-split-gutter:before{content:"";background:var(--border);pointer-events:none;height:1px;transition:background .15s,box-shadow .15s;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.output-split-gutter:after{content:"";background:var(--border);pointer-events:none;border-radius:999px;width:64px;height:7px;transition:background .15s,box-shadow .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.output-split-gutter:hover:before,.code-editor-split--dragging .output-split-gutter:before,.output-split-gutter:focus-visible:before{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent)}.output-split-gutter:hover:after,.code-editor-split--dragging .output-split-gutter:after,.output-split-gutter:focus-visible:after{background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.output-split-gutter:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.code-bar{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.code-bar-left{align-items:center;gap:8px;display:flex}.code-bar-right{align-items:center;gap:6px;display:flex}.code-bar .icon-btn{font-size:15px;font-weight:400;line-height:1}.file-tab{color:var(--text-mid);align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:11.5px;display:flex}.file-tab:before{content:"";background:var(--success);border-radius:50%;width:7px;height:7px}.run{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;align-items:center;gap:7px;padding:7px 18px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.run:hover{filter:brightness(1.12)}.run svg{width:12px;height:12px}.editor-wrap{flex:1;position:relative;overflow:hidden}textarea.editor{background:var(--bg-editor);width:100%;height:100%;color:var(--text-hi);resize:none;font-family:JetBrains Mono,monospace;font-size:var(--editor-fs);tab-size:4;border:none;outline:none;padding:18px;line-height:1.7}textarea.editor::placeholder{color:var(--text-lo)}.cm-editor-container{width:100%;height:100%}.cm-editor-container .cm-editor{height:100%}.cm-editor-container .cm-scroller{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.kb-hint{color:var(--text-mid);pointer-events:none;letter-spacing:.03em;opacity:.65;font-family:JetBrains Mono,monospace;font-size:13px;position:absolute;bottom:10px;right:14px}@media (max-width:768px){.kb-hint{display:none}}.result-bar{font-weight:600;font-size:var(--editor-fs);justify-content:center;align-items:center;gap:10px;padding:12px;animation:.25s slideIn;display:none}.result-bar.pass{background:var(--success-dim);color:var(--success);border-top:2px solid var(--success);display:flex}.result-bar.fail{background:var(--error-dim);color:var(--error);border-top:2px solid var(--error);display:flex}.next-btn{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:5px;margin-left:8px;padding:6px 16px;font-family:inherit;font-size:12px;font-weight:700}.next-btn:hover{filter:brightness(1.1)}.output{border-top:1px solid var(--border);background:var(--bg-deep);min-height:100px;max-height:250px;overflow-y:auto}.code-editor-split .output{border-top:none;flex-direction:column;min-height:0;max-height:none;display:flex;overflow:hidden}.code-editor-split .output-text{flex:1;min-height:0;overflow-y:auto}.output-label{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:1px;color:var(--text-lo);background:var(--output-label-bg);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 18px;font-size:10px;font-weight:700}.output-label:hover{color:var(--text-mid)}.output-text{font-family:JetBrains Mono,monospace;font-size:var(--editor-fs);white-space:pre-wrap;color:var(--text-mid);padding:14px 18px;line-height:1.6}.output-text.ok{color:var(--success)}.output-text.err{color:var(--error)}.dialog-overlay{background:var(--dialog-scrim);z-index:100;place-items:center;display:none;position:fixed;inset:0}.dialog-overlay.show{display:grid}.dialog{background:var(--bg-card);border:1px solid var(--border);width:90%;max-width:400px;box-shadow:var(--shadow-dialog);border-radius:12px;padding:28px 32px;animation:.2s popIn}.dialog h3{margin-bottom:10px;font-size:16px;font-weight:700}.dialog p{color:var(--text-mid);margin-bottom:22px;font-size:13px;line-height:1.6}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.dialog-cancel{border:1px solid var(--border);color:var(--text-mid);cursor:pointer;background:0 0;border-radius:6px;padding:8px 20px;font-family:inherit;font-size:13px;transition:all .15s}.dialog-cancel:hover{border-color:var(--text-mid);color:var(--text-hi)}.dialog-confirm{background:var(--error);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.dialog-confirm:hover{filter:brightness(1.1)}.toast{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-hi);opacity:0;z-index:200;pointer-events:none;border-radius:8px;padding:8px 18px;font-size:12px;font-weight:500;transition:all .3s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(60px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.done-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px;display:none}.done-screen.show{display:flex}.done-screen .trophy{margin-bottom:24px;font-size:72px}.done-screen h2{margin-bottom:12px;font-family:Playfair Display,serif;font-size:36px}.done-screen p{color:var(--text-mid);max-width:500px;font-size:16px;line-height:1.7}.quiz-container{max-width:800px;margin:0 auto;padding:32px;overflow-y:auto}.quiz-setup{text-align:center;padding:60px 32px}.quiz-setup h2{margin-bottom:12px;font-family:Playfair Display,serif;font-size:28px}.quiz-setup p{color:var(--text-mid);margin-bottom:24px;font-size:14px}.quiz-setup-history{text-align:left;margin-top:36px}.quiz-option-group{justify-content:center;gap:10px;margin-bottom:24px;display:flex}.quiz-option-btn{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-mid);cursor:pointer;border-radius:8px;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.quiz-option-btn:hover{border-color:var(--accent);color:var(--accent)}.quiz-option-btn.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.quiz-start-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-family:inherit;font-size:15px;font-weight:700;transition:all .15s}.quiz-start-btn:hover{filter:brightness(1.1)}.quiz-progress{color:var(--text-lo);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;font-size:12px;font-weight:600}.quiz-question{margin-bottom:24px}.quiz-question h3{margin-bottom:16px;font-size:16px;line-height:1.5}.quiz-question pre{background:var(--bg-editor);border:1px solid var(--border);color:var(--text-hi);border-radius:8px;margin:12px 0;padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.6}.quiz-choices{flex-direction:column;gap:8px;display:flex}.quiz-choice{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-mid);cursor:pointer;text-align:left;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:13px;transition:all .15s}.quiz-choice:hover{border-color:var(--accent);color:var(--text-hi)}.quiz-choice.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.quiz-choice.correct{border-color:var(--success);color:var(--success);background:var(--success-dim)}.quiz-choice.wrong{border-color:var(--error);color:var(--error);background:var(--error-dim)}.quiz-input{background:var(--bg-editor);border:1px solid var(--border);color:var(--text-hi);border-radius:8px;outline:none;width:100%;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:13px;transition:all .15s}.quiz-input:focus{border-color:var(--accent)}.quiz-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:16px;padding:10px 24px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.quiz-submit:hover{filter:brightness(1.1)}.quiz-feedback{border-radius:8px;margin-top:12px;padding:12px 16px;font-size:13px;line-height:1.6}.quiz-feedback.correct{background:var(--success-dim);color:var(--success);border:1px solid var(--success)}.quiz-feedback.wrong{background:var(--error-dim);color:var(--error);border:1px solid var(--error)}.quiz-feedback a{color:var(--accent);cursor:pointer;text-decoration:underline}.quiz-history-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:12px;padding:18px 22px;transition:all .15s}.quiz-history-card:hover{border-color:var(--accent)}.quiz-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.quiz-score{font-size:20px;font-weight:700}.quiz-score.good{color:var(--success)}.quiz-score.mid{color:var(--warn)}.quiz-score.bad{color:var(--error)}.quiz-date{color:var(--text-lo);font-size:11px}.quiz-history-detail{background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;margin-top:8px;overflow:hidden}.quiz-history-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.quiz-history-row:last-child{border-bottom:none}.quiz-history-row .indicator{flex-shrink:0;font-size:14px}.quiz-history-card--expanded{border-color:var(--accent)}.quiz-history-qtext{color:var(--text-hi);font-size:13px;line-height:1.55}.quiz-history-answers{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;display:flex}.quiz-history-line{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.quiz-history-line-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-lo);font-size:10px;font-weight:700}.quiz-history-line-value{word-break:break-word;font-size:13px;line-height:1.45}.quiz-history-line--yours .quiz-history-line-value{color:var(--error)}.quiz-history-line--correct .quiz-history-line-value{color:var(--success)}.quiz-history-lesson-link{align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:500;display:inline-flex}.quiz-results-review{flex-direction:column;gap:12px;display:flex}.quiz-history-row--standalone{border-bottom:none;border:1px solid var(--border);background:var(--bg-card);border-radius:10px;margin-bottom:0;padding:16px 18px}.lesson-link{color:var(--accent);cursor:pointer;font-size:11px;text-decoration:underline}.lesson-link:hover{color:var(--warn)}.lesson-link.quiz-history-lesson-link{font-size:12px;font-weight:500}.scenario-intro{background:linear-gradient(135deg, var(--accent-dim), #5ea3f814);border:1px solid #e8843c33;border-radius:10px;margin-bottom:20px;padding:18px 22px}.scenario-intro h4{text-transform:uppercase;letter-spacing:1px;color:var(--blue);margin-bottom:8px;font-size:.786em;font-weight:700}.scenario-intro-body{color:var(--text-mid);font-size:.929em;line-height:1.6}.scenario-intro-body p{margin-bottom:12px}.scenario-intro-body p:last-child{margin-bottom:0}.step-indicator{gap:6px;margin-bottom:16px;display:flex}.step-dot{border:2px solid var(--border);width:28px;height:28px;color:var(--text-lo);border-radius:50%;place-items:center;font-size:11px;font-weight:700;transition:all .2s;display:grid}.step-dot.active{border-color:var(--accent);color:var(--accent)}.step-dot.done{border-color:var(--success);background:var(--success);color:var(--bg-deep)}.scenario-step-title{margin-bottom:12px;font-size:1.143em}.scenario-related-lessons{color:var(--text-lo);margin-top:20px;font-size:.857em}.scenario-related-label{color:var(--text-mid)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.app--dashboard{grid-template-columns:1fr}.app--dashboard main{background:radial-gradient(ellipse 120% 80% at 50% -20%, var(--accent-glow), transparent 55%), var(--bg-deep);overflow-y:auto}.brand-btn{cursor:pointer;text-align:left;color:var(--text-hi);background:0 0;border:none;border-radius:6px;align-items:center;margin:0;padding:0;font-family:Playfair Display,serif;display:inline-flex}.brand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dashboard{max-width:1100px;margin:0 auto;padding:32px 28px 48px}.dashboard-hero{margin-bottom:40px}.dashboard-kicker{text-transform:uppercase;letter-spacing:1.4px;color:var(--accent);margin-bottom:10px;font-size:10px;font-weight:700}.dashboard-title{color:var(--text-hi);margin-bottom:14px;font-family:Playfair Display,serif;font-size:clamp(28px,4vw,38px);font-weight:700;line-height:1.2}.dashboard-lead{color:var(--text-mid);max-width:640px;margin-bottom:22px;font-size:15px;line-height:1.75}.dashboard-hero-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.dashboard-cta,.dashboard-share-trigger:not(.dashboard-share-trigger--compact){background:var(--accent);color:var(--on-accent-btn);cursor:pointer;border:none;border-radius:8px;padding:12px 26px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .15s}.dashboard-cta:hover,.dashboard-share-trigger:not(.dashboard-share-trigger--compact):hover{filter:brightness(1.1)}.dashboard-cta:focus-visible,.dashboard-share-trigger:not(.dashboard-share-trigger--compact):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.dashboard-hero-meta{color:var(--text-mid);font-size:13px;font-weight:500}.dashboard-callouts{flex-direction:column;gap:16px;margin-bottom:40px;display:flex}.dashboard-callout{border:1px solid var(--border);border-left-width:4px;border-left-color:var(--accent);background:var(--bg-card);box-shadow:var(--shadow-module-card);border-radius:12px;margin:0;padding:22px 24px}.dashboard-callout--author{border-left-color:var(--blue)}.dashboard-callout-title{color:var(--text-hi);margin:0 0 10px;font-size:15px;font-weight:700;line-height:1.35}.dashboard-callout-text{color:var(--text-mid);margin:0;font-size:14px;line-height:1.75}.dashboard-callout-text strong{color:var(--text-hi);font-weight:600}.dashboard-callout-text--follow,.dashboard-callout-share{margin-top:14px}.dashboard-share-menu{display:inline-block;position:relative}.dashboard-share-trigger--compact:hover{filter:none;border-color:var(--text-mid);color:var(--text-mid)}.dashboard-share-trigger--compact:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.dashboard-share-menu--header{z-index:60}.dashboard-share-menu--header .dashboard-share-panel{z-index:70;left:auto;right:0}.dashboard-share-panel{z-index:40;background:var(--bg-card);border:1px solid var(--border);min-width:200px;box-shadow:var(--shadow-dialog);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 6px);left:0}.dashboard-share-item{width:100%;font:inherit;color:var(--text-mid);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.dashboard-share-item:hover{background:var(--bg-raised);color:var(--text-hi)}.dashboard-share-item:focus-visible{outline:2px solid var(--blue);outline-offset:0}.dashboard-author-links{flex-wrap:wrap;gap:10px 20px;margin:14px 0 0;padding:0;list-style:none;display:flex}.dashboard-author-links a{color:var(--blue);align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-author-link-icon{object-fit:contain;flex-shrink:0;width:22px;height:22px;display:block}html:not([data-theme]) .dashboard-author-link-icon--github,html[data-theme=dark] .dashboard-author-link-icon--github{filter:invert()}.dashboard-author-links a:hover{text-decoration:underline}.dashboard-author-links a:hover .dashboard-author-link-icon{opacity:.92}.dashboard-author-links a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}.dashboard-section-title{color:var(--text-hi);margin-bottom:18px;font-family:Playfair Display,serif;font-size:20px;font-weight:700}.dashboard-path{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:44px;padding:24px 26px}.dashboard-path .dashboard-section-title{margin-bottom:8px}.dashboard-path-hint{color:var(--text-lo);margin-bottom:16px;font-size:12px;line-height:1.5}.path-steps{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.path-step{border-bottom:1px solid var(--border);margin:0;padding:0}.path-step:last-child{border-bottom:none}.path-step-btn{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:8px;grid-template-columns:auto 1fr;gap:16px;margin:0 -6px;padding:16px 6px;font-family:inherit;transition:background .12s;display:grid}.path-step-btn:hover{background:var(--bg-raised)}.path-step-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.path-step:first-child .path-step-btn{padding-top:4px}.path-step:last-child .path-step-btn{padding-bottom:4px}.path-step-num{background:var(--accent-dim);width:36px;height:36px;color:var(--accent);border:1px solid #e8843c33;border-radius:10px;flex-shrink:0;align-self:start;place-items:center;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;display:grid}.path-step-body strong{color:var(--text-hi);margin-bottom:6px;font-size:14px;display:block}.path-step-body p{color:var(--text-mid);margin:0;font-size:13px;line-height:1.65}.dashboard-lessons{margin-bottom:40px}.dashboard-panel-heading{align-items:center;gap:10px;display:flex}.dashboard-panel-toggle{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-mid);border-radius:8px;flex-shrink:0;place-items:center;padding:0;transition:border-color .15s,color .15s;display:grid}.dashboard-panel-toggle:hover{border-color:var(--accent);color:var(--accent)}.dashboard-panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-panel-toggle-chevron{font-size:10px;line-height:1}.dashboard-section-title--inline{margin-bottom:0}.dashboard-modules-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.dashboard-modules-head .dashboard-section-title{margin-bottom:0}.dashboard-scenarios{margin-bottom:8px}.dashboard-progress-pill{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:12px;padding:8px 14px;display:flex}.dashboard-progress-pill-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-lo);font-size:10px;font-weight:700}.dashboard-progress-pill-value{color:var(--text-hi);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.dashboard-progress-pill-pct{color:var(--success);margin-left:8px;font-size:12px;font-weight:600}.module-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.module-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:20px 20px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.module-card:hover{box-shadow:var(--shadow-module-card);border-color:#e8843c59}a.module-card.module-card--link{color:inherit;cursor:pointer}a.module-card.module-card--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.module-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.module-card-order{color:var(--text-lo);letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.module-card-count{text-transform:uppercase;letter-spacing:.06em;color:var(--text-lo);font-size:10px;font-weight:600}.module-card-title{color:var(--text-hi);margin-bottom:10px;font-family:Playfair Display,serif;font-size:17px;font-weight:700;line-height:1.3}.module-card-desc{color:var(--text-mid);flex:1;margin-bottom:16px;font-size:13px;line-height:1.6}.module-card-desc--footer{margin-bottom:0}.module-card-desc--clamp{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.module-card-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--text-lo);margin:-4px 0 8px;font-size:10px;font-weight:600}@media (max-width:768px){body{height:100dvh;max-height:none}.app{height:100dvh;min-height:0;max-height:none;overflow-x:hidden;grid-template-columns:1fr!important}.cm-editor-container .cm-editor{font-size:max(16px, var(--editor-fs))!important}.cm-editor-container .cm-scroller{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.625!important}.cm-editor-container .cm-content{text-rendering:geometricprecision}header{gap:8px;padding:0 12px}.header-left{flex:1;min-width:0}.brand-title{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.header-tools-desktop{display:none!important}.header-more{flex-shrink:0;display:block}nav{z-index:50;width:280px;box-shadow:var(--shadow-mobile-nav);position:fixed;top:56px;bottom:0;left:0;transform:translate(-100%)}nav.mobile-nav-animated{transition:transform .25s}nav.mobile-open{transform:translate(0)}.sidebar-placeholder{display:none!important}main{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto}.tab-bar{z-index:12;position:sticky;top:0}.mobile-breadcrumb{z-index:11;background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;gap:0;height:36px;padding:0;display:flex;position:sticky;top:39px}.mobile-breadcrumb-arrow{width:36px;height:36px;color:var(--text-mid);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;font-family:inherit;font-size:20px;font-weight:600;line-height:1;transition:color .12s;display:grid}.mobile-breadcrumb-arrow:hover:not(:disabled){color:var(--accent)}.mobile-breadcrumb-arrow:disabled{color:var(--text-lo);opacity:.35;cursor:default}.mobile-breadcrumb-center{cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:0 4px;font-family:inherit;transition:color .12s;display:flex}.mobile-breadcrumb-center:active{opacity:.7}.mobile-breadcrumb-pos{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);flex-shrink:0;font-size:10px;font-weight:700}.mobile-breadcrumb-title{color:var(--text-hi);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.panes:not(.panes--mobile-code-expanded){flex:none;min-height:0;overflow:visible;grid-template-rows:auto auto!important;grid-template-columns:1fr!important}.panes.panes--mobile-code-expanded{flex:auto;min-height:0;overflow:hidden;grid-template-rows:0fr 1fr!important;grid-template-columns:1fr!important}.panes>.panes-learn{min-width:0;min-height:auto;overflow:visible}.panes>.code-pane{min-height:min(280px,52svh)}.panes.panes--mobile-code-expanded>.code-pane{min-height:0}.panes-learn>.learn{flex:0 auto;min-height:auto}.panes--resizable>.code-pane{border-left:none}.learn:not(.learn--lesson):not(.learn--scenario){overflow:hidden visible}.learn.learn--lesson,.learn.learn--scenario{flex-direction:column;padding:20px 0 20px 16px;display:flex;overflow:hidden visible}.learn.learn--lesson .lesson-scroll,.learn.learn--scenario .lesson-scroll{flex-direction:column;flex:0 auto;min-height:0;padding-bottom:12px;display:flex;overflow:visible}.learn.learn--lesson .lesson-scroll-inner,.learn.learn--scenario .lesson-scroll-inner{flex:0 auto;padding-right:16px;overflow:hidden visible}.lesson-task-band{border-top:1px solid var(--border);flex-shrink:0;margin-top:0;margin-bottom:-20px;margin-left:-16px;padding:16px 16px 20px}.code-pane{border-top:1px solid var(--border);border-left:none!important}.panes.panes--mobile-code-expanded>.panes-learn{visibility:hidden;pointer-events:none;min-height:0;overflow:hidden}.panes.panes--mobile-code-expanded>.code-pane{border-top:none}.meter-track{width:80px}.tab-btn{padding:10px 14px;font-size:12px}.badge--nav-trigger{pointer-events:auto;cursor:pointer;align-items:center;gap:3px;padding-right:7px;display:inline-flex}.badge-caret{color:var(--accent);font-size:10px;line-height:1;display:block;transform:translateY(-.5px)}.mobile-nav-backdrop{z-index:49;background:#00000073;animation:.2s fade-in-backdrop;position:fixed;inset:0}@keyframes fade-in-backdrop{0%{opacity:0}to{opacity:1}}.quiz-container{padding:20px 16px 40px}.quiz-setup{padding:20px 0 32px}.quiz-setup-history{margin-top:28px}.quiz-history-card{margin-bottom:14px;padding:18px 16px}.quiz-history-header{gap:6px 10px}.quiz-history-detail{border-radius:10px;margin-top:14px}.quiz-history-row{gap:12px;padding:16px 14px}.quiz-history-row--standalone{padding:16px 14px}.quiz-score{font-size:18px}}.error-boundary{text-align:center;min-height:50vh;color:var(--text-hi);background:var(--bg-deep);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.25rem;display:flex}.error-boundary h2{margin:0;font-size:1.25rem;font-weight:600}.error-boundary p{max-width:28rem;color:var(--text-mid);margin:0;font-size:.95rem}.error-boundary button{color:var(--on-accent-btn);background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600}.error-boundary button:hover{filter:brightness(1.06)}
.header-more-trigger.hamburger{cursor:pointer;font:inherit;text-transform:none;margin:0;transition-property:opacity,filter,border-color,color,background;transition-duration:.15s;transition-timing-function:linear;overflow:visible}.header-more-trigger.hamburger:hover,.header-more[open] .header-more-trigger.hamburger:hover{opacity:.7}.header-more-trigger.hamburger .hamburger-box{--hamburger-scale:.52;width:40px;height:24px;transform:scale(var(--hamburger-scale));transform-origin:50%;margin:calc(-12px * (1 - var(--hamburger-scale))) calc(-20px * (1 - var(--hamburger-scale)));flex-shrink:0;display:block;position:relative}.header-more-trigger.hamburger .hamburger-inner{margin-top:-2px;display:block;top:50%}.header-more-trigger.hamburger .hamburger-inner,.header-more-trigger.hamburger .hamburger-inner:before,.header-more-trigger.hamburger .hamburger-inner:after{background-color:currentColor;border-radius:4px;width:40px;height:4px;transition-property:transform,opacity;transition-duration:.15s;transition-timing-function:ease;position:absolute}.header-more-trigger.hamburger .hamburger-inner:before,.header-more-trigger.hamburger .hamburger-inner:after{content:"";display:block}.header-more-trigger.hamburger .hamburger-inner:before{top:-10px}.header-more-trigger.hamburger .hamburger-inner:after{bottom:-10px}.header-more-trigger.hamburger--elastic .hamburger-inner{transition-duration:.275s;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55);top:2px}.header-more-trigger.hamburger--elastic .hamburger-inner:before{transition:opacity .125s .275s;top:10px}.header-more-trigger.hamburger--elastic .hamburger-inner:after{transition:transform .275s cubic-bezier(.68,-.55,.265,1.55);top:20px}.header-more[open] .header-more-trigger.hamburger--elastic .hamburger-inner{transition-delay:75ms;transform:translateY(10px)rotate(135deg)}.header-more[open] .header-more-trigger.hamburger--elastic .hamburger-inner:before{opacity:0;transition-delay:0s}.header-more[open] .header-more-trigger.hamburger--elastic .hamburger-inner:after{transition-delay:75ms;transform:translateY(-20px)rotate(-270deg)}
