:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.routine-action-image{object-fit:contain;background:#f5f5f2;border-radius:16px;width:100%;max-height:360px;margin:0 0 16px;display:block}.routine-story{background:#f6f7f3;border-radius:16px;margin-top:24px;padding:18px}.routine-story p{line-height:1.65}.routine-story p+p{color:#62675e;margin-top:10px}.home-screen.restaurant-screen:has(.restaurant-conversation){grid-template-rows:minmax(0,1fr)}.home-screen.restaurant-screen:has(.restaurant-conversation)>.bottom-navigation{display:none}.home-screen.restaurant-screen .home-content:has(.restaurant-conversation){background:#fcf7f0;padding:0;overflow:hidden;container-type:size}.restaurant-conversation{--chat-ink:#103e3b;height:100%;max-height:var(--restaurant-visible-height,100%);box-sizing:border-box;width:100%;max-width:430px;min-height:0;padding:calc(env(safe-area-inset-top,0px) + 9px) 16px max(10px, env(safe-area-inset-bottom,0px));color:var(--chat-ink);overscroll-behavior:contain;background:#fcf7f0;grid-template-rows:auto minmax(75px,1fr) auto auto auto auto;grid-template-areas:"head""scene""dialogue""guidance""response""footer";gap:clamp(6px,1.25cqh,12px);margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow-y:auto}.restaurant-conversation :is(h3,h4,p,strong,button,span){font-family:inherit}.restaurant-chat-header{grid-area:head;min-width:0}.restaurant-chat-header>div:first-child{align-items:center;gap:10px;display:flex}.restaurant-chat-header h3{color:#103e3b;flex:1;margin:0;font-size:clamp(16px,3.3cqh,20px);font-weight:750;line-height:1.3}.restaurant-chat-header h3 span{white-space:nowrap}.home-screen .restaurant-chat-header button{min-height:40px;box-shadow:none;color:#103e3b;background:0 0;border:0;margin:0;padding:4px 10px}.home-screen .restaurant-chat-header .restaurant-chat-back{min-width:30px;padding:0;font-size:27px}.home-screen .restaurant-chat-header .restaurant-chat-exit{background:#faf7ec;border:1px solid #ddd9cb;border-radius:18px;font-size:14px}.restaurant-chat-progress{align-items:center;gap:18px;margin:6px 2px 0;display:flex}.restaurant-chat-progress>div{flex:1;gap:3px;display:flex}.restaurant-chat-progress span{background:#e8e2da;border-radius:9px;flex:1;height:7px}.restaurant-chat-progress span.is-done{background:#64b68b}.restaurant-chat-progress strong{font-size:13px}.restaurant-demo-badge{color:#6e7970;text-align:center;margin:5px 0 0;font-size:9px;line-height:1.4}.restaurant-chat-scene{background:#ebd8ba;border-radius:20px 20px 0 0;grid-area:scene;min-height:0;margin-inline:-16px;position:relative;overflow:hidden}.restaurant-chat-scene>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.restaurant-chat-scene:after{content:"";pointer-events:none;background:linear-gradient(#0000,#fcf7f0);height:28%;position:absolute;inset:auto 0 0}.restaurant-chat-character{z-index:1;justify-items:center;display:grid;position:absolute;bottom:9px;right:8px}.restaurant-chat-avatar{background:#f3c5ad;border:3px solid #fffaf1;border-radius:50%;width:clamp(60px,15cqh,104px);height:clamp(60px,15cqh,104px);overflow:hidden;box-shadow:0 3px 10px #3f392c25}.restaurant-chat-avatar>svg{width:100%;height:100%;display:block}.restaurant-chat-avatar>.restaurant-role-portrait{border-radius:0;width:100%;height:100%}.restaurant-chat-character>strong{z-index:1;color:#123f39;background:#daefda;border:1px solid #bed5b7;border-radius:18px;margin-top:-6px;padding:5px 10px;font-size:11px}.restaurant-chat-dialogue{z-index:2;background:#fffaf5f5;border:1px solid #fff;border-radius:21px;grid-area:dialogue;align-items:center;gap:10px;margin-top:-12px;padding:13px 15px;display:flex;position:relative;box-shadow:0 3px 10px #8a62551c}.restaurant-chat-dialogue>div:first-child{flex:1;min-width:0}.restaurant-chat-dialogue>div>strong{color:#d96e5c;font-size:14px}.restaurant-chat-dialogue p{color:#183f3b;max-height:22cqh;margin:4px 0 0;font-size:clamp(16px,3.1cqh,20px);line-height:1.4;overflow-y:auto}.restaurant-chat-dialogue .example-audio{flex-shrink:0;margin:0}.home-screen .restaurant-chat-dialogue .example-audio button{width:35px;height:35px;min-height:35px;box-shadow:none;color:#113f3c;background:#e7efde;border:0;border-radius:50%;margin:0;padding:8px}.restaurant-chat-dialogue .example-audio p{max-width:80px;font-size:9px}.restaurant-chat-guidance{background:#e2efda;border-radius:16px;grid-area:guidance;align-items:flex-start;gap:10px;max-height:20cqh;padding:10px 13px;display:flex;overflow-y:auto}.restaurant-chat-guidance>span{font-size:26px;line-height:1.2}.restaurant-chat-guidance strong{font-size:12px}.restaurant-chat-guidance p{margin:3px 0 0;font-size:14px;font-style:italic;font-weight:650;line-height:1.4}.restaurant-chat-guidance details{margin-top:3px;font-size:10px}.restaurant-chat-guidance summary{cursor:pointer}.restaurant-chat-guidance ul{margin:5px 0 0;padding-left:15px}.restaurant-chat-response{grid-area:response;min-height:0}.restaurant-chat-voice{position:relative}.restaurant-chat-voice.is-busy{opacity:.55;pointer-events:none}.restaurant-conversation .speech-answer{box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;margin:0;padding:0}.restaurant-conversation .speech-oral-only .voice-input-stage{height:clamp(76px,16cqh,96px)}.restaurant-conversation .speech-oral-only .voice-bars{width:auto;height:100%;inset-inline:70px}.restaurant-conversation .speech-answer .voice-button{background:linear-gradient(150deg,#70c69a,#148558);border:0;width:clamp(67px,14cqh,88px);height:clamp(67px,14cqh,88px);min-height:0;margin:0;box-shadow:0 0 0 7px #e3f0db,0 5px 20px #42a57226}.restaurant-conversation .speech-answer .voice-button svg{width:38px;height:38px}.restaurant-conversation .speech-oral-only .voice-wave-stop{height:100%}.restaurant-conversation .speech-answer .voice-privacy{margin:4px 0 0;font-size:8px;line-height:1.25}.restaurant-conversation .speech-answer [role=status] p{margin:3px 0;font-size:11px;line-height:1.4}.restaurant-conversation .speech-unavailable .voice-unavailable-message{margin:0;font-size:11px;line-height:1.4}.home-screen .restaurant-write-toggle{color:#123e3b;width:72px;min-height:59px;box-shadow:none;background:#faf7ef;border:1px solid #ddd8ca;border-radius:18px;justify-items:center;gap:3px;margin:0;padding:7px;font-size:11px;display:grid;position:absolute;top:12px;right:0}.restaurant-chat-voice-caption{text-align:center;margin:5px 0 0;font-size:12px;line-height:1.35}.restaurant-last-response{color:#6e7970;margin-top:5px;font-size:10px}.restaurant-last-response p{overflow-wrap:anywhere;background:#f1ece3;border-radius:8px;max-height:65px;margin:3px 0 0;padding:5px;font-size:12px;overflow-y:auto}.restaurant-chat-response form{gap:5px;display:grid}.restaurant-chat-response label{font-size:12px}.restaurant-chat-response textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:65px;max-height:140px;font:inherit;color:#183f3b;background:#fff;border:1px solid #ccd7ca;border-radius:13px;padding:9px 11px;font-size:16px;line-height:1.4}.restaurant-chat-response form>div{justify-content:space-between;gap:8px;display:flex}.home-screen .restaurant-chat-response form button{color:#123e3b;min-height:36px;box-shadow:none;background:#eef4e5;border:1px solid #ccd7ca;border-radius:12px;margin:0;padding:6px 12px;font-size:12px}.home-screen .restaurant-chat-response form button[type=submit]{color:#fff;background:#08745e;border-color:#08745e}.restaurant-chat-error{color:#9e432f;font-size:11px;line-height:1.4}.restaurant-chat-error button{margin:4px 0 0;font-size:12px}.restaurant-chat-footer{text-align:center;grid-area:footer}.home-screen .restaurant-chat-footer .restaurant-chat-finish{color:#cf6e59;min-height:34px;box-shadow:none;background:0 0;border:0;margin:0;padding:6px 12px;font-size:14px}.restaurant-chat-footer nav{justify-content:space-between;gap:10px;display:flex}.home-screen .restaurant-chat-footer nav button{color:#436052;min-height:30px;box-shadow:none;background:#f4f6eb;border:1px solid #d6dfcc;margin:0;padding:4px 9px;font-size:10px}.restaurant-conversation.mode-free{grid-template-rows:auto minmax(75px,1fr) auto auto auto;grid-template-areas:"head""scene""dialogue""response""footer"}.restaurant-conversation.is-writing{grid-template-rows:auto auto minmax(90px,1fr) auto;grid-template-areas:"head""dialogue""response""footer"}.restaurant-conversation.is-writing .restaurant-chat-scene,.restaurant-conversation.is-writing .restaurant-chat-guidance{display:none}.restaurant-conversation.is-writing .restaurant-chat-dialogue{margin-top:0}.restaurant-conversation.is-writing .restaurant-chat-response{overflow-y:auto}.restaurant-conversation.is-finished{grid-template-rows:auto minmax(0,1fr);grid-template-areas:"head""summary"}.restaurant-chat-summary{text-align:center;grid-area:summary;align-self:center;max-height:100%;padding:20px 6px;overflow-y:auto}.restaurant-chat-summary>span{color:#267c54;background:#e0eed9;border-radius:50%;place-items:center;width:55px;height:55px;margin-bottom:14px;font-size:30px;display:inline-grid}.restaurant-chat-summary h4{margin:0 0 15px;font-size:22px}.restaurant-chat-summary p{margin-bottom:12px;font-size:14px;line-height:1.6}.home-screen .restaurant-chat-summary button{color:#fff;width:100%;box-shadow:none;background:#096654;border:0;border-radius:15px;margin-top:12px;padding:12px;display:block}@container (height<=550px){.restaurant-conversation{grid-template-rows:auto minmax(45px,1fr) auto auto auto auto;gap:5px}.restaurant-conversation.mode-free{grid-template-rows:auto minmax(45px,1fr) auto auto auto}.restaurant-chat-guidance{padding:7px 10px}.restaurant-chat-dialogue{padding:9px 12px}.restaurant-chat-dialogue p{font-size:16px}.restaurant-conversation .speech-oral-only .voice-input-stage{height:74px}.restaurant-conversation .speech-answer .voice-button{width:62px;height:62px}.restaurant-conversation.is-writing{grid-template-rows:auto auto minmax(90px,1fr) auto}.restaurant-conversation.is-finished{grid-template-rows:auto minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.restaurant-conversation *{scroll-behavior:auto}}:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;background:#eef5ff;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#e0f2fe,#f5f3ff);min-width:320px;min-height:100vh;margin:0;display:block}#root{width:100%;min-height:100vh;padding:24px 16px}main{text-align:center;background:#fff;border-radius:24px;box-shadow:0 12px 40px #1e40af1f;padding:32px!important}h1{color:#2563eb;margin-bottom:12px;font-size:2.2rem}h2{color:#1e3a8a;font-size:1.5rem}p{color:#475569;font-size:1.05rem;line-height:1.7}hr{background:#e2e8f0;border:none;height:1px;margin:28px 0}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;margin-top:10px;padding:14px 24px;font-size:1rem;font-weight:600;transition:background .2s,transform .2s}button:disabled{opacity:.45;cursor:not-allowed}.placement-options{text-align:left;border:0;min-width:0;margin:24px 0;padding:0}.placement-options legend{margin-bottom:16px;font-size:1.15rem;font-weight:700}.placement-options label{cursor:pointer;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;margin:10px 0;padding:14px;display:flex}.placement-options input{accent-color:#2563eb;flex-shrink:0}.placement-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.placement-result-actions{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:24px;display:flex}.placement-result-actions button{margin-top:0}.speech-answer{background:linear-gradient(160deg,#f8faff,#f0f5ff);border:1px solid #e2e8f0;border-radius:24px;margin-top:20px;padding:28px 20px 16px}.speech-answer .speech-note{margin-top:12px;font-size:.8rem;line-height:1.5}.speech-answer [role=status] p{margin-top:12px}.voice-heading{letter-spacing:.12em;color:#64748b;justify-content:center;align-items:center;gap:8px;font-size:.65rem;font-weight:700;display:flex}.voice-dot{background:#94a3b8;border-radius:50%;width:6px;height:6px}.is-listening .voice-dot{background:#2563eb;box-shadow:0 0 0 4px #2563eb12}.is-listening .voice-heading{color:#2563eb}.voice-bars{justify-content:center;align-items:center;gap:4px;height:100px;margin:12px 0 0;display:flex}.voice-bars span{transform-origin:50%;background:#b7c9ee;border-radius:8px;width:4px;height:76px;display:block;transform:scaleY(.06)}.speech-answer .voice-caption{color:#64748b;margin:0 0 22px;font-size:.85rem}.speech-answer .voice-button{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0;padding:0;display:inline-flex;box-shadow:0 6px 20px #2563eb26}.speech-answer .voice-button:hover:not(:disabled){background:#1d4ed8}.is-listening .voice-button{background:#0f172a;box-shadow:0 0 0 7px #0f172a08}.speech-answer .voice-button-label{color:#334155;margin:12px 0 20px;font-size:.8rem;font-weight:600}.voice-transcript{text-align:left;border-top:1px solid #dce5f3;padding-top:14px}.voice-transcript summary{cursor:pointer;color:#64748b;font-size:.78rem}.voice-transcript summary:focus-visible{outline-offset:4px;outline:2px solid #2563eb}.speech-answer .voice-privacy{color:#64748b;font-size:.65rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.account-icon{color:#2563eb;background:#eff6ff;border-radius:18px;place-items:center;width:56px;height:56px;margin:0 auto 16px;font-size:1.7rem;display:grid}.enrollment-summary{color:#475569;background:#f8faff;border:1px solid #dbeafe;border-radius:16px;gap:6px;margin:24px 0;padding:18px;display:grid}.enrollment-summary strong{color:#2563eb;font-size:1.6rem}.enrollment-summary small{font-size:.78rem}.account-form{text-align:left;margin-top:24px}.account-form fieldset{border:0;min-width:0;margin:0;padding:0}.account-form label{color:#334155;gap:8px;margin-bottom:18px;font-size:.85rem;font-weight:600;display:grid}.account-form input{width:100%;min-width:0;font:inherit;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:12px}.account-form input:focus-visible{border-color:#2563eb;outline:3px solid #bfdbfe}.account-form small{color:#64748b;font-size:.73rem;font-weight:400}.account-submit{width:100%;margin-bottom:12px}.account-section .text-button{color:#2563eb;background:0 0;width:100%;padding:10px 4px;font-size:.8rem;display:block}.account-section .text-button:hover:not(:disabled){background:#eff6ff}.account-error{color:#b91c1c;font-size:.85rem}.welcome-actions{gap:16px;margin-top:24px;display:grid}.welcome-actions button{margin:0}main.app-home{justify-content:flex-start!important}.app-home>div:first-child{font-size:2rem!important}.app-home>h1{letter-spacing:-.5px;margin:0;font-size:1.35rem}.app-home>p{display:none}.app-home>hr{margin:14px 0 20px}.home-screen{text-align:left;width:100%}.home-eyebrow{letter-spacing:.12em;color:#64748b;font-size:.6rem;font-weight:700}.home-screen h2{color:#0f172a;margin:10px 0 8px;font-size:1.65rem}.home-screen h2:focus{outline:none}.home-screen .home-intro{font-size:.85rem;line-height:1.6}.home-course{color:#fff;background:linear-gradient(135deg,#1d4ed8,#4338ca);border-radius:20px;margin:24px 0;padding:22px}.home-course-top{justify-content:space-between;align-items:center;display:flex}.home-course-top>span:first-child{font-size:1.8rem}.home-level{border:1px solid #ffffff50;border-radius:20px;padding:5px 12px;font-size:.75rem}.home-course h3{margin:18px 0 8px;font-size:1.2rem}.home-course p{color:#e0e7ff;font-size:.8rem}.home-course-goal{border-top:1px solid #ffffff30;gap:5px;margin-top:20px;padding-top:16px;display:grid}.home-course-goal span{color:#c7d2fe;font-size:.7rem}.home-course-goal strong{font-size:.85rem}.home-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-section-heading>span{color:#64748b;font-size:.7rem}.home-screen .home-path-note{margin-top:10px;font-size:.75rem;line-height:1.6}.home-path{gap:12px;margin:18px 0 24px;padding:0;list-style:none;display:grid}.home-path li{border:1px solid #e2e8f0;border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}.home-path-icon{background:#eff6ff;border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.home-path small{letter-spacing:.1em;color:#64748b;font-size:.55rem}.home-path h4{margin:4px 0;font-size:.9rem}.home-path p{font-size:.73rem;line-height:1.5}.home-profile{border-top:1px solid #e2e8f0;padding:18px 0}.home-profile summary{cursor:pointer;font-size:.85rem;font-weight:600}.home-profile dl{gap:14px;font-size:.8rem;display:grid}.home-profile dt{color:#64748b;margin-bottom:4px;font-size:.7rem}.home-profile dd{overflow-wrap:anywhere;margin:0}.home-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.home-footer>span{color:#2563eb;font-size:.8rem;font-weight:700}.home-footer button{color:#64748b;background:0 0;margin:0;padding:10px 0;font-size:.75rem}.home-footer button:hover:not(:disabled){color:#1d4ed8;background:#f8fafc}.spoken-label{text-align:left;margin:18px 0 8px;font-weight:600;display:block}.speech-answer textarea{width:100%;min-height:140px;font:inherit;color:#1e293b;resize:vertical;background:#fff;border:1px solid #94a3b8;border-radius:10px;padding:12px}.speech-answer textarea:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.oral-question{text-align:left;margin:24px 0 12px;line-height:1.5}.answer-review{text-align:left;margin-top:24px}.answer-review summary{cursor:pointer;font-weight:600}.answer-review p{white-space:pre-wrap;overflow-wrap:anywhere}.skip-question{color:#2563eb;background:0 0}.skip-question:hover:not(:disabled){background:#eff6ff}progress{accent-color:#2563eb;width:100%;margin-top:12px}.placement-level{color:#2563eb;margin:20px 0;font-size:3rem;font-weight:700}button:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}@media (width<=600px){main{margin:20px auto!important;padding:24px 18px!important}h1{font-size:1.8rem}}main.app-home{margin:12px auto!important;padding-top:18px!important}.home-screen{min-height:calc(100svh - 100px);padding-bottom:100px}.home-brand{color:#64748b;align-items:center;gap:5px;margin:0 0 16px;display:inline-flex}.home-brand>span:first-child{font-size:1.1rem}.home-brand>span:last-child{letter-spacing:.02em;font-size:.5rem;font-weight:600;line-height:1.2}.home-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.home-greeting{min-width:0}.home-greeting h2{overflow-wrap:anywhere;margin:0 0 5px;font-size:1.35rem}.home-greeting p{font-size:.75rem;line-height:1.5}.home-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.home-header-actions .home-icon-button{color:#475569;min-width:42px;height:42px;box-shadow:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;gap:3px;margin:0;padding:8px;display:inline-flex}.home-header-actions .language-toggle{border-radius:14px;font-size:1rem}.language-chevron{color:#64748b;font-size:.7rem}.home-course{margin-top:0;padding:20px}.home-course h3{margin-top:12px}.home-content{min-width:0}.home-content-wide{width:min(430px,100vw - 32px);position:relative;left:50%;transform:translate(-50%)}.home-content-wide .home-course{padding:28px 32px}.bottom-navigation{z-index:10;left:50%;bottom:max(10px, env(safe-area-inset-bottom));background:#fffffffa;border:1px solid #e2e8f0;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:min(430px,100% - 32px);padding:10px 6px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 6px 35px #0f172a12}.bottom-navigation button{color:#64748b;background:0 0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;margin:0;padding:9px 0;font-size:.58rem;font-weight:500;display:flex}.bottom-navigation button:hover:not(:disabled),.bottom-navigation button.active{color:#2563eb;background:#eff6ff;transform:none}.bottom-navigation button.active{font-weight:700}.home-empty{text-align:center;color:#2563eb;background:#f8faff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:center;padding:48px 16px;display:flex}.home-empty h3{color:#1e293b;margin:20px 0 10px;font-size:1.05rem}.home-empty p,.section-intro{font-size:.8rem;line-height:1.6}.progress-starting-level{margin:8px 0 20px;font-size:2rem}.profile-panel{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:min(430px,100vw - 32px);padding:32px;position:relative;left:50%;transform:translate(-50%)}.profile-avatar{color:#2563eb;background:#eff6ff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto;font-size:1.6rem;font-weight:700;display:grid}.profile-panel>h3{text-align:center;font-size:1.1rem}.profile-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin:32px 0;display:grid}.profile-panel dl>div:first-child{grid-column:1/-1}.profile-panel dt{color:#64748b;margin-bottom:5px;font-size:.7rem}.profile-panel dd{overflow-wrap:anywhere;margin:0;font-size:.85rem}.profile-signout{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;width:100%;font-size:.8rem}.profile-signout:hover:not(:disabled){color:#2563eb;background:#eff6ff}.language-dialog{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:24px;max-width:min(390px,100% - 32px);padding:28px;box-shadow:0 24px 80px #0f172a30}.language-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a60}.home-screen .language-dialog h2{font-size:1.2rem;line-height:1.4}.language-dialog p{margin-top:12px;font-size:.8rem;line-height:1.6}.language-options{gap:10px;margin-top:20px;display:grid}.language-options button{text-align:left;margin:0;font-size:.9rem}.language-dialog .dialog-cancel{color:#475569;background:#f1f5f9;width:100%;margin-top:16px;font-size:.8rem}@media (width<=380px){.home-greeting h2{font-size:1.1rem}.home-header-actions{gap:5px}.home-header{gap:6px}.profile-panel{padding:24px}.profile-panel dl{grid-template-columns:1fr;gap:20px}.home-content-wide .home-course{padding:24px}.home-content-wide .home-path li{padding:18px}.home-content-wide .home-section-heading{padding-inline:18px}}main.app-home{width:min(430px,100vw - 32px);height:calc(100dvh - 48px);overflow:hidden;min-height:0!important;margin:0 auto!important;padding:0!important}.app-home .home-screen{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;padding:0;display:grid}.home-topbar{z-index:1;background:#fff;border-bottom:1px solid #edf1f7;padding:18px 24px 16px}.home-topbar .home-brand{margin-bottom:12px}.home-topbar .home-header{margin-bottom:0}.home-screen .home-content{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;width:100%;min-height:0;padding:20px 24px 28px;position:static;overflow:hidden auto;transform:none}.home-screen .home-content-wide{padding:20px 20px 28px}.home-content-wide .home-course{border-radius:18px;width:100%;margin:0 0 24px;padding:22px 24px}.home-content-wide .home-course-top>span:first-child{font-size:1.4rem}.home-content-wide .home-course h3{margin:12px 0;font-size:1.05rem}.home-content-wide .home-course-goal{margin-top:14px;padding-top:14px}.home-content-wide .home-section-heading{padding-inline:0}.home-content-wide .home-path li{padding:18px}.home-screen .profile-panel{width:100%;position:static;transform:none}.home-screen .bottom-navigation{width:100%;padding:10px 6px max(12px, env(safe-area-inset-bottom));background:#fff;border:0;border-top:1px solid #e2e8f0;border-radius:0;position:static;transform:none;box-shadow:0 -4px 16px #0f172a04}@media (width<=380px){.home-topbar{padding:14px 18px}.home-screen .home-content{padding-inline:18px}.home-screen .profile-content{padding-inline:0}.home-content-wide .home-course{padding:20px}}@media (height<=520px){main.app-home{height:calc(100dvh - 16px)}#root:has(.app-home){padding-block:8px}.home-topbar{padding-block:10px}.home-topbar .home-brand{margin-bottom:6px}}.student-stats{align-items:center;gap:22px;margin-bottom:18px;display:flex}.student-stat{white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:36px;padding:0;font-size:.76rem;line-height:1.3;display:inline-flex}.student-stat svg{stroke-width:1.9px;flex-shrink:0;width:24px;height:24px}.student-stat strong{font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.student-stat>span{color:#64748b;font-size:.65rem}.stat-streak{color:#ea580c}.stat-points{color:#b77908}.stat-plan{color:#64748b;margin-left:auto}.stat-plan.is-vip{color:#a16207}.activity-status,.profile-panel .profile-rewards-note{color:#64748b;font-size:.7rem;line-height:1.5}.activity-status{margin-top:10px}.profile-panel .profile-rewards-note{text-align:center}@media (height<=520px){.student-stats{margin-bottom:8px}}@media (width<=350px){.student-stats{gap:16px}.student-stat{gap:4px}.student-stat svg{width:22px;height:22px}.student-stat strong{font-size:.73rem}}.student-stats button.student-stat{cursor:pointer;font-weight:inherit;margin:0}.student-stats button.student-stat:hover:not(:disabled){color:#c2410c;background:0 0;transform:none}.streak-dialog{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:24px;width:min(390px,100vw - 32px);max-height:calc(100dvh - 48px);padding:24px;overflow-y:auto;box-shadow:0 24px 80px #0f172a30}.streak-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a55}.calendar-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.calendar-eyebrow{letter-spacing:.1em;color:#ea580c;font-size:.56rem;font-weight:700}.home-screen .streak-dialog h2{margin:7px 0 0;font-size:1.1rem;line-height:1.4}.calendar-close{color:#64748b;background:#f1f5f9;border-radius:50%;flex-shrink:0;width:32px;height:32px;margin:0;padding:0;font-size:1.2rem}.calendar-month-nav{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 18px;display:flex}.calendar-month-nav h3{text-transform:capitalize;margin:0;font-size:.85rem}.calendar-month-nav button{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;width:32px;height:32px;margin:0;padding:0;font-size:1.2rem}.calendar-month-nav button:hover:not(:disabled),.calendar-close:hover:not(:disabled){color:#2563eb;background:#eff6ff;transform:none}.streak-calendar{table-layout:fixed;border-spacing:4px 6px;border-collapse:separate;width:100%}.streak-calendar th{color:#64748b;text-transform:capitalize;padding-bottom:8px;font-size:.58rem;font-weight:500}.streak-calendar td{text-align:center;vertical-align:middle;height:38px;padding:0}.calendar-day{border:1px solid #0000;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:38px;font-size:.73rem;line-height:1.1;display:flex}.calendar-day small{margin-top:3px;font-size:.5rem;line-height:1}.calendar-day.active{color:#c2410c;background:#fff0e5;font-weight:700}.calendar-day.missed{color:#be123c;background:#fff1f2}.calendar-day.untracked{color:#94a3b8}.calendar-day.future{color:#cbd5e1}.calendar-day.today{color:#2563eb}.calendar-day.is-today{border-color:#fb923c}.calendar-legend{color:#64748b;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;font-size:.6rem;display:flex}.calendar-legend>span{align-items:center;gap:5px;display:flex}.calendar-legend i{border-radius:50%;width:9px;height:9px;display:block}.calendar-legend .active{background:#f97316}.calendar-legend .missed{background:#fda4af}.calendar-legend .untracked{background:#cbd5e1}.streak-dialog .calendar-history-note{color:#64748b;margin-top:18px;font-size:.65rem;line-height:1.6}@media (width<=350px){.streak-dialog{padding:18px}.streak-calendar{border-spacing:2px 5px}}.student-stats button.stat-plan{margin-left:auto}.student-stats button.stat-plan:hover:not(:disabled){color:#a16207}.subscription-dialog{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:24px;width:min(500px,100vw - 32px);max-height:calc(100dvh - 40px);padding:26px;overflow-y:auto;box-shadow:0 24px 80px #0f172a30}.subscription-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.home-screen .subscription-heading h2{margin:8px 0 0;font-size:1.35rem}.subscription-dialog p{font-size:.78rem;line-height:1.6}.subscription-intro{color:#64748b;margin:14px 0 22px}.subscription-dialog .billing-notice{color:#64748b;background:#f8fafc;border-radius:12px;margin:16px 0;padding:12px 14px;font-size:.7rem}.subscription-plans{gap:14px;display:grid}.subscription-card{border:1px solid #e2e8f0;border-radius:18px;padding:20px}.plan-name{color:#2563eb;align-items:center;gap:8px;display:flex}.plan-name h3{margin:0;font-size:1.05rem}.subscription-card .plan-price{color:#0f172a;flex-wrap:wrap;align-items:baseline;gap:8px;margin:12px 0 8px;font-size:1.9rem;font-weight:700;display:flex}.plan-price span{color:#64748b;font-size:.65rem;font-weight:400}.subscription-card>button{width:100%;margin-top:16px;font-size:.85rem}.plan-student .plan-name{color:#047857}.plan-student>button{color:#047857;background:#ecfdf5}.plan-student>button:hover:not(:disabled){background:#d1fae5}.subscription-dialog .subscription-terms{color:#64748b;margin-top:18px;font-size:.65rem}.subscription-manage{width:100%}.subscription-back{color:#475569;background:#f1f5f9;font-size:.8rem}.student-form>p{margin-bottom:22px}.stripe-payment{min-height:120px;margin-top:18px}.payment-confirmation{text-align:center;padding:28px 0}@media (width<=350px){.subscription-dialog{padding:20px}.subscription-card{padding:16px}}.subscription-dialog .school-access-success{color:#047857;background:#ecfdf5;border-radius:12px;margin-top:18px;padding:14px;font-size:.78rem}.student-form h3{margin-bottom:10px;font-size:1.05rem}.home-screen .home-path li:has(>.home-path-button){padding:0;overflow:hidden}.home-path-button{color:#1e293b;text-align:left;width:100%;font:inherit;background:#fff;border:0;border-radius:15px;align-items:center;gap:14px;margin:0;padding:18px;display:flex}.home-path-button:hover:not(:disabled){background:#f8faff;transform:none}.home-path-button>span:nth-child(2){flex:1;gap:5px;display:grid}.home-path-button strong{font-size:.9rem}.home-path-button .home-path-arrow{color:#2563eb;font-size:1.7rem}.self-lesson{text-align:left;padding:4px 0 16px}.lesson-eyebrow,.lesson-step-count{color:#64748b;letter-spacing:.08em;font-size:.68rem;font-weight:700}.self-lesson h3{color:#172554;margin:10px 0 20px;font-size:1.35rem;line-height:1.35}.self-lesson h3:focus{outline:none}.lesson-video-block{margin:0 0 24px}.lesson-video-block video,.lesson-video-unavailable{aspect-ratio:16/9;background:#eef2ff;border-radius:18px;width:100%}.lesson-video-block video{object-fit:contain;background:#111827;display:block}.lesson-video-unavailable{color:#4f46e5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.lesson-video-unavailable strong{font-size:.85rem}.lesson-video-unavailable p{color:#64748b;max-width:260px;font-size:.73rem;line-height:1.5}.lesson-video-block figcaption{color:#64748b;text-align:center;margin-top:8px;font-size:.68rem}.lesson-intro-copy h4{margin-bottom:12px;font-size:1rem}.lesson-intro-copy p,.lesson-complete>p{margin-bottom:14px;font-size:.85rem;line-height:1.75}.self-lesson .lesson-helper{color:#64748b;margin:14px 0;font-size:.75rem;line-height:1.65}.self-lesson .lesson-primary{width:100%;margin:16px 0 0}.self-lesson .lesson-back{color:#475569;box-shadow:none;background:0 0;margin-top:14px}.self-lesson>.lesson-back{width:100%}.self-lesson progress{accent-color:#2563eb;width:100%;height:6px;margin:10px 0 16px}.lesson-example,.lesson-final-answer{background:#eff6ff;border-radius:16px;margin-bottom:18px;padding:18px}.lesson-example span,.lesson-final-answer span{color:#64748b;font-size:.68rem}.lesson-example p,.lesson-final-answer p{color:#1e3a8a;overflow-wrap:anywhere;margin-top:8px;font-size:1rem;line-height:1.7}.lesson-complete-icon{color:#15803d;background:#dcfce7;border-radius:50%;place-items:center;width:52px;height:52px;margin:12px 0 20px;font-size:1.6rem;display:grid}.self-lesson .answer-review{margin:20px 0;font-size:.8rem}.self-lesson .answer-review>div{border-bottom:1px solid #e2e8f0;padding-block:12px}.self-lesson .answer-review h4{margin-bottom:6px}.self-lesson .answer-review p{overflow-wrap:anywhere;line-height:1.6}.lesson-check{border-radius:12px;margin-top:14px}.lesson-check p{font-size:.83rem;line-height:1.6}.lesson-check-correct{color:#166534;background:#dcfce7;padding:14px}.lesson-check-incorrect{color:#9f1239;background:#fff1f2;padding:14px}.speech-oral-only{text-align:center}.speech-oral-only .voice-input-stage{place-items:center;height:86px;display:grid;position:relative}.speech-oral-only .voice-bars{opacity:0;pointer-events:none;height:86px;margin:0;position:absolute;inset:0}.speech-oral-only.is-listening .voice-bars{opacity:1}.speech-oral-only:has(.lesson-check) .voice-bars{opacity:.5}.speech-oral-only .voice-button[hidden]{display:none}.speech-oral-only .voice-wave-stop{width:100%;height:86px;box-shadow:none;background:0 0;border:0;margin:0;position:absolute;inset:0}.speech-oral-only .voice-wave-stop:hover{background:0 0;transform:none}.speech-oral-only .voice-retry{color:#fff;background:#dc2626;width:100%;margin:14px 0 0}.speech-oral-only .voice-retry:hover{background:#b91c1c}.example-audio{margin-top:10px}.example-audio button{color:#fff;background:#2563eb;border:0;border-radius:50%;place-items:center;width:36px;height:36px;margin:0;padding:0;display:inline-grid}.example-audio p{color:#64748b;margin-top:8px;font-size:.72rem}.lesson-example-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-example-heading .example-audio{flex-shrink:0;margin-top:0}.lesson-example-heading .example-audio p{max-width:150px}.lesson-reward{color:#15803d;text-align:center;margin-top:16px;font-size:.85rem;font-weight:700}.self-map{padding:4px 0 16px}.self-map-intro{text-align:center}.self-map-intro>span{color:#64748b;letter-spacing:.12em;font-size:.65rem;font-weight:700}.self-map-intro h3{color:#172554;margin:10px 0;font-size:1.3rem}.self-map-intro p{color:#64748b;font-size:.8rem;line-height:1.6}.self-map-trail{max-width:340px;margin:20px auto 0;position:relative}.self-map-route{color:#c7d2fe;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.self-map-trail ol{gap:30px;margin:0;padding:12px 0;list-style:none;display:grid;position:relative}.self-map-stop{text-align:center;width:64%;min-height:150px}.self-map-stop.stop-1{margin-left:auto}.self-map-node{background:#2563eb;border:5px solid #fff;border-radius:28px;outline:2px solid #bfdbfe;place-items:center;width:82px;height:82px;margin:0 0 12px;padding:0;display:inline-grid;position:relative;transform:rotate(-6deg);box-shadow:0 7px #1e40af,0 12px 22px #2563eb22}.self-map-node>span{font-size:1.9rem;transform:rotate(6deg)}.self-map-node small{color:#1e40af;background:#fff;border:1px solid #bfdbfe;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.7rem;font-weight:700;display:grid;position:absolute;bottom:-9px;right:-9px}.self-map-node:hover:not(:disabled){background:#1d4ed8;transform:rotate(-6deg)translateY(-2px)}.self-map-node.upcoming:hover{background:#e0e7ff}.self-map-stop h4{color:#1e293b;margin:6px 0;font-size:.9rem}.self-map-stop p{color:#64748b;font-size:.68rem}.self-map-preview{background:#f8faff;border:1px solid #e0e7ff;border-radius:18px;padding:20px}.self-map-preview p{margin-top:10px;font-size:.8rem;line-height:1.6}.self-map-preview button{width:100%;margin-top:16px}.map-avatar-picker{justify-content:center;gap:10px;margin-top:16px;display:flex}.map-avatar-picker button{background:#f1f5f9;border:2px solid #0000;border-radius:50%;width:38px;height:38px;margin:0;padding:0;font-size:1.3rem}.map-traveler{z-index:2;pointer-events:none;filter:drop-shadow(0 4px 3px #33415522);width:34px;height:58px;transition:left .8s ease-in-out,top .8s ease-in-out;position:absolute;top:52px;left:40%}.map-traveler>span{z-index:1;font-size:28px;line-height:30px;display:block;position:relative}.map-traveler:before{content:"";background:#818cf8;border-radius:8px 8px 5px 5px;width:19px;height:21px;position:absolute;top:26px;left:8px}.map-traveler:after{content:"";background:#334155;border-radius:3px;width:5px;height:12px;position:absolute;top:44px;left:11px;box-shadow:11px 0 #334155}.map-traveler.traveler-1{top:232px;left:79%}.map-traveler.traveler-2{top:412px;left:40%}.map-traveler.walking>span{animation:.2s ease-in-out infinite alternate map-walk}.map-traveler.walking:after{animation:.2s ease-in-out infinite alternate map-step}@keyframes map-walk{0%{transform:translateY(0)rotate(-5deg)}to{transform:translateY(-3px)rotate(5deg)}}@keyframes map-step{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}@media (prefers-reduced-motion:reduce){.map-traveler{transition:none}.map-traveler.walking>span,.map-traveler.walking:after{animation:none}}.map-traveler.traveler-3{top:592px;left:79%}.map-stop-completed{color:#15803d;margin-bottom:5px;font-size:.68rem;font-weight:700;display:block}.unit-game{text-align:left;padding:4px 0 20px}.unit-game progress{accent-color:#6366f1;width:100%;height:6px;margin:12px 0 24px}.game-character-question{align-items:center;gap:16px;margin-bottom:22px;display:flex}.game-character{flex-shrink:0;font-size:3.3rem}.game-character-question h3{color:#312e81;background:#eef2ff;border-radius:20px 20px 20px 3px;padding:18px;font-size:1.1rem;line-height:1.5}.unit-game .lesson-helper{color:#64748b;font-size:.78rem;line-height:1.6}.game-mode{gap:8px;margin:20px 0;display:flex}.game-mode button{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;flex:1;margin:0;padding:10px;font-size:.78rem}.game-mode button[aria-pressed=true]{color:#4338ca;background:#eef2ff;border-color:#a5b4fc}.game-answer{border-block:2px dashed #cbd5e1;flex-wrap:wrap;align-content:center;gap:8px;min-height:100px;margin-bottom:22px;padding:16px 8px;display:flex}.game-answer>span{color:#94a3b8;font-size:.8rem}.game-answer button,.game-word-bank button{border:1px solid #cbd5e1;color:#1e293b;background:#fff;border-bottom:3px solid #cbd5e1;border-radius:11px;margin:0;padding:10px 13px;font-size:.9rem}.game-answer button{background:#eef2ff;border-color:#c7d2fe}.game-word-bank{flex-wrap:wrap;justify-content:center;gap:10px;min-height:90px;margin-bottom:22px;display:flex}.game-word-bank button:disabled{opacity:.25}.unit-game>.lesson-primary{width:100%;margin-top:18px}.unit-game>.lesson-back{color:#475569;background:0 0;width:100%;margin-top:16px}.game-preview-note{color:#92400e;background:#fffbeb;border-radius:14px;margin-bottom:18px;padding:12px 16px;font-size:.75rem;line-height:1.6}.game-matching{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.game-matching>div{gap:12px;display:grid}.game-matching button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-bottom-width:3px;border-radius:12px;margin:0;padding:14px 8px;font-size:.85rem}.game-matching button[aria-pressed=true]{color:#4338ca;background:#eef2ff;border-color:#818cf8}.game-matching button:disabled{opacity:.45}.game-listen-example{background:#eff6ff;border-radius:16px;padding:18px;line-height:1.7}.game-listen-example>p:first-child{color:#1e3a8a;font-size:1.1rem}.game-question-copy{flex:1;min-width:0}.game-question-translation{color:#64748b;padding:8px 12px 0;font-size:.72rem;line-height:1.55}.game-character-question .game-question-copy{background:#eef2ff;border-radius:20px 20px 20px 3px;padding:18px}.game-character-question .game-question-copy h3{background:0 0;border-radius:0;margin:0;padding:0}.game-character-question .game-question-translation{color:#64748b;margin:7px 0 0;padding:0;font-size:.72rem;line-height:1.55}.people-map .self-map-stop{width:68%}.people-map .self-map-stop h4{max-width:190px;margin-inline:auto;line-height:1.5}.map-back{color:#475569;background:0 0;width:100%}.people-grammar-card{background:#eff6ff;border-radius:18px;margin:20px 0;padding:22px}.people-grammar-card>div{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.people-grammar-card strong{color:#1d4ed8;font-size:1.6rem}.people-grammar-card span{color:#475569;font-size:.9rem}.people-grammar-card p{margin-bottom:22px;font-size:.83rem;line-height:1.75}.people-grammar-card ul{color:#1e3a8a;padding-left:20px;font-size:.9rem;line-height:2}.people-preview-control{border:1px solid #e2e8f0;border-radius:14px;margin-bottom:20px;padding:12px 14px}.people-preview-control.is-preview{background:#fffbeb;border-color:#fde68a}.people-preview-control p{color:#64748b;font-size:.72rem;line-height:1.6}.people-preview-control button{color:#4338ca;background:#eef2ff;margin:9px 0 0;padding:7px 12px;font-size:.73rem}.people-situation{border-top:1px solid #bfdbfe;padding-top:18px}.people-situation h4{margin-bottom:12px;font-size:.9rem}.people-situation small{color:#64748b;font-size:.72rem}.people-situation li{margin-bottom:10px}.self-lesson .lesson-term,.people-grammar-card .lesson-term{color:#15803d;font-weight:700;font-size:inherit}.people-grammar-card>div>strong{color:#15803d}.block-review-picker{color:#475569;gap:6px;margin-top:14px;font-size:.75rem;display:grid}.block-review-picker select{color:#334155;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px}.game-picture{margin:18px 0}.game-picture img{aspect-ratio:3/2;object-fit:cover;border-radius:18px;width:100%;display:block}.game-picture figcaption{color:#475569;padding:12px 2px 0;font-size:.77rem;line-height:1.65}.game-written-answer{margin-top:18px}.game-written-answer label{color:#475569;margin-bottom:8px;font-size:.8rem;display:block}.game-written-answer textarea{width:100%;font:inherit;color:#1e293b;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:14px;font-size:.9rem;line-height:1.6}.game-written-answer textarea:focus-visible{outline-offset:2px;outline:3px solid #a5b4fc}.game-written-answer .lesson-primary{width:100%;margin-top:16px}.game-exercise-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-exercise-heading .lesson-eyebrow{margin:0}.unit-game .game-hint-button{color:#64748b;letter-spacing:.08em;width:auto;min-height:28px;box-shadow:none;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;gap:5px;margin:0;padding:4px 0 4px 8px;font-size:.68rem;font-weight:700;line-height:1.4;display:inline-flex}.unit-game .game-hint-button:hover:not(:disabled){color:#475569;background:0 0;transform:none}.game-hint-icon{letter-spacing:0;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:13px;height:13px;font-size:9px;line-height:1;display:inline-flex}.unit-game .game-picture-hint{margin:8px 0 12px}.game-picture+.lesson-helper{margin-top:20px}.admin-preview-banner{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;max-width:430px;margin:12px auto;padding:12px 16px;font-size:.75rem}.admin-preview-banner p{margin:6px 0;line-height:1.5}.admin-preview-banner button{color:#4338ca;background:#eef2ff;margin:4px 0 0;padding:7px 10px;font-size:.72rem}.demonstratives-summary{text-align:left;margin:20px 0}.demonstratives-summary h4{margin-bottom:12px;font-size:.9rem}.demonstratives-summary table{border-collapse:collapse;width:100%;font-size:.73rem;line-height:1.5}.demonstratives-summary th,.demonstratives-summary td{text-align:left;border:1px solid #e2e8f0;padding:10px 7px}.demonstratives-summary thead{color:#3730a3;background:#eef2ff}.demonstratives-summary tbody th{background:#f8fafc}.demonstrative-position{color:#4338ca;font-weight:600}.lesson-model-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-model-row>span{min-width:0}.lesson-model-row button{flex-shrink:0}.lesson-model-row{align-items:flex-start}.lesson-model-copy{min-width:0;line-height:1.5}.lesson-model-copy>span,.lesson-model-copy>small{display:block}.lesson-model-copy>small{color:#64748b;margin:2px 0 0;font-size:.75rem;line-height:1.5}.lesson-model-row .example-audio{margin-top:0}.people-grammar-card li:has(.lesson-model-row){margin-bottom:12px}.self-lesson .lesson-example .lesson-example-text{margin:8px 0 0;line-height:1.5}.self-lesson .lesson-example .lesson-example-translation{color:#64748b;margin:2px 0 0;font-size:.78rem;line-height:1.5}.game-answer .sentence-tile:not(:disabled){touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}.game-answer .sentence-tile:hover:not(:disabled){transform:none}.game-answer.is-reordering .sentence-tile{cursor:grabbing}.game-answer .sentence-tile.is-dragging{opacity:.35;border-style:dashed}.game-word-ghost{z-index:1000;pointer-events:none;box-sizing:border-box;color:#1e293b;white-space:nowrap;background:#eef2ff;border:1px solid #818cf8;border-bottom-width:3px;border-radius:11px;padding:10px 13px;font-size:.9rem;font-weight:600;line-height:normal;position:fixed;box-shadow:0 8px 20px #0f172a26}.unit-game .sentence-tile-hint{margin:-12px 0 18px}.people-grammar-card .lesson-negative-explanation{border-top:1px solid #bfdbfe;padding-top:12px;display:block}.lesson-negative-explanation h4{margin:0 0 6px;font-size:.85rem}.people-grammar-card .lesson-negative-explanation strong{font-size:1.05rem}.question-explanation-guide{text-align:left;background:#f8faff;border:1px solid #c7d2fe;border-radius:14px;margin:18px 0;padding:16px}.question-explanation-guide h4{margin:16px 0 8px;font-size:.9rem}.question-explanation-guide h4:first-child{margin-top:0}.self-lesson .question-explanation-guide p{margin:8px 0 12px;font-size:.8rem;line-height:1.65}.question-explanation-guide ul{padding-left:18px}.question-explanation-guide li{margin-bottom:10px;line-height:1.5}.question-explanation-guide .question-formula{color:#4338ca;font-weight:700}.question-explanation-guide .question-reminder{border-top:1px solid #e2e8f0;padding-top:12px}.routine-five-map .stop-4{margin-left:0;margin-right:auto}:root{--ink:#193b3e;--muted:#526b68;--teal:#087b80;--coral:#ef6955;--paper:#fff5dd;--gold:#f4c75c;--text:var(--muted);--text-h:var(--ink);--bg:#b9edf0;--border:#dbcfad;--accent:var(--teal);--sans:"Trebuchet MS", "Avenir Next", system-ui, sans-serif;--heading:"Avenir Next", "Trebuchet MS", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--ink)}body{background-color:#0000;background-image:radial-gradient(at 12% 15%,#ffffffb0 0,#0000 30%),linear-gradient(165deg,#079dbe,#66d7dc 55%,#d7f0d0);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}#root{border:0;width:100%;max-width:none;padding:24px}h1,h2,h3,h4{font-family:var(--heading);color:var(--ink);letter-spacing:-.035em;font-weight:850}p{color:var(--muted)}button{color:#fff;background:linear-gradient(#ff8670,#ee6553);border:1px solid #d95343;border-bottom:4px solid #bd493b;border-radius:16px;min-height:44px;font-family:inherit;font-weight:800;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:inset 0 2px #ffffff70,0 3px #193b3e0d}button:hover:not(:disabled){background:linear-gradient(#ff957c,#ed7058);transform:translateY(-2px)}button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}button:disabled{opacity:.55}:focus-visible{outline-offset:4px;outline:3px solid #075f68}main.onboarding-shell{background:var(--paper);border:2px solid #fff9e9;border-radius:32px;overflow:hidden;box-shadow:0 18px 55px #14536640;gap:14px!important;max-width:620px!important;margin:0 auto!important;padding:24px 34px 34px!important}.adventure-welcome{background:linear-gradient(#bdeef1,#84dee8);margin:-24px -34px 8px;padding-top:22px}.adventure-wordmark{justify-content:center;align-items:center;gap:8px;display:flex}.adventure-wordmark>span{color:#0a6975;font-size:2.8rem}.adventure-wordmark h1{color:#164950;text-shadow:0 2px #fff;margin:0;font-size:2rem;line-height:.95}.adventure-wordmark small{color:#fff;text-shadow:none;letter-spacing:.025em;background:#ef715e;border-radius:5px 5px 10px 10px;margin-top:5px;padding:5px 18px;font-size:.75rem;display:block;transform:rotate(-3deg)}.adventure-eyebrow{color:#25656b;letter-spacing:.16em;margin:24px 0 12px;font-size:.6rem;font-weight:800;display:block}.adventure-welcome h2{margin:0 20px 12px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15}.adventure-welcome em{color:#19545a;background:#ffda79;border-radius:40% 15% 35%;padding:0 8px;font-style:normal}.adventure-welcome p{color:#2d6268;padding:0 22px;font-size:.85rem}.welcome-landscape{background:url(/art/adventure/world.webp) 50% 65%/cover;height:230px;margin-top:12px;-webkit-mask-image:linear-gradient(#0000,#000 15%);mask-image:linear-gradient(#0000,#000 15%)}.onboarding-shell>h2{margin:6px 0;font-size:1.3rem}.onboarding-shell>button{margin-top:0}.onboarding-shell>button[style]{color:var(--ink);background:#fffcf1;border:2px solid #decda3;border-bottom-width:4px;text-align:center!important}.onboarding-shell>button[style]:hover{border-color:var(--teal);background:#e8f8ec}main.app-home{background:#bcf0ee;border:2px solid #ffffffa0;border-radius:28px;width:min(1060px,100%);height:calc(100dvh - 48px);box-shadow:0 18px 65px #07556d40;max-width:1060px!important}.home-topbar{background:#fff8e9;border-bottom:2px solid #e5d7b4;padding:15px 28px}.adventure-app-brand{letter-spacing:-.04em;color:#175359;align-items:center;gap:6px;margin-bottom:12px;font-size:1rem;font-weight:900;display:flex}.adventure-app-brand>span{color:#12818a;font-size:1.3rem}.adventure-app-brand small{color:#b54b3d;letter-spacing:.02em;font-size:.65rem}.student-stats{gap:18px;position:absolute;top:22px;right:28px}.home-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;display:grid;position:relative}.home-topbar .adventure-app-brand{align-items:center;gap:4px;min-width:0;margin:0}.home-topbar .adventure-app-brand strong{flex-wrap:wrap;align-items:baseline;gap:3px;font-size:.9rem;line-height:1.1;display:flex}.home-topbar .adventure-app-brand small{margin:0;font-size:.65rem;display:inline}.home-topbar .student-stats{gap:8px;margin:0;position:static}.home-topbar>.home-header,.home-topbar>.activity-status{grid-column:1/-1}.student-stats .student-stat{min-height:44px;box-shadow:none;border:0}.home-greeting h2{color:var(--ink);font-size:1.35rem}.home-greeting p{color:#60746e}.home-header-actions .home-icon-button{color:#17666a;background:#d8f0e9;border:1px solid #b8d9cc;min-width:44px;height:44px}.home-header-actions .home-icon-button:hover:not(:disabled),.home-header-actions .home-icon-button.active{color:#145559;background:#bfe8df;border-color:#6ba99d}.home-screen .home-content{scrollbar-color:#66b7b5 transparent;background:radial-gradient(at 0 40%,#ffffffb0,#0000 42%),linear-gradient(#a6e9ed,#d5f2e6);padding:26px 32px 40px}:is(.home-content:has(>.self-lesson),.home-content:has(>.unit-game)){background:#eee8d7}.home-content>.self-lesson,.home-content>.unit-game{background:#fffdf5;border:1px solid #e0d4b7;border-radius:24px;max-width:660px;margin-inline:auto;padding:28px;box-shadow:0 7px 22px #4a493d0a}.home-content-wide .home-course{color:var(--ink);background:linear-gradient(90deg,#fff4dce8 0%,#fff4dccc 46%,#fff4dc00 80%),url(/art/adventure/world.webp) 50% 57%/cover;border:2px solid #fff4d4;border-radius:24px;min-height:235px;padding:24px 28px;position:relative;overflow:hidden;box-shadow:0 7px #096d7620}.home-course h3{color:#193f42;max-width:50%;line-height:1.16;margin:14px 0!important;font-size:1.65rem!important}.home-course-top{max-width:48%}.home-level{color:#38615b;background:#fff7df;border:1px solid #c3af7d}.home-course-goal{color:#244c48;border-color:#a6906250;max-width:45%;margin-top:10px!important;padding-top:10px!important}.home-course-goal span{color:#4f6c60}.course-companion{background:#b4e7e1;border:3px solid #fff8d9;border-radius:50%;width:64px;height:64px;padding:0;position:absolute;bottom:16px;right:18px;box-shadow:0 3px 12px #164d6250}.home-section-heading{background:linear-gradient(#fff6df,#f7e2b9);border:1px solid #e9c68d;border-radius:8px 20px 12px 18px;justify-content:center;gap:14px;width:fit-content;margin:28px auto 20px;transform:rotate(-1deg);box-shadow:0 4px #227d7a20;padding:15px 24px!important}.home-section-heading h3{margin:0;font-size:1.15rem}.home-section-heading>span{color:#526b60}.home-path{gap:0;max-width:740px;margin:0 auto;padding:20px 10px 35px;position:relative}.adventure-topic-route{pointer-events:none;width:100%;height:calc(100% - 40px);position:absolute;inset:20px 0;overflow:visible}.adventure-topic-route path{fill:none;stroke:#ffe59a;stroke-width:7px;stroke-dasharray:1 15;stroke-linecap:round;filter:drop-shadow(0 1px 3px #b99132)}.home-path li,.home-content-wide .home-path li{isolation:isolate;background:0 0;border:0;width:57%;min-height:175px;margin-bottom:10px;padding:18px 12px 32px;position:relative}.home-path li:nth-of-type(2n){margin-left:auto}.home-path li:before{content:"";z-index:-1;background:linear-gradient(#83ba50 0 15%,#5d9a45 15% 22%,#ae936d 23%,#627f73 70%,#528a83);border-radius:45% 40% 45% 45%/25% 25% 70% 70%;position:absolute;inset:18px 5px 4px;box-shadow:0 14px 15px #197f8620,inset -10px -10px 18px #235f6540}.home-path-button{width:100%;color:var(--ink);text-align:left;background:linear-gradient(#fff8e6,#f9e7c2);border:2px solid #fff9e7;border-bottom:4px solid #d0b280;border-radius:20px 10px 18px 12px;grid-template-columns:60px 1fr 12px;align-items:center;gap:12px;margin:0;display:grid;box-shadow:0 6px 9px #315d4930;padding:16px!important}.home-path-button:hover:not(:disabled){background:#fffbe9}.home-path-icon{background:#f8d990;border:3px solid #fff9df;border-radius:50%;width:58px;height:58px;font-size:1.8rem;position:relative;box-shadow:0 4px #ad9150}.home-path-icon b{color:#fff;background:#e66550;border:2px solid #fff5db;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.7rem;display:grid;position:absolute;bottom:-9px;left:-8px}.home-path-button>span:nth-child(2){gap:5px;display:grid}.home-path-button strong{color:#243d35;font-size:.95rem;line-height:1.1}.home-path-button small{color:#8c6135;font-size:.52rem}.home-path-button>span:nth-child(2)>span{color:#58674f;font-size:.68rem;line-height:1.4}.home-path-arrow{color:#967c45;font-size:1.5rem}.home-screen .bottom-navigation{padding:8px 16px max(10px,env(safe-area-inset-bottom));background:#fff8e9;border-top:2px solid #e1d2ae}.bottom-navigation button{box-shadow:none;color:#63736a;border:0;min-height:54px;font-size:.65rem}.bottom-navigation button.active,.bottom-navigation button:hover:not(:disabled){color:#096e73;background:#d5eee4}.self-map{max-width:700px;margin-inline:auto}.self-map-intro{background:linear-gradient(#fff8e3,#f8e3b9);border:1px solid #e1c590;border-bottom:4px solid #cfb482;border-radius:10px 22px 12px 24px;padding:20px;box-shadow:0 5px 15px #277b7c12}.self-map-intro>span{color:#8a6536}.self-map-intro h3{color:#233f3c}.self-map-intro p{color:#586951}.self-map-trail{max-width:440px}.self-map-route{color:#ffdc7b;filter:drop-shadow(0 2px 2px #bc9d55)}.self-map-trail ol{gap:38px}.self-map-stop{isolation:isolate;min-height:175px;padding:10px 10px 20px;position:relative}.self-map-stop:before{content:"";z-index:-1;background:linear-gradient(#fff8df,#f6e3bd);border:1px solid #e3c58b;border-bottom:5px solid #a7a26b;border-radius:20px 12px 35px 25px;position:absolute;inset:62px 0 0;box-shadow:0 10px #58985b,0 19px 0 -5px #a2a481,0 23px 10px #256c7630}.self-map-stop h4{color:#2c4135;padding-inline:5px}.self-map-stop p{color:#59664c;padding:0 8px;line-height:1.5}.self-map-node{background:linear-gradient(#33a4a0,#0b7779);border:4px solid #fff9de;border-radius:50%;outline:2px solid #65b8a4;box-shadow:0 7px #0c5e61,0 12px 15px #21646730}.self-map-node:hover:not(:disabled){background:#17918f}.self-map-node small{color:#fff;background:#ef7356;border:2px solid #fff4dc}.self-map-node.upcoming{background:#c6d4c4;outline-color:#a3b5a1;box-shadow:0 6px #819a84}.map-stop-completed{color:#28663a;background:#e7f2cb;border-radius:8px;padding:3px 8px}.self-map-stop.stop-2{margin-right:auto}.self-map-stop.stop-3{margin-left:auto}.self-map .map-back,.self-lesson .lesson-back,.companion-picker>.lesson-back{color:#36665f;box-shadow:none;background:0 0;border:0}.lesson-eyebrow,.lesson-step-count{color:#7d663f}.self-lesson h3,.unit-game h3{color:#1e4645;line-height:1.3}.lesson-example,.lesson-final-answer,.people-grammar-card,.question-explanation-guide{background:#f5f2e5;border:1px solid #e4d9ba;border-radius:18px}.lesson-example p,.lesson-final-answer p{color:#254f4d}.people-grammar-card>div>strong,.self-lesson .lesson-term{color:#167358}.speech-answer{background:#edf5ef;border:1px solid #ccded0}.speech-answer .voice-button,.example-audio button{background:#0c7d7f;border-color:#086669}.speech-answer .voice-button:hover:not(:disabled),.example-audio button:hover:not(:disabled){background:#09686c}.example-audio button{width:44px;height:44px}.voice-bars span{background:#93c6be}.is-listening .voice-bars span{background:linear-gradient(#3fa59b,#0b7478)}.self-lesson progress{accent-color:#1b8b7a;height:9px}.lesson-video-unavailable{color:#49746b;background:#e7efde;border:1px dashed #9bb49b}.game-answer .sentence-tile,.sentence-tile{color:#304d44;background:#fff9e9;border-color:#d4c292}.game-answer .sentence-tile:hover:not(:disabled){background:#f2e6c8}.profile-panel,.home-empty,.enrollment-summary,.account-icon{color:#176d6c;background:#fff7e4;border-color:#ddcda6}.profile-panel{max-width:660px;margin-inline:auto}.home-screen .profile-content{padding:26px 32px}.account-form input,.block-review-picker select,.game-written-answer textarea{color:#244743;background:#fffef8;border:1px solid #c9c8aa;min-height:44px}.account-section .text-button{color:#0a7276}.placement-options label.selected{background:#e5f2e8;border-color:#12817d}.placement-options input{accent-color:#087b80}dialog.language-dialog,dialog.streak-dialog,dialog.subscription-dialog{color:#244843;background:#fff8e9;border:2px solid #fff1cc;box-shadow:0 25px 90px #143d4f60}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#143f4b80}.plan-plus{background:#eaf4e9;border-color:#a7c8ad}.plan-name{color:#0c7374}.calendar-day.active{color:#805019;background:#ffe1a7}.companion-picker{text-align:center;max-width:580px;margin:0 auto;padding:12px 16px 24px}.companion-picker h3{background:#fff2d5;border-bottom:4px solid #d5bd8b;border-radius:14px;margin:15px 0;padding:20px;font-size:1.8rem;line-height:1.1}.companion-picker>p{font-size:.85rem}.companion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;margin:30px 0;display:grid}.companion-grid button{-webkit-tap-highlight-color:transparent;appearance:none;min-width:0;box-shadow:none;color:#215253;background:0 0;border:0;margin:0;padding:0;position:relative}.companion-portrait{aspect-ratio:1;background-image:url(/art/adventure/companions.webp);background-size:300% 200%;border:4px solid #fffbe8;border-radius:50%;width:100%;display:block;box-shadow:0 4px #107a8230}.companion-grid button,.companion-grid button:hover:not(:disabled),.companion-grid button:active:not(:disabled),.companion-grid button:focus,.companion-grid button[aria-pressed=true]{box-shadow:none;filter:none;background:0 0;transition:none;transform:none}.companion-grid button:focus:not(:focus-visible){outline:none}.companion-grid button:focus-visible{outline-offset:4px;outline:3px solid #168776}.companion-grid button[aria-pressed=true] .companion-portrait{border-color:#168776;box-shadow:0 0 0 3px #168776}.companion-grid button>span:nth-child(2){margin-top:10px;font-size:.75rem;display:block}.companion-check{color:#287c77;background:#fff8de;border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.85rem;display:grid;position:absolute;bottom:24px;right:8%}[aria-pressed=true]>.companion-check{color:#fff;background:#33884b}.companion-picker .companion-note{background:#fff5df;border-radius:16px;padding:16px;font-size:.75rem}.companion-confirm{width:100%;margin-top:22px;font-size:1.3rem}.companion-confirm span{margin-left:20px}.profile-companion{width:100px;margin:0 auto}.companion-change{color:#23665f;background:#d8eee3;border-color:#9cbfaf;margin:16px auto 25px;font-size:.8rem;display:block}.companion-change:hover:not(:disabled){background:#c2e4d6}.course-companion .companion-portrait{border:0}@media (width>=800px){.home-topbar{padding:16px 36px 20px}.student-stats{right:36px}.home-screen .home-content{padding-inline:52px}.home-content-wide .home-course{max-width:850px;min-height:260px;margin-inline:auto;padding:28px 36px}.home-course h3{max-width:48%;font-size:2rem!important}.home-course-goal{max-width:40%}.home-screen .bottom-navigation{padding-inline:20%}.self-map-trail{max-width:440px}}@media (width>=0){#root{padding:0}main.app-home{border:0;border-radius:0;width:100%;height:100dvh}main.onboarding-shell{border:0;border-radius:0;min-height:100svh!important;padding:22px 24px 32px!important}.adventure-welcome{margin:-22px -24px 8px}.welcome-landscape{height:210px}.home-topbar{padding:max(10px,env(safe-area-inset-top)) 18px 14px}.adventure-app-brand{margin-bottom:14px;font-size:.9rem}.adventure-app-brand small{display:none}.student-stats{gap:12px;top:9px;right:16px}.student-stat strong{font-size:.7rem}.student-stat>span{display:none}.student-stat svg{width:20px}.home-screen .home-content{padding:20px 14px 32px}.home-content-wide .home-course{min-height:215px;margin-bottom:20px;padding:18px}.home-course h3{max-width:57%;font-size:1.25rem!important}.home-course-top{max-width:55%}.home-course-goal{max-width:53%}.home-section-heading{padding:12px 18px!important}.home-section-heading h3{font-size:1.05rem}.home-section-heading>span{display:none}.home-path{padding-inline:0}.home-path li,.home-content-wide .home-path li{width:75%;min-height:175px;padding:14px 5px 32px}.home-path-button{grid-template-columns:48px 1fr 10px;gap:9px;padding:13px 11px!important}.home-path-icon{width:48px;height:48px;font-size:1.5rem}.home-path-button strong{font-size:.85rem}.home-path-button>span:nth-child(2)>span{font-size:.65rem}.home-content>.self-lesson,.home-content>.unit-game{border-radius:20px;padding:20px 16px}.home-screen .profile-content{padding:20px 14px}.companion-picker{padding-inline:4px}.companion-grid{gap:22px 12px}.companion-picker h3{font-size:1.5rem}.home-screen .bottom-navigation{padding-inline:4px}.bottom-navigation button{font-size:.58rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button:hover:not(:disabled){transform:none}}.adventure-path{isolation:isolate;max-width:740px;margin-inline:auto;position:relative}.adventure-path>.adventure-topic-route{z-index:-1}.home-path-button .home-path-arrow{color:#8a7040}#root:has(.admin-preview-banner) main.app-home{height:calc(100dvh - 160px)}@media (width>=0){#root:has(.admin-preview-banner) main.app-home{height:calc(100dvh - 120px)}}.home-path li:before{box-shadow:none;background:url(/art/adventure/island.webp) bottom/100% 100% no-repeat;border-radius:0;inset:-12px -22px}.home-path li,.home-content-wide .home-path li{min-height:210px;padding-top:34px}.self-map-stop:after{content:"";z-index:-2;background:url(/art/adventure/island.webp) bottom/100% 100% no-repeat;position:absolute;inset:38px -18px -24px}.self-map-stop:before{bottom:14px;box-shadow:0 4px #b49c6b}.admin-preview-banner{text-align:left;background:#fff7df;border:1px solid #d4c399;width:100%;max-width:1060px;margin:0 auto 12px;padding:10px 16px;font-size:.65rem}.admin-preview-banner p{margin:3px 0;font-size:.65rem;line-height:1.4}.admin-preview-banner button{min-height:32px;box-shadow:none;color:#285c55;background:#e1eee1;border:1px solid #91b5a6;margin:4px 0 0}@media (width>=0){.home-path li,.home-content-wide .home-path li{min-height:195px;padding-top:24px}.home-path li:before{inset-inline:-10px}.admin-preview-banner{border-radius:0;margin-bottom:0}}.map-traveler{width:45px;height:45px;top:58px}.map-traveler:before,.map-traveler:after{display:none}.map-traveler>.companion-portrait{border:3px solid #fff1b9;width:45px;height:45px}.map-avatar-picker button[aria-pressed=true]{background:#ddf0df;border-color:#17867d}@media (width>=601px){#root{padding:24px}main.app-home{border:2px solid #ffffffa0;border-radius:28px;height:calc(100dvh - 48px);max-width:430px!important;min-height:0!important;margin:0 auto!important}main.onboarding-shell{border-radius:28px;max-width:430px!important;min-height:calc(100svh - 48px)!important}.admin-preview-banner{max-width:430px}#root:has(.admin-preview-banner) main.app-home{height:calc(100dvh - 168px)}}main.onboarding-shell.onboarding-focus{--task-height:100dvh;--focus-space:6px;box-sizing:border-box;width:100%;height:var(--task-height);overscroll-behavior-y:contain;flex-direction:column;flex:none;display:flex;overflow-y:auto;max-width:430px!important;min-height:0!important;padding:max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))!important;justify-content:flex-start!important;gap:var(--focus-space)!important}.onboarding-focus .adventure-welcome{background:linear-gradient(90deg,#bdeef1dd,#bdeef166),url(/art/adventure/world.webp) 50% 62%/cover;border-radius:16px;flex:none;margin:0;padding:0}.onboarding-focus .adventure-wordmark{gap:6px;min-height:48px}.onboarding-focus .adventure-wordmark>span{font-size:1.8rem}.onboarding-focus .adventure-wordmark h1{font-size:1.3rem}.onboarding-focus .adventure-wordmark small{margin:0 0 0 6px;padding:3px 6px;font-size:.6rem;display:inline-block}.onboarding-focus .welcome-landscape{display:none}.onboarding-focus p{font-size:.875rem;font-weight:600;line-height:1.4}.onboarding-focus h2{margin:0;font-size:1.25rem;line-height:1.2}.onboarding-focus>h3{margin:0;font-size:1.1rem;line-height:1.3}.onboarding-focus button{min-height:44px;margin:0;padding:8px 12px;font-size:.875rem}.onboarding-focus>button[style]{margin-bottom:0!important;padding:10px!important}.onboarding-focus .account-login{margin-block:auto}.account-login{width:100%}.onboarding-focus .account-login .account-icon{width:36px;height:36px;margin-bottom:8px;font-size:1.25rem}.onboarding-focus .account-login>p{margin-top:8px}.onboarding-focus .account-login .account-form{margin-top:16px}.onboarding-focus .account-login label{gap:6px;margin-bottom:12px}.onboarding-focus .account-login input{min-height:44px;padding:10px;scroll-margin-block:24px;font-size:16px}.onboarding-focus .account-login .account-error{overflow-wrap:anywhere;margin:8px 0}.onboarding-focus .account-login .text-button{margin-top:4px}.onboarding-focus .placement-screen{gap:var(--focus-space);min-width:0;display:grid}.onboarding-focus .placement-screen p,.onboarding-focus .placement-screen h3{margin:0}.onboarding-focus .placement-screen progress{height:6px;margin:0;display:block}.onboarding-focus .oral-question{font-size:1.15rem;line-height:1.25}.onboarding-focus .speech-answer{border-radius:16px;margin:0;padding:8px 12px}.onboarding-focus .voice-input-stage{grid-template-columns:1fr 48px;align-items:center;gap:4px 12px;margin-block:6px;display:grid}.onboarding-focus .voice-bars{grid-area:1/1;gap:3px;height:clamp(16px,3svh,28px);margin:0}.onboarding-focus .voice-bars span{width:3px;height:28px}.onboarding-focus .speech-answer .voice-caption{grid-area:2/1;font-size:.8rem;line-height:1.3}.onboarding-focus .speech-answer .voice-button{grid-area:1/2/3;width:48px;height:48px}.onboarding-focus .speech-answer .voice-button-label{grid-column:1/-1;font-size:.75rem;line-height:1.3}.onboarding-focus .voice-transcript{padding-top:0}.onboarding-focus .voice-transcript summary{align-content:center;min-height:44px;font-size:.8rem;display:list-item}.onboarding-focus .spoken-label{margin:0 0 4px;font-size:.8rem}.onboarding-focus .speech-answer textarea{height:60px;min-height:60px;padding:8px;scroll-margin-block:16px;font-size:16px}.onboarding-focus .speech-answer [role=status] p{margin:4px 0;font-size:.8rem}.onboarding-focus .speech-note{font-size:.75rem;line-height:1.35}.onboarding-focus .speech-answer .voice-privacy{margin-top:4px;font-size:.7rem;line-height:1.3}.onboarding-focus .placement-actions,.onboarding-focus .placement-result-actions{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.onboarding-focus .placement-level{font-size:2rem;line-height:1.2}.onboarding-focus .answer-review{margin:0;font-size:.875rem}.onboarding-focus .answer-review summary{align-content:center;min-height:44px}.onboarding-focus .answer-review>div{margin-block:12px}.onboarding-focus .answer-review h3{font-size:1rem}.onboarding-focus .answer-review p{overflow-wrap:anywhere}@media (width>=601px){main.onboarding-shell.onboarding-focus{--task-height:calc(100dvh - 48px)}}@media (height<=650px){main.onboarding-shell.onboarding-focus{--focus-space:4px}.onboarding-focus .adventure-wordmark{min-height:40px}.onboarding-focus .placement-question>p{font-size:.8rem}.onboarding-focus .speech-answer{padding-block:6px}.onboarding-focus .voice-input-stage{margin-block:4px}}.onboarding-focus>*{flex-shrink:0;min-width:0}.onboarding-focus.onboarding-intro .adventure-welcome{padding-top:8px}.onboarding-intro .adventure-eyebrow{margin:10px 0 6px;font-size:.6rem}.onboarding-intro .adventure-welcome h2{margin:0 12px 6px;font-size:1.45rem}.onboarding-intro .adventure-welcome p{padding-inline:12px;font-size:.8rem}.onboarding-intro .welcome-landscape{border-radius:0 0 16px 16px;height:clamp(80px,18svh,140px);margin-top:4px;display:block}.onboarding-focus .onboarding-choice-step{flex:1 0 auto;grid-template-rows:auto minmax(min-content,1fr) auto;gap:8px;width:100%;max-width:390px;margin-inline:auto;display:grid}.onboarding-choice-heading{gap:6px;display:grid}.onboarding-focus .onboarding-choice-list{grid-template-columns:minmax(0,1fr);align-self:center;gap:8px;padding-block:8px;display:grid}.onboarding-choice-list>button[style]{color:var(--ink);background:#fffcf1ed;border:2px solid #decda3;border-bottom-width:4px;line-height:1.3;text-align:center!important;margin:0!important;padding:10px 12px!important}.onboarding-choice-list>button:hover:not(:disabled){border-color:var(--teal);background:#e8f8ec}.onboarding-levels>button[style]{color:var(--ink);background:#fffcf1;border:2px solid #decda3;border-bottom-width:4px;font-size:.875rem;line-height:1.25;margin:0!important;padding:8px!important}.onboarding-levels>button:hover:not(:disabled){border-color:var(--teal);background:#e8f8ec}.onboarding-focus .account-section{width:100%}.onboarding-focus .account-section .account-icon{width:32px;height:32px;margin-bottom:8px;font-size:1.2rem}.onboarding-focus .account-section h2{margin-bottom:6px}.onboarding-focus .enrollment-summary{gap:2px;margin:10px 0;padding:8px 12px;font-size:.875rem}.onboarding-focus .enrollment-summary strong{font-size:1.25rem}.onboarding-focus .account-form{margin-top:10px}.onboarding-focus .account-form label{gap:4px;margin-bottom:8px;font-size:.875rem;line-height:1.25}.onboarding-focus .account-form input{min-height:44px;padding:8px;scroll-margin-block:24px;font-size:16px}.onboarding-focus .account-register .account-icon{display:none}.onboarding-focus .account-register fieldset{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 10px;display:grid}.onboarding-focus .account-register .account-error,.onboarding-focus .account-register .account-submit{grid-column:1/-1}.onboarding-focus .account-section .text-button{min-height:44px;margin:0;padding:8px 4px}.onboarding-focus .welcome-actions{gap:8px;margin-top:12px}.speech-unavailable .voice-input-stage,.onboarding-focus .speech-unavailable .voice-input-stage{height:auto;margin-block:6px;display:block}.speech-unavailable .voice-bars,.speech-unavailable .voice-caption{display:none}.speech-unavailable .voice-unavailable-message{text-align:left;overflow-wrap:break-word;width:100%;margin:0;font-size:.875rem;line-height:1.4}.onboarding-focus .speech-unavailable .voice-unavailable-message{font-size:.8rem}.app-home .home-screen{grid-template-rows:auto minmax(0,1fr) auto}.home-screen .bottom-navigation{flex-shrink:0;position:static}.home-screen .home-content{scroll-padding-block:16px}.home-screen .home-content:has(>.companion-picker){padding:8px 14px;container-type:size}.companion-picker{--portrait-size:clamp(44px, calc((100cqh - 330px) / 2), 96px);flex-direction:column;gap:6px;min-height:100%;padding:0;display:flex}.companion-picker>*{flex:none}.companion-picker .adventure-eyebrow{margin:0;font-size:.6rem}.companion-picker h3{margin:0;padding:8px;font-size:1.2rem;line-height:1.15}.companion-picker>p{margin:0;font-size:.8rem;font-weight:600;line-height:1.35}.companion-picker .companion-grid{gap:8px 12px;width:100%;max-width:360px;margin:auto;padding-block:6px}.companion-picker .companion-portrait{width:var(--portrait-size);max-width:100%;margin-inline:auto}.companion-picker .companion-grid button{min-height:44px}.companion-grid button>span:nth-child(2){margin-top:4px;font-size:.8rem;line-height:1.25}.companion-picker .companion-check{width:22px;height:22px;right:calc(50% - var(--portrait-size) / 2);font-size:.75rem;bottom:18px}.companion-picker .companion-note{padding:6px 8px;font-size:.75rem;line-height:1.35}.companion-picker .companion-confirm{min-height:44px;margin:0;padding:8px 12px;font-size:1rem}.companion-picker>.lesson-back{min-height:44px;margin:0;padding:8px}@media (width<=600px){.home-topbar{padding:max(8px, env(safe-area-inset-top)) 14px 10px}.home-topbar .adventure-app-brand{margin-bottom:4px}.home-topbar .home-greeting h2{margin:4px 0;font-size:1.1rem}.home-greeting p{font-size:.75rem}.home-header-actions{gap:6px}.home-content-wide .home-course{min-height:180px;padding:14px}.home-course h3{font-size:1.15rem!important}.home-screen .bottom-navigation button{gap:4px;min-height:48px;padding-block:6px}}.onboarding-focus .placement-question .voice-heading,.onboarding-focus .placement-question .voice-caption{display:none}.onboarding-focus .placement-question .voice-input-stage{grid-template-rows:auto}.onboarding-focus .placement-question .voice-button{grid-row:1}.speech-unavailable .voice-privacy{display:none}@media (height<=700px){main.onboarding-shell.onboarding-focus{--focus-space:4px}.onboarding-focus .adventure-wordmark{min-height:40px}}:is(#root:has(.opening-welcome),#root:has(.onboarding-illustrated)){padding:0}html:has(.opening-welcome){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}body:has(.opening-welcome){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}#root:has(.opening-welcome){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}html:has(.onboarding-focus){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}body:has(.onboarding-focus){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}#root:has(.onboarding-focus){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}html:has(.app-home){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}body:has(.app-home){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}#root:has(.app-home){box-sizing:border-box;overscroll-behavior-y:none;height:100dvh;min-height:0;margin:0}main.opening-welcome{box-sizing:border-box;width:100%;height:100dvh;min-height:0;box-shadow:none;overscroll-behavior-y:none;color:#123e45;background:linear-gradient(#c9f6f455 0%,#0000 48% 72%,#073e4b88 100%),url(/art/adventure/welcome-four-explorers.webp) 50%/cover,#6ed9e6;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;display:grid;overflow-y:auto;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))!important;margin:0!important}.opening-copy{width:100%;min-width:0;max-width:480px;text-shadow:none;grid-row:1;margin-inline:auto}.opening-copy .adventure-wordmark{margin:0 0 6px}.opening-copy .adventure-wordmark h1{font-size:2rem}.opening-copy h2{margin:0 0 6px;font-size:clamp(1.65rem,6vw,2rem);line-height:1.08}.opening-motto{background:radial-gradient(#d4f7f0b0 20%,#d4f7f000 75%);border-radius:14px;width:fit-content;max-width:100%;margin-inline:auto;padding:4px 10px}.opening-slogan{letter-spacing:0;text-wrap:balance;color:#163f45;max-width:28ch;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;line-height:1.45}.opening-copy .opening-translation{color:#28535a;letter-spacing:0;text-wrap:balance;max-width:31ch;margin:4px auto 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:500;line-height:1.4}.opening-action{grid-row:3;width:100%;min-width:0;max-width:380px;margin:0 auto;padding:0}.opening-action>button{border-radius:22px;width:100%;min-height:56px;margin:0;padding:12px 24px;font-size:1.15rem}.opening-action>button>span{margin-left:20px}.opening-loading{color:#174a50;background:#fff8e9f5;border-radius:22px;justify-content:center;align-items:center;gap:12px;min-height:56px;padding:10px 14px;font-size:.875rem;display:flex}.opening-loading small{font-size:.75rem;display:block}.opening-spinner{border:3px solid #a4d9d6;border-top-color:#0c747b;border-radius:50%;flex:none;width:24px;height:24px;animation:1s linear infinite opening-spin}@keyframes opening-spin{to{transform:rotate(360deg)}}main.onboarding-shell.onboarding-focus.onboarding-illustrated{--task-height:100dvh;box-shadow:none;background:linear-gradient(#e5fbf0e8,#e5fbf0c9),url(/art/adventure/welcome-four-explorers.webp) 50%/cover,#6ed9e6;border-radius:0;max-width:none!important;padding:max(16px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))!important}main.onboarding-illustrated.onboarding-account{background:linear-gradient(#bfeee833,#bfeee866),url(/art/adventure/welcome-four-explorers.webp) 50%/cover,#6ed9e6}.onboarding-account .account-section{box-shadow:none;background:0 0;border:0;border-radius:0;margin-block:auto;padding:0}.onboarding-account .account-section>h2,.onboarding-account .account-section>p,.onboarding-account .account-form small,.onboarding-account .account-section .text-button{color:#153f45;text-shadow:0 1px 2px #fffdf0,0 0 8px #fffdf0}.onboarding-focus.onboarding-account .account-register fieldset{grid-template-columns:minmax(0,1fr)}.onboarding-focus.onboarding-account .account-form{margin-top:18px}.onboarding-focus.onboarding-account .account-form label{gap:4px;margin-bottom:10px}.onboarding-account .account-form input::placeholder{color:#526761;opacity:1}.onboarding-focus.onboarding-account .account-submit{margin-top:6px}.onboarding-focus.onboarding-account .account-section .text-button{box-shadow:none;background:0 0;border:0;margin-top:12px}main.onboarding-illustrated.onboarding-oral{background:linear-gradient(#bfeee833,#bfeee866),url(/art/adventure/welcome-four-explorers.webp) 50%/cover,#6ed9e6}.onboarding-oral .placement-screen,.onboarding-oral .onboarding-confirmation{flex:1 0 auto;width:100%;max-width:390px;margin-inline:auto}.onboarding-oral .placement-question{grid-template-rows:auto minmax(min-content,1fr) auto;gap:8px}.onboarding-oral .oral-question-heading,.onboarding-oral .oral-question-actions{text-align:center;gap:8px;display:grid}.onboarding-oral .oral-question-heading,.onboarding-oral .oral-question-actions>p,.onboarding-oral .placement-result,.onboarding-oral .onboarding-confirmation,.onboarding-oral .voice-button-label,.onboarding-oral .voice-transcript summary,.onboarding-oral .speech-answer p{color:#153f45;text-shadow:0 1px 2px #fffdf0,0 0 8px #fffdf0}.onboarding-focus.onboarding-oral .speech-answer{box-shadow:none;background:0 0;border:0;border-radius:0;align-self:center;margin:0;padding:0}.onboarding-focus.onboarding-oral .voice-input-stage{grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px;margin:0;display:grid}.onboarding-focus.onboarding-oral .speech-answer .voice-button{grid-area:1/1;width:72px;height:72px}.onboarding-focus.onboarding-oral .voice-bars{grid-area:2/1;height:16px}.onboarding-focus.onboarding-oral .speech-answer .voice-button-label{grid-area:3/1;margin:0}.onboarding-oral .voice-transcript{text-align:center;border:0}.onboarding-oral .voice-transcript textarea{background:#fffdf5ed}.onboarding-focus.onboarding-oral .speech-unavailable .voice-input-stage{display:block}.onboarding-oral .placement-result{align-content:center}.onboarding-oral .answer-review>div{text-align:left}.onboarding-confirmation .onboarding-choice-heading>p{font-weight:600}.onboarding-confirmation .onboarding-choice-list>h3{margin:0;font-size:1.1rem;line-height:1.3}.onboarding-illustrated>*{width:100%;max-width:390px;margin-inline:auto}.onboarding-illustrated .adventure-welcome{background:0 0;border-radius:0}.onboarding-illustrated .adventure-wordmark{min-height:48px}.onboarding-illustrated>button[style],.onboarding-illustrated .onboarding-levels button[style]{background:#fffcf1ed}main.onboarding-illustrated.onboarding-intro{background:linear-gradient(#c9f6f455 0%,#0000 48%,#c9f6f422 60%,#d9f5eced 77%,#def5e9f5 100%),url(/art/adventure/welcome-four-explorers.webp) 50%/cover,#6ed9e6!important}.onboarding-illustrated.onboarding-intro .adventure-welcome{text-shadow:0 1px 8px #e4fcf9;flex:1 0 auto;min-height:0;margin:0 auto;padding:0}.onboarding-illustrated.onboarding-intro .adventure-wordmark{margin-bottom:12px}.onboarding-illustrated.onboarding-intro .adventure-wordmark h1{font-size:1.7rem}.onboarding-illustrated.onboarding-intro .adventure-eyebrow{margin-block:8px}.onboarding-illustrated.onboarding-intro .adventure-welcome h2{margin:0 0 8px;font-size:clamp(1.5rem,6vw,2rem)}.onboarding-illustrated.onboarding-intro .adventure-welcome p{padding-inline:0;font-size:.875rem}.onboarding-illustrated.onboarding-intro .welcome-landscape{display:none}.onboarding-illustrated.onboarding-intro>h2{text-shadow:0 1px 4px #f3fff7;font-size:1.2rem}@media (height<=700px){.opening-copy .adventure-wordmark{margin-block:0 4px}.opening-copy h2{margin-bottom:4px;font-size:1.65rem}.opening-slogan{font-size:1rem}}@media (prefers-reduced-motion:reduce){.opening-spinner{animation:none}}.practice-islands{flex-direction:column;max-width:430px;margin:0 auto;padding:12px 0 28px;list-style:none;display:flex}.practice-islands>li{align-self:flex-start;width:78%}.practice-islands>li:nth-child(2n){align-self:flex-end}.practice-islands-ascending{flex-direction:column-reverse}.home-screen .practice-island{width:100%;min-height:215px;box-shadow:none;color:#243d35;-webkit-tap-highlight-color:transparent;background:url(/art/adventure/island.webp) 50%/contain no-repeat;border:0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:5px;margin:0;padding:58px 20px 90px;display:flex}.home-screen .practice-island:hover:not(:disabled){background:url(/art/adventure/island.webp) 50%/contain no-repeat;transform:translateY(-3px)}.practice-island>span{background:#fff0cb;border:2px solid #fff9e7;border-radius:12px;padding:7px 17px;font-size:1rem;font-weight:800;box-shadow:0 3px #b49c6b}.practice-island>small{color:#50623c;background:#fff9e7;border-radius:8px;padding:3px 10px}.practice-island:focus-visible{outline-offset:-12px;outline:3px solid #16766d}.practice-map{max-width:430px;margin-inline:auto}@media (prefers-reduced-motion:reduce){.home-screen .practice-island:hover:not(:disabled){transform:none}}.home-screen .academic-content{background:#f4f7f4}.home-content:has(.practice-studio){background:#f4f7f4}.section-kicker{letter-spacing:.12em;color:#42766d;font-size:.62rem;font-weight:800}.curriculum>h3,.practice-studio>h3{color:#243f3b;margin:9px 0;font-size:1.45rem}.curriculum>p,.practice-studio>p,.world-intro{color:#63766c;font-size:.8rem;line-height:1.65}.curriculum-levels{grid-template-columns:repeat(3,1fr);gap:7px;margin:22px 0;display:grid}.home-screen .curriculum-levels button{min-height:38px;box-shadow:none;color:#526960;background:#fff;border:1px solid #d6e2db;border-radius:12px;margin:0;padding:8px;font-size:.72rem}.home-screen .curriculum-levels button[aria-pressed=true]{color:#fff;background:#236c62;border-color:#236c62}.curriculum-heading{justify-content:space-between;align-items:center;gap:8px;margin:20px 0 12px;display:flex}.curriculum-heading h4{margin:0;font-size:.95rem}.curriculum-heading>span{color:#748077;font-size:.7rem}.academic-list{gap:12px;padding:0;list-style:none;display:grid}.academic-card{background:#fff;border:1px solid #dce5df;border-radius:16px;overflow:hidden}.home-screen .academic-open{color:#29463e;width:100%;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:0;align-items:flex-start;gap:12px;margin:0;padding:16px;display:flex}.academic-number{background:#edf4ed;border-radius:10px;padding:10px 7px;font-size:.75rem}.academic-copy{flex:1;gap:5px;display:grid}.academic-copy small{letter-spacing:.1em;color:#728178;font-size:.55rem}.academic-copy strong{font-size:.88rem}.academic-copy>span{color:#67766e;font-size:.7rem;font-weight:400;line-height:1.5}.academic-status{color:#547467;border-top:1px solid #eff3ef;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:10px 16px;font-size:.62rem;display:flex}.home-screen .academic-retry{margin:0 16px 12px;font-size:.65rem}.curriculum-empty,.world-detail{background:#fffdf5;border:1px solid #dfe6d9;border-radius:18px;padding:22px}.curriculum-empty p,.world-detail p{font-size:.8rem;line-height:1.6}.studio-companion{background:#e5eee5;border-radius:22px;align-items:center;gap:18px;margin:20px 0;padding:20px;display:flex}.studio-companion>.companion-portrait{flex-shrink:0;width:86px}.studio-companion h4{margin:6px 0;font-size:1.35rem}.studio-companion small{letter-spacing:.1em;color:#527163;font-size:.55rem}.home-screen .studio-companion button{box-shadow:none;color:#246b61;background:0 0;border:0;border-radius:0;margin:0;padding:5px 0;font-size:.7rem;text-decoration:underline}.studio-faces{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.studio-faces>div{text-align:center;color:#64796e;min-width:0;font-size:.55rem}.studio-faces .companion-portrait{border-width:2px;margin-bottom:6px}.studio-faces .selected .companion-portrait{border-color:#28786b}.practice-studio .studio-notice{background:#fff5dc;border-radius:12px;margin:22px 0 14px;padding:13px;font-size:.7rem}.studio-tools{gap:10px;display:grid}.studio-tools article{background:#fff;border:1px solid #dfe7df;border-radius:16px;gap:14px;padding:17px;display:flex}.studio-tool-icon{color:#3f796c;background:#edf4ee;border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.studio-tools h4{margin:0 0 5px;font-size:.85rem}.studio-tools p{color:#6a7b70;margin:0 0 8px;font-size:.7rem;line-height:1.5}.studio-tools small{color:#88764e;font-size:.58rem}.world-intro{text-align:center}.academic-content .self-map-intro{box-shadow:none;background:#fff;border:1px solid #dce5df;border-radius:16px;padding:18px}.academic-content .self-map-trail{max-width:none;margin:18px 0;padding:0}.academic-content .self-map-route,.academic-content .map-traveler{display:none}.academic-content .self-map-trail ol{gap:12px;margin:0;padding:0;display:grid}.academic-content .self-map-trail .self-map-stop{text-align:left;background:#fff;border:1px solid #dce5df;border-radius:16px;width:100%;min-height:0;margin:0;padding:16px 16px 16px 76px;position:relative}.academic-content .self-map-stop:before,.academic-content .self-map-stop:after{display:none}.academic-content .self-map-stop .self-map-node{width:46px;height:46px;box-shadow:none;background:#eef5ee;border:1px solid #d3e1d6;border-radius:12px;margin:0;font-size:1.15rem;position:absolute;top:17px;left:14px}.academic-content .self-map-node small{display:none}.academic-content .self-map-stop h4{margin:0 0 6px;font-size:.85rem}.academic-content .self-map-stop p{margin:0;font-size:.7rem;line-height:1.5}.home-screen .practice-island.place-island,.home-screen .practice-island.place-island:hover:not(:disabled){aspect-ratio:1;background-image:url(/art/adventure/place-islands-clean.png);background-repeat:no-repeat;background-size:200% 400%;border-radius:18px;min-height:0;padding:0}.home-screen .practice-island.place-island{margin-top:44px;position:relative;overflow:visible}.home-screen .practice-island.place-island>.island-place-sign{color:#14534d;white-space:nowrap;background:linear-gradient(#fffbee,#f7edcc);border:1.5px solid #d6b55d;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:42px;padding:8px 18px;font-size:clamp(.85rem,3.8vw,1.05rem);font-weight:800;line-height:1.2;display:flex;position:absolute;top:-32px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #fff,0 4px 7px #366b5926}.island-place-sign>svg{flex-shrink:0;width:25px;height:25px}dialog.subscription-dialog{color:#103e40;background:#fcf5e9;border:1px solid #fffaf0;border-radius:28px;width:min(460px,100vw - 24px);padding:24px 20px}.subscription-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17272c99}.subscription-heading{padding-top:30px;display:block;position:relative}.subscription-heading .calendar-eyebrow{color:#c96642;letter-spacing:.12em;font-size:.65rem;font-weight:800;position:absolute;top:0;left:2px}.subscription-heading .calendar-close{box-shadow:none;color:#22474a;background:0 0;border:0;font-size:2rem;font-weight:300;position:absolute;top:-10px;right:-6px}.home-screen .subscription-heading h2{text-align:center;color:#103e40;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,2.75rem);font-weight:700}.subscription-dialog .subscription-intro{color:#4b665b;text-align:center;justify-content:center;align-items:center;gap:14px;margin:8px 0 22px;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic;display:flex}.subscription-intro:before,.subscription-intro:after{content:"";background:#c96c48;flex-shrink:0;width:28px;height:1px}.subscription-dialog .billing-notice{color:#24484e;background:#e5eaf3;border-radius:16px;align-items:center;gap:10px;margin:18px 0;padding:12px 15px;font-size:.78rem;display:flex}.billing-notice>span{font-size:1.25rem}.subscription-plans{gap:16px}.subscription-card{background:#fcf6ec;border:1px solid #fffef8;border-radius:21px;padding:20px;box-shadow:0 5px 10px #514a3424,inset 0 1px #fff}.subscription-card.plan-plus{background:#edf1e4}.subscription-card.plan-student{background:#edf5e9}.subscription-dialog .plan-name{color:#103e40;flex-wrap:wrap;gap:10px}.subscription-dialog .plan-name>span:first-child{color:#cf6b42;font-size:1.55rem}.subscription-dialog .plan-plus .plan-name>span:first-child{color:#14574e}.subscription-dialog .plan-name h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.subscription-dialog .plan-name .plan-badge{color:#aa512c;letter-spacing:.02em;background:#f9e0c8;border-radius:999px;margin-left:auto;padding:6px 10px;font:700 .55rem system-ui,sans-serif}.subscription-card .plan-price{color:#103e40;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:2.65rem;line-height:1.15}.subscription-dialog .plan-price span{color:#5c6259;font-size:.85rem}.subscription-dialog .subscription-card>p:not(.plan-price){color:#52685a;margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:.95rem}.subscription-dialog .subscription-card>button{color:#b96543;min-height:40px;box-shadow:none;background:#fbede1;border:1px solid #c97550;border-radius:999px;margin:7px 0 0;padding:9px 12px;font-size:.85rem}.subscription-dialog .subscription-card>button:disabled{opacity:1;color:#b97555;cursor:default}.subscription-dialog .plan-student>button{color:#fff;background:#0f756a;border-color:#147268}.subscription-dialog .plan-student>button:hover:not(:disabled){background:#095e55}.subscription-dialog .subscription-terms{text-align:center;color:#536457;border-top:1px solid #e5dac8;margin:22px 0 0;padding-top:15px;font:italic .8rem/1.6 Georgia,Times New Roman,serif}@media (width<=350px){dialog.subscription-dialog{padding:20px 14px}.subscription-card{padding:16px}.subscription-dialog .plan-name h3{font-size:1.4rem}}dialog.subscription-dialog:has(.subscription-plans){max-height:calc(100dvh - 20px);padding:16px}.subscription-dialog:has(.subscription-plans) .subscription-heading{padding-top:20px}.home-screen .subscription-dialog:has(.subscription-plans) .subscription-heading h2{margin:6px 0 12px;font-size:1.8rem}.subscription-dialog:has(.subscription-plans) .calendar-eyebrow{font-size:.55rem}.subscription-dialog:has(.subscription-plans) .calendar-close{width:32px;height:32px;min-height:32px;font-size:1.6rem}.subscription-dialog:has(.subscription-plans) .subscription-plans{gap:10px}.subscription-dialog:has(.subscription-plans) .subscription-card{border-radius:17px;padding:12px 15px}.subscription-dialog:has(.subscription-plans) .plan-name h3{font-size:1.25rem}.subscription-dialog:has(.subscription-plans) .plan-name>span:first-child{font-size:1.2rem}.subscription-dialog:has(.subscription-plans) .plan-price{margin:5px 0 0;font-size:2rem}.subscription-dialog:has(.subscription-plans) .plan-price span{font-size:.7rem}.subscription-dialog:has(.subscription-plans) .subscription-card>p:not(.plan-price){margin:5px 0;font-size:.76rem;line-height:1.35}.subscription-dialog:has(.subscription-plans) .subscription-card>button{min-height:36px;margin-top:5px;padding:7px 10px;font-size:.75rem}.subscription-dialog:has(.subscription-plans) .subscription-terms{margin-top:12px;padding-top:10px;font-size:.65rem}@media (height<=700px){dialog.subscription-dialog:has(.subscription-plans){border-radius:20px;padding:12px}.home-screen .subscription-dialog:has(.subscription-plans) .subscription-heading h2{margin-bottom:8px;font-size:1.5rem}.subscription-dialog:has(.subscription-plans) .subscription-plans{gap:7px}.subscription-dialog:has(.subscription-plans) .subscription-card{padding:8px 12px}.subscription-dialog:has(.subscription-plans) .plan-price{margin-top:2px;font-size:1.65rem}.subscription-dialog:has(.subscription-plans) .subscription-terms{margin-top:7px;padding-top:6px}}.subscription-dialog .calendar-close:focus:not(:focus-visible),dialog.subscription-dialog:focus{outline:none}.home-screen .place-island-market>.island-place-sign{top:-3px}.restaurant-adventure{color:#244843;max-width:430px;margin:0 auto}.restaurant-top{justify-content:space-between;align-items:center;display:flex}.home-screen .restaurant-back{color:#42685e;box-shadow:none;background:0 0;border:0;margin:0;padding:8px 0;font-size:.75rem}.restaurant-xp{color:#6f643e;background:#fff4cf;border-radius:999px;padding:7px 12px;font-size:.75rem;font-weight:800}.restaurant-adventure>h3{margin:8px 0 14px;font-size:1.6rem}.restaurant-hero{background:linear-gradient(135deg,#b5eceb,#e3f4df);border-radius:18px;height:132px;margin-bottom:18px;position:relative;overflow:hidden}.restaurant-hero>span{background:url(/art/adventure/place-islands-clean.png) 0 0/200% 400% no-repeat;width:205px;height:205px;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.restaurant-adventure fieldset{border:0;min-width:0;margin:0 0 18px;padding:0}.restaurant-adventure legend{margin-bottom:10px;font-size:.85rem;font-weight:800}.restaurant-roles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.home-screen .restaurant-roles button{text-align:left;color:#294b43;box-shadow:none;background:#fffdf7;border:2px solid #d4e3da;border-radius:15px;flex-direction:column;gap:7px;min-width:0;margin:0;padding:13px;display:flex}.restaurant-roles button strong{font-size:.9rem}.restaurant-roles button span{font-size:.7rem;font-weight:400;line-height:1.5}.restaurant-modes>div{background:#dcece2;border-radius:12px;gap:4px;padding:4px;display:flex}.home-screen .restaurant-modes button{box-shadow:none;color:#436a60;background:0 0;border:0;border-radius:9px;flex:1;margin:0;padding:9px;font-size:.8rem}.home-screen .restaurant-modes button[aria-pressed=true]{color:#185d53;background:#fffdf6;box-shadow:0 2px 4px #305b4815}.restaurant-modes p,.restaurant-note{color:#627a6c;margin:8px 0;font-size:.65rem;line-height:1.5}.restaurant-mission{background:#fff8e8;border:1px solid #e1dfc6;border-radius:14px;padding:13px 15px}.restaurant-mission small{letter-spacing:.1em;color:#847043;font-size:.57rem;font-weight:800}.restaurant-mission p{margin:7px 0 0;font-size:.8rem;line-height:1.5}.home-screen .restaurant-start{color:#fff;width:100%;box-shadow:none;background:#155f54;border:1px solid #155f54;border-radius:13px;min-height:44px;margin:12px 0 0;padding:12px;font-size:.85rem}.home-screen .restaurant-start:hover:not(:disabled){background:#104e44}.restaurant-session-label{gap:8px;display:flex}.restaurant-session-label span{background:#e4f1e7;border-radius:999px;padding:5px 10px;font-size:.7rem}.restaurant-simulation{background:#fffdf7;border-radius:16px;padding:16px}.restaurant-simulation h4{font-size:.95rem}.restaurant-simulation p{font-size:.78rem;line-height:1.6}.restaurant-prompt{background:#e5f3ed;border-radius:12px;padding:12px}.restaurant-support{color:#587267}.restaurant-support strong{display:block}.restaurant-simulation label{margin-bottom:8px;font-size:.75rem;display:block}.restaurant-simulation textarea{resize:vertical;color:#244843;width:100%;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #b9d0c5;border-radius:10px;padding:10px;font-size:1rem}.restaurant-preview{justify-content:space-between;gap:8px;margin:14px 0;display:flex}.restaurant-preview button{font-size:.7rem}.restaurant-turns{overflow-wrap:anywhere;padding-left:22px;font-size:.8rem}.restaurant-turns li{padding:8px 0}.restaurant-screen>.home-topbar{display:none}.home-screen.restaurant-screen .home-content{padding:max(14px, env(safe-area-inset-top)) 18px 24px;background:#fcf7ef}.restaurant-brand{text-align:center;color:#103f40;margin:5px 0 22px;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:700}.restaurant-top{gap:12px;margin:0 0 16px}.restaurant-top h3{color:#103f40;flex:1;margin:0;font-size:1.35rem}.home-screen .restaurant-top .restaurant-back{background:#f7f1e8;border:1px solid #e9e3d9;border-radius:13px;place-items:center;width:36px;height:34px;padding:0;font-size:2rem;line-height:1;display:grid}.restaurant-xp{color:#15544c;white-space:nowrap;background:#d8eee4;padding:7px 12px}.restaurant-hero{aspect-ratio:2.8;background:#e9e6cc url(/art/adventure/restaurant-terrace.png) 50%/cover no-repeat;border-radius:0 0 18px 18px;height:auto;margin:0 -18px 24px}.restaurant-adventure legend{color:#103f40;margin-bottom:16px;font-size:1rem}.restaurant-adventure fieldset{margin-bottom:24px}.home-screen .restaurant-roles button{background:#fcf7ef;border-color:#eee8df;flex-direction:row;align-items:center;gap:8px;padding:10px 8px}.home-screen .restaurant-roles button[aria-pressed=true]{background:#eaf5ec;border-color:#198e88}.restaurant-roles .companion-portrait{aspect-ratio:auto;width:48px;height:68px;box-shadow:none;background-size:300% 200%;border:0;border-radius:12px;flex-shrink:0}.restaurant-role-copy{gap:5px;display:grid}.restaurant-modes>div{background:0 0;border:1px solid #d8d6ca;border-radius:15px;padding:3px}.home-screen .restaurant-modes button{color:#16494a;border-radius:12px;font-weight:800}.home-screen .restaurant-modes button[aria-pressed=true]{box-shadow:none;background:#cfedda}.restaurant-modes p{text-align:center;margin-top:9px;font-size:.72rem}.restaurant-mission{background:0 0;border:0;margin-bottom:18px;padding:0}.restaurant-mission small{color:#103f40;letter-spacing:0;font-size:1rem}.restaurant-mission p{margin-top:7px;font-size:.82rem}.home-screen .restaurant-start{background:#006459;border-color:#006459;border-radius:18px;padding:13px;font-size:1rem}@media (width<=360px){.restaurant-roles .companion-portrait{width:36px;height:56px}.restaurant-roles .restaurant-role-copy>span{font-size:.62rem}.restaurant-top h3{font-size:1.15rem}}.home-screen.restaurant-screen{grid-template-rows:minmax(0,1fr) auto}.home-screen .restaurant-roles button{flex-direction:column;align-items:flex-start;gap:12px;height:100%;padding:14px}.restaurant-roles .companion-portrait{aspect-ratio:1;border-radius:15px;width:62px;height:62px}.restaurant-role-copy{gap:8px;width:100%}.restaurant-roles .restaurant-role-copy strong{font-size:.95rem}.restaurant-roles .restaurant-role-copy>span{font-size:.75rem;line-height:1.55}.restaurant-roles{align-items:stretch;gap:12px}.restaurant-adventure .restaurant-roles{grid-template-columns:1fr}.home-screen .restaurant-roles button{flex-direction:row;align-items:center;gap:16px}.restaurant-roles .companion-portrait{width:68px;height:68px}.restaurant-role-copy{flex:1;min-width:0}.home-screen.restaurant-screen .home-content:has(.restaurant-entry){padding:max(14px, env(safe-area-inset-top)) 12px 16px;background:#fbf8f2;overflow-y:auto;container-type:inline-size}.restaurant-entry{box-sizing:border-box;color:#073f40;flex-direction:column;gap:0;width:100%;min-height:100%;display:flex}.restaurant-entry>*{flex-shrink:0}.restaurant-entry .restaurant-brand{color:#073f40;margin:0 0 32px;font-size:16px;line-height:22px}.restaurant-entry .restaurant-top{gap:14px;min-height:34px;margin:0 2px 20px}.restaurant-entry .restaurant-top h3{letter-spacing:-.4px;font-size:22px;font-weight:800;line-height:1.2}.home-screen .restaurant-entry .restaurant-top .restaurant-back{color:#073f40;background:#f6f2ea;border:1px solid #e5dfd5;border-radius:11px;flex-shrink:0;width:34px;height:34px;font-size:32px}.restaurant-entry .restaurant-xp{color:#075151;background:#d9eee4;padding:6px 14px;font-size:14px;font-weight:700;line-height:20px}.restaurant-entry .restaurant-hero{aspect-ratio:812/484;background:#f2e8d7;border-radius:22px;width:100%;height:auto;margin:0 0 26px;position:relative;overflow:hidden}.restaurant-entry .restaurant-reference-art{width:100%;height:100%;display:block;overflow:hidden}.restaurant-entry fieldset{border:0;min-width:0;margin:0;padding:0}.restaurant-entry legend{letter-spacing:-.35px;color:#073f40;margin-bottom:18px;padding:0 3px;font-size:21px;font-weight:800;line-height:1.35}.restaurant-entry .restaurant-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 2px 26px;display:grid}.home-screen .restaurant-entry .restaurant-roles button{color:#073f40;min-width:0;min-height:90px;box-shadow:none;background:#fbf8f2;border:1.5px solid #e4e0d8;border-radius:15px;flex-direction:row;align-items:center;gap:10px;margin:0;padding:10px;display:flex}.home-screen .restaurant-entry .restaurant-roles button[aria-pressed=true]{background:#eaf5ef;border-color:#137b78}.restaurant-role-portrait{background-image:url(/art/adventure/restaurant-reference.jpeg);background-repeat:no-repeat;background-size:630.37% 1368.15%;border-radius:14px;flex:0 0 68px;width:68px;height:68px;display:block}.restaurant-role-portrait.portrait-customer{background-position:7.263% 50.701%}.restaurant-role-portrait.portrait-waiter{background-position:63.966% 50.701%}.restaurant-entry .restaurant-role-copy{gap:6px;width:auto;min-width:0;display:grid}.restaurant-entry .restaurant-role-copy strong{font-size:19px;font-weight:800;line-height:1.2}.restaurant-entry .restaurant-role-copy>span{color:#4a5d57;font-size:14px;line-height:1.35}.restaurant-entry .restaurant-modes>div{background:0 0;border:1px solid #dedbd3;border-radius:20px;padding:3px;display:flex}.home-screen .restaurant-entry .restaurant-modes button{color:#073f40;min-height:38px;box-shadow:none;border-radius:16px;margin:0;padding:6px 12px;font-size:19px;font-weight:750;line-height:1.3}.home-screen .restaurant-entry .restaurant-modes button[aria-pressed=true]{background:#d0eddd}.restaurant-entry .restaurant-modes p{color:#69736a;text-align:center;margin:7px 0 0;font-size:13px;line-height:1.5}.restaurant-entry .restaurant-mission{background:#e1f1e8;border:0;border-radius:16px;align-items:center;gap:16px;margin:0 2px 24px;padding:13px 18px;display:flex}.restaurant-entry .restaurant-mission-icon{box-sizing:content-box;color:#1b7471;border-right:1px solid #aacdc1;flex:0 0 32px;width:32px;height:44px;padding-right:14px}.restaurant-entry .restaurant-mission small{letter-spacing:-.3px;color:#073f40;font-size:21px;font-weight:800;line-height:1.3}.restaurant-entry .restaurant-mission p{color:#37554c;margin:4px 0 0;font-size:15px;line-height:1.4}.home-screen .restaurant-entry>.restaurant-start{color:#fff;width:calc(100% - 4px);min-height:50px;box-shadow:none;background:#006359;border:0;border-radius:20px;margin:auto 2px 0;padding:12px;font-size:22px;font-weight:750;line-height:1.3}.home-screen .restaurant-entry>.restaurant-start:hover{background:#00564e}.restaurant-entry>.restaurant-note{text-align:center;color:#6b776f;margin:8px 4px 0;font-size:10px;line-height:1.4}.home-screen.restaurant-screen .bottom-navigation{padding:8px 5px max(8px, env(safe-area-inset-bottom));background:#fbf8f2;border-top:1px solid #dcd5c7}.home-screen.restaurant-screen .bottom-navigation button{color:#596d63;border-radius:18px;gap:4px;min-height:54px;padding:5px 3px;font-size:11px}.home-screen.restaurant-screen .bottom-navigation button svg{width:25px;height:25px}.home-screen.restaurant-screen .bottom-navigation button.active{color:#075d5b;background:#d8eee4}@container (width<=350px){.restaurant-entry .restaurant-role-portrait{border-radius:11px;flex-basis:50px;width:50px;height:50px}.home-screen .restaurant-entry .restaurant-roles button{gap:7px;padding:9px 7px}.restaurant-entry .restaurant-role-copy strong{font-size:16px}.restaurant-entry .restaurant-role-copy>span{font-size:12px}.restaurant-entry legend{font-size:19px}}.restaurant-entry{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.restaurant-entry :is(h3,legend,button,strong,span,p,small){font-family:inherit}.restaurant-entry .restaurant-brand{font-family:Georgia,Times New Roman,serif}.restaurant-entry .restaurant-role-copy>span{letter-spacing:0;white-space:nowrap;font-size:13px}@container (width<=350px){.restaurant-entry .restaurant-role-copy>span{white-space:normal;font-size:12px}}.home-screen.restaurant-screen .home-content:has(.restaurant-entry){padding:10px 12px;overflow-y:auto;container-type:size}.restaurant-entry{grid-template-rows:auto minmax(70px,1fr) auto auto auto auto auto;gap:clamp(6px,1.4cqh,14px);height:100%;min-height:0;display:grid}.restaurant-entry .restaurant-top{min-height:30px;margin:0 2px}.restaurant-entry .restaurant-top h3{font-size:21px}.restaurant-entry .restaurant-hero{aspect-ratio:auto;height:100%;min-height:70px;margin:0}.restaurant-entry .restaurant-roles{margin:0 2px}.restaurant-entry legend{margin-bottom:clamp(7px,1.3cqh,14px);font-size:clamp(17px,3.4cqh,21px)}.home-screen .restaurant-entry .restaurant-roles button{gap:9px;min-height:66px;padding:8px}.restaurant-entry .restaurant-role-portrait{flex-basis:clamp(48px,10cqh,68px);width:clamp(48px,10cqh,68px);height:clamp(48px,10cqh,68px)}.restaurant-entry .restaurant-role-copy strong{font-size:clamp(16px,3.2cqh,19px)}.restaurant-entry .restaurant-role-copy>span{font-size:12px}.restaurant-entry .restaurant-modes{margin:0 3px}.restaurant-entry .restaurant-modes legend{margin-bottom:clamp(7px,1.2cqh,12px)}.home-screen .restaurant-entry .restaurant-modes button{min-height:32px;padding:5px 10px;font-size:clamp(16px,3.2cqh,19px)}.restaurant-entry .restaurant-modes p{margin:5px 0 0;font-size:12px;line-height:1.35}.restaurant-entry .restaurant-mission{gap:12px;margin:0 2px;padding:clamp(9px,1.6cqh,14px) 14px}.restaurant-entry .restaurant-mission small{font-size:clamp(17px,3.5cqh,21px)}.restaurant-entry .restaurant-mission p{font-size:clamp(12px,2.5cqh,15px);line-height:1.35}.restaurant-entry .restaurant-mission-icon{height:36px}.home-screen .restaurant-entry>.restaurant-start{min-height:44px;margin:0 2px;padding:9px;font-size:clamp(19px,3.8cqh,22px)}.restaurant-entry>.restaurant-note{margin:0 3px;font-size:9px;line-height:1.3}@container (height<=480px){.restaurant-entry{gap:5px}.restaurant-entry .restaurant-roles button{min-height:54px;padding:5px 7px}.restaurant-entry .restaurant-role-portrait{flex-basis:42px;width:42px;height:42px}.restaurant-entry .restaurant-mission{padding:8px 12px}}@media (width<=600px){.home-screen.restaurant-screen .home-content{padding-top:calc(env(safe-area-inset-top,0px) + 10px);box-sizing:border-box}.home-screen.restaurant-screen .home-content:has(.restaurant-entry){padding-top:calc(env(safe-area-inset-top,0px) + 10px)}.restaurant-entry{flex-direction:column;justify-content:space-between;gap:clamp(6px,1.4cqh,14px);height:100%;min-height:0;display:flex}.restaurant-entry .restaurant-hero{flex:180px;height:auto;min-height:60px;max-height:180px;margin:0}.restaurant-entry .restaurant-reference-art{width:100%;height:100%;position:absolute;inset:0}}@media (hover:none){.home-screen.restaurant-screen .bottom-navigation button:not(.active):hover{color:#596d63;background:0 0}}.visual-demo-welcome{max-width:560px;padding:max(40px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));color:#093e40;margin:auto}.visual-demo-welcome h1{font-size:clamp(30px,7vw,46px);line-height:1.15}.visual-demo-welcome p{line-height:1.6}.visual-demo-welcome .language-options{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.visual-demo-welcome button{color:#093e40;font:inherit;cursor:pointer;background:#faf7f1;border:1px solid #bed9cc;border-radius:16px;padding:14px 20px}.visual-demo-welcome button[aria-pressed=true]{background:#d5eee2;border-color:#087369}.visual-demo-welcome .visual-demo-enter{color:#fff;background:#00675f;width:100%;font-weight:700}.visual-demo-dialog{color:#093e40;z-index:100;background:#faf7f1;border:1px solid #d6ded4;border-radius:24px;width:min(440px,100vw - 40px);max-height:calc(100dvh - 60px);margin:auto;padding:24px;position:fixed;inset:0;overflow:auto;box-shadow:0 0 0 100vmax #092d2c80}.visual-demo-dialog p{line-height:1.6}.visual-demo-dialog button{color:#fff;font:inherit;cursor:pointer;background:#00675f;border:0;border-radius:14px;padding:12px 20px}
