.exercise-practice-hub{--tp-primary:#2e3bc7;--tp-action-green:#27a84a;--tp-action-green-soft:#27a84a24;--tp-action-green-muted:#27a84a9e;--tp-bg-primary:#f8f9fd;--tp-bg-secondary:#fff;--tp-border-color:#2e3bc70f;--tp-text-primary:#0f1021;--tp-text-secondary:#65698a;--tp-shadow-sm:0 2px 8px #2e3bc705;--tp-shadow-md:0 12px 30px #2e3bc70a;--tp-shadow-glow:0 0 20px #2e3bc740;--tp-transition-normal:.3s cubic-bezier(.4,0,.2,1)}html[data-theme=night] .exercise-practice-hub{--tp-bg-primary:var(--canvas-bg);--tp-bg-secondary:var(--surface-1);--tp-border-color:var(--border-1);--tp-text-primary:var(--canvas-fg);--tp-text-secondary:var(--text-muted);--tp-shadow-sm:0 2px 8px #0006;--tp-shadow-md:0 12px 30px #00000080;--tp-shadow-glow:0 0 20px #818cf826}.exercise-practice-hub .exercise-hub-lobby{padding:28px;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));width:calc(100% + var(--app-main-right-gutter,0px));margin-right:calc(-1*var(--app-main-right-gutter,0px));background-color:var(--tp-bg-primary);overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;min-height:0;animation:.4s ease-out forwards fadeIn;container:exercise-hub/inline-size}html[data-theme=library] .ambient-app-shell .exercise-practice-hub .exercise-hub-lobby{background-color:#0000}html[data-theme=library] .ambient-app-shell .exercise-practice-hub :is(.exercise-hub-title,.exercise-hub-recommended>h2,.exercise-hub-mode-heading h2){color:var(--learner-canvas-fg)}@media (max-width:767px){.exercise-practice-hub .exercise-hub-lobby{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (max-width:479px){.exercise-practice-hub .exercise-hub-lobby{padding-bottom:calc(5.75rem + 16px + env(safe-area-inset-bottom,0px))}}.exercise-practice-hub .exercise-hub-title-bar{width:100%;max-width:1180px;margin-bottom:0;margin-left:auto;margin-right:auto}.exercise-practice-hub .exercise-hub-title{font-family:var(--font-heading);color:var(--tp-text-primary);letter-spacing:-.02em;font-size:2rem;font-weight:800;line-height:1.15}.exercise-practice-hub .exercise-hub-goal-composer{background:var(--tp-bg-secondary);width:100%;max-width:1180px;min-height:76px;box-shadow:var(--shadow-card);border-radius:16px;margin:24px auto 0;padding:12px 60px 12px 16px;transition:box-shadow .16s;position:relative}.exercise-practice-hub .exercise-hub-goal-composer:focus-within{box-shadow:var(--shadow-card),0 0 0 2px #27a84a6b}.exercise-practice-hub .exercise-hub-goal-composer textarea{resize:none;width:100%;min-height:52px;color:var(--tp-text-primary);font-family:var(--font-body);background:0 0;border:0;outline:none;margin:0;padding:5px 4px;font-size:15px;font-weight:600;line-height:1.45;display:block}.exercise-practice-hub .exercise-hub-goal-composer textarea::placeholder{color:var(--tp-text-secondary);font-weight:500}.exercise-practice-hub .exercise-hub-goal-composer button{background:var(--tp-action-green);color:#fff;cursor:pointer;border:0;border-radius:9999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .15s,filter .15s,box-shadow .15s;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 6px 16px #27a84a3d}.exercise-practice-hub .exercise-hub-goal-composer button:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 8px 20px #27a84a4d}.exercise-practice-hub .exercise-hub-goal-composer button:active:not(:disabled){transform:scale(.96)}.exercise-practice-hub .exercise-hub-goal-composer button:focus-visible{outline:2px solid var(--tp-action-green);outline-offset:3px}.exercise-practice-hub .exercise-hub-goal-composer button:disabled{background:var(--tp-action-green-soft);color:var(--tp-action-green-muted);cursor:not-allowed;box-shadow:none}.exercise-practice-hub .exercise-hub-recommended{width:100%;max-width:1180px;margin:36px auto 0}.exercise-practice-hub .exercise-hub-recommended>h2{color:var(--tp-text-primary);font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 20px;font-size:22px;font-weight:800;line-height:1.25}.exercise-practice-hub .exercise-hub-mode-heading{width:100%;max-width:1180px;margin:36px auto 0}.exercise-practice-hub .exercise-hub-mode-heading h2{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--tp-text-primary);margin:0;font-size:22px;font-weight:800;line-height:1.25}.exercise-practice-hub .exercise-hub-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;max-width:1180px;margin:20px auto 50px;display:grid}.exercise-practice-hub .exercise-hub-category-card{border:1px solid var(--tp-border-color);background:radial-gradient(circle at top left,#fffffff5,#ffffffe0 44%,#ffffffd6),linear-gradient(135deg,var(--hub-surface),#fff 58%);width:100%;max-width:none;min-height:325px;box-shadow:var(--shadow-card);cursor:pointer;transition:transform var(--tp-transition-normal),box-shadow var(--tp-transition-normal),border-color var(--tp-transition-normal);border-radius:20px;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:stretch;gap:18px;text-decoration:none;display:grid;position:relative;overflow:hidden}html[data-theme=night] .exercise-practice-hub .exercise-hub-category-card{border-color:color-mix(in srgb,var(--hub-accent)14%,#ffffff14);background:radial-gradient(circle at top left,#ffffff0a,transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--surface-1)88%,var(--hub-accent)12%),color-mix(in srgb,var(--surface-2)94%,black 6%)58%)}.exercise-practice-hub .exercise-hub-category-card:hover{border-color:color-mix(in srgb,var(--hub-accent)44%,white);box-shadow:var(--shadow-card-hover),0 18px 45px -26px var(--hub-glow);transform:translateY(-6px)}html[data-theme=night] .exercise-practice-hub .exercise-hub-category-card:hover{border-color:color-mix(in srgb,var(--hub-accent)22%,#ffffff29)}.exercise-practice-hub .exercise-hub-category-card:focus-visible{outline:2px solid var(--tp-primary);outline-offset:3px}.exercise-practice-hub .exercise-hub-card-copy{flex-direction:column;justify-content:space-between;gap:18px;min-width:0;padding:34px 20px 34px 34px;display:flex}.exercise-practice-hub .exercise-hub-card-copy-inner{flex-direction:column;gap:16px;min-width:0;display:flex}.exercise-practice-hub .exercise-hub-card-title{color:var(--canvas-fg);font-family:var(--font-heading);letter-spacing:-.03em;margin:0;font-size:clamp(2rem,1.7rem + .95vw,3.25rem);font-weight:800;line-height:1.03}.exercise-practice-hub .exercise-hub-card-description{max-width:20ch;color:var(--text-muted);font-family:var(--font-body);margin:0;font-size:clamp(1rem,.92rem + .22vw,1.25rem);font-weight:500;line-height:1.38}.exercise-practice-hub .exercise-hub-card-visual{min-height:325px;position:relative;overflow:hidden}.exercise-practice-hub .exercise-hub-card-panel{background:radial-gradient(circle at 18% 22%,#ffffff8f,transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--hub-accent)72%,white),color-mix(in srgb,var(--hub-accent)94%,black 4%));clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,9% 62%,5% 28%);border-radius:38px 0 0 38px;position:absolute;inset:0 0 0 8%}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-panel{background:radial-gradient(circle at 18% 22%,#ffffff2e,transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--hub-accent)56%,#1f2328),color-mix(in srgb,var(--hub-accent)78%,#0f1114))}.exercise-practice-hub .exercise-hub-card-chip-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex;position:absolute;top:28px;left:18%;right:24px}.exercise-practice-hub .exercise-hub-card-chip{color:var(--hub-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border-radius:9999px;padding:8px 12px;font-size:.72rem;font-weight:800;line-height:1;box-shadow:0 10px 25px -18px #0f102173}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-chip{color:var(--canvas-fg);background:#141619cc;box-shadow:0 10px 25px -18px #0000008c}.exercise-practice-hub .exercise-hub-card-main-icon{width:110px;height:110px;color:var(--hub-accent-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(160deg,#fffffff2,#ffffffad);border-radius:34px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:86px;right:124px;box-shadow:0 24px 44px -28px #0f102185,inset 0 0 0 1px #fff6}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-main-icon{color:color-mix(in srgb,var(--hub-accent)72%,white);background:linear-gradient(160deg,#1c1e22f0,#121417cc);box-shadow:0 24px 44px -28px #0000009e,inset 0 0 0 1px #ffffff14}.exercise-practice-hub .exercise-hub-card-float-icon{width:42px;height:42px;color:var(--hub-accent-strong);background:#ffffffe6;border-radius:9999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:144px;right:44px;box-shadow:0 16px 30px -20px #0f102180}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-float-icon{color:color-mix(in srgb,var(--hub-accent)68%,white);background:#121417e6;box-shadow:0 16px 30px -20px #00000094}.exercise-practice-hub .exercise-hub-card-example{color:var(--canvas-fg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe6;border-radius:28px;position:absolute;bottom:28px;left:20%;right:46px;box-shadow:0 20px 42px -28px #0f102180,inset 0 0 0 1px #ffffff70}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-example{color:var(--canvas-fg);background:#131518e6;box-shadow:0 20px 42px -28px #0000009e,inset 0 0 0 1px #ffffff14}.exercise-practice-hub .exercise-hub-card-example-wave{justify-content:center;align-items:end;gap:7px;padding:18px 22px;display:flex}.exercise-practice-hub .exercise-hub-card-example-wave span{background:linear-gradient(180deg,var(--hub-accent),color-mix(in srgb,var(--hub-accent)75%,#fff));border-radius:9999px;width:10px}.exercise-practice-hub .exercise-hub-card-example-wave span:first-child,.exercise-practice-hub .exercise-hub-card-example-wave span:nth-child(5){height:20px}.exercise-practice-hub .exercise-hub-card-example-wave span:nth-child(2),.exercise-practice-hub .exercise-hub-card-example-wave span:nth-child(4){height:34px}.exercise-practice-hub .exercise-hub-card-example-wave span:nth-child(3){height:46px}.exercise-practice-hub .exercise-hub-card-example-speaking{flex-direction:column;gap:10px;padding:18px;display:flex}.exercise-practice-hub .exercise-hub-card-example-chip{width:fit-content;max-width:100%;color:var(--canvas-fg);background:#ffffffeb;border-radius:9999px;padding:10px 14px;font-size:.84rem;font-weight:700;line-height:1.15}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-example-chip{color:var(--canvas-fg);background:#1f2226f5}.exercise-practice-hub .exercise-hub-card-example-chip.is-accent{background:color-mix(in srgb,var(--hub-accent)18%,white);color:var(--hub-accent-strong)}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-example-chip.is-accent{background:color-mix(in srgb,var(--hub-accent)28%,#181a1df5);color:color-mix(in srgb,var(--hub-accent)58%,white)}.exercise-practice-hub .exercise-hub-card-example-reading{flex-direction:column;gap:8px;padding:18px;display:flex}.exercise-practice-hub .exercise-hub-card-line{background:color-mix(in srgb,var(--hub-accent)22%,white);border-radius:9999px;height:10px;display:block}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-line{background:color-mix(in srgb,var(--hub-accent)36%,#2b2f35)}.exercise-practice-hub .exercise-hub-card-line.is-wide{width:88%}.exercise-practice-hub .exercise-hub-card-line{width:70%}.exercise-practice-hub .exercise-hub-card-line.is-short{width:48%}.exercise-practice-hub .exercise-hub-card-tag{background:color-mix(in srgb,var(--hub-accent)18%,white);width:fit-content;color:var(--hub-accent-strong);border-radius:9999px;margin-top:6px;padding:8px 12px;font-size:.72rem;font-weight:800}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-tag{background:color-mix(in srgb,var(--hub-accent)24%,#16181bf5);color:color-mix(in srgb,var(--hub-accent)58%,white)}.exercise-practice-hub .exercise-hub-card-example-blanks{flex-wrap:wrap;align-items:center;gap:8px;padding:18px;font-size:.92rem;font-weight:700;line-height:1.45;display:flex}.exercise-practice-hub .exercise-hub-card-blank{background:color-mix(in srgb,var(--hub-accent)16%,white);color:var(--hub-accent-strong);border-radius:12px;padding:6px 10px}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-blank{background:color-mix(in srgb,var(--hub-accent)24%,#16181bf5);color:color-mix(in srgb,var(--hub-accent)58%,white)}.exercise-practice-hub .exercise-hub-card-example-conjugation{flex-direction:column;gap:10px;padding:18px;display:flex}.exercise-practice-hub .exercise-hub-card-example-conjugation>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.exercise-practice-hub .exercise-hub-card-pronoun{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.exercise-practice-hub .exercise-hub-card-answer{background:color-mix(in srgb,var(--hub-accent)16%,white);color:var(--hub-accent-strong);border-radius:9999px;padding:8px 12px;font-size:.88rem;font-weight:800}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-answer{background:color-mix(in srgb,var(--hub-accent)24%,#16181bf5);color:color-mix(in srgb,var(--hub-accent)58%,white)}.exercise-practice-hub .exercise-hub-card-example-chat,.exercise-practice-hub .exercise-hub-card-example-translation{flex-direction:column;gap:10px;padding:18px;display:flex}.exercise-practice-hub .exercise-hub-chat-bubble{width:fit-content;max-width:92%;color:var(--canvas-fg);background:#fffffff5;border-radius:18px 18px 18px 8px;padding:10px 13px;font-size:.84rem;font-weight:700;line-height:1.25}html[data-theme=night] .exercise-practice-hub .exercise-hub-chat-bubble{color:var(--canvas-fg);background:#1f2226f5}.exercise-practice-hub .exercise-hub-chat-bubble.is-reply{background:color-mix(in srgb,var(--hub-accent)16%,white);color:var(--hub-accent-strong);border-radius:18px 18px 8px;align-self:end}html[data-theme=night] .exercise-practice-hub .exercise-hub-chat-bubble.is-reply{background:color-mix(in srgb,var(--hub-accent)24%,#16181bf5);color:color-mix(in srgb,var(--hub-accent)58%,white)}.exercise-practice-hub .exercise-hub-card-example-options{justify-content:center;align-items:center;gap:12px;padding:18px;display:flex}.exercise-practice-hub .exercise-hub-card-example-options span{width:42px;height:42px;color:var(--canvas-fg);background:#fffffff0;border-radius:14px;justify-content:center;align-items:center;font-size:.92rem;font-weight:800;display:inline-flex}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-example-options span{color:var(--canvas-fg);background:#1f2226f5}.exercise-practice-hub .exercise-hub-card-example-options span.is-selected{background:color-mix(in srgb,var(--hub-accent)18%,white);color:var(--hub-accent-strong)}html[data-theme=night] .exercise-practice-hub .exercise-hub-card-example-options span.is-selected{background:color-mix(in srgb,var(--hub-accent)24%,#16181bf5);color:color-mix(in srgb,var(--hub-accent)58%,white)}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-category-card{border-radius:18px;grid-template-columns:minmax(0,1.06fr) minmax(220px,.94fr);gap:10px;min-height:248px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-copy{gap:12px;padding:26px 14px 26px 26px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-copy-inner{gap:12px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-title{font-size:clamp(1.75rem,1.45rem + .55vw,2.15rem);line-height:1.05}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-description{max-width:22ch;font-size:clamp(.9rem,.84rem + .16vw,1rem);line-height:1.42}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-visual{min-height:248px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-panel{border-radius:30px 0 0 30px;inset:0 0 0 5%}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-chip-row{gap:6px;top:18px;left:14%;right:16px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-chip{padding:6px 9px;font-size:.64rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-main-icon{border-radius:24px;width:82px;height:82px;top:64px;right:78px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-main-icon svg{width:38px;height:38px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-float-icon{width:32px;height:32px;top:110px;right:24px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-float-icon svg{width:14px;height:14px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example{border-radius:20px;bottom:18px;left:14%;right:22px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave{gap:5px;padding:13px 16px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave span{width:7px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave span:first-child,.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave span:nth-child(5){height:14px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave span:nth-child(2),.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave span:nth-child(4){height:24px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-wave span:nth-child(3){height:34px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-speaking,.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-reading,.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-conjugation,.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-chat,.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-translation{gap:7px;padding:13px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-chip{padding:8px 10px;font-size:.74rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-line{height:7px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-tag{margin-top:3px;padding:6px 9px;font-size:.64rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-blanks{gap:6px;padding:13px;font-size:.76rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-blank{padding:5px 8px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-pronoun{font-size:.65rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-answer{padding:6px 9px;font-size:.75rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-chat-bubble{padding:8px 10px;font-size:.72rem}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-options{gap:8px;padding:13px}.exercise-practice-hub :where(.exercise-hub-stack) .exercise-hub-card-example-options span{border-radius:11px;width:34px;height:34px;font-size:.76rem}@container exercise-hub (max-width:760px){.exercise-practice-hub .exercise-hub-stack{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.exercise-practice-hub .exercise-hub-recommended{margin-top:32px}.exercise-practice-hub .exercise-hub-recommended>h2{margin-bottom:16px}.exercise-practice-hub .exercise-hub-stack{gap:16px;margin-top:20px}.exercise-practice-hub .exercise-hub-goal-composer{margin-top:20px;padding-left:14px}.exercise-practice-hub .exercise-hub-mode-heading{margin-top:32px}.exercise-practice-hub .exercise-hub-category-card{min-height:unset;grid-template-columns:minmax(0,1fr);gap:0}.exercise-practice-hub .exercise-hub-card-copy{padding:24px 22px 18px}.exercise-practice-hub .exercise-hub-card-description{max-width:none}.exercise-practice-hub .exercise-hub-card-visual{min-height:250px}.exercise-practice-hub .exercise-hub-card-panel{clip-path:polygon(0 16%,100% 0,100% 100%,0 100%);border-radius:28px 28px 0 0;inset:0}.exercise-practice-hub .exercise-hub-card-chip-row{justify-content:flex-start;top:18px;left:20px;right:20px}.exercise-practice-hub .exercise-hub-card-main-icon{border-radius:28px;width:88px;height:88px;top:78px;right:28px}.exercise-practice-hub .exercise-hub-card-float-icon{top:124px;right:118px}.exercise-practice-hub .exercise-hub-card-example{bottom:18px;left:18px;right:18px}}@media (max-width:479px){.exercise-practice-hub .exercise-hub-card-title{font-size:clamp(1.8rem,1.35rem + 3vw,2.3rem)}.exercise-practice-hub .exercise-hub-card-description{font-size:.98rem}.exercise-practice-hub .exercise-hub-card-visual{min-height:224px}.exercise-practice-hub .exercise-hub-card-main-icon{width:78px;height:78px;top:72px;right:24px}.exercise-practice-hub .exercise-hub-card-float-icon{top:112px;right:102px}}