@import url("https://fonts.googleapis.com/css2?family=Bungee&family=Karla:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap");:root{--bg:#F7F1DF;--bg-2:#EFE6C8;--surface:#FFFDF5;--surface-2:#F1EAD3;--text:#1A1A1A;--text-soft:#3D3226;--muted:#6B5D45;--border:#1A1A1A;--border-hair:#D9CDAB;--border-strong:#1A1A1A;--scrim:rgba(26,26,26,.55);--dot:#DFD3AF;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='90' height='90' filter='url(%23n)'/%3E%3C/svg%3E");--rule-w:0px;--paper:var(--bg);--paper-2:var(--bg-2);--paper-card:var(--surface);--card-ink:var(--text);--card-ink-soft:var(--text-soft);--card-ink-muted:var(--muted);--ink:var(--text);--ink-soft:var(--text-soft);--ink-faint:var(--muted);--rule:var(--border);--rule-strong:var(--border-strong);--accent:#FF432E;--accent-2:#005A8F;--accent-ink:#1A1A1A;--accent-2-ink:#FFFFFF;--accent-tint:#FFE1DB;--card-edge-ink:#1A1A1A;--accent-card:#C4200A;--accent-2-card:#005A8F;--live-card:#C4200A;--free-card:#00733D;--dock-bg:#1A1A1A;--dock-ink:#C3B9A8;--dock-ink-active:#FFC700;--live:#FF432E;--live-ink:#1A1A1A;--live-2:#C4200A;--soon:#7B2FFF;--soon-ink:#FFFFFF;--tonight:#FFC700;--tonight-ink:#1A1A1A;--free:#00A95C;--free-ink:#1A1A1A;--free-2:#00733D;--c-music:#FF432E;--c-music-2:#C4200A;--c-stage:#7B2FFF;--c-stage-2:#5B1FD6;--c-film:#0078BF;--c-film-2:#005A8F;--c-sport:#00A95C;--c-sport-2:#00733D;--c-markets:#FFC700;--c-markets-2:#7A5A00;--c-food:#FF3E9D;--c-food-2:#C2005E;--c-walk:#FF7A00;--c-walk-2:#A34300;--c-family:#00B39E;--c-family-2:#00726A;--c-festival:#8CC63F;--c-festival-2:#4E6B12;--c-comedy:#C400B0;--c-comedy-2:#7A006E;--c-music-card:var(--c-music-2);--c-stage-card:var(--c-stage-2);--c-film-card:var(--c-film-2);--c-sport-card:var(--c-sport-2);--c-markets-card:var(--c-markets-2);--c-food-card:var(--c-food-2);--c-walk-card:var(--c-walk-2);--c-family-card:var(--c-family-2);--c-festival-card:var(--c-festival-2);--c-comedy-card:var(--c-comedy-2);--on-c-music:#1A1A1A;--on-c-stage:#FFFFFF;--on-c-film:#FFFFFF;--on-c-sport:#1A1A1A;--on-c-markets:#1A1A1A;--on-c-food:#1A1A1A;--on-c-walk:#1A1A1A;--on-c-family:#1A1A1A;--on-c-festival:#1A1A1A;--on-c-comedy:#FFFFFF;--c-arts:var(--c-stage);--c-free:var(--free);--font-display:"Bungee","Karla",system-ui,sans-serif;--font-body:"Karla",system-ui,-apple-system,sans-serif;--font-mono:ui-monospace,"SF Mono","Roboto Mono",monospace;--fs-2xs:0.6875rem;--fs-xs:0.78rem;--fs-sm:0.875rem;--fs-base:1rem;--fs-lg:1.0625rem;--fs-xl:1.3rem;--fs-2xl:1.65rem;--fs-3xl:2.1rem;--fs-4xl:2.8rem;--lh-tight:1.08;--lh-snug:1.2;--lh-body:1.55;--tracking-caps:.01em;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--maxw:1180px;--gutter:var(--s4);--radius-xs:6px;--radius:10px;--radius-card:7px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 3px 0 rgba(26,26,26,0.16);--shadow-card:0 5px 0 rgba(26,26,26,0.2);--shadow-dock:0 5px 0 rgba(26,26,26,0.2);--shadow-pop:0 7px 0 rgba(26,26,26,0.24);--ease:cubic-bezier(.22,.61,.36,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:.15s;--dur:.24s;--dur-slow:.4s;--z-nav:50;--z-header:40;--z-sheet:60;--z-modal:100;--z-toast:1000}[data-mode=dark]{--bg:#16151D;--bg-2:#1D1B26;--surface:#F2EAD8;--surface-2:#E7DDC4;--text:#F2EAD8;--text-soft:#CFC8DA;--muted:#9A93A8;--card-ink:#16151D;--card-ink-soft:#453F51;--card-ink-muted:#5F5745;--border:#16151D;--border-hair:#2A2834;--border-strong:#16151D;--scrim:rgba(0,0,0,0.7);--dot:#221F2B;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='90' height='90' filter='url(%23n)'/%3E%3C/svg%3E");--paper:var(--bg);--paper-2:var(--bg-2);--paper-card:var(--surface);--ink:var(--text);--ink-soft:var(--text-soft);--ink-faint:var(--muted);--rule:var(--border);--rule-strong:var(--border-strong);--accent:#FF5A47;--accent-2:#6FBBF2;--accent-ink:#16151D;--accent-2-ink:#16151D;--accent-tint:#2A2030;--card-edge-ink:var(--surface);--accent-card:#C4200A;--accent-2-card:#005A8F;--live-card:#C4200A;--free-card:#00733D;--dock-bg:#F2EAD8;--dock-ink:#4A4235;--dock-ink-active:#C4200A;--live:#FF5A47;--live-ink:#16151D;--live-2:#FF8A76;--soon:#A97BFF;--soon-ink:#16151D;--tonight:#FFD233;--tonight-ink:#16151D;--free:#35D18B;--free-ink:#10130D;--free-2:#35D18B;--c-music:#FF432E;--c-music-2:#FF6A56;--c-music-card:#C4200A;--c-stage:#7B2FFF;--c-stage-2:#B389FF;--c-stage-card:#5B1FD6;--c-film:#0078BF;--c-film-2:#4FB0F0;--c-film-card:#005A8F;--c-sport:#00A95C;--c-sport-2:#35D18B;--c-sport-card:#00733D;--c-markets:#FFC700;--c-markets-2:#FFD233;--c-markets-card:#7A5A00;--c-food:#FF3E9D;--c-food-2:#FF6DB8;--c-food-card:#C2005E;--c-walk:#FF7A00;--c-walk-2:#FF9B3D;--c-walk-card:#A34300;--c-family:#00B39E;--c-family-2:#2FD3BE;--c-family-card:#00726A;--c-festival:#8CC63F;--c-festival-2:#B6E355;--c-festival-card:#4E6B12;--c-comedy:#C400B0;--c-comedy-2:#F072DC;--c-comedy-card:#7A006E;--on-c-music:#1A1A1A;--on-c-stage:#FFFFFF;--on-c-film:#FFFFFF;--on-c-sport:#1A1A1A;--on-c-markets:#1A1A1A;--on-c-food:#1A1A1A;--on-c-walk:#1A1A1A;--on-c-family:#1A1A1A;--on-c-festival:#1A1A1A;--on-c-comedy:#FFFFFF;--c-arts:var(--c-stage);--c-free:var(--free);--shadow-sm:0 3px 0 rgba(0,0,0,0.5);--shadow-card:0 5px 0 rgba(0,0,0,0.55);--shadow-dock:0 5px 0 rgba(0,0,0,0.55);--shadow-pop:0 7px 0 rgba(0,0,0,0.6)}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s;--dur-slow:0s}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:14px 14px;background-attachment:fixed;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}::-moz-selection{background:var(--accent);color:var(--accent-ink)}::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit}.display,h1,h2,h3{overflow-wrap:break-word}:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:fixed;top:var(--s2);left:var(--s2);z-index:var(--z-toast);transform:translateY(-160%);background:var(--text);color:var(--bg);font-family:var(--font-body);font-weight:800;font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;padding:var(--s2) var(--s4);border-radius:var(--radius);transition:transform var(--dur-fast) var(--ease)}.skip-link:focus{transform:translateY(0)}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.display{font-family:var(--font-display);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:var(--lh-tight)}.mono{font-family:var(--font-mono)}.overline{font-family:var(--font-body);font-weight:800;font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.section{padding:var(--s10) 0 0}.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6)}.sechead-title{font-family:var(--font-display);font-size:var(--fs-2xl);text-transform:uppercase;letter-spacing:.01em;line-height:1;color:var(--text)}.sechead-num{font-weight:800;font-size:var(--fs-sm);vertical-align:super;color:var(--accent-2);margin-right:8px}.sechead-meta,.sechead-num{font-family:var(--font-body)}.sechead-meta{font-weight:700;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:4px;white-space:nowrap}.art{position:relative;overflow:hidden;background:var(--cbg,var(--accent));color:#fff;border-radius:var(--radius-card);isolation:isolate}.art-fill{position:absolute;inset:0;border-radius:0}.art-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--dur-slow) var(--ease)}.art:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,var(--cbg2,var(--c-music-2)) 0,transparent 66%);opacity:.9;pointer-events:none}.art.has-img:before{opacity:0}.art:after{content:"";position:absolute;inset:0;opacity:.14;background-image:radial-gradient(currentColor 1px,transparent 1.4px);background-size:9px 9px;color:#000;pointer-events:none}.art.has-img:after{opacity:0}.art-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0}.art-noimg-badge{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.6rem;line-height:1;box-shadow:0 0 0 3px color-mix(in srgb,#fff 22%,transparent)}.art-cat,.art-noimg-badge{background:var(--cat,var(--accent));color:var(--cat-ink,var(--accent-ink));font-family:var(--font-display);text-transform:uppercase}.art-cat{position:absolute;top:var(--s3);left:var(--s3);z-index:2;font-weight:400;font-size:var(--fs-2xs);letter-spacing:var(--tracking-caps);padding:4px 9px 3px;border:var(--rule-w) solid var(--border);border-radius:var(--radius-pill);line-height:var(--lh-tight);transform:rotate(-3deg);transform-origin:left center}.art-credit{left:var(--s2);bottom:var(--s2);font-family:var(--font-body);font-weight:700;font-size:.6rem;letter-spacing:.06em;background:rgba(16,16,16,.78);padding:3px 7px;border-radius:var(--radius-xs);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.art-credit,.art-title{position:absolute;z-index:2;text-transform:uppercase;color:#fff}.art-title{left:var(--s4);bottom:var(--s4);right:var(--s6);font-family:var(--font-display);font-size:var(--fs-lg);line-height:var(--lh-tight);text-shadow:0 2px 18px rgba(0,0,0,.55)}.ecard{display:flex;flex-direction:column;background:var(--surface);border:1.4px solid var(--border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease);height:100%;min-width:0}.ecard:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-pop)}.ecard:active{transform:translate(2px,2px);box-shadow:var(--shadow-sm)}.ecard-art{position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:var(--rule-w) solid var(--border)}.ecard:hover .art-img{transform:scale(1.05)}.ecard-save{position:absolute;right:9px;top:9px;z-index:3;width:34px;height:34px;display:grid;place-items:center;border-radius:999px;border:var(--rule-w) solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ecard-save svg{width:16px;height:16px}.ecard-save:hover{transform:scale(1.08)}.ecard-save[data-saved=true]{background:var(--accent);color:var(--accent-ink)}.ecard-save-icon{display:inline-flex}.ecard-save-burst{position:absolute;inset:0;margin:auto;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 85%,transparent) 0,transparent 72%);pointer-events:none}.ecard-date{position:absolute;right:0;bottom:0;z-index:3;background:var(--surface);color:var(--text);text-align:center;padding:5px 11px 4px;line-height:.95;border-top:var(--rule-w) solid var(--border);border-left:var(--rule-w) solid var(--border);border-top-left-radius:var(--radius)}.ecard-date .dow{display:block;font-family:var(--font-body);font-weight:800;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ecard-date .day{display:block;font-family:var(--font-display);font-size:22px;line-height:var(--lh-tight);color:var(--text)}.ecard-date .mon{display:block;font-family:var(--font-body);font-weight:800;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ecard-body{display:flex;flex-direction:column;gap:4px;padding:var(--s3) var(--s4) var(--s4);flex:1;min-width:0}.ecard-when{display:flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:800;font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--cat-card,var(--card-ink-soft))}.ecard-when svg{width:12px;height:12px}.ecard-title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-lg);line-height:1.12;letter-spacing:var(--tracking-caps);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ecard-venue{display:flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:500;color:var(--text-soft);line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.ecard-venue svg{width:13px;height:13px;flex:none;color:var(--muted)}.ecard-venue b{color:var(--text);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}.ecard-foot{margin-top:auto;padding-top:var(--s3);display:flex;align-items:center;gap:var(--s2)}.pcard{display:flex;flex-direction:column;background:var(--surface);border:var(--rule-w) solid var(--border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.pcard:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-pop)}.pcard-art{position:relative;aspect-ratio:3/4;overflow:hidden;border-bottom:var(--rule-w) solid var(--border)}.pcard:hover .art-img{transform:scale(1.05)}.pcard-time{position:absolute;left:0;bottom:0;font-family:var(--font-display);font-size:13px;letter-spacing:.02em;background:var(--cat,var(--accent));color:var(--cat-ink,var(--accent-ink));padding:3px 8px 2px;line-height:1;border-top:var(--rule-w) solid var(--border);border-right:var(--rule-w) solid var(--border);border-top-right-radius:var(--radius-xs)}.pcard-body{padding:var(--s3)}.pcard-title{font-family:var(--font-body);font-weight:800;font-size:var(--fs-sm);line-height:1.05;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1em}.pcard-venue{margin-top:3px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ltile-status{display:flex;align-items:center;gap:7px;margin-bottom:3px}.progress{height:7px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:999px;overflow:hidden;margin-bottom:7px}.progress>i{display:block;height:100%;background:var(--live);border-radius:999px}.badge{display:inline-block;font-family:var(--font-display);font-weight:400;font-size:var(--fs-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:3px 8px 2px;border:var(--rule-w) solid var(--border);border-radius:var(--radius-pill);line-height:var(--lh-tight);color:var(--text);background:var(--surface);transform:rotate(-2deg)}.badge.now{background:var(--live);color:var(--live-ink)}.badge.soon{background:var(--soon);color:var(--soon-ink);transform:rotate(2deg)}.badge.tonight{background:var(--tonight);color:var(--tonight-ink)}.badge.free{background:var(--free);color:var(--free-ink);transform:rotate(2deg)}.pill{font-family:var(--font-body);font-weight:800;font-size:var(--fs-xs);letter-spacing:.02em;color:var(--card-ink);display:inline-flex;align-items:center;border:var(--rule-w) solid var(--border);padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface)}.pill.free{color:var(--free-ink);background:var(--free)}.btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-family:var(--font-body);font-weight:800;font-size:var(--fs-sm);letter-spacing:.01em;padding:11px 18px;border-radius:var(--radius-pill);border:var(--rule-w) solid var(--border-strong);color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-card)}.btn:active{transform:translate(2px,2px);box-shadow:none}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--accent-2);color:var(--accent-2-ink)}.btn.ghost{background:transparent;color:var(--text-soft);box-shadow:none}.btn.ghost:hover{color:var(--accent-2);box-shadow:var(--shadow-sm)}.btn.sm{padding:8px 13px}.btn.go,.btn.sm{font-size:var(--fs-xs)}.btn.go{background:var(--cat,var(--accent));color:var(--cat-ink,var(--accent-ink));font-family:var(--font-display);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:8px 12px 7px}.btn.go svg{width:14px;height:14px}.spacer{flex:1}.chiprow{display:flex;gap:var(--s2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;min-width:0;max-width:100%}.chiprow::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-body);font-weight:800;font-size:var(--fs-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--text-soft);background:var(--surface);border:var(--rule-w) solid var(--border);border-radius:var(--radius-pill);padding:8px 14px;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-spring)}.chip:hover{color:var(--text);box-shadow:var(--shadow-sm)}.chip:active{transform:scale(.94)}.chip-dot{width:9px;height:9px;border-radius:50%;background:var(--chip-accent,var(--accent));border:1.5px solid var(--border);flex:none}.chip[data-on=true]{color:var(--card-ink);background:color-mix(in srgb,var(--chip-accent,var(--accent)) 16%,var(--surface));box-shadow:var(--shadow-sm)}.chip[data-on=true] .chip-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--chip-accent,var(--accent)) 40%,transparent)}.chip-count{font-variant-numeric:tabular-nums;opacity:.72}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:var(--rule-w) solid var(--border);color:var(--card-ink-soft);background:var(--surface);cursor:pointer;transition:color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-spring)}.iconbtn:hover{color:var(--accent-card);box-shadow:var(--shadow-sm)}.iconbtn:active{transform:scale(.92)}.sr-only{clip-path:inset(50%);border:0}.placeholder{text-align:center;padding:var(--s20) 0;max-width:56ch;margin:0 auto}.placeholder .art-glyph{position:static;color:var(--border-hair);font-size:7rem;display:block;line-height:1}.placeholder h1{font-family:var(--font-display);font-size:var(--fs-3xl);text-transform:uppercase;letter-spacing:.01em;margin:var(--s4) 0 var(--s3);color:var(--text)}.placeholder p{color:var(--text-soft);margin:0 auto var(--s6)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.overline{text-decoration-line:overline}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes ll-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ll-slide{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes ll-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--live) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes ll-blink{0%,to{opacity:1}50%{opacity:.4}}.enter-rise{animation:ll-rise .5s var(--ease) both}.enter-slide{animation:ll-slide .45s var(--ease) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important}}@media (max-width:880px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid2,.grid3{grid-template-columns:1fr}.sechead-title{font-size:var(--fs-xl)}}.foot{margin-top:auto;border-top:var(--rule-w) solid var(--border);background:var(--surface);padding:var(--s8) 0 calc(var(--s8) + env(safe-area-inset-bottom))}.foot .wrap{flex-direction:column}.foot .wrap,.foot-top{display:flex;gap:var(--s6)}.foot-top{flex-wrap:wrap;justify-content:space-between}.foot-colo{font-family:var(--font-display);font-size:var(--fs-xl);line-height:1;color:var(--text);margin:0 0 var(--s3)}.foot-colo span{color:var(--live-card)}.foot-sub{font-family:var(--font-body);font-size:var(--fs-sm);line-height:1.5;color:var(--text-soft);max-width:34ch;margin:0}.foot-links{display:flex;gap:var(--s8);flex-wrap:wrap}.foot-links>div{display:flex;flex-direction:column;gap:9px}.foot-links b{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.foot-links a{font-family:var(--font-body);font-weight:600;font-size:var(--fs-sm);color:var(--text);text-decoration:none;transition:color var(--dur-fast,.15s) var(--ease,ease)}.foot-links a:hover{color:var(--accent-2)}.foot-fine{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3) var(--s5);padding-top:var(--s5);border-top:1px solid var(--border-hair);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.04em;color:var(--muted)}.foot-fine a{color:var(--text-soft);text-decoration:none}.foot-fine a:hover{color:var(--accent-2)}.foot-egg{font:inherit;color:inherit;letter-spacing:inherit;background:none;border:none;padding:0;margin:0;cursor:default}.foot-egg:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media (max-width:560px){.foot{padding-top:var(--s6)}.foot-links{gap:var(--s6);width:100%;justify-content:space-between}}body{background-image:var(--grain);background-size:90px 90px}.ecard:before{content:"";display:block;height:8px;background:var(--cat,var(--accent));flex:none}.ecard-title,.fest-name,.pcard-title{text-shadow:1.5px 1.5px 0 color-mix(in srgb,var(--cat,var(--accent)) 40%,transparent)}.ecard-when{font-family:var(--font-mono);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ecard,.ecard-title,.fest-name,.fest-row,.foot,.ll-menu-card,.ll-mini-title,.ll-side-card,.mapfx-pop,.pcard,.pcard-title,.place-name,.place-sheet,.places-drawer,.plan-card,.plan-card b,.prow,.prow .nm,.swipe-card{color:var(--card-ink)}.ecard-venue,.fest-events-more,.fest-meta,.ll-mini-venue,.pcard-venue,.place-hours,.place-meta,.place-notes,.place-src,.plan-card span,.prow .sub{color:var(--card-ink-muted)}.fest-meta b,.places-bundle-h,.places-lrow .lbl{color:var(--card-ink-soft)}.ecard-date,.fest-stamp .d,.place-act,.places-drawer-head h2,.places-lrow,.places-x{color:var(--card-ink)}.places-attrib,.places-lrow .n,.places-lrow .note{color:var(--card-ink-muted)}.fest-event .w,.ll-mini-time,.prow .d{color:var(--accent-2-card)}.fest-event .t{color:var(--card-ink)}.fest-event:focus-visible,.fest-event:hover{background:var(--surface-2)}.place-callahead{color:var(--accent-2-card)}.searchrow-price.free{color:var(--free-card)}.plan-card{border:none}.place-sheet,.places-drawer{border-width:0}.places-drawer{border-top-width:0}:is(.ecard,.pcard,.fest-row,.place-sheet,.places-drawer,.ll-side-card,.foot) :focus-visible{outline-color:var(--card-ink)}.ll-header .searchtrigger,.ll-header .searchtrigger span{color:var(--card-ink-muted)}.ll-side-card .ll-mini-title,.ll-side-card .ll-side-card-head h3{color:var(--card-ink)}.ll-side-card .ll-mini-time{color:var(--accent-2-card)}.ll-side-card .ll-mini-venue,.ll-side-card .ll-side-empty{color:var(--card-ink-muted)}.home-cats .home-cat,.ll-side-card .ll-side-tag,.ll-welcome .ll-welcome-more{color:var(--card-ink)}.home-cats .home-cat .n{color:var(--card-ink-muted)}.home-cats .home-cat.on{color:var(--bg)}.home-cats .home-cat.on .n{color:var(--bg-2)}.ecard .ecard-date .dow,.ecard .ecard-date .mon{color:var(--card-ink-muted)}.ecard .ecard-date .day{color:var(--card-ink)}.ecard .ecard-venue,.ecard .ecard-venue b{color:var(--card-ink-muted)}.ecard .ecard-save,.ecard .ecard-title,.ecard .pill,.fest-row .fest-name,.searchrow .pill{color:var(--card-ink)}.fest-row .fest-meta{color:var(--card-ink-muted)}.fest-row .fest-meta b{color:var(--card-ink-soft)}.fest-row .fest-stamp .d{color:var(--card-ink)}.fest-row .fest-stamp.tba .m{background:var(--accent-2-card);color:#fff}.fest-row .fest-event .t{color:var(--card-ink)}.fest-row .fest-event .w{color:var(--accent-2-card)}.fest-row .fest-events-more{color:var(--card-ink-muted)}.fest-row .fest-chip{background:var(--surface-2)}.fest-row .fest-chip,.foot .foot-colo,.foot a,.foot h4{color:var(--card-ink)}.foot .foot-egg,.foot .foot-fine,.foot .foot-sub,.foot p{color:var(--card-ink-muted)}.chiprow .chip{color:var(--card-ink)}.chiprow .chip .chip-count{color:var(--card-ink-muted)}.bl-row,.bl-row b,.searchrow,.searchrow b,.viewtoggle .lbl-full,.viewtoggle button{color:var(--card-ink)}.bl-venue,.searchrow-venue{color:var(--card-ink-muted)}.swipe-card .swipe-card-title{color:var(--card-ink)}.swipe-card .swipe-card-when{color:var(--accent-2-card)}.ll-header .ll-search,.ll-header .ll-search span,.searchtrigger,.swipe-card .swipe-card-blurb,.swipe-card .swipe-card-cat,.swipe-card .swipe-card-hint,.swipe-card .swipe-card-venue,span.searchtrigger-label{color:var(--card-ink-muted)}.chiprow .chip.chip,.foot b{color:var(--card-ink)}.chiprow .chip.chip .chip-count{color:var(--card-ink-muted)}.browse-toggle-btn .lbl-full,.browse-toggle-btn.browse-toggle-btn,.chiprow .chip.chip[data-on=true],.ll-menu-card .ll-menu-tag,.ll-menu-tag.ll-menu-tag,.ll-side-card .ll-side-link,.plan-ahead .plan-card b{color:var(--card-ink)}.plan-ahead .plan-card span{color:var(--card-ink-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.searchtrigger-wrap{padding-top:var(--s4);padding-bottom:var(--s2)}.searchtrigger{display:flex;align-items:center;gap:var(--s3);width:100%;padding:10px var(--s4);border:var(--rule-w) solid var(--rule);border-radius:999px;background:var(--paper-card);color:var(--ink-faint);cursor:pointer;font-family:var(--font-body);text-align:left;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.searchtrigger:hover{border-color:var(--ink-faint);color:var(--ink-soft);box-shadow:var(--shadow-card)}.searchtrigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.searchtrigger>svg{flex:none;color:var(--live-2)}.searchtrigger-label{flex:1;font-size:var(--fs-sm);letter-spacing:.01em}.searchtrigger-kbd{flex:none;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--ink-faint);border:1px solid var(--rule);border-radius:4px;padding:2px 7px;background:var(--paper)}.searchfab{display:none;position:fixed;right:var(--s5);bottom:var(--s5);z-index:45;width:50px;height:50px;align-items:center;justify-content:center;border-radius:999px;border:1.5px solid var(--rule-strong);background:var(--ink);color:var(--paper);cursor:pointer;box-shadow:var(--shadow-card);transition:transform var(--dur-fast) var(--ease-spring),background var(--dur) var(--ease)}.searchfab:hover{transform:translateY(-2px) scale(1.04);background:var(--accent)}.searchfab:active{transform:scale(.95)}.searchscrim{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:clamp(var(--s8),12vh,140px) var(--s4) var(--s8);background:color-mix(in srgb,var(--ink) 46%,transparent);backdrop-filter:blur(4px) saturate(1.05);overflow-y:auto}.searchpanel{width:min(620px,100%);background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);overflow:hidden}.searchfield{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:2px solid var(--rule-strong)}.searchfield-icon{flex:none;width:20px;height:20px;color:var(--live-2)}.searchinput{flex:1;border:none;background:transparent;color:var(--ink);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:400;letter-spacing:var(--tracking-caps)}.searchinput::-moz-placeholder{color:var(--ink-faint);font-weight:400}.searchinput::placeholder{color:var(--ink-faint);font-weight:400}.searchinput:focus{outline:none}.searchesc{flex:none;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--rule);border-radius:4px;padding:3px 8px}.searchlist{list-style:none;margin:0;padding:var(--s2);max-height:min(52vh,460px);overflow-y:auto}.searchrow{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s3);border-radius:var(--radius);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.searchrow[data-on=true]{background:var(--paper-2)}.searchrow-pip{flex:none;width:9px;height:9px;border-radius:50%;background:var(--cdot,var(--accent))}.searchrow-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.searchrow-title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-base);color:var(--ink);letter-spacing:var(--tracking-caps)}.searchrow-sub,.searchrow-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchrow-sub{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-faint)}.searchrow-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.searchrow-when{color:var(--ink-soft);white-space:nowrap}.searchrow-price,.searchrow-when{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em}.searchrow-price{font-weight:700;color:var(--ink-faint)}.searchrow-price.free{color:var(--free-2)}.searchempty{padding:var(--s12) var(--s6) var(--s10);text-align:center}.searchempty-glyph{font-family:var(--font-display);font-weight:400;font-size:4rem;line-height:1;color:var(--rule)}.searchempty-line{margin-top:var(--s4);font-family:var(--font-display);font-size:var(--fs-lg);color:var(--ink)}.searchempty-line b{color:var(--live-2);font-style:italic;font-weight:600}.searchempty-hint{margin-top:var(--s2);font-size:var(--fs-sm);color:var(--ink-faint)}.searchempty-action{margin-top:var(--s5)}.searchfoot{display:flex;align-items:center;gap:var(--s5);padding:var(--s3) var(--s5);border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.searchfoot kbd{display:inline-block;min-width:18px;text-align:center;border:1px solid var(--rule);border-radius:4px;padding:1px 5px;margin-right:3px;color:var(--ink-soft)}.searchfoot-count{margin-left:auto;font-variant-numeric:tabular-nums}.installbar{position:fixed;left:0;right:0;margin:0 auto;bottom:var(--s5);z-index:48;width:min(440px,calc(100vw - var(--s8)));display:flex;align-items:center;gap:var(--s4);padding:var(--s4);background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.installbar-mark{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:var(--paper-2);border:1px solid var(--rule);font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);color:var(--ink);position:relative}.installbar-mark:after{content:"";position:absolute;left:22%;right:22%;bottom:9px;height:3px;border-radius:2px;background:var(--accent);transform:rotate(-1.4deg)}.installbar-body{flex:1;min-width:0}.installbar-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.installbar-text{margin-top:2px;font-size:var(--fs-sm);color:var(--ink-soft);line-height:1.4}.installbar-text b{color:var(--ink);font-weight:700}.installbar-actions{flex:none;display:flex;flex-direction:column;align-items:stretch;gap:6px}.installbar-go{padding:8px 16px}.installbar-close{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);background:transparent;border:none;cursor:pointer;padding:2px;transition:color var(--dur-fast) var(--ease)}.installbar-close:hover{color:var(--ink)}.skel{display:block;background:linear-gradient(100deg,var(--paper-2) 30%,color-mix(in srgb,var(--paper-card) 70%,var(--paper-2)) 50%,var(--paper-2) 70%);background-size:220% 100%;animation:ll-shimmer 1.5s var(--ease) infinite;border-radius:var(--radius)}@keyframes ll-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}.skel-card{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius-card);overflow:hidden}.skel-art{aspect-ratio:4/3;width:100%;border-radius:0}.skel-lines{padding:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.skel-line{height:13px}.skel-line.short{width:38%}.skel-line.mid{width:62%}.skel-line.wide{width:88%;height:20px}.skel-pill{width:64px;height:24px;margin-top:var(--s1)}.skel-lead-art{width:100%;min-height:340px;border-radius:var(--radius-card)}.skel-lead-body{display:flex;flex-direction:column;gap:var(--s4);padding-top:var(--s2)}@media (max-width:880px){.skel-lead-art{min-height:220px}}.emptystate{text-align:center;padding:var(--s16) var(--s4);position:relative}.emptystate-glyph{font-family:var(--font-display);font-weight:400;font-size:6rem;line-height:.8;color:var(--rule);display:block}.emptystate-kicker{margin-top:var(--s4);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.emptystate-title{margin-top:var(--s2);font-family:var(--font-display);font-weight:400;font-size:var(--fs-2xl);letter-spacing:var(--tracking-caps);color:var(--ink)}.emptystate-hint{margin:var(--s3) auto 0;max-width:42ch;color:var(--ink-soft);line-height:1.5}.emptystate-action{margin-top:var(--s6)}.spinner-wrap{display:inline-flex;align-items:center}.spinner{display:inline-block;border-radius:50%;border:2px solid var(--rule);border-top-color:var(--accent);animation:ll-spin .7s linear infinite}@keyframes ll-spin{to{transform:rotate(1turn)}}@media (max-width:560px){.searchtrigger-wrap{display:none}.searchfab{display:inline-flex}.searchpanel{border-radius:var(--radius)}.searchrow-meta{display:none}.installbar{bottom:calc(var(--s5) + 58px)}}@media (prefers-reduced-motion:reduce){.skel{background:var(--paper-2)}.skel,.spinner{animation:none}}.app-shell{min-height:100dvh;display:block;width:100%;max-width:100%;overflow-x:clip}.app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.app-body,.app-main{min-width:0}.app-content{min-width:0;max-width:100%;display:flex;flex-direction:column;min-height:calc(100dvh - 64px)}.app-content>*{min-width:0}.ll-header{position:sticky;top:0;z-index:var(--z-header);background:var(--bg);border-bottom:var(--rule-w) solid var(--border)}.ll-header-inner{display:flex;align-items:center;gap:var(--s3);height:56px;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.ll-brand{display:inline-flex;align-items:center;gap:8px;flex:none}.ll-mark{font-size:22px;line-height:1;letter-spacing:.015em;color:var(--text);white-space:nowrap}.ll-livechip,.ll-mark{font-family:var(--font-display);text-transform:uppercase}.ll-livechip{display:inline-flex;align-items:center;gap:5px;font-size:12px;letter-spacing:.05em;background:var(--live);color:var(--live-ink);padding:3px 8px 2px;border:var(--rule-w) solid var(--border);border-radius:var(--radius-pill);line-height:var(--lh-tight);transform:rotate(-2deg)}.ll-pulse{width:7px;height:7px;border-radius:50%;background:var(--live-ink);animation:ll-pulse 1.6s infinite}.ll-livechip[data-egg=true]{background:linear-gradient(90deg,var(--c-music),var(--c-walk),var(--c-markets),var(--c-sport),var(--c-family),var(--c-food),var(--c-music));background-size:300% 100%;color:var(--accent-ink);animation:ll-egg-rainbow 1.8s linear infinite}@keyframes ll-egg-rainbow{to{background-position:-300% 0}}@media (prefers-reduced-motion:reduce){.ll-livechip[data-egg=true]{background:var(--soon);color:var(--soon-ink)}}.ll-search{flex:1;min-width:0;display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 14px;border-radius:var(--radius-pill);border:var(--rule-w) solid var(--border);background:var(--surface);color:var(--muted);font-family:var(--font-body);font-weight:600;font-size:var(--fs-sm);cursor:pointer;text-align:left;transition:box-shadow var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ll-search:hover{box-shadow:var(--shadow-sm);color:var(--text-soft)}.ll-search svg{width:17px;height:17px;flex:none}.ll-search .kbd{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:1px 6px;flex:none}.ll-header-actions{display:inline-flex;align-items:center;gap:var(--s2);flex:none}@media (max-width:959px){.ll-search{flex:none;width:40px;padding:0;justify-content:center;gap:0;margin-left:auto}.ll-search span{display:none}}.ll-drawer-scrim{position:fixed;inset:0;z-index:var(--z-sheet);background:var(--scrim)}.ll-drawer{position:fixed;top:0;right:0;bottom:0;z-index:calc(var(--z-sheet) + 1);width:min(340px,86vw);background:var(--bg);border-left:1px solid var(--border-hair);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;padding:var(--s5) var(--s5) calc(var(--s6) + env(safe-area-inset-bottom))}.ll-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s5)}.ll-drawer-head .ll-mark{font-size:20px}.ll-drawer-nav{display:flex;flex-direction:column;gap:2px}.ll-drawer-nav a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:var(--radius);font-weight:700;font-size:var(--fs-base);color:var(--text);transition:background var(--dur-fast) var(--ease)}.ll-drawer-nav a:hover{background:var(--bg-2)}.ll-drawer-nav a svg{width:18px;height:18px;color:var(--accent-2)}.ll-drawer-sec{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border-hair)}.ll-drawer-sec .overline{padding:0 12px;margin-bottom:var(--s2)}.ll-drawer-foot{margin-top:auto;padding-top:var(--s5);font-family:var(--font-body);font-size:var(--fs-xs);color:var(--muted);padding-left:12px}.ll-dock{position:fixed;left:50%;bottom:calc(4px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:var(--z-nav);width:min(440px,calc(100vw - 24px));display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;background:var(--dock-bg);border:var(--rule-w) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dock);padding:5px 8px 6px;transition:transform var(--dur) var(--ease-out),opacity var(--dur) var(--ease);will-change:transform}.ll-dock[data-hidden=true]{transform:translateX(-50%) translateY(150%);opacity:0;pointer-events:none}.ll-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 0 4px;border-radius:var(--radius);color:var(--dock-ink);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-spring)}.ll-tab svg{width:22px;height:22px}.ll-tab span{font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;line-height:1}.ll-tab:active{transform:scale(.9)}.ll-tab[data-active=true]{color:var(--dock-ink-active)}.ll-tab[data-active=true] svg{transform:translateY(-1px)}.ll-sidebar{display:none}@media (min-width:960px){.app-main{padding-bottom:var(--s16)}.app-body{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:244px minmax(0,1fr);gap:var(--s8);padding:0 var(--gutter);align-items:start}.app-content{min-width:0}.app-content .wrap{padding:0;max-width:none}.app-body{overflow-x:clip}.app-content .foot{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%)}.ll-dock{display:none}.ll-sidebar{display:block;position:sticky;top:72px;align-self:start;max-height:calc(100dvh - 88px);overflow-y:auto;scrollbar-width:thin;padding-bottom:var(--s8)}.ll-side-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--s6)}.ll-side-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius);color:var(--text-soft);font-weight:700;font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ll-side-link svg{width:19px;height:19px;flex:none}.ll-side-link:hover{background:var(--surface-2);color:var(--text)}.ll-side-link[data-active=true]{background:var(--accent-tint);color:var(--text);box-shadow:inset 0 0 0 var(--rule-w) var(--border)}.ll-side-link[data-active=true] svg{color:var(--accent-2)}.ll-side-cta{margin:var(--s2) 0 var(--s6);width:100%;justify-content:center}.ll-side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--s4);margin-bottom:var(--s4);box-shadow:var(--shadow-sm)}.ll-side-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s3)}.ll-side-card-head h3{font-family:var(--font-display);font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--text)}.ll-side-card-head .dot{width:9px;height:9px;border-radius:50%;background:var(--live);animation:ll-blink 1.5s infinite}.ll-mini{display:flex;gap:7px;padding:7px 0;border-top:1px solid var(--border);align-items:flex-start}.ll-mini:first-of-type{border-top:0}.ll-mini-time{font-family:var(--font-display);font-size:13px;color:var(--accent-2);flex:none;width:44px;line-height:1.1;padding-top:2px}.ll-mini-body{flex:1;min-width:0;display:flex;flex-direction:column}.ll-mini-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:800;font-size:var(--fs-sm);line-height:1.2;color:var(--text);overflow:hidden}.ll-mini-venue{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ll-mini-venue,.ll-side-empty{font-size:var(--fs-xs);color:var(--muted)}.ll-side-empty{line-height:1.5}.ll-side-tags{display:flex;flex-wrap:wrap;gap:6px}.ll-side-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:700;font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--text-soft);background:var(--surface-2);border-radius:var(--radius-pill);padding:5px 10px;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.ll-side-tag:hover{color:var(--tag,var(--accent-2));background:color-mix(in srgb,var(--tag,var(--accent)) 14%,var(--surface-2))}.ll-side-tag .chip-dot{width:7px;height:7px}}