.focus-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:var(--radius-full);background:var(--primary-dim);color:var(--primary);font-family:inherit;font-size:13px;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:hover{transform:scale(1.05);background:color-mix(in srgb,var(--primary) 22%,transparent)}.focus-chip:active{transform:scale(.97)}.focus-chip:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 35%,transparent)}.focus-chip-icon{display:inline-flex;align-items:center;justify-content:center;color:currentColor}.focus-chip-time{line-height:1}.focus-chip:not(.focus-chip--paused) .focus-chip-icon{animation:focus-chip-pulse 2s ease-in-out infinite}.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}}@media(prefers-reduced-motion:reduce){.focus-chip,.focus-chip:hover,.focus-chip:active{transform:none}.focus-chip .focus-chip-icon{animation:none}}.speak-btn{display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;flex-shrink:0;padding:0;position:relative;background:var(--bg-tertiary);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:background .2s cubic-bezier(.2,.8,.2,1),color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}@supports not (backdrop-filter: blur(1px)){.speak-btn{background:var(--surface-card)}}.speak-btn:hover{background:var(--primary-gradient);border-color:transparent;color:#fff;box-shadow:0 8px 20px -6px var(--primary-shadow)}.speak-btn:active{transform:scale(.95)}.speak-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.speak-btn-sm{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-sm)}.speak-btn-sm:after{content:"";position:absolute;inset:-4px}.speak-btn-md{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-md)}.speak-btn-lg{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.speak-btn,.speak-btn:active{transition:none;transform:none}}.dropdown-menu{position:relative;display:inline-flex;vertical-align:middle}.dropdown-menu-trigger{display:inline-flex;cursor:pointer}.dropdown-menu-trigger>*{pointer-events:none}.dropdown-menu-panel{position:absolute;top:calc(100% + 8px);z-index:var(--z-dropdown, 100);min-width:max(148px,100%);max-width:min(280px,86vw);padding:6px;border-radius:16px;border:1px solid color-mix(in srgb,var(--border-light) 90%,transparent);background:color-mix(in srgb,var(--surface-card, var(--bg-primary)) 96%,transparent);box-shadow:0 18px 48px color-mix(in srgb,#000 28%,transparent),0 2px 8px color-mix(in srgb,#000 12%,transparent),inset 0 1px color-mix(in srgb,#fff 8%,transparent);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);opacity:0;transform:translate3d(0,-8px,0) scale(.94);will-change:transform,opacity,filter;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-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.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-spring, cubic-bezier(.22, 1.2, .36, 1)),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:color-mix(in srgb,var(--primary) 12%,transparent)}.dropdown-menu-item:active:not(:disabled){transform:scale(.98)}.dropdown-menu-item.is-selected{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--text-primary)}.dropdown-menu-item:disabled,.dropdown-menu-item.is-disabled{opacity:.45;cursor:not-allowed}.dropdown-menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.dropdown-menu-item-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-menu-item-label{font-size:14px;font-weight:650;line-height:1.25}.dropdown-menu-item-desc{font-size:12px;color:var(--text-secondary);line-height:1.3}.dropdown-menu-item-check{flex-shrink:0;color:var(--primary-solid, var(--primary))}@media(prefers-reduced-motion:reduce){.dropdown-menu-panel,.dropdown-menu-item{transition:none!important;filter:none!important;animation:none!important}.dropdown-menu-panel,.dropdown-menu-item{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-weight:600;letter-spacing:-.01em;border-radius:var(--radius-md);cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),background-color .18s ease,border-color .18s ease,color .18s ease;border:1px solid transparent;white-space:nowrap;min-height:var(--touch-target-min);position:relative;overflow:hidden}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-sm{padding:var(--space-2) 14px;font-size:12px;border-radius:var(--radius-sm)}.btn-md{padding:var(--space-3) var(--space-5);font-size:14px}.btn-lg{padding:14px 28px;font-size:15px}.btn-full{width:100%}@media(max-width:767px){.btn-full-mobile{width:100%}}.btn-primary{background:var(--primary-solid);color:#fff;box-shadow:0 6px 18px -8px var(--primary-shadow)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-fill-hover);transform:translateY(-1px);box-shadow:0 10px 22px -8px var(--primary-shadow)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.99)}.btn-secondary{background:var(--btn-success-fill);color:#fff;box-shadow:0 6px 18px -8px var(--success-shadow)}.btn-secondary:hover:not(:disabled){background:var(--btn-success-fill-hover);transform:translateY(-1px);box-shadow:0 10px 22px -8px var(--success-shadow)}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.99)}.btn-ghost{background:var(--surface-card);border:1px solid var(--border-light);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-ghost:hover:not(:disabled){background:var(--surface-card-hover);border-color:var(--primary-dim);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-danger{background:var(--btn-danger-fill);color:#fff;box-shadow:0 6px 18px -8px var(--danger-shadow)}.btn-danger:hover:not(:disabled){background:var(--btn-danger-fill-hover);transform:translateY(-1px);box-shadow:0 10px 22px -8px var(--danger-shadow)}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.99)}.btn-icon{width:44px;height:44px;padding:0;background:var(--surface-card);border:1px solid var(--border-light);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-icon:hover:not(:disabled){background:var(--surface-card-hover);border-color:var(--primary-dim);color:var(--primary);box-shadow:var(--shadow-md)}.btn-icon:active:not(:disabled){transform:scale(.95)}.btn-icon.btn-sm{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:var(--radius-md)}.btn-icon.btn-lg{width:52px;height:52px;min-width:52px;min-height:52px}.btn-spinner{animation:btnSpin 1s linear infinite}@keyframes btnSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon-el{display:inline-flex;align-items:center;justify-content:center}.btn-text{display:inline-flex;align-items:center}@media(prefers-reduced-motion:reduce){.btn{transition:background-color .18s ease,color .18s ease}.btn:hover:not(:disabled),.btn:active:not(:disabled){transform:none}}.text-field{display:flex;flex-direction:column;gap:var(--space-2)}.text-field-full{width:100%}.text-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary)}.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);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.text-field-input:hover:not(:disabled):not(:focus){background:var(--surface-card-hover);border-color:var(--text-tertiary)}.text-field-input:focus{outline:none;background:var(--surface-card);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim)}.text-field-input::placeholder{color:var(--text-tertiary)}.text-field-input:disabled{opacity:.6;cursor:not-allowed}.text-field-sm .text-field-input{padding:var(--space-2) var(--space-3);font-size:13px;border-radius:var(--radius-sm)}.text-field-md .text-field-input{padding:var(--space-3) 14px;font-size:14px}.text-field-lg .text-field-input{padding:14px var(--space-4);font-size:16px;font-weight:600}.text-field-textarea{resize:none;min-height:80px;line-height:1.6}.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:12px;color:var(--text-tertiary)}.text-field-hint-error{color:var(--danger)}.text-field-error .text-field-input{border-color:var(--danger)}.text-field-error .text-field-input:focus{box-shadow:0 0 0 3px var(--danger-dim)}@media(max-width:767px){.text-field-input{font-size:16px!important}}.icon-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);background:var(--surface-card);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;flex-shrink:0;padding:0;position:relative}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-sm{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-md)}.icon-btn-sm:not(.icon-btn-badge):after{content:"";position:absolute;inset:-4px}.icon-btn-md{width:44px;height:44px;border-radius:var(--radius-md)}.icon-btn-lg{width:48px;height:48px;border-radius:var(--radius-md)}.icon-btn-default:hover:not(:disabled){border-color:var(--primary-dim);color:var(--primary);background:var(--surface-card-hover);box-shadow:var(--shadow-md)}.icon-btn-default:active:not(:disabled){transform:scale(.95)}.icon-btn-primary{border-color:var(--primary);background:var(--primary-dim);color:var(--primary)}.icon-btn-primary:hover:not(:disabled){background:var(--btn-primary-fill-hover);color:#fff;box-shadow:0 2px 8px var(--primary-shadow)}.icon-btn-primary:active:not(:disabled){transform:scale(.95)}.icon-btn-success{border-color:var(--success);background:transparent;color:var(--success)}.icon-btn-success:hover:not(:disabled){background:var(--btn-success-fill);color:#fff;box-shadow:0 2px 8px var(--success-shadow)}.icon-btn-success:active:not(:disabled){transform:scale(.95)}.icon-btn-danger{border-color:var(--btn-danger-fill);background:var(--btn-danger-fill);color:#fff}.icon-btn-danger:hover:not(:disabled){background:var(--btn-danger-fill-hover);box-shadow:0 2px 8px var(--danger-shadow)}.icon-btn-danger:active:not(:disabled){transform:scale(.95)}.icon-btn-badge{position:absolute;border:2px solid var(--bg-primary);box-shadow:0 2px 4px var(--danger-shadow)}.icon-btn-badge.icon-btn-sm{width:18px;height:18px;top:-6px;right:-6px}.icon-btn-badge.icon-btn-md{width:22px;height:22px;top:-8px;right:-8px}.icon-btn-badge:hover:not(:disabled){transform:scale(1.1)}.page-with-bottom-nav{padding-bottom:calc(64px + var(--safe-area-bottom) + 16px)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(64px + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);display:flex;z-index:var(--z-fixed);background:color-mix(in srgb,var(--surface-card) 92%,transparent);border-top:1px solid var(--border-light);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);box-shadow:0 -10px 28px -12px var(--shadow-strong)}.bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:color .2s ease-out;padding:0;min-width:0;min-height:44px;position:relative;-webkit-tap-highlight-color:transparent}.bottom-nav--six .bottom-nav-label{font-size:10px;letter-spacing:-.01em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1px}.bottom-nav--six .bottom-nav-tab-icon{width:36px;height:30px}@media(max-width:359px){.bottom-nav--six .bottom-nav-label{font-size:9px}}.bottom-nav-tab--active,.bottom-nav-tab--primary{color:var(--primary)}.bottom-nav-tab--primary .bottom-nav-tab-icon{background:var(--primary-dim);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent)}.bottom-nav-tab--primary .bottom-nav-label{color:var(--primary);font-weight:600}.bottom-nav-tab--primary:not(.bottom-nav-tab--active):after{transform:translate(-50%) scaleX(.55);opacity:.55}.bottom-nav-tab-icon{display:flex;align-items:center;justify-content:center;width:40px;height:32px;border-radius:var(--radius-sm);transition:background-color .2s ease-out,transform .25s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-tab--active .bottom-nav-tab-icon{background:var(--primary-dim);animation:navIconBounce .35s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-tab:active .bottom-nav-tab-icon{transform:scale(.9)}.bottom-nav-tab:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%) scaleX(0);width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--primary);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-tab--active:after{transform:translate(-50%) scaleX(1)}.bottom-nav-label{font-size:11px;font-weight:400;color:var(--text-secondary);transition:font-weight .15s ease-out,transform .2s ease-out}.bottom-nav-tab--active .bottom-nav-label{color:var(--primary);font-weight:600}@keyframes navIconBounce{0%{transform:scale(.85)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.bottom-nav-tab--active .bottom-nav-tab-icon,.bottom-nav-tab:active .bottom-nav-tab-icon,.bottom-nav-tab:after{animation:none;transition:none}}@media(min-width:768px){.page-with-bottom-nav{padding-bottom:0}.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(--surface-card);border-top:1px solid var(--border-light);box-shadow:0 -8px 24px -10px var(--shadow-strong);transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.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-keyboard{--bottom-bar-pad-y: 6px;--bottom-bar-pad-bottom: 6px;--bottom-bar-pad-x: 12px;--bottom-bar-pad-x-end: 12px;background:transparent;border-top:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.bottom-action-bar-keyboard .exercise-btn{padding:8px 14px;font-size:14px;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(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:14px}.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}}@media(prefers-reduced-motion:reduce){.bottom-action-bar{transition: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-xl);color:var(--text-primary);font-family:var(--font-body);font-size:15px;font-weight:700;line-height:1.32;letter-spacing:0;z-index:var(--z-tooltip);overflow:hidden;background:color-mix(in srgb,var(--toast-accent) 5%,var(--surface-card));border:1px solid color-mix(in srgb,var(--toast-accent) 28%,var(--border-light));box-shadow:0 18px 42px -20px var(--toast-shadow, var(--shadow-strong)),var(--glass-highlight);animation:toastSlideDown .34s cubic-bezier(.34,1.56,.64,1)}.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);color:var(--toast-accent);background:color-mix(in srgb,var(--toast-accent) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--toast-accent) 22%,transparent)}.toast-icon svg{width:18px;height:18px;stroke-width:2.5}.toast-exit{animation:toastSlideUp .2s ease-in forwards}.toast-success{--toast-accent: var(--success);--toast-accent-dark: var(--success-dark);--toast-shadow: var(--success-shadow)}.toast-error{--toast-accent: var(--danger);--toast-accent-dark: var(--danger-dark);--toast-shadow: var(--danger-shadow)}.toast-info{--toast-accent: var(--primary);--toast-accent-dark: var(--primary-dark);--toast-shadow: var(--primary-shadow)}@media(min-width:768px){.toast{top:calc(var(--topnav-height) + 20px)}}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-26px) scale(.94)}60%{opacity:1;transform:translate(-50%) translateY(3px) scale(1.01)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toastSlideUp{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-18px) scale(.96)}}@media(prefers-reduced-motion:reduce){.toast,.toast-exit{animation:none}}.card{background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease,background .25s ease}.card-full{width:100%}.card-sm{border-radius:var(--radius-md)}.card-md{border-radius:var(--radius-lg)}.card-lg{border-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-default{box-shadow:var(--shadow-sm)}.card-elevated{box-shadow:var(--shadow-md)}.card-outlined{border-color:var(--border-color);box-shadow:none}.card-interactive{cursor:pointer}.card-interactive:hover:not(.card-disabled){background:var(--surface-card-hover);border-color:var(--primary-dim);box-shadow:var(--shadow-md),0 0 0 1px var(--primary-dim);transform:translateY(-2px)}.card-interactive:active:not(.card-disabled){transform:scale(.99);transition-duration:.1s}.card-success{border-color:color-mix(in srgb,var(--success) 28%,transparent);background:color-mix(in srgb,var(--success) 8%,var(--surface-card))}.card-danger{border-color:color-mix(in srgb,var(--danger) 28%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--surface-card))}.card-warning{border-color:color-mix(in srgb,var(--warning) 28%,transparent);background:color-mix(in srgb,var(--warning) 9%,var(--surface-card))}.card-clickable{cursor:pointer}.card-clickable:hover:not(.card-disabled){background:var(--surface-card-hover);border-color:var(--primary-dim);box-shadow:0 0 0 2px var(--primary-dim),var(--shadow-sm)}.card-disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.card-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim),var(--shadow-sm)}@media(prefers-reduced-motion:reduce){.card,.card-interactive:hover:not(.card-disabled),.card-interactive:active:not(.card-disabled){transition:none;transform: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:#fff}.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;padding:var(--space-6, 32px);overflow:hidden;background:var(--bg-body);color:var(--text-primary);isolation:isolate;animation:loadingFsFade .32s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) both}.loading-fs-aura{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 44% at 50% 40%,var(--glow-primary),transparent 72%),radial-gradient(ellipse 40% 30% at 50% 88%,var(--glow-primary),transparent 76%);opacity:0;animation:loadingFsAuraIn .6s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .05s forwards}.loading-fs-greetings{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.loading-fs-greeting{position:absolute;transform:translate(-50%,-50%) translateY(10px) scale(.94);font-size:.9375rem;font-weight:500;letter-spacing:.01em;color:var(--text-tertiary);white-space:nowrap;opacity:0;will-change:transform,opacity;animation:loadingFsGreeting 7s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) infinite}@keyframes loadingFsGreeting{0%,to{opacity:0;transform:translate(-50%,-50%) translateY(10px) scale(.94)}22%,78%{opacity:.42}50%{opacity:.5;transform:translate(-50%,-50%) translateY(-10px) scale(1)}}.loading-fs-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px}.loading-fs-orb{position:relative;display:grid;place-items:center;width:240px;height:240px}.loading-fs-orb>*{grid-area:1 / 1}.loading-fs-glow{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--primary) 40%,transparent) 0%,color-mix(in oklab,var(--primary) 14%,transparent) 42%,transparent 72%);opacity:0;transform:scale(.7);will-change:transform,opacity;animation:loadingFsGlowIn .6s var(--ease-spring, cubic-bezier(.22, 1.2, .36, 1)) .08s forwards,loadingFsGlowBreathe 2.6s ease-in-out .7s infinite}.loading-fs-ring{width:96px;height:96px;border-radius:50%;border:1.5px solid color-mix(in oklab,var(--primary) 46%,transparent);opacity:0;transform:scale(.6);will-change:transform,opacity;animation:loadingFsRing 2.8s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .5s infinite}.loading-fs-ring--b{animation-delay:1.9s}.loading-fs-quest-map{position:relative;width:184px;height:184px;border:none;border-radius:42% 58% 54% 46%/48% 45% 55% 52%;opacity:0;transform:scale(.82) rotate(-8deg);will-change:transform,opacity;animation:loadingFsQuestMapIn .7s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .16s forwards}.loading-fs-quest-route{position:absolute;inset:16px;border:1px dashed color-mix(in oklab,var(--primary) 26%,transparent);border-radius:57% 43% 39% 61%/45% 58% 42% 55%;opacity:.7}.loading-fs-quest-node{position:absolute;width:8px;height:8px;border:1px solid color-mix(in oklab,var(--text-primary) 36%,transparent);border-radius:2px;box-shadow:0 0 0 3px color-mix(in oklab,var(--bg-body) 72%,transparent);transform:translate(-50%,-50%) rotate(45deg) scale(.75);will-change:transform,opacity;animation:loadingFsQuestNode 2.8s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) infinite}.loading-fs-quest-node--gold{background:var(--accent-amber, #d97706)}.loading-fs-quest-node--teal{background:var(--accent-teal, #0d9488)}.loading-fs-quest-node--primary{background:var(--primary-solid, var(--primary))}.loading-fs-orbit{width:150px;height:150px;border-radius:50%;opacity:0;will-change:transform;animation:loadingFsFade .5s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .5s forwards,loadingFsOrbitSpin 5.6s linear .5s infinite}.loading-fs-satellite{position:absolute;top:-4px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--primary-solid, var(--primary));box-shadow:0 0 12px color-mix(in oklab,var(--primary) 65%,transparent)}.loading-fs-satellite--b{top:auto;bottom:-3px;left:50%;width:6px;height:6px;margin-left:-3px;opacity:.7;background:var(--primary);box-shadow:0 0 9px color-mix(in oklab,var(--primary) 50%,transparent)}.loading-fs-mark{position:relative;width:108px;height:108px;display:grid;place-items:center;opacity:0;transform:scale(.78) translateY(10px);will-change:transform,opacity;animation:loadingFsMarkIn .55s var(--ease-spring, cubic-bezier(.22, 1.2, .36, 1)) .06s forwards}.loading-fs-breathe{position:relative;width:108px;height:108px;border-radius:50%;overflow:hidden;will-change:transform;animation:loadingFsBreathe 2.6s ease-in-out .55s infinite}.loading-fs-breathe svg{display:block;border-radius:50%}.loading-fs-sheen{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.4) 50%,transparent 62%);opacity:0;transform:translate(-125%) skew(-14deg);will-change:transform,opacity;animation:loadingFsSheen 3.6s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) 1.1s infinite}.loading-fs-wordmark{display:flex;justify-content:center;gap:.02em;margin:0;font-family:var(--font-display, "Sora", system-ui, sans-serif);font-size:clamp(24px,6vw,30px);font-weight:700;letter-spacing:.14em;text-indent:.14em;color:var(--text-primary)}.loading-fs-letter{display:inline-block;opacity:0;transform:translateY(12px);will-change:transform,opacity;animation:loadingFsLetterIn .6s var(--ease-spring, cubic-bezier(.22, 1.2, .36, 1)) forwards}.loading-fs-tagline{margin:-8px 0 0;font-family:var(--font-display, "Sora", system-ui, sans-serif);font-size:15px;font-weight:600;letter-spacing:.03em;color:var(--text-secondary);text-align:center;opacity:0;animation:loadingFsLabelIn .55s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .36s forwards}.loading-fs-label{margin:-4px 0 0;font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--text-tertiary);text-align:center;opacity:0;animation:loadingFsLabelIn .55s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .48s forwards}.loading-fs-dots{margin-top:2px;opacity:0;animation:loadingFsLabelIn .5s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) .5s forwards}@keyframes loadingFsFade{0%{opacity:0}to{opacity:1}}@keyframes loadingFsAuraIn{0%{opacity:0}to{opacity:1}}@keyframes loadingFsGlowIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes loadingFsGlowBreathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes loadingFsRing{0%{opacity:0;transform:scale(.6)}18%{opacity:.55}to{opacity:0;transform:scale(1.55)}}@keyframes loadingFsQuestMapIn{0%{opacity:0;transform:scale(.82) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes loadingFsQuestNode{0%,to{opacity:.52;transform:translate(-50%,-50%) rotate(45deg) scale(.75)}40%{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scale(1.15)}}@keyframes loadingFsOrbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loadingFsMarkIn{0%{opacity:0;transform:scale(.78) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes loadingFsBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes loadingFsSheen{0%{opacity:0;transform:translate(-125%) skew(-14deg)}10%{opacity:.85}38%,to{opacity:0;transform:translate(125%) skew(-14deg)}}@keyframes loadingFsLetterIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes loadingFsLabelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.loading-dot,.loading-fs,.loading-fs-aura,.loading-fs-glow,.loading-fs-ring,.loading-fs-quest-map,.loading-fs-quest-node,.loading-fs-orbit,.loading-fs-mark,.loading-fs-breathe,.loading-fs-sheen,.loading-fs-letter,.loading-fs-tagline,.loading-fs-label,.loading-fs-dots,.loading-fs-greeting{animation:none!important}.loading-fs-greeting{opacity:.32!important;transform:translate(-50%,-50%)!important}.loading-fs,.loading-fs-aura,.loading-fs-glow,.loading-fs-orbit,.loading-fs-mark,.loading-fs-quest-map,.loading-fs-letter,.loading-fs-tagline,.loading-fs-label,.loading-fs-dots{opacity:1!important;transform:none!important}.loading-dot{transform:scale(.85);opacity:.7}.loading-fs-ring,.loading-fs-sheen{display:none}}.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:14px;border:1px solid color-mix(in srgb,var(--border-color, #2a2a2a) 85%,transparent);background:color-mix(in srgb,var(--surface-card, #121212) 92%,#000);color:var(--text-primary, #fff);text-decoration:none;box-shadow:0 8px 24px color-mix(in srgb,#000 18%,transparent);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.store-links--compact .store-link{width:100%}.store-link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary, #6c8cff) 45%,var(--border-color, #333));box-shadow:0 12px 28px color-mix(in srgb,#000 22%,transparent)}.store-link:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #6c8cff) 35%,transparent),0 12px 28px color-mix(in srgb,#000 22%,transparent)}.store-link:active{transform:translateY(0) scale(.99)}.store-link-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:color-mix(in srgb,var(--bg-tertiary, #1c1c1c) 80%,transparent);color:var(--text-primary, #fff)}.store-link--apple .store-link-icon{background:#111;color:#fff}.store-link--play .store-link-icon{background:linear-gradient(135deg,#34a853,#4285f4 55%,#fbbc04);color:#fff}.store-link-text{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}.store-link-eyebrow{font-size:11px;line-height:1.2;color:var(--text-secondary, #a0a0a0);letter-spacing:.01em}.store-link-title{font-size:15px;font-weight:700;line-height:1.2;letter-spacing:-.02em}@media(max-width:480px){.store-links--landing{width:100%;flex-direction:column}.store-links--landing .store-link{width:100%}}@keyframes skeleton-shimmer{0%{background-position:-150% 0}to{background-position:250% 0}}.skeleton{position:relative;overflow:hidden;background-color:color-mix(in srgb,var(--bg-tertiary) 80%,transparent);background-image:linear-gradient(100deg,transparent 0%,transparent 30%,color-mix(in srgb,var(--surface-card-hover) 70%,white 30%) 50%,transparent 70%,transparent 100%);background-size:220% 100%;background-repeat:no-repeat;background-position:-150% 0;border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);animation:skeleton-shimmer 1.6s ease-in-out infinite}[data-theme=dark] .skeleton{background-image:linear-gradient(100deg,transparent 0%,transparent 30%,color-mix(in srgb,white 14%,transparent) 50%,transparent 70%,transparent 100%)}@supports not (backdrop-filter: blur(1px)){.skeleton{background-color:var(--surface-card)}}.skeleton--text{height:12px;border-radius:6px;border:none;box-shadow:none;background-color:color-mix(in srgb,var(--text-primary) 10%,transparent)}[data-theme=dark] .skeleton--text{background-color:color-mix(in srgb,white 10%,transparent)}.skeleton--circle{border-radius:50%}.skeleton--rect{border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background-image:none}}.login-prompt-overlay{position:fixed;inset:0;background-color:#06040f8c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);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}[data-theme=light] .login-prompt-overlay{background-color:#0f172a6b}.login-prompt-dialog{position:relative;width:100%;max-width:380px;padding:36px 28px 24px;border-radius:var(--radius-2xl);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:0 24px 60px -12px #00000073;animation:modalIn .25s cubic-bezier(.22,1.2,.36,1) both;transform-origin:center center;overflow:hidden}.login-prompt-dialog.is-closing{animation:modalOut .2s cubic-bezier(.22,1,.36,1) forwards}.login-prompt-dialog:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 40%,transparent 60%,rgba(139,92,246,.3) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-prompt-dialog:after{content:"";position:absolute;top:-40%;left:-10%;width:120%;height:60%;background:radial-gradient(ellipse at center,var(--glow-primary) 0%,transparent 60%);filter:blur(20px);opacity:.6;pointer-events:none;z-index:-1}.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(--bg-tertiary);border:1px solid var(--border-light);border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease}.login-prompt-close:hover{background:var(--surface-card-hover);color:var(--text-primary);transform:scale(1.05)}.login-prompt-close:active{transform:scale(.95)}.login-prompt-icon{position:relative;width:72px;height:72px;border-radius:20px;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;box-shadow:0 16px 32px -12px var(--primary-shadow),inset 0 1px #ffffff4d}.login-prompt-icon:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),transparent 55%);pointer-events:none}.login-prompt-title{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);text-align:center;margin:0 0 28px}.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:14px;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.login-prompt-benefit svg{flex-shrink:0;width:20px;height:20px;padding:4px;color:var(--primary);background:var(--primary-dim);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:14px;cursor:pointer;padding:8px;min-height:44px;width:100%;transition:color .2s ease}.login-prompt-later:hover:not(:disabled){color:var(--text-primary)}.login-prompt-later:active:not(:disabled){transform:scale(.98)}.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:14px;margin:0}.login-prompt-spinner{color:var(--primary);animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.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-xl);z-index:var(--z-fixed);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}@supports not (backdrop-filter: blur(1px)){.inapp-banner{background:var(--surface-card)}}@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:12px;background:var(--warning-dim);color:var(--warning);display:flex;align-items:center;justify-content:center}.inapp-banner-text{flex:1;min-width:0}.inapp-banner-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.inapp-banner-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.inapp-banner-close{flex-shrink:0;width:32px;height:32px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.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:none;border-radius:var(--radius-md);background:var(--primary-gradient);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 20px -8px var(--primary-shadow);transition:transform .15s ease,box-shadow .15s ease}.inapp-banner-action:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px var(--primary-shadow)}.inapp-banner-action:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.inapp-banner{animation:none}.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-xl);z-index:var(--z-fixed);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);animation:pwaSlideUp .3s ease-out}@supports not (backdrop-filter: blur(1px)){.pwa-install-banner{background:var(--surface-card)}}@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:12px;background:var(--primary-dim);color:var(--primary);display:flex;align-items:center;justify-content:center}.pwa-install-text{flex:1;min-width:0}.pwa-install-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.pwa-install-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.pwa-install-close{flex-shrink:0;width:32px;height:32px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.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:none;border-radius:var(--radius-md);background:var(--primary-gradient);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 20px -8px var(--primary-shadow);transition:transform .15s ease,box-shadow .15s ease}.pwa-install-action:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px var(--primary-shadow)}.pwa-install-action:active{transform:scale(.98)}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.pwa-install-banner{animation:none}.pwa-install-action:hover{transform:none}}.pwa-dialog-overlay{position:fixed;inset:0;background-color:#06040f59;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}[data-theme=light] .pwa-dialog-overlay{background-color:#ffffff40}.pwa-dialog{position:relative;width:100%;max-width:360px;padding:36px 24px 20px;text-align:center;border-radius:var(--radius-2xl);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:pwaDialogScaleIn .25s cubic-bezier(.22,1.2,.36,1) both;transform-origin:center center;overflow:hidden}.pwa-dialog.is-closing{animation:modalOut .2s cubic-bezier(.22,1,.36,1) forwards}.pwa-dialog:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,white 40%,transparent) 0%,transparent 40%,transparent 60%,color-mix(in srgb,var(--primary) 35%,transparent) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.pwa-dialog:after{content:"";position:absolute;top:-40%;left:-10%;width:120%;height:60%;background:radial-gradient(ellipse at center,var(--glow-primary) 0%,transparent 60%);filter:blur(20px);opacity:.7;pointer-events:none;z-index:-1}.pwa-dialog-icon{position:relative;width:72px;height:72px;border-radius:20px;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;box-shadow:0 16px 32px -12px var(--primary-shadow),inset 0 1px color-mix(in srgb,white 30%,transparent)}.pwa-dialog-icon:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,white 35%,transparent),transparent 55%);pointer-events:none}.pwa-dialog-icon-installed{background:var(--success-dark);box-shadow:0 16px 32px -12px var(--success-shadow),inset 0 1px color-mix(in srgb,white 30%,transparent)}.pwa-dialog-title{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);margin:0 0 16px}.pwa-dialog-ios-hint{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 16px}.pwa-dialog-installed-hint{font-size:15px;color:var(--text-secondary);margin:0 0 8px;line-height:1.5}.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:14px;line-height:1.4;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.pwa-dialog-ios-step-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--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:14px;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-lg)}.pwa-dialog-benefit svg{flex-shrink:0;width:20px;height:20px;padding:4px;color:var(--primary);background:var(--primary-dim);border-radius:8px;box-sizing:content-box}.pwa-dialog-later{background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:12px 8px 0;width:100%;transition:color .2s ease}.pwa-dialog-later:hover{color:var(--text-primary)}.pwa-dialog-later:active{transform:scale(.98)}@keyframes pwaDialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pwaDialogScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.pwa-dialog-overlay,.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-xl);z-index:var(--z-fixed);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);animation:pwaUpdateSlideUp .3s ease-out}@supports not (backdrop-filter: blur(1px)){.pwa-update-banner{background:var(--surface-card)}}@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:12px;background:var(--success-dim);color:var(--success);display:flex;align-items:center;justify-content:center}.pwa-update-text{flex:1;min-width:0}.pwa-update-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.pwa-update-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.pwa-update-close{flex-shrink:0;width:32px;height:32px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.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:none;border-radius:var(--radius-md);background:var(--success-dark);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 8px 20px -8px var(--success-shadow);transition:transform .15s ease,box-shadow .15s ease}.pwa-update-action:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px var(--success-shadow)}.pwa-update-action:active{transform:scale(.98)}@keyframes pwaUpdateSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.pwa-update-banner{animation:none}.pwa-update-action:hover{transform:none}}.notif-prompt-overlay{position:fixed;inset:0;background-color:#06040f59;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}[data-theme=light] .notif-prompt-overlay{background-color:#ffffff40}.notif-prompt-dialog{position:relative;width:100%;max-width:360px;padding:36px 24px 20px;border-radius:var(--radius-2xl);background:var(--surface-card);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);animation:notifScaleIn .25s cubic-bezier(.22,1.2,.36,1) both;transform-origin:center center;overflow:hidden}.notif-prompt-dialog.is-closing{animation:modalOut .2s cubic-bezier(.22,1,.36,1) forwards}.notif-prompt-dialog:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,white 40%,transparent) 0%,transparent 40%,transparent 60%,color-mix(in srgb,var(--warning) 35%,transparent) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.notif-prompt-dialog:after{content:"";position:absolute;top:-40%;left:-10%;width:120%;height:60%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--warning) 22%,transparent) 0%,transparent 60%);filter:blur(20px);opacity:.7;pointer-events:none;z-index:-1}.notif-prompt-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:50%;transition:background-color .2s ease,color .2s ease,transform .2s ease}.notif-prompt-close:hover{background:var(--surface-card-hover);color:var(--text-primary);transform:scale(1.05)}.notif-prompt-close:active{transform:scale(.95)}.notif-prompt-icon{position:relative;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--warning) 0%,var(--warning-dark) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff;box-shadow:0 16px 32px -12px color-mix(in srgb,var(--warning) 45%,transparent),inset 0 1px color-mix(in srgb,white 30%,transparent);animation:notifBellSwing 1s ease-in-out .3s;transform-origin:top center}.notif-prompt-icon:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,white 35%,transparent),transparent 55%);pointer-events:none}.notif-prompt-title{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);text-align:center;margin:0 0 12px}.notif-prompt-description{font-size:14px;color:var(--text-secondary);text-align:center;margin:0 0 24px;line-height:1.5;display:flex;align-items:center;justify-content:center;gap:6px}.notif-prompt-flame{color:var(--warning);flex-shrink:0}.notif-prompt-actions{margin-bottom:12px}.notif-prompt-later{background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:8px;width:100%;transition:color .15s ease}.notif-prompt-later:hover:not(:disabled){color:var(--text-primary)}.notif-prompt-later:active:not(:disabled){transform:scale(.98)}.notif-prompt-later:disabled{opacity:.5;cursor:not-allowed}@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)}}@media(prefers-reduced-motion:reduce){.notif-prompt-overlay,.notif-prompt-dialog,.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;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));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;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__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;transform:scale(.98);transition:opacity .22s ease-out,transform .22s cubic-bezier(.22,1,.36,1)}.avatar-lightbox__image.is-loaded{opacity:1;transform:scale(1)}.avatar-lightbox__fallback{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.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:color-mix(in srgb,var(--bg-tertiary) 88%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);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}.avatar-lightbox__close:hover{background:var(--surface-card-hover);transform:scale(1.06)}.avatar-lightbox__close:active{transform:scale(.94)}.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)}}@media(prefers-reduced-motion:reduce){.avatar-lightbox,.avatar-lightbox--closing,.avatar-lightbox__panel,.avatar-lightbox--closing .avatar-lightbox__panel{animation:none!important}.avatar-lightbox__image{transition:none!important;transform:none!important}}@media(min-width:768px){.avatar-lightbox__image{width:min(60vw,560px)}}.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:color-mix(in srgb,var(--surface-card) 88%,transparent);border-bottom:1px solid var(--border-light);box-shadow:0 1px 0 0 var(--border-light),0 8px 24px -18px var(--shadow-strong);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);position:sticky;top:0;z-index:var(--z-fixed);transition:background var(--transition-slow),border-color var(--transition-slow),box-shadow var(--transition-slow)}.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 .18s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.desktop-nav-brand:hover{transform:translateY(-1px)}.desktop-nav-brand:active{transform:scale(.98)}.desktop-nav-logo-img{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:block;box-shadow:0 8px 18px -8px var(--primary-shadow)}.desktop-nav-title{font-family:var(--font-display);font-size:18px;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:14px;font-weight:500;font-family:inherit;cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--transition),color var(--transition),transform .15s ease,box-shadow var(--transition);white-space:nowrap}.desktop-nav-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.desktop-nav-tab:active{transform:scale(.98)}.desktop-nav-tab:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 35%,transparent)}.desktop-nav-tab--active{background:var(--primary-dim);color:var(--primary);font-weight:600}.desktop-nav-tab--active:hover{background:var(--primary-dim);color:var(--primary)}.desktop-nav-tab--primary:not(.desktop-nav-tab--active){color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);font-weight:600}.desktop-nav-tab--primary.desktop-nav-tab--active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.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:13px;font-weight:600;white-space:nowrap;flex-shrink:0;border:none;cursor:pointer;font-family:inherit;transition:transform var(--transition)}.desktop-nav-badge:hover{transform:scale(1.05)}.desktop-nav-badge:active{transform:scale(.97)}.desktop-nav-badge--streak{background:var(--warning-dim);color:var(--warning-text)}.desktop-nav-badge--xp{background:var(--success-dim);color:var(--correct-text)}.desktop-nav-badge--level{background:var(--primary-dim);color:var(--primary)}.desktop-nav-settings{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-tertiary);color:var(--text-primary);box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}.desktop-nav-settings:hover{background:var(--surface-card-hover);border-color:var(--border-color);color:var(--primary)}.desktop-nav-settings--active{background:var(--primary-dim);border-color:color-mix(in srgb,var(--primary) 35%,transparent);color:var(--primary-solid, var(--primary));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}.desktop-nav-settings--active:hover{background:var(--primary-dim);border-color:color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary-solid, var(--primary))}}@media(min-width:768px)and (max-width:1100px){.desktop-nav{padding:0 var(--space-4)}.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)}}.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:#06040f59;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}[data-theme=light] .achievement-popup__backdrop{background:#ffffff40}.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(.34,1.56,.64,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:achievement-glow 2s ease-in-out infinite;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:40px;animation:achievement-bounce .8s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes achievement-bounce{0%{opacity:0;transform:scale(0) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.achievement-popup__title{margin:0;font-size:20px;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:48px;border-radius:50%;background:var(--accent-amber-wash);border:2px solid color-mix(in srgb,var(--warning) 28%,transparent);box-shadow:0 16px 40px color-mix(in srgb,var(--warning) 30%,transparent);animation:achievement-pop .5s cubic-bezier(.34,1.56,.64,1) .3s both}@keyframes achievement-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.achievement-popup__name{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.achievement-popup__desc{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.4}.achievement-popup__xp{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--warning-dim);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.achievement-popup__xp-star{font-size:14px}.achievement-popup__xp-value{font-size:15px;font-weight:800;color:var(--warning);font-variant-numeric:tabular-nums}.achievement-popup__btn{width:100%;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:700;color:var(--btn-text-light);background:var(--warning-dark);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,var(--warning) 30%,transparent);transition:transform .15s ease;margin-top:var(--space-2)}.achievement-popup__btn:hover{transform:translateY(-1px)}.achievement-popup__btn:active{transform:scale(.97)}.achievement-popup--reward .achievement-popup__card:before{background:var(--accent-indigo-wash)}.achievement-popup--reward .achievement-popup__icon{background:var(--primary-dim);border-color:color-mix(in srgb,var(--primary) 28%,transparent);box-shadow:0 16px 40px var(--primary-shadow)}.achievement-popup--reward .achievement-popup__btn{background:var(--primary-solid);border-color:color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:0 8px 20px var(--primary-shadow)}.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:color-mix(in srgb,var(--warning) 25%,transparent);animation:achievement-ping 1.6s cubic-bezier(0,0,.2,1) infinite}.achievement-popup--reward .achievement-popup__ping-ring{background:color-mix(in srgb,var(--primary) 25%,transparent)}@keyframes achievement-ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@media(prefers-reduced-motion:reduce){.achievement-popup,.achievement-popup__card,.achievement-popup__card:before,.achievement-popup__burst,.achievement-popup__icon,.achievement-popup__ping-ring,.achievement-popup__btn{animation:none!important;transition:none!important}.achievement-popup__btn:hover,.achievement-popup__btn:active{transform:none}.achievement-popup__ping{display:none}}.dialog-backdrop{position:fixed;inset:0;background-color:#06040f80;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));z-index:var(--z-modal-backdrop);animation:fadeInBackdrop .2s ease-out both}[data-theme=light] .dialog-backdrop{background-color:#0f172a52}.dialog-backdrop--closing{animation:fadeOutBackdrop .2s ease-out forwards}.dialog-backdrop--strong{background-color:#06040f8c}[data-theme=light] .dialog-backdrop--strong{background-color:#fff6}.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-2xl);padding:var(--space-5);min-width:280px;max-width:90%;z-index:var(--z-modal);box-shadow:var(--shadow-xl),0 0 0 1px color-mix(in srgb,var(--primary) 6%,transparent);animation:dialogPopIn var(--duration-modal, .28s) var(--ease-spring, cubic-bezier(.22, 1.2, .36, 1)) 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--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:#06040f80;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-5);animation:fadeInBackdrop .2s ease-out both}[data-theme=light] .dialog-fullscreen{background-color:#0f172a52}.dialog-fullscreen--closing{animation:fadeOutBackdrop .2s ease-out forwards}.dialog-sheet{position:relative;background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;animation:modalIn var(--duration-modal, .28s) var(--ease-spring, cubic-bezier(.22, 1.2, .36, 1)) both;overflow:hidden}.dialog-sheet--closing{animation:modalOut .18s var(--ease-out-soft, cubic-bezier(.22, 1, .36, 1)) forwards}@media(prefers-reduced-motion:reduce){.dialog-backdrop,.dialog-backdrop--closing,.dialog-center,.dialog-center--closing,.dialog-fullscreen,.dialog-fullscreen--closing,.dialog-sheet,.dialog-sheet--closing{animation:none!important}}.dialog-title{font-size:18px;font-weight:600;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:20px;margin-bottom:var(--space-2)}.dialog-title--xl{font-size:24px;font-weight:700;margin-bottom:var(--space-2)}.dialog-description{color:var(--text-secondary);font-size:14px;text-align:center;margin-bottom:var(--space-5);line-height:1.5}.dialog-description--left{text-align:left;margin:var(--space-1) 0 0}.dialog-description--body{font-size:15px;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-btn{flex:1;padding:var(--space-3) var(--space-4);font-size:14px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);font-family:inherit;min-height:var(--touch-target-min)}.dialog-btn--lg{padding:14px;font-size:16px}.dialog-btn--full{width:100%}.dialog-btn--secondary{background:var(--bg-tertiary);border:1px solid var(--border-light);color:var(--text-primary)}.dialog-btn--secondary:hover:not(:disabled){background:var(--surface-card-hover);border-color:var(--border-color)}.dialog-btn--secondary:active:not(:disabled){transform:scale(.98)}.dialog-btn--primary{background:var(--primary-solid);color:#fff;box-shadow:0 4px 14px -6px var(--primary-shadow)}.dialog-btn--primary:hover:not(:disabled){background:var(--btn-primary-fill-hover);transform:translateY(-1px);box-shadow:0 8px 18px -6px var(--primary-shadow)}.dialog-btn--primary:active:not(:disabled){transform:translateY(0) scale(.98)}.dialog-btn--danger{background:var(--btn-danger-fill);color:#fff;box-shadow:0 4px 14px -6px var(--danger-shadow)}.dialog-btn--danger:hover:not(:disabled){background:var(--btn-danger-fill-hover);transform:translateY(-1px);box-shadow:0 8px 18px -6px var(--danger-shadow)}.dialog-btn--danger:active:not(:disabled){transform:translateY(0) scale(.98)}.dialog-btn--info{background-color:var(--btn-info-fill);color:#fff;box-shadow:0 2px 8px var(--shadow)}.dialog-btn--info:hover:not(:disabled){background-color:var(--btn-info-fill-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow)}.dialog-btn--info:active:not(:disabled){transform:translateY(0) scale(.98)}.dialog-btn--success{background:var(--btn-success-fill);color:#fff;box-shadow:0 4px 14px -6px var(--success-shadow)}.dialog-btn--success:hover:not(:disabled){background:var(--btn-success-fill-hover);transform:translateY(-1px);box-shadow:0 8px 18px -6px var(--success-shadow)}.dialog-btn--success:active:not(:disabled){transform:translateY(0) scale(.98)}.dialog-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.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{background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);transition:background .2s ease,color .2s ease}.dialog-close{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:50%}.dialog-close:hover{background:var(--surface-card-hover);border-color:var(--border-color);color:var(--text-primary);transform:scale(1.05)}.dialog-close:active{transform:scale(.95)}.dialog-close:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 40%,transparent)}.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{background-color:var(--primary-dim)}.dialog-icon-circle--danger{background-color:var(--danger-dim)}.dialog-section-title{padding:var(--space-2) var(--space-3);font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.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:26px}}.dialog-guest-warning{color:var(--warning);font-size:13px;text-align:center;margin-bottom:var(--space-4);line-height:1.5}.dialog-guest-warning-link{text-decoration:underline;cursor:pointer;font-weight:600}.onboarding-backdrop{z-index:1200;background-color:#080612eb;backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}[data-theme=light] .onboarding-backdrop{background-color:#f8fafcf0;backdrop-filter:blur(18px) saturate(1.05);-webkit-backdrop-filter:blur(18px) saturate(1.05)}.onboarding-card--wizard{position:fixed;inset:auto 0 0;z-index:1201;width:min(100%,440px);max-height:min(92dvh,760px);margin:0 auto;display:flex;flex-direction:column;gap:0;padding:0;border-radius:24px 24px 0 0;background:var(--surface-card, var(--bg-primary));border:1px solid var(--border-light);box-shadow:0 -12px 48px #00000047;animation:onboardingIn var(--duration-sheet, .34s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1)) both;overflow:hidden;transform-origin:bottom center}@media(min-width:640px){.onboarding-card--wizard{inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:24px;max-height:min(88dvh,720px);animation:onboardingInCenter var(--duration-sheet, .34s) var(--ease-spring, cubic-bezier(.22, 1.2, .36, 1)) both}}@keyframes onboardingIn{0%{opacity:0;transform:translate3d(0,22%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes onboardingInCenter{0%{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes onboardingOut{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,18%,0)}}@keyframes onboardingOutCenter{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.97)}}.onboarding-backdrop.is-closing{animation:fadeOutBackdrop .22s ease-out forwards;pointer-events:none}.onboarding-card--wizard.is-closing{animation:onboardingOut .22s cubic-bezier(.22,1,.36,1) forwards}@media(min-width:640px){.onboarding-card--wizard.is-closing{animation:onboardingOutCenter .22s cubic-bezier(.22,1,.36,1) forwards}}.onboarding-wizard-top{padding:18px 18px 12px;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;gap:14px}.onboarding-wizard-brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:750;letter-spacing:-.02em;color:var(--text-primary)}.onboarding-mark-img{display:block;border-radius:10px}.onboarding-wizard-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary, var(--text-secondary))}.onboarding-wizard-progress-track{height:4px;border-radius:99px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);overflow:hidden}.onboarding-wizard-progress-fill{height:100%;border-radius:inherit;background:var(--primary-solid, var(--primary));transition:width .3s ease}.onboarding-wizard-body{flex:1;min-height:0;overflow:auto;padding:18px 18px 8px}.onboarding-step{display:flex;flex-direction:column;gap:12px}.onboarding-kicker{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.onboarding-title{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.03em;font-weight:750;color:var(--text-primary)}.onboarding-lead{margin:0;font-size:14.5px;line-height:1.5;color:var(--text-secondary)}.onboarding-options{display:flex;flex-direction:column;gap:8px}.onboarding-choice{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;gap:12px;align-items:center;width:100%;padding:12px;border-radius:16px;border:1px solid var(--border-light);background:color-mix(in srgb,var(--surface-card) 92%,transparent);color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .15s ease}.onboarding-choice:hover{border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.onboarding-choice.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface-card));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent)}.onboarding-choice:active{transform:scale(.99)}.onboarding-choice:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.onboarding-choice-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--text-primary) 6%,transparent);color:var(--text-secondary)}.onboarding-choice.is-selected .onboarding-choice-icon{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.onboarding-choice-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.onboarding-choice-title{font-size:15px;font-weight:750;letter-spacing:-.02em;color:var(--text-primary)}.onboarding-choice-desc{font-size:12.5px;line-height:1.35;color:var(--text-secondary)}.onboarding-choice-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-light);display:grid;place-items:center;color:transparent}.onboarding-choice.is-selected .onboarding-choice-check{border-color:var(--primary);background:var(--primary-solid, var(--primary));color:#fff}.onboarding-time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.onboarding-time{min-height:88px;border-radius:16px;border:1px solid var(--border-light);background:var(--surface-card);color:inherit;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:border-color .18s ease,background .18s ease}.onboarding-time strong{font-size:24px;letter-spacing:-.03em;font-weight:800}.onboarding-time span{font-size:12px;font-weight:650;color:var(--text-secondary)}.onboarding-time.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface-card))}.onboarding-time:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.onboarding-hint{margin:0;font-size:13px;line-height:1.45;color:var(--text-secondary);padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--text-primary) 4%,transparent)}.onboarding-path{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;border:1px solid var(--border-light);border-radius:16px;overflow:hidden;background:var(--surface-card)}.onboarding-path li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:14px;border-top:1px solid var(--border-light);font-size:14px;font-weight:650;color:var(--text-primary)}.onboarding-path li:first-child{border-top:none}.onboarding-path li.is-current{background:color-mix(in srgb,var(--primary) 10%,transparent)}.onboarding-path-index{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:color-mix(in srgb,var(--text-primary) 8%,transparent);color:var(--text-secondary)}.onboarding-path li.is-current .onboarding-path-index{background:var(--primary-solid, var(--primary));color:#fff}.onboarding-path-note{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--warning, #f59e0b) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 22%,transparent);color:var(--warning, #d97706);font-size:13px;line-height:1.4}.onboarding-wizard-footer{display:flex;gap:10px;padding:12px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border-light);background:color-mix(in srgb,var(--surface-card) 92%,transparent)}.onboarding-btn{min-height:48px;border-radius:14px;border:none;font:inherit;font-size:15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.onboarding-btn:active{transform:scale(.985)}.onboarding-btn:disabled{opacity:.55;cursor:not-allowed}.onboarding-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.onboarding-btn--primary{flex:1;background:var(--primary-solid, var(--primary));color:#fff}.onboarding-btn--ghost{flex:0 0 auto;padding:0 14px;background:color-mix(in srgb,var(--text-primary) 6%,transparent);color:var(--text-primary);border:1px solid var(--border-light)}.onboarding-field-label{display:block;margin-top:20px;margin-bottom:10px;font-size:12.5px;font-weight:650;letter-spacing:.01em;color:var(--text-secondary)}.onboarding-language-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.onboarding-language-pill{position:relative;min-height:56px;padding:0 14px;border-radius:14px;border:1px solid var(--border-light);background:color-mix(in srgb,var(--surface-card) 92%,transparent);color:inherit;font:inherit;cursor:pointer;display:flex;align-items:center;gap:10px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.onboarding-language-pill:hover{border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.onboarding-language-pill.is-selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface-card));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent)}.onboarding-language-pill:active{transform:scale(.98)}.onboarding-language-pill:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.onboarding-language-flag{display:inline-grid;place-items:center;width:22px;height:22px;flex-shrink:0;line-height:1}.onboarding-language-flag img{border-radius:50%;object-fit:cover}.onboarding-language-name{font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.onboarding-language-check{margin-left:auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--primary-solid, var(--primary));color:#fff}@media(prefers-reduced-motion:reduce){.onboarding-card--wizard,.onboarding-wizard-progress-fill,.onboarding-choice,.onboarding-language-pill,.onboarding-btn{animation:none;transition:none}}.debug-screen-name{position:fixed;right:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:2147483647;padding:4px 8px;border-radius:6px;background:#000c;color:#ffffffde;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;user-select:none;pointer-events:auto}.debug-screen-name:active{background:#000000eb}.focus-music{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom));z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.focus-music>*{pointer-events:auto}@media(min-width:768px){.focus-music{bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right))}}.focus-music-dock{display:flex;align-items:center;gap:8px}.focus-music-stop-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--radius-full, 999px);border:1px solid color-mix(in oklab,var(--primary) 40%,var(--border-light));background:var(--surface-card);color:var(--primary);font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 6px 16px -6px var(--shadow-strong),0 2px 4px -2px var(--shadow);transition:transform .15s ease,background .15s ease}.focus-music-stop-chip:hover{transform:translateY(-1px)}.focus-music-stop-chip:active{transform:scale(.97)}.focus-music-settings{width:44px;height:44px;border-radius:var(--radius-full, 999px);border:1px solid var(--border-light);background:var(--surface-card);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -6px var(--shadow-strong),0 2px 4px -2px var(--shadow);transition:transform .15s ease,color .15s ease}.focus-music-settings:hover{color:var(--text-primary);transform:scale(1.04)}.focus-music-settings:active{transform:scale(.96)}.focus-music-fab{position:relative;width:52px;height:52px;min-width:52px;min-height:52px;border-radius:var(--radius-full, 999px);border:1px solid var(--border-light);background:var(--surface-card);color:var(--text-primary);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -6px var(--shadow-strong),0 2px 4px -2px var(--shadow);transition:transform .15s ease,box-shadow .2s ease,background .15s ease;touch-action:manipulation}.focus-music-fab:hover{transform:scale(1.05)}.focus-music-fab:active{transform:scale(.96)}.focus-music-fab.playing{color:var(--on-primary, #fff);background:var(--primary-solid, var(--primary));border-color:var(--primary-solid, var(--primary))}.focus-music-fab-pulse{position:absolute;inset:-4px;border-radius:inherit;border:2px solid color-mix(in oklab,var(--primary) 55%,transparent);animation:focus-music-pulse 2s ease-out infinite}@keyframes focus-music-pulse{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.3);opacity:0}}.focus-music-panel{width:min(280px,calc(100vw - 32px));padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--surface-card);box-shadow:0 16px 40px -12px var(--shadow-strong),0 4px 8px -4px var(--shadow);display:flex;flex-direction:column;gap:14px;transform-origin:bottom right;animation:focus-music-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes focus-music-in{0%{transform:scale(.92) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.focus-music-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.focus-music-head-text{display:flex;flex-direction:column;gap:2px}.focus-music-title{display:inline-flex;align-items:center;font-size:14px;font-weight:650;color:var(--text-primary)}.focus-music-eq{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-left:8px}.focus-music-eq i{width:3px;height:100%;border-radius:2px;background:var(--primary-solid, var(--primary));transform-origin:bottom center;animation:focus-music-eq .9s ease-in-out infinite}.focus-music-eq i:nth-child(2){animation-delay:.18s}.focus-music-eq i:nth-child(3){animation-delay:.36s}.focus-music-eq i:nth-child(4){animation-delay:.54s}@keyframes focus-music-eq{0%,to{transform:scaleY(.32)}50%{transform:scaleY(1)}}.focus-music-subtitle{font-size:11px;line-height:1.35;color:var(--text-tertiary)}.focus-music-close{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-full, 999px);border:none;background:color-mix(in oklab,var(--text-primary) 6%,transparent);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;transition:background .15s ease}.focus-music-close:hover{background:color-mix(in oklab,var(--text-primary) 12%,transparent)}.focus-music-modes{display:flex;flex-wrap:wrap;gap:6px}.focus-music-mode{flex:1 1 72px;min-width:72px;min-height:44px;padding:8px 6px;border-radius:var(--radius-md, 10px);border:1px solid var(--border-light);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:550;white-space:nowrap;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s ease,border-color .16s ease,color .16s ease;animation:focus-music-mode-in .34s cubic-bezier(.2,.8,.2,1) backwards}.focus-music-mode:nth-child(1){animation-delay:.03s}.focus-music-mode:nth-child(2){animation-delay:.06s}.focus-music-mode:nth-child(3){animation-delay:.09s}.focus-music-mode:nth-child(4){animation-delay:.12s}.focus-music-mode:nth-child(5){animation-delay:.15s}.focus-music-mode:nth-child(6){animation-delay:.18s}.focus-music-mode:nth-child(7){animation-delay:.21s}.focus-music-mode:nth-child(8){animation-delay:.24s}@keyframes focus-music-mode-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.focus-music-mode:hover{border-color:color-mix(in oklab,var(--primary) 40%,var(--border-light));transform:translateY(-1px)}.focus-music-mode:active{transform:scale(.96)}.focus-music-mode.active{background:var(--primary-solid, var(--primary));border-color:var(--primary-solid, var(--primary));color:var(--on-primary, #fff);animation:focus-music-mode-pop .28s cubic-bezier(.34,1.56,.64,1)}@keyframes focus-music-mode-pop{0%{transform:scale(.9)}55%{transform:scale(1.06)}to{transform:scale(1)}}.focus-music-controls{display:flex;align-items:center;gap:12px}.focus-music-play{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-full, 999px);border:none;background:var(--primary-solid, var(--primary));color:var(--on-primary, #fff);display:grid;place-items:center;cursor:pointer;transition:transform .15s ease,filter .2s ease}.focus-music-play:hover{filter:brightness(1.05)}.focus-music-play:active{transform:scale(.94)}.focus-music-playing .focus-music-play:before,.focus-music-playing .focus-music-play:after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid color-mix(in oklab,var(--primary) 55%,transparent);pointer-events:none;animation:focus-music-play-ring 2.4s ease-out infinite}.focus-music-playing .focus-music-play:after{animation-delay:1.2s}@keyframes focus-music-play-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.55);opacity:0}}.focus-music-stop-wide{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;padding:0 14px;border-radius:var(--radius-full, 999px);border:1px solid color-mix(in oklab,var(--primary) 35%,var(--border-light));background:color-mix(in oklab,var(--primary) 12%,transparent);color:var(--primary);font-size:13px;font-weight:650;cursor:pointer;transition:transform .15s ease,background .15s ease}.focus-music-stop-wide:active{transform:scale(.98)}.focus-music-volume{flex:1;display:flex;align-items:center;gap:8px;color:var(--text-tertiary)}.focus-music-volume input[type=range]{flex:1;height:4px;accent-color:var(--primary);cursor:pointer}.focus-music-credit{font-size:10px;line-height:1.35;color:var(--text-tertiary);text-decoration:none;transition:color .15s ease}.focus-music-credit:hover{color:var(--text-secondary);text-decoration:underline}@media(prefers-reduced-motion:reduce){.focus-music-fab-pulse,.focus-music-panel,.focus-music-mode,.focus-music-mode.active,.focus-music-eq i,.focus-music-playing .focus-music-play:before,.focus-music-playing .focus-music-play:after{animation:none}.focus-music-eq i{transform:scaleY(.6)}}@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(--success-shadow)}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(--danger-shadow)}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{--mesh-bg: radial-gradient(circle at 12% 6%, rgba(79, 70, 229, .07) 0%, transparent 46%), radial-gradient(circle at 88% 96%, rgba(79, 70, 229, .06) 0%, transparent 44%), linear-gradient(180deg, #eef1f9 0%, #e4e8f4 100%);--mesh-noise-opacity: .05;--bg-body: #edf0f7;--bg-primary: #edf0f7;--bg-secondary: rgba(255, 255, 255, .55);--bg-tertiary: rgba(255, 255, 255, .35);--bg-nav: rgba(255, 255, 255, .6);--bg-card: rgba(255, 255, 255, .45);--bg-card-hover: rgba(255, 255, 255, .65);--surface-card: #ffffff;--surface-card-hover: #fbfbfe;--text-primary: #0f172a;--text-secondary: rgba(15, 23, 42, .72);--text-tertiary: rgba(15, 23, 42, .64);--text-muted: rgba(15, 23, 42, .6);--border-color: rgba(255, 255, 255, .65);--border-light: rgba(15, 23, 42, .09);--shadow: rgba(15, 23, 42, .1);--shadow-strong: rgba(15, 23, 42, .18);--primary: #4f46e5;--primary-dark: #4338ca;--primary-hover: #4338ca;--primary-dim: rgba(79, 70, 229, .1);--primary-shadow: rgba(79, 70, 229, .3);--primary-gradient: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);--primary-solid: #4f46e5;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Sora", "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--accent: #06b6d4;--accent-dim: rgba(6, 182, 212, .1);--success: #22c55e;--success-dark: #16a34a;--success-dim: rgba(34, 197, 94, .1);--success-shadow: rgba(34, 197, 94, .25);--danger: #ef4444;--danger-dark: #dc2626;--danger-dim: rgba(239, 68, 68, .1);--danger-shadow: rgba(239, 68, 68, .3);--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: rgba(34, 197, 94, .08);--correct-border: #22c55e;--correct-text: #166534;--wrong-bg: rgba(239, 68, 68, .08);--wrong-border: #ef4444;--wrong-text: #991b1b;--warning-bg: rgba(245, 158, 11, .08);--warning-text: #92400e;--link-color: #4f46e5;--link-hover: #4338ca;--input-bg: var(--bg-secondary);--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);--shadow-sm: 0 2px 8px -2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px -8px rgba(15, 23, 42, .12);--card-shadow: 0 8px 32px -12px rgba(15, 23, 42, .12);--shadow-lg: 0 20px 40px -16px rgba(15, 23, 42, .2);--shadow-xl: 0 30px 60px -20px rgba(15, 23, 42, .25);--surface-overlay: rgba(255, 255, 255, .5);--glow-primary: rgba(99, 102, 241, .14);--glow-success: rgba(34, 197, 94, .14);--heatmap-empty: var(--bg-tertiary);--heatmap-low: #c6e48b;--heatmap-medium: #7bc96f;--heatmap-high: #239a3b;--heatmap-max: #196127;--glass-bg: rgba(255, 255, 255, .45);--glass-bg-hover: rgba(255, 255, 255, .6);--glass-bg-strong: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .65);--glass-border-strong: rgba(255, 255, 255, .85);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--glass-blur: 24px;--glass-blur-sm: 12px;--glass-blur-lg: 40px;--glass-saturation: 180%;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--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: 20px;--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-spring: cubic-bezier(.22, 1.2, .36, 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-spring: var(--duration-dropdown) var(--ease-spring);--transition-drawer: var(--duration-sheet) var(--ease-drawer)}[data-theme=dark]{--mesh-bg: radial-gradient(circle at 12% 8%, rgba(99, 102, 241, .22) 0%, transparent 44%), radial-gradient(circle at 88% 94%, rgba(99, 102, 241, .16) 0%, transparent 42%), linear-gradient(180deg, #0a0712 0%, #0d0a18 100%);--mesh-noise-opacity: .12;--bg-body: #0a0712;--bg-primary: #0a0712;--bg-secondary: rgba(255, 255, 255, .09);--bg-tertiary: rgba(255, 255, 255, .06);--bg-nav: rgba(15, 11, 28, .72);--bg-card: rgba(255, 255, 255, .08);--bg-card-hover: rgba(255, 255, 255, .13);--surface-card: #1b1827;--surface-card-hover: #221e31;--text-primary: #f4f4f5;--text-secondary: rgba(244, 244, 245, .72);--text-tertiary: rgba(244, 244, 245, .6);--text-muted: rgba(244, 244, 245, .56);--border-color: rgba(255, 255, 255, .13);--border-light: rgba(255, 255, 255, .09);--shadow: rgba(0, 0, 0, .4);--shadow-strong: rgba(0, 0, 0, .6);--primary: #818cf8;--primary-dark: #6366f1;--primary-hover: #7c85f5;--primary-dim: rgba(99, 102, 241, .15);--primary-shadow: rgba(99, 102, 241, .4);--primary-solid: #4f46e5;--accent-dim: rgba(6, 182, 212, .15);--success: #4ade80;--success-dark: #22c55e;--success-dim: rgba(74, 222, 128, .15);--success-shadow: rgba(74, 222, 128, .3);--danger: #f87171;--danger-dark: #ef4444;--danger-dim: rgba(248, 113, 113, .15);--danger-shadow: rgba(248, 113, 113, .3);--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: rgba(74, 222, 128, .15);--correct-border: #4ade80;--correct-text: #86efac;--wrong-bg: rgba(248, 113, 113, .15);--wrong-border: #f87171;--wrong-text: #fca5a5;--warning-bg: rgba(251, 191, 36, .15);--warning-text: #fcd34d;--link-color: #818cf8;--link-hover: #a5b4fc;--input-bg: var(--bg-secondary);--btn-text-light: white;--btn-text-dark: var(--bg-primary);--tag-bg: var(--primary-dim);--tag-border: 1px solid var(--primary);--tag-color: var(--primary);--pill-active-bg: var(--primary-dim);--pill-active-color: var(--primary);--example-bg: var(--bg-secondary);--example-border: 1px solid var(--border-color);--example-number-color: var(--bg-primary);--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);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px -6px rgba(0, 0, 0, .4);--card-shadow: 0 8px 32px -12px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 40px -16px rgba(0, 0, 0, .55);--shadow-xl: 0 30px 60px -20px rgba(0, 0, 0, .65);--surface-overlay: rgba(255, 255, 255, .06);--glow-primary: rgba(129, 140, 248, .28);--glow-success: rgba(74, 222, 128, .22);--heatmap-empty: var(--bg-tertiary);--heatmap-low: #0e4429;--heatmap-medium: #006d32;--heatmap-high: #26a641;--heatmap-max: #39d353;--glass-bg: rgba(255, 255, 255, .08);--glass-bg-hover: rgba(255, 255, 255, .14);--glass-bg-strong: rgba(255, 255, 255, .18);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .22);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100vh}html{background-color:var(--bg-primary);background-image:var(--mesh-bg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}html:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:var(--mesh-noise-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;mix-blend-mode:overlay}#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:#fff;font-weight:600;border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-decoration:none;transition:top .15s ease-out}.skip-link:focus,.skip-link:focus-visible{top:calc(12px + var(--safe-area-top));outline:2px solid var(--primary);outline-offset:2px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.glass-surface{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border:1px solid var(--glass-border);box-shadow:var(--card-shadow),var(--glass-highlight)}.glass-surface--sm{backdrop-filter:blur(var(--glass-blur-sm)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur-sm)) saturate(var(--glass-saturation))}.glass-surface--lg{backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--glass-blur-lg)) saturate(var(--glass-saturation))}@supports not (backdrop-filter: blur(1px)){.glass-surface{background:var(--glass-bg-strong)}}.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;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));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-spring) 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-spring) both;will-change:transform,opacity;transform-origin:center center}@media(prefers-reduced-motion:reduce){.ui-modal-backdrop,.ui-modal,.error-screen,.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:has(.lesson-detail-shell),.app-layout:has(.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(.lesson-detail-shell),.app-layout:has(.letter-lesson-root){height:calc(100vh - var(--topnav-height));height:calc(100dvh - var(--topnav-height));padding-bottom:var(--keyboard-inset, 0px)}}.page-enter{animation:fadeIn .3s ease-out}.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}}@keyframes progressPulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--primary-shadow)}50%{opacity:.6;box-shadow:0 0 0 6px transparent}}.page-transition{animation:pageSlideIn .25s ease-out}html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease,fill .3s ease!important}.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}.btn-scale-effect:hover{transform:scale(1.02)}.btn-scale-effect:active{transform:scale(.98)}.stagger-item{animation:fadeIn .4s ease-out both}.stagger-item:nth-child(1){animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.stagger-item:nth-child(7){animation-delay:.3s}.stagger-item:nth-child(8){animation-delay:.35s}.stagger-item:nth-child(9){animation-delay:.4s}.stagger-item:nth-child(10){animation-delay:.45s}@media(max-width:479px){html,body{height:100%;overflow:hidden}#root{height:100%;overflow-y:auto;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!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:12px!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:16px!important}}
