html[data-i18n-status=loading] #root{opacity:.6;transition:opacity .18s ease-out .15s}html[data-i18n-status=ready] #root,html[data-i18n-status=error] #root{opacity:1;transition:opacity .2s ease-out}html:where([data-motion=reduce])[data-i18n-status] #root{opacity:1;transition:none}.loading{display:inline-flex;align-items:center;justify-content:center;gap:6px}.loading-dot{border-radius:50%;background-color:var(--primary);transform:scale(.6);opacity:.45;animation:loadingDotWave 1.25s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) infinite;will-change:transform,opacity}.loading--light .loading-dot{background-color:var(--on-primary)}.loading-dot:nth-child(1){animation-delay:-.24s}.loading-dot:nth-child(2){animation-delay:-.12s}.loading-dot:nth-child(3){animation-delay:0s}.loading--sm .loading-dot{width:7px;height:7px}.loading--md .loading-dot{width:10px;height:10px}.loading--lg .loading-dot{width:13px;height:13px}@keyframes loadingDotWave{0%,70%,to{transform:scale(.6);opacity:.4}35%{transform:scale(1);opacity:1}}.loading-fs{position:fixed;inset:0;z-index:var(--z-modal, 500);display:grid;place-items:center;place-items:safe center;padding:var(--space-6, 32px);overflow:auto;background:var(--bg-body);color:var(--text-primary)}.loading-fs-stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-3, 12px);width:min(100%,20rem)}.loading-fs-mark{display:block;flex-shrink:0}.loading-fs-wordmark{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,1.875rem);font-weight:800;line-height:calc(1.2 * var(--reading-line-scale, 1));color:var(--text-primary)}.loading-fs-status{display:flex;flex-direction:column;align-items:center;gap:var(--space-3, 12px);width:100%}.loading-fs-spinner{width:24px;height:24px;flex-shrink:0;border:3px solid var(--bg-tertiary);border-top-color:var(--progress-fill);border-radius:var(--radius-full);animation:loadingFsSpin 1s linear infinite}.loading-fs-label{margin:0;min-height:3em;font-size:.875rem;font-weight:500;line-height:calc(1.5 * var(--reading-line-scale, 1));color:var(--text-secondary);text-align:center;overflow-wrap:anywhere}@keyframes loadingFsSpin{to{transform:rotate(360deg)}}:where(html[data-motion=reduce]) .loading-dot,:where(html[data-motion=reduce]) .loading-fs-spinner{animation:none!important}:where(html[data-motion=reduce]) .loading-dot{transform:scale(.85);opacity:.7}@media(max-height:400px){.loading-fs{padding:var(--space-4, 16px)}}.speak-btn{--toon-radius: var(--radius-md);--speak-btn-size: 44px;display:inline-flex;flex-direction:column;flex-shrink:0;width:var(--speak-btn-size);min-width:var(--speak-btn-size);min-height:calc(var(--speak-btn-size) + var(--toon-depth))}.speak-btn__face{flex:1 1 auto;display:grid;place-items:center}.speak-btn-sm{--toon-radius: var(--radius-sm);--speak-btn-size: 36px}.speak-btn-sm:after{content:"";position:absolute;inset:-4px}.speak-btn-lg{--speak-btn-size: 48px}.tildon-state-icon{position:relative;display:inline-grid;place-items:center;flex-shrink:0}.tildon-state-icon__glyph{grid-area:1 / 1;display:flex;align-items:center;justify-content:center;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .2s var(--ease-out-soft)}.tildon-state-icon__idle{opacity:1;transform:scale(1)}.tildon-state-icon__on,.tildon-state-icon[data-active=true] .tildon-state-icon__idle{opacity:0;transform:scale(.86)}.tildon-state-icon[data-active=true] .tildon-state-icon__on{opacity:1;transform:scale(1)}:where(html[data-motion=reduce]) .tildon-state-icon__glyph{transition:none}.dropdown-menu{position:relative;display:inline-flex;vertical-align:middle}.dropdown-menu-trigger{display:inline-flex;cursor:pointer}.dropdown-menu-trigger:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-md)}.dropdown-menu-trigger>*{pointer-events:none}.dropdown-menu-panel{position:absolute;top:calc(100% + 8px);z-index:var(--z-dropdown, 100);min-width:max(216px,100%);max-width:min(280px,86vw);padding:6px;border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-color),0 var(--depth-2) 0 var(--surface-floor);opacity:0;transform:translate3d(0,-8px,0) scale(.94);will-change:transform,opacity;transform-origin:top right}.dropdown-menu-panel--start{left:0;right:auto;transform-origin:top left}.dropdown-menu-panel--end{right:0;left:auto;transform-origin:top right}.dropdown-menu-search{padding:4px 4px 8px}.dropdown-menu-search-input{width:100%;min-height:40px;padding:8px 12px;border:2px solid var(--field-line);border-radius:12px;background:var(--surface-card);color:var(--text-primary);font:inherit;font-size:.875rem}.dropdown-menu-search-input:focus{outline:none;border-color:var(--primary)}.dropdown-menu-empty{padding:12px;font-size:.8125rem;line-height:calc(1.35 * var(--reading-line-scale, 1));color:var(--text-secondary)}.dropdown-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:min(52vh,360px);overflow-y:auto}.dropdown-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border:none;border-radius:12px;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;opacity:0;transform:translate3d(0,-4px,0);transition:background .16s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)),color .16s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)),transform .28s var(--ease-out-strong),opacity .22s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1))}.dropdown-menu-panel.is-open .dropdown-menu-item{opacity:1;transform:translateZ(0)}.dropdown-menu-panel.is-closing .dropdown-menu-item{opacity:0;transform:translate3d(0,-3px,0);transition-duration:.12s;transition-delay:0ms!important}.dropdown-menu-item:hover:not(:disabled){background:var(--bg-secondary)}.dropdown-menu-item:active:not(:disabled){transform:translateY(var(--travel-1))}.dropdown-menu-item.is-selected{color:var(--primary-ink)}.dropdown-menu-item.is-selected .dropdown-menu-item-label{font-weight:700}.dropdown-menu-item:disabled,.dropdown-menu-item.is-disabled{opacity:.45;cursor:not-allowed}.dropdown-menu-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.dropdown-menu-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.dropdown-menu-item-icon img{display:block;border-radius:50%}.dropdown-menu-item-copy{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0;text-align:left}.dropdown-menu-item-label{font-size:.875rem;font-weight:650;line-height:calc(1.25 * var(--reading-line-scale, 1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-menu-item-desc{font-size:.75rem;color:var(--text-secondary);line-height:calc(1.3 * var(--reading-line-scale, 1))}.dropdown-menu-item-check{flex-shrink:0;color:var(--primary-ink)}:where(html[data-motion=reduce]) .dropdown-menu-panel,:where(html[data-motion=reduce]) .dropdown-menu-item{transition:none!important;filter:none!important;animation:none!important}:where(html[data-motion=reduce]) .dropdown-menu-panel{opacity:1;transform:none}:where(html[data-motion=reduce]) .dropdown-menu-item{opacity:1;transform:none}.btn{--toon-radius: var(--radius-md);--btn-face-height: 48px;display:inline-flex;flex-direction:column;vertical-align:top;min-width:0;min-height:calc(var(--btn-face-height) + var(--toon-depth));font-family:var(--font-display);font-size:.9375rem;font-weight:800;line-height:1.25rem;letter-spacing:-.01em;text-align:center;white-space:nowrap}.btn-face{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:0;padding:0 20px}.btn-sm{--btn-face-height: 44px;font-size:.875rem;line-height:1.125rem}.btn-sm>.btn-face{padding:0 14px}.btn-lg{--toon-radius: var(--radius-lg);--btn-face-height: 56px;font-size:1rem;line-height:1.375rem}.btn-lg>.btn-face{padding:0 24px}.btn-full{display:flex;width:100%}@media(max-width:767px){.btn-full-mobile{display:flex;width:100%}}.btn-text-only{--toon-depth: 0px;--toon-travel: 1px;--toon-face: transparent;--toon-edge: 0 0 0 0 transparent;--btn-face-height: 44px;color:var(--primary-ink)}.btn-text-only:before{content:none}.btn-text-only>.btn-face{padding:0 12px}@media(hover:hover)and (pointer:fine){.btn-text-only.toon--press:hover>.btn-face{background:var(--primary-dim);transform:none}}.btn-icon{--toon-depth: var(--depth-1);--toon-travel: var(--travel-1);--btn-face-height: 44px;width:44px;flex:none}.btn-icon>.btn-face{padding:0}.btn-icon.btn-lg{--toon-radius: var(--radius-md);--btn-face-height: 52px;width:52px}.btn-spinner{animation:btnSpin .8s linear infinite}@keyframes btnSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon-el{display:inline-flex;align-items:center;justify-content:center;flex:none}.btn-text{display:inline-flex;align-items:center;min-width:0}:where(html[data-motion=reduce]) .btn-spinner{animation-duration:1.6s}.text-field{display:flex;flex-direction:column;gap:var(--space-2)}.text-field-full{width:100%}.text-field-label{font-family:var(--font-display);font-size:.8125rem;font-weight:800;line-height:1.125rem;color:var(--text-primary)}.text-field-wrapper{position:relative;display:flex;align-items:center}.text-field-input{width:100%;font-family:inherit;font-weight:500;background:var(--surface-card);color:var(--text-primary);min-height:48px;margin-bottom:var(--depth-1);border:2px solid var(--field-line);border-radius:var(--radius-md);box-shadow:0 var(--depth-1) 0 var(--field-line)}.text-field-input:focus{outline:none;border-color:var(--primary);box-shadow:0 var(--depth-1) 0 var(--primary)}.text-field-input::placeholder{color:var(--text-tertiary)}.text-field-input:disabled{background:var(--disabled-face);border-color:var(--disabled-floor);box-shadow:none;color:var(--disabled-text);cursor:not-allowed}.text-field-sm .text-field-input{padding:var(--space-2) var(--space-3);font-size:.8125rem;border-radius:var(--radius-sm)}.text-field-md .text-field-input{padding:var(--space-3) 14px;font-size:.875rem}.text-field-lg .text-field-input{padding:14px var(--space-4);font-size:1rem;font-weight:600}.text-field-textarea{resize:none;min-height:80px;line-height:calc(1.6 * var(--reading-line-scale, 1))}.text-field-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);pointer-events:none}.text-field-icon.left{left:14px}.text-field-icon.right{right:14px}.has-left-icon .text-field-input{padding-left:44px}.has-right-icon .text-field-input{padding-right:44px}.text-field-hint{font-size:.8125rem;line-height:1.125rem;color:var(--text-secondary)}.text-field-hint-error{color:var(--danger-text);font-weight:600}.text-field-error .text-field-input,.text-field-error .text-field-input:focus{border-color:var(--wrong-border);box-shadow:0 var(--depth-1) 0 var(--wrong-border)}@media(max-width:767px){.text-field-input{font-size:1rem!important}}.icon-btn{--toon-depth: var(--depth-1);--toon-travel: var(--travel-1);--toon-radius: var(--radius-full);--icon-btn-size: 44px;display:inline-flex;flex-direction:column;flex-shrink:0;width:var(--icon-btn-size);min-height:calc(var(--icon-btn-size) + var(--toon-depth))}.icon-btn-face{flex:1 1 auto;display:grid;place-items:center}.icon-btn-sm,.icon-btn-md{--icon-btn-size: 44px}.icon-btn-lg{--icon-btn-size: 48px}.icon-btn-badge{--toon-depth: 0px;--toon-travel: 0px;position:absolute}.icon-btn-badge.icon-btn-sm{--icon-btn-size: 18px;top:-6px;right:-6px}.icon-btn-badge.icon-btn-md{--icon-btn-size: 22px;top:-8px;right:-8px}.icon-btn-badge:after{content:"";position:absolute;inset:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.tildon-icon{display:inline-block;vertical-align:middle;flex-shrink:0;transition:color .18s ease,transform .18s ease,fill .18s ease}.tildon-icon--outlined{fill:none}.tildon-icon--filled{fill:currentColor}.tildon-icon--duotone{fill:currentColor;fill-opacity:.16}.tildon-icon--size-xs{width:14px;height:14px}.tildon-icon--size-sm{width:16px;height:16px}.tildon-icon--size-md{width:20px;height:20px}.tildon-icon--size-lg{width:24px;height:24px}.tildon-icon--size-xl{width:32px;height:32px}.tildon-icon--size-hero{width:48px;height:48px}.tildon-icon-tonal-container{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 14px);background:var(--bg-secondary, rgba(0, 0, 0, .04));border:1px solid var(--border-light, rgba(0, 0, 0, .06));flex-shrink:0;transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.tildon-icon-tonal-container--xs{width:24px;height:24px;border-radius:8px}.tildon-icon-tonal-container--sm{width:32px;height:32px;border-radius:10px}.tildon-icon-tonal-container--md{width:40px;height:40px;border-radius:12px}.tildon-icon-tonal-container--lg{width:48px;height:48px;border-radius:14px}.tildon-icon-tonal-container--xl{width:60px;height:60px;border-radius:18px}.tildon-icon-tonal-container--hero{width:80px;height:80px;border-radius:24px}.tildon-icon-tonal-container--primary{background:var(--surface-card-hover);color:var(--text-primary);border-color:#4f46e524}.tildon-icon-tonal-container--success{background:var(--surface-card-hover);color:var(--text-primary);border-color:#10b9812e}.tildon-icon-tonal-container--danger{background:var(--surface-card-hover);color:var(--text-primary);border-color:#ef44442e}.tildon-icon-tonal-container--warning{background:var(--surface-card-hover);color:var(--text-primary);border-color:#f59e0b2e}.tildon-icon-tonal-container--neutral{background:var(--surface-card, #ffffff);color:var(--text-secondary, #64748b);border-color:var(--border-light, #e2e8f0)}.page-with-bottom-nav{padding-bottom:calc(64px + var(--safe-area-bottom) + 16px + var(--focus-music-dock-reserve, 0px))}.bottom-nav{--bottom-nav-inset: max(16px, env(safe-area-inset-left, 0px));--bottom-nav-pad: 5px;position:fixed;bottom:0;left:0;right:0;height:calc(64px + var(--safe-area-bottom));padding:calc(4px + var(--bottom-nav-pad)) calc(var(--bottom-nav-inset) + var(--bottom-nav-pad)) calc(6px + var(--bottom-nav-pad) + var(--safe-area-bottom));display:flex;gap:2px;z-index:var(--z-fixed);isolation:isolate;background:var(--bg-body)}.bottom-nav:before{content:"";position:absolute;inset:4px var(--bottom-nav-inset) calc(6px + var(--safe-area-bottom));z-index:-1;border-radius:var(--radius-2xl);background:var(--bg-nav);box-shadow:inset 0 0 0 1px var(--border-light),0 var(--depth-2) 0 var(--surface-floor);pointer-events:none}.bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:transparent;border:none;border-radius:22px;cursor:pointer;color:var(--text-secondary);padding:0;min-width:0;min-height:44px;position:relative;transition:transform var(--duration-release) var(--ease-spring);-webkit-tap-highlight-color:transparent}.bottom-nav-tab:active{transform:translateY(var(--travel-1));transition:transform var(--duration-press) var(--ease-press)}.bottom-nav-tab:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.bottom-nav-tab--active,.bottom-nav-tab--primary.bottom-nav-tab--active{background:var(--primary);color:var(--on-primary);box-shadow:inset 0 2px 0 var(--primary-rim)}.bottom-nav-tab-icon{display:flex;align-items:center;justify-content:center;width:36px;height:24px}.bottom-nav-label{max-width:100%;padding:0 2px;overflow:hidden;font-family:var(--font-display);font-size:.75rem;font-weight:800;line-height:1rem;text-overflow:ellipsis;white-space:nowrap;color:inherit}.bottom-nav--five .bottom-nav-label,.bottom-nav--six .bottom-nav-label{font-size:.625rem;line-height:.875rem;letter-spacing:-.01em}@media(max-width:359px){.bottom-nav{--bottom-nav-inset: 8px}.bottom-nav--five .bottom-nav-label,.bottom-nav--six .bottom-nav-label{font-size:.5625rem}}:where(html[data-motion=reduce]) .bottom-nav-tab,:where(html[data-motion=reduce]) .bottom-nav-tab:active{transition:none}@media(min-width:768px){.page-with-bottom-nav{padding-bottom:var(--focus-music-dock-page-reserve, 0px)}.bottom-nav{display:none}}.bottom-action-bar{--bottom-bar-pad-x: max(var(--layout-padding), env(safe-area-inset-left, 0px));--bottom-bar-pad-x-end: max(var(--layout-padding), env(safe-area-inset-right, 0px));--bottom-bar-pad-y: 12px;--bottom-bar-pad-bottom: max(12px, env(safe-area-inset-bottom, 0px));position:relative;flex-shrink:0;display:flex;align-items:stretch;gap:10px;z-index:var(--z-sticky);margin-left:calc(-1 * var(--layout-padding));margin-right:calc(-1 * var(--layout-padding));width:calc(100% + 2 * var(--layout-padding));max-width:none;box-sizing:border-box;padding:var(--bottom-bar-pad-y) var(--bottom-bar-pad-x-end) var(--bottom-bar-pad-bottom) var(--bottom-bar-pad-x);isolation:isolate;overflow:visible;background:var(--bg-body);box-shadow:inset 0 1px 0 var(--border-color);transition:opacity .2s ease,background-color .2s ease,box-shadow .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.bottom-action-bar.bottom-action-bar--ok{background:var(--correct-bg);box-shadow:inset 0 2px 0 var(--correct-floor)}.bottom-action-bar.bottom-action-bar--bad{background:var(--wrong-bg);box-shadow:inset 0 2px 0 var(--wrong-floor)}.bottom-action-bar>.exercise-btn{position:relative;z-index:1;min-width:0;min-height:48px;white-space:nowrap}.bottom-action-bar>.exercise-btn-secondary{flex:0 1 auto;max-width:min(46%,11.5rem);padding-inline:14px}.bottom-action-bar>.exercise-btn-primary,.bottom-action-bar>.exercise-btn-full,.bottom-action-bar>.exercise-btn-success{flex:1 1 auto;width:auto;min-width:0}.bottom-action-bar-hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.bottom-action-bar.bottom-action-bar--pinned{position:fixed;bottom:calc(64px + var(--safe-area-bottom, 0px));left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:600px;margin:0;padding:12px max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.bottom-action-bar--pinned>button{flex:1;width:100%;min-width:0}.bottom-action-bar.bottom-action-bar--pinned.bottom-action-bar--navigation-free{bottom:0}.bottom-action-bar.bottom-action-bar--pinned.bottom-action-bar-keyboard{bottom:var(--keyboard-inset, 0px)}.bottom-action-bar--pinned .exercise-check-slot{flex:1;min-width:0}@media(min-width:768px){.bottom-action-bar.bottom-action-bar--pinned{bottom:0}}@media(max-width:915px){body:has(.bottom-action-bar--pinned){--focus-music-footer-offset: 84px}body:has(.bottom-action-bar--pinned .qc-secondary-actions){--focus-music-footer-offset: 148px}body:has(.bottom-action-bar--navigation-free){--focus-music-footer-offset: 20px}}.bottom-action-bar-keyboard{--bottom-bar-pad-y: 6px;--bottom-bar-pad-bottom: 6px;--bottom-bar-pad-x: 12px;--bottom-bar-pad-x-end: 12px;background:transparent;box-shadow:none}.bottom-action-bar-keyboard .exercise-btn{padding:8px 14px;font-size:.875rem;min-height:40px}@media(min-width:768px){.bottom-action-bar{--bottom-bar-pad-x: 24px;--bottom-bar-pad-x-end: 24px;--bottom-bar-pad-y: 16px;--bottom-bar-pad-bottom: 16px;max-width:640px;width:100%;margin-left:auto;margin-right:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}@media(min-width:768px)and (max-width:915px){body:has(.bottom-action-bar--navigation-free){--focus-music-footer-offset: 84px}.bottom-action-bar{--bottom-bar-pad-x-end: max( 24px, calc(var(--focus-music-dock-clearance, 72px) + 8px - (100vw - 640px) / 2) )}}@media(max-width:479px){.bottom-action-bar:not(.bottom-action-bar-keyboard){--bottom-bar-pad-y: 10px;gap:8px}.bottom-action-bar>.exercise-btn{min-height:46px;font-size:.875rem}.bottom-action-bar>.exercise-btn-secondary{padding-inline:12px;max-width:min(44%,9.5rem)}}@media(max-height:640px){.bottom-action-bar:not(.bottom-action-bar-keyboard){--bottom-bar-pad-y: 8px;gap:8px}.bottom-action-bar>.exercise-btn{min-height:44px;padding-block:10px}}:where(html[data-motion=reduce]) .bottom-action-bar{transition:none}body>.toast:not(:last-of-type){display:none}.toast{position:fixed;top:calc(var(--topnav-height) + var(--safe-area-top) + var(--space-4));left:50%;transform:translate(-50%);display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:var(--space-3);width:min(calc(100vw - 32px),520px);min-height:56px;padding:10px 16px 10px 12px;border-radius:var(--radius-lg);color:var(--text-primary);font-family:var(--font-body);font-size:.9375rem;font-weight:700;line-height:calc(1.32 * var(--reading-line-scale, 1));letter-spacing:0;z-index:var(--z-tooltip);background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--border-light),0 var(--depth-2) 0 var(--surface-floor);animation:toastSlideDown var(--duration-enter) var(--ease-out-strong)}.toast span:last-child{min-width:0;overflow-wrap:anywhere}.toast-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);margin-bottom:var(--depth-1);color:var(--toast-on-accent, var(--on-solid));background:var(--toast-accent);box-shadow:0 var(--depth-1) 0 var(--toast-accent-floor)}.toast-icon svg{width:18px;height:18px;stroke-width:2.5}.toast-exit{animation:toastSlideUp .2s ease-in forwards}.toast-success{--toast-accent: var(--btn-success-fill);--toast-accent-floor: var(--success-floor)}.toast-error{--toast-accent: var(--btn-danger-fill);--toast-accent-floor: var(--danger-floor)}.toast-info{--toast-accent: var(--primary);--toast-accent-floor: var(--primary-floor)}@media(min-width:768px){.toast{top:calc(var(--topnav-height) + 20px)}}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastSlideUp{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-8px)}}:where(html[data-motion=reduce]) .toast,:where(html[data-motion=reduce]) .toast-exit{animation:none}.card{display:block}.card-full{width:100%}.card-sm{--toon-radius: var(--radius-md)}.card-md{--toon-radius: var(--radius-lg)}.card-lg{--toon-radius: var(--radius-xl)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--space-3)}.card-padding-md{padding:var(--space-4)}.card-padding-lg{padding:var(--space-5)}.card-elevated{--toon-depth: var(--depth-3);--toon-travel: var(--travel-3)}.card-outlined{--toon-depth: var(--depth-0);--toon-travel: 0px;--toon-edge: inset 0 0 0 1px var(--border-color)}.card-success{--toon-face: var(--correct-bg);--toon-floor: var(--correct-floor);--toon-edge: inset 0 0 0 2px var(--correct-border)}.card-danger{--toon-face: var(--wrong-bg);--toon-floor: var(--wrong-floor);--toon-edge: inset 0 0 0 2px var(--wrong-border)}.card-warning{--toon-face: var(--warning-bg);--toon-floor: var(--warning-floor)}.card-selected{--toon-floor: var(--primary);--toon-edge: inset 0 0 0 2px var(--primary)}.store-links{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}.store-links--landing{margin-top:var(--space-4, 16px)}.store-links--compact{margin-top:0;width:100%;flex-direction:column}.store-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:10px 16px 10px 12px;border-radius:var(--radius-md);border:0;background:var(--surface-card);color:var(--text-primary);text-decoration:none}.store-links--compact .store-link{width:100%}.store-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.store-link-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:var(--bg-secondary);color:var(--text-primary, #fff)}.store-link--apple .store-link-icon{background:#111;color:var(--on-solid)}.store-link--play .store-link-icon{background:#4285f4;color:var(--on-solid)}.store-link-text{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}.store-link-eyebrow{font-size:.6875rem;line-height:calc(1.2 * var(--reading-line-scale, 1));color:var(--text-secondary, #a0a0a0);letter-spacing:.01em}.store-link-title{font-size:.9375rem;font-weight:700;line-height:calc(1.2 * var(--reading-line-scale, 1));letter-spacing:-.02em}@media(max-width:480px){.store-links--landing{width:100%;flex-direction:column}.store-links--landing .store-link{width:100%}}.store-links--inline{margin-top:0}.store-links--inline .store-link{min-height:44px;padding:6px 14px 6px 8px;box-shadow:none}.store-links--inline .store-link-icon{width:32px;height:32px}.store-links--inline .store-link-eyebrow,.store-links--inline .store-link-title{white-space:nowrap}.store-link{--key-y: 0px;--key-depth: var(--depth-2);--key-floor: var(--surface-floor);--key-edge: inset 0 0 0 1px var(--border-light);box-shadow:var(--key-edge),0 max(0px,calc(var(--key-depth) - var(--key-y))) 0 var(--key-floor);transform:translateY(var(--key-y));transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),background-color var(--duration-enter) var(--ease-out-strong),color var(--duration-enter) var(--ease-out-strong);-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.store-link:hover:not(:disabled){--key-y: -1px}}.store-link:active:not(:disabled){--key-y: var(--travel-2);transition-duration:var(--duration-press);transition-timing-function:var(--ease-press)}.store-circle-group{display:none;align-items:center;gap:8px}@media(min-width:768px){.store-circle-group{display:inline-flex}}.store-circle-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-light);background:var(--surface-card);color:var(--text-secondary);text-decoration:none;cursor:pointer;flex-shrink:0}.store-circle-btn{--key-y: 0px;--key-depth: var(--depth-1);--key-floor: var(--surface-floor);--key-edge: 0 0 0 0 transparent;box-shadow:var(--key-edge),0 max(0px,calc(var(--key-depth) - var(--key-y))) 0 var(--key-floor);transform:translateY(var(--key-y));transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),background-color var(--duration-enter) var(--ease-out-strong),color var(--duration-enter) var(--ease-out-strong);-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.store-circle-btn:hover{--key-y: -1px}}.store-circle-btn:active{--key-y: var(--travel-1);transition-duration:var(--duration-press);transition-timing-function:var(--ease-press)}.store-circle-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(html[data-motion=reduce]) .store-circle-btn{transition:none}.store-circle-group--md .store-circle-btn{width:44px;height:44px}.store-circle-group--sm .store-circle-btn{width:40px;height:40px;color:var(--text-primary)}.store-circle-icon{display:grid;place-items:center;line-height:0}.telegram-channel-card{display:flex;align-items:center;gap:var(--space-3, 13px);width:100%;min-height:64px;padding:var(--space-4, 16px);background:var(--surface-card);border:1px solid var(--border-color);border-radius:18px;color:inherit;text-align:left;text-decoration:none;transition:background .15s ease,border-color .15s ease}.telegram-channel-card:hover{background:var(--surface-card-hover);border-color:var(--border-color-hover)}.telegram-channel-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.telegram-channel-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:var(--brand-telegram);color:var(--text-on-primary)}.telegram-channel-card-body{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-width:0}.telegram-channel-card-title{font-weight:650;font-size:.98rem;color:var(--text-primary)}.telegram-channel-card-text{font-size:.82rem;color:var(--text-secondary);overflow-wrap:anywhere}.telegram-channel-card-chevron{flex:0 0 auto;color:var(--text-tertiary, var(--text-secondary))}:where(html[data-motion=reduce]) .telegram-channel-card{transition:none}@keyframes skeleton-pulse{to{opacity:.55}}.skeleton{position:relative;overflow:hidden;background-color:var(--bg-tertiary);border-radius:var(--radius-sm);animation:skeleton-pulse 1.1s var(--ease-in-out-soft) infinite alternate}.skeleton--text{height:12px;border-radius:6px}.skeleton--circle{border-radius:50%}.skeleton--rect{border-radius:var(--radius-md)}:where(html[data-motion=reduce]) .skeleton{animation:none}.login-prompt-overlay{position:fixed;inset:0;background-color:var(--scrim);display:grid;place-items:center;z-index:var(--z-modal-backdrop);padding:16px;animation:fadeInBackdrop .2s ease-out both}.login-prompt-overlay.is-closing{animation:fadeOutBackdrop .2s ease-out forwards;pointer-events:none}.login-prompt-dialog{position:relative;width:100%;max-width:380px;padding:36px 28px 24px;border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--border-light);box-shadow:0 var(--depth-3) 0 var(--surface-floor);animation:modalIn .25s var(--ease-out-soft) both;transform-origin:center center;overflow:hidden}.login-prompt-dialog.is-closing{animation:modalOut .2s cubic-bezier(.22,1,.36,1) forwards}.login-prompt-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--text-secondary);background:var(--surface-card);border:1px solid var(--border-light);border-radius:50%;transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),color var(--duration-enter) var(--ease-out-strong);box-shadow:var(--shadow-sm)}@media(hover:hover){.login-prompt-close:hover{color:var(--text-primary);transform:translateY(-1px);box-shadow:0 calc(var(--depth-1) + 1px) 0 var(--key-floor, var(--surface-floor))}}.login-prompt-close:active{transform:translateY(var(--travel-1));box-shadow:0 1px 0 var(--key-floor, var(--surface-floor));transition-duration:var(--duration-press)}.login-prompt-icon{position:relative;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--on-primary);box-shadow:0 var(--depth-2) 0 var(--primary-floor),inset 0 2px 0 var(--primary-rim)}.login-prompt-title{font-size:1.375rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);text-align:center;margin:0 0 28px;font-family:var(--font-display)}.login-prompt-benefits{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.login-prompt-benefit{display:flex;align-items:center;gap:14px;padding:12px 14px;color:var(--text-primary);font-size:.875rem;font-weight:500;background:var(--bg-secondary);border-radius:var(--radius-lg)}.login-prompt-benefit svg{flex-shrink:0;width:20px;height:20px;padding:4px;color:var(--text-primary);background:var(--surface-card);border-radius:8px;box-sizing:content-box}.login-prompt-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.login-prompt-later{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:8px;min-height:44px;width:100%;transition:color .2s ease}@media(hover:hover){.login-prompt-later:hover:not(:disabled){color:var(--text-primary)}}.login-prompt-later:active:not(:disabled){transform:translateY(var(--travel-1))}.login-prompt-later:disabled{opacity:.5;cursor:not-allowed}.login-prompt-migrating{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 0}.login-prompt-migrating p{color:var(--text-secondary);font-size:.875rem;margin:0}.login-prompt-spinner{color:var(--primary-ink);animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-backdrop--below-chrome{top:calc(68px + var(--safe-area-top, 0px))}@media(min-width:768px){.dialog-backdrop--below-chrome{top:var(--topnav-height, 60px)}}.dialog-backdrop{position:fixed;inset:0;background-color:var(--scrim);z-index:var(--z-modal-backdrop);animation:fadeInBackdrop .2s ease-out both}.dialog-backdrop--closing{animation:fadeOutBackdrop .2s ease-out forwards}.dialog-backdrop--strong{background-color:var(--scrim)}.dialog-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-5);min-width:280px;max-width:90%;z-index:var(--z-modal);box-shadow:0 var(--depth-3) 0 var(--surface-floor);animation:dialogPopIn var(--duration-modal, .28s) var(--ease-out-strong) both;overflow:hidden;transform-origin:center center}.dialog-center--closing{animation:dialogPopOut .18s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}.dialog-center--primary-bg{background:var(--surface-card)}.dialog-center--wide{width:90%;max-width:400px}.dialog-center.learn-help-dialog{overflow:visible}.dialog-center--scroll{max-height:min(90vh,720px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--surface-card)}.dialog-center--rounded{border-radius:var(--radius-xl);padding:32px var(--space-5)}.dialog-fullscreen{position:fixed;inset:0;background-color:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-5);animation:fadeInBackdrop .2s ease-out both}.dialog-fullscreen--closing{animation:fadeOutBackdrop .2s ease-out forwards}.dialog-sheet{position:relative;background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:0 var(--depth-3) 0 var(--surface-floor);width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;animation:modalIn var(--duration-modal, .28s) var(--ease-out-strong) both;overflow:hidden}.dialog-sheet--closing{animation:modalOut .18s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}:where(html[data-motion=reduce]) .dialog-backdrop,:where(html[data-motion=reduce]) .dialog-backdrop--closing,:where(html[data-motion=reduce]) .dialog-center,:where(html[data-motion=reduce]) .dialog-center--closing,:where(html[data-motion=reduce]) .dialog-fullscreen,:where(html[data-motion=reduce]) .dialog-fullscreen--closing,:where(html[data-motion=reduce]) .dialog-sheet,:where(html[data-motion=reduce]) .dialog-sheet--closing{animation:none!important}.dialog-title{font-family:var(--font-display);font-size:1.25rem;font-weight:800;line-height:1.625rem;letter-spacing:-.01em;margin-bottom:var(--space-3);text-align:center;color:var(--text-primary)}.dialog-title--left{text-align:left;margin:0}.dialog-title--large{font-size:1.25rem;margin-bottom:var(--space-2)}.dialog-title--xl{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-2)}.dialog-description{color:var(--text-secondary);font-size:.875rem;text-align:center;margin-bottom:var(--space-5);line-height:calc(1.5 * var(--reading-line-scale, 1))}.dialog-description--left{text-align:left;margin:var(--space-1) 0 0}.dialog-description--body{font-size:.9375rem;margin-bottom:0}.dialog-actions{display:flex;gap:var(--space-3)}.dialog-actions--footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color)}.dialog-actions--stack{flex-direction:column}.dialog-btn{flex:1;min-height:48px;padding:0 var(--space-4);font-family:var(--font-display);font-size:.9375rem;font-weight:800;line-height:1.25rem;letter-spacing:-.01em}.dialog-btn--lg{--toon-radius: var(--radius-lg);min-height:56px;font-size:1rem}.dialog-btn--full{width:100%}.dialog-btn--primary,.dialog-btn--info{--toon-face: var(--primary);--toon-floor: var(--primary-floor);--toon-edge: inset 0 2px 0 var(--primary-rim);color:var(--on-primary)}.dialog-btn--danger{--toon-face: var(--btn-danger-fill);--toon-floor: var(--danger-floor);--toon-edge: inset 0 2px 0 var(--danger-rim);color:var(--on-solid)}.dialog-btn--success{--toon-face: var(--btn-success-fill);--toon-floor: var(--success-floor);--toon-edge: inset 0 2px 0 var(--success-rim);color:var(--on-solid)}.dialog-btn--loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.dialog-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border-color)}.dialog-close{--toon-depth: var(--depth-1);--toon-travel: var(--travel-1);--toon-radius: var(--radius-full);display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;color:var(--text-primary)}.dialog-body{position:relative;z-index:2;flex:1;overflow-y:auto;padding:var(--space-2)}.dialog-actions{position:relative;z-index:2}.dialog-icon-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto var(--space-4)}.dialog-icon-circle--lg{width:64px;height:64px}.dialog-icon-circle--md{width:48px;height:48px;border-radius:var(--radius-md)}.dialog-icon-circle--primary,.dialog-icon-circle--danger{background-color:var(--surface-card-hover);color:var(--text-primary)}.dialog-section-title{padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:500;color:var(--text-secondary)}.dialog-text-center{text-align:center}.dialog-mb-0{margin-bottom:0}.dialog-mb-5{margin-bottom:var(--space-5)}@media(min-width:768px){.dialog-center{max-width:440px;padding:var(--space-6)}.dialog-center--wide{max-width:480px}.dialog-sheet{max-width:500px}.dialog-title--xl{font-size:1.625rem}}.dialog-guest-warning{color:var(--warning);font-size:.8125rem;text-align:center;margin-bottom:var(--space-4);line-height:calc(1.5 * var(--reading-line-scale, 1))}.dialog-guest-warning-link{text-decoration:underline;cursor:pointer;font-weight:600}.inapp-banner{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 16px);left:16px;right:16px;max-width:400px;margin:0 auto;padding:16px;border-radius:var(--radius-lg);z-index:var(--z-fixed);background:var(--surface-card);border:1px solid var(--border-light);box-shadow:var(--shadow-md);animation:slideUp .3s ease-out}@media(min-width:768px){.inapp-banner{bottom:24px}}.inapp-banner-content{display:flex;gap:12px;align-items:flex-start}.inapp-banner-icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 var(--primary-rim),0 var(--depth-1) 0 var(--primary-floor)}.inapp-banner-text{flex:1;min-width:0}.inapp-banner-title{font-size:.9375rem;font-weight:800;color:var(--text-primary);margin:0 0 4px;font-family:var(--font-display)}.inapp-banner-description{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:calc(1.4 * var(--reading-line-scale, 1))}.inapp-banner-close{flex-shrink:0;width:44px;height:44px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background-color .15s ease,border-color .15s ease,color .15s ease;margin:-6px -6px 0 0}@media(hover:hover){.inapp-banner-close:hover{background:var(--surface-card-hover);border-color:var(--border-light);color:var(--text-primary)}}.inapp-banner-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:12px;border:0;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);font-size:.875rem;font-weight:800;cursor:pointer;box-shadow:inset 0 2px 0 var(--primary-rim),0 var(--depth-2) 0 var(--primary-floor);transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring);font-family:var(--font-display)}@media(hover:hover){.inapp-banner-action:hover{transform:translateY(-1px);box-shadow:inset 0 2px 0 var(--primary-rim),0 calc(var(--depth-2) + 1px) 0 var(--primary-floor)}}.inapp-banner-action:active{transform:translateY(var(--travel-2));box-shadow:inset 0 2px 0 var(--primary-rim),0 1px 0 var(--primary-floor)}:where(html[data-motion=reduce]) .inapp-banner{animation:none}:where(html[data-motion=reduce]) .inapp-banner-action:hover{transform:none}.pwa-install-banner{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 16px);left:16px;right:16px;max-width:400px;margin:0 auto;padding:16px;border-radius:var(--radius-lg);z-index:var(--z-fixed);background:var(--surface-card);border:1px solid var(--border-light);box-shadow:var(--shadow-md);animation:pwaSlideUp .3s ease-out}@media(min-width:768px){.pwa-install-banner{bottom:24px}}.pwa-install-content{display:flex;gap:12px;align-items:flex-start}.pwa-install-icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 var(--primary-rim),0 var(--depth-1) 0 var(--primary-floor)}.pwa-install-text{flex:1;min-width:0}.pwa-install-title{font-size:.9375rem;font-weight:800;color:var(--text-primary);margin:0 0 4px;font-family:var(--font-display)}.pwa-install-description{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:calc(1.4 * var(--reading-line-scale, 1))}.pwa-install-close{flex-shrink:0;width:44px;height:44px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background-color .15s ease,border-color .15s ease,color .15s ease;margin:-6px -6px 0 0}@media(hover:hover){.pwa-install-close:hover{background:var(--surface-card-hover);border-color:var(--border-light);color:var(--text-primary)}}.pwa-install-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:12px;border:0;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);font-size:.875rem;font-weight:800;cursor:pointer;box-shadow:inset 0 2px 0 var(--primary-rim),0 var(--depth-2) 0 var(--primary-floor);transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring);font-family:var(--font-display)}@media(hover:hover){.pwa-install-action:hover{transform:translateY(-1px);box-shadow:inset 0 2px 0 var(--primary-rim),0 calc(var(--depth-2) + 1px) 0 var(--primary-floor)}}.pwa-install-action:active{transform:translateY(var(--travel-2));box-shadow:inset 0 2px 0 var(--primary-rim),0 1px 0 var(--primary-floor)}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:where(html[data-motion=reduce]) .pwa-install-banner{animation:none}:where(html[data-motion=reduce]) .pwa-install-action:hover{transform:none}.pwa-dialog-overlay{position:fixed;inset:0;background-color:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:16px;animation:pwaDialogFadeIn .2s ease-out both}.pwa-dialog-overlay.is-closing{animation:fadeOutBackdrop .2s ease-out forwards;pointer-events:none}.pwa-dialog{position:relative;width:100%;max-width:360px;padding:36px 24px 20px;text-align:center;border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--border-light);box-shadow:0 var(--depth-3) 0 var(--surface-floor);z-index:var(--z-modal);animation:pwaDialogScaleIn .25s var(--ease-out-soft) both;transform-origin:center center;overflow:hidden}.pwa-dialog.is-closing{animation:modalOut .2s cubic-bezier(.22,1,.36,1) forwards}.pwa-dialog-icon{position:relative;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--on-primary);box-shadow:0 var(--depth-2) 0 var(--primary-floor),inset 0 2px 0 var(--primary-rim)}.pwa-dialog-icon-installed{background:var(--success-dark);box-shadow:0 var(--depth-2) 0 var(--success-floor),inset 0 2px 0 var(--success-rim)}.pwa-dialog-title{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary);margin:0 0 16px;font-family:var(--font-display)}.pwa-dialog-ios-hint{font-size:.875rem;color:var(--text-secondary);line-height:calc(1.5 * var(--reading-line-scale, 1));margin:0 0 16px}.pwa-dialog-installed-hint{font-size:.9375rem;color:var(--text-secondary);margin:0 0 8px;line-height:calc(1.5 * var(--reading-line-scale, 1))}.pwa-dialog-ios-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;text-align:left}.pwa-dialog-ios-step{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-primary);font-size:.875rem;line-height:calc(1.4 * var(--reading-line-scale, 1));background:var(--bg-secondary);border-radius:var(--radius-lg)}.pwa-dialog-ios-step-icon{width:36px;height:36px;border-radius:10px;background:var(--surface-card);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-primary)}.pwa-dialog-benefits{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;text-align:left}.pwa-dialog-benefit{display:flex;align-items:center;gap:14px;padding:12px 14px;color:var(--text-primary);font-size:.875rem;font-weight:500;background:var(--bg-secondary);border-radius:var(--radius-lg)}.pwa-dialog-benefit svg{flex-shrink:0;width:20px;height:20px;padding:4px;color:var(--text-primary);background:var(--surface-card);border-radius:8px;box-sizing:content-box}.pwa-dialog-later{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:8px;width:100%;transition:color .2s ease;min-height:44px}.pwa-dialog-later:hover{color:var(--text-primary)}.pwa-dialog-later:active{transform:translateY(var(--travel-1))}@keyframes pwaDialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pwaDialogScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}:where(html[data-motion=reduce]) .pwa-dialog-overlay,:where(html[data-motion=reduce]) .pwa-dialog{animation:none}.pwa-update-banner{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 16px);left:16px;right:16px;max-width:400px;margin:0 auto;padding:16px;border-radius:var(--radius-lg);z-index:var(--z-fixed);background:var(--surface-card);border:1px solid var(--border-light);box-shadow:var(--shadow-md);animation:pwaUpdateSlideUp .3s ease-out}@media(min-width:768px){.pwa-update-banner{bottom:24px}}.pwa-update-content{display:flex;gap:12px;align-items:flex-start}.pwa-update-icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background:var(--btn-success-fill);color:var(--on-solid);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 var(--success-rim),0 var(--depth-1) 0 var(--success-floor)}.pwa-update-text{flex:1;min-width:0}.pwa-update-title{font-size:.9375rem;font-weight:800;color:var(--text-primary);margin:0 0 4px;font-family:var(--font-display)}.pwa-update-description{font-size:.8125rem;color:var(--text-secondary);margin:0;line-height:calc(1.4 * var(--reading-line-scale, 1))}.pwa-update-close{flex-shrink:0;width:44px;height:44px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:background-color .15s ease,border-color .15s ease,color .15s ease;margin:-6px -6px 0 0}@media(hover:hover){.pwa-update-close:hover{background:var(--surface-card-hover);border-color:var(--border-light);color:var(--text-primary)}}.pwa-update-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:12px;border:0;border-radius:var(--radius-md);background:var(--btn-success-fill);color:var(--on-solid);font-size:.875rem;font-weight:800;cursor:pointer;box-shadow:inset 0 2px 0 var(--success-rim),0 var(--depth-2) 0 var(--success-floor);transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring);font-family:var(--font-display)}@media(hover:hover){.pwa-update-action:hover{transform:translateY(-1px);box-shadow:inset 0 2px 0 var(--success-rim),0 calc(var(--depth-2) + 1px) 0 var(--success-floor)}}.pwa-update-action:active{transform:translateY(var(--travel-2));box-shadow:inset 0 2px 0 var(--success-rim),0 1px 0 var(--success-floor)}@keyframes pwaUpdateSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:where(html[data-motion=reduce]) .pwa-update-banner{animation:none}:where(html[data-motion=reduce]) .pwa-update-action:hover{transform:none}.pwa-update-action:disabled,.pwa-update-close:disabled{cursor:default}.pwa-update-action:disabled{opacity:.85}@media(hover:hover){.pwa-update-action:disabled:hover{transform:translateY(-1px);box-shadow:0 calc(var(--depth-2) + 1px) 0 var(--success-floor)}}.pwa-update-spin{animation:pwaUpdateSpin .9s linear infinite}@keyframes pwaUpdateSpin{to{transform:rotate(360deg)}}:where(html[data-motion=reduce]) .pwa-update-spin{animation:none}.notif-prompt-overlay{position:fixed;inset:0;background-color:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:16px;animation:notifFadeIn .2s ease-out both}.notif-prompt-overlay.is-closing{animation:fadeOutBackdrop .2s ease-out forwards;pointer-events:none}.notif-prompt-dialog{position:relative;width:100%;max-width:360px;max-height:calc(100dvh - 32px);padding:36px 24px 20px;border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--border-light);box-shadow:0 var(--depth-3) 0 var(--surface-floor);animation:notifScaleIn .25s cubic-bezier(.22,1,.36,1) both;transform-origin:center center;overflow:hidden;overflow-y:auto}.notif-prompt-dialog.is-closing{animation:modalOut .2s cubic-bezier(.22,1,.36,1) forwards}.notif-prompt-close{position:absolute;top:14px;right:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--text-secondary);background:var(--surface-card);border:1px solid var(--border-light);border-radius:50%;transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),color var(--duration-enter) var(--ease-out-strong);box-shadow:var(--shadow-sm)}@media(hover:hover){.notif-prompt-close:hover{color:var(--text-primary);transform:translateY(-1px);box-shadow:0 calc(var(--depth-1) + 1px) 0 var(--key-floor, var(--surface-floor))}}.notif-prompt-close:active{transform:translateY(var(--travel-1));box-shadow:0 1px 0 var(--key-floor, var(--surface-floor));transition-duration:var(--duration-press)}.notif-prompt-icon{position:relative;width:72px;height:72px;border-radius:var(--radius-lg);background:var(--sun);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--on-sun);box-shadow:0 var(--depth-2) 0 var(--sun-floor),inset 0 2px 0 var(--sun-glint);animation:notifBellSwing 1s ease-in-out .3s;transform-origin:top center}.notif-prompt-title{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary);text-align:center;margin:0 0 12px;font-family:var(--font-display)}.notif-prompt-description{font-size:.875rem;color:var(--text-secondary);text-align:center;margin:0 0 24px;line-height:calc(1.5 * var(--reading-line-scale, 1))}.notif-prompt-icon-suffix{white-space:nowrap}.notif-prompt-flame{color:var(--warning);display:inline-block;vertical-align:-.125em}.notif-prompt-actions{margin-bottom:12px}.notif-prompt-later{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:8px;width:100%;min-height:44px;transition:color .15s ease}@media(hover:hover){.notif-prompt-later:hover:not(:disabled){color:var(--text-primary)}}.notif-prompt-later:active:not(:disabled){transform:translateY(var(--travel-1))}.notif-prompt-later:disabled{opacity:.5;cursor:not-allowed}.notif-prompt-dialog button:focus-visible{outline-color:var(--primary-hover)}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes notifBellSwing{0%{transform:rotate(0)}15%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}:where(html[data-motion=reduce]) .notif-prompt-overlay,:where(html[data-motion=reduce]) .notif-prompt-dialog,:where(html[data-motion=reduce]) .notif-prompt-icon{animation:none}.avatar-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-5);background-color:#06040fb8;animation:fadeInBackdrop .2s ease-out both;cursor:zoom-out}[data-theme=light] .avatar-lightbox{background-color:#0f172a8c}.avatar-lightbox--closing{animation:fadeOutBackdrop .2s ease-out forwards}.avatar-lightbox__panel{position:relative;cursor:default;touch-action:none;user-select:none;-webkit-user-select:none;animation:avatarLightboxPanelIn .26s cubic-bezier(.22,1,.36,1) both}.avatar-lightbox--closing .avatar-lightbox__panel{animation:avatarLightboxPanelOut .18s cubic-bezier(.22,1,.36,1) forwards}.avatar-lightbox__stage{position:relative;will-change:transform}.avatar-lightbox__stage-settle{transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .2s ease-out}.avatar-lightbox__image{display:block;width:min(88vw,480px);aspect-ratio:1 / 1;max-height:78vh;object-fit:contain;border-radius:var(--radius-2xl);background:var(--surface-card);box-shadow:var(--shadow-xl),0 0 0 1px color-mix(in srgb,var(--primary) 8%,transparent);opacity:0;cursor:zoom-in;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;will-change:transform;transition:opacity .22s ease-out}.avatar-lightbox__image.is-loaded{opacity:1}.avatar-lightbox__image.is-zoomed{cursor:grab}.avatar-lightbox__image.is-grabbing{cursor:grabbing}.avatar-lightbox__fallback{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.avatar-lightbox__toolbar{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border-light);box-shadow:var(--shadow-md);z-index:2}.avatar-lightbox__tool{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:background .15s ease,transform .15s ease}@media(hover:hover){.avatar-lightbox__tool:hover:not(:disabled){background:var(--surface-card-hover)}}.avatar-lightbox__tool:active:not(:disabled){transform:translateY(var(--travel-1))}.avatar-lightbox__tool:disabled{opacity:.38;cursor:default}.avatar-lightbox__tool:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 45%,transparent)}.avatar-lightbox__scale{width:auto;min-width:56px;padding:0 10px;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.avatar-lightbox__close{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-md);z-index:2;transition:transform .15s ease,background .15s ease}@media(hover:hover){.avatar-lightbox__close:hover{background:var(--surface-card-hover);transform:translateY(-1px);box-shadow:0 calc(var(--depth-2) + 1px) 0 var(--key-floor, var(--surface-floor))}}.avatar-lightbox__close:active{transform:translateY(var(--travel-2));box-shadow:0 1px 0 var(--key-floor, var(--surface-floor))}.avatar-lightbox__close:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 45%,transparent)}@keyframes avatarLightboxPanelIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes avatarLightboxPanelOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.94)}}:where(html[data-motion=reduce]) .avatar-lightbox,:where(html[data-motion=reduce]) .avatar-lightbox--closing,:where(html[data-motion=reduce]) .avatar-lightbox__panel,:where(html[data-motion=reduce]) .avatar-lightbox--closing .avatar-lightbox__panel{animation:none!important}:where(html[data-motion=reduce]) .avatar-lightbox__image,:where(html[data-motion=reduce]) .avatar-lightbox__stage,:where(html[data-motion=reduce]) .avatar-lightbox__stage-settle{transition:none!important}@media(min-width:768px){.avatar-lightbox__image{width:min(60vw,560px)}}.focus-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border:1px solid var(--border-light);border-radius:var(--radius-full);background:var(--surface-card);color:var(--text-primary);font-family:inherit;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:transform var(--transition),background-color var(--transition),border-color var(--transition),color var(--transition)}.focus-chip{--key-y: 0px;--key-depth: var(--depth-1);--key-floor: var(--surface-floor);--key-edge: 0 0 0 0 transparent;box-shadow:var(--key-edge),0 max(0px,calc(var(--key-depth) - var(--key-y))) 0 var(--key-floor);transform:translateY(var(--key-y));transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),background-color var(--duration-enter) var(--ease-out-strong),color var(--duration-enter) var(--ease-out-strong);-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.focus-chip:hover{--key-y: -1px}}.focus-chip:active{--key-y: var(--travel-1);transition-duration:var(--duration-press);transition-timing-function:var(--ease-press)}.focus-chip:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(html[data-motion=reduce]) .focus-chip{transition:none}.focus-chip-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--primary-ink)}.focus-chip-time{line-height:1}.focus-chip:not(.focus-chip--paused) .focus-chip-icon{animation:none}.focus-chip--paused{border-color:var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary)}@keyframes focus-chip-pulse{0%,to{opacity:1}50%{opacity:.45}}.focus-nav-control--live{color:var(--text-primary);border-color:var(--border-color);background:var(--surface-card)}.focus-nav-control--live:not(.focus-nav-control--paused) svg{animation:none}.focus-nav-control--paused{color:var(--text-secondary)}:where(html[data-motion=reduce]) .focus-chip,:where(html[data-motion=reduce]) .focus-chip:hover,:where(html[data-motion=reduce]) .focus-chip .focus-chip-icon,:where(html[data-motion=reduce]) .focus-nav-control--live svg{animation:none}.native-language-switch{position:relative;z-index:1;flex-shrink:0}.native-language-switch--chrome{position:fixed;top:calc(16px + var(--safe-area-top, 0px));right:calc(16px + var(--safe-area-right, 0px));z-index:calc(var(--z-modal, 500) + 40)}.native-language-switch .dropdown-menu-panel{z-index:calc(var(--z-modal, 500) + 40)}.native-language-switch__btn{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;height:44px;min-width:44px;min-height:44px;padding:0 12px 0 11px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--surface-card);color:var(--text-primary);cursor:pointer}.native-language-switch__btn{--key-y: 0px;--key-depth: var(--depth-1);--key-floor: var(--surface-floor);--key-edge: 0 0 0 0 transparent;box-shadow:var(--key-edge),0 max(0px,calc(var(--key-depth) - var(--key-y))) 0 var(--key-floor);transform:translateY(var(--key-y));transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),background-color var(--duration-enter) var(--ease-out-strong),color var(--duration-enter) var(--ease-out-strong);-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.native-language-switch__btn:hover{--key-y: -1px}}.native-language-switch__btn:active{--key-y: var(--travel-1);transition-duration:var(--duration-press);transition-timing-function:var(--ease-press)}.native-language-switch__btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:where(html[data-motion=reduce]) .native-language-switch__btn{transition:none}.native-language-switch__name{font-family:var(--font-display);font-size:.8125rem;font-weight:800;line-height:1;white-space:nowrap}@media(max-width:719px){.native-language-switch__btn{width:44px;padding:0;gap:0}.native-language-switch__name{display:none}}.native-language-switch__btn img{width:22px;height:22px;border-radius:4px;display:block}.desktop-nav{display:none}@media(min-width:768px){.desktop-nav{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);height:var(--topnav-height);background:var(--bg-nav);box-shadow:0 var(--depth-1) 0 var(--surface-floor);position:sticky;top:0;z-index:calc(var(--z-modal, 500) + 20)}.desktop-nav-left{display:flex;align-items:center;gap:var(--space-6)}.desktop-nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);cursor:pointer;transition:transform var(--duration-release) var(--ease-spring)}@media(hover:hover){.desktop-nav-brand:hover{transform:translateY(-1px)}}.desktop-nav-brand:active{transform:translateY(var(--travel-1));transition:transform var(--duration-press) var(--ease-press)}.desktop-nav-logo-img{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:block;box-shadow:0 var(--depth-1) 0 var(--surface-floor)}.desktop-nav-title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.03em}.desktop-nav-tabs{display:flex;align-items:center;gap:var(--space-1)}.desktop-nav-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;min-height:40px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:700;font-family:var(--font-display);text-decoration:none;cursor:pointer;border-radius:var(--radius-full);white-space:nowrap}.desktop-nav-tab,.desktop-nav-badge,.desktop-nav-settings,.desktop-nav-focus,.desktop-nav-login{--key-y: 0px;--key-depth: 0px;--key-floor: var(--surface-floor);--key-edge: 0 0 0 0 transparent;box-shadow:var(--key-edge),0 max(0px,calc(var(--key-depth) - var(--key-y))) 0 var(--key-floor);transform:translateY(var(--key-y));transition:transform var(--duration-release) var(--ease-spring),box-shadow var(--duration-release) var(--ease-spring),background-color var(--transition),color var(--transition)}@media(hover:hover){.desktop-nav-tab:hover,.desktop-nav-badge:hover,.desktop-nav-settings:hover,.desktop-nav-focus:hover,.desktop-nav-login:hover{--key-y: -1px}}.desktop-nav-tab:active,.desktop-nav-badge:active,.desktop-nav-settings:active,.desktop-nav-focus:active,.desktop-nav-login:active{--key-y: var(--travel-1);transition-duration:var(--duration-press);transition-timing-function:var(--ease-press)}.desktop-nav-tab:focus-visible,.desktop-nav-badge:focus-visible,.desktop-nav-settings:focus-visible,.desktop-nav-focus:focus-visible,.desktop-nav-login:focus-visible,.desktop-nav-more-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media(hover:hover){.desktop-nav-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}}.desktop-nav-tab--active,.desktop-nav-more--active .desktop-nav-more__button{--key-depth: var(--depth-1);--key-floor: var(--primary-floor);--key-edge: inset 0 2px 0 var(--primary-rim);background:var(--primary);color:var(--on-primary)}@media(hover:hover){.desktop-nav-tab--active:hover,.desktop-nav-more--active .desktop-nav-more__button:hover{--key-depth: var(--depth-1);--key-floor: var(--primary-floor);--key-edge: inset 0 2px 0 var(--primary-rim);background:var(--primary);color:var(--on-primary)}}.desktop-nav-tab--primary:not(.desktop-nav-tab--active){color:var(--primary-ink);background:var(--bg-secondary)}.desktop-nav-right{display:flex;align-items:center;gap:var(--space-2)}.desktop-nav-badge{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;white-space:nowrap;flex-shrink:0;border:none;cursor:pointer;font-family:inherit;--key-depth: var(--depth-1);--key-floor: var(--surface-2-floor);background:var(--bg-secondary);color:var(--text-primary)}.desktop-nav-settings,.desktop-nav-focus{--key-depth: var(--depth-1);--key-edge: inset 0 0 0 1px var(--border-light);width:40px;height:40px;border-radius:50%;border:0;background:var(--surface-card);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.desktop-nav-settings--active,.desktop-nav-focus--active{--key-floor: var(--primary-floor);--key-edge: inset 0 2px 0 var(--primary-rim);background:var(--primary);color:var(--on-primary)}.desktop-nav-more{position:relative;display:flex;align-items:center}.desktop-nav-more__button{gap:4px}.desktop-nav-more__chevron{transition:transform var(--transition);color:var(--text-tertiary);flex-shrink:0}.desktop-nav-more__chevron--up{transform:rotate(180deg)}.desktop-nav-more-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:224px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s cubic-bezier(.2,.8,.2,1),visibility .16s;z-index:10}.desktop-nav-more--open .desktop-nav-more-menu,.desktop-nav-more:focus-within .desktop-nav-more-menu{opacity:1;visibility:visible;transform:translateY(0)}.desktop-nav-more-item{display:flex;align-items:center;gap:10px;min-height:46px;padding:9px 12px;border:none;border-radius:12px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;font-family:inherit;text-decoration:none;text-align:left;cursor:pointer;white-space:nowrap;transition:background-color var(--transition),color var(--transition)}.desktop-nav-more-item svg{flex-shrink:0;color:var(--text-tertiary);transition:color var(--transition)}@media(hover:hover){.desktop-nav-more-item:hover{background:var(--bg-secondary);color:var(--text-primary)}}@media(hover:hover){.desktop-nav-more-item:hover svg{color:var(--primary-ink)}}.desktop-nav-more-item:active{background:var(--bg-tertiary)}.desktop-nav-login{display:inline-flex;align-items:center;gap:6px;--key-depth: var(--depth-1);--key-floor: var(--primary-floor);--key-edge: inset 0 2px 0 var(--primary-rim);height:40px;padding:0 16px;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);border:none;font-family:var(--font-display);font-size:.8125rem;font-weight:800;cursor:pointer;white-space:nowrap}}@media(min-width:768px){:where(html[data-motion=reduce]) .desktop-nav-tab,:where(html[data-motion=reduce]) .desktop-nav-badge,:where(html[data-motion=reduce]) .desktop-nav-settings,:where(html[data-motion=reduce]) .desktop-nav-focus,:where(html[data-motion=reduce]) .desktop-nav-login,:where(html[data-motion=reduce]) .desktop-nav-brand,:where(html[data-motion=reduce]) .desktop-nav-more-menu{transition:none}}@media(min-width:768px)and (max-width:1100px){.desktop-nav{padding:0 var(--space-4);gap:var(--space-3)}.desktop-nav-left{gap:var(--space-3)}.desktop-nav-tab{padding:8px 10px}.desktop-nav-tab-label{display:none}.desktop-nav-badge{padding:6px 10px}.desktop-nav-right{gap:var(--space-1)}.desktop-nav-title,.desktop-nav .native-language-switch__name{display:none}.desktop-nav .native-language-switch__btn{padding:0;gap:0}.desktop-nav-login{padding:0 10px}.desktop-nav-login-label,.desktop-nav-stores{display:none}}@media(min-width:1101px)and (max-width:1439px){.desktop-nav{padding:0 var(--space-4);gap:var(--space-3)}.desktop-nav-left{gap:var(--space-4)}.desktop-nav-tab{padding:8px 12px}.desktop-nav-badge{padding:6px 10px}.desktop-nav-right{gap:var(--space-1)}.desktop-nav-title,.desktop-nav .native-language-switch__name{display:none}.desktop-nav .native-language-switch__btn{padding:0;gap:0}}.app-back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:inherit;cursor:pointer}.app-back-button:active{transform:translateY(var(--travel-1))}.app-back-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.route-recovery-back{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));z-index:1}.achievement-popup{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);transition:opacity .3s ease}.achievement-popup--hidden{opacity:0;pointer-events:none}.achievement-popup__backdrop{position:absolute;inset:0;background:var(--scrim)}.achievement-popup__card{position:relative;width:100%;max-width:360px;background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl);transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.achievement-popup--hidden .achievement-popup__card{transform:scale(.9);opacity:0}.achievement-popup__card:before{content:"";position:absolute;inset:0;background:var(--accent-amber-wash);animation:none;pointer-events:none}@keyframes achievement-glow{0%,to{opacity:.5}50%{opacity:1}}.achievement-popup__body{position:relative;padding:var(--space-6) var(--space-5);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.achievement-popup__burst{font-size:2.5rem;animation:achievement-entrance .3s cubic-bezier(.16,1,.3,1) .1s both}@keyframes achievement-entrance{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.achievement-popup__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.01em}.achievement-popup__icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;font-size:3rem;border-radius:50%;background:var(--surface-card-hover);border:1px solid var(--border-light);box-shadow:0 var(--depth-3) 0 var(--surface-floor);animation:achievement-pop .3s cubic-bezier(.16,1,.3,1) .1s both;color:var(--text-primary)}@keyframes achievement-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.achievement-popup__name{margin:0;font-size:1.0625rem;font-weight:700;color:var(--text-primary)}.achievement-popup__desc{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:calc(1.4 * var(--reading-line-scale, 1))}.achievement-popup__xp{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--warning-dim);border:1px solid var(--border-light);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.achievement-popup__xp-star{font-size:.875rem}.achievement-popup__xp-value{font-size:.9375rem;font-weight:800;color:var(--warning);font-variant-numeric:tabular-nums}.achievement-popup__btn{width:100%;padding:14px 20px;font-family:inherit;font-size:.9375rem;font-weight:700;color:var(--btn-text-light);background:var(--warning-dark);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 var(--depth-2) 0 var(--sun-floor);transition:transform .15s ease;margin-top:var(--space-2)}@media(hover:hover){.achievement-popup__btn:hover{transform:translateY(-1px)}}.achievement-popup__btn:active{transform:translateY(var(--travel-1))}.achievement-popup--reward .achievement-popup__card:before{background:var(--accent-indigo-wash)}.achievement-popup--reward .achievement-popup__icon{background:var(--surface-card-hover);border-color:var(--border-light);box-shadow:none;color:var(--text-primary)}.achievement-popup--reward .achievement-popup__btn{background:var(--primary-solid);border-color:var(--border-light);box-shadow:0 var(--depth-2) 0 var(--primary-floor)}.achievement-popup__ping{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.achievement-popup__ping-ring{width:80px;height:80px;border-radius:50%;background:var(--warning-bg);animation:achievement-ping .6s cubic-bezier(0,0,.2,1) 1 forwards}.achievement-popup--reward .achievement-popup__ping-ring{background:var(--primary-dim)}@keyframes achievement-ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}:where(html[data-motion=reduce]) .achievement-popup,:where(html[data-motion=reduce]) .achievement-popup__card,:where(html[data-motion=reduce]) .achievement-popup__card:before,:where(html[data-motion=reduce]) .achievement-popup__burst,:where(html[data-motion=reduce]) .achievement-popup__icon,:where(html[data-motion=reduce]) .achievement-popup__ping-ring,:where(html[data-motion=reduce]) .achievement-popup__btn{animation:none!important;transition:none!important}:where(html[data-motion=reduce]) .achievement-popup__btn:hover,:where(html[data-motion=reduce]) .achievement-popup__btn:active{transform:none}:where(html[data-motion=reduce]) .achievement-popup__ping{display:none}.challenge-reward-emblem{display:grid;place-items:center;width:96px;height:96px;flex-shrink:0;overflow:hidden;border-radius:var(--radius-xl);background:var(--bg-secondary);color:var(--metal-gold);box-shadow:var(--shadow-sm);animation:challenge-reward-emblem-in var(--duration-modal) var(--ease-out-expo) both}.achievement-popup--reward .achievement-popup__btn:focus-visible{outline-color:var(--primary-hover)}.achievement-popup--reward .achievement-popup__card{display:flex;flex-direction:column;max-height:calc(100dvh - var(--space-4) * 2)}.achievement-popup--reward .achievement-popup__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:0}.challenge-reward-footer{position:relative;flex-shrink:0;text-align:center;padding:var(--space-4) var(--space-5) max(var(--space-6),env(safe-area-inset-bottom))}.challenge-reward-footer [role=alert]{margin:0 0 var(--space-2);color:var(--text-primary);font-size:.875rem;line-height:calc(1.4 * var(--reading-line-scale, 1))}.achievement-popup--reward .achievement-popup__xp-value,.achievement-popup--reward .achievement-popup__xp-star{color:var(--warning-text)}.achievement-popup--reward .achievement-popup__xp-star{fill:currentColor}@keyframes challenge-reward-emblem-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}:where(html[data-motion=reduce]) .challenge-reward-emblem{animation:none}.boot-reveal-splash{position:fixed;inset:0;z-index:80;transform-origin:50% 42%;will-change:transform,opacity}.boot-reveal-splash.is-exit{pointer-events:none;animation:boot-splash-exit .24s var(--ease-drawer, cubic-bezier(.32, .72, 0, 1)) forwards}.boot-reveal-ready{animation:boot-ready-enter .52s var(--ease-out-soft) backwards;transform-origin:50% 20%}@keyframes boot-splash-exit{to{opacity:0;transform:scale(1.08) translateY(-4%)}}@keyframes boot-ready-enter{0%{opacity:0;transform:scale(.94) translateY(16vh)}}@keyframes boot-fade-in{0%{opacity:0}to{opacity:1}}@keyframes boot-fade-out{0%{opacity:1}to{opacity:0}}:where(html[data-motion=reduce]) .boot-reveal-splash.is-exit{animation:boot-fade-out 70ms ease-out forwards}:where(html[data-motion=reduce]) .boot-reveal-ready{animation:boot-fade-in 90ms ease-out both}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/literata-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/literata-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/literata-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Literata;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/literata-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInNoTransform{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes dialogPopIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dialogPopOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-47%) scale(.96)}}@keyframes modalIn{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(6px)}}@keyframes sheetIn{0%{opacity:0;transform:translate3d(0,18%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes sheetOut{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,12%,0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes correctAnswer{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes successPulse{0%{box-shadow:0 0 0 0 var(--correct-floor)}70%{box-shadow:0 0 0 15px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes fadeOutBackdrop{0%{opacity:1}to{opacity:0}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes errorPulse{0%{box-shadow:0 0 0 0 var(--wrong-floor)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}:root{--bg-body: #eef1f5;--bg-primary: #eef1f5;--bg-secondary: #e2e6ee;--bg-tertiary: #d9ddec;--bg-nav: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f3f5fb;--surface-card: #ffffff;--surface-card-hover: #f3f5fb;--text-primary: #0f172a;--text-secondary: #526079;--text-tertiary: #55647d;--text-muted: #55647d;--border-color: rgba(15, 23, 42, .1);--border-light: rgba(15, 23, 42, .07);--hero-icon-sheen: rgba(15, 23, 42, .05);--border-color-hover: rgba(15, 23, 42, .18);--primary-subtle: var(--primary-dim);--shadow: rgba(26, 29, 41, .1);--primary: #4f46e5;--primary-dark: #4338ca;--primary-hover: #4338ca;--primary-dim: #e1e5fd;--primary-gradient: var(--primary-solid);--primary-solid: #4f46e5;--progress-segment-empty: var(--mute-line);--switch-thumb-bg: #ffffff;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Devanagari", sans-serif;--font-display: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Noto Sans Devanagari", sans-serif;--font-serif: "Literata", Georgia, "Times New Roman", serif;--accent: #fbbf24;--accent-dim: #fef3c7;--success: #16a34a;--success-dark: #15803d;--success-dim: rgba(22, 163, 74, .1);--danger: #ef4444;--danger-dark: #dc2626;--danger-dim: rgba(239, 68, 68, .1);--warning: #f59e0b;--warning-dark: #d97706;--warning-dim: rgba(245, 158, 11, .1);--on-success: #0f172a;--on-warning: #0f172a;--on-danger: #0f172a;--btn-danger-fill: #dc2626;--btn-danger-fill-hover: #b91c1c;--btn-success-fill: #15803d;--btn-success-fill-hover: #166534;--btn-info-fill: #4f46e5;--btn-info-fill-hover: #4338ca;--btn-primary-fill-hover: #4338ca;--info: #3b82f6;--info-dim: rgba(59, 130, 246, .1);--info-bg: rgba(59, 130, 246, .04);--correct-bg: #dcfce7;--correct-border: #16a34a;--correct-text: #166534;--wrong-bg: #fee2e2;--wrong-border: #dc2626;--wrong-text: #991b1b;--warning-bg: #fef3c7;--warning-text: #92400e;--link-color: #4338ca;--link-hover: #3730a3;--input-bg: var(--surface-card);--btn-text-light: white;--btn-text-dark: var(--bg-primary);--tag-bg: var(--primary);--tag-border: none;--tag-color: white;--pill-active-bg: var(--primary);--pill-active-color: white;--example-bg: rgba(99, 102, 241, .04);--example-border: none;--example-number-color: white;--level-beginner: #22c55e;--level-beginner-dim: rgba(34, 197, 94, .08);--level-elementary: #3b82f6;--level-elementary-dim: rgba(59, 130, 246, .08);--level-pre-intermediate: #f59e0b;--level-pre-intermediate-dim: rgba(245, 158, 11, .08);--level-intermediate: #8b5cf6;--level-intermediate-dim: rgba(139, 92, 246, .08);--level-upper-intermediate: #ec4899;--level-upper-intermediate-dim: rgba(236, 72, 153, .08);--level-advanced: #ef4444;--level-advanced-dim: rgba(239, 68, 68, .08);--accent-indigo: #4f46e5;--accent-indigo-wash: rgba(79, 70, 229, .1);--accent-amber: #d97706;--accent-amber-wash: rgba(217, 119, 6, .12);--accent-coral: #e1483d;--accent-coral-wash: rgba(225, 72, 61, .1);--accent-blue: #2563eb;--accent-blue-wash: rgba(37, 99, 235, .1);--accent-teal: #0d9488;--accent-teal-wash: rgba(13, 148, 136, .1);--accent-violet: #7c3aed;--accent-violet-wash: rgba(124, 58, 237, .1);--level-card-a1: #115e59;--level-card-a2: #1d4ed8;--level-card-b1: #6d28d9;--level-card-b2: #92400e;--level-card-c1: #b91c1c;--level-card-c2: #4338ca;--metal-gold: #a16207;--metal-gold-wash: rgba(161, 98, 7, .12);--metal-silver: #64748b;--metal-silver-wash: rgba(100, 116, 139, .12);--metal-bronze: #9a6b4f;--metal-bronze-wash: rgba(154, 107, 79, .12);--league-emerald: #047857;--league-ruby: #be123c;--league-diamond: #0e7490;--league-master: #0369a1;--qr-ink: #0c0c10;--qr-paper: #ffffff;--trophy-spark: #f6b92b;--shadow-sm: 0 var(--depth-1) 0 var(--surface-floor);--shadow-md: 0 var(--depth-2) 0 var(--surface-floor);--card-shadow: 0 var(--depth-2) 0 var(--surface-floor);--shadow-lg: 0 var(--depth-3) 0 var(--surface-floor);--shadow-xl: 0 var(--depth-3) 0 var(--surface-floor);--shadow-brand: 0 var(--depth-2) 0 var(--primary-floor);--shadow-brand-hover: 0 calc(var(--depth-2) + 1px) 0 var(--primary-floor);--shadow-success: 0 var(--depth-2) 0 var(--success-floor);--surface-overlay: rgba(255, 255, 255, .5);--heatmap-empty: rgba(26, 29, 41, .07);--heatmap-low: #c6e48b;--heatmap-medium: #7bc96f;--heatmap-high: #239a3b;--heatmap-max: #196127;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-screen: 20px;--touch-target-min: 44px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--layout-padding: 16px;--container-max: 1120px;--bottom-nav-height: 64px;--toolbar-height: 56px;--topnav-height: 60px;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 28px;--radius-full: 9999px;--ease-out-soft: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-strong: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--ease-press: cubic-bezier(.2, .8, .2, 1);--ease-in-out-soft: cubic-bezier(.65, 0, .35, 1);--duration-press: .12s;--duration-dropdown: .24s;--duration-modal: .28s;--duration-sheet: .34s;--transition: .2s var(--ease-out-soft);--transition-slow: .3s var(--ease-out-soft);--transition-progress: .28s var(--ease-out-soft);--transition-drawer: var(--duration-sheet) var(--ease-drawer);--surface-floor: #cdd1e8;--surface-2-floor: #c3c8dc;--field-line: #7c86ad;--mute-line: #808ab1;--primary-floor: #312e81;--primary-rim: #6366f1;--primary-ink: #4338ca;--on-primary-muted: #e3e2fb;--on-solid: #ffffff;--sun: #fbbf24;--sun-floor: #b45309;--sun-glint: #fde68a;--on-sun: #1e1b4b;--ink: #1e1b4b;--object-line: #1e1b4b;--spark: #818cf8;--paper: #ffffff;--progress-fill: #4f46e5;--progress-glint: #818cf8;--success-floor: #14532d;--success-rim: #16a34a;--success-text: #15803d;--success-glint: #4ade80;--correct-floor: #a9e2bd;--danger-floor: #991b1b;--danger-rim: #ef4444;--danger-text: #b91c1c;--wrong-floor: #f3b4b4;--warning-floor: #f0d488;--disabled-face: #dadee8;--disabled-floor: #c8cddc;--disabled-text: #667189;--focus-ring: #1e1b4b;--focus-ring-on-primary: #fde68a;--scrim: rgba(9, 13, 20, .56);--tooltip-bg: #1e1b4b;--tooltip-text: #ffffff;--depth-0: 0px;--depth-1: 2px;--depth-2: 4px;--depth-3: 6px;--travel-1: 1px;--travel-2: 3px;--travel-3: 4px;--ease-spring: cubic-bezier(.3, 1.12, .5, 1);--duration-release: .36s;--duration-enter: .2s;--duration-progress: .48s;--duration-success: .36s}[data-theme=dark]{--bg-body: #090d14;--bg-primary: #090d14;--bg-secondary: #1b2236;--bg-tertiary: #232a42;--bg-nav: #141a29;--bg-card: #111622;--bg-card-hover: #171d2d;--surface-card: #111622;--surface-card-hover: #171d2d;--text-primary: #f1f5f9;--text-secondary: #9aa6c0;--text-tertiary: #8b97b5;--text-muted: #8b97b5;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .07);--hero-icon-sheen: rgba(255, 255, 255, .07);--border-color-hover: rgba(255, 255, 255, .18);--primary-subtle: var(--primary-dim);--shadow: rgba(0, 0, 0, .4);--primary: #4f46e5;--primary-dark: #4338ca;--primary-hover: #6366f1;--primary-dim: #1a1f3d;--primary-solid: #4f46e5;--progress-segment-empty: var(--mute-line);--switch-thumb-bg: #ffffff;--accent-dim: #33260a;--success: #16a34a;--success-dark: #15803d;--success-dim: rgba(22, 163, 74, .15);--danger: #f87171;--danger-dark: #ef4444;--danger-dim: rgba(248, 113, 113, .15);--warning-dark: #d97706;--warning-dim: rgba(251, 191, 36, .15);--on-success: #0f172a;--on-warning: #0f172a;--on-danger: #0f172a;--btn-danger-fill: #dc2626;--btn-danger-fill-hover: #b91c1c;--btn-success-fill: #15803d;--btn-success-fill-hover: #166534;--btn-info-fill: #4f46e5;--btn-info-fill-hover: #4338ca;--btn-primary-fill-hover: #4338ca;--info: #60a5fa;--info-dim: rgba(96, 165, 250, .15);--info-bg: rgba(96, 165, 250, .1);--correct-bg: #0f2a1c;--correct-border: #22c55e;--correct-text: #86efac;--wrong-bg: #2e1416;--wrong-border: #f87171;--wrong-text: #fca5a5;--warning-bg: #33260a;--warning-text: #fcd34d;--link-color: #a5b4fc;--link-hover: #c7d2fe;--input-bg: var(--surface-card);--btn-text-light: white;--btn-text-dark: var(--bg-primary);--tag-bg: var(--primary-solid);--tag-border: 1.5px solid var(--primary-rim);--tag-color: #ffffff;--pill-active-bg: var(--primary-solid);--pill-active-color: #ffffff;--example-bg: var(--bg-secondary);--example-border: 1px solid var(--border-color);--example-number-color: #ffffff;--level-beginner: #4ade80;--level-beginner-dim: rgba(74, 222, 128, .15);--level-elementary: #60a5fa;--level-elementary-dim: rgba(96, 165, 250, .15);--level-pre-intermediate: #fbbf24;--level-pre-intermediate-dim: rgba(251, 191, 36, .15);--level-intermediate: #a78bfa;--level-intermediate-dim: rgba(167, 139, 250, .15);--level-upper-intermediate: #f472b6;--level-upper-intermediate-dim: rgba(244, 114, 182, .15);--level-advanced: #fb7185;--level-advanced-dim: rgba(251, 113, 133, .15);--accent-indigo: #818cf8;--accent-indigo-wash: rgba(129, 140, 248, .16);--accent-amber: #fbbf24;--accent-amber-wash: rgba(251, 191, 36, .16);--accent-coral: #fb7185;--accent-coral-wash: rgba(251, 113, 133, .16);--accent-blue: #60a5fa;--accent-blue-wash: rgba(96, 165, 250, .16);--accent-teal: #2dd4bf;--accent-teal-wash: rgba(45, 212, 191, .16);--accent-violet: #a78bfa;--accent-violet-wash: rgba(167, 139, 250, .16);--level-card-a1: #115e59;--level-card-a2: #1e40af;--level-card-b1: #5b21b6;--level-card-b2: #92400e;--level-card-c1: #991b1b;--level-card-c2: #3730a3;--metal-gold: #fbbf24;--metal-gold-wash: rgba(251, 191, 36, .16);--metal-silver: #cbd5e1;--metal-silver-wash: rgba(203, 213, 225, .14);--metal-bronze: #d6ae93;--metal-bronze-wash: rgba(214, 174, 147, .14);--league-emerald: #34d399;--league-ruby: #fb7185;--league-diamond: #67e8f9;--league-master: #38bdf8;--qr-ink: #0c0c10;--qr-paper: #f4f2ed;--surface-overlay: rgba(255, 255, 255, .06);--heatmap-empty: rgba(255, 255, 255, .07);--heatmap-low: #0e4429;--heatmap-medium: #006d32;--heatmap-high: #26a641;--heatmap-max: #39d353;--surface-floor: #222944;--surface-2-floor: #2a3252;--field-line: #6a76a0;--mute-line: #5d688f;--primary-floor: #2b2874;--primary-ink: #a5b4fc;--object-line: #b45309;--progress-fill: #818cf8;--progress-glint: #c7d2fe;--success-floor: #0f4424;--success-text: #4ade80;--correct-floor: #1a4a30;--danger-floor: #7f1d1d;--danger-text: #fca5a5;--wrong-floor: #5a2126;--warning-floor: #5c430f;--disabled-face: #1b2236;--disabled-floor: #232a42;--disabled-text: #66718f;--focus-ring: #fde68a;--scrim: rgba(0, 0, 0, .64);--tooltip-bg: #f1f5f9;--tooltip-text: #0f172a}:root{--surface: var(--bg-card);--surface-2: var(--bg-secondary);--surface-elevated: var(--bg-card-hover);--surface-container-high: var(--bg-secondary);--surface-container-highest: var(--bg-tertiary);--text: var(--text-primary);--border: var(--border-light);--border-subtle: var(--border-light);--on-primary: #ffffff;--text-on: #ffffff;--text-on-primary: #ffffff;--brand-telegram: #229ed9;--primary-soft: var(--primary-dim);--error: var(--danger);--bg-surface: var(--bg-card);--bg-hover: var(--bg-card-hover);--border-hover: var(--border-color-hover);--interactive-primary: var(--primary);--interactive-primary-hover: var(--btn-primary-fill-hover);--space-10: 80px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100dvh}html{background-color:var(--bg-primary)}#root{position:relative;z-index:1}@media(max-width:767px){html{background-attachment:scroll}}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-color:transparent;color:var(--text-primary);transition:color .3s ease}h1,h2,h3,.font-display{font-family:var(--font-display)}.skip-link{position:fixed;top:-100px;left:12px;z-index:var(--z-tooltip);padding:10px 16px;background:var(--primary);color:var(--on-solid);font-weight:600;border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-decoration:none}.skip-link:focus,.skip-link:focus-visible{top:calc(12px + var(--safe-area-top));outline:3px solid var(--focus-ring);outline-offset:2px}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.ui-modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4, 16px);z-index:var(--z-modal-backdrop);background-color:#06040f80;animation:fadeInBackdrop .2s ease-out both}[data-theme=light] .ui-modal-backdrop{background-color:#0f172a52}.ui-modal-backdrop--closing{animation:fadeOutBackdrop .18s ease-out forwards}.ui-modal{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow:auto;padding:var(--space-6);border-radius:var(--radius-2xl);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);animation:modalIn var(--duration-modal) var(--ease-out-strong) both;will-change:transform,opacity;transform-origin:center center}.ui-modal--closing{animation:modalOut .18s var(--ease-out-soft) forwards}.error-screen{animation:fadeIn var(--duration-slow, .3s) var(--ease-out-soft, ease-out) both}.error-screen-card{animation:modalIn var(--duration-modal) var(--ease-out-strong) both;will-change:transform,opacity;transform-origin:center center}:where(html[data-motion=reduce]) .ui-modal-backdrop,:where(html[data-motion=reduce]) .ui-modal,:where(html[data-motion=reduce]) .error-screen,:where(html[data-motion=reduce]) .error-screen-card{animation:none!important}button{font-family:inherit;color:inherit}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.app-layout{max-width:var(--container-max);margin:0 auto;min-height:100vh;min-height:100dvh;padding:var(--layout-padding);display:flex;flex-direction:column}.app-layout>main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.app-layout>main[hidden]{display:none}.app-layout:has(>main:not([hidden]) .lesson-detail-shell),.app-layout:has(>main:not([hidden]) .letter-lesson-root){height:100vh;height:100dvh;padding-bottom:var(--keyboard-inset, 0px)}@media(min-width:768px){.app-layout{padding:var(--space-6);min-height:calc(100vh - var(--topnav-height));min-height:calc(100dvh - var(--topnav-height))}.app-layout:has(>main:not([hidden]) .lesson-detail-shell),.app-layout:has(>main:not([hidden]) .letter-lesson-root){height:calc(100vh - var(--topnav-height));height:calc(100dvh - var(--topnav-height));padding-bottom:var(--keyboard-inset, 0px)}}@keyframes pageEnter{0%{transform:translateY(10px)}to{transform:translateY(0)}}.page-enter{animation:pageEnter .3s ease-out}:where(html[data-motion=reduce]) .page-enter{animation:none}.error-shake{animation:shake .4s ease-out}.error-input{border-color:var(--danger)!important;animation:errorPulse .6s ease-out}.stepper-container,.hide-scrollbar{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.stepper-container::-webkit-scrollbar,.hide-scrollbar::-webkit-scrollbar{display:none}.animate-fadeIn{animation:fadeIn .4s ease-out both}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes pageSlideIn{0%{opacity:0}to{opacity:1}}.page-transition{animation:pageSlideIn .25s ease-out}.question-card-enter{animation:slideInFromRight .3s ease-out}.question-card-fade-in{animation:fadeIn .3s ease-out}.question-option-enter{animation:fadeIn .3s ease-out backwards}@keyframes slideInFromRightSmall{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.btn-scale-effect{transition:transform .15s ease-out}@media(hover:hover){.btn-scale-effect:hover{transform:translateY(-1px)}}.btn-scale-effect:active{transform:translateY(var(--travel-1))}.stagger-item{animation:none;opacity:1;transform:none}.animated-number{display:inline-block;font-variant-numeric:tabular-nums;will-change:transform}.animated-number--updating{animation:sync-number-bump .45s cubic-bezier(.16,1,.3,1)}@keyframes sync-number-bump{0%{transform:scale(1)}35%{transform:scale(1.08)}to{transform:scale(1)}}.sync-badge-updating{animation:sync-badge-pop .5s cubic-bezier(.16,1,.3,1)}@keyframes sync-badge-pop{0%{transform:scale(1)}35%{transform:scale(1.05)}to{transform:scale(1)}}.xp-progress__fill,.daily-widget__pill-fill,.study-goal-card-progress-fill,.level-section-progress-fill,.challenge-card__progress-fill,.preview-progress-fill{transition:transform var(--transition-progress)!important}:where(html[data-motion=reduce]) .animated-number--updating,:where(html[data-motion=reduce]) .sync-badge-updating{animation:none!important}:where(html[data-motion=reduce]) .xp-progress__fill,:where(html[data-motion=reduce]) .daily-widget__pill-fill,:where(html[data-motion=reduce]) .study-goal-card-progress-fill,:where(html[data-motion=reduce]) .level-section-progress-fill,:where(html[data-motion=reduce]) .challenge-card__progress-fill,:where(html[data-motion=reduce]) .preview-progress-fill{transition:none!important}:where(.toon){--toon-depth: var(--depth-2);--toon-travel: var(--travel-2);--toon-face: var(--surface-card);--toon-floor: var(--surface-floor);--toon-edge: inset 0 0 0 1px var(--border-light);--toon-radius: var(--radius-lg);position:relative;box-sizing:border-box;padding:0 0 var(--toon-depth);border:0;border-radius:var(--toon-radius);background:none;color:var(--text-primary);-webkit-tap-highlight-color:transparent}:where(.toon):before{content:"";position:absolute;inset:var(--toon-depth) 0 0;border-radius:inherit;background:var(--toon-floor);pointer-events:none}:where(.toon__face){display:block;position:relative;box-sizing:border-box;border-radius:inherit;background:var(--toon-face);box-shadow:var(--toon-edge);transition:transform var(--duration-release) var(--ease-spring)}.toon--d0{--toon-depth: var(--depth-0);--toon-travel: 0px}.toon--d1{--toon-depth: var(--depth-1);--toon-travel: var(--travel-1)}.toon--d3{--toon-depth: var(--depth-3);--toon-travel: var(--travel-3)}.toon--soft{--toon-face: var(--bg-secondary);--toon-floor: var(--surface-2-floor)}.toon--brand{--toon-face: var(--primary);--toon-floor: var(--primary-floor);--toon-edge: inset 0 2px 0 var(--primary-rim);color:var(--on-primary)}.toon--sun{--toon-face: var(--sun);--toon-floor: var(--sun-floor);--toon-edge: inset 0 2px 0 var(--sun-glint);color:var(--on-sun)}.toon--success{--toon-face: var(--btn-success-fill);--toon-floor: var(--success-floor);--toon-edge: inset 0 2px 0 var(--success-rim);color:var(--on-solid)}.toon--danger{--toon-face: var(--btn-danger-fill);--toon-floor: var(--danger-floor);--toon-edge: inset 0 2px 0 var(--danger-rim);color:var(--on-solid)}.toon--press{cursor:pointer}@media(hover:hover)and (pointer:fine){.toon--press:hover>.toon__face{transform:translateY(-1px);transition:transform .2s var(--ease-out-strong)}}.toon--press:active>.toon__face,.toon[aria-busy=true]>.toon__face{transform:translateY(var(--toon-travel));transition:transform var(--duration-press) var(--ease-press)}.toon:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.toon--brand .toon:focus-visible{outline-color:var(--focus-ring-on-primary)}.toon:disabled:not([aria-busy=true]),.toon.is-disabled{--toon-face: var(--disabled-face);--toon-floor: var(--disabled-floor);--toon-edge: 0 0 0 0 transparent;color:var(--disabled-text);cursor:not-allowed}.toon:disabled:not([aria-busy=true])>.toon__face,.toon.is-disabled>.toon__face{transform:translateY(max(0px,calc(var(--toon-depth) - 1px)))}.toon[aria-busy=true]{cursor:progress}:where(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn){--toon-depth: var(--depth-2);--toon-travel: var(--travel-2);--toon-face: var(--surface-card);--toon-floor: var(--surface-floor);--toon-edge: inset 0 0 0 1px var(--border-light);--toon-radius: var(--radius-md);position:relative;isolation:isolate;box-sizing:border-box;margin-bottom:var(--toon-depth);border:0;border-radius:var(--toon-radius);background:none;color:var(--text-primary);cursor:pointer;transition:transform var(--duration-release) var(--ease-spring);-webkit-tap-highlight-color:transparent}:where(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):before,:where(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):after{content:"";position:absolute;border-radius:inherit;pointer-events:none}:where(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):before{inset:var(--toon-depth) 0 calc(-1 * var(--toon-depth));z-index:-2;background:var(--toon-floor);transition:inherit}:where(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):after{inset:0;z-index:-1;background:var(--toon-face);box-shadow:var(--toon-edge)}@media(hover:hover)and (pointer:fine){:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):hover:not(:disabled){transform:translateY(-1px);transition:transform .2s var(--ease-out-strong)}:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):hover:not(:disabled):before{transform:translateY(1px)}}:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):active:not(:disabled){transform:translateY(var(--toon-travel));transition:transform var(--duration-press) var(--ease-press)}:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):active:not(:disabled):before{transform:translateY(calc(-1 * var(--toon-travel)))}:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):disabled{--toon-face: var(--disabled-face);--toon-floor: var(--disabled-floor);--toon-edge: 0 0 0 0 transparent;--toon-sunk: max(0px, calc(var(--toon-depth) - 1px));color:var(--disabled-text);cursor:not-allowed;transform:translateY(var(--toon-sunk))}:is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):disabled:before{transform:translateY(calc(-1 * var(--toon-sunk)))}.toon-bar{display:block;height:12px;border-radius:6px;background:var(--bg-tertiary);overflow:hidden}.toon-bar__fill{display:block;position:relative;height:100%;border-radius:6px;background:var(--progress-fill)}.toon-bar__fill:after{content:"";position:absolute;top:2px;right:8px;left:6px;height:3px;border-radius:2px;background:var(--progress-glint)}:where(html[data-motion=reduce]) .toon__face,:where(html[data-motion=reduce]) .toon--press:hover>.toon__face,:where(html[data-motion=reduce]) .toon--press:active>.toon__face,:where(html[data-motion=reduce]) .toon[aria-busy=true]>.toon__face,:where(html[data-motion=reduce]) :is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn),:where(html[data-motion=reduce]) :is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):hover:not(:disabled),:where(html[data-motion=reduce]) :is(.toon-solo,.dialog-btn,.dialog-close,.exercise-btn):active:not(:disabled){transition:none}.icon-slot{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:0}html,body,#root,*,*:before,*:after{-ms-overflow-style:none!important;scrollbar-width:none!important}html::-webkit-scrollbar,body::-webkit-scrollbar,#root::-webkit-scrollbar,*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}::-webkit-scrollbar-button,::-webkit-scrollbar-track,::-webkit-scrollbar-track-piece,::-webkit-scrollbar-thumb,::-webkit-scrollbar-corner,::-webkit-resizer{display:none!important;width:0!important;height:0!important;background:transparent!important}@media(max-width:479px){html,body{height:100%;overflow:hidden}#root{height:100%;overflow-y:auto;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;scrollbar-width:none}#root::-webkit-scrollbar{display:none}}:where(html[data-motion=reduce]) *,:where(html[data-motion=reduce]) *:before,:where(html[data-motion=reduce]) *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(max-width:479px){:root{--layout-padding: 12px}}[data-responsive=container]{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(max-width:479px){[data-responsive=container]{padding-left:var(--space-3);padding-right:var(--space-3)}}[data-responsive=grid]{display:grid;gap:var(--space-4)}@media(max-width:479px){[data-responsive=grid]{grid-template-columns:1fr!important;gap:var(--space-3)}}@media(min-width:480px)and (max-width:767px){[data-responsive=grid-2]{grid-template-columns:repeat(2,1fr)!important}}[data-responsive=stack-mobile]{display:flex}@media(max-width:767px){[data-responsive=stack-mobile]{flex-direction:column!important}}@media(max-width:767px){[data-responsive=hide-mobile],.layout-theme-btn{display:none!important}}[data-responsive=hide-desktop]{display:none}@media(max-width:767px){[data-responsive=hide-desktop]{display:block!important}}@media(max-width:767px){[data-responsive=full-mobile]{width:100%!important}}@media(max-width:359px){[data-responsive=text-sm]{font-size:.75rem!important}}@media(max-width:359px){.bottom-nav-label{display:none!important}}@media(max-width:767px){.page-enter{animation-duration:.2s}}.safe-area-top{padding-top:var(--safe-area-top)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}@media(max-width:767px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],textarea,select{font-size:1rem!important}}html{--reading-text-scale: 1;--reading-line-scale: 1;font-size:calc(100% * var(--reading-text-scale))}html[data-reading-font=atkinson]{--font-body: "Atkinson Hyperlegible", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Devanagari", sans-serif;--font-display: "Atkinson Hyperlegible", "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Noto Sans Devanagari", sans-serif;--font-serif: "Atkinson Hyperlegible", "Literata", Georgia, "Times New Roman", serif}html[data-reading-lines=wide] body{line-height:calc(1.5 * var(--reading-line-scale))}
