:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17201b;background:#edf3ec;--paper: #fbfdf8;--paper-strong: #e5f0e7;--ink: #17201b;--muted: #34483d;--green: #2f6b4f;--green-dark: #214d3b;--amber: #c27a1a;--line: #b7c9bd;--danger: #b4453d;--info: #315a74;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;background:#edf3ec;overflow-x:hidden}button,input{font:inherit}.page-shell,.app-shell{width:100%;min-width:0;min-height:100vh;padding:32px;max-width:1180px;margin:0 auto}.eyebrow{margin:0 0 8px;color:var(--green);font-size:.85rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}button{border:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid rgba(49,90,116,.36);outline-offset:2px}button:disabled{cursor:not-allowed}.home-intro{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:32px;align-items:start;padding:34px 0 24px;border-bottom:1px solid var(--line)}.home-intro h1{max-width:720px;margin-bottom:14px;color:var(--green-dark);font-size:clamp(2.2rem,5vw,4rem);line-height:1;word-break:keep-all}.home-lede{max-width:620px;color:var(--muted);font-size:1.16rem;line-height:1.8}.intro-actions{display:grid;gap:16px}.route-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid var(--line);background:rgba(255,255,251,.92)}.route-option{display:grid;min-height:88px;gap:8px;padding:14px;color:var(--muted);text-align:left;background:transparent}.route-option[aria-pressed=true]{color:var(--ink);background:var(--paper-strong);outline:2px solid rgba(47,107,79,.24)}.route-option strong{color:var(--green-dark)}.route-option span{font-size:.88rem;line-height:1.45}.primary-action,.secondary-action,.text-action,.level-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;color:#fff;background:var(--green-dark)}.primary-action{width:100%;min-height:52px;font-weight:800}.home-intro>*,.intro-actions,.diagnostic-panel,.diagnostic-question,.diagnostic-result,.lesson-main,.lesson-section,.last-review,.term-sidebar,.practice-shell,.practice-question{min-width:0}.secondary-action{min-height:52px;color:var(--green-dark);background:#e2eddf;font-weight:800}.text-action{width:fit-content;margin-bottom:24px;color:var(--green-dark);background:#e2eddf}.route-note{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:4px 0 28px;padding:14px 16px;border-left:4px solid var(--amber);background:var(--paper);color:var(--muted)}.route-note strong{color:var(--ink)}.diagnostic-panel{display:grid;gap:18px;margin:0 0 28px;padding:18px;border:1px solid var(--line);background:rgba(255,255,251,.92)}.diagnostic-panel h2,.diagnostic-panel h3{margin-bottom:8px;color:var(--green-dark);line-height:1.25}.diagnostic-panel p{max-width:720px;color:var(--muted);line-height:1.7}.diagnostic-actions,.diagnostic-options,.diagnostic-tags{display:flex;flex-wrap:wrap;gap:10px}.diagnostic-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-actions .text-action{width:auto;margin-bottom:0}.diagnostic-result{display:grid;gap:10px;padding:14px;border-left:4px solid var(--green);background:#eef7ee}.diagnostic-tags span,.diagnostic-result-line{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;color:var(--green-dark);background:#dcebd8;font-weight:800}.level-map{display:grid;gap:28px;padding-bottom:56px}.level-group{display:grid;gap:14px}.level-group-header{display:flex;gap:14px;align-items:baseline}.level-group-header h2{margin:0;color:var(--green-dark)}.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.level-card{display:grid;min-height:220px;align-content:start;gap:12px;padding:18px;border:1px solid var(--line);background:rgba(255,255,251,.96)}.level-card.is-open{border-color:#2f6b4f80;box-shadow:inset 0 3px 0 var(--green)}.level-card.is-locked{color:#7b7467;background:#eef0ea}.level-number{width:fit-content;padding:4px 9px;color:var(--green-dark);background:var(--paper-strong);font-size:.82rem;font-weight:800}.level-card h3{margin:0;line-height:1.35}.level-card p{color:var(--muted);line-height:1.6}.level-action{width:fit-content;margin-top:auto;background:var(--green)}.level-action:disabled{color:#7b7467;background:#d3ded6}.lesson-preview{padding:28px;border:1px solid var(--line);background:var(--paper)}.lesson-page{display:grid;grid-template-columns:210px minmax(0,1fr);column-gap:24px;align-items:start;max-width:1320px}.lesson-page>.text-action,.lesson-page>.lesson-hero,.lesson-page>.lesson-layout{grid-column:2}.lesson-hero{padding:24px 0 18px}.lesson-hero h1{margin-bottom:12px;color:var(--green-dark);font-size:clamp(2rem,5vw,4rem);line-height:1.05}.lesson-hero p{max-width:780px;color:var(--muted);font-size:1.08rem;line-height:1.8}.lesson-hero strong{color:var(--green-dark)}.intro-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:rgba(23,32,27,.56);animation:introBackdropIn .18s ease-out both}.diagnostic-welcome-backdrop{place-items:center}.intro-modal{width:min(680px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border:1px solid rgba(47,107,79,.42);background:#fbfdf8;box-shadow:0 22px 60px #17201b47;transform-origin:center;animation:introModalIn .22s cubic-bezier(.2,.8,.2,1) both}.intro-modal h2{margin-bottom:8px;color:var(--green-dark);font-size:2rem}.intro-modal h3{color:var(--ink)}.intro-modal-body{margin:14px 0 20px;padding:14px 16px;border-left:4px solid var(--info);background:#e3eef0;color:var(--ink);font-size:1.04rem;line-height:1.8}.intro-modal-body strong{color:var(--green-dark)}@keyframes introBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes introModalIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.intro-modal-backdrop,.intro-modal,.practice-question.is-correct{animation:none}}.lesson-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.lesson-facts span,.error-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;color:var(--green-dark);background:#e2eddf;font-size:.88rem;font-weight:800}.level-nav{position:fixed;top:24px;bottom:24px;left:max(32px,calc((100vw - 1320px)/2 + 32px));z-index:5;grid-column:1;grid-row:1 / span 3;display:grid;gap:8px;align-items:start;align-self:start;width:210px;overflow-y:auto;scrollbar-width:thin;margin:0;padding:10px;border:1px solid var(--line);background:rgba(255,253,246,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-overflow-scrolling:touch}.level-nav-title{display:inline-flex;align-items:center;min-height:36px;padding:0 2px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.86rem;font-weight:900;white-space:nowrap}.level-nav a{display:flex;align-items:center;min-height:38px;border-left:3px solid transparent;padding:8px 12px;color:var(--green-dark);text-decoration:none;background:#edf3e8;font-weight:800;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.level-nav a:hover,.level-nav a:focus-visible{background:#e2eddf;transform:translate(2px)}.level-nav a[aria-current=location]{border-left-color:var(--green);color:#173d2d;background:#dcebe0;box-shadow:inset 0 0 0 1px #2f6b4f29}.lesson-section,.last-review,.term-sidebar{scroll-margin-top:24px}.lesson-section:target,.last-review:target,.term-sidebar:target{animation:sectionTargetPulse 1.1s ease-out}@keyframes sectionTargetPulse{0%{box-shadow:0 0 #2f6b4f57;background:#edf6ed}to{box-shadow:0 0 0 10px #2f6b4f00}}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.lesson-main{display:grid;gap:22px}.lesson-section,.last-review,.term-sidebar{border:1px solid #adc3b6;background:#fbfdf8;box-shadow:0 10px 28px #214d3b0f}.lesson-section,.last-review{padding:24px}.lesson-section h2,.last-review h2,.term-sidebar h2{color:var(--green-dark)}.lesson-section p,.lesson-section li,.last-review li,.term-card dd,.side-note{color:var(--ink);line-height:1.82}.step-list,.example-list,.trap-list{display:grid;gap:14px}.step-card,.example-card,.trap-card,.practice-shell{padding:18px;border:1px solid #b8ccbf;border-left:5px solid var(--green);background:#f1f7f2;box-shadow:0 8px 18px #214d3b0d}.example-card,.trap-card,.practice-question{color:var(--ink)}.step-card h3,.example-card h3,.trap-card h3{color:var(--ink);line-height:1.35}.example-options{display:grid;gap:8px;margin:12px 0 14px;padding:12px;border:1px solid #b8ccbf;background:#eaf3ec}.example-options p{margin:0;color:var(--info);font-weight:900}.example-options div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.example-option{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #b8ccbf;background:#fbfdf8;color:var(--ink);font-weight:800;overflow-wrap:anywhere}.example-option.is-correct{border-color:#2f6b4f5c;background:#edf6ed;color:var(--green)}.example-option strong{flex:0 0 auto;color:var(--green);font-size:.78rem}blockquote{max-width:100%;margin:0 0 14px;padding:13px 16px;border-left:5px solid var(--info);background:#e2eef0;color:#10251f;line-height:1.75;overflow-wrap:anywhere;box-shadow:inset 0 0 0 1px #315a7414}.analysis-copy,.example-card>p,.trap-card>p{color:var(--ink);font-size:1rem;line-height:1.95}.analysis-copy strong,.example-card>p strong,.trap-card>p strong,.instant-feedback strong{display:inline-flex;align-items:center;margin-right:6px;padding:2px 7px;color:var(--green-dark);background:#dcebe0;font-weight:900;line-height:1.35}.analysis-list,.example-card>ul,.trap-card>ul{display:grid;gap:8px;margin:12px 0 16px;padding:12px 12px 12px 28px;border:1px solid rgba(47,107,79,.2);background:#e8f2eb}.analysis-list li,.example-card>ul li,.trap-card>ul li{color:var(--ink);line-height:1.8}.vocab-shell{position:relative;display:inline}.vocab-word{display:inline;color:inherit;cursor:help;outline:none}.vocab-word:focus-visible{background:#fff7d9;box-shadow:0 0 0 2px #c27a1a38}.vocab-tooltip{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;display:none;width:max-content;max-width:min(260px,70vw);padding:6px 9px;border:1px solid rgba(31,77,56,.2);color:#fff;background:var(--green-dark);box-shadow:0 8px 20px #0b22182e;font-size:.82rem;font-weight:800;line-height:1.35;transform:translate(-50%)}.vocab-tooltip:after{position:absolute;top:100%;left:50%;width:8px;height:8px;background:var(--green-dark);content:"";transform:translate(-50%,-50%) rotate(45deg)}.vocab-shell:hover .vocab-tooltip,.vocab-shell:focus-within .vocab-tooltip{display:inline-block}.vocab-shell:hover .vocab-word,.vocab-shell:focus-within .vocab-word{font-weight:700}.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.exam-callout{margin:12px 0 0;padding:14px;border-left:4px solid var(--info);background:#eef3f3}.exam-callout strong{display:block;margin-bottom:6px;color:var(--info)}.exam-callout p{margin-bottom:0}.exam-callout-warning{border-left-color:var(--amber);background:#fff6df}.exam-callout-warning strong{color:#8b5a12}.exam-callout-success{border-left-color:var(--green);background:#edf6ed}.exam-callout-success strong{color:var(--green-dark)}.term-sidebar{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow:auto;padding:18px}.term-list{display:grid;gap:12px}.term-card{padding:14px;border:1px solid #b8ccbf;background:#f1f7f2}.term-card h3{margin-bottom:10px;color:var(--green-dark)}.term-card dl{display:grid;gap:6px;margin:0}.term-card dt{color:var(--ink);font-size:.84rem;font-weight:900}.term-card dd{margin:0 0 8px}.last-review ul{display:grid;gap:8px;margin-bottom:0;padding-left:20px}.practice-shell{display:grid;gap:16px}.practice-progress{width:fit-content;padding:7px 12px;color:var(--green-dark);background:#dcebe0;font-weight:900}.question-list{display:grid;gap:16px}.practice-deck{display:grid;gap:12px}.practice-deck-status{display:grid;gap:8px 12px;min-height:42px;padding:10px 12px;border:1px solid rgba(47,107,79,.26);background:#e4f1e7;color:var(--green-dark);font-weight:900}.practice-status-copy{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}.practice-deck-status strong{color:#1f4d38}.practice-progressbar{width:100%;height:8px;overflow:hidden;border:1px solid rgba(47,107,79,.18);background:#f7fbf5}.practice-progressbar span{display:block;height:100%;background:linear-gradient(90deg,var(--green),#79a85d);transition:width .26s ease}.practice-next-action{width:100%}.practice-question{display:grid;gap:12px;padding:16px;border:1px solid #adc3b6;background:#fbfdf8}.practice-question.is-correct{border-color:#2f6b4f99;background:#f1f8ef;animation:correctPulse .9s ease-out}.practice-question.is-wrong{border-color:#b4453d99;background:#fff3ef}.question-head{display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0}.question-head h3{min-width:0;margin:0;overflow-wrap:anywhere}.answer-state{padding:4px 8px;color:#fff;background:var(--green);font-weight:900}.is-wrong .answer-state{background:var(--danger)}.is-correct .answer-state{box-shadow:0 0 0 4px #2f6b4f24}@keyframes correctPulse{0%{box-shadow:0 0 #2f6b4f57;transform:scale(1)}42%{box-shadow:0 0 0 8px #2f6b4f1a;transform:scale(1.006)}to{box-shadow:0 0 0 14px #2f6b4f00;transform:scale(1)}}.question-prompt{margin-bottom:0;color:var(--ink);font-weight:800}.option-list{display:grid;gap:8px}.answer-option{display:flex;gap:10px;align-items:flex-start;width:100%;min-width:0;padding:12px;border:1px solid #b8ccbf;color:var(--ink);text-align:left;background:#f4f9f2;overflow-wrap:anywhere}.answer-option span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:26px;color:var(--green-dark);background:#e2eddf;font-weight:900}.answer-option .option-text,.answer-option .vocab-shell,.answer-option .vocab-word,.answer-option .vocab-tooltip{display:inline;min-width:0;min-height:0;color:inherit;background:transparent}.answer-option .option-text{min-width:0;flex:1}.answer-option .vocab-tooltip{position:absolute;display:none;color:#fff;background:var(--green-dark)}.answer-option .vocab-shell:hover .vocab-tooltip,.answer-option .vocab-shell:focus-within .vocab-tooltip{display:inline-block}.answer-option.is-selected{outline:2px solid rgba(194,122,26,.36)}.answer-option.is-answer{border-color:#2f6b4fb3}.instant-feedback,.error-summary,.remediation-pending,.practice-hint,.remediation-panel,.level-complete{padding:14px;border-left:4px solid var(--info);background:#e3eef0;color:var(--ink)}.instant-feedback p,.error-summary p,.remediation-pending,.practice-hint,.remediation-panel p,.level-complete p{color:var(--ink);line-height:1.85}.instant-feedback p:last-child,.error-summary p:last-child,.remediation-pending,.practice-hint{margin-bottom:0}.component-breakdown{display:grid;gap:8px;margin-top:12px}.colored-sentence-line,.explanation-line{color:var(--ink);line-height:2}.sentence-highlight{--part-accent: var(--info);--part-bg: #f6f9f8;display:inline;padding:1px 5px;color:var(--part-accent);background:var(--part-bg);box-decoration-break:clone;-webkit-box-decoration-break:clone;font-weight:900}.breakdown-title{margin-bottom:0;color:#1f4f68;font-weight:900}.component-parts{display:grid;gap:8px;margin:0;padding:0;list-style:none}.analysis-part{--part-accent: var(--info);--part-bg: #f6f9f8;display:grid;grid-template-columns:minmax(76px,108px) minmax(0,1fr);gap:4px 12px;align-items:start;padding:10px 12px;border:1px solid rgba(49,90,116,.24);border-left:4px solid var(--part-accent);background:var(--part-bg)}.part-label{color:var(--part-accent);font-weight:900}.part-text{min-width:0;color:var(--ink);overflow-wrap:anywhere}.part-note{grid-column:2;color:var(--muted);font-size:.88rem}.part-background{--part-accent: #315a74;--part-bg: #edf5f8}.part-subject{--part-accent: #2f6b4f;--part-bg: #edf6ed}.part-predicate{--part-accent: #a86a18;--part-bg: #fff7e4}.part-object{--part-accent: #665287;--part-bg: #f3eff8}.part-complement{--part-accent: #3f6d72;--part-bg: #edf5f4}.part-modifier{--part-accent: #667063;--part-bg: #f3f5f0}.part-detail{--part-accent: #856715;--part-bg: #fff8df}.part-logic{--part-accent: #b4453d;--part-bg: #fff0ed}.part-signal{--part-accent: #315a74;--part-bg: #edf5f8}.part-answer{--part-accent: #2f6b4f;--part-bg: #edf6ed}.part-form{--part-accent: #a86a18;--part-bg: #fff7e4}.feedback-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.error-summary{border-left-color:var(--amber);background:#fff6df}.error-summary.is-clear{border-left-color:var(--green);background:#edf6ed}.summary-list{display:grid;gap:12px}.summary-item{display:grid;gap:8px;padding:14px;border:1px solid #b8ccbf;background:#f1f7f2}.summary-item div{display:flex;justify-content:space-between;gap:12px}.summary-item span{color:var(--danger);font-weight:900}.remediation-pending{border-left-color:var(--amber);background:#fff6df}.remediation-panel{display:grid;gap:14px;scroll-margin-top:24px;border-left-color:var(--amber);background:#fff6df}.remediation-panel h3,.level-complete h3{color:var(--green-dark)}.remediation-action,.completion-note{padding:12px;background:var(--paper);font-weight:800}.completion-note{color:var(--green-dark)}.level-complete{border-left-color:var(--green);background:#edf6ed}.level-completion-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.level-completion-actions .primary-action,.level-completion-actions .secondary-action{flex:1 1 180px}@media (max-width: 860px){.page-shell,.app-shell{padding:20px}.lesson-page{display:block;max-width:1180px}.level-nav{position:sticky;top:0;bottom:auto;left:auto;display:flex;gap:8px;align-items:center;width:auto;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;margin:10px 0 24px;-webkit-overflow-scrolling:touch}.level-nav-title{flex:0 0 auto;padding:0 12px 0 2px;border-right:1px solid var(--line);border-bottom:0}.level-nav a{flex:0 0 auto;scroll-snap-align:start}.lesson-section,.last-review,.term-sidebar{scroll-margin-top:76px}.home-intro{grid-template-columns:1fr}.home-intro h1{font-size:clamp(2.2rem,12vw,3.2rem)}.level-grid{grid-template-columns:1fr}.primary-action,.secondary-action,.text-action,.level-action{width:100%}.lesson-layout,.scene-grid,.example-options div{grid-template-columns:1fr}.term-sidebar{position:static;max-height:none}.analysis-part{grid-template-columns:1fr}.analysis-copy,.example-card>p,.trap-card>p,.instant-feedback p{line-height:1.95}.analysis-copy strong,.example-card>p strong,.trap-card>p strong,.instant-feedback strong{margin-bottom:6px}.part-note{grid-column:auto}}@media (max-width: 640px){.page-shell,.app-shell{padding:14px}.home-intro{gap:18px;padding:22px 0 18px}.home-intro h1{font-size:2.2rem;line-height:1.08}.home-lede,.lesson-hero p{font-size:1rem;line-height:1.72}.route-selector{grid-template-columns:1fr}.route-option{min-height:auto;padding:12px}.route-note{display:grid;gap:6px;padding:12px}.diagnostic-panel{padding:14px}.diagnostic-actions,.diagnostic-options{display:grid;grid-template-columns:1fr}.level-group-header{flex-direction:column;gap:4px}.level-card{min-height:auto}.lesson-hero{padding:18px 0 14px}.lesson-hero h1{font-size:2rem;line-height:1.1}.lesson-facts{gap:8px}.lesson-facts span,.error-chip{min-height:28px;font-size:.82rem}.level-nav{gap:6px;margin:8px 0 18px;padding:8px}.level-nav-title{min-height:34px;padding-right:10px;font-size:.8rem}.level-nav a{min-height:34px;padding:7px 10px;font-size:.9rem}.lesson-section,.last-review,.term-sidebar,.step-card,.example-card,.trap-card,.practice-shell,.practice-question{padding:14px}.lesson-section h2,.last-review h2,.term-sidebar h2{line-height:1.25}.example-options,.analysis-list,.example-card>ul,.trap-card>ul,.instant-feedback,.error-summary,.remediation-pending,.practice-hint,.remediation-panel,.level-complete{padding:12px}blockquote{padding:12px;line-height:1.82}.question-head{align-items:flex-start}.answer-state{flex:0 0 auto}.answer-option{padding:11px}.summary-item div{display:grid;gap:4px}.intro-modal-backdrop{align-items:start;padding:12px}.diagnostic-welcome-backdrop{align-items:center}.intro-modal{max-height:calc(100dvh - 24px);padding:18px}.intro-modal h2{font-size:1.55rem;line-height:1.18}.intro-modal h3{line-height:1.3}.intro-modal-body{padding:12px;color:var(--ink);font-size:1rem;line-height:1.85}}@media (max-width: 430px){.page-shell,.app-shell{padding:10px}.home-intro h1,.lesson-hero h1{font-size:1.85rem}.level-nav{margin-right:-10px;margin-left:-10px;border-right:0;border-left:0}.level-nav-title{position:sticky;left:0;z-index:1;background:rgba(255,253,246,.96)}.question-head{display:grid;gap:8px}.answer-state{width:fit-content}.answer-option span:first-child{min-width:24px;min-height:24px}.level-completion-actions .primary-action,.level-completion-actions .secondary-action{flex-basis:100%}}
