:root{--ul-blue:#5b23ff;--ul-blue-dark:#362f4f;--ul-green:#008bff;--ul-yellow:#e4ff30;--ul-pink:#5b23ff;--ul-ink:#362f4f;--ul-muted:#625c78;--ul-line:#e7e3f2;--ul-surface:#f8f7fc;--ul-card:#fff;--ul-chart-bar:#5b23ff;--ion-color-primary:#5b23ff;--ion-color-primary-rgb:91, 35, 255;--ion-font-family:"Avenir Next", "Nunito Sans", Inter, system-ui, sans-serif;color:var(--ul-ink)}:root.ion-palette-dark{--ul-blue:#b19eff;--ul-blue-dark:#5b23ff;--ul-green:#4db4ff;--ul-yellow:#e4ff30;--ul-pink:#9b82ff;--ul-ink:#f8f7ff;--ul-muted:#bdb6d2;--ul-line:#4b4265;--ul-surface:#181424;--ul-card:#27203a;--ul-chart-bar:#8a6bff;--ion-background-color:var(--ul-surface);--ion-text-color:var(--ul-ink);--ion-toolbar-background:#211a31;--ion-tab-bar-background:#211a31;color:var(--ul-ink)}*{box-sizing:border-box}body{background:var(--ul-surface);color:var(--ul-ink)}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}ion-content{--background:var(--ul-surface)}.ul-header ion-toolbar{--background:#fffffff0;--border-color:var(--ul-line);--color:var(--ul-ink);--min-height:60px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ul-header ion-title{font-size:1.05rem;font-weight:850}.page-shell{width:min(100%,780px);padding:20px 18px calc(104px + env(safe-area-inset-bottom));margin:0 auto}.eyebrow{color:var(--ul-blue);letter-spacing:.12em;margin:0 0 7px;font-size:.7rem;font-weight:900}.ul-pressable{transition:transform .16s,box-shadow .16s}.ul-pressable:active:not(:disabled){transform:scale(.975)}.ul-button{cursor:pointer;border:0;border-radius:17px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;padding:0 22px;font-size:.98rem;font-weight:850;display:inline-flex}.ul-button--primary{color:#fff;background:linear-gradient(135deg,#5b23ff,#362f4f);box-shadow:0 12px 28px #5b23ff4d}.ul-button--primary:disabled{color:#465166;box-shadow:none;background:#d8dde6}.ul-button--ghost{color:var(--ul-muted);background:0 0;margin-top:8px}.header-brand{color:var(--ul-ink);letter-spacing:-.035em;align-items:center;gap:8px;font-size:.94rem;font-weight:950;display:inline-flex}.header-brand img{object-fit:cover;border-radius:8px;width:30px;height:30px;box-shadow:0 4px 12px #362f4f33}.header-avatar{color:#4815c5;background:#eeeaff;border:2px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:900;display:grid;box-shadow:0 0 0 2px #c5b8ff}.ul-tabs{--background:#fffffff0;--border:0;width:calc(100% - 38px);max-width:606px;height:76px;min-height:76px;margin:0 auto max(6px, calc(env(safe-area-inset-bottom) - 14px));contain:none;border:1px solid var(--ul-line);background:var(--background);-webkit-backdrop-filter:saturate(160%)blur(22px);backdrop-filter:saturate(160%)blur(22px);border-radius:31px;align-self:center;padding:7px 6px 0;overflow:visible;box-shadow:0 18px 38px #362f4f29,0 5px 14px #362f4f1a}.ul-tabs ion-tab-button{--background:transparent;--background-focused:transparent;--background-hover:transparent;--color:#362f4f9e;--color-selected:#4815c5;--color-focused:#362f4f9e;--ripple-color:transparent;z-index:1;min-width:0;font-size:.67rem;font-weight:800;position:relative;overflow:visible}.ul-tabs ion-tab-button::part(native){background:0 0;border:1px solid #0000;border-radius:24px;margin:0 2px;padding:7px 3px;transition:transform .22s,background .22s,box-shadow .22s,border-color .22s;overflow:visible}.ul-tabs ion-icon{font-size:1.45rem;transition:transform .22s,color .22s}.ul-tabs ion-label{white-space:nowrap;margin-top:3px;font-size:.64rem;line-height:1}.ul-tabs ion-tab-button.tab-selected::part(native){background:linear-gradient(145deg,#5b23ff,#362f4f);border-color:#008bffb8;transform:translateY(-11px);box-shadow:0 14px 28px #008bff4d,0 8px 18px #5b23ff6b,inset 0 1px #ffffff4d}.ul-tabs .tab-selected ion-icon{filter:drop-shadow(0 4px 8px #362f4f57);transform:scale(1.12)}.ul-tabs ion-tab-button.tab-selected ion-icon,.ul-tabs ion-tab-button.tab-selected ion-label{color:#e4ff30}.ul-tabs ion-tab-button:active::part(native){transform:scale(.95)}.ul-tabs ion-tab-button.tab-selected:active::part(native){transform:translateY(-9px)scale(.96)}.tab-dot{z-index:2;color:#362f4f;background:#e4ff30;border:2px solid #fff;border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.62rem;font-weight:900;display:grid;position:absolute;top:-2px;left:calc(50% + 7px)}@media (prefers-reduced-motion:reduce){.ul-tabs ion-tab-button::part(native),.ul-tabs ion-icon{transition:none}}.onboarding-page ion-content{--background:radial-gradient(circle at 12% 8%, #e4ff3047, transparent 27%), radial-gradient(circle at 88% 18%, #008bff29, transparent 26%), #faf9ff}.onboarding-shell{width:min(100%,520px);min-height:100%;padding:max(28px, env(safe-area-inset-top)) 24px 36px;flex-direction:column;margin:auto;display:flex}.onboarding-brand{color:var(--ul-ink);letter-spacing:-.03em;align-items:center;gap:10px;font-size:.9rem;font-weight:950;display:flex}.brand-mark{object-fit:cover;border-radius:11px;width:42px;height:42px;box-shadow:0 8px 22px #362f4f3d}.onboarding-progress{gap:7px;margin:25px 0 12px;display:flex}.onboarding-progress i{background:#e7e3f2;border-radius:4px;width:26px;height:5px;transition:background .22s,width .22s}.onboarding-progress i.active{background:var(--ul-blue);width:40px}.onboarding-panel{flex-direction:column;flex:1;justify-content:center;animation:.32s both slide-in;display:flex}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.onboarding-panel h1{letter-spacing:-.055em;max-width:460px;margin:0;font-size:clamp(2.3rem,10vw,4rem);font-weight:950;line-height:.98}.onboarding-panel .lead{max-width:450px;color:var(--ul-muted);margin:18px 0 30px;font-size:1.04rem;line-height:1.55}.welcome-visual{color:#fff;background:linear-gradient(145deg,#5b23ff,#362f4f);border-radius:48% 52% 44% 56%/52% 38% 62% 48%;justify-content:center;align-items:center;gap:6px;width:210px;height:150px;margin:5px 0 35px;display:flex;transform:rotate(-4deg);box-shadow:0 24px 60px #5b23ff47}.welcome-visual strong{letter-spacing:-.06em;font-size:2.25rem;font-weight:950}.welcome-visual span{color:var(--ul-yellow);font-size:2.5rem;font-weight:950}.text-back{color:var(--ul-muted);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;margin:0 0 26px;font-weight:800;display:flex}.language-card{border:2px solid var(--ul-line);text-align:left;width:100%;min-height:85px;color:var(--ul-ink);background:#fff;border-radius:20px;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;display:flex}.language-card.is-selected{border-color:var(--ul-blue);box-shadow:0 8px 22px #5b23ff1f}.language-card.is-disabled{opacity:.48;margin-bottom:28px}.language-card .flag{background:var(--ul-surface);border-radius:15px;place-items:center;width:52px;height:52px;font-size:1.8rem;display:grid}.language-card>span:nth-child(2){flex:1;gap:3px;display:grid}.language-card strong{font-size:1rem}.language-card small{color:var(--ul-muted)}.language-card ion-icon{color:var(--ul-blue);font-size:1.6rem}.name-field{color:var(--ul-ink);gap:8px;margin-bottom:22px;font-size:.78rem;font-weight:850;display:grid}.name-field input,.edit-profile input,.edit-profile select{border:2px solid var(--ul-line);width:100%;min-height:52px;color:var(--ul-ink);background:#fff;border-radius:15px;outline:none;padding:0 16px}.name-field input:focus,.edit-profile input:focus,.edit-profile select:focus{border-color:var(--ul-blue)}.goal-grid{grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:28px;display:grid}.goal-grid button{border:2px solid var(--ul-line);min-height:100px;color:var(--ul-ink);background:#fff;border-radius:18px;align-content:center;justify-items:center;gap:2px;display:grid}.goal-grid button.selected{border-color:var(--ul-blue);background:#f1f7ff;box-shadow:0 8px 22px #5b23ff1f}.goal-grid span{font-size:1.45rem}.goal-grid strong{font-size:1rem}.goal-grid small{color:var(--ul-muted)}.top-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:22px;display:grid}.home-status-row{position:relative}.home-status-row .top-stats{margin-bottom:28px}.sync-status{color:var(--ul-muted);align-items:center;gap:4px;font-size:.6rem;font-weight:750;display:flex;position:absolute;bottom:-17px;right:2px}.sync-status i{background:#aeb5c2;border-radius:50%;width:6px;height:6px}.sync-status.online i{background:var(--ul-green);box-shadow:0 0 0 3px #00c99021}.top-stat{border:1px solid var(--ul-line);background:#fff;border-radius:15px;justify-content:center;align-items:center;gap:5px;min-height:45px;display:flex;box-shadow:0 3px 12px #18203309}.top-stat ion-icon{font-size:1.15rem}.top-stat strong{font-size:.9rem}.top-stat span{color:var(--ul-muted);font-size:.67rem;font-weight:750}.top-stat--streak ion-icon{color:#c45100}.top-stat--xp ion-icon{color:var(--ul-blue)}.top-stat--level ion-icon{color:#a66900}.top-stat--accuracy ion-icon{color:var(--ul-green)}@media (width<=379px){.top-stats{grid-template-columns:repeat(2,1fr)}}.top-stat--streak.is-zero ion-icon{color:#aeb5c2}.home-greeting{justify-content:space-between;align-items:center;gap:20px;margin:12px 2px 22px;display:flex}.home-greeting h1{letter-spacing:-.05em;margin:0 0 4px;font-size:clamp(2rem,8vw,3rem);font-weight:950}.home-greeting>div>p:last-child{color:var(--ul-muted);margin:0}.greeting-bubble{background:var(--ul-yellow);color:#574f00;border-radius:50% 45% 48% 52%;flex:none;padding:19px 13px;font-weight:950;transform:rotate(5deg)}.home-greeting--fresh{border:1px solid var(--ul-line);background:radial-gradient(circle at 92% 0,#e4ff306b,#0000 34%),linear-gradient(135deg,#fff 45%,#f1edff);border-radius:25px;margin:12px 0 18px;padding:22px;position:relative;overflow:hidden;box-shadow:0 12px 32px #362f4f12}.home-greeting--fresh:after{content:"";border:18px solid #5b23ff14;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-65px;right:-45px}.home-greeting--fresh>div{z-index:1;position:relative}.home-greeting--fresh .greeting-bubble{z-index:1;width:72px;height:72px;color:var(--ul-ink);background:#ffffffd1;border:1px solid #5b23ff1f;border-radius:23px;place-content:center;justify-items:center;gap:1px;padding:0;display:grid;position:relative;transform:rotate(4deg);box-shadow:0 12px 28px #362f4f1f}.home-greeting--fresh .greeting-bubble b{font-size:1.7rem;line-height:1}.home-greeting--fresh .greeting-bubble small{color:var(--ul-muted);text-transform:uppercase;font-size:.64rem;font-weight:900}.continue-card{background:radial-gradient(circle at 96% 5%, color-mix(in srgb, var(--unit-color) 15%, transparent), transparent 35%), white;border:1px solid color-mix(in srgb, var(--unit-color) 25%, var(--ul-line));border-radius:27px;padding:20px;position:relative;overflow:hidden;box-shadow:0 16px 35px #18203317}.continue-top,.continue-progress{justify-content:space-between;align-items:center;display:flex}.continue-top>span:last-child{color:var(--ul-muted);font-size:.75rem;font-weight:800}.unit-pill{background:color-mix(in srgb, var(--unit-color) 12%, white);color:color-mix(in srgb, var(--unit-color) 65%, #001c3d);letter-spacing:.08em;border-radius:8px;padding:6px 9px;font-size:.65rem;font-weight:950}.continue-body{align-items:center;gap:14px;margin:20px 0;display:flex}.continue-emoji{background:color-mix(in srgb, var(--unit-color) 10%, white);border-radius:22px;flex:0 0 70px;place-items:center;width:70px;height:70px;font-size:2rem;display:grid}.continue-body small{color:var(--ul-muted);letter-spacing:.08em;font-size:.64rem;font-weight:850}.continue-body h2{letter-spacing:-.03em;margin:3px 0 4px;font-size:1.22rem}.continue-body p{color:var(--ul-muted);margin:0;font-size:.78rem}.continue-progress{gap:10px;margin-bottom:16px}.continue-progress>span{background:#edf0f5;border-radius:8px;flex:1;height:8px;overflow:hidden}.continue-progress i{border-radius:inherit;background:var(--unit-color);height:100%;display:block}.continue-progress em{color:var(--ul-muted);font-size:.72rem;font-style:normal;font-weight:800}.continue-button{background:color-mix(in srgb, var(--unit-color) 72%, #07111f);color:#fff;width:100%;min-height:50px;box-shadow:0 10px 22px color-mix(in srgb, var(--unit-color) 25%, transparent);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-weight:900;display:flex}.quick-practice-banner{color:#fff;text-align:left;background:radial-gradient(circle at 90% -20%,#e4ff3073,#0000 42%),linear-gradient(135deg,#3c177f,#5b23ff 62%,#7049ff);border:0;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;min-height:94px;margin-top:13px;padding:15px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 15px 30px #5b23ff38}.quick-practice-icon{background:#ffffff24;border-radius:17px;place-items:center;width:52px;height:52px;display:grid;box-shadow:inset 0 1px #ffffff40}.quick-practice-icon ion-icon{color:var(--ul-yellow);font-size:1.45rem}.quick-practice-banner>span:nth-child(2){gap:1px;min-width:0;display:grid}.quick-practice-banner small{color:#d9d0ff;letter-spacing:.12em;font-size:.59rem;font-weight:900}.quick-practice-banner strong{letter-spacing:-.02em;font-size:.95rem}.quick-practice-banner em{color:#eeeaff;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-style:normal;overflow:hidden}.quick-practice-cta{color:var(--ul-yellow);align-items:center;gap:4px;font-size:.68rem;font-weight:900;display:inline-flex}.quick-practice-cta ion-icon{font-size:.9rem}.home-section{margin-top:32px}.home-dashboard-grid{display:grid}.home-dashboard-grid>.home-section{min-width:0}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:13px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:1.3rem}.section-heading>strong{color:var(--ul-blue);font-size:.8rem}.section-heading>button{color:var(--ul-blue);background:0 0;border:0;font-size:.78rem;font-weight:850}.daily-goal-card{border:1px solid var(--ul-line);background:#fff;border-radius:22px;align-items:center;gap:17px;padding:17px;display:flex}.goal-ring{background:conic-gradient(var(--ul-green) var(--goal), #e9edf2 0);border-radius:50%;flex:0 0 90px;place-items:center;width:90px;height:90px;display:grid;position:relative}.goal-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.goal-ring span{z-index:1;text-align:center;display:grid}.goal-ring strong{font-size:1rem}.goal-ring small{color:var(--ul-muted);font-size:.58rem}.daily-goal-card h3{margin:0 0 4px;font-size:1rem}.daily-goal-card p{color:var(--ul-muted);margin:0 0 9px;font-size:.76rem;line-height:1.4}.daily-goal-card button{color:var(--ul-pink);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.73rem;font-weight:850;display:flex}.daily-phrase-unit{max-width:210px;color:var(--ul-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;font-weight:800;overflow:hidden}.daily-phrase-card{background:radial-gradient(circle at 94% -5%,#e4ff306b,#0000 34%),radial-gradient(circle at 0 110%,#008bff1a,#0000 35%),#fff;border:1px solid #5b23ff2e;border-radius:25px;grid-template-rows:1fr auto;grid-template-columns:1fr auto;gap:14px;min-height:190px;padding:23px 23px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 15px 35px #362f4f14}.daily-phrase-quote{color:#5b23ff17;pointer-events:none;font-family:Georgia,serif;font-size:8rem;line-height:1;position:absolute;top:-17px;right:22px}.daily-phrase-copy{z-index:1;align-content:center;justify-items:start;gap:6px;display:grid;position:relative}.daily-phrase-copy>small{color:var(--ul-blue);letter-spacing:.11em;text-transform:uppercase;font-size:.62rem;font-weight:900}.daily-phrase-copy>strong{letter-spacing:-.045em;max-width:590px;font-size:clamp(1.65rem,5vw,2.4rem);line-height:1.06}.daily-phrase-copy>p{color:var(--ul-muted);margin:2px 0 0;font-size:.85rem;animation:.22s both slide-in}.phrase-reveal{border:1px dashed color-mix(in srgb, var(--ul-blue) 38%, var(--ul-line));color:var(--ul-blue);background:0 0;border-radius:999px;margin-top:6px;padding:7px 11px;font-size:.67rem;font-weight:850}.daily-phrase-actions{z-index:1;flex-direction:column;justify-content:center;gap:7px;display:flex;position:relative}.daily-phrase-actions button{border:1px solid var(--ul-line);width:42px;height:42px;color:var(--ul-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border-radius:14px;place-items:center;font-size:1.05rem;display:grid}.daily-phrase-actions button:first-child{color:var(--ul-blue);background:#efeaff;border-color:#5b23ff33}.daily-phrase-actions button.active{color:#a66900;background:#fff9db;border-color:#ead67d}.daily-phrase-status{color:#00845e;grid-column:1/-1;font-size:.68rem;font-weight:850}.unit-preview-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.unit-preview-row button{border:1px solid var(--ul-line);text-align:left;min-width:0;color:var(--ul-ink);background:#fff;border-radius:18px;justify-items:start;padding:12px;display:grid}.unit-preview-row button:disabled{opacity:.48}.unit-preview-row span{border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:10px;font-size:1.35rem;display:grid}.unit-preview-row strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.76rem;overflow:hidden}.unit-preview-row small{color:var(--ul-muted);margin-top:3px;font-size:.62rem}.learn-intro{color:#fff;background:linear-gradient(135deg,#5b23ff,#362f4f);border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex;box-shadow:0 16px 30px #5b23ff3d}.learn-intro .eyebrow{color:#cfe5ff}.learn-intro h1{letter-spacing:-.05em;margin:0 0 5px;font-size:2rem}.learn-intro p:last-child{color:#e0edff;max-width:430px;margin:0;font-size:.82rem;line-height:1.45}.level-ring{border:8px solid #fff3;border-top-color:var(--ul-yellow);border-radius:50%;flex:0 0 82px;align-content:center;place-items:center;width:82px;height:82px;display:grid;transform:rotate(10deg)}.level-ring>*{transform:rotate(-10deg)}.level-ring strong{font-size:1rem}.level-ring small{color:#dbeaff;font-size:.6rem}.path-list{gap:13px;margin-top:22px;display:grid;position:relative}.path-list:before{content:"";background:#e2e7ef;width:3px;position:absolute;top:20px;bottom:20px;left:34px}.unit-card{z-index:1;border:1px solid var(--ul-line);width:100%;min-height:122px;color:var(--ul-ink);text-align:left;background:#fff;border-radius:22px;grid-template-columns:40px 1fr 58px;align-items:center;gap:13px;padding:15px;display:grid;position:relative;box-shadow:0 5px 16px #1820330b}.unit-card.is-locked{opacity:.72;filter:grayscale(.25)}.unit-card.is-complete{border-color:#a8ead8}.unit-rail{align-self:stretch;place-items:center;display:grid}.unit-number{background:color-mix(in srgb, var(--unit-color) 72%, #07111f);color:#fff;width:40px;height:40px;box-shadow:0 0 0 2px color-mix(in srgb, var(--unit-color) 22%, white);border:4px solid #fff;border-radius:50%;place-items:center;font-size:.8rem;font-weight:950;display:grid}.unit-copy{min-width:0;display:grid}.unit-copy>small{color:var(--ul-muted);letter-spacing:.08em;font-size:.6rem;font-weight:900}.unit-copy>strong{margin:3px 0;font-size:.97rem}.unit-copy>span:not(.unit-progress-row){color:var(--ul-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.71rem;overflow:hidden}.unit-progress-row{align-items:center;gap:8px;margin-top:10px;display:flex}.unit-progress-track{background:#edf0f4;border-radius:6px;flex:1;height:6px;overflow:hidden}.unit-progress-track i{border-radius:inherit;height:100%;display:block}.unit-progress-row em{color:var(--ul-muted);font-size:.62rem;font-style:normal;font-weight:850}.unit-emoji{border-radius:18px;place-items:center;width:55px;height:55px;font-size:1.6rem;display:grid}.unit-emoji ion-icon{color:#8991a3;font-size:1.25rem}.unit-shell{padding-top:16px}.unit-hero{background:radial-gradient(circle at 90% 15%, color-mix(in srgb, var(--unit-color) 25%, transparent), transparent 36%), white;border:1px solid color-mix(in srgb, var(--unit-color) 28%, var(--ul-line));border-radius:28px;padding:26px 22px 22px;position:relative;overflow:hidden}.unit-hero-emoji{background:color-mix(in srgb, var(--unit-color) 12%, white);border-radius:25px;place-items:center;width:82px;height:82px;margin-bottom:22px;font-size:2.55rem;display:grid;transform:rotate(-4deg)}.unit-hero .eyebrow{color:color-mix(in srgb, var(--unit-color) 65%, #001c3d)}.unit-hero h1{letter-spacing:-.055em;margin:0 0 8px;font-size:clamp(2rem,9vw,3rem);line-height:1}.unit-hero>p:not(.eyebrow){color:var(--ul-muted);margin:0;line-height:1.5}.unit-meta{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.unit-meta span{background:var(--ul-surface);color:var(--ul-muted);border-radius:10px;align-items:center;gap:5px;padding:7px 10px;font-size:.7rem;font-weight:800;display:flex}.grammar-pill{background:radial-gradient(circle at 92% -10%,#e4ff3059,#0000 40%),#fffdf3;border:1px solid #ead9a6;border-radius:20px;gap:13px;margin-top:16px;padding:16px;display:flex}.grammar-pill-icon{color:#a66900;background:#fff2c4;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:1.35rem;display:grid}.grammar-pill .eyebrow{color:#a66900}.grammar-pill strong{color:var(--ul-ink);letter-spacing:-.02em;margin:1px 0 5px;font-size:.95rem;display:block}.grammar-pill>div>p:last-child{color:#6f5b2a;margin:0;font-size:.82rem;line-height:1.5}.ion-palette-dark .grammar-pill{background:radial-gradient(circle at 92% -10%,#e4ff301a,#0000 40%),#2a2413;border-color:#5c4d1f}.ion-palette-dark .grammar-pill-icon{color:#f0cf5a;background:#453a16}.ion-palette-dark .grammar-pill strong{color:#f5efd8}.ion-palette-dark .grammar-pill>div>p:last-child{color:#d3c393}.lesson-list{margin-top:27px}.lesson-row{border:1px solid var(--ul-line);width:100%;min-height:88px;color:var(--ul-ink);text-align:left;background:#fff;border-radius:19px;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;margin-bottom:10px;padding:13px;display:grid}.lesson-row.is-current{border-color:var(--ul-blue);box-shadow:0 7px 18px #5b23ff1a}.lesson-row.is-locked{opacity:.72}.lesson-index{width:43px;height:43px;color:var(--ul-blue);background:#edf3fb;border-radius:50%;place-items:center;font-size:.78rem;font-weight:950;display:grid}.lesson-row.is-complete .lesson-index{color:#008d64;background:#def8ef}.lesson-row small{color:var(--ul-muted);letter-spacing:.06em;font-size:.58rem;font-weight:850}.lesson-row strong,.lesson-row em{display:block}.lesson-row strong{margin:3px 0 1px;font-size:.9rem}.lesson-row em{color:var(--ul-muted);font-size:.7rem;font-style:normal}.lesson-row>ion-icon{color:#a4abb9}.lesson-header ion-toolbar{--background:white;--border-color:var(--ul-line);--min-height:61px}.lesson-header ion-button{--color:var(--ul-muted)}.lesson-header ion-button ion-icon{font-size:1.5rem}.lesson-progress{align-items:center;gap:10px;height:100%;padding:0 12px;display:flex}.lesson-progress>span{background:#e8ecf2;border-radius:10px;flex:1;height:9px;overflow:hidden}.lesson-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--ul-green), #39dbae);height:100%;transition:width .26s;display:block}.lesson-progress strong{color:var(--ul-muted);font-size:.7rem}.lesson-xp{color:var(--ul-blue);align-items:center;gap:3px;margin-right:12px;font-size:.75rem;font-weight:900;display:flex}.lesson-shell{flex-direction:column;width:min(100%,680px);min-height:calc(100% - 1px);margin:0 auto;padding:18px 18px 150px;display:flex}.lesson-context{align-items:center;gap:9px;margin-bottom:22px;display:flex}.lesson-context>span{border-radius:13px;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.lesson-context div{display:grid}.lesson-context small{color:var(--ul-muted);font-size:.65rem}.lesson-context strong{font-size:.85rem}.exercise-card{border:1px solid var(--ul-line);background:#fff;border-radius:25px;flex:1;padding:clamp(20px,5vw,34px);box-shadow:0 10px 30px #1820330f}.exercise-instruction{color:var(--ul-blue);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:900}.exercise-prompt{letter-spacing:-.045em;margin:14px 0 28px;font-size:clamp(1.65rem,7vw,2.5rem);font-weight:900;line-height:1.13}.answer-list{gap:10px;display:grid}.answer-option{border:2px solid var(--ul-line);width:100%;min-height:61px;color:var(--ul-ink);text-align:left;background:#fff;border-radius:17px;align-items:center;gap:12px;padding:9px 14px;display:flex}.answer-option.is-selected{border-color:var(--ul-blue);background:#f0f7ff;box-shadow:0 5px 16px #5b23ff1a}.answer-option>span{width:32px;height:32px;color:var(--ul-muted);background:#f0f2f6;border-radius:10px;flex:0 0 32px;place-items:center;font-size:.7rem;font-weight:900;display:grid}.answer-option.is-selected>span{background:var(--ul-blue);color:#fff}.answer-option strong{font-size:.88rem}.exercise-check{margin-top:24px}.sentence-builder{border-bottom:2px solid var(--ul-line);flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:95px;padding:10px 2px 16px;display:flex}.sentence-builder.is-empty{color:var(--ul-muted);font-size:.8rem}.sentence-builder button,.word-chip{min-height:42px;color:var(--ul-ink);background:#fff;border:1px solid #ced5e1;border-bottom-width:3px;border-radius:12px;padding:7px 12px;font-weight:800}.word-bank{flex-wrap:wrap;place-content:flex-start center;gap:9px;min-height:120px;padding-top:22px;display:flex}.match-help{color:var(--ul-muted);margin:-17px 0 13px;font-size:.75rem}.match-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.match-grid>div{gap:9px;display:grid}.match-option{border:2px solid var(--ul-line);min-height:65px;color:var(--ul-ink);background:#fff;border-radius:15px;padding:9px;font-size:.75rem;font-weight:800}.match-option.is-selected{border-color:var(--ul-blue);background:#f1edff}.match-option.is-matched{color:#005ea8;background:#e9f5ff;border-color:#7cc7ff}.match-message{color:var(--ul-muted);text-align:center;font-size:.74rem}.audio-orb{background:var(--ul-blue);color:#fff;border:0;border-radius:50%;align-content:center;place-items:center;gap:3px;width:90px;height:90px;margin:13px 0 10px;display:grid;box-shadow:0 13px 28px #5b23ff42}.audio-orb ion-icon{font-size:2rem}.audio-orb span{font-size:.62rem;font-weight:850}.feedback-footer{border:0;box-shadow:0 -5px 25px #1820331c}.feedback-footer>div{grid-template-columns:48px 1fr minmax(150px,200px);align-items:center;gap:13px;min-height:116px;padding:17px max(18px,50% - 340px);display:grid}.feedback-footer.is-correct>div{color:#006e4f;background:#e6faf3}.feedback-footer.is-wrong>div{color:#b01845;background:#fff0f3}.feedback-icon{background:currentColor;border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.feedback-icon ion-icon{color:#fff;font-size:1.4rem}.feedback-footer strong{font-size:1.03rem}.feedback-footer p{margin:3px 0 0;font-size:.76rem;line-height:1.35}.feedback-footer.is-correct .ul-button{color:#fff;background:#007a59}.feedback-footer.is-wrong .ul-button{color:#fff;background:#b01845}.result-shell{width:min(100%,580px);min-height:100%;padding:max(55px, env(safe-area-inset-top)) 22px 34px;text-align:center;flex-direction:column;align-items:center;margin:auto;display:flex;position:relative;overflow:hidden}.result-medal{background:linear-gradient(145deg,#5b23ff,#362f4f);border:12px solid #eeeaff;border-radius:50%;place-items:center;width:128px;height:128px;margin-bottom:25px;display:grid;box-shadow:0 18px 40px #5b23ff47}.result-medal span{color:var(--ul-yellow);filter:drop-shadow(0 4px 3px #00000021);font-size:4.2rem}.result-shell h1{letter-spacing:-.065em;margin:0;font-size:clamp(2.7rem,12vw,4.5rem);font-weight:950}.result-shell>p:not(.eyebrow){max-width:430px;color:var(--ul-muted);margin:11px 0 27px;line-height:1.5}.result-stats{grid-template-columns:repeat(3,1fr);gap:9px;width:100%;margin-bottom:21px;display:grid}.result-stats div{border:1px solid var(--ul-line);background:#fff;border-radius:18px;align-content:center;place-items:center;min-height:105px;padding:12px 6px;display:grid}.result-stats ion-icon{color:var(--ul-blue);font-size:1.35rem}.result-stats strong{margin:5px 0 2px;font-size:1.15rem}.result-stats small{color:var(--ul-muted);font-size:.55rem;font-weight:850}.result-tip{text-align:left;background:#fffce1;border-radius:17px;align-items:center;gap:12px;width:100%;margin-bottom:23px;padding:14px;display:flex}.result-tip>span{font-size:1.5rem}.result-tip p{color:#6c6216;margin:0;font-size:.75rem}.result-tip strong{color:#514800;display:block}.confetti i{--x:calc((var(--i) * 47) % 100);top:calc((var(--i) * 29) % 48 * 1%);left:calc(var(--x) * 1%);background:hsl(calc(var(--i) * 43), 85%, 58%);width:8px;height:14px;transform:rotate(calc(var(--i) * 23deg));opacity:.65;border-radius:2px;position:absolute}.review-hero{color:#fff;background:linear-gradient(135deg,#172c50,#234d81);border-radius:24px;align-items:center;gap:16px;padding:20px;display:flex}.review-hero-icon{background:#ffffff21;border-radius:21px;flex:0 0 66px;place-items:center;width:66px;height:66px;display:grid}.review-hero-icon ion-icon{font-size:2rem}.review-hero .eyebrow{color:#91c8ff}.review-hero h1{letter-spacing:-.04em;margin:0 0 4px;font-size:1.35rem}.review-hero p:last-child{color:#c6d8ef;margin:0;font-size:.76rem}.review-status{align-items:center;gap:10px;margin:20px 0 10px;display:flex}.review-status span{background:#e4e9f0;border-radius:8px;flex:1;height:8px;overflow:hidden}.review-status i{background:var(--ul-green);height:100%;display:block}.review-status strong{color:var(--ul-muted);font-size:.7rem}.mastery-card{border:1px solid var(--ul-line);background:#fff;border-radius:13px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 13px;display:flex}.mastery-card>span{color:var(--ul-muted);letter-spacing:.08em;font-size:.6rem;font-weight:900}.mastery-card>div{gap:4px;display:flex}.mastery-card i{background:#e4e8ef;border-radius:5px;width:17px;height:7px}.mastery-card i.active{background:var(--ul-green)}.mastery-card small{color:var(--ul-muted);margin-left:auto;font-size:.65rem}.review-feedback{border-radius:18px;margin-top:12px;padding:16px}.review-feedback.good{color:#007653;background:#e6faf3}.review-feedback.bad{color:#ac1742;background:#fff0f3}.review-feedback p{margin:5px 0 13px;font-size:.76rem}.empty-review{text-align:center;align-content:center;justify-items:center;min-height:390px;display:grid}.empty-review>span{font-size:4.5rem}.empty-review h2{margin:13px 0 6px;font-size:1.8rem}.empty-review p{max-width:390px;color:var(--ul-muted);margin:0 0 22px;line-height:1.5}.empty-review .ul-button{max-width:320px}.league-hero{background:linear-gradient(135deg,#fff4e6,#fffaf4);border:1px solid #f2d8b7;border-radius:24px;grid-template-columns:58px 1fr auto;align-items:center;gap:13px;padding:19px;display:grid}.league-shield{clip-path:polygon(50% 0,92% 18%,82% 76%,50% 100%,18% 76%,8% 18%);background:#b87436;place-items:center;width:56px;height:62px;font-size:1.7rem;display:grid}.league-hero .eyebrow{color:#a55c21}.league-hero h1{margin:0 0 2px;font-size:1.25rem}.league-hero p:last-child{color:#8a6a52;margin:0;font-size:.7rem}.league-time{color:#93613b;align-items:center;gap:3px;font-size:.65rem;font-weight:850;display:flex}.podium{justify-content:center;align-items:end;min-height:215px;margin:28px 0 15px;display:flex}.podium-place{justify-items:center;width:31%;max-width:145px;display:grid;position:relative}.podium-place>span{color:#5d667a;background:#e9edf5;border:4px solid #fff;border-radius:50%;place-items:center;width:53px;height:53px;margin-bottom:8px;font-size:.75rem;font-weight:900;display:grid;box-shadow:0 0 0 2px #d7dde8}.podium-place.first>span{color:#4815c5;background:#eeeaff;width:64px;height:64px;box-shadow:0 0 0 3px #b7a7ff}.podium-place>i{font-size:1.6rem;font-style:normal;position:absolute;top:-25px}.podium-place>strong{color:#172033;background:#aeb8c8;place-items:center;width:100%;height:56px;font-size:1.4rem;display:grid}.podium-place.first>strong{color:#fff;background:#5b23ff;height:88px}.podium-place.third>strong{color:#fff;background:#8b532c;height:44px}.podium-place b{margin-top:7px;font-size:.76rem}.podium-place small{color:var(--ul-muted);font-size:.62rem}.ranking-list{border:1px solid var(--ul-line);background:#fff;border-radius:21px;overflow:hidden}.ranking-row{border-bottom:1px solid var(--ul-line);grid-template-columns:25px 40px 1fr auto;align-items:center;gap:9px;min-height:70px;padding:10px 14px;display:grid}.ranking-row:last-child{border-bottom:0}.ranking-row.me{background:#f1edff}.ranking-row>strong{color:var(--ul-muted);text-align:center}.ranking-row>span{color:#626b7f;background:#eef1f6;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.65rem;font-weight:900;display:grid}.ranking-row.me>span{background:var(--ul-blue);color:#fff}.ranking-row div{display:grid}.ranking-row b{font-size:.82rem}.ranking-row small{color:var(--ul-muted);font-size:.62rem}.ranking-row em{color:var(--ul-blue);font-size:.72rem;font-style:normal;font-weight:900}.ranking-note{color:var(--ul-muted);text-align:center;margin:18px;font-size:.72rem}.profile-card{border:1px solid var(--ul-line);background:#fff;border-radius:24px;grid-template-columns:70px 1fr auto;align-items:center;gap:14px;padding:20px;display:grid}.profile-avatar{color:#fff;background:linear-gradient(145deg,#5b23ff,#362f4f);border-radius:21px;place-items:center;width:68px;height:68px;font-size:1.3rem;font-weight:950;display:grid}.profile-card h1{letter-spacing:-.04em;margin:0 0 3px;font-size:1.35rem}.profile-card>div:nth-child(2)>span{color:var(--ul-muted);font-size:.72rem}.profile-card>button{width:38px;height:38px;color:var(--ul-blue);background:#edf4fd;border:0;border-radius:12px;place-items:center;display:grid}.profile-numbers{grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0;display:grid}.profile-numbers div{border:1px solid var(--ul-line);background:#fff;border-radius:18px;align-content:center;place-items:center;min-height:105px;display:grid}.profile-numbers ion-icon{color:var(--ul-blue);font-size:1.35rem}.profile-numbers strong{margin:5px 0 1px;font-size:1.1rem}.profile-numbers small{color:var(--ul-muted);font-size:.61rem}.settings-card{border:1px solid var(--ul-line);background:#fff;border-radius:20px;margin-top:13px;padding:17px}.profile-insight-grid{display:grid}.course-setting{align-items:center;gap:12px;display:flex}.course-setting>span{background:var(--ul-surface);border-radius:14px;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.course-setting div{display:grid}.course-setting strong{font-size:.86rem}.course-setting small{color:var(--ul-muted);font-size:.66rem}.profile-progress{background:#e8ecf2;border-radius:7px;height:7px;margin-top:13px;overflow:hidden}.profile-progress i{border-radius:inherit;background:var(--ul-blue);height:100%;display:block}.setting-row{border-bottom:1px solid var(--ul-line);align-items:center;gap:12px;min-height:61px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row>ion-icon{color:var(--ul-blue);font-size:1.25rem}.setting-row>span{flex:1;display:grid}.setting-row strong{font-size:.8rem}.setting-row small{color:var(--ul-muted);font-size:.64rem}.edit-profile{gap:13px;display:grid}.edit-profile label{gap:6px;font-size:.72rem;font-weight:850;display:grid}.danger-link{color:#b21f49;background:0 0;border:0;width:100%;margin-top:24px;font-size:.76rem;font-weight:850}.app-version{color:var(--ul-muted);text-align:center;font-size:.65rem}.backup-card{background:radial-gradient(circle at 100% 0,#e4ff304d,#0000 35%),#fff;overflow:hidden}.backup-heading{grid-template-columns:auto 1fr;align-items:center;gap:13px;display:grid}.backup-heading>span{width:52px;height:52px;color:var(--ul-yellow);background:linear-gradient(145deg,#5b23ff,#4520ae);border-radius:17px;place-items:center;font-size:1.4rem;display:grid;box-shadow:0 10px 22px #5b23ff30}.backup-heading h2{letter-spacing:-.03em;margin:0 0 3px;font-size:1.08rem}.backup-heading p:last-child{color:var(--ul-muted);margin:0;font-size:.68rem;line-height:1.35}.backup-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;display:grid}.backup-actions button{border:1px solid var(--ul-line);background:var(--ul-card);min-height:70px;color:var(--ul-ink);text-align:left;border-radius:17px;align-items:center;gap:10px;padding:11px 12px;display:flex}.backup-actions button>ion-icon{color:var(--ul-blue);flex:none;font-size:1.3rem}.backup-actions button>span{gap:1px;display:grid}.backup-actions strong{font-size:.76rem}.backup-actions small{color:var(--ul-muted);font-size:.59rem}.backup-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;overflow:hidden}.backup-status{color:#007653;background:#e9fbf5;border-radius:11px;margin:12px 0 0;padding:8px 10px;font-size:.67rem;font-weight:800}.backup-status.error{color:#b21f49;background:#fff0f4}.cloud-card .backup-heading>span{color:var(--ul-blue);background:#eef3ff}.sync-code-row{gap:10px;margin-top:14px;display:grid}.sync-code-reveal{color:var(--ul-blue);background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:.78rem;font-weight:850;display:inline-flex}.sync-code-reveal ion-icon{font-size:1.05rem}.sync-code-box{border:1px solid var(--ul-line);background:var(--ul-surface);border-radius:13px;align-items:center;gap:8px;padding:10px 12px;display:flex}.sync-code-box code{color:var(--ul-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.72rem;font-weight:700;overflow:hidden}.sync-code-box button{width:36px;height:36px;color:var(--ul-blue);background:#eef3ff;border:0;border-radius:10px;flex:none;place-items:center;font-size:1.1rem;display:grid}.sync-code-link{color:var(--ul-muted);background:0 0;border:0;justify-self:start;padding:0;font-size:.74rem;font-weight:800;text-decoration:underline}@media (width<=540px){.feedback-footer>div{grid-template-columns:45px 1fr}.feedback-footer .ul-button{grid-column:1/-1;min-height:48px}.league-hero{grid-template-columns:52px 1fr}.league-time{grid-column:2}}@media (width>=760px){.home-shell,.learn-shell,.review-shell,.ranking-shell,.profile-shell{padding-top:30px}.home-shell,.profile-shell{width:min(100%,980px)}.continue-card{padding:27px}.home-dashboard-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px}.home-dashboard-grid>.home-section{flex-direction:column;display:flex}.home-dashboard-grid .daily-goal-card,.home-dashboard-grid .quest-list{flex:1}.profile-insight-grid{grid-template-columns:1fr 1fr;gap:13px}.profile-insight-grid .settings-card{min-width:0}.profile-insight-grid .week-chart{grid-column:1/-1}.onboarding-panel .ul-button{max-width:360px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.ion-palette-dark body{background:var(--ul-surface)}.ion-palette-dark .ul-header ion-toolbar,.ion-palette-dark .lesson-header ion-toolbar{--background:#111a28f5;--border-color:var(--ul-line);--color:var(--ul-ink)}.ion-palette-dark .ul-tabs{--background:linear-gradient(135deg, #362f4ffa, #181424fa);border-color:#b19eff3d;box-shadow:0 18px 42px #00000080,0 5px 16px #0000005c}.ion-palette-dark .ul-tabs ion-tab-button{--color:#f8f7ffad;--color-selected:#e4ff30;--color-focused:#f8f7ffad}.ion-palette-dark .tab-dot{border-color:#362f4f}.ion-palette-dark .header-avatar{color:#e2dcff;background:#3a2c67;border-color:#211a31;box-shadow:0 0 0 2px #6d55ae}.ion-palette-dark .ul-button--primary:disabled{color:#b2bdcf;background:#4b4265}.ion-palette-dark .top-stat,.ion-palette-dark .continue-card,.ion-palette-dark .daily-goal-card,.ion-palette-dark .unit-preview-row button,.ion-palette-dark .unit-card,.ion-palette-dark .unit-hero,.ion-palette-dark .lesson-row,.ion-palette-dark .exercise-card,.ion-palette-dark .answer-option,.ion-palette-dark .sentence-builder button,.ion-palette-dark .word-chip,.ion-palette-dark .match-option,.ion-palette-dark .result-stats div,.ion-palette-dark .mastery-card,.ion-palette-dark .ranking-list,.ion-palette-dark .profile-card,.ion-palette-dark .profile-numbers div,.ion-palette-dark .settings-card,.ion-palette-dark .language-card,.ion-palette-dark .goal-grid button{background:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .daily-phrase-card,.ion-palette-dark .backup-card{background:radial-gradient(circle at 94% -5%, #e4ff301f, transparent 34%), var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .daily-phrase-actions button,.ion-palette-dark .backup-actions button{color:var(--ul-ink);border-color:var(--ul-line);background:#30283f}.ion-palette-dark .daily-phrase-actions button:first-child{color:#d5caff;background:#382875;border-color:#59459b}.ion-palette-dark .daily-phrase-actions button.active{color:#f0cf5a;background:#453a16;border-color:#7f6921}.ion-palette-dark .backup-status{color:#74ebc7;background:#12382f}.ion-palette-dark .backup-status.error{color:#ff8caf;background:#3d1927}.ion-palette-dark .cloud-card .backup-heading>span,.ion-palette-dark .sync-code-box button{color:#cfc2ff;background:#382875}.ion-palette-dark .sync-code-box{border-color:var(--ul-line);background:#332a49}.ion-palette-dark .continue-card{background:radial-gradient(circle at 96% 5%, color-mix(in srgb, var(--unit-color) 20%, transparent), transparent 35%), var(--ul-card)}.ion-palette-dark .unit-hero{background:radial-gradient(circle at 90% 15%, color-mix(in srgb, var(--unit-color) 24%, transparent), transparent 36%), var(--ul-card)}.ion-palette-dark .unit-pill,.ion-palette-dark .continue-emoji,.ion-palette-dark .unit-hero-emoji,.ion-palette-dark .unit-emoji{background:color-mix(in srgb, var(--unit-color) 18%, var(--ul-card))}.ion-palette-dark .unit-pill,.ion-palette-dark .unit-hero .eyebrow{color:color-mix(in srgb, var(--unit-color) 42%, white)}.ion-palette-dark .continue-progress>span,.ion-palette-dark .lesson-progress>span,.ion-palette-dark .unit-progress-track,.ion-palette-dark .profile-progress,.ion-palette-dark .review-status span,.ion-palette-dark .path-list:before{background:#4b4265}.ion-palette-dark .onboarding-page ion-content{--background:radial-gradient(circle at 12% 8%, #e4ff3014, transparent 27%), radial-gradient(circle at 88% 18%, #008bff1f, transparent 26%), var(--ul-surface)}.ion-palette-dark .language-card .flag,.ion-palette-dark .course-setting>span,.ion-palette-dark .answer-option>span,.ion-palette-dark .lesson-index,.ion-palette-dark .ranking-row>span{color:var(--ul-muted);background:#332a49}.ion-palette-dark .language-card.is-selected,.ion-palette-dark .goal-grid button.selected,.ion-palette-dark .answer-option.is-selected,.ion-palette-dark .match-option.is-selected,.ion-palette-dark .ranking-row.me{border-color:var(--ul-blue);background:#382875}.ion-palette-dark .answer-option.is-selected>span,.ion-palette-dark .ranking-row.me>span{background:var(--ul-blue);color:#07111f}.ion-palette-dark .match-option.is-matched,.ion-palette-dark .lesson-row.is-complete .lesson-index{color:#8ed0ff;background:#183d5c;border-color:#287cc1}.ion-palette-dark .goal-ring:after{background:var(--ul-card)}.ion-palette-dark .name-field input,.ion-palette-dark .edit-profile input,.ion-palette-dark .edit-profile select{background:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .league-hero{background:linear-gradient(135deg,#392817,#241d17);border-color:#61452b}.ion-palette-dark .league-hero .eyebrow{color:#f4bd83}.ion-palette-dark .league-hero p:last-child{color:#e2c5aa}.ion-palette-dark .league-time{color:#f1c38f}.ion-palette-dark .danger-link{color:#ff83a8}.ion-palette-dark .review-feedback.good,.ion-palette-dark .feedback-footer.is-correct>div{color:#74ebc7;background:#12382f}.ion-palette-dark .review-feedback.bad,.ion-palette-dark .feedback-footer.is-wrong>div{color:#ff8caf;background:#3d1927}.ion-palette-dark .feedback-footer.is-correct .ul-button{color:#12382f;background:#74ebc7}.ion-palette-dark .feedback-footer.is-wrong .ul-button{color:#3d1927;background:#ff8caf}.ion-palette-dark .result-tip{background:#353018}.ion-palette-dark .result-tip p,.ion-palette-dark .result-tip strong{color:#f5e98f}.course-option{border:1.5px solid var(--ul-line);text-align:left;background:#fff;border-radius:16px;align-items:center;gap:12px;width:100%;margin-bottom:9px;padding:11px;display:flex}.course-option>span{background:var(--ul-surface);border-radius:14px;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.course-option div{flex:1;display:grid}.course-option strong{font-size:.86rem}.course-option small{color:var(--ul-muted);font-size:.66rem}.course-option>ion-icon{color:var(--ul-blue);font-size:1.3rem}.course-option.is-active{border-color:var(--ul-blue);background:color-mix(in srgb, var(--ul-blue) 7%, white)}.setting-row--sub{padding-left:33px}.setting-row--sub select{border:1.5px solid var(--ul-line);font:inherit;color:var(--ul-ink);background:#fff;border-radius:12px;padding:8px 12px;font-size:.78rem;font-weight:800}.upcoming-review{border:1px dashed var(--ul-line);text-align:left;border-radius:16px;max-width:330px;margin:4px auto 14px;padding:13px 15px}.upcoming-review strong{letter-spacing:.04em;text-transform:uppercase;color:var(--ul-blue);margin-bottom:4px;font-size:.72rem;display:block}.upcoming-review p{color:var(--ul-muted);margin:0;font-size:.78rem}.podium-place.me b{color:var(--ul-blue)}.podium-place.me>span{outline:2.5px solid var(--ul-blue);outline-offset:2px}.ion-palette-dark .course-option{background:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .course-option>span{background:#332a49}.ion-palette-dark .course-option.is-active{border-color:var(--ul-blue);background:#382875}.ion-palette-dark .setting-row--sub select{background:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.week-chart-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.week-chart-head strong{font-size:.92rem}.week-chart-plot{border-bottom:1px solid var(--ul-line);align-items:flex-end;gap:8px;height:118px;padding-bottom:0;display:flex;position:relative}.week-goal-line{border-top:2px dashed color-mix(in srgb, var(--ul-muted) 55%, transparent);pointer-events:none;position:absolute;left:0;right:0}.week-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.week-col span{background:var(--ul-chart-bar);border-radius:4px 4px 0 0;width:min(100%,20px)}.week-col span.is-empty{background:var(--ul-line);border-radius:2px;height:3px}.week-col em{color:var(--ul-ink);margin-bottom:3px;font-size:.62rem;font-style:normal;font-weight:850}.week-col small{color:var(--ul-muted);font-size:.62rem;font-weight:800;position:absolute;bottom:-20px}.week-col.is-today small{color:var(--ul-ink);text-underline-offset:3px;text-decoration:underline}.week-chart-note{color:var(--ul-muted);margin:26px 0 0;font-size:.64rem}.warmup-card{border:1px solid var(--ul-line);text-align:center;background:#fff;border-radius:22px;padding:21px}.warmup-card h1{margin:4px 0 6px;font-size:1.3rem}.warmup-lead{color:var(--ul-muted);margin:0 0 15px;font-size:.8rem}.warmup-list{gap:9px;margin-bottom:17px;display:grid}.warmup-row{border:1.5px solid var(--ul-line);background:var(--ul-surface);text-align:left;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.warmup-row>ion-icon{color:var(--ul-blue);flex-shrink:0;font-size:1.25rem}.warmup-row span{display:grid}.warmup-row strong{font-size:.88rem}.warmup-row small{color:var(--ul-muted);font-size:.7rem}.warmup-start{width:100%}.ion-palette-dark .warmup-card{background:var(--ul-card);border-color:var(--ul-line)}.ion-palette-dark .warmup-row{border-color:var(--ul-line);background:#332a49}.result-goal{color:#362f4f;background:#e4ff30;border-radius:999px;width:fit-content;margin:14px auto 0;padding:9px 16px;font-size:.8rem;font-weight:900}.ion-palette-dark .result-goal{color:#f5e98f;background:#353018}.result-level{border:1px solid var(--ul-line);text-align:left;background:#fff;border-radius:18px;width:100%;margin:4px 0 20px;padding:15px 16px}.result-level-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.result-level-head span{align-items:center;gap:6px;font-size:.9rem;font-weight:900;display:inline-flex}.result-level-head span ion-icon{color:#a66900;font-size:1.15rem}.result-level-head small{color:var(--ul-muted);font-size:.72rem;font-weight:800}.result-level-bar{background:#edf0f5;border-radius:10px;height:12px;overflow:hidden}.result-level-bar i{border-radius:inherit;background:linear-gradient(90deg,#5b23ff,#8a6bff);height:100%;transition:width .12s linear;display:block}.result-level p{color:var(--ul-muted);margin:9px 0 0;font-size:.72rem}.ion-palette-dark .result-level{background:var(--ul-card);border-color:var(--ul-line)}.ion-palette-dark .result-level-bar{background:#4b4265}.ion-palette-dark .result-level-head span ion-icon{color:#f0cf5a}.exercise-slide-enter-active,.exercise-slide-leave-active{transition:opacity .22s,transform .22s}.exercise-slide-enter-from{opacity:0;transform:translate(46px)}.exercise-slide-leave-to{opacity:0;transform:translate(-46px)}.audio-row{align-items:center;gap:14px;display:flex}.audio-slow{border:2px solid var(--ul-line);min-height:46px;color:var(--ul-muted);background:#fff;border-radius:15px;align-items:center;gap:7px;padding:6px 14px;font-size:1.05rem;font-weight:850;display:inline-flex}.audio-slow span{font-size:.68rem}.type-answer{border:2px solid var(--ul-line);resize:none;width:100%;min-height:110px;color:var(--ul-ink);font:inherit;background:#fff;border-radius:17px;outline:none;padding:14px 16px;font-size:1.05rem;line-height:1.45}.type-answer:focus{border-color:var(--ul-blue)}.type-hint{color:var(--ul-muted);margin:9px 2px 0;font-size:.68rem}.combo-pill{color:#362f4f;vertical-align:2px;background:#e4ff30;border-radius:999px;margin-left:7px;padding:3px 9px;font-size:.68rem;font-weight:950;animation:.34s combo-pop;display:inline-block}@keyframes combo-pop{0%{transform:scale(.4)}62%{transform:scale(1.18)}to{transform:scale(1)}}.feedback-mascot{width:48px;height:52px;display:block}.result-mascot{width:86px;height:92px}.result-streak .flame-alive{color:#ff6a00;animation:1.1s ease-in-out infinite flame-flicker}@keyframes flame-flicker{0%,to{opacity:1;transform:scale(1)}35%{opacity:.88;transform:scale(1.18)rotate(-3deg)}70%{transform:scale(1.06)rotate(2deg)}}.result-achievements{gap:8px;width:100%;margin-bottom:21px;display:grid}.result-achievements .eyebrow{margin-bottom:0}.achievement-toast{text-align:left;background:linear-gradient(135deg,#fff8dd,#fffdf4);border:1.5px solid #ead27a;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;animation:.42s both toast-pop;display:flex}.achievement-toast>span{font-size:1.7rem}.achievement-toast strong{color:#6b5900;font-size:.86rem;display:block}.achievement-toast small{color:#93803a;font-size:.68rem}@keyframes toast-pop{0%{opacity:0;transform:scale(.85)translateY(8px)}70%{transform:scale(1.03)}to{opacity:1;transform:none}}.result-share{color:var(--ul-blue)}.confetti--big i{animation:2.8s linear infinite confetti-drop;animation-delay:calc(var(--i) * -.17s);opacity:.85}@keyframes confetti-drop{0%{transform:translateY(-30px)rotate(0)}to{transform:translateY(72vh)rotate(340deg)}}.path-zigzag{flex-direction:column;gap:30px;margin-top:26px;display:flex}.path-step{align-items:center;gap:16px;display:flex;position:relative}.path-step.pos-0{margin-left:0}.path-step.pos-1{margin-left:48px}.path-step.pos-2{margin-left:96px}.path-step.from-0:before,.path-step.from-1:before,.path-step.from-2:before{content:"";border-left:3px dashed var(--ul-line);transform-origin:bottom;z-index:0;width:0;height:122px;position:absolute;bottom:42px;left:40px}.path-step.pos-1.from-0:before,.path-step.pos-2.from-1:before{transform:rotate(-23deg)}.path-step.pos-0.from-1:before,.path-step.pos-1.from-2:before{transform:rotate(23deg)}.path-node{z-index:1;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 84px;width:84px;height:84px;padding:0;position:relative}.node-ring{position:absolute;inset:0;transform:rotate(-90deg)}.node-ring-track{fill:none;stroke:var(--ul-line);stroke-width:5px}.node-ring-progress{fill:none;stroke:var(--unit-color);stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .42s}.node-face{background:color-mix(in srgb, var(--unit-color) 14%, white);border-radius:50%;place-items:center;font-size:1.75rem;display:grid;position:absolute;inset:9px;box-shadow:inset 0 -3px #0000000f}.path-step.is-complete .node-face{background:color-mix(in srgb, var(--unit-color) 78%, #07111f);color:#fff;font-size:1.5rem;font-weight:950}.path-step.is-locked .node-face{color:#9a93ad;background:#edeaf4;font-size:1.2rem}.path-step.is-locked .node-ring-progress{stroke:#0000}.path-step.is-current .node-face{animation:1.9s infinite node-pulse}@keyframes node-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--unit-color) 42%, transparent)}55%{box-shadow:0 0 0 12px #0000}}.node-badge{z-index:2;color:#362f4f;letter-spacing:.06em;white-space:nowrap;background:#e4ff30;border-radius:999px;padding:4px 9px;font-size:.58rem;font-weight:950;animation:1.6s infinite badge-bounce;position:absolute;top:-13px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #362f4f38}@keyframes badge-bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-5px)}}.path-label{min-width:0;color:var(--ul-ink);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.path-label small{color:var(--ul-muted);letter-spacing:.08em;font-size:.6rem;font-weight:900}.path-label strong{letter-spacing:-.02em;font-size:.95rem}.path-label em{color:var(--ul-muted);font-size:.68rem;font-style:normal;font-weight:750}.path-step.is-locked .path-label{opacity:.55}.freeze-banner{color:#02568f;background:#eaf6ff;border:1.5px solid #9bd4ff;border-radius:15px;margin:0 0 18px;padding:12px 15px;font-size:.8rem;font-weight:750}.level-up-card{color:#fff;background:radial-gradient(circle at 90% -20%,#e4ff3073,#0000 42%),linear-gradient(135deg,#3c177f,#5b23ff 62%,#7049ff);border:0;border-radius:21px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin:0 0 18px;padding:15px 16px;animation:.32s both slide-in;display:grid;box-shadow:0 15px 30px #5b23ff38}.level-up-badge{background:#ffffff24;border-radius:17px;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid;box-shadow:inset 0 1px #ffffff40}.level-up-card strong{letter-spacing:-.02em;font-size:.95rem}.level-up-card p{color:#e3dbff;margin:2px 0 0;font-size:.72rem}.level-up-card button{background:var(--ul-yellow);color:#362f4f;border:0;border-radius:13px;min-height:40px;padding:0 16px;font-size:.78rem;font-weight:900}.level-up-card--streak{background:radial-gradient(circle at 90% -20%,#ffd65980,#0000 42%),linear-gradient(135deg,#8a2c07,#d3541b 62%,#f07a2e);box-shadow:0 15px 30px #d3541b3d}.level-up-card--streak p{color:#ffe1c4}.level-up-card--streak button{color:#7a3407;background:#fff1d6}.level-card .level-bar{background:#edf0f5;border-radius:10px;height:12px;overflow:hidden}.level-card .level-bar i{border-radius:inherit;background:linear-gradient(90deg,#5b23ff,#8a6bff);height:100%;transition:width .38s;display:block}.level-note{color:var(--ul-muted);margin:9px 0 0;font-size:.72rem}.week-strip{border:1px solid var(--ul-line);background:#fff;border-radius:18px;grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 22px;padding:11px 13px;display:grid;box-shadow:0 3px 12px #18203309}.week-strip-day{justify-items:center;gap:5px;display:grid}.week-strip-day span{color:var(--ul-muted);font-size:.6rem;font-weight:900}.week-strip-day i{color:#aeb5c2;background:#edf0f5;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.72rem;font-style:normal;font-weight:900;display:grid}.week-strip-day.is-active i{color:#008d64;background:#def8ef}.week-strip-day.is-today span{color:var(--ul-blue)}.week-strip-day.is-today i{box-shadow:0 0 0 2px var(--ul-blue)}.home-shell>*{animation:.36s both rise-in}.home-shell>:nth-child(2){animation-delay:45ms}.home-shell>:nth-child(3){animation-delay:90ms}.home-shell>:nth-child(4){animation-delay:.135s}.home-shell>:nth-child(5){animation-delay:.18s}.home-shell>:nth-child(n+6){animation-delay:.22s}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.quest-list{border:1px solid var(--ul-line);background:#fff;border-radius:21px;gap:12px;padding:15px;display:grid}.quest-row{grid-template-columns:40px 1fr auto;align-items:center;gap:11px;display:grid}.quest-emoji{background:var(--ul-surface);border-radius:13px;place-items:center;width:40px;height:40px;font-size:1.15rem;display:grid}.quest-row>div{gap:6px;min-width:0;display:grid}.quest-row strong{font-size:.82rem}.quest-track{background:#edf0f5;border-radius:7px;height:7px;overflow:hidden}.quest-track i{border-radius:inherit;background:var(--ul-blue);height:100%;transition:width .38s;display:block}.quest-row.is-done .quest-track i{background:#00b380}.quest-row em{color:var(--ul-muted);font-size:.74rem;font-style:normal;font-weight:900}.quest-row.is-done em{color:#00915f;font-size:.95rem}.quest-note{color:var(--ul-muted);margin:2px 2px 0;font-size:.68rem}.explore-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.explore-row button{border:1px solid var(--ul-line);min-width:0;color:var(--ul-ink);text-align:left;background:#fff;border-radius:18px;justify-items:start;gap:2px;padding:13px 11px;display:grid}.explore-row span{background:var(--ul-surface);border-radius:13px;place-items:center;width:40px;height:40px;margin-bottom:8px;font-size:1.25rem;display:grid}.explore-row strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.76rem;overflow:hidden}.explore-row small{color:var(--ul-muted);font-size:.6rem}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.achievement-cell{border:1px solid var(--ul-line);text-align:center;background:var(--ul-surface);border-radius:16px;align-content:center;justify-items:center;gap:3px;min-height:108px;padding:10px 8px;display:grid}.achievement-cell>span{font-size:1.55rem}.achievement-cell strong{font-size:.66rem;line-height:1.15}.achievement-cell small{color:var(--ul-muted);font-size:.56rem;line-height:1.25}.achievement-cell.is-locked{opacity:.55;filter:grayscale(.6)}.freeze-count{color:#02568f;white-space:nowrap;background:#eaf6ff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900}.heatmap-grid{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.heatmap-col{grid-template-rows:repeat(7,1fr);gap:4px;display:grid}.heatmap-col i,.heatmap-legend i{aspect-ratio:1;border-radius:4px;display:block}.heatmap-col .lvl-off{background:0 0}.heatmap-col .lvl-0,.heatmap-legend .lvl-0{background:#ecemf2;background:color-mix(in srgb, var(--ul-line) 55%, white)}.heatmap-col .lvl-1,.heatmap-legend .lvl-1{background:color-mix(in srgb, var(--ul-chart-bar) 28%, white)}.heatmap-col .lvl-2,.heatmap-legend .lvl-2{background:color-mix(in srgb, var(--ul-chart-bar) 52%, white)}.heatmap-col .lvl-3,.heatmap-legend .lvl-3{background:color-mix(in srgb, var(--ul-chart-bar) 76%, white)}.heatmap-col .lvl-4,.heatmap-legend .lvl-4{background:var(--ul-chart-bar)}.heatmap-legend{align-items:center;gap:4px;margin-top:12px;display:flex}.heatmap-legend i{width:11px}.heatmap-legend span{color:var(--ul-muted);font-size:.6rem;font-weight:750}.heatmap-legend span:first-child{margin-right:3px}.heatmap-legend span:last-child{margin-left:3px}.ranking-row--skeleton .sk{background:linear-gradient(90deg,#ecedf2 25%,#f7f8fb 40%,#ecedf2 60%) 0 0/300% 100%;border-radius:7px;animation:1.3s infinite sk-shimmer;display:block}.sk-pos{width:16px;height:13px;margin:0 auto}.sk-avatar{border-radius:50%;width:38px;height:38px}.sk-name{width:45%;height:12px;margin-bottom:7px}.sk-note{width:65%;height:8px}.sk-xp{width:42px;height:12px}@keyframes sk-shimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.phrasebook-hero{color:#fff;background:radial-gradient(circle at 100% 0,#e4ff3061,#0000 40%),linear-gradient(140deg,#402080,#5b23ff);border-radius:25px;grid-template-columns:1fr auto;align-items:end;gap:18px;margin:2px 0 16px;padding:21px;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 36px #5b23ff33}.phrasebook-hero .eyebrow{color:var(--ul-yellow)}.phrasebook-hero h1{letter-spacing:-.05em;margin:0 0 7px;font-size:clamp(1.75rem,7vw,2.5rem);line-height:1}.phrasebook-hero p:last-child{color:#e6e0ff;max-width:380px;margin:0;font-size:.79rem;line-height:1.45}.phrasebook-hero>button{color:#fff;text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff21;border:1px solid #ffffff3d;border-radius:18px;gap:1px;min-width:150px;padding:12px;display:grid}.phrasebook-hero>button span{margin-bottom:5px;font-size:1.2rem}.phrasebook-hero>button strong{font-size:.77rem}.phrasebook-hero>button small{color:#dcd4ff;font-size:.58rem}.phrasebook-lead{color:var(--ul-muted);margin:4px 2px 18px;font-size:.85rem;line-height:1.5}.phrase-search{border:2px solid var(--ul-line);background:#fff;border-radius:16px;align-items:center;gap:10px;min-height:50px;margin-bottom:22px;padding:0 15px;display:flex}.phrase-search ion-icon{color:var(--ul-muted);flex-shrink:0;font-size:1.15rem}.phrase-search input{min-width:0;color:var(--ul-ink);background:0 0;border:0;outline:none;flex:1;font-size:.92rem}.phrase-filters{align-items:center;gap:7px;margin:-9px 0 22px;display:flex}.phrase-filters button{border:1px solid var(--ul-line);background:var(--ul-card);min-height:37px;color:var(--ul-muted);border-radius:999px;align-items:center;gap:5px;padding:0 13px;font-size:.72rem;font-weight:850;display:inline-flex}.phrase-filters button.active{border-color:var(--ul-blue);color:var(--ul-blue);background:#efeaff}.phrase-filters button span{background:var(--ul-surface);border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.62rem;display:grid}.phrase-group{margin-bottom:24px}.phrase-group h2{letter-spacing:-.02em;align-items:center;gap:8px;margin:0 0 11px;font-size:1.02rem;display:flex}.phrase-group h2 span{font-size:1.2rem}.phrase-row{border:1px solid var(--ul-line);background:#fff;border-radius:17px;grid-template-columns:42px 42px 1fr auto;align-items:center;gap:9px;margin-bottom:9px;padding:11px 12px;display:grid}.phrase-audio{width:42px;height:42px;color:var(--ul-blue);background:#efeaff;border:0;border-radius:13px;place-items:center;font-size:1.05rem;display:grid}.phrase-audio--slow{background:var(--ul-surface)}.phrase-copy{gap:1px;min-width:0;display:grid}.phrase-copy strong{font-size:.88rem}.phrase-copy small{color:var(--ul-muted);font-size:.7rem}.phrase-copy em{font-size:.68rem;font-style:normal;font-weight:800}.phrase-copy em.good{color:#00915f}.phrase-copy em.bad{color:#c22553}.phrase-mic{border:2px solid var(--ul-line);width:42px;height:42px;color:var(--ul-muted);background:#fff;border-radius:50%;place-items:center;font-size:1.05rem;display:grid}.phrase-actions{gap:6px;display:flex}.phrase-favorite{background:var(--ul-surface);color:#9992a8;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.05rem;display:grid}.phrase-favorite.is-favorite{color:#c07b00;background:#fff7cc}.phrase-mic.is-listening{color:#ff4d79;border-color:#ff4d79;animation:1s infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 #ff4d7959}60%{box-shadow:0 0 0 9px #0000}}.phrase-empty{color:var(--ul-muted);text-align:center;margin:30px 0;font-size:.85rem}.quick-practice-shell{width:min(100%,620px);min-height:100%;padding:18px 18px max(32px, env(safe-area-inset-bottom));margin:0 auto}.quick-counter{color:var(--ul-muted);margin-right:14px;font-size:.74rem;font-weight:900}.pron-unavailable{text-align:center;align-content:center;justify-items:center;gap:8px;min-height:70vh;display:grid}.pron-unavailable span{font-size:4rem}.pron-unavailable h1{letter-spacing:-.03em;margin:8px 0 0;font-size:1.6rem}.pron-unavailable p{max-width:340px;color:var(--ul-muted);margin:0 0 18px;line-height:1.5}.pron-unavailable .ul-button{max-width:300px}.pron-card{border:1px solid var(--ul-line);text-align:center;background:radial-gradient(circle at 90% -10%,#5b23ff14,#0000 40%),#fff;border-radius:24px;justify-items:center;gap:10px;margin:18px 0;padding:22px;display:grid;box-shadow:0 12px 30px #1820330f}.pron-card-top{color:var(--ul-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:.66rem;font-weight:850;display:flex}.pron-card-top em{font-size:1.15rem;font-style:normal}.pron-target{letter-spacing:-.035em;font-size:clamp(1.5rem,6vw,2.1rem);line-height:1.1}.pron-pt{color:var(--ul-muted);font-size:.9rem}.pron-listen{border:1px solid var(--ul-line);background:var(--ul-surface);color:var(--ul-blue);border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:8px 15px;font-size:.78rem;font-weight:850;display:inline-flex}.pron-mic{color:#fff;background:linear-gradient(135deg,#5b23ff,#362f4f);border:0;border-radius:20px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:64px;font-size:1rem;font-weight:850;display:flex;box-shadow:0 12px 26px #5b23ff47}.pron-mic ion-icon{font-size:1.5rem}.pron-mic:disabled{opacity:.85}.pron-mic.is-listening{animation:1s infinite mic-pulse}.pron-feedback{border-radius:18px;margin-top:16px;padding:16px}.pron-feedback.good{color:#006e4f;background:#e6faf3}.pron-feedback.bad{color:#b01845;background:#fff0f3}.pron-feedback p{margin:5px 0 13px;font-size:.82rem}.pron-feedback-actions{align-items:center;gap:9px;display:flex}.pron-feedback-actions .ul-button{flex:1;min-height:46px}.pron-retry{min-height:46px;color:inherit;background:0 0;border:1px solid;border-radius:15px;padding:0 16px;font-weight:850}.pron-skip{color:var(--ul-muted);background:0 0;border:0;margin:16px auto 0;font-size:.8rem;font-weight:800;display:block}.ion-palette-dark .pron-card{background:var(--ul-card);border-color:var(--ul-line)}.ion-palette-dark .pron-listen{border-color:var(--ul-line);color:#cfc2ff;background:#332a49}.ion-palette-dark .pron-feedback.good{color:#6fe3b4;background:#14382c}.ion-palette-dark .pron-feedback.bad{color:#ff8caf;background:#3d1927}.quick-progress{background:var(--ul-line);border-radius:999px;height:7px;overflow:hidden}.quick-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--ul-blue), #8f72ff);height:100%;transition:width .28s;display:block}.quick-intro{margin:28px 4px 20px}.quick-intro h1{letter-spacing:-.05em;margin:0 0 7px;font-size:clamp(1.75rem,8vw,2.55rem);line-height:1.02}.quick-intro>p:last-child{color:var(--ul-muted);margin:0;font-size:.82rem}.flash-card{background:radial-gradient(circle at 88% 9%, #e4ff3061, transparent 28%), radial-gradient(circle at 0% 100%, #008bff1c, transparent 40%), var(--ul-card);min-height:390px;color:var(--ul-ink);cursor:pointer;border:1px solid #5b23ff30;border-radius:30px;outline:none;flex-direction:column;justify-content:space-between;padding:22px;transition:transform .18s,border-color .18s;display:flex;box-shadow:0 24px 50px #362f4f1f}.flash-card:focus-visible{border-color:var(--ul-blue);box-shadow:0 0 0 3px #5b23ff21,0 24px 50px #362f4f1f}.flash-card.is-revealed{border-color:#008bff61}.flash-card-top{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.flash-card-top em{background:var(--ul-surface);border-radius:12px;place-items:center;width:38px;height:38px;font-size:1.15rem;font-style:normal;display:grid}.flash-card-top small{color:var(--ul-muted);font-size:.67rem;font-weight:850}.flash-card-top ion-icon{color:var(--ul-blue);font-size:1.25rem}.flash-card-copy{text-align:center;justify-items:center;gap:8px;display:grid}.flash-card-copy>small,.flash-translation small{color:var(--ul-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:900}.flash-card-copy>strong{letter-spacing:-.055em;max-width:470px;font-size:clamp(2rem,9vw,3.25rem);line-height:1.03}.flash-translation{gap:3px;margin-top:12px;animation:.22s both slide-in;display:grid}.flash-translation b{color:var(--ul-blue);font-size:1.15rem}.flash-hint{border:1px dashed var(--ul-line);color:var(--ul-muted);background:0 0;border-radius:999px;margin-top:15px;padding:8px 13px;font-size:.7rem;font-weight:800}.flash-card-actions{justify-content:center;gap:9px;display:flex}.flash-card-actions button{border:1px solid var(--ul-line);background:var(--ul-card);min-height:40px;color:var(--ul-muted);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.69rem;font-weight:850;display:inline-flex}.flash-card-actions button.favorite{color:#a66900;background:#fff9db;border-color:#ead67d}.quick-answer-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;animation:.22s both slide-in;display:grid}.quick-answer-actions button{text-align:left;border-radius:19px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:9px;min-height:74px;padding:11px;display:grid}.quick-answer-actions button>span{border-radius:13px;grid-row:1/3;align-self:center;place-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:950;display:grid}.quick-answer-actions strong{align-self:end;font-size:.78rem}.quick-answer-actions small{font-size:.59rem}.quick-answer-actions .again{border:1px solid var(--ul-line);background:var(--ul-card);color:var(--ul-ink)}.quick-answer-actions .again>span{background:var(--ul-surface);color:var(--ul-muted)}.quick-answer-actions .again small{color:var(--ul-muted)}.quick-answer-actions .got-it{color:#fff;background:linear-gradient(135deg,#5b23ff,#4520ae);border:1px solid #5b23ff;box-shadow:0 12px 25px #5b23ff33}.quick-answer-actions .got-it>span{color:var(--ul-yellow);background:#e4ff302e}.quick-answer-actions .got-it small{color:#ddd4ff}.quick-tip{color:var(--ul-muted);text-align:center;margin:17px 0 0;font-size:.7rem}.quick-finish{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 100px);display:flex}.finish-orbit{background:radial-gradient(circle at 30% 20%, var(--ul-yellow), transparent 38%), linear-gradient(135deg, #efeaff, #d8ccff);border-radius:35px;place-items:center;width:100px;height:100px;margin-bottom:23px;font-size:2.6rem;display:grid;transform:rotate(4deg);box-shadow:0 18px 36px #5b23ff2e}.quick-finish h1{letter-spacing:-.055em;margin:0 0 8px;font-size:clamp(2.15rem,9vw,3.2rem)}.quick-finish>p:not(.eyebrow){max-width:410px;color:var(--ul-muted);margin:0;font-size:.86rem;line-height:1.5}.quick-finish>p strong{color:var(--ul-blue)}.quick-result-grid{grid-template-columns:repeat(3,1fr);gap:9px;width:100%;margin:27px 0 22px;display:grid}.quick-result-grid div{border:1px solid var(--ul-line);background:var(--ul-card);border-radius:18px;place-content:center;gap:1px;min-height:92px;display:grid}.quick-result-grid span{font-size:1.15rem}.quick-result-grid strong{font-size:1rem}.quick-result-grid small{color:var(--ul-muted);font-size:.61rem}.quick-finish .ul-button{max-width:390px}.dialogue-card{border:1px solid var(--ul-line);width:100%;color:var(--ul-ink);text-align:left;background:#fff;border-radius:20px;align-items:center;gap:13px;margin-bottom:11px;padding:15px;display:flex}.dialogue-emoji{background:var(--ul-surface);border-radius:16px;flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:1.6rem;display:grid}.dialogue-copy{flex:1;gap:2px;min-width:0;display:grid}.dialogue-copy strong{font-size:.93rem}.dialogue-copy small{color:var(--ul-muted);font-size:.7rem}.dialogue-status{color:var(--ul-blue);white-space:nowrap;background:#efeaff;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:900}.dialogue-status.is-done{color:#008d64;background:#def8ef}.chat-thread{gap:11px;margin-bottom:20px;display:grid}.chat-bubble{border-radius:19px;max-width:88%;padding:11px 14px;animation:.3s both bubble-in}.chat-bubble.from-a{border:1px solid var(--ul-line);background:#fff;border-bottom-left-radius:6px;justify-self:start}.chat-bubble.from-b{color:#fff;background:linear-gradient(135deg,#5b23ff,#362f4f);border-bottom-right-radius:6px;justify-self:end}.chat-bubble small{letter-spacing:.06em;opacity:.72;text-transform:uppercase;margin-bottom:2px;font-size:.6rem;font-weight:900;display:block}.chat-bubble p{margin:0;font-size:.94rem;font-weight:750;line-height:1.4}.chat-bubble em{opacity:.72;margin-top:4px;font-size:.72rem;font-style:normal;display:block}.bubble-audio{color:inherit;vertical-align:-2px;opacity:.75;background:0 0;border:0;margin-left:5px;padding:2px;font-size:.95rem}@keyframes bubble-in{0%{opacity:0;transform:translateY(9px)scale(.97)}to{opacity:1;transform:none}}.dialogue-next{margin-top:6px}.dialogue-question{font-size:clamp(1.3rem,5.5vw,1.8rem)}.answer-option.is-right{background:#e6faf3;border-color:#17b384}.answer-option.is-wrong-pick{background:#fff0f3;border-color:#ef4b74}.dialogue-result{text-align:center;align-content:center;justify-items:center;gap:6px;min-height:420px;display:grid}.dialogue-mascot{width:108px;height:116px;margin-bottom:8px}.dialogue-result h1{letter-spacing:-.05em;margin:0;font-size:2.1rem}.dialogue-result p{max-width:380px;color:var(--ul-muted);margin:4px 0 18px;line-height:1.5}.placement-shell{padding-top:22px}.placement-intro{text-align:center;align-content:center;justify-items:center;gap:4px;min-height:440px;display:grid}.placement-emoji{margin-bottom:10px;font-size:3.6rem}.placement-intro h1{letter-spacing:-.045em;max-width:430px;margin:0 0 8px;font-size:clamp(1.7rem,7vw,2.4rem)}.placement-intro p{max-width:420px;color:var(--ul-muted);margin:0 0 10px;font-size:.9rem;line-height:1.55}.placement-note{font-size:.78rem}.placement-intro .ul-button{max-width:340px;margin-top:14px}.placement-unit-tag{color:var(--ul-muted);margin:0 0 13px;font-size:.76rem;font-weight:850}.ion-palette-dark .audio-slow,.ion-palette-dark .type-answer,.ion-palette-dark .quest-list,.ion-palette-dark .explore-row button,.ion-palette-dark .phrase-search,.ion-palette-dark .phrase-row,.ion-palette-dark .phrase-mic,.ion-palette-dark .phrase-filters button,.ion-palette-dark .dialogue-card,.ion-palette-dark .chat-bubble.from-a{background:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .quest-emoji,.ion-palette-dark .explore-row span,.ion-palette-dark .dialogue-emoji,.ion-palette-dark .phrase-audio--slow,.ion-palette-dark .achievement-cell{background:#332a49}.ion-palette-dark .achievement-cell{border-color:var(--ul-line)}.ion-palette-dark .phrase-audio{color:#cfc2ff;background:#382875}.ion-palette-dark .home-greeting--fresh{background:radial-gradient(circle at 92% 0,#e4ff302b,#0000 34%),linear-gradient(135deg,#27203a 45%,#30264b)}.ion-palette-dark .home-greeting--fresh .greeting-bubble,.ion-palette-dark .flash-card,.ion-palette-dark .flash-card-actions button,.ion-palette-dark .quick-answer-actions .again,.ion-palette-dark .quick-result-grid div{background-color:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .phrase-filters button.active{color:#d5caff;background:#382875;border-color:#8e73ff}.ion-palette-dark .phrase-favorite{color:#9890aa;background:#332a49}.ion-palette-dark .phrase-favorite.is-favorite,.ion-palette-dark .flash-card-actions button.favorite{color:#f0cf5a;background:#453a16;border-color:#7f6921}.ion-palette-dark .finish-orbit{background:radial-gradient(circle at 30% 20%,#6d7321,#0000 38%),linear-gradient(135deg,#382875,#2f254b)}.ion-palette-dark .quest-track,.ion-palette-dark .node-ring-track{background:#4b4265}.ion-palette-dark .node-ring-track{stroke:#4b4265}.ion-palette-dark .node-face{background:color-mix(in srgb, var(--unit-color) 22%, var(--ul-card));box-shadow:inset 0 -3px #00000047}.ion-palette-dark .path-step.is-locked .node-face{color:#6f6788;background:#2e2742}.ion-palette-dark .path-step.from-0:before,.ion-palette-dark .path-step.from-1:before,.ion-palette-dark .path-step.from-2:before{border-color:#4b4265}.ion-palette-dark .freeze-banner{color:#8ed0ff;background:#12293c;border-color:#1f5e8e}.ion-palette-dark .week-strip{background:var(--ul-card);border-color:var(--ul-line)}.ion-palette-dark .week-strip-day i{color:#6f6788;background:#332a49}.ion-palette-dark .week-strip-day.is-active i{color:#4be3a8;background:#14382c}.ion-palette-dark .level-card .level-bar{background:#4b4265}.ion-palette-dark .top-stat--streak.is-zero ion-icon{color:#6f6788}.ion-palette-dark .top-stat--level ion-icon{color:#f0cf5a}.ion-palette-dark .freeze-count{color:#8ed0ff;background:#12293c}.ion-palette-dark .achievement-toast{background:linear-gradient(135deg,#353018,#2a2617);border-color:#6d5c1c}.ion-palette-dark .achievement-toast strong{color:#f5e98f}.ion-palette-dark .achievement-toast small{color:#c9bd77}.ion-palette-dark .heatmap-col .lvl-0,.ion-palette-dark .heatmap-legend .lvl-0{background:#332c48}.ion-palette-dark .heatmap-col .lvl-1,.ion-palette-dark .heatmap-legend .lvl-1{background:color-mix(in srgb, var(--ul-chart-bar) 32%, #27203a)}.ion-palette-dark .heatmap-col .lvl-2,.ion-palette-dark .heatmap-legend .lvl-2{background:color-mix(in srgb, var(--ul-chart-bar) 55%, #27203a)}.ion-palette-dark .heatmap-col .lvl-3,.ion-palette-dark .heatmap-legend .lvl-3{background:color-mix(in srgb, var(--ul-chart-bar) 78%, #27203a)}.ion-palette-dark .ranking-row--skeleton .sk{background:linear-gradient(90deg,#332c48 25%,#3e3558 40%,#332c48 60%) 0 0/300% 100%}.ion-palette-dark .dialogue-status{color:#cfc2ff;background:#382875}.ion-palette-dark .dialogue-status.is-done{color:#74ebc7;background:#12382f}.ion-palette-dark .answer-option.is-right{background:#12382f;border-color:#17b384}.ion-palette-dark .answer-option.is-wrong-pick{background:#3d1927;border-color:#ef4b74}@media (width<=380px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phrase-row{grid-template-columns:38px 38px 1fr;gap:7px}.phrase-audio,.phrase-mic,.phrase-favorite{width:38px;height:38px}.phrase-actions{grid-column:3;justify-content:flex-end}.quick-practice-cta{display:none}}@media (width<=520px){.phrasebook-hero{grid-template-columns:1fr}.phrasebook-hero>button{grid-template-columns:auto 1fr;column-gap:9px;width:100%}.phrasebook-hero>button span{grid-row:1/3;align-self:center;margin:0}.flash-card{min-height:365px}}.focus-page ion-content{--background:#160d2a}.focus-shell{min-height:100%;padding:max(18px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));color:#f9f7ff;background:radial-gradient(circle at 15% 8%,#5b23ff6b,#0000 32%),radial-gradient(circle at 90% 70%,#008bff2e,#0000 36%),linear-gradient(155deg,#21123c,#120b22 65%,#091422);position:relative;overflow:hidden}.focus-shell:before,.focus-shell:after{content:"";pointer-events:none;border:1px solid #e4ff301a;border-radius:50%;position:absolute}.focus-shell:before{width:340px;height:340px;top:-230px;right:-120px}.focus-shell:after{width:220px;height:220px;bottom:-160px;left:-90px}.focus-topbar{z-index:2;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;width:min(100%,760px);margin:0 auto;display:grid;position:relative}.focus-topbar>button{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff1c;border-radius:14px;place-items:center;width:42px;height:42px;font-size:1.15rem;display:grid}.focus-topbar>span:nth-child(2){color:#cfc7df;letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:7px;font-size:.68rem;font-weight:850;display:flex}.focus-topbar>span:nth-child(2) i{background:#857d96;border-radius:50%;width:7px;height:7px}.focus-topbar>span:nth-child(2) i.active{background:var(--ul-yellow);animation:1.8s infinite focus-pulse;box-shadow:0 0 0 5px #e4ff301a}.focus-course-flag{background:#ffffff12;border:1px solid #ffffff1c;border-radius:14px;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}@keyframes focus-pulse{50%{box-shadow:0 0 0 8px #e4ff3000}}.focus-setup,.focus-finished{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100%,580px);min-height:calc(100vh - 110px);margin:0 auto;display:flex;position:relative}.focus-orbit{background:radial-gradient(circle at 36% 28%,#e4ff30e6,#0000 16%),linear-gradient(145deg,#6f4dff,#352061);border-radius:50%;place-items:center;width:112px;height:112px;margin-bottom:26px;display:grid;position:relative;box-shadow:0 24px 60px #5b23ff57,inset 0 1px #ffffff47}.focus-orbit:before{content:"";border:1px solid #e4ff303d;border-radius:50%;position:absolute;inset:-15px;transform:rotate(-18deg)scaleY(.42)}.focus-orbit i{background:var(--ul-yellow);border-radius:50%;width:11px;height:11px;animation:4s linear infinite orbit-dot;position:absolute;right:-12px;box-shadow:0 0 18px #e4ff30a6}.focus-orbit b{color:#fff;font-size:3rem;font-weight:400}@keyframes orbit-dot{to{transform:rotate(360deg)translate(-12px)rotate(-360deg)}}.focus-setup .eyebrow,.focus-finished .eyebrow{color:var(--ul-yellow)}.focus-setup h1,.focus-finished h1{color:#fff;letter-spacing:-.06em;max-width:560px;margin:0;font-size:clamp(2.35rem,9vw,4rem);line-height:.98}.focus-setup>p:not(.eyebrow),.focus-finished>p:not(.eyebrow){color:#bdb4cd;max-width:480px;margin:17px 0 0;font-size:.86rem;line-height:1.55}.focus-duration-picker{grid-template-columns:repeat(3,1fr);gap:9px;width:min(100%,430px);margin:29px 0 18px;display:grid}.focus-duration-picker button{color:#cac3d6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:21px;place-content:center;min-height:88px;transition:transform .16s,border-color .16s,background .16s;display:grid}.focus-duration-picker button.active{color:#fff;background:linear-gradient(145deg,#5b23ffcc,#4c2691c7);border-color:#e4ff30a6;transform:translateY(-3px);box-shadow:0 15px 28px #0000002e}.focus-duration-picker strong{font-size:1.55rem;line-height:1}.focus-duration-picker small{margin-top:4px;font-size:.62rem;font-weight:800}.focus-benefits{flex-wrap:wrap;justify-content:center;gap:8px 15px;margin-bottom:25px;display:flex}.focus-benefits span{color:#a9a0b9;align-items:center;gap:5px;font-size:.65rem;font-weight:750;display:inline-flex}.focus-benefits ion-icon{color:#c8baff}.focus-primary{background:var(--ul-yellow);color:#2e2441;border:0;border-radius:18px;justify-content:center;align-items:center;gap:9px;width:min(100%,390px);min-height:56px;font-size:.92rem;font-weight:950;display:inline-flex;box-shadow:0 16px 34px #e4ff3029}.focus-session{z-index:1;justify-items:center;width:min(100%,760px);margin:34px auto 0;display:grid;position:relative}.focus-timer{background:conic-gradient(var(--ul-yellow) var(--focus-progress), #ffffff17 0);border-radius:50%;place-items:center;width:210px;height:210px;display:grid;position:relative;box-shadow:0 25px 60px #00000038}.focus-timer:after{content:"";background:linear-gradient(145deg,#24153f,#140c25);border-radius:50%;position:absolute;inset:9px;box-shadow:inset 0 1px #ffffff14}.focus-timer>span{z-index:1;justify-items:center;display:grid;position:relative}.focus-timer small{color:#91879f;letter-spacing:.1em;font-size:.55rem;font-weight:900}.focus-timer strong{letter-spacing:-.06em;margin:5px 0 2px;font-size:3rem;line-height:1}.focus-timer em{color:#b9b0c8;font-size:.62rem;font-style:normal;font-weight:750}.focus-phrase-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 100% 0,#e4ff302e,#0000 31%),#ffffff13;border:1px solid #ffffff21;border-radius:28px;grid-template-rows:auto 1fr auto;width:100%;min-height:245px;margin-top:27px;padding:18px;display:grid;box-shadow:0 22px 46px #00000030}.focus-phrase-card>header{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.focus-phrase-card>header>span{background:#ffffff17;border-radius:12px;place-items:center;width:38px;height:38px;font-size:1.15rem;display:grid}.focus-phrase-card>header small{color:#a79eb6;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;font-weight:850;overflow:hidden}.focus-phrase-card>header button{color:#9d94aa;background:#ffffff12;border:0;border-radius:12px;place-items:center;width:38px;height:38px;font-size:1rem;display:grid}.focus-phrase-card>header button.active{color:var(--ul-yellow);background:#e4ff3024}.focus-phrase-card>div{text-align:center;align-content:center;justify-items:center;padding:14px;display:grid}.focus-phrase-card>div>small{color:#a79eb6;letter-spacing:.1em;text-transform:uppercase;font-size:.57rem;font-weight:900}.focus-phrase-card h2{color:#fff;letter-spacing:-.045em;max-width:580px;margin:7px 0;font-size:clamp(1.7rem,6vw,2.55rem);line-height:1.05}.focus-phrase-card>div button{color:#c8baff;background:0 0;border:1px dashed #c8baff52;border-radius:999px;padding:7px 11px;font-size:.64rem;font-weight:850}.focus-phrase-card>div p{color:#c5bdcf;margin:1px 0 0;font-size:.78rem;animation:.2s both slide-in}.focus-phrase-card>footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.focus-phrase-card>footer button{color:#d7ceff;background:#6f4dff3d;border:0;border-radius:12px;align-items:center;gap:6px;min-height:38px;padding:0 13px;font-size:.68rem;font-weight:850;display:inline-flex}.focus-phrase-card>footer span{color:#82798f;font-size:.59rem;font-weight:750}.focus-controls{justify-content:center;align-items:center;gap:10px;margin-top:19px;display:flex}.focus-controls button{border-radius:15px;min-height:45px;padding:0 17px;font-size:.72rem;font-weight:850}.focus-pause{color:#302545;background:#fff;border:0;align-items:center;gap:7px;display:inline-flex}.focus-finish-early{color:#aca3ba;background:#ffffff0d;border:1px solid #ffffff1f}.focus-finish-icon{background:linear-gradient(145deg,#6f4dff,#3f2871);border-radius:35px;place-items:center;width:104px;height:104px;margin-bottom:24px;font-size:2.7rem;display:grid;transform:rotate(4deg);box-shadow:0 22px 55px #5b23ff4d}.focus-finished>p strong{color:#fff}.focus-result{grid-template-columns:repeat(3,1fr);gap:9px;width:100%;margin:28px 0 21px;display:grid}.focus-result>div{background:#ffffff0f;border:1px solid #ffffff1c;border-radius:19px;place-content:center;gap:1px;min-height:93px;display:grid}.focus-result span{font-size:1.15rem}.focus-result strong{font-size:1rem}.focus-result small{color:#a69caf;font-size:.6rem}.focus-finished .ul-button--ghost{color:#aaa1b8;max-width:390px}@media (width>=760px){.explore-row{grid-template-columns:repeat(4,minmax(0,1fr))}.focus-session{margin-top:42px}.focus-timer{width:225px;height:225px}}@media (width<=420px){.focus-shell{padding-inline:14px}.focus-setup,.focus-finished{min-height:calc(100vh - 88px)}.focus-setup h1,.focus-finished h1{font-size:2.35rem}.focus-orbit{width:92px;height:92px;margin-bottom:21px}.focus-duration-picker{margin-top:23px}.focus-duration-picker button{min-height:76px}.focus-benefits span:last-child{display:none}.focus-session{margin-top:25px}.focus-timer{width:180px;height:180px}.focus-timer strong{font-size:2.55rem}.focus-phrase-card{min-height:225px;margin-top:20px}.focus-phrase-card>footer span{display:none}}.search-shell{width:min(100%,920px);padding:21px 18px max(54px, env(safe-area-inset-bottom));margin:0 auto}.global-search-hero{background:radial-gradient(circle at 94% 6%,#e4ff3075,#0000 31%),radial-gradient(circle at 0 110%,#008bff1a,#0000 36%),linear-gradient(145deg,#fff,#f2eeff);border:1px solid #5b23ff29;border-radius:28px;padding:25px;position:relative;overflow:hidden;box-shadow:0 18px 40px #362f4f14}.global-search-hero h1{letter-spacing:-.055em;max-width:620px;margin:0 0 6px;font-size:clamp(2rem,7vw,3.25rem);line-height:1}.global-search-hero>p:not(.eyebrow){color:var(--ul-muted);margin:0;font-size:.8rem}.global-search-input{background:#ffffffeb;border:2px solid #5b23ff29;border-radius:19px;align-items:center;gap:10px;min-height:58px;margin-top:22px;padding:0 15px;display:flex;box-shadow:0 12px 25px #362f4f14}.global-search-input:focus-within{border-color:var(--ul-blue);box-shadow:0 0 0 4px #5b23ff17}.global-search-input>ion-icon{color:var(--ul-blue);flex:none;font-size:1.25rem}.global-search-input input{min-width:0;color:var(--ul-ink);background:0 0;border:0;outline:none;flex:1;font-size:.95rem}.global-search-input button{width:34px;height:34px;color:var(--ul-muted);background:0 0;border:0;place-items:center;font-size:1.12rem;display:grid}.search-section{margin-top:31px}.search-section-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:13px;display:flex}.search-section-heading h2{letter-spacing:-.035em;margin:0;font-size:1.25rem}.search-section-heading>button{color:var(--ul-blue);background:0 0;border:0;font-size:.7rem;font-weight:850}.search-section-heading>strong{min-width:27px;height:27px;color:var(--ul-blue);background:#efeaff;border-radius:14px;place-items:center;padding:0 7px;font-size:.65rem;display:grid}.recent-searches{flex-wrap:wrap;gap:7px;display:flex}.recent-searches button{border:1px solid var(--ul-line);background:var(--ul-card);min-height:38px;color:var(--ul-muted);border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:.72rem;font-weight:800;display:inline-flex}.recent-searches ion-icon{color:var(--ul-blue)}.search-suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.search-suggestions button{border:1px solid var(--ul-line);background:var(--ul-card);min-height:118px;color:var(--ul-ink);text-align:left;border-radius:21px;align-content:center;justify-items:start;gap:2px;padding:15px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.search-suggestions button:active{transform:scale(.98)}.search-suggestions button:hover{border-color:#5b23ff52;box-shadow:0 12px 25px #362f4f12}.search-suggestions span{margin-bottom:8px;font-size:1.5rem}.search-suggestions strong{font-size:.82rem}.search-suggestions small{color:var(--ul-muted);font-size:.64rem}.search-shortcuts{gap:8px;display:grid}.search-shortcuts>button,.search-dialogue-results>button{border:1px solid var(--ul-line);background:var(--ul-card);width:100%;min-height:68px;color:var(--ul-ink);text-align:left;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 13px;display:grid}.search-shortcuts>button>span,.search-dialogue-results>button>span{background:var(--ul-surface);border-radius:14px;place-items:center;width:43px;height:43px;font-size:1.25rem;display:grid}.search-shortcuts div,.search-dialogue-results div{gap:2px;min-width:0;display:grid}.search-shortcuts strong,.search-dialogue-results strong{font-size:.79rem}.search-shortcuts small,.search-dialogue-results small{color:var(--ul-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;overflow:hidden}.search-shortcuts>button>ion-icon,.search-dialogue-results>button>ion-icon{color:var(--ul-muted)}.search-summary{align-items:baseline;gap:5px;margin:22px 2px 0;display:flex}.search-summary span{color:var(--ul-ink);font-size:.76rem;font-weight:900}.search-summary small{color:var(--ul-muted);font-size:.68rem}.search-results-section{margin-top:25px}.search-phrase-list{gap:8px;display:grid}.search-phrase-list article{border:1px solid var(--ul-line);background:var(--ul-card);border-radius:19px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:80px;padding:11px;display:grid}.search-result-audio,.search-result-favorite{border:0;border-radius:14px;place-items:center;width:42px;height:42px;font-size:1.05rem;display:grid}.search-result-audio{color:var(--ul-blue);background:#efeaff}.search-result-favorite{background:var(--ul-surface);color:#9e97aa}.search-result-favorite.active{color:#aa6e00;background:#fff8d8}.search-phrase-list article>div{gap:2px;min-width:0;display:grid}.search-phrase-list strong{font-size:.84rem}.search-phrase-list small{color:var(--ul-muted);font-size:.67rem}.search-phrase-list em{color:color-mix(in srgb, var(--ul-blue) 68%, var(--ul-muted));margin-top:2px;font-size:.57rem;font-style:normal;font-weight:750}.search-path-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.search-path-results>button{border:1px solid var(--ul-line);background:var(--ul-card);min-width:0;min-height:94px;color:var(--ul-ink);text-align:left;border-radius:19px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.search-path-results>button:disabled{opacity:.5}.search-path-results>button>span{border-radius:14px;place-items:center;width:43px;height:43px;font-size:1.2rem;display:grid}.search-path-results>button>div{gap:1px;min-width:0;display:grid}.search-path-results small{color:var(--ul-blue);letter-spacing:.06em;font-size:.54rem;font-weight:900}.search-path-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.search-path-results em{color:var(--ul-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;font-style:normal;overflow:hidden}.search-path-results>button>ion-icon{color:var(--ul-muted)}.search-dialogue-results{gap:8px;display:grid}.search-empty{text-align:center;place-content:center;justify-items:center;min-height:310px;display:grid}.search-empty>span{background:#efeaff;border-radius:24px;place-items:center;width:74px;height:74px;font-size:2rem;display:grid}.search-empty h2{margin:17px 0 5px;font-size:1.3rem}.search-empty p{color:var(--ul-muted);margin:0;font-size:.75rem}.search-empty button{background:var(--ul-blue);color:#fff;border:0;border-radius:999px;margin-top:16px;padding:9px 14px;font-size:.7rem;font-weight:850}.ion-palette-dark .global-search-hero{border-color:var(--ul-line);background:radial-gradient(circle at 94% 6%,#e4ff3021,#0000 31%),linear-gradient(145deg,#27203a,#30264b)}.ion-palette-dark .global-search-input,.ion-palette-dark .search-suggestions button,.ion-palette-dark .recent-searches button,.ion-palette-dark .search-shortcuts>button,.ion-palette-dark .search-phrase-list article,.ion-palette-dark .search-path-results>button,.ion-palette-dark .search-dialogue-results>button{background:var(--ul-card);color:var(--ul-ink);border-color:var(--ul-line)}.ion-palette-dark .global-search-input input{color:var(--ul-ink)}.ion-palette-dark .search-result-audio,.ion-palette-dark .search-empty>span{color:#d5caff;background:#382875}.ion-palette-dark .search-result-favorite{background:#332a49}.ion-palette-dark .search-result-favorite.active{color:#f0cf5a;background:#453a16}@media (width>=760px){.search-suggestions{grid-template-columns:repeat(4,minmax(0,1fr))}.search-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.search-shortcuts>button{min-width:0}}@media (width<=560px){.global-search-hero{padding:20px}.search-path-results{grid-template-columns:1fr}.search-suggestions button{min-height:108px;padding:13px}}ion-alert.ul-alert{--backdrop-opacity:.55}ion-alert.ul-alert .alert-wrapper{background:var(--ul-card);border-radius:24px;padding-bottom:6px;box-shadow:0 24px 60px #18103059}ion-alert.ul-alert .alert-head{padding:22px 22px 6px}ion-alert.ul-alert .alert-title{color:var(--ul-ink);letter-spacing:-.02em;font-size:1.12rem;font-weight:900}ion-alert.ul-alert .alert-message{color:var(--ul-muted);padding:0 22px 14px;font-size:.95rem;font-weight:600;line-height:1.45}ion-alert.ul-alert .alert-button-group{flex-wrap:nowrap;gap:10px;padding:4px 16px 14px}ion-alert.ul-alert button.alert-button{text-transform:none;border:0;border-radius:15px;flex:1;min-height:48px;margin:0;font-size:.95rem;font-weight:850}ion-alert.ul-alert button.alert-button .alert-button-inner{justify-content:center}ion-alert.ul-alert button.ul-alert__cancel{color:var(--ul-muted);box-shadow:inset 0 0 0 1.5px var(--ul-line);background:0 0}ion-alert.ul-alert button.ul-alert__confirm{color:#fff;background:linear-gradient(135deg,#5b23ff,#362f4f);box-shadow:0 10px 24px #5b23ff4d}ion-alert.ul-alert button.ul-alert__confirm--danger{background:linear-gradient(135deg,#ff3b5c,#b3123a);box-shadow:0 10px 24px #ff3b5c4d}
