@layer reset,tokens,global,composition,utility,block,exception;@layer reset{:where(*,*:before,*:after){box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:where(html){text-size-adjust:none}:where(html,body){overflow:hidden;overscroll-behavior:none;block-size:100%}:where(img,picture,video,canvas,svg){display:block;max-inline-size:100%;block-size:auto}:where(input,button,textarea,select){font:inherit;color:inherit}:where(button){cursor:pointer}:where(a){color:inherit;text-decoration:none;text-decoration-skip-ink:auto}:where(ul,ol){list-style:none}:where(fieldset){min-inline-size:0;border:none}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;overflow-wrap:break-word}:where(p){text-wrap:pretty;overflow-wrap:break-word}}@layer tokens{:root{--md-sys-state-hover-opacity: .08;--md-sys-state-focus-opacity: .1;--md-sys-state-pressed-opacity: .1;--md-sys-state-dragged-opacity: .16;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-duration-extra-long1: .7s;--md-sys-motion-duration-extra-long2: .8s;--md-sys-motion-duration-extra-long3: .9s;--md-sys-motion-duration-extra-long4: 1s;--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier( .05, .7, .1, 1 );--md-sys-motion-easing-emphasized-accelerate: cubic-bezier( .3, 0, .8, .15 )}@media(prefers-reduced-motion:reduce){:root{--md-sys-motion-duration-short1: 0ms;--md-sys-motion-duration-short2: 0ms;--md-sys-motion-duration-short3: 0ms;--md-sys-motion-duration-short4: 0ms;--md-sys-motion-duration-medium1: 0ms;--md-sys-motion-duration-medium2: 0ms;--md-sys-motion-duration-medium3: 0ms;--md-sys-motion-duration-medium4: 0ms;--md-sys-motion-duration-long1: 0ms;--md-sys-motion-duration-long2: 0ms;--md-sys-motion-duration-long3: 0ms;--md-sys-motion-duration-long4: 0ms;--md-sys-motion-duration-extra-long1: 0ms;--md-sys-motion-duration-extra-long2: 0ms;--md-sys-motion-duration-extra-long3: 0ms;--md-sys-motion-duration-extra-long4: 0ms}}}@layer tokens{:root{--color-brand-primary: oklch(65% .28 350deg);--color-brand-secondary: oklch(62% .25 255deg);--color-brand-accent: oklch(82% .22 140deg);--color-stage-home: oklch(72% .2 55deg);--color-stage-near: oklch(75% .18 195deg);--color-stage-away: oklch(68% .25 330deg);--color-surface-base: oklch(18% .04 275deg);--color-surface-raised: oklch(22% .04 275deg);--color-surface-overlay: oklch(26% .04 275deg);--color-text-primary: oklch(98.5% 0 0deg);--color-text-secondary: oklch(82% .02 275deg);--color-text-muted: oklch(68% .03 275deg);--color-error: oklch(65% .2 25deg);--color-warning: oklch(75% .15 75deg);--color-success: oklch(80% .18 152deg);--color-white: oklch(100% 0 0deg);--journey-hue-tracking: 255deg;--journey-hue-applied: 255deg;--journey-hue-unpaid: 75deg;--journey-hue-paid: 150deg;--journey-hue-lost: 25deg;--color-border-subtle: oklch(98.5% 0 0deg / 12%);--color-border-muted: oklch(98.5% 0 0deg / 22%);--font-display: "Righteous", "Outfit", system-ui, sans-serif;--font-body: "Poppins", system-ui, -apple-system, sans-serif;--step--2: clamp(.6875rem, calc(.6rem + .13vi) , .7rem);--step--1: clamp(.83rem, calc(.78rem + .29vi) , 1rem);--step-0: clamp(1rem, calc(.91rem + .43vi) , 1.25rem);--step-1: clamp(1.2rem, calc(1.07rem + .63vi) , 1.56rem);--step-2: clamp(1.44rem, calc(1.26rem + .89vi) , 1.95rem);--step-3: clamp(1.73rem, calc(1.48rem + 1.24vi) , 2.44rem);--step-4: clamp(2.07rem, calc(1.73rem + 1.7vi) , 3.05rem);--step-5: clamp(2.49rem, calc(2.02rem + 2.33vi) , 3.81rem);--leading-none: 1;--leading-tight: 1.1;--leading-snug: 1.2;--leading-normal: 1.4;--leading-relaxed: 1.6;--space-3xs: clamp(.25rem, calc(.23rem + .11vi) , .31rem);--space-2xs: clamp(.5rem, calc(.46rem + .22vi) , .63rem);--space-xs: clamp(.75rem, calc(.68rem + .33vi) , .94rem);--space-s: clamp(1rem, calc(.91rem + .43vi) , 1.25rem);--space-m: clamp(1.5rem, calc(1.37rem + .65vi) , 1.88rem);--space-l: clamp(2rem, calc(1.83rem + .87vi) , 2.5rem);--space-xl: clamp(3rem, calc(2.74rem + 1.3vi) , 3.75rem);--space-2xl: clamp(4rem, calc(3.65rem + 1.74vi) , 5rem);--space-3xl: clamp(6rem, calc(5.48rem + 2.61vi) , 7.5rem);--radius-sm: .5rem;--radius-card: 1rem;--radius-button: .75rem;--radius-sheet: 1.5rem;--radius-full: 9999px;--toggle-track-inline: 2.75rem;--toggle-track-block: 1.5rem;--toggle-thumb-size: 1.25rem;--toggle-thumb-inset: .125rem;--toggle-thumb-translate: 1.25rem;--shadow-card-glow: 0 4px 24px -4px oklch(from var(--color-brand-primary) l c h / 20%);--shadow-sheet: 0 -8px 32px -4px oklch(0% 0 0deg / 50%);--shadow-button: 0 4px 16px -2px oklch(from var(--color-brand-primary) l c h / 30%);--shadow-soft: 0 2px 8px oklch(0% 0 0deg / 20%);--transition-fast: .15s;--transition-normal: .2s;--transition-slow: .3s;--container-sm: 320px;--container-md: 480px;--container-lg: 640px;--transition-route-duration: .2s;--transition-route-easing: ease-out;--md-spring-spatial: cubic-bezier(.38, 1.21, .22, 1);--md-spring-spatial-duration: .5s;--md-spring-spatial-fast: cubic-bezier(.42, 1.67, .21, .9);--md-spring-spatial-fast-duration: .35s;--md-spring-spatial-slow: cubic-bezier(.39, 1.29, .35, .98);--md-spring-spatial-slow-duration: .65s;--md-spring-effects: cubic-bezier(.34, .8, .34, 1);--md-spring-effects-duration: .2s;--md-spring-effects-fast: cubic-bezier(.31, .94, .34, 1);--md-spring-effects-fast-duration: .15s;--md-easing-standard: var(--md-sys-motion-easing-standard);--md-easing-standard-decelerate: var( --md-sys-motion-easing-standard-decelerate );--md-easing-standard-accelerate: var( --md-sys-motion-easing-standard-accelerate );--md-easing-emphasized-decelerate: var( --md-sys-motion-easing-emphasized-decelerate );--md-easing-emphasized-accelerate: var( --md-sys-motion-easing-emphasized-accelerate );--md-duration-short1: var(--md-sys-motion-duration-short1);--md-duration-short2: var(--md-sys-motion-duration-short2);--md-duration-short3: var(--md-sys-motion-duration-short3);--md-duration-short4: var(--md-sys-motion-duration-short4);--md-duration-medium1: var(--md-sys-motion-duration-medium1);--md-duration-medium2: var(--md-sys-motion-duration-medium2);--md-duration-medium3: var(--md-sys-motion-duration-medium3);--md-duration-medium4: var(--md-sys-motion-duration-medium4);--md-duration-long2: var(--md-sys-motion-duration-long2);--md-duration-long4: var(--md-sys-motion-duration-long4);--md-duration-instant: 1ms;--md-color-primary: oklch(from var(--color-brand-primary) 57% c h);--md-color-on-primary: var(--color-white);--md-color-primary-container: oklch( from var(--color-brand-primary) 48% .19 h );--md-color-on-primary-container: oklch( from var(--color-brand-primary) 96% .04 h );--md-color-secondary: var(--color-brand-secondary);--md-color-on-secondary: oklch( from var(--color-brand-secondary) 18% .06 h );--md-color-secondary-container: oklch( from var(--color-brand-secondary) 45% .15 h );--md-color-on-secondary-container: oklch( from var(--color-brand-secondary) 95% .03 h );--md-color-tertiary: var(--color-brand-accent);--md-color-on-tertiary: oklch(from var(--color-brand-accent) 20% .06 h);--md-color-tertiary-container: oklch( from var(--color-brand-accent) 45% .12 h );--md-color-on-tertiary-container: oklch( from var(--color-brand-accent) 95% .04 h );--md-color-error: var(--color-error);--md-color-on-error: oklch(from var(--color-error) 18% .05 h);--md-color-error-container: oklch(from var(--color-error) 42% .14 h);--md-color-on-error-container: oklch(from var(--color-error) 95% .03 h);--md-color-snack-info-from: oklch( from var(--color-brand-primary) 50.5% c h );--md-color-snack-info-to: oklch(from var(--color-brand-secondary) 48% c h);--md-color-snack-warning: oklch(47.5% .16 75deg);--md-color-snack-error-from: oklch(40% .2 25deg);--md-color-snack-error-to: oklch(45% .18 25deg);--md-color-surface: var(--color-surface-base);--md-color-on-surface: var(--color-text-primary);--md-color-on-surface-variant: var(--color-text-secondary);--md-color-outline: var(--color-border-muted);--md-color-outline-variant: var(--color-border-subtle);--md-color-surface-container-lowest: oklch( from var(--color-surface-base) 15% c h );--md-color-surface-container-low: var(--color-surface-base);--md-color-surface-container: var(--color-surface-raised);--md-color-surface-container-high: var(--color-surface-overlay);--md-color-surface-container-highest: oklch( from var(--color-surface-overlay) 30% c h );--md-color-menu-surface: oklch(50% .035 275deg);--md-color-scrim: oklch(0% 0 0deg / 45%);--md-state-hover: calc(var(--md-sys-state-hover-opacity) * 100%);--md-state-focus: calc(var(--md-sys-state-focus-opacity) * 100%);--md-state-pressed: calc(var(--md-sys-state-pressed-opacity) * 100%);--md-state-dragged: calc(var(--md-sys-state-dragged-opacity) * 100%);--md-state-selected: 12%;--md-shape-extra-small: .25rem;--md-shape-small: var(--radius-sm);--md-shape-medium: var(--radius-button);--md-shape-large: var(--radius-card);--md-shape-large-increased: 1.25rem;--md-shape-extra-large: var(--radius-sheet);--md-shape-extra-large-increased: 2rem;--md-shape-full: var(--radius-full);--fab-size: 3.5rem;--fab-inset: var(--space-s);--fab-notch-gap: .5rem;--fab-notch-radius: calc(var(--fab-size) / 2 + var(--fab-notch-gap));--fab-slot: calc(var(--fab-size) + 2 * var(--fab-notch-gap));--fab-icon-size: 2rem;--fab-sunk-scale: calc(40 / 56);--bottom-banner-block-size: calc(2.25rem + 2 * var(--space-xs) + 2px);--fab-radius-collapsed: var(--radius-full);--fab-radius-expanded: var(--radius-card);--fab-state-hover: 8%;--fab-state-focus: 10%;--fab-state-pressed: 10%;--fab-state-selected: 12%;--bottom-nav-height: 3.5rem}}@layer global{:where(body){font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading-relaxed);color:var(--color-text-primary);background:var(--color-surface-base)}:where([popover],dialog){color:var(--color-text-primary)}:where(h1,h2,h3,h4,h5,h6){font-family:var(--font-display);line-height:var(--leading-snug)}:where(h1){font-size:var(--step-4)}:where(h2){font-size:var(--step-3)}:where(h3){font-size:var(--step-2)}:where(h4){font-size:var(--step-1)}:where(a){color:var(--color-brand-accent);text-underline-offset:.2em}:where(button){padding-block:var(--space-2xs);padding-inline:var(--space-s);border:none;border-radius:var(--radius-button);font-family:var(--font-display);font-weight:600;background:transparent;transition:background-color var(--transition-fast) ease-out,opacity var(--transition-fast) ease-out,transform var(--transition-fast) ease-out}:where(button:hover:not(:disabled)){background:color-mix(in oklab,currentcolor var(--md-state-hover),transparent)}:where(button:focus-visible){background:color-mix(in oklab,currentcolor var(--md-state-focus),transparent)}:where(button:active:not(:disabled)){transform:scale(.97);transition:transform 50ms ease-in}:where(input,textarea,select){padding-block:var(--space-2xs);padding-inline:var(--space-xs);border:1px solid var(--color-border-subtle);border-radius:var(--radius-button);accent-color:var(--color-brand-primary);background:var(--color-surface-raised)}:where(svg){fill:currentcolor;stroke:currentcolor}::view-transition-old(root){animation:var(--transition-route-duration) var(--transition-route-easing) both fade-out}::view-transition-new(root){animation:var(--transition-route-duration) var(--transition-route-easing) both fade-in}:root.vt-suppress-root::view-transition-old(root){animation:none;opacity:0}:root.vt-suppress-root::view-transition-new(root){animation:none;opacity:1}:where(:root:has(.snack-item:popover-open,.signup-banner,.pwa-banner)){--fab-sunk: 1}:where(:root:has(.signup-banner,.pwa-banner)){--bottom-banner-height: var(--bottom-banner-block-size)}@media(prefers-contrast:more){:where(button,input,textarea,select){border:2px solid currentcolor}:where(:focus-visible){outline:3px solid currentcolor;outline-offset:2px}}@media(forced-colors:active){:where(button){border:1px solid ButtonText}:where(a){color:LinkText}:where(svg){fill:CanvasText;stroke:CanvasText}}@media(prefers-reduced-motion:reduce){:where(button:active:not(:disabled)){transform:none;opacity:.7}}}@layer composition{.flow>*+*{margin-block-start:var(--flow-space, 1em)}.stack{display:flex;flex-direction:column;gap:var(--stack-gap, var(--space-m))}.cluster{display:flex;flex-wrap:wrap;gap:var(--cluster-gap, var(--space-s));align-items:center}.center{display:flex;align-items:center;justify-content:center}.wrapper{max-inline-size:var(--wrapper-max, 65ch);margin-inline:auto;padding-inline:var(--gutter, var(--space-m))}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--grid-min, 16rem),100%),1fr));gap:var(--grid-gap, var(--space-m))}}@layer utility{@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(16px);opacity:0}}@keyframes hype-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes busy-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes starfield-twinkle{0%{opacity:.6}to{opacity:1}}@keyframes bounce-in{0%{transform:translateY(-20px) scale(.95);opacity:0}60%{transform:translateY(4px) scale(1.02);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.animate-fade-slide-up,[data-animation=fade-slide-up]{animation:fade-slide-up .6s ease-out both}.animate-fade-slide-down,[data-animation=fade-slide-down]{animation:fade-slide-down .6s ease-out both}.animate-hype-pulse{animation:hype-pulse .3s ease-out}.scroll-x{scrollbar-width:none;overflow-x:auto}.hidden{display:none}[data-busy]{pointer-events:none;cursor:progress;position:relative;opacity:.65}[data-busy]:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);inline-size:1rem;block-size:1rem;border:1.5px solid oklch(from var(--color-brand-accent) l c h / 30%);border-block-start-color:var(--color-brand-accent);border-radius:var(--radius-full);animation:busy-spin .8s linear infinite}.visually-hidden{position:absolute;overflow:hidden;inline-size:1px;block-size:1px;white-space:nowrap;clip-path:inset(50%)}.pressable{position:relative;transition:border-radius var(--md-spring-spatial-fast-duration) var(--md-spring-spatial-fast),background-color var(--md-duration-short3) var(--md-easing-standard),transform var(--md-duration-short3) var(--md-easing-standard)}.pressable:after{pointer-events:none;content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;background:currentcolor;transition:opacity var(--md-duration-short3) var(--md-easing-standard)}.pressable:active{border-radius:var(--press-morph-radius, var(--md-shape-large-increased))}.pressable:active:after{opacity:var(--md-state-pressed)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:var(--md-shape-small);background-color:var(--md-color-surface-container-high);background-image:linear-gradient(100deg,transparent 30%,color-mix(in oklab,var(--md-color-on-surface) 8%,transparent) 50%,transparent 70%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}[data-selected-morph]{transition:background-color var(--md-duration-medium1) var(--md-spring-effects),border-radius var(--md-duration-medium1) var(--md-spring-spatial)}[data-selected-morph][aria-selected=true],[data-selected-morph][aria-pressed=true],[data-selected-morph][data-selected]{border-radius:var(--md-shape-large-increased);background:color-mix(in oklab,currentcolor var(--md-state-selected),transparent)}[data-selected-morph]:is([aria-selected=true],[aria-pressed=true],[data-selected]):hover{background-image:linear-gradient(color-mix(in oklab,currentcolor var(--md-state-hover),transparent) 0 0)}@media(prefers-reduced-motion:reduce){[class*=animate-]{animation:none}[data-busy]:after{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}.skeleton{animation:none}.pressable,.pressable:after,[data-selected-morph]{transition-duration:var(--md-duration-instant)}}}@layer block{@scope(.button){:scope{cursor:pointer;display:inline-flex;gap:var(--space-3xs);align-items:center;justify-content:center;min-block-size:var(--button-min-size, 2.75rem);padding-block:var(--button-padding-block, var(--space-2xs));padding-inline:var(--button-padding-inline, var(--space-m));border:2px solid transparent;border-radius:var(--radius-button);font-family:Outfit,var(--font-display);font-size:var(--button-font-size, max(var(--step-0), 1.1875rem));font-weight:700;line-height:var(--leading-tight);color:var(--md-color-on-primary);text-align:center;text-decoration:none;background:var(--md-color-primary);box-shadow:var(--shadow-button)}:scope:active:not(:disabled){border-radius:var(--press-morph-radius, var(--md-shape-large-increased))}:scope:focus-visible:after{opacity:var(--md-state-focus)}:scope:hover:not(:disabled):after{opacity:var(--md-state-hover)}:scope:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}}}@layer exception{.button[data-variant=outlined]{border-color:var(--color-border-subtle);color:var(--color-text-primary);background:transparent;box-shadow:none}.button[data-variant=danger]{background:var(--md-color-error-container);box-shadow:none}.button[data-variant=on-container]{border-color:color-mix(in oklch,var(--color-white) 62%,transparent);color:var(--color-white);background:color-mix(in oklch,var(--color-white) 18%,transparent);box-shadow:none}}@layer block{@scope(app-shell){:scope{display:grid;grid-template:"header" auto "viewport" minmax(0,1fr) "nav" auto / minmax(0,1fr);block-size:100dvh}au-viewport{grid-area:viewport;box-sizing:border-box;padding-block-end:var(--bottom-banner-height, 0)}bottom-nav-bar{grid-area:nav}notification-prompt,snack-bar,error-banner,coach-mark,fab-menu{position:fixed;overflow:hidden;block-size:0}}}@layer block{@scope(error-banner){:scope{--_border-light: oklch(100% 0 0deg / 10%);--_bg-subtle: oklch(100% 0 0deg / 5%)}.error-content{inline-size:100%;max-inline-size:28rem;padding:var(--space-m);border:1px solid var(--_border-light);border-radius:var(--space-s);background:var(--color-surface-raised);box-shadow:var(--shadow-soft)}.error-title{margin-block-end:var(--space-3xs);font-family:var(--font-display);font-size:var(--step-0);font-weight:400;color:var(--color-text-primary)}.error-message{margin-block-end:var(--space-2xs);font-size:var(--step--1);color:var(--color-text-secondary)}.error-id-box{display:flex;gap:var(--space-2xs);align-items:center;margin-block-end:var(--space-xs);padding:var(--space-3xs) var(--space-2xs);border-radius:var(--radius-button);background:var(--_bg-subtle)}.error-id{font-family:var(--font-body);font-size:var(--step--1);color:var(--color-text-muted)}footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xs)}}}@layer block{@scope(pwa-install-banner){:scope{--_a: var(--color-brand-primary);--_b: var(--color-brand-secondary);position:fixed;inset-block-end:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));inset-inline:0;container:bottom-banner / inline-size}.pwa-banner{--_banner-text: clamp(12px, 4.2cqi, 16px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-xs);align-items:center;block-size:var(--bottom-banner-block-size);padding-block:var(--space-xs);padding-inline:var(--space-s);border-block-start:2px solid;border-image:linear-gradient(to right,var(--_a),var(--_b)) 1;background:oklch(from var(--color-surface-base) l c h / 85%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}bottom-sheet{overflow:visible;grid-column:1 / -1;block-size:0}.pwa-banner-label{overflow:hidden;min-inline-size:0;font-size:var(--_banner-text);font-weight:500;color:var(--color-text-primary);white-space:nowrap}.pwa-banner-action{--button-min-size: 2.25rem;--button-padding-block: var(--space-3xs);--button-padding-inline: var(--space-s);--button-font-size: var(--_banner-text);white-space:nowrap}.pwa-banner-sheet{display:flex;flex-direction:column;gap:var(--space-m);padding-block:var(--space-s) var(--space-l);padding-inline:var(--space-m)}.pwa-banner-sheet-title{font-size:var(--step-1);font-weight:600;color:var(--color-text-primary)}.pwa-banner-sheet-steps{display:flex;flex-direction:column;gap:var(--space-s);padding:0;list-style:none}.pwa-banner-sheet-step{display:flex;gap:var(--space-xs);align-items:flex-start;font-size:var(--step-0);color:var(--color-text-secondary)}.pwa-banner-step-num{display:flex;flex-shrink:0;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;border-radius:var(--radius-full);font-size:var(--step--1);font-weight:700;color:var(--color-white);background:linear-gradient(135deg,var(--_a),var(--_b))}.pwa-banner-sheet-action{align-self:center}@media(prefers-reduced-motion:no-preference){.pwa-banner{animation:pwa-banner-enter var(--md-duration-medium3) var(--md-easing-emphasized-decelerate)}.pwa-banner:before,.pwa-banner-action:before{pointer-events:none;content:"";position:absolute;background:linear-gradient(to right,transparent,color-mix(in oklch,var(--color-white) 70%,transparent),transparent) -100% 0 / 50% 100% no-repeat;animation:banner-cue 12s ease-in-out 5}.pwa-banner:before{inset-block-start:-2px;inset-inline:0;block-size:2px}.pwa-banner-action:before{inset:0;border-radius:inherit;animation-delay:1s}}@keyframes banner-cue{0%{background-position-x:-100%}9%,to{background-position-x:200%}}@keyframes pwa-banner-enter{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}}@layer block{@scope(bottom-sheet){:scope{display:contents}.sheet-popover{--_backdrop-bg: oklch(0% 0 0deg / 60%);--_handle-bg: oklch(100% 0 0deg / 20%);--_duration: .16s;--_duration-reduced: .01ms;position:fixed;inset:0;display:block;inline-size:100%;max-inline-size:100%;block-size:100%;max-block-size:100%;margin:0;padding:0;border:none;color:inherit;background:transparent;transition:opacity var(--_duration) ease-out;&::backdrop{background:var(--_backdrop-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity var(--_duration) ease-out}&:not(:popover-open){display:none;opacity:0}&:not(:popover-open)::backdrop{opacity:0}}@starting-style{.sheet-popover:popover-open{opacity:0}.sheet-popover:popover-open::backdrop{opacity:0}}@supports (animation-timeline: scroll()){.sheet-popover{timeline-scope:--sheet-scroll}.scroll-area[data-dismissable=true]{scroll-timeline:--sheet-scroll block}.sheet-popover::backdrop{animation:backdrop-fade linear both;animation-timeline:--sheet-scroll}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}}@keyframes initial-snap{0%,to{--_snap-align: none}}.scroll-area{scrollbar-width:none;scroll-snap-type:y mandatory;overflow-y:auto;overscroll-behavior:none;display:block;block-size:100svh;animation:initial-snap .01s backwards}@supports (-webkit-touch-callout: none){.scroll-area{display:inherit}}.dismiss-zone{scroll-snap-align:var(--_snap-align, start);block-size:100svh}.scroll-area:not([data-dismissable=true]) .dismiss-zone{pointer-events:none;scroll-snap-align:none}.sheet-body{scroll-snap-align:end;contain:layout;overflow-y:auto;max-block-size:90svh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--sheet-bg, var(--color-surface-raised));box-shadow:var(--shadow-sheet);&:focus-visible{outline:none}}.handle-bar{display:flex;justify-content:center;padding-block:var(--space-2xs) var(--space-xs);&:after{content:"";inline-size:2.5rem;block-size:.25rem;border-radius:var(--radius-full);background:var(--_handle-bg)}}@media(prefers-reduced-motion:no-preference){.scroll-area{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){.sheet-popover,.sheet-popover::backdrop{transition-duration:var(--_duration-reduced)}}}}@layer block{@scope(notification-prompt){:scope{--_desc-gap: .125rem}.prompt-row{display:flex;gap:var(--space-xs);align-items:flex-start}.prompt-emoji{flex-shrink:0;font-size:var(--step-2)}.prompt-body{flex:1;min-inline-size:0}.prompt-title{font-family:var(--font-display);font-size:var(--step--1);font-weight:400;color:var(--color-text-primary)}.prompt-desc{margin-block-start:var(--_desc-gap);font-size:var(--step--1);color:var(--color-text-secondary)}footer{display:flex;gap:var(--space-2xs);margin-block-start:var(--space-xs)}}}@layer block{:where(.coach-mark-overlay){--coach-spotlight-outset: -8px;--coach-overlay-shadow: 0 0 0 100vmax color-mix(in oklch, oklch(0% 0 0deg) 70%, transparent);--coach-duration-none: 0s}::view-transition-group(spotlight){animation-duration:var(--transition-slow);animation-timing-function:cubic-bezier(.25,1,.5,1)}.coach-mark-overlay{pointer-events:none;position:fixed;inset:0;margin:0;padding:0;border:none;color:inherit;background:transparent}.visual-spotlight{pointer-events:none;position:fixed;inset:anchor(--coach-target top) anchor(--coach-target right) anchor(--coach-target bottom) anchor(--coach-target left);margin:var(--coach-spotlight-outset);border:2px solid var(--color-brand-accent, oklch(75% .15 160deg));border-radius:var(--spotlight-radius, 12px);box-shadow:var(--coach-overlay-shadow);animation:coach-pulse 1.5s ease-in-out infinite;view-transition-name:spotlight}.target-interceptor{pointer-events:auto;position:fixed;inset:anchor(--coach-target top) anchor(--coach-target right) anchor(--coach-target bottom) anchor(--coach-target left);margin:var(--coach-spotlight-outset);background-color:transparent}.coach-mark-tooltip{pointer-events:none;position:fixed;position-anchor:--coach-target;position-area:block-end;position-try-fallbacks:flip-block;display:flex;flex-direction:column;align-items:start;max-inline-size:min(320px,calc(100dvi - 2 * var(--space-s)));margin-block:var(--space-s) 0;padding:var(--space-s);color:var(--color-white);background:transparent;filter:none}.coach-tooltip-message{margin:0;font-size:var(--step-0);font-weight:500;line-height:var(--leading-relaxed);text-wrap:balance;word-break:auto-phrase}@keyframes coach-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.visual-spotlight{animation:none}::view-transition-group(spotlight){animation-duration:var(--coach-duration-none)}}}@layer block{@scope(fab-menu){:scope{--_sunk: var(--fab-sunk, 0);--_fab-centre: calc( var(--bottom-nav-height, 3.5rem) + env(safe-area-inset-bottom) - var(--_sunk) * var(--bottom-nav-height, 3.5rem) / 2 );--_arc: path("M0 0 C 0 -100, 70 -140, 110 -260");--_arc-left: path("M0 0 C 0 -100, -70 -140, -110 -260");--_item-size: 3rem;--_label-gap: var(--space-3xs);--_duration-reduced: .01ms}.fab-toggle{cursor:pointer;isolation:isolate;position:fixed;inset:auto;inset-block-end:calc(var(--_fab-centre) - var(--fab-size) / 2);inset-inline-start:50%;translate:-50% 0;scale:calc(1 - var(--_sunk) * (1 - var(--fab-sunk-scale)));display:grid;place-items:center;inline-size:var(--fab-size);block-size:var(--fab-size);margin:0;padding:0;border:none;border-radius:var(--fab-radius-collapsed);color:var(--color-white);background:linear-gradient(135deg,var(--color-brand-primary),var(--color-brand-secondary));box-shadow:0 4px 20px color-mix(in oklch,var(--color-brand-primary) 55%,transparent);transition:translate var(--md-spring-spatial-duration) var(--md-spring-spatial),scale var(--md-spring-spatial-duration) var(--md-spring-spatial),transform var(--md-spring-spatial-fast-duration) var(--md-spring-spatial-fast)}.fab-toggle:active{transform:scale(.92)}.fab-toggle:after{pointer-events:none;content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;background:var(--color-white);transition:opacity var(--md-spring-effects-duration) var(--md-spring-effects)}.fab-toggle:hover:after{opacity:var(--fab-state-hover)}.fab-toggle:focus-visible:after{opacity:var(--fab-state-focus)}.fab-toggle:active:after{opacity:var(--fab-state-pressed)}.fab-glyph{display:grid;place-items:center}.fab-equalizer,.fab-close{grid-area:1 / 1;inline-size:var(--fab-icon-size);block-size:var(--fab-icon-size);transition:opacity var(--md-spring-effects-duration) var(--md-spring-effects),rotate var(--md-spring-spatial-fast-duration) var(--md-spring-spatial-fast)}.fab-equalizer{fill:currentcolor;stroke:none}.fab-close{rotate:-90deg;opacity:0;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:2.5}.fab-bar{transform-origin:bottom;transform-box:fill-box}.fab-glyph[data-open=true] .fab-equalizer{rotate:90deg;opacity:0}.fab-glyph[data-open=true] .fab-close{rotate:0deg;opacity:1}.fab-glyph[data-open=true] .fab-bar{animation:fab-bar-bounce var(--md-spring-spatial-fast-duration) var(--md-spring-effects) 1}.fab-glyph[data-open=true] .fab-bar:nth-child(2){animation-delay:40ms}.fab-glyph[data-open=true] .fab-bar:nth-child(3){animation-delay:80ms}@keyframes fab-bar-bounce{0%,to{scale:1 1}40%{scale:1 1.35}70%{scale:1 .7}}.fab-panel{position:fixed;inset:auto;inset-block-end:var(--_fab-centre);inset-inline-start:50%;overflow:visible;inline-size:0;block-size:0;margin:0;padding:0;border:none;color:var(--color-text-primary);background:transparent;transition:display var(--md-spring-spatial-duration) allow-discrete,overlay var(--md-spring-spatial-duration) allow-discrete}.fab-scrim{position:fixed;inset:0;background:transparent;transition:background var(--md-spring-effects-duration) var(--md-spring-effects)}.fab-panel:popover-open .fab-scrim{background:var(--md-color-scrim);@starting-style{background:transparent}}.fab-list{position:absolute;inset:0;margin:0;padding:0;list-style:none}.fab-list-item{--_place: calc((var(--i) + 1) / max(var(--n), 4) * 92%);position:absolute;inset-block-start:0;inset-inline-start:0;offset-path:var(--_arc);offset-distance:0%;offset-rotate:0deg;opacity:0;transition:offset-distance var(--md-spring-spatial-duration) var(--md-spring-spatial),opacity var(--md-spring-effects-duration) var(--md-spring-effects);transition-delay:calc(var(--i) * 40ms);offset-anchor:center}.fab-panel:popover-open .fab-list-item{offset-distance:var(--_place);opacity:1;@starting-style{offset-distance:0%;opacity:0}}.fab-item{cursor:pointer;isolation:isolate;position:relative;display:grid;place-items:center;inline-size:var(--_item-size);block-size:var(--_item-size);padding:0;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--step--1);font-weight:500;color:var(--color-text-primary);background:var(--md-color-menu-surface);box-shadow:var(--shadow-soft)}.fab-item-icon{flex-shrink:0}.fab-item-label{position:absolute;inset-block-start:50%;inset-inline-end:calc(100% + var(--_label-gap));translate:0 -50%;inline-size:max-content;max-inline-size:7.5rem;padding-block:var(--space-3xs);padding-inline:var(--space-2xs);border-radius:var(--radius-sm);line-height:var(--leading-tight);color:var(--color-text-primary);text-align:end;background:var(--md-color-menu-surface);box-shadow:var(--shadow-soft)}.fab-item:after{pointer-events:none;content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;background:currentcolor;transition:opacity var(--md-spring-effects-duration) var(--md-spring-effects)}.fab-item:hover:after{opacity:var(--fab-state-hover)}.fab-item:focus-visible:after{opacity:var(--fab-state-focus)}.fab-item:active:after{opacity:var(--fab-state-pressed)}.fab-item[aria-pressed=true],.fab-item[data-active=true]{color:var(--md-color-on-primary-container);background:var(--md-color-primary-container)}.fab-panel[data-handed=left] .fab-list-item{offset-path:var(--_arc-left)}.fab-panel[data-handed=left] .fab-item-label{inset-inline:calc(100% + var(--_label-gap)) auto;text-align:start}@media(prefers-reduced-motion:reduce){.fab-toggle,.fab-equalizer,.fab-close,.fab-panel,.fab-scrim,.fab-list-item,.fab-item:after,.fab-toggle:after{transition-delay:0ms;transition-duration:var(--_duration-reduced)}.fab-glyph[data-open=true] .fab-bar{animation:none}}}}@layer block{@scope(add-passkey-prompt){.add-passkey-prompt{--stack-gap: var(--space-xs);padding:var(--space-s)}.add-passkey-prompt-title{font-size:var(--step-1);font-weight:600;color:var(--color-text-primary)}.add-passkey-prompt-body{font-size:var(--step--1);line-height:var(--leading-relaxed);color:var(--color-text-secondary);text-wrap:pretty}}}@layer block{@scope(artist-filter-bar){:scope{display:contents}.filter-sheet-content{display:flex;flex-direction:column;gap:var(--space-s);padding-block:var(--space-s) var(--space-m);padding-inline:var(--space-m)}.sheet-header{display:flex;align-items:center;justify-content:space-between}.sheet-title{font-family:var(--font-display);font-size:var(--step-0);font-weight:400;color:var(--color-text-primary)}.filter-facet{display:flex;flex-direction:column;gap:var(--space-2xs)}.filter-facet+.filter-facet{padding-block-start:var(--space-s);border-block-start:1px solid color-mix(in oklch,var(--color-white) 8%,transparent)}.facet-heading{font-size:var(--step--1);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.artists-list{overflow-y:auto;display:flex;flex-wrap:wrap;gap:var(--space-2xs);max-block-size:40dvh;margin:0;padding:0;list-style:none}.artist-count{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.artist-chip:has(input:checked) .artist-count{color:var(--color-text-primary)}.artist-chip{cursor:pointer;display:flex;gap:var(--space-3xs);align-items:center;padding:var(--space-3xs) var(--space-s);border:1px solid var(--color-border-muted);border-radius:var(--radius-full);font-size:var(--step--1);color:var(--color-text-secondary);background:var(--color-surface-raised);transition:border-color var(--md-duration-short4) var(--md-easing-standard),background var(--md-duration-short4) var(--md-easing-standard),color var(--md-duration-short4) var(--md-easing-standard);&:hover{border-color:color-mix(in oklch,var(--color-brand-primary) 40%,transparent)}&:focus-within{outline:2px solid var(--color-brand-primary);outline-offset:2px}&:has(input:checked){border-color:var(--color-brand-primary);color:var(--color-text-primary);background:color-mix(in oklch,var(--color-brand-primary) 18%,var(--color-surface-raised))}}.journey-list{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.journey-list-break{flex-basis:100%;block-size:0}.journey-chip{cursor:pointer;display:flex;gap:var(--space-3xs);align-items:center;padding:var(--space-3xs) var(--space-s);border:1px solid var(--color-border-muted);border-radius:var(--radius-full);font-size:var(--step--1);color:var(--color-text-secondary);background:var(--color-surface-raised);transition:border-color var(--md-duration-short4) var(--md-easing-standard),background var(--md-duration-short4) var(--md-easing-standard),color var(--md-duration-short4) var(--md-easing-standard);&[data-journey-status=tracking]{--_hue: var(--journey-hue-tracking)}&[data-journey-status=applied]{--_hue: var(--journey-hue-applied)}&[data-journey-status=unpaid]{--_hue: var(--journey-hue-unpaid)}&[data-journey-status=paid]{--_hue: var(--journey-hue-paid)}&[data-journey-status=lost]{--_hue: var(--journey-hue-lost)}&:hover{border-color:oklch(65% .14 var(--_hue) / 60%)}&:focus-within{outline:2px solid var(--color-brand-primary);outline-offset:2px}&:has(input:checked){border-color:oklch(65% .16 var(--_hue));color:var(--color-white);background:oklch(58% .16 var(--_hue))}}.journey-chip-icon{line-height:var(--leading-none)}.date-facet-toggle{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0;border:none;background:transparent;&:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}}.date-facet-caret{color:var(--color-text-muted);transition:transform var(--transition-fast);&[data-expanded=true]{transform:rotate(90deg)}}.date-facet-field{display:flex;flex-direction:column;gap:var(--space-3xs);padding-block-start:var(--space-2xs)}.date-field-label{font-size:var(--step--1);color:var(--color-text-secondary)}.date-field-input{padding:var(--space-3xs) var(--space-s);border:1px solid var(--color-border-muted);border-radius:var(--radius-button);font-size:var(--step--1);color:var(--color-text-primary);background:var(--color-surface-raised);&:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}}.confirm-row{display:flex;justify-content:flex-end}}}@layer block{@scope(bottom-nav-bar){:scope{--_tab-gap: .125rem;--_safe-area-bottom: env(safe-area-inset-bottom)}.nav-bar{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,7.5rem)) var(--fab-slot) repeat(2,minmax(0,7.5rem));align-items:center;justify-content:center;block-size:var(--bottom-nav-height);padding-block-end:var(--_safe-area-bottom);background:var(--color-surface-raised);&:before{content:"";position:absolute;inset-block-start:0;inset-inline:0;block-size:1px;background-image:linear-gradient(to right,var(--color-brand-primary),var(--color-brand-secondary),var(--color-brand-accent))}}.nav-tab{position:relative;display:flex;flex-direction:column;gap:var(--_tab-gap);align-items:center;justify-content:center;block-size:100%;transition:color var(--md-duration-medium1) var(--md-spring-effects),box-shadow var(--md-duration-medium1) var(--md-spring-effects),border-radius var(--md-spring-spatial-duration) var(--md-spring-spatial),transform var(--md-duration-medium1) var(--md-easing-standard)}.nav-bar[data-notch=true]{-webkit-mask:radial-gradient(circle var(--fab-notch-radius) at 50% 0,transparent 98%,var(--color-white));mask:radial-gradient(circle var(--fab-notch-radius) at 50% 0,transparent 98%,var(--color-white))}.nav-tab:nth-child(3){grid-column-start:4}.nav-tab:active{transform:scale(.92);transition:transform 50ms ease-in}.nav-icon{inline-size:1.25rem;block-size:1.25rem}.nav-label{font-size:var(--step--2);font-weight:500;line-height:var(--leading-none)}.nav-tab[data-active=true]{border-radius:var(--md-shape-large-increased);color:var(--color-brand-accent);background:color-mix(in oklab,var(--color-brand-accent) var(--md-state-selected),transparent);box-shadow:inset 0 2px 8px oklch(from var(--color-brand-accent) l c h / 20%);&:before{content:"";position:absolute;inset-block-start:0;inset-inline:25%;block-size:2px;border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--color-brand-accent)}.nav-label{font-weight:700}}.nav-tab[data-active=false]{color:var(--color-text-muted)}.nav-tab[data-dimmed]{opacity:.3;transition:opacity var(--transition-normal)}@media(prefers-reduced-motion:reduce){.nav-tab{transition-duration:var(--md-duration-instant)}.nav-tab:active{transform:none;background:oklch(from var(--color-brand-accent) l c h / 12%)}}}}@layer block{@scope(celebration-overlay){:scope{--_scrim: oklch(0% 0 0deg / 18%);--_lens-core: oklch(0% 0 0deg / 72%);--_lens-mid: oklch(0% 0 0deg / 40%);--_halo: oklch(72% .26 294deg / 26%);--_glow-a: oklch(70.9% .159 294deg / 60%);--_glow-b: oklch(58.5% .204 277deg / 30%);--_text-contrast: oklch(0% 0 0deg / 85%);--_text-outline: oklch(0% 0 0deg / 95%);--_confetti-radius: 2px;--_c1: oklch(70% .2 30deg);--_c2: oklch(75% .15 160deg);--_c3: oklch(70% .2 277deg);--_c4: oklch(80% .18 90deg);--_c5: oklch(75% .2 200deg);--_c6: oklch(70% .15 340deg);--_c7: oklch(80% .2 60deg);--_c8: oklch(70% .18 294deg);--_c9: oklch(75% .2 120deg);--_c10: oklch(70% .15 20deg)}.celebration-overlay{position:fixed;inset:0;display:grid;row-gap:var(--space-s);place-items:center;align-content:center;background:var(--_scrim);transition:opacity .4s ease;&[data-state=hidden]{display:none}&[data-state=exiting]{opacity:0}}.celebration-overlay:before{pointer-events:none;content:"";position:absolute;inset:0;background:radial-gradient(ellipse 78% 24% at 50% 47%,var(--_lens-core) 0%,var(--_lens-mid) 52%,transparent 80%),radial-gradient(ellipse 64% 32% at 50% 47%,var(--_halo) 0%,transparent 72%)}.celebration-text{isolation:isolate;position:relative;margin:0;padding:0 var(--space-l);font-family:var(--font-display);font-size:var(--step-4);font-weight:700;line-height:var(--leading-snug);color:var(--color-white);text-align:center;text-shadow:0 2px 8px var(--_text-contrast),0 0 24px var(--_glow-a),0 0 48px var(--_glow-a),0 0 80px var(--_glow-b);text-wrap:balance;word-break:auto-phrase;animation:text-enter .6s var(--md-easing-emphasized-decelerate) both}.celebration-sub-text{isolation:isolate;position:relative;margin:0;padding:0 var(--space-l);font-family:var(--font-display);font-size:var(--step-0);font-weight:400;line-height:var(--leading-relaxed);color:oklch(from var(--color-white) l c h / 85%);text-align:center;text-shadow:0 0 2px var(--_text-outline),0 0 2px var(--_text-outline),0 1px 5px var(--_text-contrast);animation:text-enter .6s var(--md-easing-emphasized-decelerate) .2s both}@keyframes text-enter{0%{transform:scale(.8) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.confetti-container{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti{position:absolute;inset-block-start:-10px;inline-size:8px;block-size:8px;border-radius:var(--_confetti-radius);opacity:0;animation:confetti-fall 2.5s ease-in forwards}.confetti:nth-child(1){inset-inline-start:5%;background:var(--_c1);animation-delay:0ms}.confetti:nth-child(2){inset-inline-start:12%;background:var(--_c2);animation-delay:80ms}.confetti:nth-child(3){inset-inline-start:20%;background:var(--_c3);animation-delay:.15s}.confetti:nth-child(4){inset-inline-start:28%;background:var(--_c4);animation-delay:50ms}.confetti:nth-child(5){inset-inline-start:35%;background:var(--_c5);animation-delay:.2s}.confetti:nth-child(6){inset-inline-start:42%;background:var(--_c6);animation-delay:.12s}.confetti:nth-child(7){inset-inline-start:50%;background:var(--_c7);animation-delay:30ms}.confetti:nth-child(8){inset-inline-start:57%;background:var(--_c8);animation-delay:.18s}.confetti:nth-child(9){inset-inline-start:65%;background:var(--_c9);animation-delay:.1s}.confetti:nth-child(10){inset-inline-start:72%;background:var(--_c10);animation-delay:.25s}.confetti:nth-child(11){inset-inline-start:80%;background:var(--_c7);animation-delay:60ms}.confetti:nth-child(12){inset-inline-start:88%;background:var(--_c2);animation-delay:.14s}.confetti:nth-child(13){inset-inline-start:95%;background:var(--_c1);animation-delay:.22s}.confetti:nth-child(14){inset-inline-start:8%;background:var(--_c6);animation-delay:.3s}.confetti:nth-child(15){inset-inline-start:16%;background:var(--_c9);animation-delay:.26s}.confetti:nth-child(16){inset-inline-start:24%;background:var(--_c4);animation-delay:.34s}.confetti:nth-child(17){inset-inline-start:32%;background:var(--_c3);animation-delay:.19s}.confetti:nth-child(18){inset-inline-start:40%;background:var(--_c10);animation-delay:.38s}.confetti:nth-child(19){inset-inline-start:48%;background:var(--_c5);animation-delay:.31s}.confetti:nth-child(20){inset-inline-start:55%;background:var(--_c8);animation-delay:.16s}.confetti:nth-child(21){inset-inline-start:63%;background:var(--_c9);animation-delay:.4s}.confetti:nth-child(22){inset-inline-start:70%;background:var(--_c7);animation-delay:.27s}.confetti:nth-child(23){inset-inline-start:78%;background:var(--_c1);animation-delay:.35s}.confetti:nth-child(24){inset-inline-start:85%;background:var(--_c8);animation-delay:.42s}.confetti:nth-child(25){inset-inline-start:92%;background:var(--_c9);animation-delay:.29s}.confetti:nth-child(26){inset-inline-start:3%;background:var(--_c4);animation-delay:.45s}.confetti:nth-child(27){inset-inline-start:38%;background:var(--_c5);animation-delay:.36s}.confetti:nth-child(28){inset-inline-start:53%;background:var(--_c6);animation-delay:.48s}.confetti:nth-child(29){inset-inline-start:68%;background:var(--_c9);animation-delay:.33s}.confetti:nth-child(30){inset-inline-start:83%;background:var(--_c3);animation-delay:.5s}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.celebration-text,.celebration-sub-text{animation:none}}}}@layer block{@scope(inline-error){.inline-error-layout{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-s);text-align:center}.inline-error-icon{inline-size:2.5rem;block-size:2.5rem;margin-block-end:var(--space-xs);color:var(--color-text-muted)}.inline-error-message{margin-block-end:var(--space-s);font-size:var(--step--1);color:var(--color-text-secondary)}}}@layer block{@scope(legal-document){:scope{display:block;max-inline-size:70ch;margin-inline:auto;padding:var(--space-s);padding-block-end:var(--space-2xl);color:var(--color-text-secondary)}.legal-title{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;color:var(--color-text-primary)}.legal-updated{font-size:var(--step--2);color:var(--color-text-secondary)}.legal-intro{font-size:var(--step-0)}.legal-section-heading{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;color:var(--color-text-primary)}.legal-section-body{line-height:var(--leading-relaxed)}}}@layer block{@scope(concert-highway){--_border-light: oklch(100% 0 0deg / 10%);--_border-faint: oklch(100% 0 0deg / 5%);--_muted-faint: oklch(from var(--color-text-muted) l c h / 30%);:scope{--_lane-columns: 1fr 1fr 1fr;position:relative;display:grid;grid-template:"stage-home stage-near stage-away" auto "lane-home  lane-near  lane-away" minmax(0,1fr) / var(--_lane-columns);block-size:100%;min-block-size:0}:scope:has([data-hide-away=true]){--_lane-columns: 1fr 1fr 0}.concert-grid-wrapper{display:contents}.stage-header{position:relative;display:grid;grid-column:stage-home / stage-away;grid-template-columns:subgrid;>span{padding:var(--space-2xs);font-family:var(--font-display);font-size:var(--step--1);font-weight:400;text-align:center;text-transform:uppercase;letter-spacing:.05em}>span:not(:last-child){border-inline-end:1px solid var(--_border-light)}>[data-stage=home]{color:var(--color-surface-base);background:var(--color-stage-home)}>[data-stage=near]{color:var(--color-surface-base);background:var(--color-stage-near)}>[data-stage=away]{color:var(--color-surface-base);background:var(--color-stage-away)}}.concert-scroll{position:relative;overflow-block:auto;overflow-inline:hidden;overscroll-behavior:contain;overflow-anchor:none;display:grid;grid-column:lane-home / lane-away;grid-template-columns:subgrid;min-block-size:0;list-style:none;>.date-group:not(.date-group-skeleton){display:grid;grid-column:1 / -1;grid-template-columns:var(--_lane-columns)}}.window-edge{grid-column:1 / -1;block-size:0}.date-group-skeleton{display:grid;grid-column:1 / -1;grid-template-columns:var(--_lane-columns)}.skeleton-date{display:block;inline-size:8ch;block-size:var(--step-0)}.skeleton-card{display:block;block-size:44px;margin-block-end:var(--space-2xs);border-radius:var(--radius-card)}.month-separator{display:flex;grid-column:1 / -1;gap:var(--space-s);align-items:center;padding-block:var(--space-m) var(--space-2xs);padding-inline:var(--space-xs);font-size:var(--step--2);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;&:before,&:after{content:"";flex:1;block-size:1px;background:var(--_border-faint)}}.date-separator{position:sticky;inset-block-start:0;grid-column:1 / -1;padding:var(--space-2xs) var(--space-xs);border-block-end:1px solid var(--_border-light);background:linear-gradient(to right,oklch(from var(--color-stage-home) l c h / 10%),oklch(from var(--color-stage-near) l c h / 10%),oklch(from var(--color-stage-away) l c h / 10%));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);& time{font-family:var(--font-display);font-size:var(--step-0);font-weight:400;color:var(--color-brand-accent);text-transform:uppercase;letter-spacing:.05em}}.lane-grid{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;list-style:none}.lane{container-name:lane;container-type:inline-size;padding:var(--space-2xs);&:not(:last-child){border-inline-end:1px solid var(--_border-faint)}&[data-lane=home]{border-block-start:2px solid oklch(from var(--color-stage-home) l c h / 40%)}&[data-lane=near]{border-block-start:2px solid oklch(from var(--color-stage-near) l c h / 40%)}&[data-lane=away]{border-block-start:2px solid oklch(from var(--color-stage-away) l c h / 40%)}&[data-empty=true]:after{content:"—";display:block;padding-block:var(--space-s);font-size:var(--step--1);color:var(--_muted-faint);text-align:center}}.beam-overlay{pointer-events:none;position:absolute;grid-row:lane-home / lane-away;grid-column:lane-home / lane-away;inset:0}.laser-beam{position:absolute;inset-block-start:0;inset-inline:0;block-size:100%;transform-origin:top;transform:scaleY(0);background:linear-gradient(to bottom,oklch(70% .15 var(--beam-hue, 180) / 12%),oklch(60% .1 var(--beam-hue, 180) / 7%) 60%,oklch(50% .08 var(--beam-hue, 180) / 3%));clip-path:polygon(0% 0%,var(--beam-left, 34%) 100%,var(--beam-right, 66%) 100%);filter:drop-shadow(0 0 4px oklch(85% .3 var(--beam-hue, 180) / 55%)) drop-shadow(0 0 12px oklch(75% .25 var(--beam-hue, 180) / 28%)) drop-shadow(0 0 28px oklch(65% .2 var(--beam-hue, 180) / 10%));-webkit-mask-image:linear-gradient(to bottom,black 65%,transparent);mask-image:linear-gradient(to bottom,black 65%,transparent)}.laser-beam:before,.laser-beam:after{pointer-events:none;content:"";position:absolute;inset:0;background:oklch(85% .25 var(--beam-hue, 180) / 25%)}.laser-beam:before{clip-path:polygon(0% 0%,4px 0%,calc(var(--beam-left, 34%) + 4px) 100%,var(--beam-left, 34%) 100%)}.laser-beam:after{clip-path:polygon(0% 0%,4px 0%,var(--beam-right, 66%) 100%,calc(var(--beam-right, 66%) - 4px) 100%)}@supports ((animation-timeline: view()) and (animation-range: entry)){@media(prefers-reduced-motion:no-preference){.laser-beam{animation:beam-length auto linear;animation-range:cover 0% contain 100%}}}@media(prefers-reduced-motion:reduce){.laser-beam{animation:none}}@keyframes beam-length{0%{transform:scaleY(1)}to{transform:scaleY(0)}}}}@layer block{@scope(concert-highway){[data-beams] [data-matched][data-beam-name]{view-timeline:attr(data-beam-name type(<custom-ident>)) block}}}@layer block{@scope(event-card){:scope{--_label-color: oklch(100% 0 0deg / 70%);--_drop-shadow: oklch(0% 0 0deg / 30%);--_noise-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E")}.event-card{cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;padding:var(--space-xs);border-radius:var(--radius-card);transition:transform .2s ease-out;&:active{transform:scale(.97)}&[data-lane=home]{margin-block-end:var(--space-2xs)}&[data-lane=nearby],&[data-lane=away]{margin-block-end:var(--space-3xs);padding:var(--space-2xs);border-radius:var(--radius-button)}}.artist-logo{inline-size:100%;max-block-size:25cqi;object-fit:contain;filter:drop-shadow(0 2px 4px var(--_drop-shadow))}.artist-name{font-family:var(--font-display);font-size:clamp(14px,8cqi,32px);font-weight:400;line-height:var(--leading-snug);color:var(--color-white);overflow-wrap:break-word;filter:drop-shadow(0 2px 4px var(--_drop-shadow))}.location-label{margin-block-start:var(--space-3xs);font-size:var(--step--1);color:var(--_label-color)}.journey-badge{position:absolute;inset-block-start:var(--space-3xs);inset-inline-end:var(--space-3xs);translate:40% -40%;font-size:var(--step--1);line-height:var(--leading-none)}.event-card[data-matched]{--_spot-white: oklch(98% .05 var(--artist-hue));--_spot-bright: oklch(80% .4 var(--artist-hue));--_spot-mid: oklch(65% .3 var(--artist-hue));--_spot-dim: oklch(55% .2 var(--artist-hue));--_spot-glow: oklch(75% .4 var(--artist-hue) / 50%);border:2px solid var(--_spot-bright);background:linear-gradient(135deg,oklch(62% .3 var(--artist-hue)),oklch(62% .3 calc(var(--artist-hue) + 40)));box-shadow:0 -8px 20px var(--_spot-bright),0 -4px 40px var(--_spot-glow),0 0 15px var(--_spot-bright),0 0 40px var(--_spot-glow),0 0 80px oklch(60% .3 var(--artist-hue) / 25%),inset 0 4px 30px var(--_spot-mid)}.event-card[data-matched]:before{pointer-events:none;content:"";position:absolute;inset-block-start:0;inset-inline:0;block-size:100%;background:linear-gradient(to bottom,oklch(95% .1 var(--artist-hue) / 80%) 0%,oklch(80% .2 var(--artist-hue) / 40%) 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 30% 100% at 50% 0%,black 0%,transparent 100%);mask-image:radial-gradient(ellipse 30% 100% at 50% 0%,black 0%,transparent 100%)}.event-card[data-matched] .artist-logo{filter:drop-shadow(0 0 6px var(--_spot-bright)) drop-shadow(0 0 14px var(--_spot-glow)) drop-shadow(0 0 28px var(--_spot-dim))}.event-card[data-matched] .artist-name{text-shadow:0 0 6px var(--_spot-bright),0 0 14px var(--_spot-glow),0 0 28px var(--_spot-dim)}.event-card:not([data-matched]){border:1px solid oklch(100% 0 0deg / 12%);background:linear-gradient(135deg,oklch(75% .3 var(--artist-hue)),oklch(75% .3 calc(var(--artist-hue) + 40)))}.event-card:not([data-matched]):after{pointer-events:none;content:"";position:absolute;inset:0;border-radius:inherit;opacity:.08;background-image:var(--_noise-url);background-size:200px 200px}.event-card[data-matched]:after,.event-card:not([data-matched]):before{pointer-events:none;content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;background:var(--color-white);transition:opacity var(--md-duration-short3) var(--md-easing-standard)}.event-card[data-matched]:active:after,.event-card:not([data-matched]):active:before{opacity:var(--md-state-pressed)}@media(prefers-reduced-motion:reduce){.event-card,.event-card[data-matched]:after,.event-card:not([data-matched]):before{transition:none}}@container (min-width: 320px){.event-card-responsive{min-block-size:120px;padding:var(--space-s)}}@container (min-width: 480px){.event-card-responsive{min-block-size:140px;padding:var(--space-m)}.event-card-responsive .event-card-title{font-size:var(--step-3)}}@supports not (container-type: inline-size){.event-card-responsive{min-block-size:120px;padding:var(--space-s)}}}}@layer block{@scope(event-detail-sheet){:scope{--_event-title-color: oklch(100% 0 0deg / 80%);--_border-light: oklch(100% 0 0deg / 20%);--_border-light-hover: oklch(100% 0 0deg / 40%);--_bg-hover: oklch(100% 0 0deg / 5%)}.sheet-content{padding-block-end:var(--space-l);padding-inline:var(--space-m)}.sheet-hero{position:relative;overflow:hidden;margin-block-end:var(--space-s);margin-inline:calc(-1 * var(--space-m))}.sheet-hero img{display:block;aspect-ratio:16 / 9;inline-size:100%;object-fit:cover}.sheet-hero:after{content:"";position:absolute;inset-block-end:0;inset-inline:0;block-size:30%;background:linear-gradient(to top,var(--color-surface-raised),transparent)}.sheet-artist-header{margin-block-end:var(--space-s);padding:var(--space-s);border-radius:var(--radius-card)}.sheet-artist-name{font-family:var(--font-display);font-size:var(--step-2);font-weight:400;line-height:var(--leading-snug);color:var(--color-white)}.sheet-event-title{margin-block-start:var(--space-3xs);font-size:var(--step--1);color:var(--_event-title-color)}.sheet-details{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-row{display:flex;gap:var(--space-2xs);align-items:start}.detail-icon{margin-block-start:var(--space-3xs);color:var(--color-text-muted)}.detail-primary{font-weight:500;color:var(--color-text-primary)}.detail-secondary{font-size:var(--step--1);color:var(--color-text-secondary)}.detail-link{font-size:var(--step--1);color:var(--color-brand-accent);&:hover{text-decoration:underline}}.sheet-journey{margin-block-start:var(--space-s);padding-block-start:var(--space-s);border-block-start:1px solid var(--_border-light)}.journey-heading{margin-block-end:var(--space-2xs);font-size:var(--step--1);font-weight:500;color:var(--color-text-secondary)}.journey{display:flex;flex-direction:column;gap:var(--space-xs)}.journey-phase{display:flex;flex-direction:column;gap:var(--space-3xs)}.journey-phase-label{display:flex;gap:var(--space-2xs);align-items:baseline;font-size:var(--step--2);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.journey-pending-tag{font-size:var(--step--2);color:var(--color-text-muted);text-transform:none;letter-spacing:normal;opacity:.85}.journey-process{display:flex;gap:var(--space-3xs);align-items:stretch}.journey-outcome{display:flex;flex-wrap:wrap;gap:var(--space-2xs);align-items:center}.journey-phase[data-pending] .journey-outcome{opacity:.55}.journey-route{display:flex;flex:1 1 auto;gap:var(--space-3xs);align-items:center}.journey-route-success{flex-grow:2}.journey-route+.journey-route{padding-inline-start:var(--space-2xs);border-inline-start:1px solid var(--_border-light)}.journey-route[data-dimmed]{opacity:.4}.journey-route-label{display:none}.journey-arrow{align-self:center;margin-inline:var(--space-2xs);font-size:var(--step-0);color:var(--color-text-muted);&:before{content:"›"}}.journey-node{display:inline-flex;flex:1 1 auto;gap:var(--space-3xs);align-items:center;justify-content:center;min-block-size:2.75rem;padding-block:var(--space-3xs);padding-inline:var(--space-2xs);border:1px solid var(--_border-light);border-radius:var(--radius-button);font-size:var(--step--1);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out;&:disabled{opacity:.5}&:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}}.journey-node:not([data-state=current]):hover:not(:disabled){border-color:var(--_border-light-hover);color:var(--color-text-primary);background:var(--_bg-hover)}.journey-node-cue{font-size:var(--step-0);line-height:var(--leading-none)}.journey-node[data-state=completed]{border-color:var(--_node-faint);color:var(--color-text-muted)}.journey-node[data-state=current]{border-color:var(--_node-fill);font-weight:700;color:var(--_node-on);background:var(--_node-fill)}.journey-node[data-journey-status=tracking],.journey-node[data-journey-status=applied]{--_node-fill: oklch(56% .14 var(--journey-hue-tracking));--_node-on: oklch(98% .02 var(--journey-hue-tracking));--_node-faint: oklch(62% .08 var(--journey-hue-tracking) / 45%)}.journey-node[data-journey-status=unpaid]{--_node-fill: oklch(72% .16 var(--journey-hue-unpaid));--_node-on: oklch(25% .05 var(--journey-hue-unpaid));--_node-faint: oklch(72% .1 var(--journey-hue-unpaid) / 45%)}.journey-node[data-journey-status=paid]{--_node-fill: oklch(58% .15 var(--journey-hue-paid));--_node-on: oklch(98% .02 var(--journey-hue-paid));--_node-faint: oklch(62% .09 var(--journey-hue-paid) / 45%)}.journey-node[data-journey-status=lost]{--_node-fill: oklch(52% .16 var(--journey-hue-lost));--_node-on: oklch(98% .02 var(--journey-hue-lost));--_node-faint: oklch(58% .09 var(--journey-hue-lost) / 45%)}.journey-remove{margin-block-start:var(--space-2xs)}.sheet-follow{display:flex;justify-content:center;margin-block-start:var(--space-m)}.follow-action{inline-size:100%}.follow-state{display:flex;gap:var(--space-3xs);align-items:center;justify-content:center;inline-size:100%;margin:0;padding-block:var(--space-2xs);font-size:var(--step--1);font-weight:600;color:var(--color-brand-primary)}.sheet-actions-hint{display:flex;gap:var(--space-3xs);align-items:center;justify-content:center;margin-block-start:var(--space-m);padding:var(--space-2xs) var(--space-s);border:1px solid oklch(from var(--color-brand-accent) l c h / 35%);border-radius:var(--radius-button);font-size:var(--step--1);font-weight:500;color:var(--color-brand-accent);text-align:center;text-wrap:balance;word-break:auto-phrase;background:oklch(from var(--color-brand-accent) l c h / 10%);animation:fade-slide-up .4s .2s ease-out both}.sheet-actions{display:flex;flex-direction:column;gap:var(--space-2xs);margin-block-start:var(--space-s)}@media(prefers-reduced-motion:reduce){.journey-node{transition:none}}}}@layer block{@scope(notification-mock-card){:scope{--_notif-surface: oklch(96% .004 250deg);--_notif-title: oklch(24% .02 265deg);--_notif-body: oklch(42% .02 265deg);--_notif-meta: oklch(55% .02 265deg)}.notification-mock-card{display:flex;gap:var(--space-xs);align-items:start;max-inline-size:30rem;padding:var(--space-s);border-radius:var(--radius-card);background:var(--_notif-surface);box-shadow:var(--shadow-card-glow)}.notification-mock-icon{flex-shrink:0;inline-size:40px;block-size:40px;border-radius:var(--radius-button)}.notification-mock-body{display:flex;flex-direction:column;gap:var(--space-3xs);min-inline-size:0}.notification-mock-header{display:flex;gap:var(--space-3xs);align-items:center;font-size:var(--step--1);color:var(--_notif-meta)}.notification-mock-app{font-weight:600}.notification-mock-title{font-size:var(--step-0);font-weight:700;color:var(--_notif-title);line-height:var(--leading-snug)}.notification-mock-text{font-size:var(--step--1);color:var(--_notif-body);line-height:var(--leading-snug)}}}@layer block{@scope(page-header){:scope{grid-area:header}header{display:flex;gap:var(--space-3xs);align-items:center;padding-block:var(--space-xs);padding-inline:var(--space-xs);border-block-end:1px solid color-mix(in oklch,var(--color-white) 10%,transparent);background:linear-gradient(to right,var(--color-surface-raised),oklch(from var(--color-brand-primary) l c h / 8%));& h1{flex:1;font-family:var(--font-display);font-size:var(--step-2);font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}}.page-header-settings{display:inline-grid;flex-shrink:0;place-items:center;inline-size:3rem;block-size:3rem;margin-block:calc(-1 * var(--space-2xs));border-radius:var(--md-shape-full);color:var(--color-text-secondary)}@media(max-height:700px)and (not (min-width:390px)){header{padding-block:var(--space-2xs)}}}}@layer block{@scope(page-help){:scope{--_white-8: oklch(100% 0 0deg / 8%);--_white-15: oklch(100% 0 0deg / 15%);--_white-70: oklch(100% 0 0deg / 70%)}bottom-sheet{--sheet-bg: var(--color-surface-overlay)}.page-help-content{padding:var(--space-m) var(--space-s) var(--space-l)}.page-help-content+.page-help-content{padding-block-start:var(--space-2xs)}.page-help-header{display:flex;gap:var(--space-2xs);align-items:center;margin-block-end:var(--space-s);padding-block-end:var(--space-xs);border-block-end:1px solid var(--color-border-subtle)}.page-help-icon{display:inline-flex;flex-shrink:0;color:var(--color-brand-accent)}.help-section-title{margin:0;font-family:var(--font-display);font-size:var(--step-1);font-weight:700}.page-help-desc{margin-block-end:var(--space-s);line-height:var(--leading-relaxed);color:var(--color-text-primary)}.page-help-tips{display:flex;flex-direction:column;gap:var(--space-2xs);margin-block-start:var(--space-s);padding:0;color:var(--color-text-secondary);list-style:none}.page-help-tips li{display:flex;gap:var(--space-2xs);align-items:flex-start}.page-help-tips li:before{content:"▸";flex-shrink:0;font-weight:700;color:var(--color-brand-accent)}.page-help-chip-demo{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin-block:var(--space-xs) var(--space-s)}.page-help-chip{padding:var(--space-3xs) var(--space-xs);border:1px solid var(--_white-15);border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--step--1);font-weight:500;color:var(--_white-70);white-space:nowrap;background:var(--_white-8)}.page-help-chip[data-active]{border-color:var(--color-brand-accent);color:var(--color-text-primary);background:oklch(from var(--color-brand-accent) l c h / 18%)}.page-help-lanes{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2xs) var(--space-s);margin-block:var(--space-s);padding:var(--space-s);border-radius:var(--radius-card);background:oklch(from var(--color-surface-overlay) calc(l + .04) c h)}.page-help-lanes dt{font-weight:700}.page-help-lanes dd{margin:0}.stage-home{color:var(--color-stage-home)}.stage-near{color:var(--color-stage-near)}.stage-away{color:var(--color-stage-away)}.help-hype-grid{display:grid;grid-template-columns:auto auto 1fr;gap:var(--space-xs) var(--space-s);margin-block:var(--space-s);padding:var(--space-s);border-radius:var(--radius-card);list-style:none;background:oklch(from var(--color-surface-overlay) calc(l + .04) c h)}.help-hype-row{display:contents}.help-hype-icon{align-self:center;font-size:var(--step-0);line-height:var(--leading-none);text-align:center;white-space:nowrap}.help-hype-label{align-self:center;font-family:var(--font-display);font-weight:700;white-space:nowrap}.help-hype-desc{align-self:center;margin:0;color:var(--color-text-secondary)}.page-help-note{margin-block-start:var(--space-s);font-size:var(--step--1);color:var(--color-text-muted)}}}@layer block{@scope(post-signup-dialog){.post-signup-content{padding:var(--space-m) var(--space-s) var(--space-l)}.post-signup-title{margin-block-end:var(--space-2xs);font-size:var(--step-1);font-weight:700}.post-signup-subtitle{margin-block-end:var(--space-m);font-size:var(--step-0);color:var(--color-text-secondary)}.post-signup-row{display:flex;gap:var(--space-xs);align-items:flex-start;padding-block:var(--space-xs);border-block-start:1px solid var(--color-border-subtle)}.post-signup-row-icon{flex-shrink:0;font-size:var(--step-1)}.post-signup-row-body{display:flex;flex:1;flex-direction:column;gap:var(--space-2xs)}.post-signup-row-label{font-size:var(--step-0)}.post-signup-action{align-self:flex-start}.post-signup-error{font-size:var(--step--1);color:var(--color-error)}.post-signup-install-guide summary{list-style:none}.post-signup-install-steps{margin-block:var(--space-2xs) 0;padding-inline-start:var(--space-m);font-size:var(--step-0);line-height:var(--leading-relaxed);list-style:decimal}.post-signup-footer{display:flex;justify-content:center;margin-block-start:var(--space-m)}}}@layer block{@scope(signup-prompt-banner){:scope{--_surface-bg: oklch(from var(--color-surface-base) l c h / 85%);--_gradient-from: var(--color-brand-primary);--_gradient-to: var(--color-brand-secondary);position:fixed;inset-block-end:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));inset-inline:0;container:bottom-banner / inline-size}.signup-banner{--_banner-text: clamp(12px, 4.2cqi, 16px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-xs);align-items:center;block-size:var(--bottom-banner-block-size);padding-block:var(--space-xs);padding-inline:var(--space-s);border-block-start:2px solid;border-image:linear-gradient(to right,var(--_gradient-from),var(--_gradient-to)) 1;background:var(--_surface-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.signup-banner-message{overflow:hidden;min-inline-size:0;font-size:var(--_banner-text);font-weight:500;color:var(--color-text-primary);white-space:nowrap}.signup-banner-action{--button-min-size: 2.25rem;--button-padding-block: var(--space-3xs);--button-padding-inline: var(--space-s);--button-font-size: var(--_banner-text);white-space:nowrap}@media(prefers-reduced-motion:no-preference){.signup-banner{animation:banner-enter var(--md-duration-medium3) var(--md-easing-emphasized-decelerate)}.signup-banner:before,.signup-banner-action:before{pointer-events:none;content:"";position:absolute;background:linear-gradient(to right,transparent,color-mix(in oklch,var(--color-white) 70%,transparent),transparent) -100% 0 / 50% 100% no-repeat;animation:banner-cue 12s ease-in-out 5}.signup-banner:before{inset-block-start:-2px;inset-inline:0;block-size:2px}.signup-banner-action:before{inset:0;border-radius:inherit;animation-delay:1s}}@keyframes banner-cue{0%{background-position-x:-100%}9%,to{background-position-x:200%}}@keyframes banner-enter{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}}@layer block{@scope(state-placeholder){:scope{display:flex;flex:1;align-items:center;justify-content:center}.state-center{display:flex;flex-direction:column;gap:var(--space-s);align-items:center;text-align:center}.state-icon{color:var(--color-brand-accent)}.state-skeleton{display:flex;flex-direction:column;gap:var(--space-s);inline-size:100%;padding-block:var(--space-s);padding-inline:var(--space-s)}.skeleton-row{block-size:var(--space-m)}.skeleton-row:nth-child(3n){inline-size:70%}.skeleton-row:last-child{inline-size:45%}}}@layer block{@scope(svg-icon){:scope{display:inline-flex;align-items:center;justify-content:center}.icon-switch{display:contents}.svg-icon{flex-shrink:0;inline-size:var(--_icon-size, 1.25rem);block-size:var(--_icon-size, 1.25rem)}.svg-icon[fill=none]{fill:none}:scope[data-size=xs]{--_icon-size: .75rem}:scope[data-size=sm]{--_icon-size: 1rem}:scope[data-size=md]{--_icon-size: 1.25rem}:scope[data-size=lg]{--_icon-size: 1.5rem}:scope[data-size=xl]{--_icon-size: 2.5rem}}}@layer block{@scope(toast:not(.snack-bar toast)){:scope{--_duration-reduced: .01ms;display:contents}dialog{position:fixed;inset-block-start:0;inset-inline:1rem;max-inline-size:none;max-block-size:none;margin:0;padding:var(--space-s);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);color:inherit;background:var(--color-surface-raised);box-shadow:var(--shadow-card-glow);transition:opacity .3s ease-out,translate .3s ease-out,overlay .3s ease-out allow-discrete,display .3s ease-out allow-discrete;&:not(:popover-open){translate:0 -1rem;display:none;opacity:0}}@starting-style{dialog:popover-open{translate:0 -1rem;opacity:0}}@media(prefers-reduced-motion:reduce){dialog{transition-duration:var(--_duration-reduced)}}}}@layer block{@scope(user-home-selector){:scope{--_border-light: oklch(100% 0 0deg / 10%);--_hover-border: oklch(from var(--color-brand-primary) l c h / 40%);--_hover-bg: oklch(from var(--color-brand-primary) l c h / 20%)}.selector-content{padding-block:var(--space-m) var(--space-l);padding-inline:var(--space-l)}.selector-title{margin-block-end:var(--space-2xs);font-family:var(--font-display);font-size:var(--step-1);font-weight:400;color:var(--color-text-primary)}.selector-desc{margin-block-end:var(--space-l);font-size:var(--step--1);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.selector-section{margin-block-end:var(--space-l)}.selector-label{margin-block-end:var(--space-2xs);font-size:var(--step--1);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.selector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xs)}.selector-option{padding:var(--space-2xs);border:1px solid var(--_border-light);border-radius:var(--radius-button);font-family:var(--font-display);font-size:var(--step--1);font-weight:600;color:var(--color-text-primary);background:var(--color-surface-overlay);transition:background-color .15s ease-out,border-color .15s ease-out;&:hover{border-color:var(--_hover-border);background:var(--_hover-bg)}&[data-selected=true]{border-color:var(--color-brand-primary);background:oklch(from var(--color-brand-primary) l c h / 15%)}}.selector-header-row{display:flex;gap:var(--space-2xs);align-items:center;margin-block-end:var(--space-3xs)}.selector-back svg{inline-size:1rem;block-size:1rem}}}
