@import"https://fonts.googleapis.com/css2?family=Klee+One&display=swap";@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(body){min-block-size:100dvh}: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{--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(60% .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);--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(.625rem, 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;--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}}@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}: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}@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}}}@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 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}.visually-hidden{position:absolute;overflow:hidden;inline-size:1px;block-size:1px;white-space:nowrap;clip-path:inset(50%);clip:rect(0 0 0 0)}@media(prefers-reduced-motion:reduce){[class*=animate-]{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}}@layer block{@scope (app-shell){:scope{display:grid;grid-template-areas:"viewport" "nav";grid-template-rows:minmax(0,1fr) auto;block-size:100dvh}pwa-install-fab,notification-prompt,snack-bar,error-banner,coach-mark{position:fixed;overflow:hidden;block-size:0}}}@layer block{@scope (error-banner){:scope{--_border-light: oklch(100% 0 0deg / 10%);--_border-hover: oklch(100% 0 0deg / 20%);--_bg-subtle: oklch(100% 0 0deg / 5%);--_primary-accent: oklch(from var(--color-brand-primary) l c h / 30%);--_primary-bg: oklch(from var(--color-brand-primary) l c h / 20%)}.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--2);color:var(--color-text-muted)}footer{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xs)}.error-btn{padding:var(--space-3xs) var(--space-2xs);border:1px solid var(--_border-light);border-radius:var(--radius-button);font-size:var(--step--2);color:var(--color-text-secondary);transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out}.error-btn:hover{border-color:var(--_border-hover);color:var(--color-text-primary)}.error-btn[data-variant=muted]{color:var(--color-text-muted)}.error-btn[data-variant=muted]:hover{color:var(--color-text-secondary)}.error-btn[data-variant=primary]{border-color:var(--_primary-accent);color:var(--color-text-primary);background:var(--_primary-bg)}.error-btn[data-variant=primary]:hover{background:var(--_primary-accent)}}}@layer block{@scope (pwa-install-fab){.pwa-fab{--_size: 2.75rem;--_glow-color-from: var(--color-brand-primary);--_glow-color-to: var(--color-brand-accent);cursor:pointer;position:fixed;inset-block-end:calc(3.5rem + env(safe-area-inset-bottom,0px) + var(--space-s));inset-inline-end:var(--space-s);display:flex;align-items:center;justify-content:center;inline-size:var(--_size);block-size:var(--_size);border:none;border-radius:var(--radius-full);color:var(--color-white);background:linear-gradient(135deg,var(--_glow-color-from),var(--_glow-color-to));transition:transform .1s ease-out;animation:pwa-fab-enter .4s ease-out both,pwa-fab-neon-pulse 2.5s ease-in-out .4s infinite}.pwa-fab:after{content:"";position:absolute;inset:0;border-radius:var(--radius-full);background:none;box-shadow:0 0 oklch(from var(--_glow-color-to) l c h / 55%);animation:pwa-fab-ripple .6s ease-out .4s 2 both}.pwa-fab:active{transform:scale(.92);transition:transform 50ms ease-in}.pwa-fab:focus-visible{outline:2px solid var(--color-brand-accent);outline-offset:5px;animation-play-state:paused}.pwa-fab-icon{inline-size:1.5rem;block-size:1.5rem}@keyframes pwa-fab-enter{0%{transform:translateY(150%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pwa-fab-ripple{0%{box-shadow:0 0 oklch(from var(--_glow-color-to) l c h / 55%)}to{box-shadow:0 0 0 1rem oklch(from var(--_glow-color-to) l c h / 0%)}}@keyframes pwa-fab-neon-pulse{0%,to{box-shadow:0 0 0 2px oklch(from var(--_glow-color-from) l c h / 50%),0 0 10px oklch(from var(--_glow-color-from) l c h / 30%),0 0 22px oklch(from var(--_glow-color-to) l c h / 15%)}50%{box-shadow:0 0 0 2px oklch(from var(--_glow-color-from) l c h / 90%),0 0 16px oklch(from var(--_glow-color-from) l c h / 55%),0 0 32px oklch(from var(--_glow-color-to) l c h / 30%)}}.pwa-fab-sheet{display:flex;flex-direction:column;gap:var(--space-m);padding-block:var(--space-s) var(--space-l);padding-inline:var(--space-m)}.pwa-fab-sheet-title{font-size:var(--step-1);font-weight:600;color:var(--color-text-primary)}.pwa-fab-sheet-steps{display:flex;flex-direction:column;gap:var(--space-s);padding:0;list-style:none}.pwa-fab-sheet-step{display:flex;gap:var(--space-xs);align-items:flex-start;font-size:var(--step-0);color:var(--color-text-secondary)}.pwa-fab-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:var(--color-brand-primary)}.pwa-fab-sheet-close{cursor:pointer;align-self:center;padding-block:var(--space-xs);padding-inline:var(--space-xl);border:1px solid var(--color-border-subtle);border-radius:var(--radius-button);font-size:var(--step-0);font-weight:500;color:var(--color-text-secondary);background:none;transition:color .15s ease-out}.pwa-fab-sheet-close:hover,.pwa-fab-sheet-close:focus-visible{color:var(--color-text-primary)}@media(prefers-reduced-motion:reduce){.pwa-fab{box-shadow:0 0 0 2px oklch(from var(--_glow-color-from) l c h / 50%),0 0 10px oklch(from var(--_glow-color-from) l c h / 30%),0 0 22px oklch(from var(--_glow-color-to) l c h / 15%);animation:pwa-fab-fade .3s ease-out both}.pwa-fab:after{animation:none}@keyframes pwa-fab-fade{0%{opacity:0}to{opacity:1}}}}}@layer block{@scope (bottom-sheet){:scope{--_backdrop-bg: oklch(0% 0 0deg / 60%);--_handle-bg: oklch(100% 0 0deg / 20%);--_duration-reduced: .01ms;position:fixed;inset:0;display:block;inline-size:100%;max-inline-size:100%;max-block-size:100%;margin:0;padding:0;border:none;background:transparent;transition:opacity .3s ease-out,overlay .3s ease-out allow-discrete,display .3s ease-out allow-discrete}:scope::backdrop{background:var(--_backdrop-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .3s ease-out,overlay .3s ease-out allow-discrete,display .3s ease-out allow-discrete}:scope:not(:popover-open){display:none;opacity:0}:scope:not(:popover-open)::backdrop{opacity:0}@starting-style{:scope:popover-open{opacity:0}:scope:popover-open::backdrop{opacity:0}}@keyframes initial-snap{0%,to{--_snap-align: none}}.scroll-area{scrollbar-width:none;scroll-snap-type:y mandatory;overflow-y:auto;overscroll-behavior-y:contain;display:block;block-size:100dvh;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:100dvh}.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:90dvh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--sheet-bg, var(--color-surface-raised));box-shadow:var(--shadow-sheet)}.handle-bar{display:flex;justify-content:center;padding-block:var(--space-2xs) var(--space-3xs)}.handle-bar:after{content:"";inline-size:2.5rem;block-size:.25rem;border-radius:var(--radius-full);background:var(--_handle-bg)}@media(prefers-reduced-motion:reduce){:scope,:scope::backdrop{transition-duration:var(--_duration-reduced)}}}}@layer block{@scope (notification-prompt){:scope{--_btn-padding: .375rem .75rem;--_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)}.prompt-btn-secondary,.prompt-btn-primary{padding:var(--_btn-padding);border-radius:var(--radius-button);font-size:var(--step--1);transition:background var(--transition-normal)}.prompt-btn-secondary{border:1px solid var(--color-border-subtle);color:var(--color-text-muted)}.prompt-btn-secondary:hover{background:color-mix(in oklch,var(--color-white) 5%,transparent)}.prompt-btn-secondary:only-child{margin-block-start:var(--space-xs)}.prompt-btn-primary{font-weight:500;color:var(--color-white);background:var(--color-brand-primary);box-shadow:var(--shadow-button)}.prompt-btn-primary:hover{background:var(--color-brand-secondary)}.prompt-btn-primary:disabled{cursor:not-allowed;opacity:.4}}}@layer block{@scope (snack-bar){:scope{--_bg-from: var(--color-brand-primary);--_bg-to: var(--color-brand-secondary)}.snack-stack{pointer-events:none;position:fixed;inset-block-start:0;inset-inline:0;display:flex;flex-direction:column;gap:var(--space-3xs);align-items:center;padding:var(--space-xs) 0 0}.snack-item{pointer-events:auto;transform:translateY(-1rem);display:flex;gap:var(--space-3xs);align-items:center;padding:var(--space-2xs) var(--space-s);border:none;border-radius:var(--radius-card);font-family:var(--font-display);font-weight:600;color:var(--color-white);opacity:0;background:linear-gradient(to right,var(--_bg-from),var(--_bg-to));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-card-glow);transition:transform var(--transition-slow) cubic-bezier(.16,1,.3,1),opacity var(--transition-slow) ease,display var(--transition-slow) allow-discrete,overlay var(--transition-slow) allow-discrete}.snack-item:popover-open{transform:translateY(0);opacity:1}@starting-style{.snack-item:popover-open{transform:translateY(-1rem);opacity:0}}.snack-item[data-severity=warning]{--_bg-from: oklch(55% .16 75deg);--_bg-to: oklch(60% .16 75deg)}.snack-item[data-severity=error]{--_bg-from: oklch(40% .2 25deg);--_bg-to: oklch(45% .18 25deg)}.snack-icon{flex-shrink:0;inline-size:1.25rem;block-size:1.25rem}.snack-action-btn{flex-shrink:0;margin-inline-start:auto;font-size:var(--step--1);font-weight:600;color:color-mix(in oklch,var(--color-white) 90%,transparent);text-transform:uppercase;letter-spacing:.05em;transition:color var(--transition-fast) ease-out}.snack-action-btn:hover{color:var(--color-white)}@media(prefers-reduced-motion:reduce){.snack-item{transition:none}}}}@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-font-handwritten: "Klee One", cursive;--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;inline-size:100vi;max-inline-size:none;block-size:100vb;max-block-size:none;margin:0;padding:0;border:none;color:inherit;background:transparent}.coach-mark-overlay::backdrop{display:none}.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}.click-blocker{pointer-events:auto;position:fixed;background-color:transparent}.mask-top{inset:0 0 auto;inset-block-end:anchor(--coach-target top)}.mask-bottom{inset:auto 0 0;inset-block-start:anchor(--coach-target bottom)}.mask-left{inset:anchor(--coach-target top) anchor(--coach-target left) anchor(--coach-target bottom) 0}.mask-right{inset:anchor(--coach-target top) 0 anchor(--coach-target bottom) anchor(--coach-target right)}.target-interceptor{inset:anchor(--coach-target top) anchor(--coach-target right) anchor(--coach-target bottom) anchor(--coach-target left);margin:var(--coach-spotlight-outset)}.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:320px;margin-block:var(--space-s) 0;padding:var(--space-s);color:var(--color-white);background:transparent;filter:none}.coach-tooltip-message{margin:0;font-family:var(--coach-font-handwritten);font-size:var(--step-0);font-weight:500;line-height:var(--leading-relaxed)}@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 (artist-filter-bar){:scope{display:contents}.filter-trigger{cursor:pointer;display:flex;align-items:center;justify-content:center;padding:var(--space-3xs) var(--space-2xs);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);color:var(--color-text-muted);background:transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.filter-trigger[data-active=true]{border-color:color-mix(in oklch,var(--color-brand-primary) 40%,transparent);color:var(--color-brand-primary)}.filter-trigger:hover{color:var(--color-text-secondary)}.filter-trigger:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.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)}.btn-clear-all{cursor:pointer;padding:var(--space-3xs) var(--space-xs);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);font-size:var(--step--2);color:var(--color-text-muted);background:transparent;transition:color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.btn-clear-all:disabled{cursor:default;opacity:.35}.btn-clear-all:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.btn-clear-all:hover:not(:disabled){border-color:color-mix(in oklch,var(--color-brand-primary) 40%,transparent);color:var(--color-brand-primary)}.artists-list{display:flex;flex-wrap:wrap;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.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(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.artist-chip .chip-check{display:none;flex-shrink:0;color:var(--color-text-primary)}.artist-chip:hover{border-color:color-mix(in oklch,var(--color-brand-primary) 40%,transparent)}.artist-chip:focus-within{outline:2px solid var(--color-brand-primary);outline-offset:2px}.artist-chip: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))}.artist-chip:has(input:checked) .chip-check{display:block}.confirm-row{display:flex;justify-content:flex-end}.btn-confirm{cursor:pointer;padding:var(--space-2xs) var(--space-m);border:none;border-radius:var(--radius-button);font-size:var(--step--1);font-weight:600;color:var(--color-white);background:var(--color-brand-primary);transition:opacity var(--transition-fast)}.btn-confirm:hover{opacity:.85}.btn-confirm:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}}}@layer block{@scope (artist-unfollow-sheet){:scope{--_unfollow-bg: var(--color-error);--_unfollow-bg-hover: oklch(from var(--color-error) calc(l - .05) c h);display:contents}.sheet-content{display:flex;flex-direction:column;gap:var(--space-s);padding-block:var(--space-m) var(--space-l);padding-inline:var(--space-m)}.sheet-artist-name{margin-block-end:var(--space-2xs);font-size:var(--step-0);font-weight:600;color:var(--color-text-primary);text-align:center}.unfollow-btn{inline-size:100%;padding-block:var(--space-2xs);padding-inline:var(--space-m);border-radius:var(--radius-button);font-size:var(--step-0);font-weight:600;color:var(--color-white);background:var(--_unfollow-bg);transition:background-color .15s ease-out}.unfollow-btn:hover{background:var(--_unfollow-bg-hover)}.cancel-btn{inline-size:100%;padding-block:var(--space-2xs);padding-inline:var(--space-m);border-radius:var(--radius-button);font-size:var(--step-0);font-weight:500;color:var(--color-text-muted);background:transparent;transition:color .15s ease-out}.cancel-btn:hover{color:var(--color-text-secondary)}}}@layer block{@scope (bottom-nav-bar){:scope{--_tab-gap: .125rem;--_safe-area-bottom: env(safe-area-inset-bottom)}.nav-bar{position:relative;display:flex;align-items:center;justify-content:space-around;block-size:3.5rem;padding-block-end:var(--_safe-area-bottom);background:var(--color-surface-raised)}.nav-bar: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{display:flex;flex:1;flex-direction:column;gap:var(--_tab-gap);align-items:center;justify-content:center;block-size:100%;transition:color var(--transition-normal),box-shadow var(--transition-normal)}.nav-tab[data-active=true]{color:var(--color-brand-accent);box-shadow:inset 0 2px 8px oklch(from var(--color-brand-accent) l c h / 20%)}.nav-tab[data-active=false]{color:var(--color-text-muted)}.nav-tab[data-dimmed]{opacity:.3;transition:opacity var(--transition-normal)}.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)}}}@layer block{@scope (celebration-overlay){:scope{--_overlay-bg: oklch(0% 0 0deg / 80%);--_glow-a: oklch(70.9% .159 294deg / 60%);--_glow-b: oklch(58.5% .204 277deg / 30%);--_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;place-items:center;background:var(--_overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .4s ease}.celebration-overlay[data-state=hidden]{display:none}.celebration-overlay[data-state=exiting]{opacity:0}.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-normal);color:var(--color-white);text-align:center;text-shadow:0 0 24px var(--_glow-a),0 0 48px var(--_glow-a),0 0 80px var(--_glow-b);animation:text-enter .6s cubic-bezier(.16,1,.3,1) both}.celebration-sub-text{isolation:isolate;position:relative;margin-block-start:var(--space-m);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;animation:text-enter .6s cubic-bezier(.16,1,.3,1) .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-3xs);font-size:var(--step--1);color:var(--color-text-secondary)}.inline-error-detail{margin-block-end:var(--space-s);font-size:var(--step--2);color:var(--color-text-muted)}.inline-error-retry{padding:var(--space-2xs) var(--space-s);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--step--2);color:var(--color-text-secondary);transition:border-color .2s,color .2s}.inline-error-retry:hover{border-color:var(--color-border-muted);color:var(--color-text-primary)}}}@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{position:relative;display:grid;grid-template:"stage-home stage-near stage-away" auto "lane-home  lane-near  lane-away" minmax(0,1fr) / 1fr 1fr 1fr;block-size:100%;min-block-size:0}.concert-grid-wrapper{display:contents}.stage-header{position:relative;display:grid;grid-column:stage-home / stage-away;grid-template-columns:subgrid}.stage-header>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}.stage-header>span:not(:last-child){border-inline-end:1px solid var(--_border-light)}.stage-header>[data-stage=home]{color:var(--color-surface-base);background:var(--color-stage-home)}.stage-header>[data-stage=near]{color:var(--color-surface-base);background:var(--color-stage-near)}.stage-header>[data-stage=away]{color:var(--color-surface-base);background:var(--color-stage-away)}.concert-scroll{position:relative;overflow-block:auto;overflow-inline:hidden;display:grid;grid-column:lane-home / lane-away;grid-template-columns:subgrid;min-block-size:0;list-style:none}.concert-scroll>li{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.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)}.date-separator 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)}.lane:not(:last-child){border-inline-end:1px solid var(--_border-faint)}.lane[data-lane=home]{border-block-start:2px solid oklch(from var(--color-stage-home) l c h / 40%)}.lane[data-lane=near]{border-block-start:2px solid oklch(from var(--color-stage-near) l c h / 40%)}.lane[data-lane=away]{border-block-start:2px solid oklch(from var(--color-stage-away) l c h / 40%)}.lane[data-empty=true]:after{content:"—";display:block;padding-block:var(--space-s);font-size:var(--step--2);color:var(--_muted-faint);text-align:center}.beam-overlay{pointer-events:none;position:fixed;inset:0}.laser-beam{position:absolute;inset-block-start:0;inset-inline:0;block-size:var(--beam-h, 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%) var(--beam-top-pct, 80%));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%) var(--beam-top-pct, 80%),calc(var(--beam-right, 66%) - 4px) var(--beam-top-pct, 80%))}}}@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")}[artist-color]{--artist-color: oklch( 75% .4 calc(var(--artist-hue) + var(--hue-drift, 0)) );--artist-color-dim: oklch(75% .4 var(--artist-hue))}.event-card{cursor:pointer;position:relative;overflow:hidden;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;animation:fade-slide-up .4s ease-out both}.event-card:active{transform:scale(.97)}.event-card[data-lane=home]{margin-block-end:var(--space-2xs)}.event-card[data-lane=nearby],.event-card[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--2);color:var(--_label-color)}.journey-badge{position:absolute;inset-block-start:var(--space-3xs);inset-inline-end:var(--space-3xs);padding-block:1px;padding-inline:var(--space-3xs);border-radius:var(--radius-button);font-size:var(--step--2);font-weight:600;line-height:var(--leading-snug);color:var(--_journey-text);text-transform:uppercase;letter-spacing:.03em;background:var(--_journey-bg)}.journey-badge[data-journey-status=tracking]{--_journey-bg: oklch(65% .18 255deg / 85%);--_journey-text: oklch(95% .02 255deg)}.journey-badge[data-journey-status=applied]{--_journey-bg: oklch(65% .15 195deg / 85%);--_journey-text: oklch(95% .02 195deg)}.journey-badge[data-journey-status=lost]{--_journey-bg: oklch(45% .08 0deg / 85%);--_journey-text: oklch(75% .05 0deg)}.journey-badge[data-journey-status=unpaid]{--_journey-bg: oklch(65% .18 55deg / 85%);--_journey-text: oklch(95% .02 55deg)}.journey-badge[data-journey-status=paid]{--_journey-bg: oklch(65% .18 152deg / 85%);--_journey-text: oklch(95% .02 152deg)}.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) / 70%);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);animation:color-drift 8s ease-in-out infinite}.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}@keyframes beam-descend{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@keyframes contact-glow{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}@keyframes color-drift{0%,to{--hue-drift: 0}33%{--hue-drift: 30}66%{--hue-drift: -30}}@media(prefers-reduced-motion:reduce){.event-card[data-matched]{animation:none}.event-card[data-matched]:after{opacity:1;animation: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)}}}}@property --hue-drift{inherits: false; initial-value: 0; syntax: "<number>";}@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)}.detail-link: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-controls{display:flex;flex-wrap:wrap;gap:var(--space-3xs)}.journey-btn{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--2);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}.journey-btn:disabled{opacity:.5}.journey-btn:hover:not(:disabled){border-color:var(--_border-light-hover);color:var(--color-text-primary);background:var(--_bg-hover)}.journey-btn[data-active]{border-color:var(--_journey-border);color:var(--_journey-text);background:var(--_journey-bg)}.journey-btn[data-journey-status=tracking]{--_journey-border: oklch(65% .18 255deg);--_journey-text: oklch(90% .05 255deg);--_journey-bg: oklch(65% .18 255deg / 25%)}.journey-btn[data-journey-status=applied]{--_journey-border: oklch(65% .15 195deg);--_journey-text: oklch(90% .05 195deg);--_journey-bg: oklch(65% .15 195deg / 25%)}.journey-btn[data-journey-status=lost]{--_journey-border: oklch(55% .1 0deg);--_journey-text: oklch(80% .05 0deg);--_journey-bg: oklch(45% .08 0deg / 25%)}.journey-btn[data-journey-status=unpaid]{--_journey-border: oklch(65% .18 55deg);--_journey-text: oklch(90% .05 55deg);--_journey-bg: oklch(65% .18 55deg / 25%)}.journey-btn[data-journey-status=paid]{--_journey-border: oklch(65% .18 152deg);--_journey-text: oklch(90% .05 152deg);--_journey-bg: oklch(65% .18 152deg / 25%)}.journey-remove-btn{margin-block-start:var(--space-2xs);font-size:var(--step--2);color:var(--color-text-muted);text-decoration:underline}.journey-remove-btn:disabled{opacity:.5}.journey-remove-btn:hover:not(:disabled){color:var(--color-text-secondary)}.sheet-actions{display:flex;flex-direction:column;gap:var(--space-2xs);margin-block-start:var(--space-m)}.sheet-btn-primary,.sheet-btn-secondary{display:flex;gap:var(--space-3xs);align-items:center;justify-content:center;padding-block:var(--space-2xs);padding-inline:var(--space-xs);border-radius:var(--radius-button);font-size:var(--step--1);font-weight:500}.sheet-btn-primary{color:var(--color-white);background:var(--color-brand-primary);box-shadow:var(--shadow-button);transition:background-color .15s ease-out}.sheet-btn-primary:hover{background:var(--color-brand-secondary)}.sheet-btn-secondary{border:1px solid var(--_border-light);color:var(--color-text-secondary);transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out}.sheet-btn-secondary:hover{border-color:var(--_border-light-hover);color:var(--color-text-primary);background:var(--_bg-hover)}}}@layer block{@scope (loading-spinner){:scope{display:contents}output{display:inline-flex;align-items:center;justify-content:center}.spinner{display:block;inline-size:2rem;block-size:2rem;border:2px 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:spin .8s linear infinite}output[data-size=sm] .spinner{inline-size:1rem;block-size:1rem;border-width:1.5px}output[data-size=lg] .spinner{inline-size:2.5rem;block-size:2.5rem;border-width:3px}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}}}@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%))}header h1{flex:1;font-family:var(--font-display);font-size:var(--step-1);font-weight:400;color:var(--color-text-primary);letter-spacing:-.01em}}}@layer block{@scope (page-help){bottom-sheet{--sheet-bg: var(--color-surface-overlay)}.page-help-trigger{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;inline-size:2rem;block-size:2rem;border:1.5px solid currentcolor;border-radius:var(--radius-full);font-size:var(--step-0);font-weight:600;line-height:var(--leading-none);color:var(--color-text-muted);background:transparent;transition:color var(--transition-fast)}.page-help-trigger:hover{color:var(--color-text-primary)}.page-help-content{padding:var(--space-m) var(--space-s) var(--space-l)}.page-help-title{margin-block-end:var(--space-xs);font-family:var(--font-display);font-size:var(--step-1);font-weight:700}.page-help-lanes{display:flex;flex-direction:column;gap:var(--space-2xs);margin-block:var(--space-xs);padding:0;list-style:none}.stage-home{color:var(--color-stage-home)}.stage-near{color:var(--color-stage-near)}.stage-away{color:var(--color-stage-away)}.page-help-tips{display:flex;flex-direction:column;gap:var(--space-3xs);margin-block-start:var(--space-xs);padding:0;color:var(--color-text-secondary);list-style:none}.page-help-hype-table{border-collapse:collapse;inline-size:100%;margin-block:var(--space-xs)}.page-help-hype-table :is(td,th){padding:var(--space-3xs) var(--space-2xs);vertical-align:top}.page-help-hype-table :is(td,th):first-child{inline-size:7rem;white-space:nowrap}.page-help-note{margin-block-start:var(--space-xs);font-size:var(--step--1);color:var(--color-text-secondary)}}}@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-m);font-size:var(--step-1);font-weight:700}.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-btn{cursor:pointer;align-self:flex-start;padding-block:var(--space-2xs);padding-inline:var(--space-s);border:none;border-radius:var(--radius-button);font-size:var(--step--1);font-weight:600;transition:opacity var(--transition-fast)}.post-signup-btn:disabled{cursor:default;opacity:.5}.post-signup-error{font-size:var(--step--2);color:var(--color-error)}.post-signup-footer{display:flex;justify-content:center;margin-block-start:var(--space-m)}.post-signup-btn-ghost{cursor:pointer;padding:var(--space-2xs) var(--space-s);border:none;font-size:var(--step--1);opacity:.6;background:transparent}}}@layer block{@scope (signup-prompt-banner){:scope{--_surface-bg: oklch(18% .04 275deg / 85%);--_gradient-from: var(--color-brand-primary);--_gradient-to: var(--color-brand-secondary);position:fixed;inset-block-end:calc(3.5rem + env(safe-area-inset-bottom,0px));inset-inline:0}.signup-banner{display:flex;flex-direction:column;gap:var(--space-xs);padding-block:var(--space-xs) var(--space-s);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-header{display:flex;gap:var(--space-xs);align-items:flex-start;justify-content:space-between}.signup-banner-message{font-size:var(--step-0);color:var(--color-text-secondary)}.signup-banner-dismiss{display:flex;flex-shrink:0;align-items:center;justify-content:center;inline-size:1.5rem;block-size:1.5rem;border-radius:var(--radius-full);color:var(--color-text-muted);transition:color .15s ease-out}.signup-banner-dismiss svg-icon{inline-size:.875rem;block-size:.875rem}.signup-banner-dismiss:hover,.signup-banner-dismiss:focus-visible{color:var(--color-text-secondary)}.signup-banner-btn{align-self:center;padding-block:var(--space-3xs);padding-inline:var(--space-xl);border:none;border-radius:var(--radius-button);font-family:var(--font-display);font-size:var(--step--1);font-weight:600;color:var(--color-white);background:var(--color-brand-primary);transition:opacity .15s ease-out}.signup-banner-btn:hover,.signup-banner-btn:focus-visible{opacity:.85}.signup-banner-btn:active{transform:scale(.98)}@media(prefers-reduced-motion:no-preference){:scope{animation:banner-enter .4s ease-out}.signup-banner-btn{animation:cta-glow 2.5s ease-in-out infinite}}@keyframes banner-enter{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes cta-glow{0%,to{box-shadow:0 0 8px oklch(from var(--color-brand-primary) l c h / 30%)}50%{box-shadow:0 0 18px oklch(from var(--color-brand-primary) l c h / 55%)}}}}@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-2xs);align-items:center;text-align:center}.state-icon{color:var(--color-text-muted)}}}@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)}: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}dialog: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%);--_back-hover-bg: oklch(100% 0 0deg / 10%)}.selector-content{padding-block-end: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--2);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-btn{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}.selector-btn:hover{border-color:var(--_hover-border);background:var(--_hover-bg)}.selector-header-row{display:flex;gap:var(--space-2xs);align-items:center;margin-block-end:var(--space-3xs)}.selector-back-btn{display:flex;align-items:center;justify-content:center;inline-size:2rem;block-size:2rem;border-radius:var(--radius-full);background:var(--color-surface-overlay);transition:background-color .15s ease-out}.selector-back-btn:hover{background:var(--_back-hover-bg)}.selector-back-btn svg{inline-size:1rem;block-size:1rem;color:var(--color-text-secondary)}}}
