body:has(.immersion-app.immersion-phone){overflow:hidden;background:#e6e8e1}#root:has(>.immersion-app.immersion-phone){height:100dvh;overflow:hidden}.app:has(>.immersion-app.immersion-phone){width:100%;max-width:none;height:100dvh;overflow:hidden;border:0}.immersion-app.immersion-phone{position:relative;display:flex;flex-direction:column;width:min(100%,430px);height:100dvh;min-height:0;max-height:100dvh;margin:0 auto;padding:0;overflow:hidden;box-shadow:0 0 40px #263d3210}.immersion-phone .immersion-workspace{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.immersion-phone .immersion-topbar{position:relative;flex:0 0 auto;min-height:calc(58px + env(safe-area-inset-top,0px));padding:calc(5px + env(safe-area-inset-top,0px)) 18px 5px;background:var(--i-bg);border-bottom:1px solid var(--i-line);-webkit-backdrop-filter:none;backdrop-filter:none}.immersion-phone .immersion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:0}.immersion-phone .immersion-stat{flex-wrap:wrap;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:0 4px;border:0;border-radius:10px;background:transparent;white-space:normal}.immersion-phone .immersion-stat strong{min-width:0;max-width:100%;font-size:15px;overflow-wrap:anywhere}.immersion-phone .immersion-stat>.immersion-icon{flex-shrink:0;width:21px;height:21px}.immersion-phone .immersion-stat-unit{display:inline;font-size:10px}.immersion-phone button.immersion-stat:hover{background:var(--i-sage)}.immersion-phone .immersion-content{flex:1;width:100%;max-width:none;min-width:0;min-height:0;margin:0;padding:20px 16px 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bcc5b5 transparent;-webkit-overflow-scrolling:touch;scroll-padding-block:16px}.immersion-phone.immersion-focused .immersion-content{padding-top:env(safe-area-inset-top,0px);padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.immersion-phone .immersion-skip{position:absolute;left:12px}.immersion-phone .immersion-mobile-nav{position:relative;inset:auto;display:grid;flex:0 0 auto;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:4px;width:100%;padding:6px 14px calc(7px + env(safe-area-inset-bottom,0px));border:0;background:var(--i-green);color:#fffaf0;-webkit-backdrop-filter:none;backdrop-filter:none}.immersion-phone .immersion-mobile-nav .immersion-nav-item{position:relative;display:grid;place-items:center;width:100%;min-width:44px;min-height:52px;padding:9px 4px 13px;border:0;border-radius:9px;background:transparent;color:#f1f4e9;box-shadow:none}.immersion-phone .immersion-mobile-nav .immersion-nav-item>.immersion-icon{width:25px;height:25px}.immersion-phone .immersion-mobile-nav .immersion-nav-item.active{color:#fff;background:transparent}.immersion-phone .immersion-mobile-nav .immersion-nav-item:hover{background:#ffffff12}.immersion-phone .immersion-mobile-nav .immersion-nav-item.active:after{content:"";position:absolute;bottom:3px;width:23px;height:3px;border-radius:3px;background:#fff}.immersion-phone .immersion-mobile-nav .immersion-nav-item:focus-visible{outline-color:#fff;outline-offset:-3px}.immersion-phone .immersion-nav-decoration{display:grid;place-items:center;color:#cad6bc;opacity:.7;pointer-events:none}.immersion-phone .learning-notice{padding:12px;gap:10px;font-size:12px;overflow-wrap:anywhere}.immersion-phone .learning-notice .learning-icon-button{min-width:44px}.immersion-phone .learning-profile,.immersion-phone .learning-collection{display:grid;gap:22px;min-width:0}.immersion-phone .learning-profile-summary{display:flex;align-items:center;gap:13px;min-width:0}.immersion-phone .learning-profile-summary>div{min-width:0}.immersion-phone .learning-profile-summary h1{margin:0 0 3px;font-size:27px;line-height:1.2;overflow-wrap:anywhere}.immersion-phone .learning-profile-summary p{color:var(--i-muted);font-size:13px}.immersion-phone .learning-profile-avatar{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:20px;background:var(--i-sage);color:var(--i-green);font-size:25px;font-weight:700}.immersion-phone .learning-profile-progress{display:grid;gap:9px}.immersion-phone .learning-profile-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.immersion-phone .learning-profile-progress>div>span{color:var(--i-muted)}.immersion-phone .learning-profile-progress>progress{appearance:none;width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;background:var(--i-sage);accent-color:var(--i-green)}.immersion-phone .learning-profile-progress>progress::-webkit-progress-bar{background:var(--i-sage)}.immersion-phone .learning-profile-progress>progress::-webkit-progress-value{background:var(--i-green);border-radius:10px}.immersion-phone .learning-profile-progress>progress::-moz-progress-bar{background:var(--i-green);border-radius:10px}.immersion-phone .learning-profile-progress .immersion-sync{font-size:11px;color:var(--i-muted)}.immersion-phone .learning-profile-progress .immersion-sync.error{color:#98512d}.immersion-phone .learning-profile-links{display:grid;gap:9px}.immersion-phone .learning-profile-links>button{display:flex;align-items:center;gap:13px;width:100%;min-height:67px;padding:12px 15px;border:1px solid var(--i-line);border-radius:14px;background:var(--i-paper);color:var(--i-green);text-align:left}.immersion-phone .learning-profile-links>button>span{flex:1;min-width:0}.immersion-phone .learning-profile-links strong{display:block;color:var(--i-ink);font-size:14px}.immersion-phone .learning-profile-links small{display:block;margin-top:3px;color:var(--i-muted);font-size:11px}.immersion-phone .learning-profile .learning-section-heading,.immersion-phone .learning-collection .learning-section-heading{gap:12px;margin-bottom:12px}.immersion-phone .learning-profile .learning-section-heading h2,.immersion-phone .learning-collection .learning-section-heading h2{margin:0;font-size:23px}.immersion-phone .learning-profile .learning-quests{grid-template-columns:minmax(0,1fr);gap:8px}.immersion-phone .learning-profile .learning-quest{gap:11px;padding:12px;border-radius:12px}.immersion-phone .learning-profile .learning-quest-icon{width:35px;height:38px;border-radius:10px}.immersion-phone .learning-profile .learning-quest strong{font-size:12px}.immersion-phone .learning-profile .learning-quest progress{display:block;max-width:none;margin-top:8px;height:5px}.immersion-phone .learning-profile .learning-quest>span:last-child{min-width:31px;font-size:12px}.immersion-phone .learning-profile .learning-quest>span:last-child small{font-size:9px}.immersion-phone .learning-profile-sections{display:grid;gap:9px}.immersion-phone .learning-profile-disclosure{min-width:0;border:1px solid var(--i-line);border-radius:13px;background:var(--i-paper)}.immersion-phone .learning-profile-disclosure>summary{display:flex;align-items:center;gap:11px;min-height:56px;padding:12px 14px;list-style:none;cursor:pointer;color:var(--i-green)}.immersion-phone .learning-profile-disclosure>summary::-webkit-details-marker{display:none}.immersion-phone .learning-profile-disclosure>summary>span{flex:1;color:var(--i-ink);font-size:13px;font-weight:700}.immersion-phone .learning-profile-disclosure>summary>small{color:var(--i-muted);font-size:11px}.immersion-phone .learning-profile-disclosure[open]>summary>.immersion-icon:last-child{transform:rotate(90deg)}.immersion-phone .learning-profile-disclosure-content{padding:0 15px 16px;min-width:0}.immersion-phone .learning-profile-disclosure-content>p{margin:2px 0 13px;font-size:12px;line-height:1.65;color:var(--i-muted)}.immersion-phone .learning-profile .learning-account-details{margin:0}.immersion-phone .learning-profile .learning-account-details>div{gap:14px;padding:11px 0;font-size:12px}.immersion-phone .learning-profile .learning-account-details dd{min-width:0}.immersion-phone .learning-profile .learning-field{margin:14px 0;font-size:12px}.immersion-phone .learning-profile .learning-field select,.immersion-phone .learning-profile .learning-field input:not([type=range]){min-width:0;max-width:100%}.immersion-phone .learning-profile .learning-check{padding:11px 0;font-size:12px;line-height:1.6}.immersion-phone .learning-profile .learning-actions{gap:9px;margin-top:15px}.immersion-phone .learning-profile .immersion-button{max-width:100%;min-height:44px;padding:10px 13px;font-size:12px;white-space:normal}.immersion-phone .learning-profile .immersion-text-button{max-width:100%;min-height:44px;font-size:12px;white-space:normal;text-align:left}.immersion-phone .learning-profile .learning-freeze-note{display:flex;align-items:flex-start;gap:8px;margin:16px 0 0;padding-top:12px;border-top:1px solid var(--i-line);font-size:11px}.immersion-phone .learning-profile .learning-confirm{padding:13px;margin:14px 0;font-size:12px}.immersion-phone .learning-profile .learning-confirm>button{margin-top:10px}.immersion-phone .learning-profile .learning-reference{margin:10px 0;padding:5px 0}.immersion-phone .learning-profile .learning-reference p{font-size:12px}.immersion-phone .learning-mobile-heading{display:flex;align-items:center;gap:12px}.immersion-phone .learning-mobile-heading h1{margin:0;font-size:27px}.immersion-phone .learning-collection .immersion-panel{min-width:0;padding:16px;border-radius:15px}.immersion-phone .learning-collection .learning-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.immersion-phone .learning-collection .learning-stat-grid>div{padding:13px 8px;border-radius:12px;text-align:center}.immersion-phone .learning-collection .learning-stat-grid strong{font-size:28px}.immersion-phone .learning-collection .learning-stat-grid span{font-size:10px}.immersion-phone .learning-collection .learning-achievements{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.immersion-phone .learning-collection .learning-achievements>div{min-width:0;padding:14px;gap:8px;background:var(--i-paper);border-radius:12px}.immersion-phone .learning-collection .learning-achievements>div.earned{background:#f3eddb}.immersion-phone .learning-collection .learning-achievements strong{font-size:12px;line-height:1.4}.immersion-phone .learning-collection .learning-achievements small{font-size:11px;line-height:1.5}.immersion-phone .learning-collection .learning-achievements span{font-size:9px}.immersion-phone .learning-collection .learning-field-row{flex-direction:column;gap:0}.immersion-phone .learning-collection .learning-field-row>*{width:100%;margin:8px 0}.immersion-phone .learning-collection .learning-field{font-size:12px}.immersion-phone .learning-collection .learning-vocabulary article{flex-direction:column;align-items:flex-start;gap:9px;padding:16px 0;overflow-wrap:anywhere}.immersion-phone .learning-collection .learning-vocabulary article:last-child{border-bottom:0;padding-bottom:0}.immersion-phone .learning-collection .learning-vocabulary h3{font-size:16px;line-height:1.5}.immersion-phone .learning-collection .learning-vocabulary p{font-size:12px;line-height:1.6}.immersion-phone .learning-collection .learning-story-album{grid-template-columns:minmax(0,1fr);gap:10px}.immersion-phone .learning-collection .learning-story-album article{padding:14px;border-radius:11px}.immersion-phone .learning-collection .learning-story-album h3{font-size:15px}.immersion-phone .learning-collection .learning-empty{padding:18px 0 8px;font-size:12px;line-height:1.7}.immersion-phone .learning-review.learning-player{max-width:none;margin:0}.immersion-phone .learning-review .learning-player-header{gap:11px;margin:10px 0 17px}.immersion-phone .learning-review .learning-player-header h1{margin:0;font-size:23px}.immersion-phone .learning-review-count{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;color:var(--i-muted)}.immersion-phone .learning-review-count .immersion-icon{color:#b05d4f}.immersion-phone .learning-review .learning-progress{height:6px;margin-bottom:20px}.immersion-phone .learning-review .learning-exercise{padding:20px!important;border-radius:16px}.immersion-phone .learning-review .learning-exercise h2{margin:15px 0 12px;font-size:26px;line-height:1.3;overflow-wrap:anywhere}.immersion-phone .learning-review .learning-review-instruction{font-size:12px;line-height:1.65}.immersion-phone .learning-review .learning-field{font-size:12px;margin:20px 0 15px}.immersion-phone .learning-review .learning-field textarea{min-height:108px}.immersion-phone .learning-review .learning-hint,.immersion-phone .learning-review .learning-feedback{padding:13px;margin:14px 0;font-size:12px}.immersion-phone .learning-review .learning-hint p{margin-top:0;font-size:17px;line-height:1.6}.immersion-phone .learning-review .learning-hint small{display:block;font-size:11px}.immersion-phone .learning-review .learning-actions{gap:8px;margin-top:20px}.immersion-phone .learning-review .learning-actions>button{width:100%;justify-content:center}.immersion-phone .learning-review .immersion-button{min-height:46px;padding-inline:15px;font-size:13px}.immersion-phone .learning-review .immersion-text-button{min-height:44px;font-size:12px}.immersion-phone .learning-review .learning-review-recover{display:flex;margin:12px auto 0}.immersion-phone .learning-review.learning-result{width:100%;margin:22px auto;padding:30px 20px!important}.immersion-phone .learning-review.learning-result h1{margin:18px 0 12px;font-size:29px}.immersion-phone .learning-review.learning-result p{margin:0 0 22px;font-size:13px}.immersion-phone .learning-review .learning-result-medal{width:72px;height:72px;margin:0 auto 24px}@media(prefers-reduced-motion:reduce){.immersion-phone .immersion-mobile-nav .immersion-nav-item{transition:none}}.mobile-player{--player-space: 18px;width:100%;max-width:680px;margin-inline:auto;overflow-wrap:anywhere}.mobile-player .learning-player-header{gap:9px;margin:0 0 14px}.mobile-player .learning-player-header h1{font-size:17px;line-height:1.3;margin:4px 0 0}.mobile-player .learning-player-header .immersion-eyebrow{font-size:10px;letter-spacing:.09em}.mobile-player .learning-icon-button{border-radius:14px}.mobile-player-hearts{display:inline-flex;align-items:center;gap:6px;color:#a94e45;font-size:18px;flex-shrink:0}.mobile-player-status{flex:0 0 auto;color:var(--i-muted);font-size:11px;max-width:58px;line-height:1.4;text-align:right}.mobile-player-progress{display:flex;align-items:center;gap:12px;margin-bottom:18px}.mobile-player-progress .learning-progress{flex:1;min-width:0;height:10px;margin:0}.mobile-player-progress>span{min-width:35px;color:var(--i-muted);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.mobile-player-progress progress::-moz-progress-bar{border-radius:20px;background:var(--i-green)}.mobile-player .learning-exercise{padding:var(--player-space)!important;border-radius:20px}.mobile-player .learning-exercise h2{font-size:21px;line-height:1.35;margin:14px 0 18px}.mobile-player .learning-exercise h2:focus-visible,.mobile-player-result h1:focus-visible{outline:2px solid var(--i-green);outline-offset:5px;border-radius:4px}.mobile-player .learning-exercise-meta{font-size:9px;gap:8px}.mobile-player .learning-translation{font-size:13px;line-height:1.5;margin-top:8px}.mobile-player .learning-teaching{margin:20px 0 8px;gap:12px}.mobile-player .learning-teaching>div{padding:14px 16px}.mobile-player .learning-teaching p[lang=es]{font-size:17px;line-height:1.6}.mobile-player .learning-audio{margin:12px 0}.mobile-player .learning-audio .immersion-button{padding:9px 13px;min-height:44px;font-size:12px}.mobile-player .learning-options{gap:10px;margin:20px 0}.mobile-player .learning-options button{min-height:54px;padding:11px 12px;gap:12px;line-height:1.45;font-size:15px}.mobile-player .learning-options button>span{flex-shrink:0}.mobile-player .learning-matches{margin-block:18px}.mobile-player .learning-matches label{grid-template-columns:minmax(0,1fr);gap:7px}.mobile-player .learning-passage{padding:16px 18px;margin:18px 0}.mobile-player .learning-passage p{line-height:1.8;margin-block:12px}.mobile-player .learning-field{margin:16px 0}.mobile-player .learning-accents{gap:4px;margin-bottom:10px}.mobile-player .learning-accents button{flex:1 0 28px;min-width:28px;max-width:44px;min-height:44px;padding:0}.mobile-player .learning-word-answer{min-height:72px;margin:18px 0 6px}.mobile-player .learning-word-answer,.mobile-player .learning-word-bank{gap:8px;padding-block:14px}.mobile-player .learning-hint,.mobile-player .learning-feedback{padding:14px 16px;margin:16px 0;line-height:1.6}.mobile-player-rules{margin-top:16px;color:var(--i-muted);font-size:12px}.mobile-player-rules summary{display:list-item;min-height:44px;padding-block:12px;cursor:pointer}.mobile-player-rules p{margin:0 0 12px;line-height:1.65}.mobile-player .mobile-player-dock{position:sticky;z-index:3;bottom:var(--player-bottom-offset, 0px);gap:10px;margin:20px calc(-1 * var(--player-space)) calc(-1 * var(--player-space));padding:14px var(--player-space) max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--i-line);border-radius:0 0 20px 20px;background:var(--i-paper);box-shadow:0 -8px 18px -15px #254b3b44}.mobile-player-dock>.immersion-button.primary{flex:1;justify-content:center;min-height:48px;font-size:14px}.mobile-player-dock>.immersion-text-button{min-height:44px;font-size:12px;padding-inline:8px}.mobile-player.mobile-player-result{max-width:560px;margin:20px auto;padding:var(--player-space)!important}.mobile-player-result .learning-result-medal{width:72px;height:72px;margin:14px auto 26px;box-shadow:0 0 0 8px #f1f2e5;background:var(--i-sage)}.mobile-player.mobile-player-result h1{font-size:26px;margin:12px 0}.mobile-player-result>.immersion-eyebrow{display:block;line-height:1.6}.mobile-player-result .learning-earned-xp{font-size:18px;margin-bottom:20px}.mobile-player-result>p{margin:12px auto;max-width:350px;font-size:13px}.mobile-player-result .learning-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0}.mobile-player-result .learning-score-grid>div{padding:14px 8px}.mobile-player-result .learning-score-grid strong{font-size:23px}.mobile-player-result .learning-score-grid span{font-size:11px}.mobile-player-result.is-new-completion .learning-result-medal{animation:player-complete .65s cubic-bezier(.2,.8,.3,1) both}@keyframes player-complete{0%{opacity:0;transform:translateY(12px) scale(.7)}65%{opacity:1;transform:translateY(-3px) scale(1.06)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.mobile-player-result.is-new-completion .learning-result-medal{animation:none}}.mobile-talk-setup{display:grid;gap:14px;padding:16px 18px 24px;min-width:0}.conversation-setup-heading h1{font-size:28px;line-height:1.1;margin:0}.conversation-setup-portrait{position:relative;height:90px;border-radius:16px;background:#e2d7b8;overflow:hidden}.conversation-setup-portrait>.scenario-backdrop{position:absolute;inset:0;width:100%;height:100%}.conversation-setup-portrait>.character-portrait{position:absolute;height:140px;width:140px;left:50%;bottom:-36px;transform:translate(-50%)}.conversation-setup-fields{display:grid;gap:12px;min-width:0}.mobile-talk-setup .learning-field{margin:0;min-width:0;font-size:13px}.mobile-talk-setup .learning-field input,.mobile-talk-setup .learning-field textarea,.mobile-talk-setup .learning-field select{min-width:0;max-width:100%}.mobile-talk-setup .learning-field .conversation-scene-description{box-sizing:border-box;min-height:180px;max-height:320px;resize:none;overflow-y:auto}.conversation-field-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px}.conversation-face-picker{border:1px solid #d5dbc9;border-radius:15px;background:#fffdf7}.conversation-face-picker>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 13px;color:#395641;font-size:14px;font-weight:650;list-style:none}.conversation-face-picker>summary::-webkit-details-marker{display:none}.conversation-face-picker[open]>summary>svg{transform:rotate(90deg)}.conversation-face-picker>.conversation-field-row{padding:0 10px 14px}.conversation-portraits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;border:0;padding:0 10px 12px;margin:0;min-width:0}.conversation-portraits>button{min-width:0;min-height:70px;padding:0 0 7px;border:2px solid transparent;border-radius:11px;background:#f0f1e7;color:#334d3e;overflow:hidden;font:inherit;font-size:10px;cursor:pointer}.conversation-portraits>button.selected{border-color:#397254;background:#e2ecd9}.conversation-portraits .character-portrait{height:auto;width:100%;aspect-ratio:1}.conversation-portraits span{display:block;overflow-wrap:anywhere}.conversation-enter{width:100%;min-height:52px!important;border-radius:16px!important}.conversation-smallprint{color:#64705f;font-size:12px;line-height:1.65;margin:-4px 3px 0}.conversation-recent{padding-top:2px}.conversation-recent h2{font-size:24px;margin-bottom:10px}.conversation-recent>p{color:#64705f;font-size:13px;line-height:1.6}.conversation-partner-row{display:flex;align-items:center;gap:5px;border-top:1px solid #dce0d2}.conversation-partner-open{flex:1;min-width:0;min-height:64px;padding:13px 2px;border:0;background:none;color:#304b3b;text-align:left;font:inherit;cursor:pointer}.conversation-partner-open strong{display:block;font-size:14px;overflow-wrap:anywhere}.conversation-partner-open span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;color:#64705f;margin-top:3px;overflow-wrap:anywhere}.mobile-conversation{display:flex;flex-direction:column;min-width:0;min-height:100%;background:#f4f1e5;color:#2b4536;isolation:isolate}.conversation-header{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:68px;flex-shrink:0;background:#faf8ee;border-bottom:1px solid #dce0ce}.conversation-header>div{flex:1;min-width:0}.conversation-header>div>span{display:block;font-size:9px;font-weight:800;letter-spacing:.15em;color:#627154}.conversation-header h1{font:700 17px/1.25 var(--font, system-ui);letter-spacing:-.025em;margin:4px 0 0;overflow-wrap:anywhere}.conversation-icon-button{width:44px;min-width:44px;height:44px;padding:10px;display:inline-grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#365a45;cursor:pointer}.conversation-icon-button:hover{background:#e7eddd}.conversation-coach-trigger{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 12px;border:1px solid #bfccae;border-radius:15px;color:#34563c;background:#edf1df;font:700 12px var(--font, system-ui);cursor:pointer}.conversation-scene{position:relative;flex:1 0 270px;height:clamp(270px,42dvh,420px);overflow:hidden;background:#e5d5ad}.conversation-scene>.scenario-backdrop{position:absolute;inset:0;width:100%;height:100%}.conversation-scene-glow{position:absolute;inset:0;background:linear-gradient(180deg,#fffae726,transparent 70%,#b9a77935)}.conversation-scene>.character-portrait{position:absolute;width:108%;max-width:460px;aspect-ratio:1;height:auto;left:50%;bottom:-42px;transform:translate(-50%)}.conversation-scene-tools{position:absolute;top:12px;left:14px;right:13px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}.conversation-scene-status{display:flex;align-items:center;gap:6px;max-width:100%;padding:7px 9px;border:1px solid #e4e6d4;border-radius:99px;background:#fffbeded;color:#526348;font-size:10px;font-weight:650;overflow-wrap:anywhere}.conversation-scene-status i{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#62854d}.conversation-scene-status.listening i{background:#af4b3a;animation:conversation-pulse 1.3s ease-in-out infinite}.conversation-mission-trigger{min-width:0;max-width:100%;min-height:44px;margin-left:auto;padding:9px 12px;display:flex;align-items:center;gap:7px;border:1px solid #bcb999;border-radius:15px;background:#fff8d9;color:#675224;font:700 12px var(--font, system-ui);cursor:pointer;overflow-wrap:anywhere}.conversation-dialogue{position:relative;z-index:1;padding:0 16px;margin-top:-17px;flex-shrink:0}.conversation-current-reply{padding:6px 15px 15px;border:1px solid #dde0cf;border-radius:20px 20px 20px 5px;background:#fffdf6;box-shadow:0 4px #596a3620}.conversation-reply-heading{display:flex;align-items:center;justify-content:space-between;min-height:38px}.conversation-reply-heading strong{color:#65734f;font-size:11px;letter-spacing:.035em;min-width:0;overflow-wrap:anywhere}.conversation-current-reply p{font:500 16px/1.55 var(--font, system-ui);margin:0;max-height:160px;overflow-y:auto;overflow-wrap:anywhere;scrollbar-width:thin}.conversation-current-reply .conversation-icon-button{width:44px;height:44px;flex-shrink:0;margin:-2px -8px 0 0}.conversation-start{margin-top:12px}.conversation-status{font-size:12px;line-height:1.55;color:#5c6e52;margin:10px 3px}.conversation-transcript-toggle{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;padding:10px 6px;border:0;background:transparent;color:#536b4b;font:650 12px var(--font, system-ui);cursor:pointer}.conversation-transcript-toggle[aria-expanded=true]>svg:last-child{transform:rotate(90deg)}.mobile-conversation .conversation-transcript{max-height:min(38dvh,320px);overflow-y:auto;overscroll-behavior:contain;padding:8px 11px 14px;display:flex;gap:16px;flex-direction:column;border:1px solid #d6ddcb;border-radius:15px;background:#eeefe5;scrollbar-width:thin}.conversation-message{max-width:94%;align-self:flex-start;padding:12px;border-radius:13px 13px 13px 3px;background:#fffdf5;border:1px solid #d6ddca}.conversation-message.user{align-self:flex-end;border-radius:13px 13px 3px;background:#dfe9d5}.conversation-message>span{display:block;color:#64745a;font-size:10px;font-weight:650;margin-bottom:5px}.conversation-message p{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.conversation-transcript-listen{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 0 0;border:0;color:#41633d;background:none;font:inherit;font-size:11px;cursor:pointer}.conversation-controls{position:sticky;bottom:0;z-index:2;padding:6px 16px max(9px,env(safe-area-inset-bottom));background:#f4f1e5f7;border-top:1px solid #e1e3d5;margin-top:auto;flex-shrink:0}.mobile-conversation .conversation-composer{padding:0;margin:0}.conversation-draft-label{display:block}.mobile-conversation .conversation-draft-label textarea{display:block;width:100%;min-height:46px;max-height:125px;border:1px solid #c6cfb8;border-radius:13px;padding:11px 13px;background:#fffef8;font:16px/1.4 var(--font, system-ui);resize:vertical}.conversation-send-row{display:flex;align-items:stretch;gap:10px;margin-top:9px}.conversation-microphone{flex:1;min-width:0;min-height:54px;display:flex;align-items:center;justify-content:center;gap:11px;padding:10px 14px;border:1px solid #426441;border-radius:17px;background:#466e47;color:#fffef0;box-shadow:0 3px #2c4d33;font:700 14px var(--font, system-ui);cursor:pointer}.conversation-microphone>svg{flex-shrink:0}.conversation-microphone>span{min-width:0;overflow-wrap:anywhere}.conversation-microphone.recording{background:#a74d3d;border-color:#8b3e30;box-shadow:0 3px #773329}.conversation-send{min-width:56px;min-height:54px;display:grid;place-items:center;border:1px solid #b7c6a9;border-radius:17px;color:#365c3c;background:#dfe9d4;cursor:pointer}.conversation-send:disabled,.conversation-microphone:disabled{opacity:.5;cursor:not-allowed}.conversation-input-status{min-height:17px;margin:7px 0 0;text-align:center;font-size:10px;line-height:1.5;color:#5e7055}.conversation-privacy{color:#5d6c53;text-align:center;font-size:10px;line-height:1.6}.conversation-privacy summary{display:flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer;list-style:none}.conversation-privacy summary::-webkit-details-marker{display:none}.conversation-privacy p{text-align:left;padding:0 3px 12px;font-size:12px}.conversation-signin{padding:7px 0 10px;display:grid;gap:10px}.conversation-signin p{font-size:13px;line-height:1.55}.conversation-signin button{width:100%}.conversation-complete{margin:3px 0 14px;padding:13px 11px;border:1px solid #c2cfb0;border-radius:14px;background:#e5ecd8;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.conversation-complete button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;border:0;background:transparent;color:#36563c;font:inherit;font-weight:700;cursor:pointer}.sheet-layer--column{position:fixed;z-index:100;top:var(--sheet-viewport-top, 0px);left:50%;width:min(100%,430px);height:var(--sheet-viewport-height, 100dvh);transform:translate(-50%);isolation:isolate}.sheet-layer--column .sheet-backdrop,.immersion-app .sheet-layer--column .sheet-backdrop{position:absolute;inset:0;z-index:0;background:#233e32a3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet-layer--column .sheet,.immersion-app .sheet-layer--column .sheet{position:absolute;z-index:1;width:100%;left:0;right:0;bottom:0;max-height:calc(100% - 18px);margin:0;border:1px solid #d1d8c2;border-bottom:0;border-radius:25px 25px 0 0;background:#fffdf3;color:#2b4536;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -12px 50px #253d302b}.sheet-layer--column .sheet-handle{background:#bdc8ac;width:36px;height:4px;margin-top:12px}.sheet-layer--column .sheet-head{padding:7px 15px 12px;gap:10px}.sheet-layer--column .sheet-head h2{margin:0;font:700 19px/1.3 var(--font, system-ui)}.sheet-layer--column .sheet-head .btn{min-width:44px;min-height:44px;width:44px;height:44px;border-radius:50%;border:1px solid #d1d8c2;background:#eff2e6;color:#3c5741;padding:7px;font-size:25px}.sheet-layer--column .sheet-body{overscroll-behavior:contain;padding:0 18px 24px;gap:15px;scrollbar-width:thin}.conversation-coach-content.learning-coach{background:transparent!important;display:grid;gap:15px}.conversation-sheet-intro{font-size:13px;line-height:1.65;color:#617152;margin:0}.conversation-coach-content .learning-field{margin:0;font-size:13px}.conversation-coach-content textarea{min-height:94px!important}.conversation-coach-voice{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.conversation-coach-voice .immersion-button{min-height:48px;justify-content:center}.conversation-coach-voice svg{width:19px;height:19px}.conversation-ask-coach{width:100%;min-height:48px!important}.conversation-coach-advice{padding:15px;border:1px solid #d7dcc8;border-radius:15px;background:#edf1e1}.conversation-coach-advice>span{display:block;font-size:11px;font-weight:800;color:#5b704a;margin-bottom:8px}.conversation-coach-advice p{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.conversation-checklist-summary>span{font:600 34px/1 var(--font, system-ui);color:#526a3f}.conversation-checklist-summary small{font-size:18px;color:#69774f}.conversation-checklist-summary p{font-size:12px;margin:6px 0 12px;color:#677456}.conversation-checklist-summary progress{display:block;width:100%;height:7px;accent-color:#64824c}.conversation-mission-checklist{list-style:none;margin:0;padding:0}.conversation-mission-checklist li{display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-bottom:1px solid #e1e5d5;font-size:13px;line-height:1.6}.conversation-mission-checklist li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #ced7bf;border-radius:50%;flex:0 0 auto;color:#788667;background:#f4f5ec}.conversation-mission-checklist li>div{min-width:0;overflow-wrap:anywhere}.conversation-mission-checklist li.complete>span{color:#fffef5;background:#64804e;border-color:#64804e}.conversation-mission-checklist small{display:block;color:#667a54;font-size:10px;margin-top:2px}.conversation-mission-outcome{padding:15px;border-radius:15px;background:#e9eedc;font-size:14px}.conversation-mission-outcome p{font-size:12px;line-height:1.7;margin:8px 0 14px}@keyframes conversation-pulse{50%{opacity:.35}}@media(max-width:360px){.conversation-portraits{grid-template-columns:repeat(4,minmax(0,1fr))}.conversation-dialogue,.conversation-controls{padding-inline:12px}.conversation-header{padding-inline:7px}.conversation-coach-trigger{padding-inline:10px}}@media(max-height:700px){.conversation-scene{flex-basis:210px;height:210px}.conversation-scene>.character-portrait{width:90%;bottom:-65px}.conversation-current-reply p{max-height:105px}}@media(prefers-reduced-motion:reduce){.mobile-conversation *,.sheet-layer--column *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(forced-colors:active){.conversation-coach-trigger,.conversation-mission-trigger,.conversation-current-reply,.conversation-microphone,.conversation-send,.conversation-message,.conversation-mission-checklist li>span{border:1px solid ButtonText}.conversation-scene-status i{background:CanvasText}}body:has(.immersion-app){background:#f7f5ed}.app:has(>.immersion-app){display:block;max-width:none;height:auto;overflow:visible;border:0}.immersion-app{--i-bg: #f7f5ed;--i-paper: #fffefa;--i-ink: #263d32;--i-muted: #636b5e;--i-green: #315b45;--i-green-dark: #234733;--i-sage: #e8eddf;--i-line: #dcded1;--i-coral: #a9513b;--i-gold: #886119;--ink: var(--i-ink);--ink-soft: #536052;--ink-faint: var(--i-muted);--bg: var(--i-bg);--bg-elev: var(--i-paper);--bg-muted: #eeeee3;--line: var(--i-line);--accent: var(--i-green);--accent-deep: var(--i-green-dark);--accent-ink: #fffefa;--accent-soft: var(--i-sage);--ok: #315b45;--ok-soft: #e5eedf;--warn: #795416;--warn-soft: #f7edcf;--err: #a33f31;--err-soft: #f9e6de;--red: #f7e2d9;--red-deep: #bd7f6c;--sky-deep: #3d6e65;--font: "Avenir Next", "Segoe UI", system-ui, sans-serif;display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100dvh;width:100%;color:var(--i-ink);background:var(--i-bg);font-family:var(--font);font-size:15px;font-weight:500;line-height:1.5}.immersion-app button,.immersion-app input,.immersion-app textarea,.immersion-app select{font-family:inherit}.immersion-app button{-webkit-tap-highlight-color:transparent}.immersion-app :focus-visible{outline:3px solid #357263;outline-offset:4px}.immersion-app :disabled{cursor:not-allowed}.immersion-app a{color:var(--i-green)}.immersion-app h1,.immersion-app h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.035em}.immersion-app h3,.immersion-app h4{font-family:var(--font);font-weight:700}.immersion-icon{flex-shrink:0;vertical-align:middle}.immersion-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.immersion-skip{position:fixed;top:8px;left:10px;transform:translateY(-160%);z-index:200;border-radius:8px;padding:12px 18px;color:#fff!important;background:var(--i-green);font-weight:700}.immersion-skip:focus{transform:none}.immersion-sidebar{position:sticky;top:0;height:100dvh;align-self:start;border-right:1px solid var(--i-line);padding:35px 22px 22px;display:flex;flex-direction:column;background:#f0f0e5}.immersion-brand-button{display:inline-flex;align-items:center;text-align:left;padding:0;min-height:44px;border:0;background:none;border-radius:8px;color:var(--i-ink)}.immersion-brand{display:inline-flex;align-items:center;gap:10px}.immersion-brand-mark{width:43px;height:48px;flex:0 0 43px;border-radius:22px 22px 9px 9px;display:grid;place-items:center;background:var(--i-green);color:#f9edc7}.immersion-brand-name{font-family:Georgia,Times New Roman,serif;font-size:23px;line-height:1.05;letter-spacing:-.055em}.immersion-brand-name>span{display:block;margin-top:5px;font-family:var(--font);font-size:10px;font-weight:600;letter-spacing:.025em}.immersion-language{display:flex;align-items:center;gap:8px;margin:28px 5px 21px;font-size:10px;font-weight:700;letter-spacing:.11em;color:var(--i-muted)}.immersion-language-dot{width:7px;height:7px;border-radius:50%;background:#a75f43;box-shadow:0 0 0 4px #e7dbcc}.immersion-desktop-nav{display:flex;flex-direction:column;gap:7px}.immersion-nav-item{display:flex;align-items:center;gap:13px;width:100%;min-height:50px;border:1px solid transparent;border-radius:12px;background:transparent;color:#556352;padding:11px 15px;font-size:14px;font-weight:600;text-align:left;transition:background .16s ease,color .16s ease}.immersion-nav-item:hover{background:#e5e8db;color:var(--i-ink)}.immersion-nav-item.active{background:var(--i-green);color:#fffefa;border-color:var(--i-green);box-shadow:0 3px 9px #24473412}.immersion-nav-item.speak:not(.active){color:var(--i-green-dark)}.immersion-nav-spark{display:flex;margin-left:auto;color:#8b6825}.immersion-nav-item.active .immersion-nav-spark{color:#ead39b}.immersion-sidebar-bottom{margin-top:auto;padding-top:35px}.immersion-sidebar-note{display:flex;align-items:center;gap:13px;padding:18px 8px 24px;color:#6a795b}.immersion-sidebar-note p{color:#526049;font-size:12px;line-height:1.7}.immersion-sidebar-note p span{font-family:Georgia,serif;font-size:16px;font-style:italic}.immersion-account{border:0;border-top:1px solid #d8dccd;border-radius:0;background:transparent;display:flex;width:100%;gap:10px;align-items:center;padding:18px 0 0;text-align:left}.immersion-avatar{width:36px;height:36px;flex:0 0 36px;background:#e2d9c6;color:#5c5845;border-radius:50%;display:grid;place-items:center;font-weight:700}.immersion-account>span:nth-child(2){min-width:0}.immersion-account strong{display:block;max-width:119px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.immersion-account small{display:block;margin-top:3px;font-size:10px;line-height:1.45;color:#606957}.immersion-account>.immersion-icon{margin-left:auto}.immersion-workspace{min-width:0;display:flex;flex-direction:column}.immersion-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px;padding:16px 38px;border-bottom:1px solid #e4e4d8;background:#f7f5edf2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.immersion-topbar-place{display:flex;align-items:center;gap:7px;color:var(--i-muted);font-size:12px}.immersion-stats{display:flex;align-items:center;gap:25px;margin-left:auto}.immersion-stat{display:inline-flex;align-items:center;gap:7px;min-height:34px;font-size:14px;white-space:nowrap}.immersion-stat strong{color:var(--i-ink);font-size:14px;font-weight:700}.immersion-stat.xp{color:#927026}.immersion-stat-unit{font-size:10px;color:#5c6657;margin-left:-4px}.immersion-stat.streak{color:#aa5a33}.immersion-stat.hearts{color:#b05d4f}.immersion-stat.hearts.empty{color:#767d6f}.immersion-header-signin{min-height:44px;padding:7px 15px;border:1px solid #c2cbb9;background:var(--i-paper);border-radius:9px;color:var(--i-green);font-size:12px;font-weight:700}.immersion-content{width:100%;max-width:1320px;margin:0 auto;padding:32px 38px 38px;flex:1;min-width:0}.immersion-content:focus{outline:none}.immersion-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:20px 38px 24px;color:#65705f;font-size:10px}.immersion-sync{display:inline-flex;align-items:center;gap:6px}.immersion-sync-dot{width:5px;height:5px;border-radius:50%;background:#587c50}.immersion-sync.error .immersion-sync-dot,.immersion-sync.offline .immersion-sync-dot{background:#a56c23}.immersion-sync.saving .immersion-sync-dot{animation:immersion-soft-pulse 1.2s ease-in-out infinite}.immersion-mobile-nav,.immersion-mobile-brand{display:none}.immersion-panel{border:1px solid var(--i-line);border-radius:18px;padding:26px;background:var(--i-paper)}.immersion-panel>h2{font-size:28px;margin-bottom:10px}.immersion-panel>p{color:var(--i-muted)}.immersion-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.12em;color:#59704f}.immersion-button,.immersion-app .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;border:1px solid #c9d1c0;border-radius:10px;background:var(--i-paper);color:var(--i-green);font:inherit;font-size:13px;font-weight:650;box-shadow:0 2px #233c3206;line-height:1.4;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.immersion-button:hover:not(:disabled),.immersion-app .btn:hover:not(:disabled){border-color:#82977a;background:#f1f3e9;filter:none}.immersion-button:active:not(:disabled),.immersion-app .btn:active:not(:disabled){transform:translateY(1px)}.immersion-button.primary,.immersion-app .btn.primary{background:var(--i-green);color:#fffefa;border-color:var(--i-green);box-shadow:0 2px #203e3026}.immersion-button.primary:hover:not(:disabled),.immersion-app .btn.primary:hover:not(:disabled){background:var(--i-green-dark);border-color:var(--i-green-dark)}.immersion-button.small,.immersion-app .btn.small{min-height:44px;padding:9px 15px;font-size:12px}.immersion-app .btn.large{min-height:50px;font-size:14px}.immersion-app .btn.icon{width:44px;height:44px;padding:8px}.immersion-app .btn.ghost{border-color:transparent;background:transparent;box-shadow:none;color:#58654f}.immersion-app .btn.danger{background:#f8e8df;border-color:#d8b5a7;color:#904a34}.immersion-button:disabled{opacity:.65}.immersion-text-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px 1px;background:transparent;border:0;border-radius:3px;color:var(--i-green);font-size:12px;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}.immersion-text-button:hover{text-decoration:underline}.immersion-app input:not([type=checkbox]):not([type=radio]):not([type=range]),.immersion-app select,.immersion-app textarea{max-width:100%;min-height:44px;border:1px solid #b7c2ac;border-radius:9px;background:#fffefa;color:var(--i-ink);padding:10px 12px;font:inherit;font-size:16px;line-height:1.45}.immersion-app textarea::placeholder,.immersion-app input::placeholder{color:#6c7365;opacity:1}.immersion-app input[type=radio],.immersion-app input[type=checkbox],.immersion-app input[type=range]{accent-color:var(--i-green)}.immersion-app progress{accent-color:var(--i-green)}.immersion-section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:21px}.immersion-section-header h2{font-size:31px;line-height:1.2;margin-top:6px}.immersion-section-header p{color:var(--i-muted);font-size:12px;line-height:1.6;margin-top:7px}.immersion-today{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.85fr);position:relative;overflow:hidden;background:#ebeeda;border:1px solid #dce1c8;border-radius:20px;isolation:isolate;margin-bottom:36px}.immersion-today-copy{position:relative;z-index:2;padding:34px 12px 31px 32px}.immersion-today-copy>.immersion-eyebrow{color:#526748;letter-spacing:.095em}.immersion-today h1{max-width:460px;font-size:clamp(32px,3.3vw,47px);line-height:1.08;margin:13px 0 14px;color:#2e4936}.immersion-today-copy>p{max-width:360px;font-size:13px;color:#556047;line-height:1.7}.immersion-today-unit{display:flex;gap:8px;align-items:center;margin-top:17px;font-size:11px;color:#4e6042}.immersion-today-unit>span{font-size:9px;letter-spacing:.06em;white-space:nowrap;padding-right:9px;border-right:1px solid #a9b69c}.immersion-today-unit strong{font-weight:600}.immersion-today-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:23px}.immersion-today-actions>span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#57664c}.immersion-today-art{position:relative;min-width:0;min-height:292px;align-self:stretch}.immersion-today-arch{position:absolute;overflow:hidden;width:230px;height:253px;right:37px;bottom:0;border-radius:125px 125px 0 0;background:#e0cfae;border:6px solid #f4f0dc;border-bottom:0;box-shadow:0 0 0 1px #d9d7bc}.immersion-today-backdrop{position:absolute;inset:0;opacity:.75}.immersion-today-character{position:absolute;bottom:-15px;height:275px;width:275px;left:50%;transform:translate(-50%)}.immersion-today-sun{position:absolute;top:25px;right:21px;width:64px;height:64px;border:1px solid #d3b770;border-radius:50%;background:#eedb9b;opacity:.8}.immersion-today-sun:before,.immersion-today-sun:after{content:"";position:absolute;border:1px solid #c3a45a;inset:-7px;border-radius:50%;opacity:.5}.immersion-today-sun:after{inset:-14px;opacity:.25}.immersion-today-greeting{position:absolute;z-index:2;left:-3px;bottom:38px;transform:rotate(-4deg);border:1px solid #dcd9c6;border-radius:10px 10px 10px 2px;padding:12px 17px;background:#fffdf4;color:#4d6043;font-family:Georgia,serif;font-size:20px;box-shadow:0 5px 15px #3c4b3510}.immersion-today-greeting>span{display:block;margin-top:5px;font-family:var(--font);font-size:9px;color:#65715a}.immersion-today-leaf{position:absolute;bottom:11px;right:7px;color:#678055;transform:rotate(20deg)}.immersion-today-plan{grid-column:1 / -1;display:flex;align-items:center;gap:24px;border-top:1px solid #d8dec4;background:#f5f5e7;padding:18px 27px}.immersion-today-plan-title{display:flex;align-items:center;gap:11px;min-width:183px}.immersion-plan-icon{width:37px;height:37px;display:grid;place-items:center;border:1px solid #d5dcc5;border-radius:50%;background:#e8eddc;color:#5c724a}.immersion-today-plan-title strong{display:block;font-size:12px;font-weight:700}.immersion-today-plan-title small{display:block;font-size:10px;color:#656e59;margin-top:3px}.immersion-today-meter{flex:1;max-width:320px;min-width:100px}.immersion-today-meter>span{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:10px;color:#657255}.immersion-today-meter strong{font-size:11px;color:#4c6040}.immersion-today-meter strong small{font-size:10px;font-weight:500;color:#69735d}.immersion-today-meter progress,.immersion-unit-heading progress{display:block;width:100%;height:5px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#dce3ce}.immersion-today-meter progress::-webkit-progress-bar,.immersion-unit-heading progress::-webkit-progress-bar{background:#dce3ce}.immersion-today-meter progress::-webkit-progress-value,.immersion-unit-heading progress::-webkit-progress-value{background:#748e5b;border-radius:8px}.immersion-today-meter progress::-moz-progress-bar,.immersion-unit-heading progress::-moz-progress-bar{background:#748e5b;border-radius:8px}.immersion-today-plan>.immersion-text-button{margin-left:auto;white-space:nowrap;font-size:11px}.immersion-neighborhood{min-width:0}.immersion-view-toggle{display:flex;flex-shrink:0;border:1px solid #d1d7c7;background:#f1f2e9;border-radius:9px;padding:3px}.immersion-view-toggle button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:0;background:transparent;border-radius:6px;padding:9px 11px;min-width:44px;min-height:44px;font-size:11px;color:#5e6a55}.immersion-view-toggle button.selected{background:#fffefa;color:#34533b;box-shadow:0 1px 4px #3a4a3510}.immersion-world{overflow:hidden;border:1px solid #d7ddcb;border-radius:17px;background:#fbfaf2}.immersion-world-scenery{height:164px;position:relative;overflow:hidden;background:#f1efdf}.immersion-neighborhood-street{position:absolute;bottom:0;height:164px;width:100%}.immersion-world-sign{position:absolute;left:24px;top:17px;padding:11px 14px;color:#4d6244;background:#fffdf4f5;border:1px solid #ddd8bd;border-radius:8px;box-shadow:0 2px 4px #74553109}.immersion-world-sign>span{font-family:Georgia,serif;font-size:17px}.immersion-world-sign small{display:block;margin-top:3px;font-size:9px;color:#626d57}.immersion-level-filter{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:15px 22px 12px;border-top:1px solid #e7e2cd}.immersion-level-filter button{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:7px 12px;font-size:11px;font-weight:650;border:1px solid transparent;border-radius:8px;color:#606b56;background:transparent}.immersion-level-filter button:hover{background:#edf0e2}.immersion-level-filter button.selected{color:#33583d;background:#e5ecda;border-color:#d1dbc5}.immersion-districts{padding:0 23px 6px;display:flex;flex-direction:column}.immersion-district{display:flex;align-items:center;gap:19px;padding:15px 0;border-bottom:1px dashed #dce1d0}.immersion-district:last-child{border-bottom:0}.immersion-district-label{display:flex;align-items:center;gap:9px;flex:0 0 160px}.immersion-district-label>span{display:grid;place-items:center;width:30px;height:34px;flex:0 0 30px;border:1px solid #c8d1b8;border-radius:15px 15px 5px 5px;color:#4c6640;background:#e5ebd8;font-size:10px;font-weight:750}.immersion-district-label h3{font-size:11px;font-weight:600;line-height:1.45;color:#59674f}.immersion-district-path{position:relative;isolation:isolate;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.immersion-district-path:before{content:"";z-index:-1;position:absolute;left:15px;right:15px;top:50%;border-top:2px dotted #d2d9c1}.immersion-unit-pin{position:relative;width:44px;height:44px;flex:0 0 44px;padding:0;border:0;border-radius:50%;background:#fbfaf2;color:#3e5d3b;font-size:12px;font-weight:700}.immersion-pin-face{display:grid;place-items:center;position:absolute;inset:3px;border:1px solid #c7d0b7;border-radius:50%;background:#e8eddc;box-shadow:0 2px #c4ceb3;transition:transform .18s ease,background .18s ease}.immersion-unit-pin:hover .immersion-pin-face{transform:translateY(-2px);background:#dce6cb}.immersion-unit-pin.locked{color:#5d6852}.immersion-unit-pin.locked .immersion-pin-face{background:#eeeee5;border-color:#d1d4c7;box-shadow:0 2px #d0d3c4}.immersion-unit-pin.complete{color:#745318}.immersion-unit-pin.complete .immersion-pin-face{background:#f3e7bd;border-color:#cdb57a;box-shadow:0 2px #d2bc85}.immersion-unit-pin.selected{outline:2px solid #456b3b;outline-offset:1px}.immersion-unit-pin.selected .immersion-pin-face{background:#3b6246;border-color:#3b6246;color:#fffef4;box-shadow:0 2px #234633}.immersion-pin-lock{position:absolute;right:-1px;bottom:-1px;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#fbfaf2;border:1px solid #dbdece;color:#78816d}.level-b1 .immersion-district-label>span,.level-b2 .immersion-district-label>span{color:#805b39;background:#f2e6d5;border-color:#dbc3a7}.level-c1 .immersion-district-label>span,.level-c2 .immersion-district-label>span{color:#6b5b72;background:#eee6ed;border-color:#d6c6d3}.immersion-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:14px 24px 18px;color:#69715e;font-size:9px;border-top:1px solid #eeeee0}.immersion-map-legend>span{display:inline-flex;align-items:center;gap:6px}.immersion-map-legend i{width:7px;height:7px;display:inline-block;border-radius:50%}.immersion-map-legend i.available{background:#6c8d56}.immersion-map-legend i.complete{background:#b2954d}.immersion-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;list-style:none;padding:0 20px 20px;margin:0;max-height:490px;overflow:auto}.immersion-unit-list-item{display:flex;align-items:center;width:100%;text-align:left;gap:11px;padding:11px;min-height:65px;border:1px solid #e1e4d5;border-radius:9px;background:#fffef8}.immersion-unit-list-item:hover{background:#f0f4e8}.immersion-unit-list-item.selected{background:#eaf0df;border-color:#91a47c}.immersion-list-unit-number{display:grid;place-items:center;width:33px;height:36px;flex:0 0 33px;border-radius:16px 16px 6px 6px;background:#edf0e5;color:#59704c;font-size:11px;font-weight:700}.immersion-list-unit-number.complete{background:#f4e9c3;color:#876622}.immersion-list-unit-copy{min-width:0}.immersion-list-unit-copy strong{display:block;font-size:11px;font-weight:650}.immersion-list-unit-copy small{display:block;color:#69735d;font-size:9px;margin-top:4px}.immersion-unit-list-item>.immersion-icon{margin-left:auto;color:#78866b}.immersion-unit-detail{margin-top:23px;overflow:hidden;border:1px solid #d5ddc9;border-radius:17px;background:#fffefa;scroll-margin-top:100px}.immersion-unit-intro{display:grid;grid-template-columns:160px minmax(0,1fr);background:#edf0e4;border-bottom:1px solid #dce2ce}.immersion-unit-scene{position:relative;overflow:hidden;min-height:175px;background:#e7d8ba;border-right:1px solid #dce0cf}.immersion-unit-backdrop{position:absolute;inset:0}.immersion-unit-character{position:absolute;width:195px;height:195px;bottom:-15px;left:50%;transform:translate(-50%)}.immersion-unit-heading{padding:22px 26px}.immersion-unit-heading>.immersion-eyebrow{gap:11px;font-size:9px}.immersion-level-badge{display:inline-grid;place-items:center;min-width:27px;height:20px;padding:1px 5px;border:1px solid #bdcbae;border-radius:5px;font-size:9px;font-weight:700;letter-spacing:0}.immersion-unit-heading h3{margin-top:6px;font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.035em;line-height:1.2}.immersion-unit-heading>p{color:#5c6952;font-size:11px;line-height:1.6;margin-top:7px;max-width:550px}.immersion-unit-progress-label{display:block;color:#566847;font-size:11px;margin:14px 0 6px}.immersion-unit-heading progress{max-width:310px;height:4px}.immersion-lesson-nodes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:24px}.immersion-lesson-node{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;position:relative;min-width:0;padding:12px 8px;border:1px solid #e0e4d5;border-radius:11px;background:#fafbf5;text-align:center;color:#53634a;transition:border-color .15s ease,background .15s ease,transform .15s ease}.immersion-lesson-node:hover:not(:disabled){background:#eff3e5;border-color:#8da17b;transform:translateY(-2px)}.immersion-lesson-node:disabled{opacity:1;color:#747c69;background:#f7f8f2;border-color:#e3e6db}.immersion-lesson-symbol{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #c6d3b7;border-radius:50%;background:#e3ecd6;color:#47693b;font-size:12px;font-weight:700}.immersion-lesson-title{font-size:12px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.immersion-lesson-node small{margin-top:auto;color:#5c6a50;font-size:10px;line-height:1.45}.immersion-lesson-node.current{border-color:#72935f;background:#f0f5e8;box-shadow:0 0 0 1px #93ac8045}.immersion-lesson-node.current .immersion-lesson-symbol{background:#3f6746;color:#fffef3;border-color:#3f6746}.immersion-lesson-node.locked .immersion-lesson-symbol{border-color:#d9ddcf;background:#ecefe4;color:#66715b}.immersion-lesson-node.complete .immersion-lesson-symbol{background:#f6eac1;border-color:#d8bf7d;color:#846322}.immersion-lesson-node.complete{background:#fffdf3;border-color:#e8ddbb}.immersion-lesson-node.checkpoint,.immersion-lesson-node.capstone{background:#f5f0e4;border-color:#ded3b6}.immersion-lesson-node.checkpoint .immersion-lesson-symbol,.immersion-lesson-node.capstone .immersion-lesson-symbol{border-radius:11px;background:#ede1bd;color:#836424;border-color:#cebd8d}.immersion-lesson-node.capstone{background:#edf2ed;border-color:#cedbce}.immersion-lesson-node.capstone .immersion-lesson-symbol{background:#dbe8dc;border-color:#b2c9b5;color:#42694c}.immersion-unit-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 23px;border-top:1px solid #e4e7db;background:#f9faf3}.immersion-unit-bottom>p{display:flex;align-items:flex-start;gap:7px;color:#65745a;font-size:10px;line-height:1.65;max-width:420px}.immersion-unit-bottom>p>.immersion-icon{margin-top:1px}.immersion-unit-bottom>.immersion-button{flex-shrink:0}.immersion-legacy{display:flex;flex-direction:column;min-height:600px;height:min(800px,calc(100dvh - 130px));max-width:800px;margin:0 auto;overflow:hidden;border:1px solid var(--i-line);border-radius:18px;background:var(--i-paper);position:relative}.immersion-legacy>.session,.immersion-legacy>.start,.immersion-legacy>.debrief,.immersion-legacy>.screen{min-height:0;flex:1}.immersion-legacy .stage{height:clamp(240px,35vh,350px)}.immersion-app .sheet{width:min(620px,100%);border-color:#cdd6bf;border-width:1px}.immersion-app .sheet-head h2{font-family:var(--font);font-weight:650}.immersion-app .bottom-bar{border-width:1px}.immersion-app .notice{border-radius:10px;border-width:1px}.immersion-app .chip{border-width:1px;background:#e7eddc;border-color:#c1cfaf;color:#4d6540}@keyframes immersion-soft-pulse{50%{opacity:.4}}@media(min-width:1550px){.immersion-app{grid-template-columns:260px minmax(0,1fr)}.immersion-sidebar{padding-inline:30px}.immersion-content{padding-top:40px}.immersion-topbar{padding-inline:max(38px,calc((100% - 1244px)/2))}}@media(max-width:1190px){.immersion-app{grid-template-columns:208px minmax(0,1fr)}.immersion-sidebar{padding-inline:17px}.immersion-brand-name{font-size:21px}.immersion-brand-name>span{font-size:9px}.immersion-brand-mark{width:38px;flex-basis:38px;height:44px}.immersion-topbar{padding-inline:27px}.immersion-content{padding:27px}.immersion-today-copy{padding-left:27px}.immersion-today-arch{right:21px;width:210px;height:245px}.immersion-today-greeting{left:-18px}.immersion-district{gap:10px}.immersion-district-label{flex-basis:140px}.immersion-district-path{gap:5px}.immersion-lesson-nodes{gap:9px;padding:20px}}@media(max-width:960px){.immersion-app{display:block;padding-bottom:calc(73px + env(safe-area-inset-bottom))}.immersion-sidebar,.immersion-topbar-place{display:none}.immersion-mobile-brand{display:inline-flex}.immersion-topbar{min-height:72px;padding:12px 25px}.immersion-mobile-brand .immersion-brand-mark{height:39px;width:35px;flex-basis:35px;border-radius:18px 18px 8px 8px}.immersion-mobile-brand .immersion-brand-name{font-size:21px}.immersion-mobile-brand .immersion-brand-name>span{font-size:9px}.immersion-stats{gap:20px}.immersion-content{max-width:900px;padding:26px 25px}.immersion-footer{padding:13px 25px 20px}.immersion-mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:35;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 13px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #d8decd;background:#fffef8f7;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.immersion-mobile-nav .immersion-nav-item{flex-direction:column;gap:4px;min-height:51px;border-radius:9px;padding:5px 2px;justify-content:center;font-size:10px;font-weight:600;line-height:1.3}.immersion-mobile-nav .immersion-nav-item>.immersion-icon{width:21px;height:21px}.immersion-mobile-nav .immersion-nav-item.active{background:#e7eddd;border-color:transparent;color:#365a3c;box-shadow:none}.immersion-mobile-nav .immersion-nav-spark{display:none}.immersion-mobile-nav .immersion-nav-item.speak>.immersion-icon{stroke-width:2}.immersion-section-header h2{font-size:30px}.immersion-app .sheet{bottom:0;z-index:51}.immersion-app .sheet-backdrop{z-index:50}.immersion-legacy{height:calc(100dvh - 190px);min-height:560px}}@media(max-width:650px){.immersion-topbar{gap:12px;min-height:66px;padding:10px 17px}.immersion-stats{gap:14px}.immersion-stat{gap:5px}.immersion-stat strong{font-size:12px}.immersion-stat>.immersion-icon{width:17px;height:17px}.immersion-stat-unit{display:none}.immersion-header-signin{min-height:44px;padding:7px 10px;font-size:10px}.immersion-mobile-brand .immersion-brand-name{font-size:18px}.immersion-mobile-brand .immersion-brand-name>span{font-size:8px}.immersion-mobile-brand .immersion-brand{gap:7px}.immersion-mobile-brand .immersion-brand-mark{width:30px;flex-basis:30px;height:35px}.immersion-mobile-brand .immersion-brand-mark>.immersion-icon{width:21px;height:21px}.immersion-content{padding:22px 17px 24px}.immersion-today{grid-template-columns:minmax(0,1fr) 140px;border-radius:16px;margin-bottom:29px}.immersion-today-copy{padding:25px 0 22px 22px}.immersion-today h1{font-size:34px;margin:12px -10px 13px 0}.immersion-today-copy>.immersion-eyebrow{font-size:9px;gap:5px}.immersion-today-copy>.immersion-eyebrow .immersion-icon{width:13px;height:13px}.immersion-today-copy>p{font-size:12px;max-width:210px}.immersion-today-unit{display:none}.immersion-today-actions{margin-top:19px;gap:9px}.immersion-today-actions .immersion-button{position:relative;z-index:4;padding-inline:15px;white-space:nowrap;font-size:12px;min-height:45px}.immersion-today-actions>span{font-size:10px}.immersion-today-art{min-height:310px}.immersion-today-arch{height:216px;width:167px;right:-4px;border-width:5px}.immersion-today-character{width:220px;height:220px;bottom:-10px}.immersion-today-sun{top:39px;right:17px;width:44px;height:44px}.immersion-today-greeting{display:none}.immersion-today-greeting>span{font-size:8px}.immersion-today-leaf{display:none}.immersion-today-plan{padding:16px 20px;flex-wrap:wrap;gap:14px}.immersion-today-plan-title{min-width:0;flex:1;gap:8px}.immersion-plan-icon{width:32px;height:32px}.immersion-today-plan-title strong{font-size:11px}.immersion-today-plan-title small{font-size:10px}.immersion-today-meter{max-width:170px;min-width:105px;flex:.8}.immersion-today-meter>span>span{display:none}.immersion-today-plan>.immersion-text-button{display:none}.immersion-section-header{gap:12px;align-items:center;margin-bottom:17px}.immersion-section-header .immersion-eyebrow{font-size:9px;letter-spacing:.09em}.immersion-section-header h2{font-size:27px}.immersion-section-header p{font-size:11px;margin-top:6px;max-width:240px}.immersion-view-toggle{padding:2px}.immersion-view-toggle button{min-height:44px;width:44px;padding:8px}.immersion-view-toggle button span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.immersion-world-scenery{height:145px}.immersion-neighborhood-street{height:145px;min-width:650px;left:50%;transform:translate(-50%)}.immersion-world-sign{top:12px;left:14px;padding:9px 11px}.immersion-world-sign>span{font-size:15px}.immersion-world-sign small{font-size:10px}.immersion-level-filter{gap:2px;padding:10px 11px 6px}.immersion-level-filter button{min-width:44px;padding:8px;font-size:10px}.immersion-districts{padding:0 16px}.immersion-district{flex-direction:column;align-items:flex-start;gap:12px;padding:13px 0 16px}.immersion-district-label{flex-basis:auto;gap:8px}.immersion-district-label>span{width:26px;flex-basis:26px;height:27px;font-size:9px;border-radius:5px}.immersion-district-label h3{font-size:12px}.immersion-district-path{width:100%;gap:7px}.immersion-unit-pin{width:44px;height:44px;flex-basis:44px}.immersion-map-legend{padding:13px 15px;gap:11px;font-size:10px}.immersion-unit-list{grid-template-columns:minmax(0,1fr);padding-inline:12px}.immersion-unit-list-item{min-height:66px}.immersion-list-unit-copy strong{font-size:12px}.immersion-list-unit-copy small{font-size:10px}.immersion-unit-intro{grid-template-columns:100px minmax(0,1fr)}.immersion-unit-heading{padding:18px 16px}.immersion-unit-heading h3{font-size:24px}.immersion-unit-heading>p{font-size:12px}.immersion-unit-scene{min-height:177px}.immersion-unit-character{width:174px;height:174px}.immersion-unit-progress-label{font-size:10px}.immersion-lesson-nodes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:15px 13px}.immersion-lesson-node{padding:10px 5px;gap:7px;border-radius:9px}.immersion-lesson-symbol{width:32px;height:32px;flex-basis:32px;font-size:11px}.immersion-lesson-title{font-size:12px}.immersion-lesson-node small{display:none}.immersion-unit-bottom{flex-direction:column;align-items:stretch;padding:15px;gap:13px}.immersion-unit-bottom>p{font-size:11px}.immersion-unit-bottom .immersion-button{align-self:flex-start}.immersion-footer{padding:10px 18px 18px;font-size:9px}.immersion-panel{padding:20px;border-radius:14px}.immersion-legacy{margin:-6px -4px 0;min-height:560px;height:calc(100dvh - 166px);border-radius:13px}.immersion-legacy .stage{height:clamp(210px,30vh,300px)}}@media(max-width:390px){.immersion-topbar{padding-inline:12px;gap:8px}.immersion-stats{gap:10px}.immersion-stat{gap:3px}.immersion-stat strong{font-size:11px}.immersion-stat>.immersion-icon{width:16px;height:16px}.immersion-mobile-brand .immersion-brand-mark{display:none}.immersion-mobile-brand .immersion-brand-name{font-size:19px}.immersion-header-signin{padding-inline:7px;font-size:9px}.immersion-content{padding-inline:12px}.immersion-today{grid-template-columns:minmax(0,1fr) 105px}.immersion-today-copy{padding:23px 0 22px 18px}.immersion-today h1{font-size:31px;margin-right:-7px}.immersion-today-art{min-height:300px}.immersion-today-arch{width:150px;right:-3px;height:197px}.immersion-today-character{height:205px;width:205px}.immersion-today-greeting{left:-22px;padding-inline:9px;bottom:16px;font-size:14px}.immersion-today-greeting>span{display:none}.immersion-today-sun{right:15px;top:42px;width:34px;height:34px}.immersion-today-plan{padding-inline:15px;gap:10px}.immersion-plan-icon{display:none}.immersion-section-header h2{font-size:25px}.immersion-view-toggle button{width:44px}.immersion-level-filter{column-gap:0;padding-inline:7px}.immersion-level-filter button{min-width:44px}.immersion-district-path{gap:5px}.immersion-unit-intro{grid-template-columns:84px minmax(0,1fr)}.immersion-unit-heading{padding-inline:13px}.immersion-unit-heading h3{font-size:22px}.immersion-lesson-nodes{gap:6px;padding:12px 10px}.immersion-lesson-title{font-size:11px}.immersion-mobile-nav{padding-inline:7px}}@media(max-width:360px){.immersion-today-arch{width:105px;right:0;height:171px}.immersion-today-character{width:175px;height:175px;bottom:-11px}.immersion-today-actions .immersion-button{width:100%;min-width:0;max-width:100%;white-space:normal;padding-inline:10px;gap:7px}}@media(prefers-reduced-motion:reduce){.immersion-app *,.immersion-app *:before,.immersion-app *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(forced-colors:active){.immersion-nav-item.active,.immersion-unit-pin.selected,.immersion-lesson-node.current{outline:2px solid Highlight;outline-offset:2px}.immersion-button,.immersion-app .btn,.immersion-pin-face,.immersion-lesson-node,.immersion-view-toggle button{border-color:ButtonText}}.learning-home,.learning-collection,.learning-profile{display:grid;gap:24px}.learning-page-heading{margin:9px 0 6px;max-width:760px}.learning-page-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:13px 0}.learning-page-heading p{font-size:16px;color:var(--i-muted);line-height:1.7}.learning-welcome,.learning-import-prompt{display:flex;align-items:center;gap:28px;justify-content:space-between}.learning-welcome>div:first-child{max-width:560px}.learning-welcome h2{font-size:26px;margin:8px 0}.learning-welcome p,.immersion-panel>p{color:var(--i-muted);line-height:1.7}.learning-quests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.learning-quest{display:flex;align-items:center;gap:13px;border:1px solid var(--i-line);border-radius:15px;background:var(--i-paper);padding:19px 17px}.learning-quest-icon{display:grid;place-items:center;width:40px;height:45px;background:var(--i-sage);color:var(--i-green);border-radius:12px;flex-shrink:0}.learning-quest>div{flex:1;min-width:0}.learning-quest strong{font-size:13px;display:block}.learning-quest small{display:block;color:var(--i-muted);font-size:10px;margin-top:3px}.learning-quest>span:last-child{font-size:13px;text-align:center;color:var(--i-gold);font-weight:700}.learning-quest progress{width:100%;height:5px;margin-top:11px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--i-green)}.learning-path-note{display:flex;align-items:center;gap:30px;color:var(--i-muted);font-size:12px;padding:0 8px}.learning-path-note p{flex:1}.learning-player{max-width:820px;margin:0 auto}.learning-player-header{display:flex;align-items:center;gap:18px;margin:8px 0 22px}.learning-player-header>div{flex:1;min-width:0}.learning-player-header h1{font-size:clamp(23px,3vw,32px);line-height:1.25;margin:7px 0 0}.learning-icon-button{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;border:1px solid var(--i-line);border-radius:50%;background:var(--i-paper);color:var(--i-ink);flex-shrink:0}.learning-save-note{font-size:11px;color:var(--i-muted);max-width:100px;text-align:right}.learning-progress{width:100%;height:9px;appearance:none;border:0;background:var(--i-sage);border-radius:20px;overflow:hidden;margin-bottom:28px}.learning-progress::-webkit-progress-bar,.learning-quest progress::-webkit-progress-bar{background:var(--i-sage)}.learning-progress::-webkit-progress-value,.learning-quest progress::-webkit-progress-value{background:var(--i-green);border-radius:20px}.learning-exercise{padding:clamp(22px,4vw,45px)!important}.learning-exercise h2{font-size:clamp(25px,3vw,34px);line-height:1.3;margin:18px 0 24px}.learning-exercise-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--i-muted);text-transform:uppercase;letter-spacing:.06em}.learning-translation{display:block;font-family:var(--font);font-weight:400;font-size:14px;line-height:1.6;letter-spacing:0;margin-top:9px;color:var(--i-muted)}.learning-teaching{display:grid;gap:18px;margin:24px 0}.learning-teaching>div{padding:18px 20px;border:1px solid var(--i-line);border-radius:12px;background:#f9f8f1}.learning-teaching p{margin:5px 0 9px}.learning-teaching p[lang=es]{font-size:18px}.learning-teaching p:not([lang]){font-size:13px;color:var(--i-muted)}.learning-audio{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:16px 0}.learning-audio small{font-size:11px;color:var(--i-muted)}.learning-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--i-ink);font-weight:600;margin:19px 0}.learning-field input:not([type=range]),.learning-field textarea,.learning-field select,.learning-matches select{width:100%;border:1px solid #c3cbbb;background:#fffefa;border-radius:10px;min-height:46px;padding:12px 14px;color:var(--i-ink);font:inherit;font-weight:400;font-size:16px;box-shadow:none}.learning-field textarea{resize:vertical;line-height:1.6}.learning-field input[type=range]{width:100%;accent-color:var(--i-green);min-height:44px}.learning-field-row{display:flex;gap:20px;align-items:flex-start}.learning-field-row>*{flex:1;min-width:0}.learning-check{display:flex;align-items:flex-start;gap:12px;padding:14px 0;font-size:14px}.learning-check input{width:20px;height:20px;accent-color:var(--i-green);flex-shrink:0;margin-top:1px}.learning-options{display:grid;gap:12px;margin:24px 0}.learning-options button{display:flex;align-items:center;text-align:left;gap:14px;min-height:63px;border:1.5px solid var(--i-line);border-radius:12px;padding:14px 18px;background:var(--i-paper);color:var(--i-ink);font-size:16px}.learning-options button>span{display:grid;place-items:center;min-width:28px;height:28px;border:1px solid var(--i-line);border-radius:6px;font-size:11px;color:var(--i-muted)}.learning-options button.selected{border-color:var(--i-green);background:var(--i-sage);box-shadow:0 0 0 1px var(--i-green)}.learning-options button:hover:not(:disabled){border-color:var(--i-green)}.learning-matches{display:grid;gap:13px;margin:28px 0}.learning-matches label{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px;padding-bottom:13px;border-bottom:1px solid var(--i-line)}.learning-word-answer,.learning-word-bank{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:18px 0}.learning-word-answer{min-height:86px;border-block:1px solid var(--i-line);margin:24px 0 6px;color:var(--i-muted)}.learning-word-answer button,.learning-word-bank button{min-height:44px;padding:9px 14px;background:var(--i-paper);border:1px solid #c3cbbb;border-radius:9px;box-shadow:0 2px #d5dbce;color:var(--i-ink);font-size:16px}.learning-word-answer button{background:var(--i-sage);border-color:#a4b39b}.learning-word-bank button:disabled{opacity:.3}.learning-accents{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.learning-accents button{min-width:44px;min-height:44px;border:1px solid var(--i-line);border-radius:8px;color:var(--i-ink);background:var(--i-sage);font-size:16px}.learning-cloze{font-size:25px;padding:18px;background:#f5f3e8;border-radius:10px}.learning-passage{border-left:3px solid #aab595;background:#f6f5ed;padding:22px 24px;border-radius:0 10px 10px 0;margin:26px 0}.learning-passage p{line-height:1.95;white-space:pre-line;font-size:16px}.learning-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px}.learning-hint,.learning-feedback,.learning-callout,.learning-confirm{border-radius:12px;padding:18px 21px;margin:20px 0;background:#f4edd8;border:1px solid #e2d6b7;font-size:14px;line-height:1.7}.learning-hint p,.learning-feedback p{margin:8px 0 0}.learning-feedback.correct{background:#edf2e6;border-color:#c6d7ba}.learning-feedback.retry{background:#f9ede5;border-color:#e1c7b8}.learning-feedback.neutral{background:#eef0e8;border-color:var(--i-line)}.learning-callout{display:flex;align-items:center;gap:14px;background:var(--i-sage);border:0}.learning-callout p{margin:0;font-size:13px}.learning-caption{font-size:11px;color:var(--i-muted);line-height:1.7;margin-top:20px}.learning-reference{padding:17px 0;margin:10px 0;border-block:1px solid var(--i-line)}.learning-reference summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:600}.learning-reference p{line-height:1.8}.learning-result{max-width:730px;padding:50px 40px!important;text-align:center;margin:40px auto}.learning-result-medal{width:90px;height:90px;display:grid;place-items:center;border-radius:50%;background:#eee9cf;color:var(--i-green);margin:0 auto 30px;box-shadow:0 0 0 10px #f8f5e9}.learning-result h1{font-size:clamp(30px,4vw,43px);line-height:1.2;margin:18px 0}.learning-earned-xp{display:block;color:var(--i-gold);font-size:22px;margin:0 0 18px}.learning-result>.learning-actions{justify-content:center}.learning-score-grid,.learning-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.learning-score-grid>div{padding:17px 10px;background:var(--i-sage);border-radius:10px}.learning-score-grid strong,.learning-stat-grid strong{display:block;font-size:27px;color:var(--i-green);font-weight:600}.learning-score-grid span,.learning-stat-grid span{display:block;font-size:12px;color:var(--i-muted)}.learning-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.learning-stat-grid>div{min-width:0;overflow-wrap:anywhere;border:1px solid var(--i-line);border-radius:15px;background:var(--i-paper);padding:25px}.learning-stat-grid strong{font-family:Georgia,serif;font-size:41px}.learning-achievements{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0 5px}.learning-achievements>div{border:1px solid var(--i-line);border-radius:13px;padding:20px;display:flex;flex-direction:column;gap:10px;color:var(--i-muted)}.learning-achievements>div.earned{background:#f3eddb;border-color:#e1d2af;color:#6b542a}.learning-achievements strong{font-size:14px}.learning-achievements small{font-size:12px;flex:1}.learning-achievements span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.learning-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.learning-section-heading>span{color:var(--i-muted);font-size:12px}.learning-vocabulary{display:grid}.learning-vocabulary article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--i-line)}.learning-vocabulary h3{font-size:17px;margin:0 0 6px}.learning-vocabulary p{font-size:13px;color:var(--i-muted);margin:0}.learning-pill{display:inline-block;font-size:10px;padding:5px 9px;border:1px solid var(--i-line);border-radius:20px;white-space:nowrap;color:var(--i-muted)}.learning-pill.secure{background:var(--i-sage);color:var(--i-green);border-color:#bdcdb1}.learning-story-album{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.learning-story-album article{padding:20px;border:1px solid var(--i-line);border-radius:13px}.learning-story-album h3{font-size:16px;margin:12px 0}.learning-story-album p{font-size:12px}.learning-story-album .learning-pill{margin:3px}.learning-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.learning-profile-grid h2,.learning-collection .immersion-panel>h2{font-size:28px;margin:0 0 15px}.learning-account-details>div{display:flex;gap:20px;justify-content:space-between;font-size:13px;border-bottom:1px solid var(--i-line);padding:13px 0}.learning-account-details dd{margin:0;font-weight:600;overflow-wrap:anywhere;text-align:right}.learning-account-details dt{color:var(--i-muted)}.learning-file-label{position:relative;cursor:pointer}.learning-file-label input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.learning-file-label:focus-within{outline:3px solid #357263;outline-offset:4px}.learning-danger{color:#9b3d30!important}.learning-notice,.learning-error{padding:15px 20px;background:#fbefdf;border:1px solid #ddc9a7;color:#67482a;border-radius:12px;margin:0 0 20px;line-height:1.7;font-size:13px;display:flex;align-items:center;gap:20px}.learning-notice>span{flex:1}.learning-error{margin:12px}.learning-loading,.learning-empty{padding:35px;color:var(--i-muted);text-align:center}.learning-level{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.learning-level h2{font-size:28px;margin:8px 0 0}.learning-level>div:last-child{flex:0 1 280px;font-size:12px;color:var(--i-muted)}.learning-level progress{width:100%;height:8px;display:block;margin-top:12px;accent-color:var(--i-green)}.learning-speak-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:24px;margin-top:30px;align-items:start}.learning-speak-grid h2{font-size:28px;margin:0 0 20px}.learning-portraits{border:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:24px 0}.learning-portraits legend{font-size:13px;font-weight:600;margin-bottom:12px}.learning-portraits button{min-width:0;overflow:hidden;padding:7px 4px;background:#f4f2e8;border:1px solid var(--i-line);border-radius:11px;color:var(--i-ink)}.learning-portraits button.selected{box-shadow:0 0 0 2px var(--i-green)}.learning-portraits .character-portrait{width:100%;height:80px;min-height:0;overflow:hidden;position:relative}.learning-portraits canvas{width:100%;height:auto}.learning-portraits span{font-size:10px}.learning-saved-partner{padding:16px 0;border-bottom:1px solid var(--i-line)}.learning-saved-partner p{font-size:13px;color:var(--i-muted);line-height:1.7}.learning-conversation-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:22px;align-items:start}.learning-conversation-main{min-width:0;border:1px solid var(--i-line);border-radius:20px;overflow:hidden;background:var(--i-paper)}.learning-conversation-stage{position:relative;height:240px;overflow:hidden;background:#e7e5d6}.learning-conversation-stage>svg,.learning-conversation-stage>.scenario-backdrop{position:absolute;inset:0;width:100%;height:100%}.learning-conversation-stage>.character-portrait{position:absolute;width:260px;height:260px;bottom:-30px;left:50%;transform:translate(-50%)}.learning-conversation-stage canvas{width:100%;height:100%}.learning-character-name{position:absolute;bottom:14px;left:18px;color:var(--i-ink);border:1px solid #ffffffa0;background:#fff8e9ed;padding:6px 13px;border-radius:20px;font-size:12px}.learning-conversation-log{max-height:400px;overflow:auto;overscroll-behavior:contain;padding:22px;display:flex;flex-direction:column;gap:17px}.learning-bubble{max-width:92%;border-radius:14px;padding:13px 16px;background:#f2f1e8;align-self:flex-start;overflow-wrap:anywhere}.learning-bubble.user{background:#e8efdf;align-self:flex-end}.learning-bubble>span{font-size:10px;color:var(--i-muted)}.learning-bubble p{margin:7px 0 0;font-size:16px;line-height:1.7;white-space:pre-line}.learning-bubble .immersion-text-button{min-height:34px;font-size:11px}.learning-composer{border-top:1px solid var(--i-line);padding:0 22px 20px}.learning-composer .learning-actions{margin-top:13px}.learning-conversation-main>.learning-caption{padding:0 22px 20px;margin:0}.learning-conversation-main>small{display:block;padding:0 22px}.learning-conversation-aside{display:grid;gap:20px}.learning-conversation-aside h2{font-size:26px;margin:12px 0}.learning-conversation-aside p{font-size:13px}.learning-mission-checklist{list-style:none;margin:22px 0 0;padding:0}.learning-mission-checklist li{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--i-line);font-size:12px;line-height:1.6;color:var(--i-muted)}.learning-mission-checklist li.complete{color:var(--i-green)}.learning-mission-checklist small{display:block;font-size:10px;color:var(--i-muted);margin-top:4px}.learning-mission-checklist svg{margin-top:2px}.learning-coach{background:#f4f0e1!important}.learning-coach-advice{white-space:pre-line;border-top:1px solid #d6cfb5;padding-top:18px;line-height:1.8}.learning-signin-callout{padding:20px 22px;background:var(--i-sage)}.learning-signin-callout p{font-size:13px}.learning-conversation-welcome h2{font-size:29px}.learning-conversation-welcome p{font-size:14px;color:var(--i-muted)}.immersion-button.recording{background:#a34835;color:#fff}@media(max-width:1100px){.learning-quests{grid-template-columns:1fr}.learning-quest{padding:15px 20px}.learning-quest progress{max-width:250px}.learning-welcome{display:block}.learning-conversation-grid{grid-template-columns:minmax(0,1fr)}.learning-conversation-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-conversation-aside>.immersion-panel:only-child{grid-column:1/-1}.learning-mission-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}}@media(max-width:700px){.learning-quests{gap:10px}.learning-profile-grid,.learning-speak-grid{grid-template-columns:1fr}.learning-achievements{grid-template-columns:repeat(2,1fr)}.learning-field-row{flex-direction:column;gap:0}.learning-field-row>*{width:100%}.learning-matches label{grid-template-columns:1fr;gap:8px}.learning-path-note,.learning-import-prompt{display:block}.learning-save-note{display:none}.learning-conversation-aside,.learning-mission-checklist{grid-template-columns:1fr}.learning-conversation-stage{height:210px}.learning-conversation-log{padding:16px}.learning-composer{padding:0 16px 18px}.learning-story-album{grid-template-columns:1fr 1fr}.learning-stat-grid{gap:9px}.learning-stat-grid>div{padding:16px 12px}.learning-stat-grid span{font-size:10px}.learning-stat-grid strong{font-size:32px}.learning-score-grid{grid-template-columns:repeat(2,1fr)}.learning-result{padding:35px 22px!important}.learning-exercise-meta{font-size:9px}.learning-vocabulary article{align-items:flex-start;flex-direction:column;gap:10px}.learning-player-header{gap:12px}.learning-player-header>.immersion-button{padding:10px 12px}.learning-portraits .character-portrait{height:65px}.learning-page-heading{margin-top:0}}@media(prefers-reduced-motion:reduce){.learning-progress,.learning-quest progress{transition:none}}@media(max-width:390px){.learning-portraits{grid-template-columns:repeat(4,minmax(0,1fr))}}.learning-coach-voice{display:grid;gap:.75rem;margin-bottom:.75rem}.learning-coach-voice>button{justify-self:start}:root{--ink: #26244a;--ink-soft: #55527a;--ink-faint: #7d7a9c;--page: #e8e3f7;--bg: #f7f4fd;--bg-elev: #ffffff;--bg-muted: #efebf9;--line: #d9d4ec;--pink: #ffd3e4;--pink-deep: #ef9fc2;--coral: #ffbcae;--coral-deep: #e8867a;--mint: #c6f1dc;--mint-deep: #82d4ae;--lav: #dcd6ff;--lav-deep: #aea2f0;--peach: #ffdcc2;--peach-deep: #f2b28a;--butter: #ffe98f;--butter-deep: #e4c14a;--sky: #cfe6ff;--sky-deep: #8fc1f2;--red: #ffc9c9;--red-deep: #ec8f8f;--accent: var(--mint);--accent-deep: var(--mint-deep);--accent-ink: var(--ink);--accent-soft: var(--mint);--ok: #1f8a5b;--ok-soft: var(--mint);--warn: #8a6100;--warn-soft: var(--butter);--err: #c23b3b;--err-soft: var(--red);--info-soft: var(--sky);--radius: 20px;--radius-sm: 14px;--edge: 4px;--shadow: 0 var(--edge) 0 var(--line);--font: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:15px;font-weight:600;line-height:1.45;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}input,select{font:inherit}h1,h2,h3,h4{margin:0;font-weight:900;letter-spacing:-.01em}p{margin:0}:focus-visible{outline:3px solid var(--sky-deep);outline-offset:2px}.app{display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;height:100vh;height:100dvh;background:var(--bg);overflow:hidden}@media(min-width:520px){.app{border-left:2px solid var(--line);border-right:2px solid var(--line)}}.screen{flex:1;min-height:0;overflow-y:auto}.screen.start,.screen.free-talk,.screen.session,.screen.debrief{overflow:hidden;display:flex;flex-direction:column}.scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.loading{padding:32px 20px;color:var(--ink-faint)}.bottom-bar{flex-shrink:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg-elev);border-top:2px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:8px}.bottom-bar .status{text-align:center;font-size:14px;font-weight:700;color:var(--ink-soft);min-height:20px}.bottom-bar .status .err{color:var(--err)}.session-controls{display:grid;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:12px;align-items:start;width:100%}.session-controls>.mic-wrap{grid-column:2;min-width:0}.session-controls .mic-wrap .hint{white-space:nowrap}.btn.coach-button{grid-column:3;justify-self:center;width:92px;max-width:100%;height:80px;padding:8px;flex-direction:column;gap:4px;border-radius:20px;font-size:12px;line-height:1.2;--fill: var(--lav);--edge-c: var(--lav-deep)}.coach-button svg{width:24px;height:24px;flex-shrink:0}.muted{color:var(--ink-faint);font-size:13px}.strike{text-decoration:line-through;color:var(--err)}.topbar{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:10px 16px;border-bottom:2px solid var(--line);background:var(--bg-elev);z-index:20}.topbar .brand{font-weight:900;font-size:17px;display:flex;gap:8px;align-items:center}.topbar .brand .dot{width:12px;height:12px;border-radius:50%;background:var(--coral);border:2px solid var(--ink)}.topbar .spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800;background:var(--lav);color:var(--ink);border:2px solid var(--lav-deep)}button.chip.tap{box-shadow:0 3px 0 var(--lav-deep);transition:transform .06s,box-shadow .06s}button.chip.tap:active{transform:translateY(3px);box-shadow:none}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.btn{--fill: var(--bg-elev);--edge-c: var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:16px;border:2px solid var(--edge-c);background:var(--fill);color:var(--ink);font-weight:800;font-size:15px;line-height:1.2;box-shadow:0 var(--edge) 0 var(--edge-c);transition:transform .06s,box-shadow .06s,filter .15s}.btn:hover:not(:disabled){filter:brightness(.97)}.btn:active:not(:disabled){transform:translateY(var(--edge));box-shadow:0 0 0 var(--edge-c)}.btn.primary{--fill: var(--accent);--edge-c: var(--accent-deep);color:var(--accent-ink)}.btn.danger{--fill: var(--red);--edge-c: var(--red-deep)}.btn.ghost{--fill: transparent;--edge-c: transparent;box-shadow:none;color:var(--ink-soft)}.btn.ghost:hover:not(:disabled){background:var(--bg-muted);color:var(--ink);filter:none}.btn.small{--edge: 3px;min-height:36px;padding:6px 12px;font-size:13px;border-radius:12px}.btn.icon{width:40px;height:40px;min-height:0;padding:0;border-radius:14px;font-size:18px}.btn.large{min-height:56px;padding:14px 24px;font-size:18px;border-radius:20px;width:100%}.start{flex:1;min-height:0;display:flex;flex-direction:column}.start-body{padding:16px 20px 24px;display:flex;flex-direction:column;gap:10px}.start h1{font-size:24px;line-height:1.15}.start .subtitle-es{color:var(--ink-faint);font-style:italic;font-weight:700}.start .desc{color:var(--ink-soft);font-size:15px}.free-talk-setup .start-body{gap:16px}.free-talk-nav{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.free-talk-characters{padding:0;margin:0;border:0;min-width:0}.free-talk-characters legend,.free-talk-description>label{font-weight:800;margin-bottom:8px;padding:0}.free-talk-portraits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.free-talk-portraits label{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 2px 8px;border:2px solid var(--line);border-radius:14px;background:var(--bg-elev);cursor:pointer;font-size:12px}.free-talk-portraits label:has(input:checked){background:var(--mint);border-color:var(--ok);box-shadow:0 3px 0 var(--mint-deep)}.free-talk-portraits label:has(input:focus-visible){outline:3px solid var(--sky-deep);outline-offset:2px}.free-talk-portraits input{position:absolute;top:5px;left:5px;margin:0;accent-color:var(--ok);z-index:1}.free-talk-portrait{display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:9px}.free-talk-portrait .character-portrait{width:100%;height:100%}.free-talk-portrait svg{width:100%;height:100%;display:block}.free-talk-description{display:flex;flex-direction:column;gap:6px}.free-talk-description>label{margin:0}.free-talk-description textarea{display:block;width:100%;min-height:140px;padding:12px;border:2px solid var(--line);border-radius:14px;background:var(--bg-elev);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;resize:vertical}.free-talk-description textarea::placeholder{color:var(--ink-faint)}.free-talk-count{align-self:flex-end}.free-talk-examples{display:flex;flex-wrap:wrap;gap:8px}.free-talk-setup fieldset:disabled{opacity:.65}@media(max-width:380px){.free-talk-portraits{grid-template-columns:repeat(4,minmax(0,1fr))}}.hero,.stage{position:relative;overflow:hidden;background:#f1dfc6;flex-shrink:0;border-bottom:2px solid var(--ink)}.hero{height:clamp(240px,38vh,360px)}.hero.results{height:clamp(220px,34vh,300px)}.hero.results .stage-character{left:34%}.stage{height:clamp(300px,46vh,460px)}@media(max-height:640px){.stage{height:clamp(240px,38vh,460px)}}.stage-backdrop{position:absolute;inset:0;width:100%;height:100%}.stage-character{position:absolute;left:50%;bottom:0;height:108%;aspect-ratio:1;transform:translate(-50%)}.character-portrait{aspect-ratio:1;min-width:0}.character-portrait canvas{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;transform-origin:50% 100%}.character-portrait>svg{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;transform-origin:50% 100%}.neighbor-bust{animation:neighbor-breathe 5s ease-in-out infinite}.neighbor-mouth{transform-origin:162px 191px;animation:neighbor-talk .22s ease-in-out infinite alternate}.neighbor-bust.pose-listening{transform:rotate(2deg)}@keyframes neighbor-breathe{50%{transform:translateY(2px) rotate(.4deg)}}@keyframes neighbor-talk{to{transform:scaleY(.3)}}@media(prefers-reduced-motion:reduce){.neighbor-bust,.neighbor-mouth{animation:none}}.thought-dots{position:absolute;left:66%;top:12%;display:flex;gap:6px;align-items:flex-end}.thought-dots span{width:9px;height:9px;border-radius:50%;background:var(--ink);opacity:.15;animation:think 1.4s ease-in-out infinite}.thought-dots span:nth-child(2){width:12px;height:12px;animation-delay:.2s}.thought-dots span:nth-child(3){width:15px;height:15px;animation-delay:.4s}@keyframes think{0%,to{opacity:.15}50%{opacity:.8}}.flag{transform-box:fill-box;transform-origin:50% 0;animation:sway 6s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.stage-header{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.stage-title{background:var(--bg-elev);border:2px solid var(--ink);border-radius:16px;box-shadow:0 3px 0 var(--ink);padding:8px 12px;max-width:55%}.stage-title .title{font-weight:900;font-size:14px;line-height:1.2}.stage-title .sub{color:var(--ink-faint);font-size:12px;font-weight:700}.stage-actions{display:flex;gap:8px;align-items:flex-start;flex-shrink:0}.subtitle{position:absolute;left:12px;right:12px;bottom:12px;background:var(--bg-elev);border:2px solid var(--ink);border-radius:18px;box-shadow:0 var(--edge) 0 var(--ink);padding:10px 14px;font-size:17px;font-weight:700;line-height:1.4;text-align:center}.subtitle .unsaid{color:var(--ink-faint)}.subtitle .said{color:var(--ink);transition:color .12s}.stage:has(>.stage-character:is([data-character=rigo],[data-character=karla])){height:auto;display:grid;grid-template-rows:clamp(260px,38vh,360px) auto}.stage:has(>.stage-character:is([data-character=rigo],[data-character=karla]))>.stage-character{grid-row:1 / 2}.stage:has(>.stage-character:is([data-character=rigo],[data-character=karla]))>.subtitle{position:relative;inset:auto;grid-row:2;margin:0 12px 12px}.translation-hint{margin-top:6px;font-size:11px;font-weight:600;color:var(--ink-faint)}.farewell{position:absolute;top:16px;left:50%;right:14px;background:var(--bg-elev);border:2px solid var(--ink);border-radius:20px 20px 20px 6px;box-shadow:0 var(--edge) 0 var(--ink);padding:12px 14px;font-size:18px;font-weight:900;line-height:1.3}.notice{padding:12px 14px;border-radius:16px;font-size:14px;font-weight:700;border:2px solid var(--line);background:var(--bg-elev);color:var(--ink-soft);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.notice.warn{background:var(--butter);border-color:var(--butter-deep);color:var(--ink)}.notice.error{background:var(--red);border-color:var(--red-deep);color:var(--ink)}.session{flex:1;display:flex;flex-direction:column;min-height:0}.session-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:8px}.session-scroll>.notice{margin:12px 16px 0}.you-said{appearance:none;border:none;background:transparent;text-align:left;padding:0;margin:10px 16px 0;flex-shrink:0;font-size:14px;font-weight:700;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.you-said .who{color:var(--ink-faint);margin-right:6px}.you-said.ghost{color:var(--ink-faint);font-style:italic}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.bubble{max-width:88%;display:flex;flex-direction:column;gap:6px}.bubble.partner{align-self:flex-start}.bubble.learner{align-self:flex-end;align-items:flex-end}.bubble .who{font-size:12px;color:var(--ink-faint);font-weight:800;letter-spacing:.02em}.bubble .body{padding:12px 16px;border-radius:18px;font-size:16px;line-height:1.5;position:relative;background:var(--bg-elev);border:2px solid var(--line);box-shadow:0 3px 0 var(--line)}.bubble.partner .body{border-bottom-left-radius:6px}.bubble.learner .body{border-bottom-right-radius:6px;background:var(--sky);border-color:var(--sky-deep);box-shadow:0 3px 0 var(--sky-deep)}.bubble.learner.ghost .body{opacity:.6;font-style:italic}.bubble .body.blurred .text{filter:blur(7px);-webkit-user-select:none;user-select:none;pointer-events:none}.bubble .actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.bubble .actions .btn{font-size:12px}.bubble.thinking .body{color:var(--ink-faint)}.bubble .speaking{color:var(--ok)}.dots span{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--ink-faint);animation:bounce 1.2s infinite}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.gloss{position:relative;border-bottom:2px dotted var(--ink-faint);cursor:help;outline:none}.gloss:hover,.gloss:focus{background:var(--butter);border-bottom-color:var(--butter-deep)}.gloss-tip{position:fixed;left:0;top:0;background:var(--ink);color:#fff;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.35;width:max-content;max-width:min(260px,calc(100vw - 16px));z-index:70;text-align:center;white-space:normal;font-weight:700;box-shadow:0 4px 14px #26244a33;overflow-wrap:anywhere}.gloss-tip .note{display:block;color:var(--lav);font-size:12px;margin-top:3px;font-style:italic;font-weight:600}.mic{--fill: var(--coral);--edge-c: var(--coral-deep);width:80px;height:80px;border-radius:50%;background:var(--fill);color:var(--ink);border:2px solid var(--edge-c);box-shadow:0 5px 0 var(--edge-c);display:inline-flex;align-items:center;justify-content:center;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .06s,box-shadow .06s,background .15s}.mic svg{width:34px;height:34px;display:block}.mic.small{width:56px;height:56px;box-shadow:0 4px 0 var(--edge-c)}.mic.small svg{width:24px;height:24px}.mic:active:not(:disabled),.mic.listening{transform:translateY(5px);box-shadow:0 0 0 var(--edge-c)}.mic.listening{--fill: var(--red);--edge-c: var(--red-deep)}.mic:disabled{--fill: var(--bg-muted);--edge-c: var(--line);color:var(--ink-faint);opacity:1}.mic.busy{--fill: var(--lav);--edge-c: var(--lav-deep);color:var(--ink)}.mic-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.mic-holder{position:relative;display:inline-flex}.mic-ring{position:absolute;inset:-10px;border-radius:50%;background:var(--red);border:2px solid var(--red-deep);pointer-events:none}.mic-holder .mic{position:relative}.mic-wrap .hint{font-size:12px;font-weight:700;color:var(--ink-faint);position:relative}@media(hover:none){.mic-wrap .hint .kbd{display:none}}.coach{padding:4px 16px 16px;display:flex;flex-direction:column;gap:12px}.coach-turn{display:flex;flex-direction:column;gap:12px}.panel-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:900}.card{background:var(--bg-elev);border:2px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 var(--edge) 0 var(--line)}.card.ok{border-color:var(--mint-deep);box-shadow:0 var(--edge) 0 var(--mint-deep)}.card.err{border-color:var(--red-deep);box-shadow:0 var(--edge) 0 var(--red-deep)}.card.tip{border-color:var(--butter-deep);box-shadow:0 var(--edge) 0 var(--butter-deep)}.card.gate{background:var(--peach);border-color:var(--peach-deep);box-shadow:0 var(--edge) 0 var(--peach-deep)}.card .label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint)}.card .phrase{font-size:18px;font-weight:800;line-height:1.4}.card .phrase .focus{background:var(--butter);border-radius:6px;padding:0 4px}.card .explain{color:var(--ink-soft);font-size:14px}.card .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.card .attempts{font-size:13px;color:var(--ink-faint)}.card .heard{font-size:13px;color:var(--ink-soft);font-style:italic}.card .feedback{font-size:14px;color:var(--err)}.card .success{color:var(--ok);font-weight:800}.coach-history{display:flex;flex-direction:column;gap:6px}.coach-history .item{font-size:13px;color:var(--ink-soft);display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.coach-history .item .arrow{color:var(--ink-faint)}.goals{display:flex;gap:8px;align-items:stretch;flex-shrink:0;overflow-x:auto;padding:12px 16px 8px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.goals::-webkit-scrollbar{display:none}.goals>.chip{align-self:center;flex:0 0 auto}.goal{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;max-width:260px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--bg-elev);border:2px solid var(--line);box-shadow:0 3px 0 var(--line);font-size:14px;font-weight:800;color:var(--ink);text-align:left;transition:background .3s,border-color .3s,box-shadow .3s}.goal .box{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;flex-shrink:0}.goal .text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.goal .text>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.goal .hint{font-size:11px;font-weight:600;font-style:italic;color:var(--ink-faint);-webkit-line-clamp:1}.goal.done{background:var(--mint);border-color:var(--mint-deep);box-shadow:0 3px 0 var(--mint-deep)}.goal.done .box{background:var(--mint-deep);border-color:var(--ink);color:var(--ink);animation:pop .35s cubic-bezier(.34,1.56,.64,1)}.goal-empty{padding:12px 16px 4px;font-size:13px;font-weight:700;font-style:italic;color:var(--ink-faint)}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.2)}to{transform:scale(1)}}.sheet-backdrop{position:fixed;inset:0;background:#26244a59;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;width:min(480px,100%);max-height:88vh;max-height:min(88dvh,720px);background:var(--bg-elev);z-index:41;border:2px solid var(--line);border-bottom:none;border-radius:24px 24px 0 0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}.sheet-handle{width:44px;height:5px;border-radius:999px;background:var(--line);margin:10px auto 2px;flex-shrink:0}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:6px 18px 10px;flex-shrink:0}.sheet-head h2{font-size:20px}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding:0 18px 24px;display:flex;flex-direction:column;gap:16px}.sheet .messages{flex:none;overflow:visible;padding:0 0 8px}.coach-sheet{height:min(82vh,680px);height:min(82dvh,680px)}.coach-sheet .sheet-body{padding:0;gap:0;overflow:hidden}.coach-chat{display:flex;flex-direction:column;flex:1;min-height:0}.coach-chat-intro{padding:4px 18px 12px;font-size:13px;color:var(--ink-soft)}.coach-chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding:4px 18px 16px}.coach-chat-welcome{padding:16px;border:2px solid var(--lav-deep);border-radius:18px;background:var(--bg-muted)}.coach-chat-welcome h3{font-size:18px;margin-bottom:6px}.coach-chat-welcome p{font-size:14px;color:var(--ink-soft)}.coach-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.coach-exchange{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.coach-chat-question,.coach-chat-answer{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:2px solid var(--line);border-radius:16px}.coach-chat-question{align-self:flex-end;max-width:92%;background:var(--sky);border-color:var(--sky-deep);border-bottom-right-radius:5px}.coach-chat-answer{background:var(--bg);border-bottom-left-radius:5px}.coach-exchange p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.coach-chat-answer .btn{align-self:flex-start}.coach-chat-error{color:var(--err)}.coach-question-form{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px 18px 16px;border-top:2px solid var(--line)}.coach-question-form label{font-size:13px;font-weight:800}.coach-question-form textarea{display:block;width:100%;resize:vertical;min-height:74px;max-height:160px;padding:10px 12px;border:2px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px;line-height:1.4}.coach-question-form textarea::placeholder{color:var(--ink-faint);font-size:14px}.coach-question-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.coach-question-actions .muted{font-size:11px}.coach-question-actions .btn{flex-shrink:0}.coach-voice-controls{display:flex;align-items:center;gap:8px;min-width:0}.coach-voice-button{display:inline-flex;align-items:center;gap:6px}.coach-voice-button.recording{background:var(--sky);border-color:var(--sky-deep)}.coach-voice-language{min-width:0;max-width:100px;min-height:36px;padding:4px 6px;border:2px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:13px}.coach-voice-status{color:var(--ink-soft);font-size:12px;line-height:1.4}.coach-voice-status.coach-chat-error{color:var(--err)}.coach-question-form textarea[readonly]{background:var(--bg-muted)}.advanced>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:10px 16px;border:2px solid var(--line);border-radius:16px;background:var(--bg-elev);box-shadow:0 3px 0 var(--line);font-weight:800}.advanced>summary::-webkit-details-marker{display:none}.advanced>summary:after{content:"▾";font-size:18px;transition:transform .2s}.advanced[open]>summary:after{transform:rotate(180deg)}.advanced>.advanced-body{display:flex;flex-direction:column;gap:16px;padding-top:16px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:14px;font-weight:800;color:var(--ink)}.field select,.field input[type=text],.field input[type=number]{padding:10px 12px;min-height:44px;border-radius:12px;border:2px solid var(--line);background:var(--bg-elev);color:var(--ink);font-weight:700}.field input[type=range]{accent-color:var(--lav-deep)}.field input[type=checkbox]{width:22px;height:22px;accent-color:var(--mint-deep);flex-shrink:0}.field .help{font-size:12px;font-weight:600;color:var(--ink-faint)}.field.row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.toggle{display:inline-flex;align-items:center;gap:8px}.seg{display:flex;gap:8px;flex-wrap:wrap}.seg button{flex:1 1 auto;min-height:44px;padding:8px 12px;border-radius:14px;border:2px solid var(--line);background:var(--bg-elev);font-weight:800;font-size:14px;color:var(--ink);box-shadow:0 3px 0 var(--line);transition:transform .06s,box-shadow .06s}.seg button:active:not(:disabled){transform:translateY(3px);box-shadow:none}.seg button.on{background:var(--lav);border-color:var(--lav-deep);box-shadow:0 3px 0 var(--lav-deep)}.seg.level{display:grid;grid-template-columns:repeat(5,1fr)}.seg.dialect button{flex:1 1 45%}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:900;margin-top:4px}.toasts{position:fixed;top:64px;left:0;right:0;margin:0 auto;z-index:60;display:flex;flex-direction:column;gap:8px;width:min(440px,calc(100% - 32px))}.toast{padding:10px 14px;border-radius:16px;background:var(--bg-elev);color:var(--ink);border:2px solid var(--ink);box-shadow:0 var(--edge) 0 var(--ink);font-size:14px;font-weight:700;display:flex;gap:10px;align-items:center}.toast.error{background:var(--red)}.toast.success{background:var(--mint)}.toast.info{background:var(--sky)}.toast button{margin-left:auto;background:transparent;border:none;color:inherit;font-size:18px;padding:0 4px}.modal-backdrop{position:fixed;inset:0;background:#26244a73;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--bg-elev);border:2px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:24px;width:min(440px,100%);display:flex;flex-direction:column;gap:14px}.modal h2{font-size:22px}.modal p{color:var(--ink-soft);font-size:14px}.modal .actions{display:flex;flex-direction:column-reverse;gap:10px;margin-top:6px}@media(min-width:420px){.modal .actions{flex-direction:row;justify-content:flex-end}.modal .actions .btn{flex:1;width:auto}}.debrief{flex:1;min-height:0;display:flex;flex-direction:column}.debrief-body{padding:16px 20px 24px;display:flex;flex-direction:column;gap:16px}.debrief h1{font-size:26px;text-align:center}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--bg-elev);border:2px solid var(--line);border-radius:18px;padding:12px 8px;text-align:center;box-shadow:0 var(--edge) 0 var(--line);min-width:0}.stat.mint{background:var(--mint);border-color:var(--mint-deep);box-shadow:0 var(--edge) 0 var(--mint-deep)}.stat.sky{background:var(--sky);border-color:var(--sky-deep);box-shadow:0 var(--edge) 0 var(--sky-deep)}.stat.peach{background:var(--peach);border-color:var(--peach-deep);box-shadow:0 var(--edge) 0 var(--peach-deep)}.stat .n{font-size:28px;font-weight:900;line-height:1.1}.stat .l{font-size:11px;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.hint-line{text-align:center;color:var(--ink-faint);font-size:13px;font-weight:700}.debrief section{display:flex;flex-direction:column;gap:10px}.debrief section h2{font-size:16px}.list{display:flex;flex-direction:column;gap:8px}.list .item{background:var(--bg-elev);border:2px solid var(--line);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px}.list .item.row{flex-direction:row;gap:10px;align-items:center}.list .item .muted{font-size:13px}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.vocab-grid .item{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}.debrief .bottom-bar{gap:10px}@media(prefers-reduced-motion:reduce){.flag,.thought-dots span,.goal.done .box{animation:none}.thought-dots span{opacity:.5}}.self-start{align-self:flex-start}.character-selector{border:0;padding:0;margin:0 0 6px;min-width:0}.character-selector legend{padding:0;margin-bottom:6px;font-size:12px;font-weight:700}.character-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.character-options label{display:flex;align-items:center;gap:8px;padding:10px;border:2px solid var(--ink);border-radius:10px;background:var(--bg-elev);cursor:pointer;min-height:62px}.character-options label:has(input:checked){background:#dcead5;box-shadow:2px 2px 0 var(--ink)}.character-options label:has(input:focus-visible){outline:3px solid #356995;outline-offset:3px}.character-options input{accent-color:#315e40;flex-shrink:0;margin:0}.character-options strong,.character-options small{display:block}.character-options strong{font-size:14px}.character-options small{font-size:11px;line-height:1.35;margin-top:2px}.stage-backdrop>svg{width:100%;height:100%;display:block}.portrait-error{position:absolute;top:45%;left:25%;background:var(--bg-elev);padding:8px}
