:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f8f4ea;--surface:#fffdf8;--surface-2:#f1eadc;--surface-strong:var(--surface);--ink:#31365a;--ink-soft:#5f6479;--muted:var(--ink-soft);--line:#31365a;--line-soft:#31365a24;--purple:#6c5ce7;--purple-soft:#e8e2ff;--mint:#70c7b3;--mint-soft:#dff4ed;--coral:#ff7d78;--coral-soft:#ffe3df;--yellow:#ffc857;--yellow-soft:#fff1c8;--blue:#6bb8e8;--blue-soft:#e1f3ff;--green:#48a868;--danger:#d9535f;--accent:var(--purple);--accent-strong:#5140c8;--accent-text:#fff;--mint-ink:#317565;--warning:var(--yellow-soft);--on-yellow:#31365a;--pill-mint-ink:#317565;--pill-purple-ink:#4637b9;--pill-coral-ink:#a54b48;--pill-yellow-ink:#8c651c;--pill-blue-ink:#347da9;--shadow:0 7px 0 #31365a24;--shadow-soft:0 12px 32px #31365a1f;--shadow-color:#31365a24;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--safe-bottom:max(12px, env(safe-area-inset-bottom));--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 15% 20%, #6c5ce729, transparent 26%), radial-gradient(circle at 84% 78%, #70c7b32e, transparent 28%), var(--bg);margin:0;font-family:ui-rounded,SF Pro Rounded,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:4px solid #6c5ce752}svg{display:block}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-shell{width:min(100% - 32px,1040px);min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 0 calc(124px + env(safe-area-inset-bottom));margin:0 auto}.brand-bar{align-items:center;gap:10px;min-height:64px;display:flex}.avatar-button{appearance:none;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.avatar-face{border:2px solid var(--ink);background:var(--yellow);width:42px;height:42px;color:var(--on-yellow);box-shadow:0 4px 0 var(--shadow-color);border-radius:15px;place-items:center;font-weight:950;display:grid}.avatar-copy{flex-direction:column;line-height:1.14;display:flex}.avatar-copy b{font-size:15px}.avatar-copy small{color:var(--ink-soft);margin-top:4px;font-size:11px;font-weight:750}.header-spacer{flex:1}.sync-status-button{border:1.5px solid var(--line-soft);background:color-mix(in srgb, var(--surface) 88%, transparent);min-height:34px;color:var(--ink-soft);border-radius:12px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:900;display:inline-flex}.sync-dot{background:var(--mint);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #70c7b32e}.sync-status-button.is-offline .sync-dot{background:var(--yellow);box-shadow:0 0 0 3px #ffc85733}.sync-status-button.has-pending .sync-dot{background:var(--blue)}.resource-pill{background:var(--surface);border:2px solid var(--ink);min-width:68px;height:38px;box-shadow:0 4px 0 var(--shadow-color);border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:900;display:inline-flex}.resource-pill span{color:var(--purple);font-size:18px}.icon-button{appearance:none;border:2px solid var(--ink);background:var(--surface);cursor:pointer;width:42px;height:42px;box-shadow:0 4px 0 var(--shadow-color);border-radius:14px;place-items:center;display:grid}.icon-button:active{box-shadow:0 2px 0 var(--shadow-color);transform:translateY(2px)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.brand{color:var(--ink);align-items:center;gap:10px;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);background:var(--yellow);width:40px;height:40px;color:var(--on-yellow);box-shadow:0 3px 0 var(--shadow-color);border-radius:14px;place-items:center;display:grid}.session-label{color:var(--ink-soft);font-size:.82rem;font-weight:700}.welcome-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin:38px 0 24px;display:grid}.status-kicker,.stage-label{color:var(--accent-strong);letter-spacing:.08em;margin:0 0 8px;font-size:.78rem;font-weight:800}h1{letter-spacing:-.04em;max-width:17ch;margin:0;font-size:clamp(2rem,5vw,3.7rem);line-height:1.05}.sync-badge{border:2px solid var(--ink);border-radius:var(--radius-md);max-width:260px;color:var(--pill-mint-ink);background:var(--mint-soft);box-shadow:0 4px 0 var(--shadow-color);padding:10px 14px;font-size:.84rem;font-weight:800}.sync-badge.is-offline{color:var(--pill-yellow-ink);background:var(--yellow-soft)}.sync-badge.is-syncing{color:var(--pill-blue-ink);background:var(--blue-soft)}.sync-badge.is-conflict{color:var(--pill-coral-ink);background:var(--coral-soft)}.card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-soft{background:color-mix(in srgb, var(--surface) 84%, transparent);border:2px solid var(--line-soft);border-radius:var(--radius-lg)}.learning-panel,.message-panel,.task-panel{border:2px solid var(--ink);border-radius:var(--radius-xl);background:var(--surface-strong);box-shadow:var(--shadow), var(--shadow-soft);scroll-margin-bottom:100px}.learning-panel{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:24px;padding:clamp(22px,5vw,48px);display:grid}.plan-summary{border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--yellow);flex-direction:column;justify-content:space-between;min-height:230px;padding:22px;display:flex;box-shadow:0 5px #d69b25}.plan-summary p{max-width:30ch;color:var(--on-yellow);margin:0;line-height:1.55}.plan-summary strong{margin-top:6px;font-size:3.25rem;line-height:1;display:block}.plan-summary strong span{color:var(--on-yellow);font-size:1.1rem}.task-preview{align-self:center;min-height:170px}.task-preview h2{max-width:20ch;margin:0 0 12px;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.15}.task-preview p{color:var(--muted);margin:0;line-height:1.6}.primary-button,.secondary-button,.ghost-button{appearance:none;border:2px solid var(--ink);cursor:pointer;border-radius:17px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 24px;font-weight:900;display:inline-flex}.primary-button{color:var(--accent-text);background:var(--accent);box-shadow:0 5px #4637b9}.primary-button:hover{background:var(--accent-strong)}.secondary-button{color:var(--on-yellow);background:var(--yellow);padding:0 22px;box-shadow:0 5px #d69b25}.ghost-button{color:var(--ink);background:var(--surface);box-shadow:0 5px 0 var(--shadow-color)}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:translateY(3px);box-shadow:0 2px #31365a33}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.pill{border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:5px 10px;font-size:11px;font-weight:850;display:inline-flex}.pill.purple{background:var(--purple-soft);color:var(--pill-purple-ink)}.pill.mint{background:var(--mint-soft);color:var(--pill-mint-ink)}.pill.coral{background:var(--coral-soft);color:var(--pill-coral-ink)}.pill.yellow{background:var(--yellow-soft);color:var(--pill-yellow-ink)}.pill.blue{background:var(--blue-soft);color:var(--pill-blue-ink)}.progress-track{background:#31365a1a;border-radius:999px;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--purple), #8d7df6);height:100%;transition:width .45s var(--ease)}.task-panel{max-width:820px;margin:34px auto 0;padding:clamp(22px,6vw,52px)}.task-heading h1{max-width:22ch;font-size:clamp(1.8rem,5vw,3.2rem)}.display-text{color:var(--muted);margin:18px 0 0;font-size:1.15rem;line-height:1.6}.capability-notice{border:2px solid var(--ink);border-radius:var(--radius-md);color:var(--pill-yellow-ink);background:var(--warning);margin:18px 0 0;padding:12px 16px;font-weight:700;line-height:1.5}.audio-speed{gap:8px;display:flex}.speed-button{border:2px solid var(--ink);border-radius:var(--radius-md);min-height:44px;color:var(--ink);background:var(--surface);box-shadow:0 3px 0 var(--shadow-color);cursor:pointer;padding:0 18px;font-weight:800}.speed-button.is-active{color:var(--accent-text);background:var(--accent)}.answer-form{gap:22px;margin-top:30px;display:grid}.text-answer>span{color:var(--muted);margin-bottom:12px;font-size:.9rem;font-weight:800}.answer-card{margin-top:4px;padding:18px}.text-answer{gap:10px;display:grid}.text-answer textarea{resize:vertical;border:2px solid var(--ink);border-radius:var(--radius-md);width:100%;min-height:120px;color:var(--ink);background:var(--surface);font:inherit;padding:14px 16px;line-height:1.55}.text-answer textarea:focus{outline-offset:2px;outline:4px solid #6c5ce752}.form-status{min-height:24px;color:var(--accent-strong);margin:0;font-weight:750}.answer-actions{justify-content:space-between;gap:14px;display:flex}.conflict-note{border-radius:var(--radius-md);background:var(--coral-soft);color:var(--pill-coral-ink);margin:12px 0 0;padding:12px 14px;font-weight:700}.message-panel{max-width:720px;margin:80px auto 0;padding:clamp(28px,7vw,64px)}.message-panel.warning{background:var(--warning)}.message-panel h1{margin-bottom:18px}.message-panel p:not(.status-kicker){max-width:46ch;color:var(--muted);margin:0 0 28px;line-height:1.65}.message-panel input:not([type=checkbox]){border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--surface);width:100%;margin:12px 0;padding:12px;display:block}.primary-nav,.bottom-nav{z-index:10;right:16px;bottom:max(16px, env(safe-area-inset-bottom));border:2px solid var(--ink);background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;grid-template-columns:repeat(3,1fr);width:min(100% - 32px,560px);min-height:68px;margin:auto;padding:7px;display:grid;position:fixed;left:16px;box-shadow:0 9px #31365a29,0 18px 28px #31365a29}.nav-item{min-height:52px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;font-weight:850;display:flex}.nav-item svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.nav-item.is-active{color:var(--accent-text);background:var(--accent)}.nav-item:disabled{opacity:.5}.skeleton{background:var(--surface-2);border-radius:14px}.skeleton-short{width:28%;height:18px}.skeleton-title{width:68%;height:52px}.skeleton-block{grid-column:1/-1;height:230px}.today-greeting{justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 2px 14px;display:flex}.today-greeting h1{letter-spacing:-.04em;margin:0;font-size:27px}.today-greeting p{color:var(--ink-soft);margin:5px 0 0;font-size:13px;font-weight:700}.today-hero{border:2px solid var(--ink);color:#fff;background:linear-gradient(145deg,#7767ed,#5c4bd0);border-radius:30px;min-height:250px;padding:20px;position:relative;overflow:hidden;box-shadow:0 9px #41349a,0 18px 35px #4b3cbe38}.today-hero:before,.today-hero:after{content:"";background:#ffffff1f;border-radius:50%;position:absolute}.today-hero:before{width:180px;height:180px;top:-72px;right:-64px}.today-hero:after{width:120px;height:120px;bottom:-62px;left:-50px}.hero-topline{z-index:2;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.hero-topline .pill{color:#fff;background:#ffffff2e}.hero-title{z-index:2;letter-spacing:-.04em;max-width:250px;margin:14px 0 4px;font-size:29px;line-height:1.16;position:relative}.hero-sub{z-index:2;color:#ffffffd1;max-width:250px;margin:0;font-size:13px;font-weight:700;position:relative}.hero-progress-row{z-index:2;align-items:center;gap:10px;margin-top:18px;display:flex;position:relative}.hero-progress-row .progress-track{background:#fff3;flex:1}.hero-progress-row .progress-fill{background:var(--yellow)}.hero-action{z-index:3;background:var(--yellow);width:100%;min-height:54px;color:var(--on-yellow);border:2px solid var(--ink);cursor:pointer;border-radius:18px;margin-top:17px;font-weight:950;position:relative;box-shadow:0 5px #d69b25}.hero-action:active{transform:translateY(3px);box-shadow:0 2px #d69b25}.hero-action:disabled{opacity:.55;cursor:default;transform:none}.hero-mascot{z-index:1;filter:drop-shadow(0 12px 12px #1c165838);width:142px;height:142px;position:absolute;bottom:54px;right:4px}.hero-mascot .mascot{width:100%;height:100%}.hero-complete-stamp{z-index:3;border:3px solid var(--yellow);color:var(--yellow);background:#31365a2e;border-radius:12px;padding:8px 12px;font-weight:950;position:absolute;top:52px;right:15px;transform:rotate(8deg)}.section-title-row{justify-content:space-between;align-items:flex-end;gap:12px;margin:24px 2px 12px;display:flex}.section-title-row h2{letter-spacing:-.02em;margin:0;font-size:20px;line-height:1.2}.section-title-row p{color:var(--ink-soft);margin:4px 0 0;font-size:12px;font-weight:700}.plan-list{gap:10px;display:grid}.plan-item{background:var(--surface);border:2px solid var(--line-soft);border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.plan-item.is-current{border-color:var(--purple);box-shadow:0 4px #6c5ce72e}.plan-item.is-done{background:var(--mint-soft)}.plan-item.is-done .plan-copy span,.plan-item.is-done .plan-duration{color:var(--mint-ink)}.plan-index{background:var(--surface-2);border-radius:14px;place-items:center;width:40px;height:40px;font-weight:950;display:grid}.plan-item.is-current .plan-index{background:var(--purple-soft);color:var(--purple)}.plan-item.is-done .plan-index{background:var(--mint);color:#fff}.plan-copy{min-width:0}.plan-copy b{font-size:14px;display:block}.plan-copy span{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;font-weight:700;display:block;overflow:hidden}.plan-duration{color:var(--ink-soft);font-size:11px;font-weight:850}.growth-hero{background:linear-gradient(160deg, var(--mint-soft), var(--surface));border:2px solid var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:17px}.pet-card{align-items:center;gap:16px;margin-bottom:20px;display:flex}.pet-card-mascot{flex:none;width:96px}.pet-card-mascot .mascot{width:100%;height:auto}.pet-card-info{flex:1;gap:10px;min-width:0;display:grid}.pet-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pet-card-name{font-size:1.05rem}.pet-card-vitality{gap:6px;display:grid}.pet-card-vitality>span{color:var(--ink-soft);font-size:.8rem;font-weight:800}.options-grid{border:0;gap:10px;min-width:0;margin:17px 0 0;padding:0;display:grid}.option-button{appearance:none;border:2px solid var(--line-soft);background:var(--surface);cursor:pointer;text-align:left;border-radius:17px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 14px;font-weight:850;display:flex}.option-button:active{transform:scale(.985)}.option-button .option-key{background:var(--surface-2);border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:950;display:grid}.option-button .option-copy{flex:1}.option-button:has(input:checked){border-color:var(--accent);background:var(--purple-soft)}.option-button:has(input:checked) .option-key{background:var(--accent);color:var(--accent-text)}.option-button:has(input:focus-visible){outline-offset:2px;outline:4px solid #6c5ce752}.option-button.is-correct{border-color:var(--green);background:var(--mint-soft)}.option-button.is-wrong{border-color:var(--danger);background:var(--coral-soft)}.option-button.is-dim{opacity:.45}.option-button:disabled{cursor:default}.feedback-card{border:2px solid;border-radius:16px;margin-top:14px;padding:13px}.feedback-card.correct{border-color:var(--green);background:var(--mint-soft)}.feedback-card.wrong{border-color:var(--danger);background:var(--coral-soft)}.feedback-card.skipped{border-color:var(--line-soft);background:var(--surface-2)}.feedback-card span{color:var(--ink-soft);font-size:12px;font-weight:700;display:block}.learning-overlay{z-index:200;background:var(--bg);flex-direction:column;display:flex;position:absolute;inset:0}.learning-header{padding:max(12px, env(safe-area-inset-top)) 15px 10px;flex:none;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;display:grid}.learning-close{border:2px solid var(--ink);background:var(--surface);cursor:pointer;border-radius:13px;place-items:center;width:40px;height:40px;font-weight:950;display:grid}.learning-scroll{flex:1;min-height:0;padding:8px 18px 40px;overflow-y:auto}.learning-scroll>.task-heading,.learning-scroll>.listen-panel,.learning-scroll>.capability-notice,.learning-scroll>.record-panel,.learning-scroll>.answer-form{max-width:720px;margin-inline:auto}.learning-progress-copy b{font-size:12px;display:block}.learning-progress-copy span{color:var(--ink-soft);margin-top:2px;font-size:9px;font-weight:750;display:block}.learning-progress-copy .progress-track{height:8px;margin-top:6px}.learning-step-count{color:var(--ink-soft);font-size:10px;font-weight:900}.listen-panel{text-align:center;background:var(--blue-soft);border:2px solid var(--ink);border-radius:23px;padding:20px}.listen-orb{border:3px solid var(--ink);background:var(--blue);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:98px;height:98px;margin:0 auto 12px;font-size:40px;display:grid;box-shadow:0 7px #31365a29}.listen-orb.is-playing{animation:1s infinite pulse}.listen-panel .audio-speed{justify-content:center}.listen-panel audio{width:100%;margin-top:12px}.record-panel{text-align:center;background:var(--surface);border:2px dashed #31365a4d;border-radius:20px;margin-top:14px;padding:16px}.record-panel audio{width:100%;max-width:100%}.record-button{border:3px solid var(--ink);background:var(--coral);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:78px;height:78px;margin:0 auto;font-size:30px;display:grid;box-shadow:0 7px #c95c58}.record-button.is-recording{animation:.9s infinite rec-pulse}.record-button.is-processing{background:var(--blue);box-shadow:0 7px #478bb7}.record-button:disabled{cursor:default;opacity:.6}.toast-region{z-index:400;left:50%;bottom:calc(95px + var(--safe-bottom));pointer-events:none;justify-items:center;gap:8px;width:calc(100% - 40px);display:grid;position:fixed;transform:translate(-50%)}.toast{background:var(--ink);max-width:340px;color:var(--bg);box-shadow:var(--shadow-soft);animation:toast-in .22s var(--ease);border-radius:13px;padding:10px 14px;font-size:11px;font-weight:800}.account-entry{cursor:pointer}.growth-week{gap:.5rem;margin:1rem 0;display:grid}.growth-week select{border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--surface);width:100%;color:inherit;font:inherit;padding:.75rem}.growth-pages{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0;display:flex}.growth-pages button[aria-pressed=true]{outline-offset:2px;outline:2px solid}.growth-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.growth-fact{border:2px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface);padding:1rem}.growth-fact dt{color:var(--ink-soft);font-size:.9rem}.growth-fact dd{color:var(--accent);margin:.5rem 0 0;font-size:1.75rem;font-weight:700}.growth-dimensions{border-collapse:collapse;text-align:left;width:100%}.growth-dimensions th,.growth-dimensions td{border-bottom:1px solid var(--line-soft);padding:.65rem .25rem}.growth-suggestions{padding-left:1.25rem;line-height:1.8}.growth-source{color:var(--ink-soft);margin-top:1.5rem;font-size:.85rem}.growth-panel{display:block}.growth-panel>.primary-button{width:100%}@media (width>=760px){.growth-panel .growth-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}.recording-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:12px;display:flex}.feedback-panel{max-width:760px}.reward-note{border:2px solid var(--ink);background:var(--yellow);color:var(--on-yellow);border-radius:14px;padding:14px 16px;font-weight:800}.course-browser{gap:20px;padding-bottom:110px;display:grid}.course-tabs{gap:8px;padding:4px 2px 10px;display:flex;overflow-x:auto}.course-unit-tab{border:2px solid var(--ink);background:var(--surface);min-width:82px;min-height:44px;color:inherit;box-shadow:0 3px 0 var(--shadow-color);cursor:pointer;border-radius:14px;flex:none;font-weight:800}.course-unit-tab.is-active{background:var(--accent);color:var(--accent-text)}.course-unit{border:2px solid var(--ink);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);padding:clamp(20px,5vw,42px)}.course-unit>h2{margin:32px 0 14px}.course-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.course-card,.course-story article{border:2px solid var(--line-soft);background:var(--surface-strong);border-radius:18px;padding:18px}.course-card h3{margin:0 0 6px;font-size:1.35rem}.course-card p,.course-story p{margin:6px 0;line-height:1.55}.course-example{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:14px}.course-audio{gap:8px;margin-top:12px;display:flex}.course-audio .speed-button{min-height:44px}.course-story{gap:10px;display:grid}.course-questions{gap:14px;padding-left:24px;line-height:1.55;display:grid}.course-questions ul{color:var(--muted);margin-top:8px;padding-left:20px}#course-player{background:var(--surface);border-radius:14px;width:100%;position:sticky;bottom:94px}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 7px #31365a29,0 0 0 12px #6bb8e82e}}@keyframes rec-pulse{50%{background:#e84f5b;transform:scale(1.06)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){:root{--bg:#1f1938;--surface:#292145;--surface-2:#241d3d;--surface-strong:#30274f;--ink:#f8f2ff;--ink-soft:#c6bdd8;--line:#c3b5ef;--line-soft:#c3b5ef33;--purple:#8871ce;--purple-soft:#3a2f63;--mint:#2f7d68;--mint-soft:#244d3e;--coral:#ff7d78;--coral-soft:#4d2b32;--yellow:#d9b94e;--yellow-soft:#4a382a;--blue:#6bb8e8;--blue-soft:#21384a;--green:#5cb87c;--danger:#e4787f;--accent:#8871ce;--accent-strong:#9a84dd;--accent-text:#17112c;--pill-mint-ink:#d5f8df;--pill-coral-ink:#f0b4b8;--pill-yellow-ink:#f0d9a0;--pill-blue-ink:#bfe0f5;--pill-purple-ink:#d9ceff;--mint-ink:#9fdcc9;--shadow:0 7px 0 #0704106b;--shadow-soft:0 12px 32px #0704106b;--shadow-color:#0704106b}}@media (width<=767px){.page-shell{width:min(100% - 24px,560px)}.session-label{display:none}.welcome-row{grid-template-columns:1fr;align-items:start;gap:18px;margin-top:26px}.sync-badge{max-width:none}.learning-panel{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:12px;padding:20px}.task-panel{margin-top:24px;padding:20px}.plan-summary{min-height:140px;padding:18px}.plan-summary strong{font-size:2.75rem}.task-preview{min-height:48px}.task-preview h2{margin-bottom:6px}.learning-panel>.primary-button{align-self:start;margin-top:8px}.learning-panel>.primary-button:focus-visible{scroll-margin-bottom:100px}h1{font-size:clamp(2rem,11vw,3rem)}.answer-actions{flex-direction:column-reverse}.answer-actions button{width:100%}}@media (width<=430px){.avatar-copy small,.sync-status-button [data-header-sync-text]{display:none}.hero-mascot{width:125px;right:-5px}.hero-title,.hero-sub{max-width:220px}}@media (prefers-reduced-motion:no-preference){.primary-button,.secondary-button,.ghost-button,.speed-button,.nav-item,.icon-button,.hero-action{transition:transform .15s var(--ease), background-color .15s var(--ease), box-shadow .15s var(--ease)}.learning-panel,.message-panel,.task-panel,.today-hero{animation:.26s cubic-bezier(.16,1,.3,1) panel-in}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.primary-nav,.bottom-nav{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}
