@layer base,tokens,components,pages,motion;@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2) format("woff2")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sora-latin-500-normal-01eiPEn0.woff2) format("woff2")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2) format("woff2")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2) format("woff2")}@layer base{*{box-sizing:border-box}html,body,#root{min-width:0;min-height:100%;margin:0}body{overflow-x:hidden;color:var(--color-text);background:var(--color-bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}input,select,textarea{font-size:var(--type-input)}button{cursor:pointer}.viewport-shell{min-height:100dvh;display:flex;justify-content:center;background:var(--color-bg)}.app-frame{position:relative;width:min(100vw,var(--app-max-width));min-height:100dvh;overflow:hidden;color:var(--color-text);background:var(--color-bg);box-shadow:var(--shadow-frame)}.fatal-error,.route-status{display:grid;min-height:100dvh;padding:var(--space-12) var(--space-6);place-content:center;color:var(--color-text);text-align:center;background:var(--color-bg)}.fatal-error h1{font:var(--weight-semibold) var(--text-title-1)}.fatal-error p,.route-status p,.catalog-status{color:var(--color-text-secondary)}.fatal-error button,.route-status button{justify-self:center;min-height:var(--tap-target);padding:var(--space-3) var(--space-6);border:0;border-radius:var(--radius-pill);color:var(--color-text-on-accent);background:var(--color-action)}}@layer tokens{:root{--white: #ffffff;--white-rgb: 255 255 255;--black-rgb: 0 0 0;--gray-5: #fffdfc;--gray-7: #fffdf5;--gray-7-rgb: 255 253 245;--gray-19: #f6f9fd;--gray-23: #f7f7fb;--gray-37: #edf3ff;--gray-45: #e8f1fe;--gray-51: #eceef3;--gray-56: #e9edf5;--gray-75: #e3e6ee;--red-161: #ffb2bb;--red-264: #ff7a80;--red-289-rgb: 255 105 116;--red-424-rgb: 197 73 82;--red-576: #7b3340;--coral-339: #ff4048;--coral-420: #d92f3b;--gold-167: #f5be5f;--gold-187: #f2b653;--blue-224: #a9b5d8;--blue-272: #62aaff;--blue-294: #91a0c2;--blue-375: #1684ff;--blue-429: #0870ef;--blue-429-rgb: 8 112 239;--blue-484: #075fd6;--blue-506: #52627f;--blue-579: #2d4d7f;--blue-679: #26334b;--blue-709: #1d2c45;--blue-716: #1e2b40;--blue-742: #0c2344;--blue-749: #13213d;--blue-756: #031c4c;--blue-760: #071b49;--blue-760-rgb: 7 27 73;--blue-810: #071426;--blue-817-rgb: 4 17 42;--blue-825: #051023;--blue-825-rgb: 5 16 35;--blue-836: #020d24;--blue-850: #020b1b;--blue-886-rgb: 0 5 16;--violet-279: #b18bff;--violet-468: #7a45d5}}@layer tokens{:root,:root[data-theme=light]{color-scheme:light;--color-bg: var(--gray-5);--color-surface: var(--white);--color-surface-sunken: var(--gray-19);--color-surface-raised: var(--white);--color-surface-accent: var(--gray-37);--color-surface-glass: rgb(var(--white-rgb) / 88%);--color-track: var(--gray-56);--color-text: var(--blue-760);--color-text-secondary: var(--blue-506);--color-text-muted: #5a6a8e;--color-text-on-accent: var(--white);--color-accent: var(--blue-429);--color-accent-text: var(--blue-484);--color-action: var(--blue-429);--color-action-pressed: var(--blue-484);--color-border-accent: rgb(var(--blue-429-rgb) / 22%);--color-coral: var(--coral-420);--color-coral-bright: var(--coral-339);--color-violet: var(--violet-468);--color-gold: var(--gold-167);--color-gold-text: #94600f;--color-icon-accent: #d97706;--color-danger: var(--coral-420);--color-danger-fill: var(--coral-420);--color-danger-surface: #fff5f5;--color-danger-border: rgb(var(--red-424-rgb) / 24%);--color-danger-strong: var(--red-576);--color-divider: var(--gray-51);--color-border: var(--gray-75);--color-control-border: #7d8aa8;--color-focus: var(--blue-429);--color-media-bg: var(--blue-756);--color-backdrop: rgb(var(--blue-817-rgb) / 52%);--shadow-soft: 0 8px 20px rgb(var(--blue-760-rgb) / 6%);--shadow-card: 0 10px 30px rgb(var(--blue-760-rgb) / 8%);--shadow-floating: 0 12px 38px rgb(var(--blue-760-rgb) / 16%);--shadow-frame: 0 0 42px rgb(var(--blue-760-rgb) / 14%);--color-medal-gold-text: #7f5b12;--color-medal-gold-bg: #f3e2bc;--color-medal-silver-text: #556687;--color-medal-silver-bg: #e6eaf2;--color-medal-bronze-text: #85571f;--color-medal-bronze-bg: #f0dfc9;--color-you-chip-text: var(--blue-484);--color-you-chip-bg: var(--gray-45)}:root[data-theme=dark]{color-scheme:dark;--color-bg: var(--blue-850);--color-surface: var(--blue-810);--color-surface-sunken: var(--blue-825);--color-surface-raised: var(--blue-749);--color-surface-accent: var(--blue-742);--color-surface-glass: rgb(var(--blue-825-rgb) / 88%);--color-track: var(--blue-709);--color-text: var(--gray-23);--color-text-secondary: var(--blue-224);--color-text-muted: var(--blue-294);--color-text-on-accent: var(--white);--color-accent: var(--blue-375);--color-accent-text: var(--blue-272);--color-action: var(--blue-429);--color-action-pressed: var(--blue-484);--color-border-accent: var(--blue-579);--color-coral: var(--red-264);--color-coral-bright: var(--coral-339);--color-violet: var(--violet-279);--color-gold: var(--gold-167);--color-gold-text: var(--gold-187);--color-icon-accent: var(--gold-167);--color-danger: var(--red-264);--color-danger-fill: var(--coral-420);--color-danger-surface: #240d19;--color-danger-border: rgb(var(--red-289-rgb) / 28%);--color-danger-strong: var(--red-161);--color-divider: var(--blue-716);--color-border: var(--blue-679);--color-control-border: #63729a;--color-focus: var(--blue-272);--color-media-bg: var(--blue-836);--color-backdrop: rgb(var(--blue-886-rgb) / 64%);--shadow-soft: none;--shadow-card: none;--shadow-floating: 0 16px 44px rgb(var(--black-rgb) / 38%);--shadow-frame: none;--color-medal-gold-text: #f0d489;--color-medal-gold-bg: #3a2f14;--color-medal-silver-text: #c3cede;--color-medal-silver-bg: #2b3648;--color-medal-bronze-text: #e4b98a;--color-medal-bronze-bg: #3a2d1c;--color-you-chip-text: var(--blue-272);--color-you-chip-bg: #16294d}:root{--gradient-action: linear-gradient( 100deg, var(--blue-429) 0%, var(--blue-429) 25%, var(--violet-468) 55%, var(--coral-420) 100% );--gradient-selected: linear-gradient(110deg, var(--blue-429) 0%, #315ce1 68%, #8d45d5 100%);--shadow-selected: 0 5px 13px rgb(19 91 230 / 18%);--shadow-thumb: 0 1px 3px rgb(var(--black-rgb) / 20%);--color-on-media: var(--gray-7);--color-on-media-secondary: rgb(var(--gray-7-rgb) / 82%);--color-on-media-muted: rgb(var(--gray-7-rgb) / 68%);--scrim-rgb: 2 9 18;--scrim-strong: rgb(var(--scrim-rgb) / 80%);--scrim: rgb(var(--scrim-rgb) / 50%);--scrim-soft: rgb(var(--scrim-rgb) / 20%);--color-media-glass-border: rgb(var(--gray-7-rgb) / 46%);--font-display: "Sora", system-ui, sans-serif;--font-ui: "Sora", system-ui, sans-serif;--type-caption: .6875rem;--type-footnote: .75rem;--type-subhead: .8125rem;--type-body: .9375rem;--type-headline: 1.0625rem;--type-title-3: 1.25rem;--type-title-2: 1.625rem;--type-title-1: 2.125rem;--type-display: 2.625rem;--type-numeral: clamp(3rem, 14vw, 4rem);--type-input: 1rem;--text-caption: var(--type-caption) / 1.3 var(--font-ui);--text-footnote: var(--type-footnote) / 1.4 var(--font-ui);--text-subhead: var(--type-subhead) / 1.45 var(--font-ui);--text-body: var(--type-body) / 1.5 var(--font-ui);--text-headline: var(--type-headline) / 1.3 var(--font-display);--text-title-3: var(--type-title-3) / 1.2 var(--font-display);--text-title-2: var(--type-title-2) / 1.1 var(--font-display);--text-title-1: var(--type-title-1) / 1 var(--font-display);--text-display: var(--type-display) / 1 var(--font-display);--text-numeral: var(--type-numeral) / 1 var(--font-display);--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-title: -.03em;--tracking-eyebrow: .08em;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-pill: 999px;--radius-round: 50%;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-3-5: 14px;--space-4: 16px;--space-4-5: 18px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--tap-target: 44px;--content-gutter: 23px;--app-max-width: 430px;--page-padding-top: 45px;--dock-height: 52px;--dock-inset: 15px;--page-dock-clearance: max(160px, calc(var(--system-inset-bottom) + var(--dock-height) + 96px));--page-dock-clearance-compact: max(74px, calc(var(--system-inset-bottom) + var(--dock-height) + var(--space-3)));--focus-ring-width: 2px;--focus-ring-offset: 2px;--duration-fast: .14s;--duration-normal: .22s;--ease-standard: cubic-bezier(.2, 0, 0, 1)}}@layer base{:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"]),[role=switch],[role=radio],[role=tab]):focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.app-frame:focus{outline:none}.ui-toggle{position:relative;width:40px;height:24px;flex:none;padding:2px;border:0;border-radius:var(--radius-pill);background:var(--color-control-border);cursor:pointer}.ui-toggle:before{content:"";display:block;width:20px;height:20px;border-radius:var(--radius-round);background:var(--color-text-on-accent);box-shadow:var(--shadow-thumb);transition:transform var(--duration-fast) var(--ease-standard)}.ui-toggle:after{content:"";position:absolute;inset:calc(50% - var(--tap-target) / 2)}.ui-toggle[aria-checked=true],[aria-checked=true]>.ui-toggle{background:var(--color-accent)}.ui-toggle[aria-checked=true]:before,[aria-checked=true]>.ui-toggle:before{transform:translate(16px)}.ui-toggle:disabled,:disabled>.ui-toggle{opacity:.45;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary-page-transition{animation:primary-page-enter var(--duration-normal) cubic-bezier(.32,0,.22,1) both}@keyframes primary-page-enter{0%{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.session-storage-banner{display:grid;gap:var(--space-1);margin:var(--space-3-5) var(--space-5) 0;padding:var(--space-3) var(--space-3-5);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-danger-surface);box-shadow:var(--shadow-soft)}.session-storage-banner strong{font:var(--weight-semibold) var(--text-footnote)}.session-storage-banner span{color:var(--color-text-secondary);font:var(--text-footnote)}.session-storage-retry{width:fit-content;min-height:var(--tap-target);padding:0 var(--space-1-5);border:0;color:var(--color-accent-text);background:transparent;font:var(--weight-bold) var(--text-footnote)}.guest-data-reset-trigger{width:fit-content;min-height:var(--tap-target);margin-top:var(--space-1-5);padding:0;border:0;color:var(--color-danger);background:transparent;font:var(--weight-bold) var(--text-footnote);text-align:left}.guest-data-reset-dialog{width:min(calc(100% - 36px),350px);padding:var(--space-6) var(--space-6) var(--space-5);border:1px solid var(--color-danger-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-floating);text-align:center}.guest-data-reset-dialog::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog.guest-data-reset-dialog h2{margin:0;color:var(--color-text);font:var(--weight-bold) var(--text-title-3);letter-spacing:-.02em}.guest-data-reset-dialog>p{margin:var(--space-2-5) 0 var(--space-5);color:var(--color-text-secondary);font:var(--text-body)}.guest-data-reset-dialog .guest-data-reset-error{margin-bottom:var(--space-3-5);padding:var(--space-2-5);border-radius:var(--radius-sm);color:var(--color-danger-strong);background:var(--color-danger-surface)}.guest-data-reset-actions{display:grid;gap:var(--space-2-5)}.guest-data-reset-actions button{min-height:var(--tap-target);border-radius:var(--radius-sm);font:var(--weight-bold) var(--type-footnote) / 1 var(--font-ui)}.guest-data-reset-actions button:first-child{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-sunken)}.guest-data-reset-actions button.is-danger{border:0;color:var(--color-text-on-accent);background:var(--color-danger-fill)}.guest-data-reset-actions button:disabled{opacity:.58}}@layer motion{@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer components{.page{position:relative;min-height:100dvh;padding:var(--page-padding-top) var(--content-gutter) 70px;background:var(--color-bg)}:root[data-theme=dark] .page{background:radial-gradient(circle at 50% 11%,#0d2459 0,#030c1d 38%,#020a17)}.page:before{content:"";position:absolute;z-index:0;top:33px;right:0;left:0;height:198px;pointer-events:none;background:url(/assets/mountain-unified-light.webp) center top / auto 218px no-repeat;opacity:.75}:root[data-theme=dark] .page:before{background-image:url(/assets/mountain-unified-dark.webp);opacity:.86}.page>*{position:relative;z-index:1}.page section{margin-top:var(--space-6)}.page section>h2{margin:0;color:var(--color-text);font:var(--weight-semibold) var(--type-headline) / 1.1 var(--font-display)}@media(max-width:360px){.page{padding-right:var(--space-3-5);padding-left:var(--space-3-5)}}}@layer base{html{height:100%;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;background-color:var(--color-bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;background-color:var(--color-bg);overscroll-behavior-y:none}#root,.viewport-shell,.app-frame{background-color:var(--color-bg)}.viewport-shell{transition:background-color .5s ease}@media(prefers-reduced-motion:reduce){.viewport-shell{transition:none}}:root{--system-inset-top: env(safe-area-inset-top, 0px);--system-inset-right: env(safe-area-inset-right, 0px);--system-inset-bottom: env(safe-area-inset-bottom, 0px);--system-inset-left: env(safe-area-inset-left, 0px)}#root,.viewport-shell,.app-frame,.page,.today-page,.practice-page,.progress-page,.profile-page,.fatal-error,.route-status{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available}:where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}:where(button,a,[role=button]){touch-action:manipulation}:where(button,[role=button]){-webkit-user-select:none;user-select:none}@media(display-mode:standalone),(display-mode:fullscreen){html,body,.viewport-shell,.app-frame{background-color:var(--color-bg)}.app-frame{box-shadow:none}}}@layer components{.pwa-update-modal{display:grid;width:min(100%,380px);max-width:calc(100% - 2 * var(--space-5));max-height:calc(100dvh - 32px);min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-floating);transform-origin:center;animation:pwa-modal-scale .22s cubic-bezier(.23,1,.32,1)}@media(max-height:500px){.pwa-update-modal{height:calc(100dvh - 32px)}}.pwa-update-modal:not([open]){display:none}.pwa-update-modal::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:pwa-backdrop-fade .2s cubic-bezier(.23,1,.32,1)}@keyframes pwa-backdrop-fade{0%{opacity:0}to{opacity:1}}@keyframes pwa-modal-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pwa-update-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.pwa-update-modal strong{display:block;font:var(--weight-bold) var(--text-headline);color:var(--color-text)}.pwa-update-version{font:var(--weight-semibold) var(--type-caption) / 1 var(--font-ui);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-sm);background:var(--color-surface-accent);color:var(--color-accent-text);border:1px solid var(--color-border-accent);flex-shrink:0}.pwa-update-subtext{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font:var(--weight-medium) var(--text-subhead)}.pwa-update-error{margin:0;color:var(--color-text-secondary);font:var(--weight-medium) var(--text-footnote)}.pwa-update-body{display:grid;gap:var(--space-2-5);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-sunken);border:1px solid var(--color-border);min-height:0;overflow:hidden}.pwa-update-changelog-header{font:var(--weight-bold) var(--type-caption) / 1 var(--font-ui);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--color-text-muted)}.pwa-update-highlights{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2);max-height:220px;min-height:0;overflow-y:auto}.highlight-item{display:flex;align-items:flex-start;gap:var(--space-2);font:var(--weight-medium) var(--text-subhead)}.highlight-copy{display:grid;gap:2px;min-width:0}.highlight-heading{display:flex;align-items:baseline;gap:var(--space-1-5);min-width:0;flex-wrap:wrap}.highlight-copy strong{font:var(--weight-bold) var(--type-subhead) / 1.3 var(--font-ui);color:var(--color-text);min-width:0;overflow-wrap:anywhere}.highlight-dot{color:var(--color-text-muted);font:var(--weight-bold) var(--type-footnote) / 1 var(--font-ui)}.highlight-tag{flex-shrink:0;font:var(--weight-bold) var(--type-caption) / 1 var(--font-ui);text-transform:uppercase;letter-spacing:.03em}.highlight-feature .highlight-tag{color:var(--color-violet)}.highlight-improvement .highlight-tag{color:var(--color-accent-text)}.highlight-fix .highlight-tag{color:var(--color-danger)}.highlight-desc{color:var(--color-text)}.pwa-update-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--space-2-5)}.pwa-update-actions-single{grid-template-columns:1fr}.pwa-update-actions button{min-height:46px;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);background:var(--color-surface-sunken);font:var(--weight-bold) var(--type-subhead) / 1 var(--font-ui);cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s ease}.pwa-update-actions button:hover{background:var(--color-border)}.pwa-update-actions button:active{transform:scale(.97)}.pwa-update-actions button:last-child{border-color:transparent;color:var(--color-text-on-accent);background:var(--color-action)}.pwa-update-actions button:last-child:hover{background:var(--color-action-pressed)}.pwa-update-actions button:disabled{cursor:wait;opacity:.65}}@layer pages{.profile-dialog{position:relative;width:min(100%,340px);padding:var(--space-7) var(--space-6) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-floating);text-align:center}.profile-dialog::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-dialog-close{position:absolute;top:5px;right:5px;display:inline-flex;width:var(--tap-target);height:var(--tap-target);align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent}.profile-dialog-close svg{width:17px;height:17px}.profile-dialog-primary:active,.profile-dialog-secondary:active,.profile-dialog-danger:active{transform:scale(.97)}.profile-dialog-icon{display:grid;width:48px;height:48px;margin:0 auto var(--space-3);place-items:center;border-radius:var(--radius-md);color:var(--color-text-on-accent);background:linear-gradient(145deg,#167bff,#5a5fe9)}.profile-dialog--danger .profile-dialog-icon{background:var(--color-danger-surface);color:var(--color-danger)}.profile-dialog-icon svg{width:25px;height:25px}.profile-dialog h2{margin:0;color:var(--color-text);font:var(--weight-semibold) var(--text-title-3);letter-spacing:-.025em}.profile-dialog p{margin:var(--space-2-5) 0 0;color:var(--color-text-secondary);font:var(--text-footnote)}.profile-dialog ul{display:grid;gap:var(--space-2-5);margin:var(--space-4) 0 0;padding:0;list-style:none;text-align:left}.profile-dialog li{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text);font:var(--weight-medium) var(--text-caption)}.profile-dialog li svg{width:15px;height:15px;color:var(--color-accent)}.profile-dialog-primary{width:100%;height:var(--tap-target);margin-top:var(--space-5);border:0;border-radius:var(--radius-sm);color:var(--color-text-on-accent);background:var(--color-action);font:var(--weight-semibold) var(--type-footnote) / 1 var(--font-ui)}.profile-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-5)}.profile-dialog-secondary,.profile-dialog-danger{height:var(--tap-target);border-radius:var(--radius-sm);font:var(--weight-semibold) var(--type-caption) / 1 var(--font-ui)}.profile-dialog-secondary{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-sunken)}.profile-dialog-danger{border:0;color:var(--color-text-on-accent);background:var(--color-danger-fill)}}@layer components{.page-header{min-height:77px;display:grid;grid-template-columns:1fr;align-items:start;text-align:center}.page-header h1{margin:0;color:var(--color-text);font:var(--weight-medium) var(--text-title-1);letter-spacing:var(--tracking-title)}.page-header--greeting h1{font:var(--weight-semibold) clamp(var(--type-title-1),10.8vw,var(--type-display)) / 1 var(--font-display)}.page-header p{margin:0;color:var(--color-text-secondary);font:var(--text-subhead)}.header-greeting{display:block;color:var(--color-text);font:var(--weight-medium) var(--text-headline);letter-spacing:-.01em}}@layer components{.page-header p span{color:var(--color-text-secondary)}.page-header p b{color:var(--color-accent-text);font-weight:var(--weight-regular)}.page-header p em{color:var(--color-coral);font-style:normal}}@layer components{.hero-card{--hero-card-art-size: 110% 112%;--hero-card-glow: inset 0 1px 1px rgb(255 255 255 / 35%), 0 0 24px -3px rgb(24 119 255 / 40%), 0 14px 28px rgb(0 10 40 / 50%);position:relative;min-height:195px;padding:var(--space-4) var(--space-4-5);overflow:hidden;border:1px solid rgb(80 160 255 / 40%);border-radius:var(--radius-lg);color:var(--color-on-media);background-color:var(--color-media-bg);background-position:center;background-repeat:no-repeat;background-size:var(--hero-card-art-size);box-shadow:var(--hero-card-glow)}:root[data-theme=dark] .hero-card{--hero-card-art-size: cover;--hero-card-glow: inset 0 1px 1px rgb(255 255 255 / 35%), 0 0 28px -2px rgb(24 119 255 / 45%), 0 16px 36px rgb(0 10 40 / 50%)}.hero-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,rgb(2 12 34 / 78%) 0%,rgb(2 12 34 / 40%) 48%,transparent 72%)}.hero-card:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;padding:1px;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#82cdffbf,#1a73e873 45%,#0f3c9640);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.hero-card-copy{position:relative;z-index:2;width:58%;max-width:205px;min-height:163px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.hero-card-eyebrow{display:block;color:#8cb6fc;font:var(--weight-semibold) var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;white-space:nowrap}.hero-card h2{max-width:100%;margin:var(--space-1-5) 0 var(--space-1);color:var(--color-on-media);font:var(--weight-semibold) var(--text-headline);letter-spacing:-.015em}.hero-card-bar{display:block;width:44px;height:2.5px;margin:var(--space-1) 0 var(--space-2);border-radius:var(--radius-pill);background:linear-gradient(90deg,#b01e3c,#6b1226)}.hero-card p{max-width:200px;margin:0;color:var(--color-on-media-secondary);font:var(--text-subhead)}.hero-card-cta{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-width:136px;height:36px;margin-top:var(--space-2-5);padding:0 var(--space-3-5) 0 var(--space-1);border:0;border-radius:var(--radius-pill);color:var(--color-media-bg);background:var(--color-on-media);font:var(--weight-bold) var(--type-footnote) / 1 var(--font-ui);white-space:nowrap;box-shadow:0 3px 12px var(--scrim-soft);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.hero-card-cta:before{content:"";position:absolute;top:50%;left:50%;min-width:var(--tap-target);min-height:var(--tap-target);transform:translate(-50%,-50%)}@media(hover:hover)and (pointer:fine){.hero-card-cta:hover{transform:translateY(-1px)}}.hero-card-cta:active{transform:scale(.97)}.hero-card-play-badge{display:grid;place-items:center;width:28px;height:28px;min-width:28px;border-radius:var(--radius-round);color:var(--color-text-on-accent);background:var(--color-action)}.hero-card-play-badge svg{width:12px;height:12px;margin-left:1px;fill:currentColor}.hero-card-chevron{width:14px;height:14px;margin-left:auto;color:var(--color-action)}.hero-card-duration{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5);border:1px solid color-mix(in srgb,var(--color-on-media) 22%,transparent);border-radius:var(--radius-pill);color:var(--color-on-media);background:color-mix(in srgb,var(--color-on-media) 8%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:var(--weight-medium) var(--type-caption) / 1 var(--font-ui)}.hero-card-duration svg{width:12px;height:12px}@media(max-width:360px){.hero-card-copy{width:57%}}@media(prefers-reduced-motion:reduce){.hero-card-cta{transition:none}.hero-card-cta:hover,.hero-card-cta:active{transform:none}}}@layer components{.metric{min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1-5);color:var(--color-text);text-align:center}.metric svg{width:22px;color:var(--color-accent)}.metric strong{color:var(--color-text);font:var(--weight-semibold) var(--type-title-2) / 1 var(--font-display)}.metric span{color:var(--color-text-muted);font-size:var(--type-caption)}.metric-top{display:flex;align-items:center;justify-content:center;min-width:0;color:inherit}.metric-top>svg,.metric-icon{flex:0 0 auto;color:var(--color-accent);stroke-width:2.1}.metric--coral .metric-top>svg,.metric--coral .metric-icon{color:var(--color-coral-bright)}.metric--violet .metric-top>svg,.metric--violet .metric-icon{color:var(--color-violet)}.metric-top>strong,.metric-value{display:flex;align-items:baseline;min-width:0;color:var(--color-text);font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.065em;white-space:nowrap}.metric-top>strong small,.metric-value small{margin-left:2px;color:inherit;font-family:var(--font-ui);font-weight:var(--weight-semibold);letter-spacing:-.035em}.metric-label{display:block;margin:0;color:var(--color-text-muted);font-family:var(--font-ui);font-weight:var(--weight-regular);text-align:center;white-space:nowrap}}@layer components{.page-section-heading{display:flex;min-height:17px;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-2)}.page-section-label{margin:0;color:var(--color-text-secondary);font:var(--weight-semibold) var(--type-caption) / 1.1 var(--font-ui);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.page-section-heading>button{padding:0;border:0;color:var(--color-accent-text);background:transparent;font:var(--weight-medium) var(--type-caption) / 1 var(--font-ui)}}@layer pages{.today-page{position:relative;height:100dvh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:50px var(--content-gutter) var(--page-dock-clearance);background-color:var(--color-bg);background-image:url(/assets/today-backdrop-light-v2.webp);background-position:center top;background-repeat:no-repeat;background-size:100% auto}:root[data-theme=dark] .today-page{background-image:url(/assets/today-backdrop-dark-v3.webp)}.today-page::-webkit-scrollbar{display:none;width:0;height:0}.today-page:before{display:none}.today-page .page-header{min-height:126px}.today-page .header-greeting{margin-top:-4px}.today-page .page-header h1{margin:var(--space-1-5) 0 var(--space-3-5)}.today-page .page-section-heading{margin-right:var(--space-2);margin-bottom:var(--space-2-5)}.today-page .hero-card+section .page-section-heading{margin-top:0}.today-page .page-section-heading>button{position:relative;transition:transform var(--duration-fast) var(--ease-standard)}.today-page .page-section-heading>button:before{content:"";position:absolute;top:50%;left:50%;min-width:var(--tap-target);min-height:var(--tap-target);transform:translate(-50%,-50%)}@media(hover:hover)and (pointer:fine){.today-page .page-section-heading>button:hover{transform:scale(.96)}}.today-page .page-section-heading>button:active{transform:scale(.96)}.today-page section{transform:translateY(0);transition:transform .28s var(--ease-standard)}@starting-style{.today-page section{transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.today-page section{transition:none!important;transform:none!important}.today-page .recommend-action button,.today-page .quick-session,.today-page .page-section-heading>button,.today-page .home-review-notice button{transition:none!important}.today-page .recommend-action button:hover,.today-page .quick-session:hover{transform:none!important}}.today-page .hero-card{margin:var(--space-3) -2px 0}.today-page .home-practice-dot{display:inline-block;width:4px;height:4px;margin:0 var(--space-1-5) 1px;border-radius:var(--radius-round);background:var(--color-accent);vertical-align:middle}.today-page .home-review-notice{display:flex;min-height:166px;margin:var(--space-3) -2px 0;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--space-6);border:1px solid var(--color-border-accent);border-radius:var(--radius-lg);background:radial-gradient(circle at 92% 5%,rgb(77 143 255 / 18%),transparent 42%),var(--color-surface-glass);box-shadow:var(--shadow-card)}.today-page .home-review-notice strong{max-width:270px;color:var(--color-text);font:var(--weight-semibold) var(--text-title-3);letter-spacing:-.03em}.today-page .home-review-notice span{max-width:290px;margin-top:var(--space-2-5);color:var(--color-text-secondary);font:var(--text-footnote)}.today-page .home-review-notice button{position:relative;min-height:36px;margin-top:var(--space-4);padding:0 var(--space-4);border:1px solid var(--color-border-accent);border-radius:var(--radius-pill);color:var(--color-accent-text);background:var(--color-surface);font:var(--weight-semibold) var(--type-caption) / 1 var(--font-ui);transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.today-page .home-review-notice button:before{content:"";position:absolute;top:50%;left:50%;min-width:var(--tap-target);min-height:var(--tap-target);transform:translate(-50%,-50%)}@media(hover:hover)and (pointer:fine){.today-page .home-review-notice button:hover{transform:scale(.96);border-color:var(--color-accent);background:var(--color-surface-accent)}}.today-page .home-review-notice button:active{transform:scale(.96)}.today-page .catalog-empty{padding:var(--space-4-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);background:var(--color-surface-glass);font:var(--weight-medium) var(--text-footnote);text-align:center}.today-page>.catalog-status{margin:var(--space-2-5) 0 0}.today-page .catalog-failure{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3-5);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-danger-surface)}.today-page .catalog-failure p{width:100%;margin:0;color:var(--color-danger-strong);font:var(--weight-medium) var(--text-footnote)}.today-page .catalog-failure button{position:relative;min-height:34px;padding:0 var(--space-3-5);border:1px solid var(--color-border-accent);border-radius:var(--radius-pill);color:var(--color-accent-text);background:var(--color-surface);font:var(--weight-semibold) var(--type-caption) / 1 var(--font-ui)}.today-page .catalog-failure button:before{content:"";position:absolute;top:50%;left:50%;min-width:var(--tap-target);min-height:var(--tap-target);transform:translate(-50%,-50%)}.today-page .recommend-card.is-premium-locked{position:relative;overflow:hidden}.today-page .practice-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);background:color-mix(in srgb,var(--color-bg) 50%,transparent);pointer-events:none}.today-page .practice-lock-badge{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:var(--radius-round);color:var(--color-on-media);background:var(--scrim-strong);box-shadow:0 4px 12px var(--scrim-soft)}.today-page .practice-lock-badge-icon{width:14px;height:14px;stroke-width:2.2}.today-page .hero-card>.practice-lock-overlay{z-index:3}.today-page .recommend-card{display:flex;width:100%;flex-direction:column;gap:var(--space-2-5);margin:var(--space-1-5) 3px 0 1px;padding:var(--space-3-5);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;background:var(--color-surface);box-shadow:var(--shadow-soft);text-align:left;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.today-page .recommend-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}}.today-page .recommend-card:active{transform:scale(.98)}.today-page .recommend-top-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-2)}.today-page .recommend-eyebrow{color:var(--color-accent-text);font:var(--weight-bold) var(--text-caption);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.today-page .recommend-most{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-pill);color:var(--color-gold-text);background:color-mix(in srgb,var(--color-gold) 14%,transparent);font:var(--weight-semibold) var(--text-caption);text-transform:uppercase;white-space:nowrap}.today-page .recommend-most svg{width:12px;height:12px}.today-page .recommend-body{display:flex;align-items:center;gap:var(--space-3);min-width:0}.today-page .recommend-medallion{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:var(--radius-round);stroke-width:1.85}.today-page .recommend-medallion svg{width:24px;height:24px}.today-page .recommend-medallion--blue{color:var(--color-accent);background:var(--color-surface-accent)}.today-page .recommend-medallion--coral{color:var(--color-coral-bright);background:color-mix(in srgb,var(--color-coral-bright) 9%,transparent)}.today-page .recommend-copy{flex:1;min-width:0}.today-page .recommend-copy strong{display:block;color:var(--color-text);font:var(--weight-semibold) var(--type-body) / 1.15 var(--font-display);letter-spacing:-.015em}.today-page .recommend-copy span{display:block;margin-top:3px;overflow:hidden;color:var(--color-text-muted);font:var(--text-footnote);text-overflow:ellipsis;white-space:nowrap}.today-page .recommend-action{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:var(--space-2)}.today-page .recommend-cta{display:block;min-width:83px;height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-on-accent);background:var(--gradient-action);font:var(--weight-bold) var(--type-footnote) / 1 var(--font-ui);line-height:28px;text-align:center;white-space:nowrap}.today-page .recommend-action small{align-self:center;display:flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font:var(--type-footnote) / 1 var(--font-ui)}.today-page .recommend-action svg{width:13px;height:13px;color:var(--color-accent)}.today-page .sport-picker{border:0;padding:0;margin:0}.today-page .sport-picker-disabled{color:var(--color-text-muted);font:var(--text-footnote);margin:0 0 var(--space-2)}.today-page .sport-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.today-page .sport-picker button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1-5);min-height:86px;padding:var(--space-2-5) var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:var(--weight-semibold) var(--text-caption);box-shadow:var(--shadow-soft);text-align:center;overflow-wrap:anywhere;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast)}.today-page .sport-picker button span{overflow-wrap:anywhere;text-align:center}.today-page .sport-picker button svg{width:22px;height:22px;color:var(--color-accent)}.today-page .sport-picker button:disabled{opacity:.5;cursor:not-allowed}.today-page .sport-picker button:not(:disabled):active{transform:scale(.98)}.today-page .sport-reco-chip.is-premium-locked{position:relative;overflow:hidden}.today-page .sport-reco-chip.is-premium-locked strong{color:var(--color-text-muted)}.today-page .sport-lock-badge{position:absolute;top:6px;right:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:var(--radius-round);background:var(--scrim-strong);color:var(--color-on-media)}.today-page .sport-lock-badge svg{width:10px;height:10px}.today-page .sport-cancel{margin-top:var(--space-2);min-height:32px;padding:0 var(--space-3-5);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent-text);font:var(--weight-semibold) var(--type-caption) / 1 var(--font-ui);position:relative}.today-page .sport-cancel:after{content:"";position:absolute;inset:calc(50% - var(--tap-target) / 2) 0}@media(prefers-reduced-motion:reduce){.today-page .sport-picker button{transition:none!important}}.today-page .quick-grid-new{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-right:3px;margin-left:1px}.today-page .quick-grid-new button,.today-page .quick-session{min-width:0;min-height:88px;height:auto;padding:var(--space-2-5) 3px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-2)}.today-page .quick-session{transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}@media(hover:hover)and (pointer:fine){.today-page .quick-session:hover{transform:translateY(-1.5px);box-shadow:var(--shadow-card)}}.today-page .quick-session:active{transform:scale(.98);filter:brightness(.98)}.today-page .quick-session svg{width:30px;height:30px;padding:var(--space-1-5);border-radius:var(--radius-round);background:var(--color-surface-accent);stroke-width:1.85;color:var(--color-accent)}.today-page .quick-session--coral svg{color:var(--color-coral-bright);background:color-mix(in srgb,var(--color-coral-bright) 9%,transparent)}.today-page .quick-session strong{max-width:100%;overflow:visible;color:var(--color-text);font:var(--weight-semibold) var(--text-caption);text-align:center;overflow-wrap:anywhere;white-space:normal}.today-page .quick-session span{margin-top:-2px;color:var(--color-text-muted);font:var(--text-caption)}.today-page .home-progress{position:relative;display:block;height:148px;min-height:148px;margin:var(--space-1-5) 0 0;padding:0;overflow:hidden;border:1px solid var(--color-divider);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft)}.today-page .home-progress-metrics{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;row-gap:0;column-gap:0;padding:0}.today-page .home-progress .metric{position:relative;border:0}.today-page .home-progress .metric:nth-child(2):before,.today-page .home-progress .metric:nth-child(3):before{content:"";position:absolute;top:22px;left:0;width:1px;height:calc(100% - 44px);background:var(--color-divider)}.today-page .home-progress-basis{margin:var(--space-2) var(--space-1-5) 0;color:var(--color-text-muted);font:var(--text-footnote);text-align:center}@media(max-width:360px){.today-page{padding-right:var(--space-3-5);padding-left:var(--space-3-5)}}.today-page .home-progress .metric--today{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-2);text-align:center}.today-page .home-progress .metric--today .metric-top{flex-direction:column;gap:var(--space-1-5)}.today-page .home-progress .metric--today .metric-top>svg{width:26px;height:26px}.today-page .home-progress .metric--today .metric-top>strong{font:var(--weight-bold) var(--type-title-2) / 1 var(--font-ui)}.today-page .home-progress .metric--today .metric-label{font:var(--type-subhead) / 1 var(--font-ui)}@media(max-width:360px){.today-page .home-progress .metric--today{padding:0 var(--space-1)}.today-page .home-progress .metric--today .metric-top>svg{width:22px;height:22px}.today-page .home-progress .metric--today .metric-label{font-size:var(--type-caption)}}html[data-platform=ios][data-installed=true] .today-page{padding-top:max(var(--space-3),calc(var(--system-inset-top) + var(--space-4)));padding-bottom:var(--page-dock-clearance-compact)}@media(display-mode:standalone){.today-page{padding-top:max(var(--space-3),calc(var(--system-inset-top) + var(--space-4)))}}}@layer components{.app-nav{--nav-segment-width: calc((100% - 4px)/4) ;position:fixed;z-index:30;bottom:max(var(--dock-inset),var(--system-inset-bottom));left:50vw;width:min(calc(100vw - 42px),348px);height:var(--dock-height);padding:2px;transform:translate(-50%);display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.app-nav-indicator{position:absolute;z-index:1;top:3px;bottom:3px;left:2px;width:var(--nav-segment-width);pointer-events:none;transform:translate(calc(var(--nav-index) * 100%));transition:transform .24s cubic-bezier(.32,0,.22,1)}.app-nav-indicator>span{display:block;width:100%;height:100%;border:1px solid var(--color-border-accent);border-radius:var(--radius-md);background:var(--color-surface-accent);transition:transform .12s cubic-bezier(.32,0,.22,1)}.app-nav.is-pressing .app-nav-indicator{transition-delay:90ms}.app-nav.is-pressing .app-nav-indicator>span{transform:scale(.96);transition-duration:70ms;transition-timing-function:cubic-bezier(.2,.9,.3,1)}.app-nav button{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:var(--tap-target);min-height:var(--tap-target);border:0;border-radius:var(--radius-md);color:var(--color-text-muted);background:transparent;font:var(--weight-regular) var(--type-footnote) / 1 var(--font-ui);transition:color .12s ease}.app-nav svg{width:22px;height:22px;stroke-width:1.9}.app-nav button.active{color:var(--color-accent-text)}.app-nav button.active svg{stroke-width:2.35}.app-nav button:focus-visible{z-index:3}@media(prefers-reduced-motion:reduce){.app-nav-indicator,.app-nav-indicator>span,.app-nav button{transition:none!important}}@media(max-width:360px){.app-nav{width:min(calc(100vw - 24px),340px)}}@media(prefers-contrast:more){.app-nav{border-color:currentColor;-webkit-backdrop-filter:none;backdrop-filter:none}}}@layer components{.account-gate{width:min(calc(100% - 32px),368px);max-width:368px;max-height:calc(100dvh - 32px);padding:0;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-floating)}.account-gate::backdrop{background:rgb(var(--scrim-rgb) / 74%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.account-gate-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--account-gate-art);background-size:cover;background-position:center;opacity:.12}.account-gate-card{position:relative;z-index:1;display:grid;gap:var(--space-4-5);min-width:0;padding:var(--space-8) var(--space-7) var(--space-7);text-align:center;background:color-mix(in srgb,var(--color-surface) 94%,transparent)}.account-gate-brand{display:grid;justify-items:center;gap:var(--space-2-5);color:var(--color-text-muted);font-size:var(--type-caption);font-weight:var(--weight-bold);letter-spacing:.22em}.account-gate-icon{width:56px;height:56px;border-radius:var(--radius-md);box-shadow:0 10px 22px #00000038}.account-gate h2{max-width:290px;margin:0 auto;font-size:var(--type-title-2);line-height:1.16;letter-spacing:var(--tracking-title)}.account-gate :where(p){margin:0;font:var(--text-body)}.account-gate-copy{max-width:260px;margin-inline:auto;color:var(--color-text-muted)}.account-gate-actions{display:grid;gap:var(--space-2-5)}.account-gate-primary,.account-gate-google{min-height:56px;border-radius:var(--radius-md);font-weight:var(--weight-bold)}.account-gate-primary{border:0;color:var(--color-text-on-accent);background:var(--gradient-action)}.account-gate-google{display:flex;align-items:center;justify-content:center;gap:var(--space-2-5);border:1px solid rgb(7 27 73 / 12%);color:#071b49;background:#fff;box-shadow:0 8px 20px #071b491f}.account-gate-google-mark{width:20px;height:20px;flex:0 0 auto}.account-gate-error{padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-sm);color:var(--color-danger-strong);background:var(--color-danger-surface);text-align:left}.account-gate-unavailable,.account-gate-legal{color:var(--color-text-muted)}.account-gate-legal{max-width:300px;margin-inline:auto;font:var(--text-footnote)}.account-gate-legal a{color:inherit;text-decoration:underline}.account-gate-premium{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0;color:var(--color-gold-text);text-align:center;font:var(--type-caption) / 1.4 var(--font-ui)}.account-gate-premium svg{width:15px;height:15px;flex:0 0 auto}.account-gate-premium b{font-weight:var(--weight-semibold)}.account-gate-spinner{width:18px;height:18px;border:2px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-top-color:var(--color-accent);border-radius:var(--radius-round);animation:account-gate-spin .8s linear infinite}@keyframes account-gate-spin{to{transform:rotate(360deg)}}:root[data-theme=dark]{--account-gate-art: url(/assets/today-backdrop-dark-v3.webp)}:root[data-theme=light],:root:not([data-theme]){--account-gate-art: url(/assets/today-backdrop-light-v2.webp)}@media(prefers-reduced-motion:reduce){.account-gate-spinner{animation:none}}@media(max-width:360px){.account-gate-card{gap:var(--space-3-5);padding:var(--space-6) var(--space-4-5) var(--space-4-5)}.account-gate-icon{width:48px;height:48px;border-radius:var(--radius-sm)}.account-gate-google,.account-gate-primary{min-height:52px}}@media(max-height:680px){.account-gate-card{gap:var(--space-3);padding-block:var(--space-5)}.account-gate-icon{width:46px;height:46px}}}@layer pages{.move-page{display:grid;min-height:100vh;min-height:100svh;padding:max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left));color:var(--color-text);background:radial-gradient(ellipse at 50% 0%,var(--color-surface-accent),transparent 58%),var(--color-bg)}.move-card{display:grid;align-content:center;gap:clamp(1.25rem,4vw,1.75rem);width:min(100%,31rem);margin:auto;padding:clamp(1.5rem,6vw,2.5rem);border:1px solid var(--color-border);border-radius:1.75rem;background:var(--color-surface);box-shadow:var(--shadow-floating)}.move-heading{display:grid;gap:.65rem}.move-eyebrow{margin:0;color:var(--color-accent-text);font:var(--weight-bold) var(--type-caption) / 1.3 var(--font-ui);letter-spacing:.12em;text-transform:uppercase}.move-heading h1{margin:0;font:var(--weight-semibold) clamp(2rem,8vw,2.8rem) / 1.06 var(--font-display);letter-spacing:var(--tracking-title)}.move-copy,.move-note,.move-status,.move-install-help p{margin:0;color:var(--color-text-secondary);font:var(--text-body)}.move-copy a{color:var(--color-accent-text);font-weight:var(--weight-semibold);text-decoration-thickness:1px;text-underline-offset:.2em;overflow-wrap:anywhere}.move-old-address{color:var(--color-text-muted);text-decoration:line-through;text-decoration-thickness:1px}.move-apps{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.15rem 1rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface-sunken)}.move-app{display:grid;justify-items:center;gap:.5rem;color:var(--color-text-secondary);font:var(--weight-semibold) var(--type-caption) / 1.3 var(--font-ui);text-align:center}.move-app img{display:block;width:clamp(3.75rem,18vw,4.75rem);aspect-ratio:1;border-radius:1.15rem;box-shadow:var(--shadow-soft)}.move-app--old img{filter:grayscale(1);opacity:.48}.move-app--new{color:var(--color-accent-text)}.move-app-arrow{color:var(--color-text-muted);font:500 1.35rem / 1 var(--font-ui)}.move-primary,.move-secondary{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.5rem;padding:.85rem 1.15rem;border-radius:1rem;font:var(--weight-semibold) var(--type-body) / 1.3 var(--font-ui);text-align:center;text-decoration:none;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}.move-primary{border:1px solid transparent;color:var(--color-text-on-accent);background:var(--color-action);box-shadow:var(--shadow-floating);cursor:pointer}.move-primary:hover:not(:disabled){background:var(--color-action-pressed);transform:translateY(-1px)}.move-primary:disabled{cursor:default;opacity:.78}.move-secondary{min-height:2.75rem;border:1px solid var(--color-border);color:var(--color-text-secondary);background:transparent;font-size:var(--type-caption)}.move-secondary:hover{border-color:var(--color-border-accent);background:var(--color-surface-accent)}.move-note,.move-status{font-size:var(--type-caption);line-height:1.5}.move-install-help{display:grid;gap:.35rem;padding:.9rem 1rem;border:1px solid var(--color-border-accent);border-radius:1rem;background:var(--color-surface-accent)}.move-install-help strong{color:var(--color-text);font:var(--weight-semibold) var(--type-caption) / 1.3 var(--font-ui)}.move-install-help p{font-size:var(--type-caption)}.move-page :is(a,button):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){.move-primary,.move-secondary{transition:none}}}
