@font-face{font-family:Balsamiq Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./balsamiq-sans-400-cyrillic-Cj7SqnQl.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Balsamiq Sans;font-style:normal;font-weight:400;font-display:swap;src:url(./balsamiq-sans-400-latin-rXWjTc-p.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Balsamiq Sans;font-style:normal;font-weight:700;font-display:swap;src:url(./balsamiq-sans-700-cyrillic-BEwck_UW.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Balsamiq Sans;font-style:normal;font-weight:700;font-display:swap;src:url(./balsamiq-sans-700-latin-BFzNRsIb.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-weight:400;font-display:swap;src:url(./comic-neue-400-latin-CeWB7rrj.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;font-style:normal;font-weight:700;font-display:swap;src:url(./comic-neue-700-latin-BK7dT9dQ.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,:root[data-theme=minimal]{color-scheme:light;--font: "Balsamiq Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-learn: "Comic Neue", "Balsamiq Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--bg: #fbfbfd;--ink: #14121f;--ink-soft: #86839a;--accent: #14121f;--accent-soft: rgba(20, 18, 31, .06);--accent-fg: #ffffff;--btn-fill: #14121f;--violet: #6f6ae0;--blue: #3f96d0;--amber: #e59a2b;--mint: #46b184;--coral: #e2705b;--surface: rgba(251, 251, 253, .86);--surface-solid: #ffffff;--hairline: rgba(20, 18, 31, .1);--track: rgba(20, 18, 31, .08);--radius: 14px;--radius-btn: 13px;--border-w: 1px;--border-col: rgba(20, 18, 31, .12);--shadow-card: none;--shadow-btn: none;--shadow-btn-active: none;--press-y: 0px;--display-w: 700;--tap: 48px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.meter{flex:1}.meter-row{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:var(--ink-soft);margin-bottom:5px}.meter-value{font-variant-numeric:tabular-nums}.bar{height:6px;border-radius:999px;background:var(--track);overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;transition:width .22s cubic-bezier(.22,1,.36,1)}.action{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px;margin-top:12px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);transition:transform .14s ease-out,box-shadow .14s ease-out}.action:active{transform:translateY(var(--press-y)) scale(.995);box-shadow:var(--shadow-btn-active)}.action-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:20px;color:#fff;flex:none}.action-body{min-width:0;flex:1}.action-kicker{font-size:9px;font-weight:800;letter-spacing:1.1px}.action-title{font-size:16px;font-weight:700;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-subtitle{font-size:11px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-chevron{color:var(--ink-soft);font-size:18px}.section-title{margin:26px 0 2px}.section-title h2{font-size:13px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;margin:0;color:var(--ink)}.section-title p{font-size:12px;color:var(--ink-soft);margin:3px 0 0;line-height:1.35}.empty-note{margin-top:10px;padding:14px 16px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);font-size:13px;line-height:1.45;color:var(--ink-soft)}.dialogue{display:flex;flex-direction:column;gap:14px;margin-top:14px;text-align:left}.dialogue-line{padding-left:10px;border-left:2px solid var(--accent-soft)}.dialogue-speaker{display:block;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--accent)}.dialogue-text{font-family:var(--font-learn);font-size:17px;font-weight:600;line-height:1.35;margin-top:2px}.dialogue-translation{font-size:13px;color:var(--ink-soft);line-height:1.35;margin-top:3px}.speak{min-width:40px;min-height:40px;border-radius:50%;background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--blue);font-size:17px}.speak.small{min-width:28px;min-height:28px;font-size:13px;margin-left:6px;vertical-align:middle}.kinds{margin-top:10px;background:var(--surface-solid);border-radius:var(--radius);overflow:hidden;border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.kind{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:60px;padding:10px 14px;border-bottom:1px solid var(--hairline)}.kind:last-child{border-bottom:none}.kind:active:not(:disabled){background:var(--accent-soft)}.kind:disabled{opacity:.4}.kind-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:17px;flex:none}.kind-title{display:block;font-size:15px;font-weight:650}.kind-subtitle{display:block;font-size:11px;color:var(--ink-soft)}.kind-count{font-size:13px;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}.chapter{margin-top:26px}.chapter.collapsed{margin-top:0;border-bottom:1px solid var(--hairline)}.chapter-heading{margin:0;font:inherit}.chapter-head{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit}.chapter.collapsed .chapter-head{padding:13px 0}.chapter.collapsed .chapter-head:active{background:var(--accent-soft)}.chapter-number{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--accent)}.chapter.collapsed .chapter-number{color:var(--ink-soft)}.chapter-title{font-size:16px;font-weight:var(--display-w);margin:0}.chapter.collapsed .chapter-title{font-size:14px;font-weight:600}.chapter-count{margin-left:auto;font-size:11px;font-weight:700;color:var(--ink-soft);font-variant-numeric:tabular-nums}.chapter-count.done{color:var(--mint)}.chapter-caret{font-size:12px;color:var(--ink-soft);width:10px;text-align:center}.chapter-subtitle{font-size:12px;color:var(--ink-soft);margin:3px 0 0}.chapter-rule{height:1px;background:var(--hairline);margin-top:10px}.chapter-cando{margin:6px 0 0;padding-left:18px}.chapter-cando li{font-size:12.5px;color:var(--ink-soft);line-height:1.45}.lesson{display:flex;align-items:stretch;gap:12px;width:100%;text-align:left;border-radius:12px}.lesson:active:not(:disabled){background:var(--accent-soft)}.lesson:disabled{opacity:.55}.rail{position:relative;width:30px;flex:none;display:grid;place-items:center}.rail:before,.rail:after{content:"";position:absolute;left:50%;width:2px;transform:translate(-50%);background:var(--track)}.rail:before{top:0;height:50%}.rail:after{bottom:0;height:50%}.rail.first:before,.rail.last:after{background:transparent}.rail.done:before,.rail.done:after{background:color-mix(in srgb,var(--accent) 45%,transparent)}.node{position:relative;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff}.node.current{width:30px;height:30px;box-shadow:0 3px 10px #ffab3880}.lesson-body{flex:1;min-width:0;padding:11px 0}.lesson-title{font-size:15px;font-weight:650;margin:0}.lesson-meta{font-size:11px;color:var(--ink-soft);margin:2px 0 0}.badge-now{align-self:center;font-size:9px;font-weight:800;letter-spacing:.8px;color:#fff;background:var(--amber);padding:4px 8px;border-radius:999px}.lesson.checkpoint .lesson-title{font-weight:750}.lesson.checkpoint .lesson-meta{color:var(--accent)}.primary{position:relative;overflow:hidden;width:100%;min-height:var(--tap);border-radius:var(--radius-btn);color:var(--accent-fg);font-weight:700;font-size:16px;background:var(--btn-fill);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-btn);transition:transform .14s ease-out,box-shadow .14s ease-out}.primary:after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skew(-18deg)}.primary:active{transform:translateY(var(--press-y)) scale(.99);box-shadow:var(--shadow-btn-active)}.primary:active:after{animation:sheen .62s cubic-bezier(.22,1,.36,1)}.primary:disabled{opacity:.45;box-shadow:none}.primary:disabled:after{content:none}.primary.mint{background:var(--mint)}@keyframes sheen{0%{left:-60%}to{left:115%}}@media (prefers-reduced-motion: reduce){.primary:after{content:none}}.secondary{width:100%;min-height:var(--tap);border-radius:var(--radius-btn);font-weight:650;background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);transition:transform .14s ease-out,box-shadow .14s ease-out}.secondary:active{transform:translateY(var(--press-y));box-shadow:var(--shadow-btn-active)}.secondary:disabled{opacity:.45;box-shadow:none}.choices{display:flex;flex-direction:column;gap:10px}.choice{font-family:var(--font-learn);position:relative;width:100%;min-height:var(--tap);padding:0 40px;border-radius:var(--radius-btn);font-weight:650;font-size:16px;background:var(--surface-solid);border:var(--border-w) solid var(--border-col);transition:border-color .16s ease-out,background-color .16s ease-out}.choice.selected{background:var(--accent-soft);border-color:var(--accent);font-weight:700}.choice.selected:after{content:"✓";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:800;color:var(--accent)}.choice:disabled{opacity:.5}.pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pill{min-width:60px;min-height:var(--tap);padding:0 14px;border-radius:var(--radius-btn);font-weight:800;background:var(--surface-solid);border:var(--border-w) solid var(--border-col)}.pill.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.answer-field{font-family:var(--font-learn);width:100%;min-height:var(--tap);margin-top:14px;padding:12px 14px;border-radius:var(--radius-btn);border:var(--border-w) solid var(--border-col);background:var(--surface-solid);font-size:17px}.answer-field:focus{outline:none;border-color:var(--accent)}.answer-field:disabled{opacity:.6}.tokens{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.token{font-family:var(--font-learn);min-height:40px;padding:0 13px;border-radius:999px;font-weight:650;background:var(--surface-solid);border:var(--border-w) solid var(--border-col)}.token.picked{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.token.used{opacity:.25}.token:disabled:not(.used){opacity:.5}.token-tray{min-height:54px;border-radius:var(--radius-btn);background:var(--accent-soft);padding:8px;margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}.token-tray .placeholder{color:var(--ink-soft);font-size:13px;padding:8px 4px}.token.picked{animation:token-pop .2s cubic-bezier(.22,1,.36,1)}@keyframes token-pop{0%{transform:scale(.84)}to{transform:none}}.feedback{margin-top:16px;padding-top:14px;border-top:1px solid var(--hairline);text-align:center}.feedback{animation:rise-in .24s cubic-bezier(.22,1,.36,1) both}@keyframes rise-in{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}.feedback-title{font-size:17px;font-weight:800}.feedback.correct .feedback-title{color:var(--mint)}.feedback.wrong .feedback-title{color:var(--amber)}.feedback-note{font-size:14px;color:var(--ink-soft);margin-top:6px;line-height:1.4}.feedback-answer{font-family:var(--font-learn);font-size:15px;margin-top:6px;font-weight:650}.feedback-diff{font-size:13px;margin-top:6px;color:var(--amber)}@media (prefers-reduced-motion: reduce){.feedback,.token.picked{animation:none}}.abilities{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.ability{font-size:12.5px;line-height:1.25;padding:7px 11px;border-radius:999px;border:var(--border-w) solid var(--border-col);background:var(--surface-solid)}.ability.done{color:var(--ink);border-color:color-mix(in srgb,var(--mint) 45%,transparent)}.ability.next{color:var(--ink-soft);opacity:.75}.abilities-note{font-size:11.5px;color:var(--ink-soft);margin:8px 0 0;line-height:1.35}.topic{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:10px;padding:13px 14px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);transition:transform .14s ease-out,box-shadow .14s ease-out}.topic:active:not(:disabled){transform:translateY(var(--press-y));box-shadow:var(--shadow-btn-active)}.topic:disabled{opacity:.45;box-shadow:none}.topic-body{flex:1;min-width:0}.topic-head{display:flex;align-items:baseline;gap:8px}.topic-title{font-size:15px;font-weight:700}.topic-score{margin-left:auto;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.topic-summary{display:block;font-size:12px;color:var(--ink-soft);line-height:1.35;margin-top:2px}.topic-bar{margin-top:8px}.topic-meta{display:block;font-size:11px;color:var(--ink-soft);margin-top:6px}.topic-go{color:var(--ink-soft);font-size:12px}.lang-card{--card: var(--accent);display:grid;gap:2px;justify-items:start;text-align:left;padding:16px 14px 14px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);transition:transform .14s ease-out,box-shadow .14s ease-out}.lang-card:active{transform:translateY(var(--press-y));box-shadow:var(--shadow-btn-active)}.lang-card.current{border-color:var(--card);background:color-mix(in srgb,var(--card) 8%,var(--surface-solid))}.lang-card.en{--card: #6f6ae0}.lang-card.es{--card: #c9502c}.lang-short{font-size:10px;font-weight:800;letter-spacing:1px;padding:3px 7px;border-radius:6px;color:#fff;background:var(--card)}.lang-greeting{font-size:22px;font-weight:var(--display-w);color:var(--card);margin-top:10px;line-height:1.1}.lang-name{font-size:16px;font-weight:700;margin-top:6px}.lang-native{font-size:12px;color:var(--ink-soft)}.lang-note{font-size:11px;color:var(--ink-soft);line-height:1.35;margin-top:8px}.lang-state{margin-top:10px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--card)}.alert-bar{display:flex;align-items:center;gap:10px;width:100%;padding:10px 18px;font-size:12px;font-weight:650;line-height:1.35;color:#fff;background:var(--coral)}.alert-bar button{margin-left:auto;flex:none;font:inherit;color:var(--coral);background:#fff;border:0;border-radius:999px;padding:5px 12px}.typewriter{font-family:var(--font-learn);display:inline-flex;align-items:baseline}.caret{display:inline-block;width:2px;height:1em;margin-left:3px;border-radius:1px;background:var(--accent);animation:caret-blink 1s steps(2,start) infinite}@keyframes caret-blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.caret{animation:none}}:root[data-theme=cartoon]{color-scheme:light;--font: "Balsamiq Sans", ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-learn: "Comic Neue", "Balsamiq Sans", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--bg: linear-gradient(170deg, #fbf4e6 0%, #f6ece0 100%);--ink: #241e1a;--ink-soft: #8b7f70;--accent: #f26a3d;--accent-soft: rgba(242, 106, 61, .16);--accent-fg: #ffffff;--btn-fill: #f26a3d;--violet: #7a5cf0;--blue: #2f9ad6;--amber: #f5a623;--mint: #37b978;--coral: #f26a3d;--surface: rgba(255, 253, 249, .9);--surface-solid: #fffdf9;--hairline: rgba(36, 30, 26, .14);--track: rgba(36, 30, 26, .12);--radius: 20px;--radius-btn: 16px;--border-w: 2px;--border-col: #241e1a;--shadow-card: 0 5px 0 var(--border-col);--shadow-btn: 0 5px 0 var(--border-col);--shadow-btn-active: 0 1px 0 var(--border-col);--press-y: 4px;--display-w: 700;--tap: 48px}:root[data-theme=night]{color-scheme:dark;--font: "Balsamiq Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-learn: "Comic Neue", "Balsamiq Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--bg: radial-gradient(120% 70% at 50% 0%, #251f57 0%, #16123a 45%, #0f0d25 100%);--ink: #efeefb;--ink-soft: #918cc4;--accent: #7b6ff0;--accent-soft: rgba(123, 111, 240, .22);--accent-fg: #ffffff;--btn-fill: linear-gradient(100deg, #7b6ff0 0%, #6f8ff2 45%, #58c8f0 100%);--violet: #9b90ff;--blue: #58c8f0;--amber: #ffbf5c;--mint: #57d6a3;--coral: #ff9b7d;--surface: rgba(255, 255, 255, .06);--surface-solid: rgba(255, 255, 255, .075);--hairline: rgba(255, 255, 255, .13);--track: rgba(255, 255, 255, .12);--radius: 22px;--radius-btn: 16px;--border-w: 1px;--border-col: rgba(255, 255, 255, .14);--shadow-card: 0 24px 60px rgba(0, 0, 0, .45);--shadow-btn: 0 14px 34px rgba(105, 95, 230, .45);--shadow-btn-active: 0 6px 16px rgba(105, 95, 230, .4);--press-y: 0px;--display-w: 700;--tap: 48px}:root[data-learning=es]{--violet: #d4623c;--coral: #d94f3d}:root[data-learning=es][data-theme=minimal]{--accent: #b8482a;--accent-soft: rgba(184, 72, 42, .09);--btn-fill: #b8482a;--amber: #d38b1c}:root[data-learning=es][data-theme=cartoon]{--bg: linear-gradient(170deg, #fdf1e2 0%, #f8e6d4 100%);--accent: #d2431f;--accent-soft: rgba(210, 67, 31, .16);--btn-fill: #d2431f;--violet: #c9552f}:root[data-learning=es][data-theme=night]{--bg: radial-gradient(120% 70% at 50% 0%, #4a1f22 0%, #2a1220 45%, #180d16 100%);--accent: #f0894a;--accent-soft: rgba(240, 137, 74, .22);--btn-fill: linear-gradient(100deg, #e2603a 0%, #f0894a 50%, #f5b13c 100%);--violet: #ff9d63;--ink-soft: #c49a92;--shadow-btn: 0 14px 34px rgba(226, 96, 58, .42);--shadow-btn-active: 0 6px 16px rgba(226, 96, 58, .38)}html,body,#root{height:100%}body{background-attachment:fixed;overflow:hidden;overscroll-behavior:none}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;--app-width: min(100vw, 560px);max-width:var(--app-width);margin:0 auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}input,textarea,.exercise-prompt,.exercise-explanation,.exercise-hint,.dialogue-text,.dialogue-translation,.feedback-answer,.spoken li{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 18px calc(28px + env(safe-area-inset-bottom))}.header{padding:14px 18px 12px;background:var(--surface);border-bottom:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-top{display:flex;align-items:center;gap:10px}.brand-kicker{font-size:10px;font-weight:800;letter-spacing:1.4px;color:var(--accent)}.brand-title{font-size:20px;font-weight:var(--display-w);margin:0}.header-stats{margin-left:auto;display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums}.stat{display:flex;align-items:center;gap:4px;font-weight:700;font-size:14px}.level-chip{min-height:36px;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:13px}.icon-button{min-width:var(--tap);min-height:var(--tap);display:grid;place-items:center;font-size:20px;color:var(--ink-soft)}.meters{display:flex;gap:16px;margin-top:12px}.link-button{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);color:var(--accent);font-weight:650;font-size:14px}.loading{flex:1;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px 24px}.loading-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:20px;font-weight:800;letter-spacing:.5px;color:var(--accent-fg);background:var(--btn-fill);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-btn)}.loading-title{font-size:17px;font-weight:var(--display-w);letter-spacing:-.01em}.loading-line{min-height:22px;font-size:14px;color:var(--ink-soft);text-align:center}.quiet{min-height:var(--tap);color:var(--ink-soft);font-size:14px}.center{display:flex;flex-direction:column;justify-content:center;gap:18px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 22px calc(32px + env(safe-area-inset-bottom));text-align:center}.center h1{font-size:26px;font-weight:var(--display-w);margin:0}.center p{color:var(--ink-soft);margin:0;line-height:1.45}.hero-mark{width:74px;height:74px;margin:0 auto;border-radius:50%;background:var(--amber);display:grid;place-items:center;font-size:32px;border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.stack{display:flex;flex-direction:column;gap:10px}.big-level{font-size:54px;font-weight:var(--display-w);color:var(--accent);line-height:1}.player{display:flex;flex-direction:column;flex:1;min-height:0}.player-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--hairline)}.player-title{flex:1;text-align:center;font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-count{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.card{background:var(--surface-solid);border-radius:var(--radius);padding:20px;border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.card{animation:card-in .28s cubic-bezier(.22,1,.36,1) both}@keyframes card-in{0%{opacity:0;transform:translate3d(30px,0,0)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.card{animation:none}}.exercise-kind{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--accent);text-align:center}.exercise-title{font-size:22px;font-weight:var(--display-w);text-align:center;margin:10px 0 0;letter-spacing:-.02em}.exercise-prompt{font-size:24px;font-weight:var(--display-w);text-align:center;margin:10px 0 0;letter-spacing:-.02em;line-height:1.22}.learn{font-family:var(--font-learn)}.exercise-explanation{font-size:16px;line-height:1.5;margin:12px 0 0}.exercise-hint{font-size:13px;color:var(--ink-soft);margin:12px 0 0;text-align:center}.listen-row{display:flex;gap:8px;margin-top:18px}.listen{flex:1;min-width:0;white-space:nowrap;min-height:44px;border-radius:var(--radius-btn);font-size:13.5px;font-weight:650;background:color-mix(in srgb,var(--coral) 16%,transparent);color:var(--coral);border:var(--border-w) solid color-mix(in srgb,var(--coral) 45%,transparent)}.listen:disabled{opacity:.4}.listen:active:not(:disabled){transform:scale(.98)}.take{display:flex;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--hairline)}.rec{width:62px;height:62px;flex:none;border-radius:50%;font-size:22px;color:#fff;background:var(--coral);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.rec.on{background:#d63d3d;box-shadow:0 0 #d63d3d80;animation:pulse 1.4s ease-out infinite}.take-note{font-size:13px;color:var(--ink-soft);line-height:1.4}@keyframes pulse{to{box-shadow:0 0 0 18px #d63d3d00}}@media (prefers-reduced-motion: reduce){.rec.on{animation:none}}.listen.blue{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 45%,transparent)}.play-big{display:block;margin:24px auto 6px;width:96px;height:96px;border-radius:50%;font-size:38px;color:#fff;background:var(--blue);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.play-big:active{transform:translateY(var(--press-y)) scale(.99);box-shadow:var(--shadow-btn-active)}.heard-line{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 7px;margin-top:8px;font-size:17px;font-weight:650;line-height:1.45}.heard-line .missed{color:var(--amber);background:color-mix(in srgb,var(--amber) 16%,transparent);border-radius:6px;padding:0 5px}.player-actions{padding:12px 18px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.player-actions .row{display:flex;gap:10px}.peek-note{margin:0 2px 10px;text-align:center;font-size:12px;line-height:1.35;color:var(--ink-soft)}.icon-button:disabled{opacity:.3}.done-kicker{margin:0;text-align:center;font-size:10px;font-weight:800;letter-spacing:1.4px;color:var(--ink-soft)}.done-figure{display:grid;place-items:center}.settings-group{margin-top:18px;background:var(--surface-solid);border-radius:var(--radius);overflow:hidden;border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.settings-row{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;border-bottom:1px solid var(--hairline);width:100%;text-align:left}.settings-row:last-child{border-bottom:none}.settings-row .label{flex:1;font-weight:650;font-size:15px}.settings-row .value{color:var(--ink-soft);font-size:14px}.settings-note{font-size:12px;color:var(--ink-soft);margin:10px 4px 0;line-height:1.45}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:20;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.muted{color:var(--ink-soft)}.center-note{text-align:center;color:var(--ink-soft);padding:40px 20px}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.theme-card{padding:12px 10px 11px;border-radius:var(--radius);text-align:left;background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);transition:transform .14s ease-out,box-shadow .14s ease-out}.theme-card:active{transform:translateY(var(--press-y));box-shadow:var(--shadow-btn-active)}.theme-card.selected{border-color:var(--accent);background:var(--accent-soft)}.theme-swatch{height:34px;border-radius:10px;margin-bottom:8px;display:flex;overflow:hidden;border:1px solid var(--hairline)}.theme-swatch i{flex:1}.theme-name{display:block;font-size:13px;font-weight:700}.theme-note{display:block;font-size:10px;color:var(--ink-soft);line-height:1.3;margin-top:2px}.lang-chip{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);padding:0;min-height:18px}.lang-chip-code{font-size:9px;letter-spacing:.6px;padding:2px 5px;border-radius:5px;background:var(--accent-soft);color:var(--accent)}.lang-chip-caret{font-size:12px;letter-spacing:0;opacity:.7}.lang-screen{flex:1;min-height:0;position:relative;isolation:isolate;display:flex;flex-direction:column;padding:14px 18px calc(20px + env(safe-area-inset-bottom));overflow:hidden;--scene: max(var(--app-width) / 1179, 100svh / 2556);--ground: min(calc(566 * var(--scene)), 26svh);--rhino: min(400px, var(--app-width), 44svh)}.lang-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-repeat:no-repeat;background-size:cover;background-position:50% 100%;transform-origin:50% 100%;animation:city-in 1.1s cubic-bezier(.22,1,.36,1) both,city-breathe 34s 1.1s ease-in-out infinite}.lang-screen[data-course=en]:before{background-image:url(./bg-london-C_bMY71H.svg)}.lang-screen[data-course=es]:before{background-image:url(./bg-madrid-CCddT-sf.svg)}@keyframes city-in{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1.005)}}@keyframes city-breathe{0%,to{transform:scale(1.005)}50%{transform:scale(1.03)}}.lang-kicker{position:relative;margin:0 0 14px;text-align:center;font:700 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.lang-panel{flex:1;min-height:0;display:flex;align-items:flex-start;gap:2px}.lang-panel[data-from=left]{animation:panel-from-left .32s cubic-bezier(.22,1,.36,1) both}.lang-panel[data-from=right]{animation:panel-from-right .32s cubic-bezier(.22,1,.36,1) both}@keyframes panel-from-left{0%{opacity:0;transform:translate3d(-26px,0,0)}to{opacity:1;transform:none}}@keyframes panel-from-right{0%{opacity:0;transform:translate3d(26px,0,0)}to{opacity:1;transform:none}}.lang-arrow{width:58px;flex:none;margin-top:96px;display:flex;flex-direction:column;align-items:center;gap:5px}.lang-arrow-mark{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--ink);font:400 19px/44px var(--font);text-align:center}.lang-arrow-label{font:700 9px/1.2 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.lang-stage{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px}.lang-name{margin:0;font:800 36px/1 var(--font);letter-spacing:-.035em;color:var(--ink)}.lang-flag{width:112px;height:56px;border-radius:7px;flex:none;border:1px solid var(--border-col);background-size:cover}.lang-flag.es{background-image:linear-gradient(to bottom,#aa151b 0,#aa151b 25%,#f1bf00 25%,#f1bf00 75%,#aa151b 75%,#aa151b)}.lang-flag.en{background-color:#012169;background-image:linear-gradient(to bottom right,transparent calc(50% - 3px),#c8102e calc(50% - 3px) calc(50% + 3px),transparent calc(50% + 3px)),linear-gradient(to top right,transparent calc(50% - 3px),#c8102e calc(50% - 3px) calc(50% + 3px),transparent calc(50% + 3px)),linear-gradient(to bottom,transparent calc(50% - 6px),#c8102e calc(50% - 6px) calc(50% + 6px),transparent calc(50% + 6px)),linear-gradient(to right,transparent calc(50% - 6px),#c8102e calc(50% - 6px) calc(50% + 6px),transparent calc(50% + 6px)),linear-gradient(to bottom,transparent calc(50% - 11px),#fff calc(50% - 11px) calc(50% + 11px),transparent calc(50% + 11px)),linear-gradient(to right,transparent calc(50% - 11px),#fff calc(50% - 11px) calc(50% + 11px),transparent calc(50% + 11px)),linear-gradient(to bottom right,transparent calc(50% - 8px),#fff calc(50% - 8px) calc(50% + 8px),transparent calc(50% + 8px)),linear-gradient(to top right,transparent calc(50% - 8px),#fff calc(50% - 8px) calc(50% + 8px),transparent calc(50% + 8px))}.lang-cloud{position:relative;flex:none;z-index:2;width:min(186px,.54 * var(--rhino));aspect-ratio:186 / 163;margin:2px 0 0 40px;transform-origin:34% 96%;animation:cloud-in .46s .12s cubic-bezier(.22,1,.36,1) both}.lang-cloud svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.lang-cloud-word{position:absolute;left:10%;right:10%;top:4%;height:62%;display:flex;align-items:center;justify-content:center;font:800 clamp(19px,.075 * var(--rhino),26px)/1 var(--font);letter-spacing:-.02em;color:var(--accent)}@keyframes cloud-in{0%{opacity:0;transform:scale(.6) rotate(-6deg)}to{opacity:1;transform:none}}.lang-figure{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--ground) - .055 * var(--rhino));display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:figure-in .42s cubic-bezier(.22,1,.36,1) both}@keyframes figure-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.lang-mascot{width:var(--rhino);flex:none;position:relative;margin-top:max(-96px,-11svh)}.lang-mascot rhino-mascot{display:block;width:100%}.lang-foot{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:14px}.lang-chips{display:flex;gap:8px;justify-content:center;margin-top:2px}.lang-stat{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 15px;border-radius:999px}.lang-stat.level{background:var(--accent);color:var(--accent-fg)}.lang-stat.streak{background:#efe3ca;color:#5b4a2c}.lang-stat-key{font:700 9px/1 var(--font);letter-spacing:.15em;text-transform:uppercase;opacity:.62}.lang-stat-value{font:800 15px/1 var(--font);letter-spacing:-.01em}.lang-stat-flame{display:flex;align-items:center;justify-content:center;width:15px;height:15px;font-size:13px;line-height:1}.lang-note{margin:0;text-align:center;font:400 13px/1.4 var(--font);color:var(--ink-soft)}@media (prefers-reduced-motion: reduce){.lang-screen:before,.lang-panel,.lang-cloud{animation:none}.lang-figure{animation-duration:1ms}}.onboarding{padding-top:10px}.onboarding-title{margin:8px 0;font:800 28px/1.16 var(--font);letter-spacing:-.025em;color:var(--ink);text-wrap:pretty}.onboarding-lead{margin:0 0 20px;font:400 15px/1.5 var(--font);color:var(--ink-soft);text-wrap:pretty}.onboarding-rhino{margin:0 0 14px;display:grid;place-items:center}.onboarding-rhino rhino-mascot{display:block;width:150px}.onboarding-rhino.tall rhino-mascot{width:220px}.onboarding .action+.action{margin-top:10px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 26px}.pill-button{border:none;background:none;padding:0;font:inherit;text-align:center}.plan-card{padding:16px 18px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);margin:0 0 18px;animation:plan-blink .2s ease-out both}@keyframes plan-blink{0%{opacity:0}to{opacity:1}}.plan-kicker{margin:0 0 10px;font:700 10px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.plan-columns{display:flex;gap:14px}.plan-columns>div{flex:1;min-width:0}.plan-rule{width:1px;background:var(--hairline);flex:none}.plan-figure{margin:0 0 5px;font:800 20px/1 var(--font);letter-spacing:-.02em;color:var(--ink)}.plan-label{margin:0;font:400 12px/1.35 var(--font);color:var(--ink-soft)}.plan-note{margin:12px 0 0;font:400 13px/1.45 var(--font);color:var(--ink-soft);text-wrap:pretty}.gap-10{height:10px}.gap-18{height:18px}@media (prefers-reduced-motion: reduce){.plan-card{animation:none}}.update-bar{width:100%;padding:10px 18px;text-align:left;font-size:12px;font-weight:650;line-height:1.35;color:var(--accent);background:var(--accent-soft);border-bottom:1px solid var(--hairline)}.level-size{font-size:12px;color:var(--ink-soft);margin:10px 0 0}.tabbar{flex:none;display:flex;border-top:1px solid var(--hairline);background:var(--surface);padding:8px 6px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 0;min-height:var(--tap);font:700 11px/1 var(--font);color:var(--ink-soft)}.tabbar-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:0}.tabbar-item.current{color:var(--accent)}.tabbar-item.current .tabbar-dot{opacity:1}.brandbar{flex:none;display:flex;align-items:center;gap:10px;padding:18px 18px 10px}.brand-mark{width:30px;height:30px;flex:none;display:block}.brandbar-name{display:flex;align-items:baseline;gap:8px;padding:0}.brandbar-word{font:800 17px/1 var(--font);letter-spacing:-.035em;color:var(--ink)}.brandbar-course{font:700 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:6px 9px;border-radius:999px;background:var(--accent-soft)}.pills-row{display:flex;align-items:center;gap:8px;margin:8px 0 14px}.pill-streak,.pill-goal{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px}.pill-streak{background:#efe3ca;color:#8a5a1e}.pill-streak svg{color:#e23a22}.pill-goal{background:var(--accent-soft);color:var(--ink)}.pill-streak b,.pill-goal b{font:700 14px/1 var(--font);font-variant-numeric:tabular-nums}.pill-streak span:last-child{font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;opacity:.7}.day-title{font:700 26px/1.18 var(--font);letter-spacing:-.025em;margin:0 0 4px;color:var(--ink)}.day-line{font:400 14px/1.5 var(--font);color:var(--ink-soft);margin:0 0 16px;text-wrap:pretty}.next-card{width:100%;text-align:left;display:block;padding:16px;border:var(--border-w) solid var(--border-col);border-radius:20px;background:var(--surface-solid);box-shadow:var(--shadow-card);transition:transform .14s ease-out,box-shadow .14s ease-out}.next-card:active{transform:translateY(var(--press-y)) scale(.995);box-shadow:var(--shadow-btn-active)}.next-head{display:flex;align-items:center;gap:13px}.next-play{width:52px;height:52px;border-radius:16px;flex:none;display:grid;place-items:center;background:var(--amber);color:#fff}.next-body{flex:1;min-width:0}.next-kicker{display:block;font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:6px}.next-title{display:block;font:700 19px/1.2 var(--font);letter-spacing:-.02em;color:var(--ink)}.next-block{display:block;font:400 13px/1.35 var(--font);color:var(--ink-soft);margin-top:3px}.next-bar{display:block;height:6px;border-radius:999px;background:var(--track);margin:14px 0 8px}.next-bar>span{display:block;height:6px;border-radius:999px;background:var(--amber)}.next-in-block{display:block;font:400 12px/1 var(--font);color:var(--ink-soft)}.review-card{width:100%;display:flex;align-items:center;gap:13px;text-align:left;margin-top:12px;padding:14px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.review-icon{width:44px;height:44px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--blue);color:#fff}.review-body{flex:1;min-width:0}.review-title{display:block;font:700 15px/1.2 var(--font);color:var(--ink)}.review-note{display:block;font:400 12px/1.35 var(--font);color:var(--ink-soft);margin-top:3px}.review-chevron{flex:none;color:var(--blue);display:flex}.gap-22{height:22px}.week-strip{display:flex;gap:6px;margin-top:12px}.week-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.week-label{font:700 10px/1 var(--font);color:var(--ink-soft)}.week-label.today{color:var(--amber)}.week-cell{width:100%;max-width:40px;aspect-ratio:1;border-radius:13px;display:grid;place-items:center;background:var(--track)}.week-cell.done{background:var(--mint);color:#fff}.week-cell.now{background:var(--surface-solid);border:2px solid var(--amber)}.week-dot{width:9px;height:9px;border-radius:50%;background:var(--amber)}.week-line{font:400 13px/1.45 var(--font);color:var(--ink-soft);margin:14px 0 0;text-wrap:pretty}.levelup{padding:14px;border-radius:var(--radius);margin-bottom:14px;background:#54c79721;border:1px solid rgba(84,199,151,.4)}.levelup-title{font-weight:700}.levelup-note{font:400 13px/1.4 var(--font);color:var(--ink-soft);margin:4px 0 12px}.kind-card{margin-top:4px;background:var(--surface-solid);border-radius:var(--radius);overflow:hidden;border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.kind-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:66px;padding:12px 14px;border-bottom:1px solid var(--hairline)}.kind-row:last-child{border-bottom:none}.kind-row:active:not(:disabled){background:var(--accent-soft)}.kind-row:disabled{opacity:.45}.kind-tile{width:38px;height:38px;border-radius:12px;flex:none;display:grid;place-items:center;color:#fff}.kind-body{flex:1;min-width:0}.kind-name{display:block;font:700 15px/1.2 var(--font);color:var(--ink)}.kind-note{display:block;font:400 12px/1.35 var(--font);color:var(--ink-soft);margin-top:2px}.kind-chevron{flex:none;color:var(--ink-soft);display:flex}.kind-empty{flex:none;font:400 11px/1 var(--font);color:var(--ink-soft)}.topic-card{display:block;width:100%;text-align:left;margin-top:10px;padding:14px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.topic-head{display:flex;align-items:baseline;gap:10px}.topic-title{flex:1;font:700 15px/1.2 var(--font);color:var(--ink)}.topic-score{font:700 13px/1 var(--font);font-variant-numeric:tabular-nums}.topic-note{display:block;font:400 12px/1.4 var(--font);color:var(--ink-soft);margin-top:5px}.topic-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font:400 11px/1 var(--font);color:var(--ink-soft)}.twin-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 4px}.twin{display:block}.twin-track{display:block;height:6px;border-radius:999px;background:var(--track);overflow:hidden}.twin-track>span{display:block;height:6px;border-radius:999px}.twin-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:7px}.twin-label{font:400 11px/1.2 var(--font);color:var(--ink-soft)}.twin-value{font:700 11px/1.2 var(--font);font-variant-numeric:tabular-nums}.spoken{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.spoken li{padding:11px 14px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);font:400 15px/1.3 var(--font)}.chart-goal{font:400 12px/1.4 var(--font);color:var(--ink-soft);margin:3px 0 0}.chart{margin-top:16px}.chart-values,.chart-axis{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.chart-values{font:400 11px/1 var(--font);color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-bottom:8px}.chart-plot{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:74px}.chart-col{height:100%;display:flex;align-items:flex-end}.chart-bar{width:100%;min-height:3px;border-radius:8px 8px 0 0;background:var(--track);transition:height .24s cubic-bezier(.22,1,.36,1)}.chart-bar.reached{background:var(--ink)}.chart-axis{margin-top:8px;font:700 10px/1 var(--font);color:var(--ink-soft)}.chart-axis .today{color:var(--amber)}.chart-line{font:400 13px/1.45 var(--font);color:var(--ink-soft);margin:14px 0 0;text-wrap:pretty}.here-card{margin:8px 0 6px;padding:15px;border-radius:20px;background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card)}.here-kicker{font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 8px}.here-title{font:700 19px/1.2 var(--font);letter-spacing:-.02em;color:var(--ink);margin:0 0 3px}.here-where{font:400 13px/1.35 var(--font);color:var(--ink-soft);margin:0 0 13px}.route-caption{font:400 12px/1.4 var(--font);color:var(--ink-soft);margin:14px 0 0;text-align:center}.route-map{display:flex;flex-direction:column;align-items:center;margin:0 -18px;padding:14px 18px 24px}.route-chapter{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.route-banner{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:16px;background:var(--accent);color:var(--accent-fg);margin:6px 0 4px}.route-banner-body{flex:1;min-width:0}.route-banner-kicker{font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin:0 0 6px}.route-banner-title{font:700 16px/1.2 var(--font);letter-spacing:-.02em;margin:0}.route-banner-note{font:400 11px/1.35 var(--font);opacity:.7;margin:4px 0 0;text-wrap:pretty}.route-banner-count{flex:none;font:700 13px/1 var(--font);opacity:.9;font-variant-numeric:tabular-nums}.route-stop{display:flex;flex-direction:column;align-items:center;gap:7px}.route-badge{display:block;font:700 9px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--amber);padding:6px 11px;border-radius:999px;box-shadow:0 3px #1b20292e;margin-bottom:2px}.route-node{width:62px;height:62px;border-radius:50%;padding:0;display:grid;place-items:center;transition:transform .14s ease-out,box-shadow .14s ease-out}.route-node.done{background:var(--mint);color:#fff;box-shadow:0 5px #1b202938}.route-node.current{width:74px;height:74px;background:var(--amber);color:#fff;box-shadow:0 5px #1b202938}.route-node.open{background:var(--surface-solid);color:var(--accent);border:2px solid var(--border-col);box-shadow:0 4px #1b20291f}.route-node.locked{background:var(--track);color:var(--ink-soft);box-shadow:none}.route-node:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #1b202938}.route-name{font:700 11px/1.3 var(--font);color:var(--ink);text-align:center;max-width:124px;text-wrap:pretty}.route-minutes{font:400 10px/1 var(--font);color:var(--ink-soft);margin-top:-3px}:root[data-theme=minimal] .app[data-tab]{background-repeat:no-repeat;background-position:top center;background-size:100% auto}:root[data-theme=minimal] .app[data-tab=today]{background-image:url(./today-en-BHYUILp-.svg)}:root[data-theme=minimal] .app[data-tab=practice]{background-image:url(./practice-en-FqWYJlrr.svg)}:root[data-theme=minimal] .app[data-tab=progress]{background-image:url(./progress-en-CxGFzNJ5.svg)}:root[data-theme=minimal][data-learning=es] .app[data-tab=today]{background-image:url(./today-es-BVtbt71Y.svg)}:root[data-theme=minimal][data-learning=es] .app[data-tab=practice]{background-image:url(./practice-es-BKbivltL.svg)}:root[data-theme=minimal][data-learning=es] .app[data-tab=progress]{background-image:url(./progress-es-7M07sONc.svg)}:root[data-theme=minimal] .route-map{background-image:linear-gradient(color-mix(in srgb,var(--surface-solid) 66%,transparent),color-mix(in srgb,var(--surface-solid) 66%,transparent)),url(./course-en-Db8D1pSb.svg);background-repeat:repeat,repeat-y;background-position:top center,top center;background-size:auto,100% auto}:root[data-theme=minimal][data-learning=es] .route-map{background-image:linear-gradient(color-mix(in srgb,var(--surface-solid) 66%,transparent),color-mix(in srgb,var(--surface-solid) 66%,transparent)),url(./course-es-BmwZm_5n.svg)}:root{--rhino-eye: var(--ink);--rhino-line: var(--ink);--rhino-accent: var(--accent)}.rhino{flex:none}.rhino rhino-mascot{display:block;width:100%;height:100%}.rhino-pop{display:flex;align-items:center;gap:10px;margin:0 18px;padding:8px 12px 8px 8px;border-radius:var(--radius);background:var(--surface-solid);border:var(--border-w) solid var(--border-col);box-shadow:var(--shadow-card);animation:rhino-in .42s cubic-bezier(.34,1.4,.5,1) both}.rhino-pop-figure{width:52px;height:52px;flex:none}.rhino-pop-figure rhino-mascot{display:block;width:100%;height:100%}.rhino-pop-line{font-size:15px;font-weight:700}@keyframes rhino-in{0%{opacity:0;transform:translateY(26px) rotate(4deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.rhino-pop{animation:none}}.home-input{margin-top:10px;width:100%}
