:root{--bg:#141210;--surface:rgba(var(--tint-rgb), .06);--surface-hover:rgba(var(--tint-rgb), .1);--border:rgba(var(--tint-rgb), .08);--border-light:rgba(var(--tint-rgb), .06);--text-primary:#f0ede6;--text-secondary:#b8b2a6;--text-muted:#8a8478;--text-faint:#6a6458;--accent:#e8553a;--accent-strong:#d04a32;--accent-rgb:232, 85, 58;--accent-bg:rgba(var(--accent-rgb), .08);--accent-border:rgba(var(--accent-rgb), .2);--complete:#45b69c;--success:#45b69c;--success-bg:#45b69c1a;--success-border:#45b69c4d;--error:#dc3c3c;--error-bg:#dc3c3c14;--error-border:#dc3c3c40;--analogy-color:#8338ec;--analogy-bg:#8338ec0f;--analogy-border:#8338ec26;--top-bar-bg:#141210f2;--tint-rgb:255, 255, 255;--diagram-bg:#232120;--diagram-border:#2a2826;--widget-bg:#ffffff17;--honey-rgb:255, 213, 79;--font-serif:var(--font-instrument-serif), Georgia, serif;--font-sans:var(--font-dm-sans), sans-serif;--font-mono:var(--font-jetbrains-mono), "Fira Code", monospace}:root[data-theme=light]{--tint-rgb:15, 40, 66;--bg:#f0f2f5;--surface:#fff;--surface-hover:#f1f5fa;--border:rgba(var(--tint-rgb), .1);--border-light:rgba(var(--tint-rgb), .06);--text-primary:#0d2540;--text-secondary:#2f4766;--text-muted:#647488;--text-faint:#9ba8b9;--accent:#1d8bdb;--accent-strong:#1570b4;--accent-rgb:29, 139, 219;--accent-bg:rgba(var(--accent-rgb), .12);--accent-border:rgba(var(--accent-rgb), .38);--honey:#ff9f1c;--honey-strong:#e88710;--success:#2d79b5;--success-bg:#2d79b51f;--success-border:#2d79b552;--complete:#1f9d55;--error:#d9434d;--error-bg:#d9434d1a;--error-border:#d9434d47;--analogy-color:#7b3fb8;--analogy-bg:#7b3fb81a;--analogy-border:#7b3fb842;--top-bar-bg:#fafafae0;--card-raise:0 1px 2px #0f28420f, 0 10px 28px #0f28421a;--insight-text:#4a3824;--diagram-bg:#fff;--diagram-border:#0f284224;--widget-bg:#f7f8fa;--honey-rgb:201, 122, 21}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none}body::-webkit-scrollbar{display:none}.course-page{flex-direction:column;min-height:100vh;display:flex}.course-page--with-top-bar{padding-top:52px}.course-page--with-content-header{padding-top:64px}.app-top-bar{background:var(--top-bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:100;flex-shrink:0;align-items:center;padding:0 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.top-bar-row{align-items:center;display:flex}.top-bar-row-main{flex:1;gap:.875rem;width:100%;min-width:0;max-width:845px;height:52px;margin:0 auto}.main-app-link{border-radius:8px;align-items:center;padding:.4rem;text-decoration:none;transition:background-color .2s;display:flex}.main-app-link:hover{background-color:rgba(var(--tint-rgb), .06)}.main-app-link i{font-size:1.1rem}.main-app-link .home-icon-default{color:var(--text-faint);display:block}.main-app-link .home-icon-hover{color:var(--accent);display:none}.main-app-link:hover .home-icon-default{display:none}.main-app-link:hover .home-icon-hover{display:block}.top-bar-separator{background:var(--border);width:1px;height:18px}.top-bar-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:.5rem;min-width:0;font-size:1rem;font-weight:600;display:flex;overflow:hidden}.top-bar-title-button{text-align:left;cursor:pointer;background:0 0;border:none;flex:0 auto;padding:0;font-family:inherit;transition:color .15s}.top-bar-title-button:hover{color:var(--accent)}.ucourse-logo{font-family:var(--font-jetbrains-mono), "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color:var(--accent);letter-spacing:-.02em;font-size:1.15rem;font-style:normal;font-weight:600;line-height:1}.top-bar-title .top-bar-percent{color:var(--text-faint);flex-shrink:0;font-size:.75rem;font-weight:500;display:none}.top-bar-progress{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:none;position:relative}.progress-circle{display:block;position:absolute;top:0;left:0}.top-bar-progress .top-bar-percent{color:var(--text-primary);font-size:.6rem;font-weight:700}.degraded-badge{color:#f59e0b;cursor:pointer;white-space:nowrap;background:#f59e0b1f;border:none;border-radius:99px;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:.65rem;font-weight:600;animation:3s ease-in-out infinite degraded-pulse;display:flex}.degraded-badge:hover{background:#f59e0b38}.degraded-badge i{font-size:.6rem}@keyframes degraded-pulse{0%,to{opacity:1}50%{opacity:.7}}.action-button{border:1px solid var(--border);color:var(--text-faint);cursor:pointer;font-size:14px;font-family:var(--font-sans);background:0 0;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;transition:all .2s;display:flex}.action-button .btn-label{font-size:.7rem;font-weight:600}.action-button:hover{color:var(--text-primary);border-color:rgba(var(--tint-rgb), .15);background:rgba(var(--tint-rgb), .04)}.action-button .action-icon-hover{display:none}.action-button.offline-saved{color:var(--success);border-color:#45b69c33}.course-header{background:var(--top-bar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:100;padding:14px 24px;position:fixed;top:0;left:0;right:0}.course-header-inner{align-items:center;gap:16px;max-width:680px;margin:0 auto;display:flex}.back-button{color:var(--text-muted);cursor:pointer;font-size:14px;font-family:var(--font-sans);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;display:flex}.back-button:hover{color:var(--text-primary)}.progress-bar-container{flex:1}.progress-bar{background:rgba(var(--tint-rgb), .1);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-bar.mini{margin-top:10px}.progress-fill{border-radius:2px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-count{color:var(--text-faint);white-space:nowrap;font-size:12px;font-weight:500}.course-container{flex:1}.course-content{max-width:680px;margin:0 auto;padding:48px 24px}.course-intro{margin-bottom:48px}.course-intro-inner{flex-direction:column;gap:0;display:flex}.course-intro-top{align-items:flex-start;gap:2rem;display:flex}.course-intro-text{flex:1;min-width:0}.hero-ring{flex-shrink:0;justify-content:center;align-items:center;margin-top:.5rem;display:flex;position:relative}.hero-ring-svg{display:block}.hero-ring-label{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.hero-ring-icon{line-height:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s}.hero-ring-icon-complete{animation:.7s ease-out forwards starSpin,2.5s ease-in-out .7s infinite starPulse}@keyframes starSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes starPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.hero-ring-percent{font-family:var(--font-sans);color:var(--text-primary);font-size:1.35rem;font-weight:700;line-height:1}.hero-ring-percent small{color:var(--text-muted);margin-left:1px;font-size:.75rem;font-weight:600}.course-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:12px;font-weight:700}.course-title{font-family:var(--font-serif);color:var(--text-primary);margin:0 0 16px;font-size:clamp(36px,6vw,52px);font-weight:400;line-height:1.1}.continue-cta{background:rgba(var(--accent-rgb), .1);border:1px solid rgba(var(--accent-rgb), .25);color:var(--accent);font-family:var(--font-sans);cursor:pointer;border-radius:6px;align-items:center;gap:5px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.continue-cta i{font-size:9px}.continue-cta:hover{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .35)}.course-subtitle{color:var(--text-muted);max-width:480px;margin:0;font-size:16px;line-height:1.6}.course-stats{color:var(--text-faint);align-items:center;gap:20px;margin-top:20px;font-size:13px;display:flex}.stats-actions{gap:8px;margin-left:auto;display:flex}.action-button.offline-saved .action-icon-hover,.action-button.offline-saved:hover .action-icon-default{display:none}.action-button.offline-saved:hover .action-icon-hover{display:inline}.action-button.offline-saved:hover{color:var(--error);border-color:var(--error-border);background:var(--error-bg)}.action-button.offline-saved:hover .btn-label{font-size:0}.action-button.offline-saved:hover .btn-label:after{content:"Remove";font-size:.7rem}.module-list{gap:12px;display:grid}.module-card{background:var(--surface);border:1px solid var(--border-light);text-align:left;cursor:pointer;width:100%;font-family:var(--font-sans);color:var(--text-primary);border-radius:14px;padding:22px 24px;transition:all .25s;position:relative;overflow:hidden}.module-card:hover:not(.locked){background:var(--surface-hover)}.module-card.complete{border-color:var(--success-border,#45b69c33);background:var(--surface)}.module-card.continue-target{border-color:var(--accent-border)}.module-card.locked{opacity:.4;cursor:default}.module-card-inner{align-items:center;gap:16px;display:flex}.module-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.module-info{flex:1;min-width:0}.module-meta{align-items:center;gap:10px;margin-bottom:4px;display:flex}.module-number{color:var(--text-faint);letter-spacing:.04em;font-size:11px;font-weight:600}.module-status{color:var(--complete);font-size:11px;font-weight:600}.module-title{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:3px;font-size:20px}.module-subtitle{color:#7a7468;font-size:13px}.module-time{color:#5a5448}.module-arrow{color:var(--text-muted);flex-shrink:0;font-size:18px}.module-card.locked .module-arrow{color:var(--text-faint);transition:color .18s}.module-card.locked.is-shaking .module-arrow{color:var(--accent)}.completion-row{border:1px solid var(--border);background:var(--card);border-radius:16px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.completion-celebrate{text-align:center;border-right:1px solid var(--border);flex-direction:column;flex:none;justify-content:center;align-items:center;width:120px;padding:28px 20px;display:flex}.celebrate-star{color:var(--honey);margin-bottom:8px;font-size:24px}.celebrate-title{color:var(--honey);font-size:15px;font-weight:600;line-height:1.5}.completion-deeper{border-right:1px solid var(--border)}.completion-deeper .course-deeper-actions{margin-top:8px}.completion-deeper .course-deeper-hint{text-align:left}.next-course-card{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:flex-start;padding:20px 24px;text-decoration:none;transition:background .2s;display:flex}.next-course-card:hover{background:rgba(var(--tint-rgb), .03)}.next-course-eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);align-items:center;gap:6px;margin-bottom:10px;font-size:.6rem;font-weight:600;display:flex}.next-course-main{align-items:flex-start;gap:14px;display:flex}.next-course-icon{color:var(--accent);text-align:center;flex-shrink:0;width:32px;padding-top:2px;font-size:20px}.next-course-info{flex:1;min-width:0}.next-course-name{color:var(--text-primary);margin-bottom:3px;font-size:14px;font-weight:600}.next-course-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.next-course-meta{color:var(--text-faint);align-items:center;gap:10px;margin-top:6px;font-size:.6rem;display:flex}.next-course-stack{align-items:center;gap:4px;display:flex}.completion-row.is-complete>.completion-deeper{flex:4}.completion-row.is-complete>.next-course-card:last-child{flex:5}.completion-row:not(.is-complete)>.next-course-card{flex:1}.completion-row:not(.is-complete){margin-top:12px;margin-bottom:0}.all-done-card .next-course-eyebrow{color:var(--honey)}@media (max-width:600px){.completion-row{flex-direction:column}.completion-celebrate{border-right:none;border-bottom:1px solid var(--border);width:auto;padding:20px}.completion-deeper{border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.next-course-card{padding:18px 20px}}.section-header{margin-bottom:28px}.section-module-label{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.section-module-title{font-family:var(--font-serif);color:var(--text-primary);margin:8px 0 0;font-size:32px}.course-page .card{margin-bottom:20px}.course-page .card-body{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:32px 28px}.course-page .card-title{font-family:var(--font-serif);color:var(--text-primary);margin:0 0 20px;font-size:26px;line-height:1.3}.card-text{font-family:var(--font-sans);color:var(--text-secondary);font-size:15.5px;line-height:1.75}.card-text .text-highlight{color:var(--text-primary);font-weight:600}.card-text p,.insight-text p,.reference-insight-text p{margin:0 0 12px}.card-text p:last-child,.insight-text p:last-child,.reference-insight-text p:last-child{margin-bottom:0}.card-text strong,.insight-text strong,.reference-insight-text strong{color:var(--text-primary);font-weight:600}.card-text code,.insight-text code,.reference-insight-text code{font-family:var(--font-jetbrains-mono), monospace;background:rgba(var(--tint-rgb), .06);border:1px solid rgba(var(--tint-rgb), .08);border-radius:4px;padding:2px 6px;font-size:.88em}.card-text pre,.insight-text pre,.reference-insight-text pre{background:var(--widget-bg);border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:14px 16px;overflow-x:auto}.card-text pre code,.insight-text pre code,.reference-insight-text pre code{background:0 0;border:none;padding:0;font-size:13px;line-height:1.6}.card-text ul,.card-text ol,.insight-text ul,.insight-text ol,.reference-insight-text ul,.reference-insight-text ol{margin:8px 0;padding-left:20px}.card-text li,.insight-text li,.reference-insight-text li{margin-bottom:4px}.card-text blockquote,.insight-text blockquote,.reference-insight-text blockquote{border-left:3px solid var(--accent);color:var(--text-muted);background:rgba(var(--tint-rgb), .02);border-radius:0 6px 6px 0;margin:12px 0;padding:8px 16px}.card-text table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.card-text th,.card-text td{border:1px solid var(--border);text-align:left;padding:8px 12px}.card-text th{background:rgba(var(--tint-rgb), .04);color:var(--text-primary);font-weight:600}.card-text a{color:var(--accent);text-decoration:none}.card-text a:hover{text-decoration:underline}.analogy-body{background:linear-gradient(135deg, var(--analogy-bg), #8338ec05);border-color:var(--analogy-border)}.analogy-badge{color:#b388ff;letter-spacing:.06em;background:#8338ec26;border-radius:8px;margin-bottom:16px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.analogy-body .text-highlight{color:#d4c8ff}.key-insight{background:linear-gradient(135deg, var(--accent-bg), rgba(var(--accent-rgb), .03));border:1px solid var(--accent-border);border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:20px;padding:18px 22px;display:flex}.insight-icon{flex-shrink:0;margin-top:1px;font-size:18px}.insight-text{font-family:var(--font-sans);color:var(--insight-text,#e8cdb8);margin:0;font-size:14.5px;font-style:italic;line-height:1.65}.example-grid{gap:16px;margin-bottom:20px;display:grid}.example-box{border-radius:14px;padding:22px 24px;overflow:hidden}.example-box.bad{background:var(--error-bg);border:1px solid var(--error-border)}.example-box.good{background:var(--success-bg);border:1px solid var(--success-border)}.example-label{font-family:var(--font-sans);letter-spacing:.03em;margin-bottom:12px;font-size:13px;font-weight:700}.bad-label{color:var(--error)}.good-label{color:var(--success)}.example-code{font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12.5px;line-height:1.7}.good-code{color:var(--text-secondary)}.practice-badge{background:rgba(var(--accent-rgb), .12);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;border-radius:8px;margin-bottom:16px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-block}.practice-question{margin-bottom:22px;font-size:24px;line-height:1.4}.options-grid{gap:10px;margin-bottom:20px;display:grid}.option-button{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;font-family:var(--font-sans);color:var(--text-primary);border-radius:12px;width:100%;padding:16px 20px;font-size:14.5px;line-height:1.5;transition:all .2s}.option-button:hover:not(.correct):not(.incorrect):not(.correct-hint){background:rgba(var(--tint-rgb), .06)}.option-letter{opacity:.4;margin-right:10px;font-size:13px}.option-explanation{margin-top:12px;padding-top:12px;font-size:13.5px;line-height:1.6;display:none}.option-explanation.show{display:block}.option-button.correct{background:var(--success-bg);border-color:var(--success-border);color:var(--text-primary);cursor:default}.option-button.correct .option-explanation{border-top:1px solid var(--success-border);color:var(--text-secondary)}.option-button.incorrect{background:var(--error-bg);border-color:var(--error-border);color:var(--text-primary);cursor:default}.option-button.incorrect .option-explanation{border-top:1px solid var(--error-border);color:var(--text-secondary)}.option-button.correct-hint{background:var(--success-bg);border-color:var(--success-border);cursor:default}.revealed .option-button{cursor:default}.top-bar-stack{color:var(--text-faint);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:.4rem 10px;font-size:.8rem;font-weight:500;transition:color .15s,background .15s;display:flex}.top-bar-stack:hover{color:var(--accent);background-color:rgba(var(--tint-rgb), .06)}@media (max-width:600px){.top-bar-stack-name{font-size:.7rem}}.stack-landing{flex-direction:column;gap:28px;display:flex}.stack-landing-hero{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.stack-landing-hero-text{flex:1;min-width:0}.stack-landing-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);align-items:center;gap:6px;margin-bottom:8px;font-size:.65rem;font-weight:600;display:flex}.stack-landing-title{font-family:var(--font-serif);color:var(--text-primary);margin:0 0 10px;font-size:clamp(28px,5vw,40px);font-weight:400;line-height:1.15}.stack-landing-desc{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.6}.stack-landing-stats{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.75rem;display:flex}.stack-landing-badge{color:var(--honey);background:#ffc1071f;border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.stack-landing-ring{flex-shrink:0;width:100px;height:100px;position:relative}.stack-landing-ring svg{display:block}.stack-ring-fill{transition:stroke-dashoffset .8s cubic-bezier(.34,1.56,.64,1)}.stack-landing-ring-icon{width:100%;height:100%;color:var(--accent);justify-content:center;align-items:center;font-size:28px;display:flex;position:absolute;top:0;left:0}.stack-landing-celebrate{color:var(--honey);background:#ffc1070f;border:1px solid #ffc1071f;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.stack-landing-celebrate i{font-size:16px}.stack-landing-courses{gap:10px;display:grid}.stack-landing-course{color:inherit;border:1px solid var(--border-light);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:16px 20px;text-decoration:none;transition:all .2s;display:flex}.stack-landing-course:hover{background:var(--surface);border-color:var(--accent-border);box-shadow:var(--card-raise,0 4px 16px #0003);transform:translateY(-1px)}.stack-landing-course.is-current{border-color:var(--accent);background:rgba(var(--accent-rgb), .05)}.stack-landing-course.is-complete{border-color:#ffc10726}.stack-landing-course.is-current.is-complete{background:#ffc1070a;border-color:#ffc10740}.slc-number{width:22px;height:22px;color:var(--text-faint);background:rgba(var(--tint-rgb), .04);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.stack-landing-course.is-complete .slc-number{color:var(--honey);background:#ffc1071a}.slc-inline-icon{color:var(--accent);margin-right:2px;font-size:12px}.stack-landing-course.is-complete .slc-inline-icon{color:var(--honey)}.slc-mastery-star{color:var(--honey);margin-left:4px;font-size:11px}.slc-info{flex:1;min-width:0}.slc-name{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.stack-landing-course.is-complete .slc-name{color:var(--honey)}.slc-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.slc-actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.slc-actions .action-button{padding:3px 8px;font-size:.7rem}.slc-duration{color:var(--text-faint);margin-left:6px;font-size:.7rem;font-weight:500}.stack-landing-back{font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--text-secondary);background:rgba(var(--tint-rgb), .04);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-self:flex-start;align-items:center;gap:8px;padding:10px 18px;transition:all .15s;display:inline-flex}.stack-landing-back:hover{background:rgba(var(--tint-rgb), .08);color:var(--text-primary)}@media (max-width:600px){.stack-landing-hero{text-align:center;flex-direction:column-reverse;align-items:center}.stack-landing-stats{justify-content:center}.stack-landing-course{gap:10px;padding:14px 16px}.slc-desc,.slc-number,.slc-actions .btn-label{display:none}}.references-entry{margin-top:0}.references-entry-button{text-align:left;cursor:pointer;width:100%;font-family:var(--font-sans);color:var(--text-primary);background:0 0;border:none;border-radius:14px;padding:16px 20px;transition:background .15s}.references-entry-button:hover{background:rgba(var(--tint-rgb), .03)}.references-entry .module-icon{color:#4da6ff}.references-entry-inner{justify-content:center;align-items:center;gap:16px;display:flex}.references-intro{color:var(--text-muted);margin-top:12px;font-size:14px;line-height:1.6}.references-grid{gap:14px;display:grid}.reference-card{background:var(--surface);border:1px solid var(--border);color:inherit;cursor:pointer;border-radius:14px;padding:24px;text-decoration:none;transition:all .25s;display:block}.reference-card:hover{background:var(--surface-hover);border-color:rgba(var(--tint-rgb), .14);transform:translateY(-2px)}.reference-card-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.reference-icon{color:var(--text-faint);font-size:12px}.reference-domain{color:var(--text-faint);font-size:12px;font-weight:500}.reference-title{font-family:var(--font-serif);color:var(--text-primary);margin:0 0 10px;font-size:20px;line-height:1.3}.reference-card:hover .reference-title{color:#fff}.reference-description{color:var(--text-secondary);margin:0 0 16px;font-size:14px;line-height:1.6}.reference-purpose{border-top:1px solid var(--border-light);align-items:baseline;gap:8px;margin-top:4px;padding-top:12px;display:flex}.reference-purpose-label{color:var(--text-faint);flex-shrink:0;font-size:12px}.reference-purpose-text{color:var(--text-muted);font-size:12px;font-style:italic;line-height:1.5}.reference-card[data-ref]{font-family:var(--font-sans);color:inherit;cursor:pointer}.reference-insights{margin-bottom:24px}.reference-insights-title{font-family:var(--font-serif);color:var(--text-primary);align-items:center;gap:10px;margin:0 0 18px;font-size:22px;display:flex}.reference-insights-title i{color:var(--accent);font-size:18px}.reference-insights-list{gap:12px;display:grid}.reference-insight-item{background:linear-gradient(135deg, var(--accent-bg), rgba(var(--accent-rgb), .03));border:1px solid var(--accent-border);border-radius:12px;align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.reference-insight-bullet{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px}.reference-insight-text{font-family:var(--font-sans);color:var(--insight-text,#e8cdb8);margin:0;font-size:14.5px;line-height:1.65}.reference-insight-text .text-highlight{color:var(--text-primary);font-weight:600}.read-source-button{background:linear-gradient(135deg, rgba(var(--accent-rgb), .12), rgba(var(--accent-rgb), .06));border:1px solid rgba(var(--accent-rgb), .25);color:var(--accent);font-family:var(--font-sans);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:14px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.read-source-button:hover{background:linear-gradient(135deg, rgba(var(--accent-rgb), .18), rgba(var(--accent-rgb), .1));border-color:rgba(var(--accent-rgb), .35);transform:translateY(-1px)}.read-source-button i{font-size:13px}.continue-button,.next-button{background:rgba(var(--tint-rgb), .06);border:1px solid rgba(var(--tint-rgb), .12);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px 28px;font-size:14px;transition:all .2s;display:flex}.continue-button:hover,.next-button:hover{background:rgba(var(--tint-rgb), .1)}.next-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;border:none;font-weight:600}.next-button:hover{background:linear-gradient(135deg, var(--accent), var(--accent-strong));transform:translateY(-1px)}.section-nav{border-top:1px solid rgba(var(--tint-rgb), .06);flex-direction:column;align-items:center;gap:6px;margin-top:20px;padding-top:16px;display:flex}.section-nav-btn{font-size:13px;font-family:var(--font-sans);color:var(--text-secondary);background:rgba(var(--tint-rgb), .04);border:1px solid rgba(var(--tint-rgb), .08);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 16px;font-weight:500;transition:background .15s,color .15s;display:flex}.section-nav-btn:hover:not(:disabled){background:rgba(var(--tint-rgb), .08);color:var(--text-primary)}.section-nav-btn:disabled{opacity:.2;cursor:default}.section-nav-prev{padding:8px 12px}.section-nav-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.section-nav-center{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.section-nav-center-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-right:4px;font-size:9px;font-weight:600}.section-nav-widget{cursor:pointer;color:#4a463e;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;transition:color .15s;display:flex}.section-nav-widget:hover{color:#4da6ff}.section-nav-hint{font-size:11px;font-family:var(--font-sans);color:var(--text-faint);text-align:center;width:100%;height:16px}.course-extras{flex-direction:column;gap:8px;margin-top:16px;display:flex}.course-deeper{background:0 0;border:none;border-radius:14px;padding:16px 20px;transition:background .15s}.course-deeper:hover{background:rgba(var(--tint-rgb), .03)}.course-deeper-actions{gap:2px;display:flex}.course-deeper-btn{cursor:pointer;color:#4a463e;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;transition:color .15s;display:flex}.course-deeper-btn:hover{color:#4da6ff}.course-deeper-hint{font-size:10px;font-family:var(--font-sans);color:var(--text-faint);text-align:right;white-space:nowrap;height:14px}.hidden{display:none!important}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-slide-in{animation:.4s ease-out both fadeSlideIn}@media (max-width:768px){.course-content{padding:32px 16px}.card-body{padding:24px 20px}.course-title{font-size:36px}.section-module-title{font-size:26px}.app-top-bar{padding:0 1rem}.course-label,.course-title,.top-bar-title .top-bar-percent{display:none}.top-bar-progress{display:flex}.action-button .btn-label,.hero-ring{display:none}}@keyframes kbd-shake{0%,to{transform:translate(0,0)}15%{transform:translate(-3px)}30%{transform:translate(3px)}45%{transform:translate(-2px)}60%{transform:translate(2px)}75%{transform:translate(-1px)}90%{transform:translate(1px)}}.module-card.kbd-shake,.completion-row.kbd-shake,.completion-hero.kbd-shake{animation:.22s ease-in-out kbd-shake}.modules-divider{align-items:center;gap:20px;margin:28px 0;display:flex}.stack-landing .modules-divider{margin:12px 0}.stack-landing .completion-hero{margin-bottom:0}.modules-divider-text{text-align:center;flex:none}.modules-divider-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);font-size:.7rem;font-weight:600}.modules-divider-sub{color:var(--text-muted,var(--text-secondary));opacity:.85;margin-top:3px;font-size:12px}.modules-divider-line{background-image:linear-gradient(to right, rgba(var(--tint-rgb), .26) 0, rgba(var(--tint-rgb), .26) 10px, transparent 10px, transparent 16px);background-position:50%;background-repeat:repeat-x;background-size:16px 1.5px;flex:1;height:1.5px}.completion-hero{background:linear-gradient(135deg,#b88a421a 0%,#c9a77b14 100%);border:1px solid #b88a4252;border-radius:14px;align-items:center;gap:22px;margin:28px 0;padding:24px 28px;display:flex}.completion-hero-seal{color:#b88a42;background:#b88a422e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:30px;display:flex}.completion-hero-text{flex:1;min-width:0}.completion-hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#b88a42;align-items:center;gap:6px;margin-bottom:4px;font-size:.78rem;font-weight:600;display:flex}.completion-hero-title{color:var(--text-primary);margin:0;font-size:1.4rem;font-weight:700}.completion-hero-sub{color:var(--text-secondary);margin:6px 0 0;font-size:.92rem;line-height:1.5}.completion-hero-note{color:var(--text-faint);margin:8px 0 0;font-size:.78rem;font-style:italic}.completion-hero-cta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.claim-cert-inline{color:#fffdf8;cursor:pointer;background:#b88a42;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-size:.92rem;font-weight:600;text-decoration:none;transition:filter .15s,transform .15s;display:inline-flex}.claim-cert-inline:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.claim-cert-inline:disabled{opacity:.65;cursor:wait}.claim-cert-inline.is-issued{color:#b88a42;background:#b88a422e;border:1px solid #b88a42}.claim-cert-error{color:var(--accent);font-size:.78rem}@media (max-width:720px){.completion-hero{text-align:left;flex-direction:column;align-items:stretch}.completion-hero-cta{align-items:stretch}}
