@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap");
:root{color-scheme:light;--background:#f7f0e5;--surface:#fffaf2;--surface-muted:#efe6da;--primary:#a85f45;--primary-hover:#914f39;--primary-soft:#f2ddd1;--success:#58715e;--success-soft:#e3ece3;--error:#a55345;--error-soft:#f3dfda;--info:#637a91;--info-soft:#e2e9ef;--accent-1:#82758f;--accent-1-soft:#e9e2ec;--accent-2:#788873;--accent-2-soft:#e2e8df;--peach:#edc7b5;--dusty-rose:#c98f89;--pale-blue:#cbdce7;--ink:#312d29;--muted:#766f68;--faint:#9b938a;--line:#ded4c7;--line-strong:#cbbdaf;--canvas:var(--background);--sidebar:#eee4d7;--white:var(--surface);--accent:var(--primary);--accent-soft:var(--primary-soft);--warm:var(--error);--warm-soft:var(--error-soft);--heat-0:#e9e0d5;--heat-1:#dfe5d9;--heat-2:#bdcbb6;--heat-3:#92a58a;--heat-4:#687e63;--shadow:0 18px 46px rgba(73,55,40,.075);--motion-fast:160ms;--motion-medium:280ms;font-family:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);min-width:320px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:28px 20px 22px;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:20px "Newsreader",Georgia,serif}.brand-mark{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:8px;font-size:16px}.course-control{margin:38px 4px 24px}.course-control label,.meta-label{display:block;color:var(--faint);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.select-wrap{position:relative;margin-top:8px}.select-wrap select{width:100%;appearance:none;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.46);color:var(--ink);padding:10px 32px 10px 11px;font-size:13px}.select-wrap span{position:absolute;right:11px;top:8px;pointer-events:none;color:var(--muted)}
.primary-nav{display:flex;flex-direction:column;gap:3px}.primary-nav a{display:flex;align-items:center;gap:12px;border-radius:8px;padding:10px 11px;color:#5f605a;text-decoration:none;font-size:13px}.primary-nav a:hover{color:var(--ink);background:rgba(255,255,255,.44)}.primary-nav a.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(40,38,32,.04)}.nav-icon{width:17px;color:var(--faint);text-align:center;font-size:15px}.primary-nav a.active .nav-icon{color:var(--accent)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.sidebar-foot .quiet{margin-left:auto}.status-dot,.live-mark{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.main-area{grid-column:2;min-width:0}.topbar{height:64px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:rgba(246,244,239,.93);border-bottom:1px solid rgba(222,219,210,.75);backdrop-filter:blur(14px)}.breadcrumb{display:flex;gap:9px;color:var(--faint);font-size:12px}.breadcrumb strong{color:var(--muted);font-weight:500}.text-button,.icon-button{border:0;background:transparent;color:var(--muted);cursor:pointer}.text-button{padding:6px 0;font-size:12px}.text-button:hover{color:var(--ink)}.icon-button{width:34px;height:34px;border-radius:8px;font-size:20px}.icon-button:hover{background:var(--sidebar)}.mobile-only{display:none}
.page{min-height:calc(100vh - 64px);padding:72px 5vw 96px;animation:page-in .22s ease-out}@keyframes page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-narrow{width:min(920px,100%);margin:0 auto}.page-wide{width:min(1180px,100%);margin:0 auto}.eyebrow,.section-label{margin:0;color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}h1,h2{font-family:"Newsreader",Georgia,serif;font-weight:400}h1{margin:12px 0 13px;font-size:clamp(38px,4.3vw,60px);line-height:1.03;letter-spacing:-.025em}h2{letter-spacing:-.015em}h3{margin:0;font-size:14px;font-weight:600}.page-intro,.page-heading p{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.quiet{color:var(--faint)}
.thread-panel{margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr) 210px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.thread-main,.thread-aside,.today-secondary>*{min-width:0}.thread-main{padding:32px 34px 34px}.section-label{display:flex;align-items:center;gap:8px}.thread-course{margin:28px 0 6px;color:var(--muted);font-size:12px}.thread-main h2{margin:0;max-width:590px;font-size:29px;line-height:1.2;overflow-wrap:anywhere}.thread-direction{margin:14px 0 28px;color:var(--muted);font-size:13px}.thread-aside{padding:32px 26px;border-left:1px solid var(--line);background:rgba(239,237,231,.38);display:flex;flex-direction:column}.thread-aside strong{margin-top:23px;font:500 19px/1.25 "Newsreader",serif}.thread-aside span{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}.primary-button,.secondary-button{border-radius:8px;padding:10px 15px;cursor:pointer;font-size:12px;font-weight:600;transition:.15s}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff}.primary-button:hover{background:#3a3b36;transform:translateY(-1px)}.primary-button span{margin-left:18px}.secondary-button{border:1px solid var(--line);background:transparent;color:var(--muted)}.secondary-button:hover{border-color:var(--line-strong);color:var(--ink)}.today-secondary{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:52px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line)}.section-heading>span,.section-heading a{color:var(--faint);font-size:11px;text-decoration:none}.goal-stack{padding:13px 0}.goal-item{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0}.goal-index{color:var(--faint);font:14px "Newsreader",serif}.goal-item strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.goal-item span{color:var(--faint);font-size:10px}.signal-card{padding:22px 0}.signal-card .signal-result{display:inline-block;margin-bottom:10px;border-radius:999px;padding:4px 9px;background:var(--accent-soft);color:var(--accent);font-size:10px}.signal-card strong{display:block;font:400 18px/1.4 "Newsreader",serif}.signal-card p{margin:7px 0 0;color:var(--muted);font-size:11px}.empty-inline{color:var(--muted);font-size:12px;line-height:1.7}
.learn-page{padding-top:42px}.learn-header{width:min(1240px,100%);margin:0 auto 28px;display:flex;align-items:end;justify-content:space-between}.learn-header h1{margin:7px 0 0;font-size:35px}.learn-tools{display:flex;align-items:center;gap:10px}.state-pill,.kind-badge{border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:var(--muted);background:var(--surface);font-size:10px}.stage-track{width:min(1240px,100%);margin:0 auto 18px;display:flex;align-items:center;color:var(--faint);font-size:10px}.stage-track span{white-space:nowrap}.stage-track span.active{color:var(--accent);font-weight:600}.stage-track i{height:1px;flex:1;min-width:20px;margin:0 12px;background:var(--line)}.learning-workspace{width:min(1240px,100%);min-height:590px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(440px,1.28fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.lesson-pane{padding:34px;background:#f0eee8;border-right:1px solid var(--line)}.lesson-pane h2{margin:14px 0 20px;font-size:26px}.lesson-copy{color:#50514c;font:400 16px/1.8 "Newsreader",Georgia,serif;white-space:pre-line}.reference-disclosure{margin-top:32px;border-block:1px solid var(--line-strong)}.reference-disclosure summary{padding:13px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;cursor:pointer;list-style:none}.reference-disclosure summary::-webkit-details-marker{display:none}.reference-body{padding:0 0 15px;color:var(--faint);font-size:11px;line-height:1.6}.reference-body a{color:var(--accent)}.problem-pane{position:relative;padding:35px 40px 40px}.problem-topline{display:flex;align-items:center;justify-content:space-between}.problem-pane>h2{margin:30px 0 32px;font-size:clamp(23px,2.3vw,31px);line-height:1.4;white-space:pre-line}.answer-label{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.answer-input{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--white);color:var(--ink);font-size:14px}.answer-input:focus{border-color:var(--accent);outline:2px solid rgba(83,107,95,.12)}#answer-form>.primary-button{margin-top:18px;min-width:116px}.choice-options{display:grid;gap:9px}.choice-option{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:var(--white);cursor:pointer;font-size:13px}.choice-option:hover,.choice-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice-option input{margin-top:2px;accent-color:var(--accent)}.choice-letter{color:var(--accent);font-weight:600}
.self-check{margin-top:26px;padding-top:25px;border-top:1px solid var(--line)}.reference-answer{padding:17px 19px;border-left:3px solid var(--accent);background:var(--accent-soft)}.reference-answer strong{display:block;margin:8px 0 4px;font:500 18px "Newsreader",serif}.reference-answer p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.self-check-prompt{margin-top:25px}.self-check-prompt h3{margin-top:8px}.self-check-prompt>p:last-child{margin:6px 0 0;color:var(--muted);font-size:11px}.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.outcome-grid button{padding:12px 13px;text-align:left;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer}.outcome-grid button:hover{border-color:var(--accent);background:var(--white)}.outcome-grid strong,.outcome-grid span{display:block}.outcome-grid strong{font-size:12px}.outcome-grid span{margin-top:3px;color:var(--faint);font-size:10px}.next-action-panel{margin-top:26px;padding:19px;border:1px solid var(--line);border-radius:10px;background:var(--white);display:flex;align-items:center;justify-content:space-between;gap:20px}.next-action-panel>div{display:flex;align-items:center;gap:13px}#action-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.next-action-panel strong{font-size:12px}.next-action-panel p{margin:3px 0 0;color:var(--muted);font-size:10px}
.page-heading{margin-bottom:40px}.page-heading h1{font-size:48px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-bottom:40px}.summary-item{padding:24px 22px;border-right:1px solid var(--line)}.summary-item:first-child{padding-left:0}.summary-item:last-child{border:0}.summary-item span{display:block;color:var(--muted);font-size:11px}.summary-item strong{display:block;margin-top:7px;font:400 34px "Newsreader",serif}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.data-panel{border:1px solid var(--line);border-radius:12px;background:rgba(251,250,247,.74);padding:24px}.bar-chart,.evidence-chart{display:grid;gap:15px;padding-top:22px}.bar-row{display:grid;grid-template-columns:105px 1fr 28px;align-items:center;gap:12px;font-size:11px}.bar-track{height:6px;background:#e9e6df;border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:inherit}.bar-row:nth-child(3n+2) .bar-fill{background:#7c847c}.bar-row:nth-child(3n+3) .bar-fill{background:var(--warm)}.bar-count{color:var(--muted);text-align:right}.method-note{margin:19px 0 0;color:var(--faint);font-size:9px;line-height:1.5}.recent-panel{margin:22px 0}.history-list{padding-top:6px}.history-item{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.result-tag{width:fit-content;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px;white-space:nowrap}.result-tag.warning{background:var(--warm-soft);color:var(--warm)}.history-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}.history-copy span,.history-time{color:var(--faint);font-size:9px}.history-table{padding-top:4px}
.heatmap-panel{overflow-x:auto}.heatmap-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.heatmap-head>div:first-child{display:flex;align-items:baseline;gap:8px}.heatmap-head strong{font:400 28px "Newsreader",serif}.heatmap-head span{color:var(--muted);font-size:10px}.heat-legend{display:flex;align-items:center;gap:4px}.heat-legend i,.heat-cell{width:11px;height:11px;border-radius:2px;background:#e8e5de}[data-level="1"]{background:#d6dfd8!important}[data-level="2"]{background:#aebfb4!important}[data-level="3"]{background:#7d9a89!important}[data-level="4"]{background:#526f5e!important}.heatmap-grid{min-width:675px;display:grid;grid-template-rows:repeat(7,11px);grid-auto-flow:column;grid-auto-columns:11px;gap:4px}.heat-cell{border:0;padding:0;cursor:pointer}.heat-cell:hover,.heat-cell.selected{outline:1px solid var(--ink);outline-offset:2px}.day-detail{margin-top:22px}.day-detail h3{font:400 20px "Newsreader",serif}.day-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:18px}.day-stat{border-right:1px solid var(--line)}.day-stat:last-child{border:0}.day-stat strong,.day-stat span{display:block}.day-stat strong{font:400 22px "Newsreader",serif}.day-stat span{margin-top:4px;color:var(--faint);font-size:9px}
.side-quest-list{margin-top:38px}.side-quest{padding:20px 0;border-top:1px solid var(--line)}.side-quest h3{font:400 20px "Newsreader",serif}.side-quest p{color:var(--muted);font-size:11px}.empty-state{padding:52px;border:1px dashed var(--line-strong);border-radius:12px;text-align:center}.empty-state .empty-symbol{width:42px;height:42px;margin:0 auto 15px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent)}.empty-state h3{font:400 21px "Newsreader",serif}.empty-state p{max-width:420px;margin:8px auto 0;color:var(--muted);font-size:11px;line-height:1.7}
.history-dialog{width:min(680px,calc(100vw - 32px));max-height:82vh;margin:auto 0 auto auto;border:0;border-left:1px solid var(--line);padding:0;background:var(--surface);color:var(--ink);box-shadow:-18px 0 45px rgba(30,29,25,.1)}.history-dialog::backdrop{background:rgba(43,42,38,.22)}.dialog-head{position:sticky;top:0;z-index:2;padding:26px 30px 20px;display:flex;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}.dialog-head h2{margin:6px 0 0;font-size:28px}.history-dialog .history-list{padding:8px 30px 28px}.toast{position:fixed;right:24px;bottom:24px;z-index:50;max-width:340px;padding:12px 16px;border-radius:9px;background:var(--ink);color:#fff;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.loading-state{min-height:calc(100vh - 64px);display:grid;place-content:center;justify-items:center;color:var(--muted);font-size:12px}.loading-state span{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.app-shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{width:208px}.learning-workspace{grid-template-columns:1fr}.lesson-pane{border-right:0;border-bottom:1px solid var(--line)}.progress-grid{grid-template-columns:1fr}.page{padding-inline:4vw}}
@media(max-width:720px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow)}body.menu-open .sidebar{transform:none}.main-area{width:100%}.mobile-only{display:inline-grid;place-items:center}.topbar{padding:0 17px}.breadcrumb{margin-right:auto;margin-left:8px}.page{padding:46px 18px 72px}.thread-panel{grid-template-columns:1fr}.thread-aside{border-left:0;border-top:1px solid var(--line)}.today-secondary,.summary-grid{grid-template-columns:1fr 1fr}.summary-item:nth-child(2){border-right:0}.summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.lesson-pane,.problem-pane{padding:28px 22px}.learn-header{align-items:start}.learn-tools .state-pill{display:none}.stage-track{overflow-x:auto;padding-bottom:5px}.outcome-grid{grid-template-columns:1fr}.next-action-panel{align-items:stretch;flex-direction:column}.day-stats{grid-template-columns:repeat(3,1fr);row-gap:20px}.history-item{grid-template-columns:100px minmax(0,1fr)}.history-time{display:none}}
@media(max-width:520px){.today-secondary,.summary-grid{grid-template-columns:1fr;gap:30px}.summary-item,.summary-item:first-child{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.summary-item:last-child{border-bottom:0}.thread-main,.thread-aside{padding:26px 24px}.thread-main h2{font-size:25px}.page-heading h1{font-size:40px}}
.choice-option.correct{border-color:#78917f;background:#e8eee9}.choice-option.correct .choice-letter{color:#466551}.choice-option.wrong{border-color:#b77a6b;background:#f5e8e3}.choice-option.wrong .choice-letter{color:#944f40}.auto-result{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.auto-result-heading{display:flex;align-items:center;gap:12px}.auto-result-heading>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-weight:600}.auto-result.correct .auto-result-heading>span{background:#e3ece5;color:#466551}.auto-result.incorrect .auto-result-heading>span{background:#f4e4df;color:#984f40}.auto-result-heading strong{font-size:13px}.auto-result-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.auto-result-explanation{margin-top:16px;padding:16px 18px;border-left:3px solid var(--line-strong);background:rgba(239,237,231,.55)}.auto-result-explanation>strong{display:block;margin:7px 0 4px;font:500 18px "Newsreader",serif}.auto-result-explanation>p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.next-action-panel .retry-action{border-color:var(--warm);background:var(--warm);color:#fff}.next-action-panel .retry-action:hover{background:#915744}
.today-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.secondary-button:disabled{cursor:default;opacity:.55}.secondary-button:disabled:hover{border-color:var(--line);color:var(--muted)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Warm theme layer: component overrides consume semantic tokens above. */
.primary-nav a{color:var(--muted)}
.primary-nav a:hover{background:color-mix(in srgb,var(--surface) 62%,transparent)}
.primary-button{border-color:var(--primary);background:var(--primary);color:var(--surface)}
.primary-button:hover{border-color:var(--primary-hover);background:var(--primary-hover)}
.secondary-button{background:color-mix(in srgb,var(--surface) 44%,transparent)}
.secondary-button:hover{background:var(--surface)}
.lesson-pane{background:var(--surface-muted)}
.lesson-copy{color:var(--ink)}
.answer-input,.choice-option{background:var(--surface)}
.answer-input:focus{border-color:var(--primary);outline-color:color-mix(in srgb,var(--primary-soft) 72%,transparent)}
.choice-option{transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}
.choice-option:hover,.choice-option:has(input:checked){border-color:var(--primary);background:var(--primary-soft);transform:translateX(2px)}
.bar-track{background:var(--surface-muted)}
.bar-fill{background:var(--primary)}
.bar-row:nth-child(3n+2) .bar-fill{background:var(--accent-2)}
.bar-row:nth-child(3n+3) .bar-fill{background:var(--accent-1)}
.heat-legend i,.heat-cell{background:var(--heat-0)}
[data-level="1"]{background:var(--heat-1)!important}
[data-level="2"]{background:var(--heat-2)!important}
[data-level="3"]{background:var(--heat-3)!important}
[data-level="4"]{background:var(--heat-4)!important}
.choice-option.correct,.choice-option.correct:hover,.choice-option.correct:has(input:checked){border-color:var(--success);background:var(--success-soft);transform:none}
.choice-option.correct .choice-letter{color:var(--success)}
.choice-option.correct input{accent-color:var(--success)}
.choice-option.wrong,.choice-option.wrong:hover,.choice-option.wrong:has(input:checked){border-color:var(--error);background:var(--error-soft);transform:none}
.choice-option.wrong .choice-letter{color:var(--error)}
.choice-option.wrong input{accent-color:var(--error)}
.auto-result.correct .auto-result-heading>span{background:var(--success-soft);color:var(--success)}
.auto-result.incorrect .auto-result-heading>span{background:var(--error-soft);color:var(--error)}
.auto-result.correct .auto-result-explanation{border-left-color:var(--success);background:var(--success-soft)}
.auto-result.incorrect .auto-result-explanation{border-left-color:var(--error);background:var(--error-soft)}
.learning-workspace.english-mode.explanation-revealed.feedback-correct .lesson-pane{background:var(--success-soft)}
.learning-workspace.english-mode.explanation-revealed.feedback-incorrect .lesson-pane{background:var(--error-soft)}
.next-action-panel.feedback-correct{border-color:color-mix(in srgb,var(--success) 42%,var(--line));background:var(--success-soft)}
.next-action-panel.feedback-correct #action-icon{background:var(--success);color:var(--surface)}
.next-action-panel.feedback-correct .primary-button{border-color:var(--success);background:var(--success)}
.next-action-panel.feedback-incorrect{border-color:color-mix(in srgb,var(--error) 42%,var(--line));background:var(--error-soft)}
.next-action-panel.feedback-incorrect #action-icon{background:var(--error);color:var(--surface)}
.next-action-panel.feedback-incorrect .primary-button{border-color:var(--error);background:var(--error)}

.playful-toggle{margin-top:auto;width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--muted);font-size:10px;cursor:pointer}
.playful-toggle strong{padding:3px 7px;border-radius:999px;background:var(--accent-1-soft);color:var(--accent-1);font-size:9px}
.playful-toggle[aria-pressed="false"] strong{background:var(--surface-muted);color:var(--faint)}

.learning-workspace.english-mode{grid-template-columns:minmax(190px,.42fr) minmax(520px,1.58fr)}
.learning-workspace.english-mode .lesson-pane{background:color-mix(in srgb,var(--surface-muted) 76%,var(--surface));transition:background var(--motion-medium)}
.learning-workspace.english-mode .lesson-copy{font-size:14px;color:var(--muted)}
.learning-workspace.english-mode .reference-disclosure{opacity:0;pointer-events:none;max-height:0;margin:0;border:0;overflow:hidden;transition:opacity var(--motion-medium),max-height var(--motion-medium)}
.learning-workspace.english-mode.explanation-revealed{grid-template-columns:minmax(270px,.66fr) minmax(500px,1.34fr)}
.learning-workspace.english-mode.explanation-revealed .lesson-pane{background:var(--primary-soft)}
.learning-workspace.english-mode.explanation-revealed .lesson-copy{color:var(--ink);font-size:16px}
.learning-workspace.english-mode.explanation-revealed .reference-disclosure{opacity:1;pointer-events:auto;max-height:160px;margin-top:32px;border-block:1px solid var(--line-strong)}
.problem-pane{background:var(--surface)}
.problem-pane>h2{font-size:clamp(25px,2.5vw,34px)}
.auto-result{position:relative;animation:feedback-in var(--motion-medium) ease-out}
@keyframes feedback-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.interlude{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(49,45,41,.22);backdrop-filter:blur(7px)}
.interlude-card{width:min(520px,100%);padding:46px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 30px 80px rgba(73,55,40,.16);text-align:center;animation:interlude-in var(--motion-medium) ease-out}
.interlude-mark{display:block;height:32px;color:var(--primary);font:56px/1 "Newsreader",serif}
.interlude-card h2{margin:14px 0 5px;font-size:36px}
.interlude-card>p:not(.eyebrow){margin:0 0 30px;color:var(--muted);font:18px "Newsreader",serif}
@keyframes interlude-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

.ambient-root{position:fixed;right:20px;bottom:18px;z-index:45;pointer-events:none}
.ambient-bubble{pointer-events:auto;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--line));border-radius:50%;background:var(--primary-soft);color:var(--primary);box-shadow:0 9px 25px rgba(73,55,40,.12);cursor:pointer;animation:bubble-arrive .45s ease-out,bubble-float 2.8s ease-in-out infinite}
.ambient-bubble.leaving{opacity:0;transform:translateY(7px);transition:opacity var(--motion-medium),transform var(--motion-medium)}
@keyframes bubble-arrive{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes bubble-float{50%{transform:translateY(-4px)}}
.cat-companion{position:relative;width:78px;height:48px;border:1px solid #caa992;border-radius:50% 48% 40% 44%;background:#e7c9b5;color:#6d4d3e;box-shadow:0 10px 28px rgba(73,55,40,.12);pointer-events:none;transform-origin:bottom right;animation:cat-idle 4s ease-in-out infinite}
.cat-companion::before,.cat-companion::after{content:"";position:absolute;top:-10px;width:20px;height:22px;background:#e7c9b5;border:1px solid #caa992;transform:rotate(45deg);z-index:-1}
.cat-companion::before{left:10px}.cat-companion::after{left:36px}
.cat-face{position:absolute;left:16px;top:14px;font:600 12px/1 monospace;white-space:nowrap}
.cat-tail{position:absolute;right:-17px;bottom:7px;width:28px;height:10px;border:5px solid #caa992;border-left:0;border-bottom:0;border-radius:0 20px 0 0;transform-origin:left center;animation:cat-tail 2.8s ease-in-out infinite}
.cat-companion.arriving{animation:cat-arrive .5s ease-out}.cat-companion.leaving{opacity:0;transform:translateX(18px);transition:opacity .5s,transform .5s}
@keyframes cat-idle{50%{transform:translateY(1px)}}@keyframes cat-tail{50%{transform:rotate(12deg)}}@keyframes cat-arrive{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.tiny-reward{position:absolute;right:12px;top:12px;color:var(--primary);font-size:16px;pointer-events:none;animation:tiny-star 1.2s ease-out forwards}
@keyframes tiny-star{0%{opacity:0;transform:translateY(5px) scale(.7)}35%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-12px) scale(1.1)}}

@media(max-width:980px){.learning-workspace.english-mode,.learning-workspace.english-mode.explanation-revealed{grid-template-columns:1fr}.learning-workspace.english-mode .problem-pane{order:1}.learning-workspace.english-mode .lesson-pane{order:2;border-right:0;border-top:1px solid var(--line)}}
@media(max-width:720px){.ambient-root{right:8px;bottom:8px}.cat-companion{transform:scale(.84);transform-origin:bottom right}.interlude-card{padding:36px 24px}.interlude-card h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.ambient-root{display:none}.auto-result,.interlude-card{animation:none}}
