@charset "UTF-8";:root{--bg: #f1eff6;--surface: #ffffff;--surface-variant: #f1eff6;--border: #e2e4e7;--text: #534a80;--text-muted: #5f6368;--text-disabled: #9aa0a6;--text-inverse: #ffffff;--primary: #3e2770;--primary-hover: #5b21b6;--primary-text: #ffffff;--primary-weak: #815DC3;--accent: #f2b705;--accent-hover: #d79e00;--accent-text: #3e2770;--accent-weak: #fff3cc;--header-bg: var(--primary);--header-bg-end: var(--primary-weak);--header-text: var(--primary-text);--ok: #1e8e3e;--ok-hover: #166e30;--warn: #f9ab00;--bad: #c74d4d;--bad-hover: #a83c3c;--ok-weak: #e8f5e9;--warn-weak: #fff8e1;--bad-weak: #fce4e4;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--topbar-height: 4.5rem;--bottomnav-height: 5.5rem;--content-height: calc(100dvh - var(--topbar-height) - var(--bottomnav-height));--icon-sm: 1rem;--icon-md: 1.25rem;--icon-lg: 1.5rem;--icon-xl: 2rem;--r-xs: .625rem;--r-sm: .875rem;--r-md: 1.125rem;--r-lg: 1.5rem;--shadow-sm: 0 1px 2px #e2e4e7;--shadow: 0 4px 12px rgba(0, 0, 0, .1);--shadow-md: 0 10px 30px #c4c7cc;--shadow-lg: 0 20px 40px rgba(0, 0, 0, .15);--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;--fs-xxs: .667rem;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.5rem;--fs-3xl: 1.75rem;--fs-4xl: 2rem;--fs-5xl: 3rem;--lh: 1.35;--transition-fast: .15s;--transition-base: .3s;--transition-slow: .5s;--filter-hover-brighten: brightness(1.1);--filter-hover-darken: brightness(.9);--overlay: rgba(0, 0, 0, .5);--hero-overlay-start: rgba(61, 41, 129, .3);--hero-overlay-end: rgba(0, 0, 0, .75);--hero-text-shadow: 0 2px 8px rgba(0, 0, 0, .8);--hero-text-shadow-sm: 0 1px 4px rgba(0, 0, 0, .8)}[data-theme=dark]{--bg: #121018;--surface: #1a1625;--surface-variant: #242033;--border: #3a3550;--text: #f0eef5;--text-muted: #9d99ad;--text-disabled: #5c5870;--text-inverse: #121018;--calendar-icon-filter: invert(1);--primary: #a78bfa;--primary-hover: #c4b5fd;--primary-text: #121018;--primary-weak: #2d2845;--accent: #b8860b;--accent-hover: #cc9a0c;--accent-text: #f0eef5;--accent-weak: #2d2515;--header-bg: var(--surface);--header-bg-end: var(--surface-variant);--header-text: var(--text);--ok: #34d399;--ok-hover: #10b981;--warn: #fbbf24;--bad: #f87171;--bad-hover: #ef4444;--ok-weak: #1a2e1f;--warn-weak: #2e2a1a;--bad-weak: #2e1a1a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow: 0 4px 12px rgba(0, 0, 0, .4);--shadow-md: 0 10px 30px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .7);--filter-hover-brighten: brightness(1.2);--filter-hover-darken: brightness(.8);--overlay: rgba(0, 0, 0, .75);--hero-overlay-start: rgba(18, 16, 24, .4);--hero-overlay-end: rgba(0, 0, 0, .9)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);line-height:var(--lh);color:var(--text);background:var(--bg)}#root{min-height:100dvh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-base-mobile, 14px);-webkit-text-size-adjust:auto;text-size-adjust:auto}@media(pointer:fine)and (hover:hover){html{font-size:var(--font-base-desktop, 16px)}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}button{font-family:inherit;border:none;background:none;cursor:pointer}button:focus:not(:focus-visible){outline:none}ul{list-style:none}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}img{max-width:100%;display:block}@keyframes spin{to{transform:rotate(360deg)}}body{color:var(--text);background:var(--bg);font-size:var(--fs-base)}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:700;line-height:1.2}h1{font-size:var(--fs-2xl);margin-bottom:var(--s-4)}h2{font-size:var(--fs-xl);margin-bottom:var(--s-3)}h3{font-size:var(--fs-lg);margin-bottom:var(--s-2)}h4{font-size:var(--fs-md);margin-bottom:var(--s-2)}p{margin-bottom:var(--s-3)}section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-6)}section .status-banner,section .form-group,section .segmented-control,section .list{align-self:stretch}.full-bleed{width:calc(100% + var(--s-4) * 2);margin-left:calc(var(--s-4) * -1);margin-right:calc(var(--s-4) * -1)}.h1{font-size:var(--fs-xl);font-weight:900;margin:0}.h2{font-size:var(--fs-lg);font-weight:900;margin:0}.small{font-size:var(--fs-sm);color:var(--text-muted)}.muted{color:var(--text-muted)}.label{font-weight:700;font-size:var(--fs-md)}code{background:var(--surface-variant);padding:2px 6px;border-radius:var(--r-xs);font-family:Courier New,monospace;font-size:.9em}.app-container{position:relative;width:100%;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface-variant);--bottomnav-space: var(--bottomnav-height, 5.5rem)}.loading{position:absolute;top:var(--topbar-height);left:0;right:0;bottom:var(--bottomnav-height);display:none;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-variant);z-index:5;opacity:0;transition:opacity .2s ease-in,display .2s ease-in allow-discrete}.loading--visible{display:flex;opacity:1}@starting-style{.loading--visible{opacity:0}}.content{flex:1;background:transparent;display:flex;flex-direction:column;padding-bottom:calc(var(--bottomnav-space) + var(--s-4));opacity:1;transition:opacity .3s ease-out}.content--hidden{opacity:0;transition:opacity .2s ease-in}.content--has-fabs{padding-bottom:calc(var(--bottomnav-space) + 3.5rem + var(--s-3) + var(--s-4))}.content:has(.event-hero){position:relative;top:calc(-1 * var(--topbar-height))}html:has(.event-screen--chat){overflow:clip}.app-container:has(.event-screen--chat){height:100dvh;overflow:clip}.content:has(.event-screen--chat){min-height:0;overflow:clip;padding-bottom:var(--s-4)}.skip-to-content{display:block;padding:var(--s-3) var(--s-4);background:var(--primary);color:#fff;font-weight:600;text-align:center;text-decoration:none;height:0;overflow:hidden;padding:0}.skip-to-content:focus{height:auto;padding:var(--s-3) var(--s-4);outline:3px solid var(--accent);outline-offset:-3px}.screen{flex:1;background:var(--bg)}.screen__container{max-width:1200px;margin:0 auto;padding:var(--s-4)}.section-title{padding:var(--s-4);margin:0}.section-subtitle{padding:0 var(--s-4)}.event-list{display:flex;flex-direction:column;gap:1rem;padding:var(--s-2) var(--s-4) var(--s-4)}.section-content{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4);overflow-x:hidden}.home-button-row{display:flex;gap:var(--s-3);align-items:center}.button-row{display:flex;justify-content:flex-end;gap:var(--s-4)}.fab{position:relative;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--accent);color:var(--accent-text);font-size:var(--fs-3xl);font-weight:400;line-height:1;border:none;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:transform .2s ease-out,box-shadow .2s ease-out;display:flex;align-items:center;justify-content:center}.fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003}.fab:active{transform:scale(.95)}.fab:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.fab--secondary{width:3rem;height:3rem;background:var(--surface);color:var(--text-muted);border:1px solid var(--border);box-shadow:0 2px 8px #0000001f;font-size:var(--fs-lg)}.stack{display:flex;flex-direction:column;gap:var(--s-3)}.stack--sm{gap:var(--s-2)}.stack--md{gap:var(--s-4)}.stack--lg{gap:var(--s-6)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-8) var(--s-4);text-align:center;color:var(--text-muted);gap:var(--s-3)}.empty-state__icon{opacity:.4}.empty-state__title{font-size:var(--fs-lg);font-weight:600;margin:0}.empty-state__hint{font-size:var(--fs-sm)}.list{display:flex;flex-direction:column}.list--divided>*:not(:first-child){border-top:1px solid var(--border)}.row{display:flex;align-items:center;gap:var(--s-3)}.space-between{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.flex{display:flex}.flex--center{align-items:center;justify-content:center}.flex--between{justify-content:space-between}.flex--align-center{align-items:center}.flex--gap-sm{gap:var(--s-2)}.flex--gap-md{gap:var(--s-4)}.grid{display:grid}.grid--2{grid-template-columns:repeat(auto-fill,minmax(min(250px,30%),1fr));gap:var(--s-3)}.grid--3{grid-template-columns:repeat(3,1fr);gap:var(--s-4)}.participant-list{background:var(--surface);border-radius:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:visible}.participant-list__item{--item-bg: transparent;--item-color: var(--text);display:block;border-bottom:none;background:var(--item-bg);color:var(--item-color);text-decoration:none;transition:all var(--transition-fast);position:relative;z-index:0}.participant-list__item:not(:first-child){border-top:1px solid var(--border)}.participant-list__item--accent{--item-bg: var(--accent);--item-color: var(--accent-text)}.participant-list__item--editable{cursor:pointer;-webkit-user-select:none;user-select:none}.participant-list__item--editable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}.participant-list__item>div:first-child{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.participant-list__item .row{flex:1;min-width:0}.participant-list__detail{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1);flex:1;min-width:0}.participant-list__info{display:flex;align-items:center;gap:var(--s-2);flex:1;min-width:0;flex-wrap:wrap}.participant-list__name{margin:0;word-break:break-word}.participant-list__ticket-text{font-size:var(--fs-sm);color:var(--text-muted)}.participant-list__ticket-text--warn{color:var(--bad)}.participant-list__item--accent .participant-list__name,.participant-list__item--accent .participant-list__info,.participant-list__item--accent .avatar{color:var(--accent-text)}.participant-list__item--accent .participant-list__ticket-text{color:var(--text)}.join-greeting-block{margin:0 var(--s-4) var(--s-4)}.join-greeting{font-size:var(--fs-xl);font-weight:700;color:var(--text);margin:0 var(--s-4) var(--s-4)}.join-greeting-block .join-greeting{margin:0}.join-greeting__email{font-size:var(--fs-sm);font-weight:400;color:var(--text-muted)}.login-hint{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--s-1)}.login-hint .link-button{background:none;border:none;color:var(--primary);font-weight:500;font-size:inherit;cursor:pointer;padding:0}.login-hint .link-button:hover{text-decoration:underline}.settings-card{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-4)}.settings-card__divider{border:0;border-top:1px solid var(--border);margin:0}.settings-card__row{display:flex;flex-direction:column;gap:var(--s-3)}.invite-section{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-4);background:var(--surface)}.invite-section__link-box{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-variant)}.invite-section__link-box code{flex:1;font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-section__qr-container{display:flex;justify-content:center;align-items:center;padding:var(--s-8);background:#fff;border-radius:var(--r-md)}.pin-badge{cursor:pointer;gap:0}.qr-container{display:flex;flex-direction:column;align-items:center;gap:var(--s-3)}.qr-container img{cursor:pointer;border-radius:var(--r-md)}.qr-container img:focus,.qr-container img:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.qr-container .btn{width:100%}.qr-fullscreen-overlay{position:fixed;inset:0;background:#0e0919f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out;overflow:auto;-webkit-overflow-scrolling:touch}.qr-fullscreen-image{width:100vw;height:100vh;object-fit:contain;cursor:pointer;animation:zoomIn .3s ease-out;touch-action:pinch-zoom}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.mt-1{margin-top:var(--s-1)}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-5{margin-top:var(--s-5)}.mt-6{margin-top:var(--s-6)}.mb-1{margin-bottom:var(--s-1)}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.mb-4{margin-bottom:var(--s-4)}.mb-5{margin-bottom:var(--s-5)}.mb-6{margin-bottom:var(--s-6)}.ml-1{margin-left:var(--s-1)}.ml-2{margin-left:var(--s-2)}.ml-3{margin-left:var(--s-3)}.ml-4{margin-left:var(--s-4)}.mr-1{margin-right:var(--s-1)}.mr-2{margin-right:var(--s-2)}.mr-3{margin-right:var(--s-3)}.mr-4{margin-right:var(--s-4)}.preserve-whitespace{white-space:pre-wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-hint{text-align:center;font-size:var(--fs-xs);color:var(--text-muted);padding:var(--s-4) 0}.scroll-fade{opacity:1;transition:opacity .2s ease}.scroll-fade--out{opacity:0;transition:opacity .1s ease}@keyframes calmColorFade{0%,to{color:var(--text-muted)}50%{color:var(--primary)}}*{transition:background-color var(--transition-base) ease,color var(--transition-base) ease,border-color var(--transition-base) ease}.status-banner{--banner-bg: var(--surface);--banner-border: var(--border);--banner-stripe: var(--border);--banner-label: var(--text);--banner-color: var(--text);padding:var(--s-3);margin-bottom:var(--s-4);margin-top:var(--s-4);border-radius:var(--r-sm);background:var(--banner-bg);color:var(--banner-color);border:1px solid var(--banner-border);border-left:8px solid var(--banner-stripe);font-size:var(--fs-sm)}.status-banner .label{display:flex;align-items:center;gap:var(--s-2);font-weight:700;margin-bottom:var(--s-2);color:var(--banner-label)}.status-banner .label:before{content:"";flex-shrink:0;width:var(--icon-sm);height:var(--icon-sm);mask-image:var(--banner-icon);-webkit-mask-image:var(--banner-icon);mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;background-color:currentColor}.status-banner p{margin:0;color:var(--text)}.status-banner p+p{margin-top:var(--s-2)}.status-banner p.small{font-size:var(--fs-sm);color:var(--text-muted)}.status-banner--info{--banner-bg: color-mix(in srgb, var(--primary) 8%, var(--bg));--banner-border: color-mix(in srgb, var(--primary) 30%, var(--bg));--banner-stripe: var(--primary);--banner-label: var(--primary);--banner-icon: url(/icons/material/info.svg)}.status-banner--warning{--banner-bg: color-mix(in srgb, var(--warn) 8%, var(--bg));--banner-border: color-mix(in srgb, var(--warn) 30%, var(--bg));--banner-stripe: var(--warn);--banner-label: var(--warn);--banner-icon: url(/icons/material/warning.svg)}.status-banner--error{--banner-bg: color-mix(in srgb, var(--bad) 8%, var(--bg));--banner-border: color-mix(in srgb, var(--bad) 30%, var(--bg));--banner-stripe: var(--bad);--banner-label: var(--bad);--banner-icon: url(/icons/material/warning.svg)}.status-banner--success{--banner-bg: color-mix(in srgb, var(--ok) 8%, var(--bg));--banner-border: color-mix(in srgb, var(--ok) 30%, var(--bg));--banner-stripe: var(--ok);--banner-label: var(--ok);--banner-icon: url(/icons/material/check_circle.svg)}[data-theme=dark] .status-banner{--banner-color: var(--text)}[data-theme=dark] .status-banner--info{--banner-bg: color-mix(in srgb, var(--primary) 20%, var(--bg));--banner-border: color-mix(in srgb, var(--primary) 40%, var(--bg))}[data-theme=dark] .status-banner--warning{--banner-bg: color-mix(in srgb, var(--warn) 20%, var(--bg));--banner-border: color-mix(in srgb, var(--warn) 40%, var(--bg))}[data-theme=dark] .status-banner--error{--banner-bg: color-mix(in srgb, var(--bad) 20%, var(--bg));--banner-border: color-mix(in srgb, var(--bad) 40%, var(--bg))}[data-theme=dark] .status-banner--success{--banner-bg: color-mix(in srgb, var(--ok) 20%, var(--bg));--banner-border: color-mix(in srgb, var(--ok) 40%, var(--bg))}.btn{--btn-bg: var(--surface);--btn-color: var(--text);--btn-border: transparent;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);background:var(--btn-bg);color:var(--btn-color);border:1px solid var(--btn-border);text-decoration:none}@media(hover:hover){.btn:hover:not(:disabled){filter:var(--filter-hover-brighten)}}.btn:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--accent{--btn-bg: var(--accent);--btn-color: var(--text)}.btn--ok{--btn-bg: var(--ok);--btn-color: var(--text-inverse);background:linear-gradient(135deg,var(--ok) 0%,var(--ok-hover) 100%);border:none}@media(hover:hover){.btn--ok:hover:not(:disabled){filter:var(--filter-hover-brighten)}}.btn--bad{--btn-bg: var(--bad);--btn-color: var(--text-inverse);background:linear-gradient(135deg,var(--bad) 0%,var(--bad-hover) 100%);border:none}@media(hover:hover){.btn--bad:hover:not(:disabled){filter:var(--filter-hover-brighten)}}.btn--primary{--btn-bg: var(--primary);--btn-color: var(--text-inverse);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,black) 0%,var(--primary-hover) 100%)}@media(hover:hover){.btn--primary:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 90%,black),color-mix(in srgb,var(--primary) 80%,white));filter:none}}.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--border)}@media(hover:hover){.btn--ghost:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--bg) 95%,black) 0%,var(--bg) 100%);filter:none}}.btn--ghost:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.btn--neutral{--btn-bg: var(--surface);--btn-color: var(--text);border:1px solid var(--border)}.btn--full{width:100%}.btn--icon-only{padding:var(--s-2);width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xl);line-height:1}.btn--chip{padding:var(--s-2) var(--s-4);border-radius:6.25rem;font-size:var(--fs-sm);font-weight:500;white-space:nowrap;height:auto}.btn--chip:focus,.btn--chip:focus-visible{outline-offset:2px}.btn--small{padding:var(--s-1) .625rem;font-size:var(--fs-sm);font-weight:500;height:auto}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-6)}.loading-spinner__animation{position:relative;width:5rem;height:5rem;display:flex;align-items:center;justify-content:center}.loading-spinner__shadow{position:absolute;bottom:0;width:50%;height:var(--s-3);background:radial-gradient(ellipse at center,rgba(0,0,0,.25) 0%,transparent 70%);animation:shadowPulse 1.2s ease-in-out infinite;z-index:0}.loading-spinner__pin{position:absolute;width:65%;height:auto;animation:pinBounce 1.2s ease-in-out infinite;transform-origin:center bottom;z-index:1}.loading-spinner__ticket{position:absolute;width:75%;height:auto;top:14%;animation:ticketBounceWiggle 1.2s ease-in-out infinite;transform-origin:center center;z-index:2}.loading-spinner--small .loading-spinner__animation{width:3rem;height:3rem}.loading-spinner--small .loading-spinner__ticket{width:70%}.loading-spinner--small .loading-spinner__shadow{bottom:-2px}.loading-spinner--medium .loading-spinner__animation{width:5rem;height:5rem}.loading-spinner--large .loading-spinner__animation{width:7.5rem;height:7.5rem}.loading-spinner__label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:500}@keyframes pinBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ticketBounceWiggle{0%,to{transform:translateY(0) rotate(-5deg) scale(1)}25%{transform:translateY(-4px) rotate(5deg) scale(1.03)}50%{transform:translateY(-8px) rotate(-5deg) scale(1)}75%{transform:translateY(-4px) rotate(5deg) scale(.99)}}@keyframes shadowPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.3;transform:scale(.4)}}.tabs{display:flex;gap:var(--s-2);padding:var(--s-4) var(--s-4);background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;max-width:100%;width:100%;cursor:grab;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tabs--dragging{cursor:grabbing;scroll-behavior:auto}.tabs__button{position:relative;flex-shrink:0;padding:var(--s-2) var(--s-4);background:transparent;border:none;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--s-2);white-space:nowrap}@media(hover:hover){.tabs__button:hover{color:var(--text)}}.tabs__button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.tabs__button--active{color:var(--text-inverse);background:var(--primary)}@media(hover:hover){.tabs__button--active:hover{color:var(--text-inverse)}}.tabs__button--active:focus-visible{outline-color:var(--primary)}.count-badge{position:absolute;right:0;top:-.5rem;min-width:1rem;height:1rem;border-radius:1rem;background:var(--bad);color:var(--text-inverse);font-size:var(--fs-xxs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 .25rem;line-height:1}.count-badge--accent{background:var(--accent)}.check-badge{position:absolute;right:0;top:-.5rem;width:1rem;height:1rem;border-radius:1rem;background:var(--ok);color:var(--text-inverse);font-size:var(--fs-xxs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.card{border-radius:var(--r-md);padding:var(--s-4);width:100%}.card--solid{background:var(--surface);border:1px solid var(--border)}.card--glass{background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.card--no-padding{padding:0}.card--clickable{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);font:inherit;color:inherit;text-align:inherit;text-decoration:none;width:100%}@media(hover:hover){.card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}}.card--clickable:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.icon{display:inline-block;vertical-align:middle;flex-shrink:0;mask-image:var(--icon-url);-webkit-mask-image:var(--icon-url);mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;background-color:currentColor}.icon--sm{width:var(--icon-sm);height:var(--icon-sm)}.icon--md{width:var(--icon-md);height:var(--icon-md)}.icon--lg{width:var(--icon-lg);height:var(--icon-lg)}.icon--xl{width:var(--icon-xl);height:var(--icon-xl)}.badge{--badge-bg: var(--surface-variant);--badge-color: var(--text);--badge-border: transparent;display:inline-flex;align-items:center;gap:var(--s-1);padding:3px var(--s-2);min-height:1.375rem;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;background:var(--badge-bg);color:var(--badge-color);border:1px solid var(--badge-border);text-decoration:none;transition:all var(--transition-base)}.badge--loading{opacity:.6;pointer-events:none}.badge__content{display:inline-flex;align-items:center;gap:var(--s-2);padding:2px 0;font-weight:600}.badge.attendance-badge{min-width:3.375rem;padding:1px var(--s-2);min-height:1.625rem;justify-content:center}.badge:where(button){border:1px solid var(--badge-border);background:var(--badge-bg);font:inherit;font-size:var(--fs-xs);font-weight:600;padding:3px var(--s-2);min-height:1.375rem;cursor:pointer}@media(hover:hover){.badge:where(button):hover{filter:var(--filter-hover-brighten)}}.badge:where(button):focus,.badge:where(button):focus-visible{outline:3px solid var(--accent);outline-offset:var(--s-1)}.badge.primary{--badge-bg: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);--badge-color: var(--text-inverse)}.badge.accent{--badge-bg: linear-gradient( 135deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 5%, var(--accent-hover) 95%) );--badge-color: var(--accent-text)}.badge.neutral{--badge-bg: var(--surface-variant);--badge-color: var(--text-muted);--badge-border: rgba(0, 0, 0, .1)}.badge.ok{--badge-bg: linear-gradient(135deg, var(--ok) 0%, var(--ok-hover) 100%);--badge-color: var(--text-inverse)}.badge.bad{--badge-bg: linear-gradient(135deg, var(--bad) 0%, var(--bad-hover) 100%);--badge-color: var(--text-inverse)}.badge.warn{--badge-bg: linear-gradient(135deg, var(--warn) 0%, color-mix(in srgb, var(--warn) 80%, var(--ok)) 100%);--badge-color: #1a1a1a}.participant-list__item--accent .badge.badge--role{--badge-bg: var(--bg);--badge-color: var(--text);--badge-border: var(--border)}.participant-list__item--selected .badge.badge--role{--badge-bg: var(--accent);--badge-color: var(--accent-text);--badge-border: transparent}.participant-list__item--accent .badge:where(button):focus,.participant-list__item--accent .badge:where(button):focus-visible{outline-color:var(--primary)}.request-status-badge{position:absolute;top:var(--s-3);right:var(--s-3);padding:var(--s-1) var(--s-2);border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:500;color:var(--text-inverse)}.request-status-badge--going{background-color:var(--ok)}.request-status-badge--maybe{background-color:var(--warn)}.chip{gap:4px}.search-filter-bar{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);position:sticky;top:max(8px,var(--topbar-height) + var(--topbar-offset, 0px));z-index:9;background:var(--surface-variant)}.search-filter-bar--stuck{border-bottom:1px solid var(--border)}.search-filter-bar--stuck:before{content:"";position:absolute;top:-100px;left:0;right:0;height:100px;background:inherit}.search-filter-bar__row{display:flex;gap:var(--s-2);align-items:center}.search-filter-bar__input-wrap{flex:1;display:flex;align-items:center;gap:var(--s-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);transition:border-color .15s}.search-filter-bar__input-wrap:focus-within:not(:has(.search-filter-bar__clear:focus-visible)){border-color:var(--primary);outline:2px solid var(--primary);outline-offset:2px}.search-filter-bar__input-wrap .icon{color:var(--text-muted);flex-shrink:0}.search-filter-bar__input-wrap .search-filter-bar__input{flex:1;border:none;background:transparent;color:var(--text);font-size:var(--fs-sm);line-height:1.5;outline:none;min-width:0;padding:0;width:auto;border-radius:0}.search-filter-bar__input-wrap .search-filter-bar__input:focus{outline:none;box-shadow:none}.search-filter-bar__input-wrap .search-filter-bar__input::placeholder{color:var(--text-muted)}.search-filter-bar__clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--s-1);border-radius:var(--r-xs)}.search-filter-bar__clear:focus-visible{outline:2px solid var(--primary);outline-offset:1px;color:var(--text)}@media(hover:hover){.search-filter-bar__clear:hover{color:var(--text)}}.search-filter-bar__filter-btn{flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s}.search-filter-bar__filter-btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}@media(hover:hover){.search-filter-bar__filter-btn:hover{background:var(--surface)}}.search-filter-bar__filter-btn--active{border-color:var(--primary);color:var(--primary);background:var(--surface)}.search-filter-bar__badge{position:absolute;top:-4px;right:-4px;min-width:1.125rem;height:1.125rem;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg)}.search-filter-bar__chips{display:flex;gap:var(--s-2);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:calc(var(--s-2) * -1);padding:var(--s-2)}.search-filter-bar__chips::-webkit-scrollbar{display:none}.search-filter-bar__chips>*{flex-shrink:0}.search-filter-bar__chips--nudge{animation:chips-nudge 1.1s ease-out .35s 1 both}@media(prefers-reduced-motion:reduce){.search-filter-bar__chips--nudge{animation:none}}@keyframes chips-nudge{0%{transform:translate(0)}60%{transform:translate(-10px)}70%{transform:translate(8px)}80%{transform:translate(-6px)}90%{transform:translate(4px)}to{transform:translate(0)}}.modal-overlay{position:fixed;inset:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--s-4);animation:overlayFadeIn .2s ease-out}.modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:30rem;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:modalFadeIn .2s ease-out}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4);border-bottom:1px solid var(--border);flex-shrink:0}.modal__title{font-size:var(--fs-lg);font-weight:700;margin:0}.modal__header-actions{display:flex;align-items:center;gap:var(--s-2)}.modal__close{background:none;border:none;font-size:var(--fs-2xl);line-height:1;color:var(--text-muted);cursor:pointer;padding:var(--s-1);border-radius:var(--r-sm)}@media(hover:hover){.modal__close:hover{color:var(--text);background:var(--bg)}}.modal__body{padding:var(--s-4);overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}.modal__footer{padding:var(--s-4);border-top:1px solid var(--border);flex-shrink:0}.modal__actions{display:flex;gap:var(--s-2);justify-content:flex-end}.modal__cancel{display:flex;justify-content:center}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.event-list-filter__section{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-4)}.event-list-filter__section:last-child{margin-bottom:0}.event-list-filter__section-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;color:var(--text-muted);margin:0;letter-spacing:.5px}.event-list-filter__chips{display:flex;gap:var(--s-2);flex-wrap:wrap}.event-list-filter__chips--mt{margin-top:var(--s-2)}.event-list-filter__sort-icon{font-size:var(--fs-xs);margin-left:2px}.event-list-filter__search{position:relative}.event-list-filter__search .input{width:100%;background:var(--bg);padding-right:2.25rem}.event-list-filter__clear{position:absolute;right:var(--s-2);top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-muted);font-size:var(--fs-lg);line-height:1;cursor:pointer;padding:var(--s-1) var(--s-2);border-radius:var(--r-xs)}@media(hover:hover){.event-list-filter__clear:hover{background:#0000000d;color:var(--text)}}mark.event-list-filter__highlight{background-color:var(--accent-weak);color:inherit;box-shadow:0 0 0 3px var(--accent-weak)}.info-block{display:flex;gap:var(--s-4);align-items:flex-start;position:relative;overflow:hidden;contain:layout style paint}.info-block.card{position:relative}.info-block .card__front{display:flex;gap:var(--s-4);align-items:flex-start;position:relative}.info-block--past{opacity:.6}.info-block--accent{border:1px solid var(--accent)}.info-block--live{border:1px solid var(--bad)}.info-block--soon{border:1px solid var(--accent)}.info-block--featured{border:2px solid #d4af37;background:linear-gradient(135deg,rgba(212,175,55,.08) 0%,rgba(255,100,0,.03) 25%,transparent 50%,rgba(255,100,0,.03) 75%,rgba(212,175,55,.08) 100%);box-shadow:0 0 15px #d4af3766,0 0 30px #ff780033,inset 0 0 20px #d4af371a;animation:burn-glow 2s ease-in-out infinite alternate}.info-block--featured:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.15) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes burn-glow{0%{box-shadow:0 0 12px #d4af374d,0 0 20px #ff780026,inset 0 0 15px #d4af3714}to{box-shadow:0 0 18px #d4af3773,0 0 30px #ff780038,inset 0 0 20px #d4af371f}}.info-block__featured-glow{position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(45deg,#d4af37,#f5d67a,#d4af37);opacity:.3;filter:blur(8px);z-index:-1;animation:glow-pulse 2s ease-in-out infinite alternate}.info-block__sparkles{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:2}.info-block__sparkles--paused .info-block__particle{animation-play-state:paused}.info-block__particle{position:absolute;opacity:0}.info-block__particle img{width:100%;height:100%;display:block;pointer-events:none}.info-block__particle--sparkle{animation:sparkle-fall linear infinite;filter:drop-shadow(0 0 4px rgba(212,175,55,.8))}.info-block__particle--snow{animation:snow-fall linear infinite;filter:drop-shadow(0 0 6px rgba(200,220,255,.7))}.info-block__particle--butterfly{animation:butterfly-flutter ease-in-out infinite,butterfly-wingflap ease-in-out infinite;animation-duration:inherit,.35s}.info-block__particle--leaf{animation:leaf-fall linear infinite}.info-block__particle--confetti{animation:confetti-pop ease-out infinite}.info-block__particle--music-note{animation:note-float ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(180,130,255,.5))}.info-block__particle--heart{animation:heart-float ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,68,102,.6))}.info-block__particle--fire{animation:fire-rise linear infinite}@keyframes sparkle-fall{0%{opacity:0;transform:scale(0) rotate(0)}20%{opacity:1;transform:scale(1) rotate(45deg)}50%{opacity:1;transform:scale(1.2) rotate(90deg)}80%{opacity:.6;transform:scale(.8) rotate(135deg)}to{opacity:0;transform:scale(0) rotate(180deg)}}@keyframes snow-fall{0%{opacity:0;transform:translateY(-20px) translate(0) scale(.6)}15%{opacity:1;transform:translateY(0) translate(5px) scale(1)}50%{opacity:.8;transform:translateY(20px) translate(-8px) scale(.9)}85%{opacity:.5;transform:translateY(40px) translate(6px) scale(.7)}to{opacity:0;transform:translateY(50px) translate(-3px) scale(.5)}}@keyframes butterfly-flutter{0%{opacity:0;transform:translate(0) rotate(0) scale(.6)}10%{opacity:1;transform:translate(8px,-6px) rotate(5deg) scale(1)}25%{transform:translate(-10px,-12px) rotate(-8deg) scale(1)}40%{transform:translate(15px,-4px) rotate(6deg) scale(1)}55%{transform:translate(-8px,-14px) rotate(-5deg) scale(1)}70%{transform:translate(12px,-8px) rotate(7deg) scale(1)}85%{opacity:1;transform:translate(-5px,-2px) rotate(-3deg) scale(.9)}to{opacity:0;transform:translate(10px,-10px) rotate(0) scale(.5)}}@keyframes butterfly-wingflap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.35)}}@keyframes leaf-fall{0%{opacity:0;transform:translateY(-15px) rotate(0) scale(.6)}20%{opacity:1;transform:translateY(0) rotate(30deg) translate(10px) scale(1)}50%{opacity:.9;transform:translateY(15px) rotate(-20deg) translate(-12px) scale(.95)}80%{opacity:.5;transform:translateY(35px) rotate(40deg) translate(8px) scale(.8)}to{opacity:0;transform:translateY(50px) rotate(60deg) translate(-5px) scale(.6)}}@keyframes confetti-pop{0%{opacity:0;transform:scale(0) rotate(0)}20%{opacity:1;transform:scale(1.3) rotate(45deg)}40%{opacity:1;transform:scale(1) rotate(90deg) translateY(5px)}70%{opacity:.6;transform:scale(.8) rotate(180deg) translateY(20px)}to{opacity:0;transform:scale(.4) rotate(270deg) translateY(35px)}}@keyframes note-float{0%{opacity:0;transform:translateY(15px) scale(.5)}20%{opacity:1;transform:translateY(5px) translate(5px) scale(1)}50%{opacity:1;transform:translateY(-10px) translate(-5px) scale(1.1)}80%{opacity:.5;transform:translateY(-25px) translate(3px) scale(.9)}to{opacity:0;transform:translateY(-35px) scale(.6)}}@keyframes heart-float{0%{opacity:0;transform:translateY(10px) scale(.3)}25%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-12px) translate(5px) scale(1.15)}75%{opacity:.5;transform:translateY(-25px) translate(-3px) scale(.9)}to{opacity:0;transform:translateY(-35px) scale(.5)}}@keyframes fire-rise{0%{opacity:0;transform:translateY(10px) scale(.5)}20%{opacity:1;transform:translateY(0) scale(1) translate(3px)}40%{opacity:1;transform:translateY(-8px) scale(1.1) translate(-4px)}60%{opacity:.8;transform:translateY(-18px) scale(.9) translate(5px)}80%{opacity:.4;transform:translateY(-28px) scale(.7) translate(-2px)}to{opacity:0;transform:translateY(-35px) scale(.4)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%{opacity:.2}to{opacity:.4}}@media(prefers-reduced-motion:reduce){.info-block__sparkles{display:none}.info-block__featured-glow{animation:none}.info-block--featured:after{animation:none}}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.info-block--hero .info-block__title,.info-block--hero .info-block__day{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.info-block--hero .info-block__weekday,.info-block--hero .info-block__month,.info-block--hero .info-block__line,.info-block--hero .info-block__line span{color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.4)}.info-block--hero .info-block__line svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.info-block--hero .info-block__expand-btn,.info-block--hero .info-block__expand-btn span{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.info-block--hero .info-block__expand-btn svg,.info-block--hero .info-block__expand-btn span svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.info-block--hero .info-block__expand-btn:hover{color:#fff!important}.info-block--hero .badge{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.info-block--hero .badge.ok{background:rgba(var(--ok-rgb, 34, 197, 94),.3);border-color:rgba(var(--ok-rgb, 34, 197, 94),.5)}.info-block--hero .badge.neutral{background:#fff3;border-color:#ffffff4d}.info-block--hero .badge.bad{background:rgba(var(--bad-rgb, 239, 68, 68),.3);border-color:rgba(var(--bad-rgb, 239, 68, 68),.5)}.info-block--hero .info-block__status-badges .badge.bad{background:var(--bad);color:#fff;border:none}.info-block--hero .info-block__status-badges .badge.accent{background:var(--accent);color:var(--text);border:none}.info-block__hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;filter:brightness(.5);opacity:.9}.info-block__dates{display:flex;align-items:center;gap:var(--s-2);flex-shrink:0;position:relative;z-index:1}.info-block__date{display:flex;flex-direction:column;align-items:center;width:3.5rem}.info-block__date-arrow{color:var(--text-muted);font-size:var(--fs-sm)}.info-block__weekday,.info-block__month{font-size:var(--fs-sm);color:var(--text-muted);text-transform:uppercase;font-weight:500}.info-block__day{font-size:var(--fs-4xl);font-weight:700;line-height:1.1;color:var(--text)}.info-block__time{font-size:var(--fs-sm);color:var(--text-muted);margin-top:var(--s-1)}.info-block__details{flex:1;min-width:0;display:flex;position:relative;z-index:1;flex-direction:column;gap:var(--s-2)}.info-block__header{display:flex;flex-direction:column;gap:var(--s-1)}.info-block__title-row{display:flex;align-items:center;gap:var(--s-2)}.info-block__title{font-weight:700;font-size:var(--fs-lg);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-block__status-badges{position:absolute;top:var(--s-3);right:var(--s-3);display:flex;gap:var(--s-1);z-index:3}.info-block__status-badges .badge{white-space:nowrap}.info-block__status-badges .badge--live{animation:pulse-live 1.5s ease-in-out infinite}.info-block__action-badges{display:flex;flex-wrap:wrap;gap:var(--s-1)}.info-block__action-badges .badge{font-size:var(--fs-xxs);padding:1px var(--s-2);line-height:1.4}.info-block__stats-badges{display:flex;flex-wrap:wrap;gap:var(--s-2)}.info-block__line{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-muted);line-height:1}.info-block__line--top{align-items:flex-start}.info-block__line svg{flex-shrink:0;display:block}.info-block__time-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2)}.info-block__expand-btn{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:var(--s-1);font-size:var(--fs-sm);color:var(--text-muted);background:none;border:none;padding:var(--s-3) var(--s-4);cursor:pointer;font-family:inherit;flex-shrink:0;z-index:2;border-radius:var(--r-sm)}.info-block__expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.info-block__expand-icon{transition:transform var(--transition-fast)}.info-block__expand-btn--expanded .info-block__expand-icon{transform:rotate(180deg)}.info-block__expandable{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.info-block__expandable--expanded{grid-template-rows:1fr}.info-block__expandable-content{overflow:hidden;display:flex;flex-direction:column;gap:var(--s-2)}.info-block__badges{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-2)}.info-block__category{display:flex;align-items:center;gap:var(--s-1);font-size:var(--fs-sm);color:var(--text-muted)}.info-block__category svg{flex-shrink:0}.info-block__back-content{display:flex;flex-direction:column;gap:var(--s-3)}.info-block__icon{flex-shrink:0}.public-slider{padding:var(--s-4) 0 0;position:relative;overflow:clip}.public-slider h3{padding:0 var(--s-4)}.public-slider__track{display:flex;gap:var(--s-3);overflow-x:auto;-webkit-overflow-scrolling:touch;padding:var(--s-2) var(--s-4) var(--s-4);touch-action:pan-x;-webkit-user-select:none;user-select:none}.public-slider__track--nudge{cursor:grab;will-change:transform;animation:slider-soft 1.1s ease-out .35s 1 both}.public-slider__track--nudge:active{cursor:grabbing}.public-slider__track{scrollbar-width:none;-ms-overflow-style:none}.public-slider__track::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){.public-slider__track{animation:none}}.public-slider--fade-left:before,.public-slider--fade-right:after{content:"";position:absolute;top:0;bottom:0;width:1.75rem;pointer-events:none;z-index:2}.public-slider--fade-left:before{left:0;background:linear-gradient(to right,var(--surface-variant),transparent)}.public-slider--fade-right:after{right:0;background:linear-gradient(to left,var(--surface-variant),transparent)}.public-slider__card{flex-shrink:0;width:7rem;height:7rem;border-radius:var(--r-md);overflow:hidden;position:relative;cursor:pointer;border:none;padding:0;background:none;font:inherit;color:inherit;text-align:left;transition:transform var(--transition-fast)}.public-slider__card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.public-slider__card:active{transform:scale(.96)}.public-slider__card--featured{border:2px solid var(--accent);box-shadow:0 0 10px #d4af374d}.public-slider__card--wiggle{animation:slider-wiggle .6s ease-in-out}.public-slider__card--more{background:color-mix(in srgb,var(--surface) 70%,transparent);border:2px dashed var(--primary-weak);padding:var(--s-2);display:flex;align-items:center;justify-content:center}.public-slider__card-more-label{font-size:var(--fs-sm);font-weight:600;color:var(--text);text-align:center;line-height:1.3}.public-slider__card-bg{position:absolute;inset:0;background-size:cover;background-position:center}.public-slider__card-bg--gradient{display:flex;align-items:center;justify-content:center}.public-slider__card-logo{width:3rem;height:3rem;object-fit:contain;opacity:.4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.public-slider__card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end}.public-slider__card-name{font-size:var(--fs-sm);font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-slider__card-name--center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--fs-sm);font-weight:700;text-align:center;width:calc(100% - var(--s-4));white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-shadow:0 1px 4px rgba(0,0,0,.4)}.public-slider__card-bottom{background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:var(--s-6) var(--s-2) var(--s-2);display:flex;flex-direction:column;gap:2px}.public-slider__card-count{font-size:var(--fs-xs);color:#fffc}.public-slider__card-badge{position:absolute;top:var(--s-2);right:var(--s-2);background:#22c55ee6;color:#fff;font-size:var(--fs-xxs);font-weight:600;padding:2px var(--s-2);border-radius:var(--r-sm)}@keyframes slider-soft{0%{transform:translate(0) scale(1)}60%{transform:translate(-10px) scale(1)}70%{transform:translate(8px) scale(1.002)}80%{transform:translate(-6px) scale(.998)}90%{transform:translate(4px) scale(1.001)}to{transform:translate(0) scale(1)}}@keyframes slider-wiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-3deg)}30%{transform:rotate(3deg)}45%{transform:rotate(-2.5deg)}60%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}90%{transform:rotate(.5deg)}}.entry-logo{background:none;border:none;cursor:pointer;justify-self:center;position:relative;display:inline-flex;align-items:center;height:2.75rem;padding:var(--s-1) var(--s-2)}.entry-logo:focus-visible{outline:none}.entry-logo:focus-visible:after{content:"";position:absolute;inset:-4px 0 0;right:-2.75rem;border:2px solid var(--accent);border-radius:8px;pointer-events:none}.entry-logo__name{height:1.75rem;width:auto;filter:brightness(0) invert(1)}.entry-logo__ticket{position:absolute;right:-2.625rem;top:-.375rem;height:3.75rem;width:auto;pointer-events:none}.offline-banner{--banner-bg: var(--warn);--banner-text: var(--text-inverse);position:sticky;top:0;z-index:11;background:var(--banner-bg);color:var(--banner-text);padding:var(--s-2) var(--s-4);text-align:center;font-size:var(--fs-sm);font-weight:600;box-shadow:0 2px 8px #00000026}.bottom-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .2s ease-out}.bottom-sheet{width:100%;max-width:none;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--s-2) 0 calc(var(--s-4) + env(safe-area-inset-bottom));animation:slideUp .25s ease-out}.bottom-sheet__handle{width:2.25rem;height:var(--s-1);background:var(--text-muted);border-radius:var(--s-1);margin:0 auto var(--s-3);opacity:.4}.bottom-sheet__item{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);background:none;border:none;color:var(--text);font-size:var(--fs-base);text-align:left;cursor:pointer;transition:background .15s}@media(hover:hover){.bottom-sheet__item:hover{background:var(--surface-variant);color:var(--primary)}}.bottom-sheet__item:focus-visible{background:var(--surface-variant);color:var(--primary);outline:2px solid var(--primary);outline-offset:-2px}.bottom-sheet__item--destructive{color:var(--bad)}.bottom-sheet__item-icon{display:flex;align-items:center;justify-content:center;width:var(--icon-lg);height:var(--icon-lg)}.bottom-sheet__item-icon svg,.bottom-sheet__item-icon img{width:var(--icon-md);height:var(--icon-md)}.bottom-sheet__item-label{flex:1}.bottom-sheet__section{padding:var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.bottom-sheet__title{margin:0;font-size:var(--fs-lg)}.bottom-sheet__divider{height:1px;background:var(--border);margin:var(--s-2) var(--s-4)}.bottom-sheet__version{padding:var(--s-3) var(--s-4);color:var(--text-muted);font-size:var(--fs-xs);text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.topbar{height:4.5rem;background:linear-gradient(to bottom,var(--header-bg) 0%,transparent 50%),linear-gradient(150deg,var(--header-bg) 0%,var(--header-bg) 20%,var(--header-bg-end) 100%);mask-image:linear-gradient(to bottom,black 90%,transparent);-webkit-mask-image:linear-gradient(to bottom,black 90%,transparent);color:var(--header-text);display:grid;grid-template-columns:3.125rem 1fr 3.125rem;align-items:center;padding:0 var(--s-4) 2px;position:sticky;top:-1px;margin-top:-1px;border:none;outline:none;box-shadow:none;z-index:10;will-change:transform;transition:transform .3s ease-out}.topbar--hero-visible{background:transparent;border-bottom-color:transparent}.topbar__left{display:flex;justify-content:flex-start}.topbar__right{display:flex;justify-content:flex-end;gap:var(--s-1)}.topbar .topbar__btn{color:var(--header-text);border:none;background:transparent;width:2.25rem;height:2.25rem;border-radius:var(--r-xs)}.topbar .topbar__btn svg{fill:var(--header-text)}.topbar .topbar__btn img{filter:brightness(0) invert(1)}@media(hover:hover){.topbar .topbar__btn:hover{background:#ffffff26}}.topbar .topbar__btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.topbar-title{font-weight:800;font-size:var(--fs-lg);text-align:center;justify-self:center;position:relative;letter-spacing:.2px;pointer-events:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;background:none;border:none;color:var(--header-text);padding:var(--s-1) var(--s-2);cursor:pointer}.topbar-title:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:var(--r-xs)}.topbar-title--clickable{cursor:pointer}.bottom-nav-container{position:fixed;bottom:0;left:0;right:0;z-index:100;will-change:transform;transition:transform .3s ease-out}.bottom-nav-container__fabs{position:absolute;bottom:100%;left:0;right:0;padding:0 var(--s-4) var(--s-3);display:flex;justify-content:flex-end;align-items:flex-end;gap:var(--s-3);pointer-events:none}.bottom-nav-container__fabs>*{pointer-events:auto}.bottom-nav{display:flex;background:var(--surface-variant);border-top:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));padding:var(--s-2) var(--s-4);gap:var(--s-3)}.bottom-nav--disabled{opacity:.5;pointer-events:none}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--s-1);padding:var(--s-2) var(--s-1);background:transparent;border:none;border-radius:var(--r-md);cursor:pointer;color:var(--text-muted);transition:all .3s ease-out;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}@media(hover:hover){.bottom-nav__item:hover:not(:disabled){color:var(--text)}}.bottom-nav__item:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.bottom-nav__item--active{color:var(--text)}.bottom-nav__item:disabled{opacity:.4;cursor:not-allowed}.bottom-nav__icon{position:relative;display:flex;align-items:center;justify-content:center;width:var(--icon-lg);height:var(--icon-lg);transition:all .3s ease-out}.bottom-nav__icon .count-badge{position:absolute;top:-.25rem;right:-.5rem;min-width:1rem;height:1rem;border-radius:1rem;background:var(--bad);color:var(--text-inverse);font-size:var(--fs-xxs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 .25rem;line-height:1}.bottom-nav__icon svg{width:100%;height:100%;transition:all .3s ease-out}.bottom-nav__icon-img{width:100%;height:100%;background-color:var(--text-muted);mask-image:url(/icons/material/event.svg);mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-image:url(/icons/material/event.svg);-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;transition:all .3s ease-out}.bottom-nav__icon-img--user{mask-image:url(/icons/material/person.svg);-webkit-mask-image:url(/icons/material/person.svg)}.bottom-nav__icon-img--ticket{mask-image:url(/icons/material/confirmation_number.svg);-webkit-mask-image:url(/icons/material/confirmation_number.svg)}.bottom-nav__icon-img--chat{mask-image:url(/icons/material/chat_bubble.svg);-webkit-mask-image:url(/icons/material/chat_bubble.svg)}.bottom-nav__icon-img--inbox{mask-image:url(/icons/material/notifications.svg);-webkit-mask-image:url(/icons/material/notifications.svg);transform-origin:top center}.bottom-nav__icon-img--ringing{animation:navBellRing .8s ease-in-out forwards}.bottom-nav__icon-img--profile{mask-image:url(/icons/material/person.svg);-webkit-mask-image:url(/icons/material/person.svg)}.bottom-nav__item--active .bottom-nav__icon-img{background-color:var(--text)}@media(hover:hover){.bottom-nav__item:hover:not(:disabled) .bottom-nav__icon-img{background-color:var(--text)}}.bottom-nav__label{font-size:var(--fs-sm);font-weight:700;transition:all .3s ease-out}@keyframes navBellRing{0%{transform:rotate(0)}15%{transform:rotate(-12deg)}30%{transform:rotate(12deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}90%{transform:rotate(4deg)}to{transform:rotate(0)}}.debug{position:fixed;bottom:5.625rem;right:5.3125rem;z-index:9999;opacity:.05;transition:opacity .2s ease}.debug:hover{opacity:1}.debug--no-fab{right:var(--s-5)}.debug__toggle{padding:var(--s-2) var(--s-3);background:#333;color:#fff;border:none;border-radius:4px;font-size:var(--fs-xs);cursor:pointer;box-shadow:0 2px 8px #0003}.debug__toggle:hover{background:#444}.debug__menu{position:absolute;bottom:100%;right:0;margin-bottom:var(--s-2);background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 16px #00000026;max-height:25rem;overflow-y:auto;min-width:12.5rem}.debug__item{display:block;width:100%;padding:var(--s-3) var(--s-4);background:none;border:none;text-align:left;font-size:var(--fs-sm);cursor:pointer;border-bottom:1px solid #eee}.debug__item:last-child{border-bottom:none}.debug__item:hover{background:#f5f5f5}.layout-debug__toggle{position:fixed;bottom:6rem;right:var(--s-2);z-index:9999;width:2rem;height:2rem;border-radius:50%;border:none;background:#0009;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.layout-debug{position:fixed;top:4.5rem;right:var(--s-2);z-index:9999;background:#000000d9;color:#0f0;font-family:monospace;font-size:10px;line-height:1.3;border-radius:6px;max-height:70vh;overflow-y:auto;width:220px;pointer-events:auto}.layout-debug__header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-weight:700;font-size:11px;border-bottom:1px solid rgba(255,255,255,.2)}.layout-debug__header button{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;padding:0}.layout-debug__body{padding:4px 8px}.layout-debug__row{display:flex;justify-content:space-between;gap:4px;padding:1px 0;border-bottom:1px solid rgba(255,255,255,.05)}.layout-debug__label{color:#aaa;flex-shrink:0}.layout-debug__value{text-align:right;word-break:break-all}.toast-container{position:fixed;bottom:calc(var(--bottomnav-height, 4.5rem) + var(--s-4));left:var(--s-4);right:var(--s-4);z-index:9999;display:flex;flex-direction:column;gap:var(--s-2);pointer-events:none}.toast-container>*{pointer-events:auto}.toast{background:var(--surface);border-radius:var(--r-md);box-shadow:0 4px 12px #00000026;overflow:hidden;animation:toast-slide-in .2s ease-out}.toast--exiting{animation:toast-slide-out .2s ease-in forwards}.toast--success .toast__icon{color:var(--ok)}.toast--success .toast__progress-bar{background:var(--ok)}.toast--error .toast__icon{color:var(--bad)}.toast--error .toast__progress-bar{background:var(--bad)}.toast--warning .toast__icon{color:var(--warning, #f59e0b)}.toast--warning .toast__progress-bar{background:var(--warning, #f59e0b)}.toast--info .toast__icon{color:var(--accent)}.toast--info .toast__progress-bar{background:var(--accent)}.toast__content{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.toast__icon{font-size:var(--fs-lg);font-weight:700;flex-shrink:0}.toast__message{flex:1;font-size:var(--fs-md);color:var(--text)}.toast__close{background:none;border:none;color:var(--text-muted);font-size:var(--fs-md);cursor:pointer;padding:var(--s-1);margin:calc(var(--s-1) * -1);border-radius:var(--r-sm);transition:color .15s ease,background-color .15s ease}.toast__close:hover{color:var(--text);background:var(--surface-dim)}.toast__progress{height:3px;background:var(--border)}.toast__progress-bar{height:100%;transition:width .05s linear}@keyframes toast-slide-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}
