:root{--kh-lime:#b4e600;--kh-lime-soft:#e6f7a8;--kh-lime-wash:#f6fbe3;--kh-teal:#29c7c7;--kh-teal-soft:#b9ecec;--kh-teal-wash:#e9f7f7;--kh-ink:#0f2a2a;--kh-ink-2:#3e5454;--kh-muted:#7c8c8c;--kh-line:#e3ecec;--kh-line-2:#eef3f3;--kh-bg:#fdfefb;--kh-bg-warm:#f7faf0;--kh-white:#fff;--kh-font-sans:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--kh-font-display:"DM Serif Display",Georgia,serif;--kh-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--kh-r-sm:8px;--kh-r-md:14px;--kh-r-lg:22px;--kh-r-xl:32px;--kh-shadow-sm:0 1px 2px rgba(15,42,42,.04),0 2px 8px rgba(15,42,42,.04);--kh-shadow-md:0 2px 4px rgba(15,42,42,.05),0 10px 30px rgba(15,42,42,.07)}.kh-root{--_pad:32px;box-sizing:border-box}.kh-root *,.kh-root *:before,.kh-root *:after{box-sizing:border-box}.kh-root{font-family:var(--kh-font-sans);color:var(--kh-ink);line-height:1.55;background:var(--kh-bg)}.kh-root .kh-eyebrow{font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--kh-muted);margin:0 0 8px}.kh-root .kh-h1{font-family:var(--kh-font-display);font-size:52px;line-height:1.05;font-weight:400;letter-spacing:-.01em;margin:0 0 18px}.kh-root .kh-h1 em{font-style:italic;color:var(--kh-teal);position:relative;display:inline-block}.kh-root .kh-h1 em:after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:3px;background:var(--kh-lime);border-radius:2px;transform:scaleX(0);transform-origin:left;animation:kh-underline-in .55s .4s ease forwards}@keyframes kh-underline-in{to{transform:scaleX(1)}}.kh-root .kh-h2{font-family:var(--kh-font-display);font-size:32px;line-height:1.1;font-weight:400;margin:56px 0 22px}.kh-root .kh-h3{font-family:var(--kh-font-display);font-size:22px;line-height:1.25;font-weight:400;margin:0 0 6px}.kh-root .kh-lead{font-size:17px;color:var(--kh-ink-2);max-width:640px;margin:0 0 14px}.kh-root .kh-muted{color:var(--kh-muted);font-size:14px;margin:0 0 8px}.kh-root .kh-container{max-width:1040px;margin:0 auto;padding:40px 24px 80px}.kh-root .kh-container--slim-top{padding-top:36px}.kh-root .kh-header{border-bottom:1px solid rgba(255,255,255,.08);background:var(--kh-ink);box-shadow:0 2px 24px rgba(15,42,42,.18)}.kh-root .kh-header-inner{max-width:1040px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px}.kh-root .kh-brand{display:inline-flex;align-items:baseline;gap:4px;background:0 0;border:0;cursor:pointer;color:var(--kh-white);padding:0}.kh-root .kh-brand-serif{font-family:var(--kh-font-display);font-size:22px}.kh-root .kh-brand-slash{color:var(--kh-lime);font-size:22px;font-family:var(--kh-font-display);margin:0 2px}.kh-root .kh-brand-sans{font-family:var(--kh-font-sans);font-size:14px;letter-spacing:.04em;color:rgba(255,255,255,.45)}.kh-root .kh-header-progress{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:180px}.kh-root .kh-progress-track{flex:1;height:6px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.kh-root .kh-progress-fill{height:100%;background:linear-gradient(90deg,var(--kh-teal) 0%,var(--kh-lime) 100%);transition:width .4s ease}.kh-root .kh-progress-num{font-family:var(--kh-font-mono);font-size:12px;color:rgba(255,255,255,.5)}.kh-root .kh-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--kh-font-sans);font-weight:600;font-size:14px;padding:11px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease;text-decoration:none;line-height:1}.kh-root .kh-btn:active{transform:translateY(1px)}.kh-root .kh-btn--lime{background:var(--kh-lime);color:var(--kh-ink)}.kh-root .kh-btn--lime:hover{background:#a4d500}.kh-root .kh-btn--ghost{background:0 0;color:var(--kh-ink);border-color:var(--kh-line)}.kh-root .kh-btn--ghost:hover{border-color:var(--kh-ink)}.kh-root .kh-back{background:0 0;border:0;color:var(--kh-ink-2);font-family:var(--kh-font-sans);font-size:13px;cursor:pointer;padding:6px 10px;margin:0 0 12px -10px;border-radius:8px}.kh-root .kh-back:hover{background:var(--kh-bg-warm)}.kh-root .kh-card{background:var(--kh-white);border:1px solid var(--kh-line);border-radius:var(--kh-r-lg);padding:28px;margin:20px 0 28px}.kh-root .kh-card--accent{display:flex;align-items:center;gap:20px;justify-content:space-between;background:linear-gradient(135deg,var(--kh-bg-warm) 0%,var(--kh-lime-wash) 100%);border-color:var(--kh-lime);border-width:2px;padding:32px}.kh-root .kh-card--accent .kh-h3{margin-bottom:4px}.kh-root .kh-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.kh-root .kh-mq-grid{display:grid;gap:10px}.kh-root .kh-mq-row{display:grid;grid-template-columns:28px 120px 1fr 40px;align-items:center;gap:12px}.kh-root .kh-mq-letter{font-family:var(--kh-font-display);font-size:22px;color:var(--kh-teal)}.kh-root .kh-mq-name{font-size:14px;color:var(--kh-ink-2)}.kh-root .kh-mq-bar{height:10px;background:var(--kh-bg-warm);border-radius:999px;overflow:hidden}.kh-root .kh-mq-fill{height:100%;background:var(--kh-lime);transition:width .4s}.kh-root .kh-mq-num{font-family:var(--kh-font-mono);font-size:12px;text-align:right;color:var(--kh-ink)}.kh-root .kh-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px, 1fr));gap:16px}.kh-root .kh-chapter-card{background:var(--kh-white);border:1px solid var(--kh-line);border-radius:var(--kh-r-lg);padding:22px;text-align:left;cursor:pointer;display:flex;gap:16px;transition:border-color .15s,transform .12s,box-shadow .15s;font-family:inherit;color:inherit;overflow:hidden;white-space:normal}.kh-root .kh-chapter-card:hover{border-color:var(--kh-teal);transform:translateY(-3px);box-shadow:var(--kh-shadow-md)}.kh-root .kh-chapter-card.is-complete{border-color:var(--kh-lime);background:var(--kh-lime-wash)}.kh-root .kh-chapter-letter{font-family:var(--kh-font-display);font-size:52px;line-height:1;color:var(--kh-teal);flex:0 0 64px}.kh-root .kh-chapter-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.kh-root .kh-chapter-title{font-family:var(--kh-font-display);font-size:20px;font-weight:400;margin:2px 0 4px}.kh-root .kh-chapter-summary{font-size:13px;color:var(--kh-muted);margin:0 0 10px;width:100%;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kh-root .kh-chapter-progress{display:flex;align-items:center;gap:10px;margin-top:auto}.kh-root .kh-mini-bar{flex:1;height:4px;background:var(--kh-line-2);border-radius:999px;overflow:hidden}.kh-root .kh-mini-fill{height:100%;background:var(--kh-lime)}.kh-root .kh-mini-num{font-family:var(--kh-font-mono);font-size:11px;color:var(--kh-muted)}.kh-root .kh-baseline{display:grid;gap:32px;margin:24px 0 40px}.kh-root .kh-baseline-group{background:var(--kh-white);border:1px solid var(--kh-line);border-radius:var(--kh-r-lg);padding:24px 26px}.kh-root .kh-baseline-letter{display:flex;align-items:baseline;gap:12px;margin:0 0 16px}.kh-root .kh-baseline-letter-big{font-family:var(--kh-font-display);font-size:40px;color:var(--kh-lime);line-height:1}.kh-root .kh-baseline-name{font-family:var(--kh-font-display);font-size:22px;font-weight:400}.kh-root .kh-baseline-items{display:grid;gap:14px}.kh-root .kh-baseline-item{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--kh-line-2)}.kh-root .kh-baseline-item:first-child{border-top:0}.kh-root .kh-baseline-text{font-size:15px;color:var(--kh-ink);margin:0}.kh-root .kh-scale{display:flex;gap:6px}.kh-root .kh-scale-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--kh-line);background:var(--kh-white);color:var(--kh-ink-2);font-family:var(--kh-font-mono);font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}.kh-root .kh-scale-btn:hover{border-color:var(--kh-teal)}.kh-root .kh-scale-btn.is-active{background:var(--kh-lime);border-color:var(--kh-lime);color:var(--kh-ink);font-weight:600}.kh-root .kh-baseline-footer{display:flex;justify-content:flex-end}.kh-root .kh-big-letter{font-family:var(--kh-font-display);color:var(--kh-lime);margin-right:8px}.kh-root .kh-lessons{display:grid;gap:20px;margin:28px 0 36px}.kh-root .kh-lesson{background:var(--kh-white);border:1px solid var(--kh-line);border-radius:var(--kh-r-lg);padding:24px 26px;transition:border-color .15s}.kh-root .kh-lesson.is-done{border-color:var(--kh-lime);background:var(--kh-lime-wash)}.kh-root .kh-lesson-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.kh-root .kh-lesson-kind{font-family:var(--kh-font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--kh-teal-wash);color:var(--kh-ink-2)}.kh-root .kh-lesson-title{font-family:var(--kh-font-display);font-size:22px;font-weight:400;margin:0;flex:1;min-width:200px}.kh-root .kh-check{margin-left:auto;background:0 0;border:1px solid var(--kh-line);color:var(--kh-ink-2);padding:7px 14px;border-radius:999px;font-family:var(--kh-font-sans);font-size:12px;cursor:pointer}.kh-root .kh-check:hover{border-color:var(--kh-teal)}.kh-root .kh-check.is-done{background:var(--kh-lime);border-color:var(--kh-lime);color:var(--kh-ink);font-weight:600}.kh-root .kh-prose{white-space:pre-wrap;font-size:16px;line-height:1.7;color:var(--kh-ink)}.kh-root .kh-case-quote{font-family:var(--kh-font-display);font-size:20px;line-height:1.4;color:var(--kh-ink);padding:18px 22px;border-left:3px solid var(--kh-teal);background:var(--kh-teal-wash);border-radius:0 12px 12px 0;margin:0;white-space:pre-wrap}.kh-root .kh-reflect{margin:0 0 14px}.kh-root .kh-reflect-q{display:block;font-family:var(--kh-font-display);font-size:17px;margin-bottom:8px;color:var(--kh-ink)}.kh-root .kh-textarea{width:100%;font-family:var(--kh-font-sans);font-size:15px;color:var(--kh-ink);background:var(--kh-bg-warm);border:1px solid var(--kh-line);border-radius:var(--kh-r-md);padding:12px 14px;outline:none;resize:vertical;line-height:1.55;min-height:90px}.kh-root .kh-textarea:focus{border-color:var(--kh-teal);background:var(--kh-white)}.kh-root .kh-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kh-root .kh-col-label{display:block;font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--kh-muted);margin-bottom:6px}.kh-root .kh-chapter-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.kh-root .kh-quote-block{margin:0;padding:20px 24px;border-left:3px solid var(--kh-lime);background:var(--kh-bg-warm);border-radius:0 12px 12px 0}.kh-root .kh-quote-text{font-family:var(--kh-font-display);font-size:22px;line-height:1.4;color:var(--kh-ink);margin:0 0 10px;font-style:italic}.kh-root .kh-quote-author{font-family:var(--kh-font-mono);font-size:12px;letter-spacing:.08em;color:var(--kh-muted)}.kh-root .kh-pillars{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px, 1fr));gap:14px}.kh-root .kh-pillar{background:var(--kh-teal-wash);border:1px solid var(--kh-teal-soft);border-radius:var(--kh-r-md);padding:16px 18px}.kh-root .kh-pillar-h{font-family:var(--kh-font-display);font-size:18px;font-weight:400;color:var(--kh-teal);margin:0 0 8px}.kh-root .kh-pillar-p{font-size:14px;color:var(--kh-ink-2);margin:0;line-height:1.55}.kh-root .kh-dialogue-intro{color:var(--kh-ink-2);font-size:15px;margin:0 0 14px}.kh-root .kh-dialogue-list{margin:0;padding:0 0 0 22px;display:grid;gap:12px}.kh-root .kh-dialogue-item{font-size:15px;color:var(--kh-ink);line-height:1.55;padding:10px 14px;background:var(--kh-bg-warm);border-radius:var(--kh-r-sm)}.kh-root .kh-selfeval-items{display:grid;gap:12px;margin-top:12px}.kh-root .kh-selfeval-item{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--kh-line-2)}.kh-root .kh-selfeval-item:first-child{border-top:0}.kh-root .kh-compare-grid{display:grid;gap:14px}.kh-root .kh-compare-row{display:grid;grid-template-columns:28px 120px 1fr 48px;align-items:center;gap:12px}.kh-root .kh-compare-bars{display:flex;flex-direction:column;gap:4px}.kh-root .kh-compare-bar{height:8px;border-radius:999px}.kh-root .kh-compare-bar--before{background:var(--kh-line)}.kh-root .kh-compare-bar--after{background:var(--kh-lime)}.kh-root .kh-compare-diff{font-family:var(--kh-font-mono);font-size:13px;font-weight:600;text-align:right}.kh-root .kh-compare-diff.is-pos{color:#2a8c2a}.kh-root .kh-compare-diff.is-neg{color:#c0392b}.kh-root .kh-baseline--inline{margin:12px 0 0}.kh-root .kh-lesson--read{border-color:#e5ddd4}.kh-root .kh-lesson--read .kh-lesson-kind{background:#fdf5eb;color:#7a4f2a}.kh-root .kh-lesson--read .kh-prose{font-family:var(--kh-font-display);font-size:18px;line-height:1.82}.kh-root .kh-lesson--case .kh-lesson-kind{background:var(--kh-teal-wash);color:#0b6b6b}.kh-root .kh-lesson--reflect{background:#fafdf5}.kh-root .kh-lesson--reflect .kh-lesson-kind{background:var(--kh-lime-wash);color:#3d5a00}.kh-root .kh-lesson--reflect .kh-textarea{background:#fefffe;border-color:#d4e8b0}.kh-root .kh-lesson--reflect .kh-textarea:focus{border-color:var(--kh-lime);background:var(--kh-white)}.kh-root .kh-lesson--theory .kh-lesson-kind{background:#eef2ff;color:#3730a3}.kh-root .kh-lesson--theory .kh-prose--theory{font-size:15px;border-left:3px solid #a5b4fc;padding-left:16px;line-height:1.7}.kh-root .kh-lesson--quote .kh-lesson-kind{background:var(--kh-bg-warm);color:var(--kh-muted)}.kh-root .kh-lesson--dialogue .kh-lesson-kind{background:var(--kh-teal-wash);color:#0b6b6b}.kh-root .kh-lesson--selfeval{background:#fafdf5}.kh-root .kh-lesson--selfeval .kh-lesson-kind{background:#f0fdf4;color:#166534}.kh-root .kh-lesson--commit{background:var(--kh-bg-warm);border-color:var(--kh-lime)}.kh-root .kh-lesson--commit .kh-lesson-kind{background:var(--kh-lime);color:var(--kh-ink);font-weight:600}.kh-root .kh-expand-btn{display:inline-flex;align-items:center;gap:5px;background:0 0;border:0;padding:10px 0 2px;color:var(--kh-teal);font-family:var(--kh-font-sans);font-size:14px;font-weight:600;cursor:pointer;line-height:1}.kh-root .kh-expand-btn:hover{color:var(--kh-ink)}.kh-root .kh-chapter-done{text-align:center;padding:36px 24px 32px;background:var(--kh-lime-wash);border:1px solid var(--kh-lime);border-radius:var(--kh-r-lg);margin:8px 0 0}.kh-root .kh-chapter-done-icon{font-size:32px;color:var(--kh-lime);margin:0 0 10px;line-height:1}.kh-root .kh-chapter-done-title{font-family:var(--kh-font-display);font-size:28px;font-weight:400;margin:0 0 8px;color:var(--kh-ink)}.kh-root .kh-chapter-done-sub{font-size:15px;color:var(--kh-ink-2);margin:0 0 22px}@media (max-width:640px){.kh-root .kh-h1{font-size:36px}.kh-root .kh-hero .kh-h1{font-size:40px}.kh-root .kh-hero-inner{padding:36px 20px 40px}.kh-root .kh-two-col{grid-template-columns:1fr}.kh-root .kh-mq-row{grid-template-columns:24px 1fr 48px}.kh-root .kh-mq-name{display:none}.kh-root .kh-baseline-item{grid-template-columns:1fr}.kh-root .kh-header-progress{min-width:100px}}@keyframes kh-toast-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.kh-milestone-toast{position:fixed;bottom:28px;right:28px;z-index:9001;background:var(--kh-ink);color:var(--kh-white);border-radius:var(--kh-r-lg);padding:18px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 40px rgba(15,42,42,.35);animation:kh-toast-in .3s ease;max-width:320px;font-family:var(--kh-font-sans)}.kh-milestone-pct{font-family:var(--kh-font-display);font-size:36px;line-height:1;color:var(--kh-lime);flex:0 0 auto}.kh-milestone-text strong{display:block;font-size:14px;font-weight:600;margin-bottom:2px}.kh-milestone-text p{font-size:13px;color:rgba(255,255,255,.6);margin:0}.kh-milestone-dismiss{background:0 0;border:0;color:rgba(255,255,255,.4);font-size:20px;cursor:pointer;padding:4px;line-height:1;margin-left:auto;flex-shrink:0}.kh-milestone-dismiss:hover{color:var(--kh-white)}.kh-root .kh-mq-total{display:flex;align-items:center;gap:16px;border-top:1px solid var(--kh-line-2);margin-top:16px;padding-top:16px}.kh-root .kh-mq-total-score{font-family:var(--kh-font-display);font-size:40px;line-height:1;color:var(--kh-teal);flex:0 0 auto}.kh-root .kh-mq-total-label{font-size:14px;color:var(--kh-ink-2);margin:2px 0 0}.kh-root .kh-chapter-baseline-ref{display:inline-flex;align-items:center;gap:12px;background:var(--kh-teal-wash);border:1px solid var(--kh-teal-soft);border-radius:var(--kh-r-md);padding:8px 16px;margin:4px 0 24px}.kh-root .kh-chapter-baseline-ref .kh-eyebrow{margin:0}.kh-root .kh-chapter-baseline-score{font-family:var(--kh-font-display);font-size:22px;color:var(--kh-teal);line-height:1}.kh-root .kh-chapter-baseline-score span{font-size:13px;color:var(--kh-muted)}.kh-root .kh-chapter-baseline-label{font-size:13px;color:var(--kh-ink-2)}.kh-root .kh-chapter-done-letter{font-family:var(--kh-font-display);font-size:96px;line-height:1;color:var(--kh-lime);margin:0 0 8px}.kh-root .kh-chapter-done-quote{font-family:var(--kh-font-display);font-size:18px;font-style:italic;line-height:1.5;color:var(--kh-ink-2);margin:0 0 20px;max-width:520px;text-align:center}.kh-root .kh-chapter-done-quote p{margin:0 0 6px}.kh-root .kh-chapter-done-quote footer{font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.08em;color:var(--kh-muted);font-style:normal}.kh-root .kh-welcome-card{background:var(--kh-white);border:2px solid var(--kh-teal-soft);border-radius:var(--kh-r-lg);padding:28px 30px;margin:0 0 28px;animation:kh-fade-in .3s ease}.kh-root .kh-welcome-q{font-size:18px;margin-bottom:12px;display:block}.kh-root .kh-welcome-footer{display:flex;align-items:center;gap:16px;margin-top:14px}.kh-root .kh-welcome-skip{background:0 0;border:0;color:var(--kh-muted);font-family:var(--kh-font-sans);font-size:13px;cursor:pointer;padding:0}.kh-root .kh-welcome-skip:hover{color:var(--kh-ink)}.kh-root .kh-btn:disabled{opacity:.45;cursor:default}.kh-root .kh-next-lesson{width:100%;display:flex;align-items:center;gap:20px;background:var(--kh-ink);color:var(--kh-white);border:0;border-radius:var(--kh-r-lg);padding:22px 28px;cursor:pointer;text-align:left;font-family:inherit;margin:0 0 8px;transition:background .15s}.kh-root .kh-next-lesson:hover{background:#1a3f3f}.kh-root .kh-next-lesson .kh-eyebrow{color:var(--kh-lime);margin:0 0 4px}.kh-root .kh-next-chapter{font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.45);margin:0}.kh-root .kh-next-lesson-meta{flex:0 0 auto;min-width:140px}.kh-root .kh-next-lesson-body{flex:1}.kh-root .kh-next-title{font-family:var(--kh-font-display);font-size:20px;font-weight:400;margin:0;color:var(--kh-white)}.kh-root .kh-next-arrow{font-size:20px;color:var(--kh-lime);flex:0 0 auto}.kh-root .kh-hero{background:linear-gradient(160deg,var(--kh-bg-warm) 0%,var(--kh-lime-wash) 55%,var(--kh-white) 100%);border-bottom:1px solid var(--kh-line-2);animation:kh-fade-in .25s ease}.kh-root .kh-hero-inner{max-width:1040px;margin:0 auto;padding:52px 24px 56px}.kh-root .kh-hero .kh-h1{font-size:68px;margin-bottom:20px}.kh-root .kh-hero .kh-lead{font-size:18px;max-width:560px}.kh-root .kh-chapter-card.is-complete .kh-chapter-letter{color:#5a8a00}.kh-root.kh-loading,.kh-root.kh-login-cta{display:flex;align-items:center;justify-content:center;min-height:240px;font-family:var(--kh-font-sans);color:var(--kh-muted)}@keyframes kh-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kh-root .kh-container{animation:kh-fade-in .22s ease}.kh-root .kh-chapter-card.is-complete{border-color:var(--kh-lime)}.kh-root .kh-chapter-card.is-complete .kh-chapter-letter{color:var(--kh-lime)}.kh-root .kh-dashboard-actions{margin:32px 0 0;display:flex;gap:12px}@keyframes kh-check-pop{0%{transform:scale(1)}35%{transform:scale(1.025)}100%{transform:scale(1)}}.kh-root .kh-lesson.is-done{animation:kh-check-pop .3s ease}.kh-root .kh-baseline-progress-line{display:flex;align-items:center;gap:16px;margin:16px 0 24px}.kh-root .kh-textarea-wrap{position:relative}.kh-root .kh-focus-btn{position:absolute;bottom:8px;right:8px;background:var(--kh-white);border:1px solid var(--kh-line);color:var(--kh-muted);font-size:14px;padding:3px 8px;border-radius:var(--kh-r-sm);cursor:pointer;line-height:1;font-family:var(--kh-font-mono);opacity:0;transition:opacity .15s}.kh-root .kh-textarea-wrap:hover .kh-focus-btn,.kh-root .kh-textarea-wrap:focus-within .kh-focus-btn{opacity:1}.kh-root .kh-focus-btn:hover{border-color:var(--kh-teal);color:var(--kh-teal)}.kh-root .kh-focus-overlay{position:fixed;inset:0;z-index:999;background:rgba(15,42,42,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.kh-root .kh-focus-card{background:var(--kh-white);border-radius:var(--kh-r-xl);padding:36px 40px;max-width:680px;width:100%;box-shadow:0 24px 80px rgba(15,42,42,.22);animation:kh-fade-in .15s ease}.kh-root .kh-focus-card .kh-reflect-q{font-size:19px;margin-bottom:14px}.kh-root .kh-textarea--focus{min-height:240px;font-size:16px;resize:none;width:100%}.kh-root .kh-focus-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.kh-root .kh-transformation-summary{background:var(--kh-lime-wash);border:1px solid var(--kh-lime);border-radius:var(--kh-r-lg);padding:28px 32px;margin:20px 0 28px;display:flex;align-items:center;gap:28px}.kh-root .kh-transform-score{display:flex;flex-direction:column;align-items:center;min-width:80px}.kh-root .kh-transform-num{font-family:var(--kh-font-display);font-size:52px;line-height:1;color:#2a6a00;font-weight:400}.kh-root .kh-transform-num.is-neg{color:#c0392b}.kh-root .kh-transform-label{font-family:var(--kh-font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--kh-muted);margin-top:4px}.kh-root .kh-compare-legend{display:flex;gap:20px;margin:0 0 16px}.kh-root .kh-compare-legend-item{font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:8px;color:var(--kh-ink-2)}.kh-root .kh-compare-legend-item:before{content:'';display:block;width:24px;height:8px;border-radius:999px}.kh-root .kh-compare-legend-item--before:before{background:var(--kh-line)}.kh-root .kh-compare-legend-item--after:before{background:var(--kh-lime)}@keyframes kh-install-slide{from{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.kh-install-prompt{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--kh-ink);color:var(--kh-white);border-radius:var(--kh-r-lg);padding:16px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 40px rgba(15,42,42,.35);z-index:9000;max-width:440px;width:calc(100% - 48px);animation:kh-install-slide .3s ease;font-family:var(--kh-font-sans)}.kh-install-prompt-text{flex:1;font-size:14px;line-height:1.45}.kh-install-prompt-text strong{display:block;margin-bottom:2px;font-weight:600}.kh-install-prompt-btns .kh-btn--lime{padding:8px 16px}.kh-install-dismiss{background:0 0;border:0;color:rgba(255,255,255,.45);cursor:pointer;font-size:20px;padding:4px;line-height:1;flex-shrink:0}.kh-install-dismiss:hover{color:var(--kh-white)}@media (max-width:640px){.kh-root .kh-focus-card{padding:24px 20px}.kh-root .kh-transform-num{font-size:40px}.kh-root .kh-compare-row{grid-template-columns:24px 1fr 48px}.kh-root .kh-compare-row .kh-mq-name{display:none}.kh-root .kh-transformation-summary{flex-direction:column;gap:16px}.kh-root .kh-card--accent{flex-direction:column}.kh-root .kh-card--accent .kh-btn{width:100%;justify-content:center}.kh-root .kh-next-lesson{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px}.kh-root .kh-next-lesson-meta{min-width:0}.kh-root .kh-next-arrow{align-self:flex-end}.kh-root .kh-chapter-card{padding:16px;gap:12px}.kh-root .kh-chapter-letter{font-size:40px;flex:0 0 48px}.kh-root .kh-baseline-footer .kh-btn{width:100%;justify-content:center}.kh-root .kh-container{padding-left:16px;padding-right:16px}.kh-root .kh-lesson{padding:18px 16px}.kh-root .kh-card{padding:20px 16px}.kh-root .kh-chapter-nav .kh-btn{padding:10px 14px;font-size:13px}.kh-root .kh-milestone-toast{bottom:16px;right:16px;left:16px;max-width:none}}.kh-root .kh-attempt-name{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--kh-muted)}.kh-root .kh-attempt-name-label{color:var(--kh-ink-2)}.kh-root .kh-attempt-name-edit{background:0 0;border:0;color:var(--kh-muted);cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;line-height:1}.kh-root .kh-attempt-name-edit:hover{color:var(--kh-teal);background:var(--kh-teal-wash)}.kh-root .kh-attempt-name-input{font-family:var(--kh-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--kh-ink);background:var(--kh-white);border:1px solid var(--kh-teal);border-radius:6px;padding:3px 8px;outline:none;min-width:180px}.kh-root .kh-commit-refs{background:var(--kh-bg-warm);border-radius:var(--kh-r-md);padding:16px 18px;margin:0 0 22px;border-left:3px solid var(--kh-teal-soft)}.kh-root .kh-commit-refs .kh-eyebrow{margin-bottom:12px}.kh-root .kh-commit-ref-item{margin-bottom:12px}.kh-root .kh-commit-ref-item:last-child{margin-bottom:0}.kh-root .kh-commit-ref-q{font-size:12px;color:var(--kh-muted);margin:0 0 3px;font-family:var(--kh-font-mono);text-transform:uppercase;letter-spacing:.08em}.kh-root .kh-commit-ref-a{font-size:14px;color:var(--kh-ink-2);margin:0;line-height:1.55;font-style:italic}.kh-root .kh-plan90-refs{background:var(--kh-ink);color:var(--kh-white);border-radius:var(--kh-r-md);padding:20px 22px;margin:0 0 24px}.kh-root .kh-plan90-refs .kh-eyebrow{color:var(--kh-lime);margin-bottom:10px}.kh-root .kh-plan90-challenge-text{font-family:var(--kh-font-display);font-size:17px;font-style:italic;line-height:1.5;color:rgba(255,255,255,.85);margin:0}.kh-root .kh-plan90-commit-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:10px}.kh-root .kh-plan90-commit-item:last-child{margin-bottom:0}.kh-root .kh-plan90-commit-letter{font-family:var(--kh-font-display);font-size:22px;color:var(--kh-teal);line-height:1;flex:0 0 26px}.kh-root .kh-plan90-commit-name{font-size:11px;font-family:var(--kh-font-mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.4);margin:0 0 2px}.kh-root .kh-plan90-commit-text{font-size:14px;color:rgba(255,255,255,.75);margin:0;line-height:1.5;font-style:italic}.kh-root .kh-share-card{background:var(--kh-white);border:1px solid var(--kh-line);border-radius:var(--kh-r-lg);padding:24px 28px;margin:32px 0 0}.kh-root .kh-share-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:6px}.kh-root .kh-share-link{margin-top:16px;padding-top:16px;border-top:1px solid var(--kh-line-2)}.kh-root .kh-share-link-row{display:flex;gap:10px;align-items:center}.kh-root .kh-share-url{flex:1;font-family:var(--kh-font-mono);font-size:12px;color:var(--kh-ink-2);background:var(--kh-bg-warm);border:1px solid var(--kh-line);border-radius:var(--kh-r-sm);padding:8px 12px;outline:none;cursor:text}.kh-root .kh-toggle{width:48px;height:28px;border-radius:999px;background:var(--kh-line);border:0;cursor:pointer;position:relative;transition:background .2s ease;flex-shrink:0}.kh-root .kh-toggle.is-on{background:var(--kh-teal)}.kh-root .kh-toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--kh-white);transition:transform .2s ease;box-shadow:0 1px 4px rgba(15,42,42,.18)}.kh-root .kh-toggle.is-on .kh-toggle-knob{transform:translateX(20px)}.kh-root .kh-toggle:disabled{opacity:.55;cursor:default}@media (hover:none) and (pointer:coarse){.kh-root .kh-scale-btn{width:44px;height:44px;border-radius:10px}.kh-root .kh-check{padding:10px 18px}.kh-root .kh-back{padding:10px 14px}.kh-root .kh-btn{padding:13px 22px}.kh-root .kh-expand-btn{padding:12px 0}}