:root{--bg:#f7f7f5;--surface:#fff;--ink:#202125;--ink-2:#6b6f76;--ink-3:#9a9ea5;--accent:#16b8c4;--accent-ink:#08707a;--accent-soft:#dff5f7;--line:#20212512;--r-sm:12px;--r-md:18px;--r-lg:24px;--r-pill:999px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--shadow-1:0 1px 2px #2021250a, 0 4px 14px #2021250f;--shadow-2:0 10px 30px #20212524;--ease:cubic-bezier(.22, .8, .3, 1);--t-fast:.18s;--t-med:.24s;--nav-h:72px;--max:1200px;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav-h) + 16px)}body{background:var(--bg);margin:0}h1,h2,h3,p,ul,dl,dd{margin:0;padding:0}ul{list-style:none}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}input{font:inherit;color:inherit}img{display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.site{flex-direction:column;min-height:100vh;display:flex}.site__main{flex:1}.site--map{height:100vh}.site--map .site__main{min-height:0;display:flex}.page{width:100%;max-width:var(--max);padding:var(--s4) var(--s3) var(--s6);animation:fade-in var(--t-med) var(--ease);margin:0 auto}.page--narrow{max-width:760px}.page-head{align-items:baseline;gap:4px var(--s2);margin:var(--s3) 0 var(--s3);flex-wrap:wrap;display:flex}.page-title{letter-spacing:-.03em;font-size:36px;font-weight:800;line-height:1.1}.page-title--small{font-size:24px}.page-sub{color:var(--ink-2);flex:100%;font-size:16px}.page-head .pill-button{margin-left:auto}.button{justify-content:center;align-items:center;gap:var(--s1);min-height:48px;padding:0 var(--s3);border-radius:var(--r-pill);transition:transform var(--t-fast) var(--ease), background var(--t-fast), box-shadow var(--t-fast);font-size:16px;font-weight:700;display:inline-flex}.button--primary{background:var(--accent);color:#05363b;box-shadow:0 6px 18px #16b8c459}.button--primary:hover:not(:disabled){background:#12a7b2;transform:translateY(-1px)}.button--primary:active:not(:disabled){transform:scale(.98)}.button--primary:disabled{color:var(--ink-3);box-shadow:none;background:#d8dadd}.button--large{min-height:56px;font-size:17px}.button--block{width:100%}.pill-button{min-height:44px;padding:0 var(--s2);border-radius:var(--r-pill);transition:background var(--t-fast), transform var(--t-fast) var(--ease);background:#ecece8;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.pill-button:hover{background:#e1e1dc}.pill-button:active{transform:scale(.97)}.pill-button--accent{background:var(--accent-soft);color:var(--accent-ink)}.pill-button--accent:hover{background:#c9edf0}.text-button{min-height:44px;color:var(--accent-ink);padding:0 4px;font-size:14px;font-weight:700}.text-button:hover,.inline-link:hover{text-decoration:underline}.inline-link{color:var(--accent-ink);font-weight:700}.round-button{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast), opacity var(--t-fast);border-radius:50%;place-items:center;display:grid}.round-button:hover:not(:disabled){box-shadow:var(--shadow-2)}.round-button:active:not(:disabled){transform:scale(.92)}.round-button:disabled{opacity:.35;box-shadow:none}.back-link{min-height:44px;padding-right:var(--s2);color:var(--ink-2);align-items:center;gap:2px;font-size:15px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--ink)}.badge{border-radius:var(--r-pill);background:#fff;align-items:center;padding:5px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 6px #0000001f}.badge--hot{color:#b3410a;background:#ffefe6}.badge--warn{color:#8a5a00;background:#fff1cc}.badge--free{color:#1c6b45;background:#e3f5ea}.badge--new{color:var(--accent-ink);background:#e6f6f8}.badge--weekend{color:#5134c9;background:#efebff}.category-chip{border-radius:var(--r-pill);background:var(--chip-bg);color:color-mix(in srgb, var(--chip-ink) 70%, #000);white-space:nowrap;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.fav-button{width:44px;height:44px;color:var(--ink);transition:transform var(--t-fast) var(--ease), color var(--t-fast), background var(--t-fast);border-radius:50%;place-items:center;display:inline-grid}.fav-button:hover{background:#2021250f}.fav-button:active{transform:scale(.88)}.fav-button.is-active{color:#e5484d}.fav-button.is-active svg{animation:pop .32s var(--ease)}.fav-button--labelled{width:auto;padding:0 var(--s2);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);flex:none;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.fav-button--labelled:hover{box-shadow:var(--shadow-2);background:#fff}.smart-image{background:linear-gradient(135deg, var(--tone-soft), color-mix(in srgb, var(--tone) 35%, #fff));display:block;position:absolute;inset:0;overflow:hidden}.smart-image__placeholder{color:color-mix(in srgb, var(--tone) 80%, #000);background-image:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%);background-size:220% 100%;place-items:center;animation:1.6s linear infinite shimmer;display:grid;position:absolute;inset:0}.smart-image[data-status=error] .smart-image__placeholder,.smart-image[data-status=loaded] .smart-image__placeholder{background-image:none;animation:none}.smart-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .4s var(--ease), transform .6s var(--ease);position:absolute;inset:0}.smart-image[data-status=loaded] img{opacity:1}.top-nav{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);background:#f7f7f5e0;position:sticky;top:0}.top-nav__inner{align-items:center;gap:var(--s3);max-width:var(--max);height:var(--nav-h);padding:0 var(--s3);margin:0 auto;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;min-height:44px;font-size:22px;font-weight:800;display:inline-flex}.brand__mark{background:var(--accent);color:#05363b;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.city-picker{position:relative}.city-button{border-radius:var(--r-md);min-height:44px;transition:background var(--t-fast);flex-direction:column;justify-content:center;align-items:flex-start;padding:0 12px;display:flex}.city-button:hover{background:#2021250f}.city-button__label{color:var(--ink-2);font-size:11px;font-weight:500}.city-button__city{align-items:center;gap:2px;font-size:15px;font-weight:800;display:inline-flex}.popover{z-index:50;border-radius:var(--r-md);background:var(--surface);min-width:220px;box-shadow:var(--shadow-2);animation:pop-in var(--t-fast) var(--ease);padding:6px;position:absolute;top:calc(100% + 8px);left:0}.popover__item{justify-content:space-between;align-items:center;gap:var(--s2);border-radius:var(--r-sm);width:100%;min-height:44px;padding:0 12px;font-weight:700;display:flex}.popover__item:hover{background:var(--bg)}.popover__item[aria-disabled=true]{color:var(--ink-3)}.popover__soon{white-space:nowrap;border-radius:var(--r-pill);color:var(--ink-2);background:#efefec;padding:3px 8px;font-size:12px;font-weight:600}.nav-search{min-width:200px;max-width:560px;min-height:48px;padding:0 6px 0 var(--s2);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);transition:box-shadow var(--t-fast);flex:1;align-items:center;gap:10px;display:flex}.nav-search:focus-within{box-shadow:0 0 0 2.5px var(--accent)}.nav-search svg{flex:none}.nav-search input{appearance:none;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px}.nav-search input::-webkit-search-cancel-button{display:none}.nav-search input::placeholder{color:var(--ink-2)}.nav-search__clear{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.nav-search__clear:hover{background:#2021250f}.nav-links{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-link{border-radius:var(--r-pill);min-height:44px;color:var(--ink-2);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex;position:relative}.nav-link:hover{color:var(--ink);background:#2021250f}.nav-link.is-active{background:var(--accent-soft);color:var(--accent-ink)}.nav-count{border-radius:var(--r-pill);color:#fff;background:#e5484d;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;display:grid}.nav-avatar{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-1);transition:box-shadow var(--t-fast);border-radius:50%;place-items:center;margin-left:4px;display:grid}.nav-avatar:hover{box-shadow:var(--shadow-2)}.nav-avatar.is-active{background:var(--accent-soft);color:var(--accent-ink)}.hero{gap:var(--s3);grid-template-columns:1fr 1.05fr;align-items:stretch;display:grid}.hero__intro{padding:var(--s3) var(--s3) var(--s3) 0;flex-direction:column;justify-content:center;display:flex}.hero__title{letter-spacing:-.04em;font-size:56px;font-weight:800;line-height:1.02}.hero__text{margin:var(--s2) 0 var(--s4);color:var(--ink-2);font-size:20px}.hero__search{justify-content:space-between;align-items:center;gap:var(--s2);min-height:64px;padding:0 8px 0 var(--s3);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink-2);transition:box-shadow var(--t-fast), transform var(--t-fast) var(--ease);font-size:16px;display:flex}.hero__search:hover{box-shadow:var(--shadow-2)}.hero__search:active{transform:scale(.99)}.hero__search-button{min-height:48px;padding:0 var(--s3);border-radius:var(--r-pill);background:var(--accent);color:#05363b;place-items:center;font-weight:700;display:grid}.promo-card{border-radius:var(--r-lg);color:#fff;min-height:320px;transition:transform var(--t-med) var(--ease), box-shadow var(--t-med);background:linear-gradient(135deg,#0e8f9a 0%,#16b8c4 45%,#5ad6c2 100%);display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px #16b8c44d}.promo-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px #16b8c461}.promo-card:hover .smart-image img{transform:scale(1.05)}.promo-card__glow{background:radial-gradient(circle at 85% 15%,#ffd6788c,#0000 42%),radial-gradient(circle at 10% 110%,#7a5af873,#0000 50%);animation:9s ease-in-out infinite alternate drift;position:absolute;inset:0}.promo-card__text{z-index:1;width:56%;padding:var(--s4);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;display:flex;position:relative}.promo-card__eyebrow{border-radius:var(--r-pill);background:#ffffff38;padding:5px 12px;font-size:13px;font-weight:700}.promo-card__title{letter-spacing:-.03em;margin-top:10px;font-size:34px;font-weight:800;line-height:1.08}.promo-card__subtitle{opacity:.92;font-size:16px}.promo-card__cta{border-radius:var(--r-pill);color:#06555c;background:#fff;align-items:center;gap:8px;min-height:44px;margin-top:14px;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.promo-card__visual{z-index:1;border-radius:28px;width:46%;position:absolute;top:24px;bottom:24px;right:-32px;overflow:hidden;transform:rotate(5deg);box-shadow:0 12px 32px #00000047}.category-tiles{margin-top:var(--s4);grid-template-columns:repeat(8,1fr);gap:12px;display:grid}.category-tile{border-radius:var(--r-md);background:var(--tile-bg);min-height:104px;color:var(--tile-ink);transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:14px 6px;display:flex;box-shadow:inset 0 0 0 2px #0000}.category-tile:hover{transform:translateY(-3px)}.category-tile:active{transform:scale(.96)}.category-tile.is-active{box-shadow:inset 0 0 0 2.5px var(--tile-ink), 0 8px 18px color-mix(in srgb, var(--tile-ink) 22%, transparent)}.category-tile__icon{background:#ffffffa6;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.category-tile__label{text-align:center;font-size:14px;font-weight:700;line-height:1.1}.feed-section{margin-top:var(--s5)}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--s2);margin-bottom:var(--s2);display:flex}.section-header__title{letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.15}.section-header__subtitle{color:var(--ink-2);margin-top:4px;font-size:15px}.section-header__actions{align-items:center;gap:var(--s2);display:flex}.see-all{min-height:44px;color:var(--accent-ink);align-items:center;font-size:15px;font-weight:700;display:inline-flex}.see-all:hover{text-decoration:underline}.carousel-controls{gap:8px;display:inline-flex}.carousel{gap:var(--s2);padding:8px 8px var(--s2);scroll-snap-type:x mandatory;scrollbar-width:none;margin:-8px -8px 0;scroll-padding-inline:8px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.carousel>*{width:calc((100% - 3 * var(--s2)) / 4);scroll-snap-align:start;flex:none;min-width:260px}.card-grid{gap:var(--s3) var(--s2);grid-template-columns:repeat(4,1fr);display:grid}.row-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.event-card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-1);transition:transform var(--t-med) var(--ease), box-shadow var(--t-med);position:relative}.event-card:hover{box-shadow:var(--shadow-2);transform:translateY(-4px)}.event-card:hover .smart-image img{transform:scale(1.05)}.event-card:has(.event-card__link:active){transform:scale(.985)}.event-card__link{border-radius:inherit;display:block}.event-card__media{aspect-ratio:16/10;border-radius:var(--r-lg) var(--r-lg) 0 0;display:block;position:relative;overflow:hidden}.event-card__badge{z-index:1;position:absolute;top:12px;left:12px}.event-card__fav{z-index:2;background:#fffffff2;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000029}.event-card__fav:hover{background:#fff}.event-card__body{padding:14px var(--s2) var(--s2);flex-direction:column;gap:4px;min-width:0;display:flex}.event-card__title{letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.event-card__meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.event-card__footer{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.event-card__price{font-size:15px;font-weight:800}.event-card__price.is-free{color:#1c6b45}.event-card__distance{color:var(--ink-2);font-size:13px}.event-card--row{border-radius:var(--r-md);align-items:center;padding-right:4px;display:flex}.event-card--row .event-card__link{flex:1;align-items:center;gap:14px;min-width:0;padding:10px;display:flex}.event-card__thumb{border-radius:14px;flex:none;width:88px;height:88px;position:relative;overflow:hidden}.event-card--row .event-card__body{flex:1;padding:0}.event-card--row .event-card__title{-webkit-line-clamp:1;font-size:15px}.event-layout{gap:var(--s5);margin-top:var(--s1);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.event-hero{border-radius:var(--r-lg);height:440px;box-shadow:var(--shadow-1);position:relative;overflow:hidden}.event-head{margin-top:var(--s3)}.event-head__chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-head__row{justify-content:space-between;align-items:flex-start;gap:var(--s2);margin-top:12px;display:flex}.event-title{letter-spacing:-.04em;font-size:44px;font-weight:800;line-height:1.05}.event-lead{color:var(--ink-2);margin-top:10px;font-size:18px;line-height:1.5}.quick-stats{margin-top:var(--s2);flex-wrap:wrap;gap:8px;display:flex}.quick-stat{border-radius:var(--r-pill);background:var(--surface);min-height:38px;box-shadow:var(--shadow-1);align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.quick-stat--price{background:var(--ink);color:#fff;font-weight:700}.quick-stat--price.is-free{background:#1c6b45}.notice{margin-top:var(--s2);padding:12px var(--s2);border-radius:var(--r-md);color:#6b4500;background:#fff1cc;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.event-section{margin-top:var(--s5)}.event-section__title{letter-spacing:-.03em;margin-bottom:14px;font-size:24px;font-weight:800}.event-body{color:#3d4046;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:68ch;font-size:16px;line-height:1.65;display:-webkit-box;overflow:hidden}.event-body.is-expanded{display:block}.info-list{gap:0 var(--s4);padding:8px var(--s3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);grid-template-columns:1fr 1fr;display:grid}.info-row{align-items:center;gap:var(--s2);box-shadow:0 -1px 0 var(--line);padding:14px 0;display:flex}.info-row:nth-child(-n+2){box-shadow:none}.info-row__icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);border-radius:14px;flex:none;place-items:center;display:grid}.info-row__text{flex-direction:column;min-width:0;display:flex}.info-row__label{color:var(--ink-2);font-size:12px;font-weight:600}.info-row__value{font-size:15px;font-weight:600;line-height:1.35}.location-card{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.location-card__body{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);display:flex}.location-card__venue{font-weight:800}.location-card__address{color:var(--ink-2);margin-top:2px;font-size:14px}.organizer{gap:var(--s2);padding:var(--s3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);display:flex}.organizer__avatar{background:var(--tone-soft);width:52px;height:52px;color:var(--tone);border-radius:50%;flex:none;place-items:center;display:grid}.organizer__name{font-weight:800}.organizer__text{color:var(--ink-2);margin-top:2px;font-size:14px;line-height:1.5}.event-side{top:calc(var(--nav-h) + var(--s3));position:sticky}.ticket-panel{padding:var(--s3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2)}.ticket-panel__head{align-items:baseline;gap:8px;display:flex}.ticket-panel__from{color:var(--ink-2);font-size:14px;font-weight:600}.ticket-panel__price{letter-spacing:-.03em;font-size:32px;font-weight:800}.ticket-panel__title{margin-top:var(--s2);font-size:18px;font-weight:800}.ticket-panel__when{margin:6px 0 var(--s2);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.ticket-panel__when svg:nth-of-type(2){margin-left:8px}.ticket-list{flex-direction:column;gap:10px;display:flex}.ticket-type{border-radius:var(--r-md);background:var(--bg);transition:box-shadow var(--t-fast), background var(--t-fast);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:inset 0 0 0 2px #0000}.ticket-type.is-selected{box-shadow:inset 0 0 0 2px var(--accent);background:#effafb}.ticket-type__info{flex-direction:column;min-width:0;display:flex}.ticket-type__name{font-weight:800}.ticket-type__desc{color:var(--ink-2);font-size:13px}.ticket-type__price{margin-top:2px;font-size:15px;font-weight:700}.stepper{flex:none;align-items:center;gap:2px;display:flex}.stepper__button{background:var(--surface);width:44px;height:44px;box-shadow:var(--shadow-1);transition:transform var(--t-fast) var(--ease), opacity var(--t-fast);border-radius:50%;place-items:center;display:grid}.stepper__button:hover:not(:disabled){box-shadow:var(--shadow-2)}.stepper__button:active:not(:disabled){transform:scale(.88)}.stepper__button:disabled{opacity:.35;box-shadow:none}.stepper__button--add{background:var(--accent);color:#05363b}.stepper__button--add:disabled{background:var(--surface)}.stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-size:18px;font-weight:800}.ticket-summary{margin:var(--s3) 2px var(--s2);color:var(--ink-2);justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.ticket-summary strong{color:var(--ink);letter-spacing:-.02em;font-size:28px;font-weight:800}.ticket-note{text-align:center;color:var(--ink-3);margin-top:12px;font-size:12px}.search-columns{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.panel{padding:var(--s3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}.page--narrow .panel{margin-top:var(--s3)}.panel__head{justify-content:space-between;align-items:center;display:flex}.panel__title{letter-spacing:-.01em;font-size:18px;font-weight:800}.panel__title--spaced{margin-top:var(--s5);font-size:24px}.panel__title--icon{align-items:center;gap:10px;margin-bottom:12px;display:flex}.panel__title--icon svg{color:var(--accent-ink)}.panel__text{color:#3d4046;font-size:15px;line-height:1.6}.pill-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.search-pill{border-radius:var(--r-pill);background:var(--bg);min-height:44px;transition:background var(--t-fast), transform var(--t-fast) var(--ease);align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.search-pill svg{color:var(--accent-ink)}.search-pill:hover{background:var(--accent-soft)}.search-pill:active{transform:scale(.96)}.recent-item{color:#3d4046;align-items:center;gap:12px;width:100%;min-height:48px;font-size:16px;display:flex}.recent-item svg{color:var(--ink-3)}.recent-item:hover{color:var(--ink)}.empty-state{text-align:center;padding:var(--s6) var(--s3);animation:fade-in var(--t-med) var(--ease);flex-direction:column;align-items:center;display:flex}.empty-state__art{width:112px;height:112px;margin-bottom:var(--s4);background:var(--accent-soft);color:var(--accent-ink);border-radius:50%;place-items:center;display:grid;position:relative}.empty-state__ring{border:2px solid #16b8c440;border-radius:50%;position:absolute;inset:-14px}.empty-state__ring--outer{border-color:#16b8c41f;inset:-30px}.empty-state__title{letter-spacing:-.03em;max-width:420px;font-size:28px;font-weight:800;line-height:1.2}.empty-state__text{max-width:420px;margin:10px 0 var(--s3);color:var(--ink-2);font-size:16px;line-height:1.5}.profile-card{align-items:center;gap:var(--s3);padding:var(--s4);border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:linear-gradient(135deg,#e4f7f8,#fff);display:flex}.profile-card__avatar{background:linear-gradient(135deg, var(--accent), #7a5af8);color:#fff;border-radius:50%;place-items:center;width:80px;height:80px;display:grid}.profile-card__name{letter-spacing:-.03em;font-size:28px;font-weight:800}.profile-card__city{color:var(--ink-2);align-items:center;gap:4px;margin-top:2px;font-size:15px;display:flex}.profile-stats{gap:var(--s3);margin-left:auto;display:flex}.profile-stats div{text-align:center}.profile-stats dt{color:var(--ink-2);font-size:13px}.profile-stats dd{font-size:28px;font-weight:800}.booking-list{flex-direction:column;gap:8px;display:flex}.booking-item{border-radius:var(--r-md);background:var(--bg);min-height:64px;transition:background var(--t-fast);align-items:center;gap:12px;padding:12px;display:flex}.booking-item:hover{background:#efefec}.booking-item__icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);border-radius:14px;flex:none;place-items:center;display:grid}.booking-item__text{flex-direction:column;min-width:0;display:flex}.booking-item__title{font-weight:800}.booking-item__meta{color:var(--ink-2);font-size:13px}.switch-row{justify-content:space-between;align-items:center;gap:var(--s2);padding:14px 0;display:flex}.switch-row+.switch-row{box-shadow:0 -1px 0 var(--line)}.switch-row__label{font-weight:700}.switch-row__text{color:var(--ink-2);font-size:13px}.switch{border-radius:var(--r-pill);width:52px;height:32px;transition:background var(--t-fast);background:#d4d6da;flex:none;position:relative}.switch:before{content:"";position:absolute;inset:-6px 0}.switch.is-on{background:var(--accent)}.switch__thumb{width:26px;height:26px;transition:transform var(--t-fast) var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000040}.switch.is-on .switch__thumb{transform:translate(20px)}.map-page{flex:1;grid-template-columns:400px 1fr;width:100%;min-height:0;display:grid}.map-side{background:var(--bg);min-height:0;box-shadow:1px 0 0 var(--line);z-index:2;flex-direction:column;display:flex}.map-side__head{padding:var(--s3) var(--s3) var(--s2)}.map-list{min-height:0;padding:0 var(--s2) var(--s3);flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.map-row{border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1), inset 0 0 0 2px transparent;transition:box-shadow var(--t-fast), transform var(--t-fast) var(--ease);align-items:center;display:flex}.map-row:hover{box-shadow:var(--shadow-2), inset 0 0 0 2px transparent}.map-row.is-selected{box-shadow:inset 0 0 0 2.5px var(--accent), var(--shadow-1)}.map-row__hit{border-radius:var(--r-md);flex:1;align-items:center;gap:12px;min-width:0;padding:10px;display:flex}.map-row__thumb{border-radius:14px;flex:none;width:72px;height:72px;position:relative;overflow:hidden}.map-row__body{flex-direction:column;gap:2px;min-width:0;display:flex}.map-row__title{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.map-row__meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.map-row__price{color:var(--accent-ink);font-size:14px;font-weight:800}.map-row__price.is-free{color:#1c6b45}.map-stage{min-width:0;min-height:0;position:relative}.stylized-map{background:#eef0ec;position:absolute;inset:0;overflow:hidden}.stylized-map--preview{height:240px;position:relative;inset:auto}.stylized-map__layer{position:absolute;inset:0}.map-art{width:100%;height:100%;position:absolute;inset:0}.map-art__land{fill:#eceee8}.map-art__north{fill:#e4e7e0}.map-art__water{fill:#bfe6ee}.map-art__park{fill:#d3e9d0}.map-art__roads,.map-art__roads-major{fill:none;stroke:#fff;stroke-linecap:round}.map-art__roads path,.map-art__roads-major path{vector-effect:non-scaling-stroke}.map-art__roads path{stroke-width:5px}.map-art__roads-major path{stroke-width:9px}.map-label{letter-spacing:.04em;text-transform:uppercase;color:#8a8f87;pointer-events:none;white-space:nowrap;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.map-label--water{color:#5aa5b8;text-transform:none;font-size:14px;font-style:italic}.map-you{pointer-events:none;background:#2f80ed;border-radius:50%;width:16px;height:16px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff}.map-you__pulse{background:#2f80ed66;border-radius:50%;animation:2.2s ease-out infinite pulse;position:absolute;inset:-2px}.map-pin{z-index:2;min-width:44px;min-height:44px;transition:transform var(--t-fast) var(--ease), opacity var(--t-fast);justify-content:center;align-items:center;gap:6px;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.map-pin:before{content:"";background:var(--pin);border-radius:17px;width:calc(100% - 10px);min-width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff,0 5px 12px #00000047}.map-pin svg,.map-pin__price{z-index:1;color:#fff;position:relative}.map-pin__price{white-space:nowrap;padding-right:4px;font-size:13px;font-weight:800}.map-pin:hover,.map-pin.is-highlighted{z-index:3;transform:translate(-50%,-100%)scale(1.1)}.map-pin.is-selected{z-index:4;transform:translate(-50%,-100%)scale(1.15)}.map-pin.is-selected:before{background:color-mix(in srgb, var(--pin) 85%, #000)}.map-pin.is-dimmed{opacity:.55}.map-pin--focus{pointer-events:none}.map-legend{top:var(--s2);right:var(--s2);z-index:5;border-radius:var(--r-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:340px;box-shadow:var(--shadow-1);background:#fffffff0;flex-wrap:wrap;gap:6px 14px;padding:12px 16px;display:flex;position:absolute}.map-legend__item{color:#3d4046;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.map-legend__dot{border-radius:50%;width:10px;height:10px}.map-hint{left:50%;bottom:var(--s3);z-index:5;border-radius:var(--r-pill);box-shadow:var(--shadow-2);color:var(--ink-2);background:#fffffff5;padding:12px 20px;font-size:14px;font-weight:600;position:absolute;transform:translate(-50%)}.map-preview{left:50%;bottom:var(--s3);z-index:5;align-items:center;gap:var(--s2);border-radius:var(--r-lg);width:min(560px,100% - 48px);box-shadow:var(--shadow-2);animation:preview-in .3s var(--ease);background:#fff;padding:12px;display:flex;position:absolute;transform:translate(-50%)}.map-preview__thumb{border-radius:16px;flex:none;width:96px;height:96px;position:relative;overflow:hidden}.map-preview__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.map-preview__title{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;overflow:hidden}.map-preview__meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.map-preview__price{color:var(--accent-ink);margin-top:4px;font-weight:800}.map-preview__price.is-free{color:#1c6b45}.footer{justify-content:space-between;gap:var(--s3);max-width:var(--max);width:100%;padding:var(--s3);box-shadow:0 -1px 0 var(--line);color:var(--ink-2);flex-wrap:wrap;margin:0 auto;font-size:13px;display:flex}.footer a{color:var(--accent-ink);font-weight:700}.footer a:hover{text-decoration:underline}.toast-region{left:50%;bottom:var(--s4);z-index:100;pointer-events:none;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--r-md);background:var(--ink);color:#fff;box-shadow:var(--shadow-2);animation:toast-in .3s var(--ease), fade-out .3s ease 2.5s forwards;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:600;display:flex}.toast svg{color:#5ad6c2;flex:none}@media (width<=1100px){.category-tiles{grid-template-columns:repeat(4,1fr)}.card-grid{grid-template-columns:repeat(3,1fr)}.carousel>*{width:calc((100% - 2 * var(--s2)) / 3)}.event-layout{gap:var(--s4);grid-template-columns:minmax(0,1fr) 340px}.nav-link span:not(.nav-count){display:none}}@media (width<=900px){.hero{grid-template-columns:1fr}.hero__intro{padding-right:0}.hero__title{font-size:44px}.row-grid,.search-columns{grid-template-columns:1fr 1fr}.event-layout{grid-template-columns:1fr}.event-side{position:static}.map-page{grid-template-columns:320px 1fr}.city-button__label{display:none}}@media (width<=700px){.top-nav__inner{gap:var(--s1);padding:0 var(--s2)}.brand{font-size:0}.nav-search{min-width:0}.nav-link:not(:has(.nav-count)) svg+*{display:none}.card-grid,.row-grid,.search-columns,.info-list{grid-template-columns:1fr 1fr}.info-list{grid-template-columns:1fr}.info-row:nth-child(2){box-shadow:0 -1px 0 var(--line)}.carousel>*{width:70%}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes pop{40%{transform:scale(1.3)}}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}@keyframes preview-in{0%{opacity:0;transform:translate(-50%,16px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}@keyframes shimmer{to{background-position:-120% 0}}@keyframes drift{to{transform:translate(-4%,3%)scale(1.08)}}@keyframes pulse{to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
