:root{color-scheme:dark;--bg:#121212;--bg-elevated:#1e1e1e;--text:#ffffff;--muted:#9ca3af;--accent:#9333ea;--accent-soft:#c084fc;--accent-contrast:#ffffff;--glass-bg:rgba(30,30,30,0.72);--glass-border:rgba(255,255,255,0.08);--glass-shadow:0 14px 44px rgba(0,0,0,0.4);--card-border:rgba(255,255,255,0.07);--chip-bg:rgba(147,51,234,0.14);--chip-bg-hover:rgba(147,51,234,0.28);--chip-border:rgba(147,51,234,0.52);--chip-text:rgba(237,220,255,0.96);--glow-top:rgba(147,51,234,0.18);--glow-side:rgba(147,51,234,0.08);--code-bg:#0d0d0f;--code-text:#e9d5ff;--free:#4ade80;--radius:12px;--radius-lg:18px;--font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"Cascadia Code","SF Mono",Menlo,Consolas,monospace;--hero-gradient:linear-gradient(180deg,#ffffff,#c4b5fd 55%,#9ca3af)}:root[data-theme=light]{color-scheme:light;--bg:#f8f8fa;--bg-elevated:#ffffff;--text:#18181b;--muted:#52525b;--accent:#7c3aed;--accent-soft:#7c3aed;--accent-contrast:#ffffff;--glass-bg:rgba(255,255,255,0.85);--glass-border:rgba(0,0,0,0.08);--glass-shadow:0 14px 44px rgba(15,23,42,0.08);--card-border:rgba(0,0,0,0.08);--chip-bg:rgba(124,58,237,0.08);--chip-bg-hover:rgba(124,58,237,0.2);--chip-border:rgba(124,58,237,0.4);--chip-text:#5b21b6;--glow-top:rgba(124,58,237,0.1);--glow-side:rgba(124,58,237,0.05);--code-bg:#f5f3ff;--code-text:#5b21b6;--free:#15803d;--hero-gradient:linear-gradient(180deg,#18181b,#7c3aed 55%,#52525b)}*,:after,:before{box-sizing:border-box}html{overflow-x:clip;scrollbar-gutter:stable}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.55;transition:background .25s ease,color .25s ease}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--glow-top),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,var(--glow-side),transparent)}a{color:var(--accent-soft);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px;border-radius:4px}.container{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:0 20px}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--glass-border)}header.site:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%)}header.site .container{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}header.site .logo{font-weight:700;font-size:21px;letter-spacing:-.02em;background:var(--hero-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}header.site .logo:hover{text-decoration:none}header.site .header-link,header.site .tagline{color:var(--muted);font-size:14px}header.site .header-link{margin-left:auto;white-space:nowrap}header.site .header-link:hover{color:var(--text);text-decoration:none}header.site .header-link+.header-cta{margin-left:0}header.site .header-cta{margin-left:auto;padding:0 16px}.theme-toggle,header.site .header-cta{height:34px;display:inline-flex;align-items:center}.theme-toggle{width:34px;padding:0;justify-content:center;flex-shrink:0;border:1px solid var(--glass-border);border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;transition:color .18s ease,background .18s ease}.theme-toggle:hover{color:var(--text);background:var(--chip-bg)}.theme-toggle svg{display:block}main{position:relative;z-index:1;flex:1 0 auto;padding:32px 0 56px}h1{margin:0 0 8px;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:650;line-height:1.15;letter-spacing:-.02em;background:var(--hero-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}h2{font-size:1.25rem;font-weight:600;margin:28px 0 12px}.lead{color:var(--muted);margin:0 0 20px;max-width:40rem;font-size:1.05rem}.hero{margin-bottom:24px}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.skill-chip{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;font-family:var(--mono);font-weight:600;font-size:.85rem;letter-spacing:-.01em;color:var(--chip-text);background:var(--chip-bg);border:1px solid var(--chip-border);transition:background .18s ease}.skill-chip:hover{background:var(--chip-bg-hover);text-decoration:none}.filterbar{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 14px;margin:8px 0 4px}.filterbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filterbar input[type=date],.filterbar select{border:1px solid var(--card-border);border-radius:8px;padding:6px 10px;font-size:14px;font-family:inherit;background:var(--bg-elevated);color:var(--text)}.segment{display:inline-flex;border:1px solid var(--card-border);border-radius:8px;overflow:hidden}.segment button{border:0;background:var(--bg-elevated);padding:6px 12px;font-size:14px;font-family:inherit;cursor:pointer;color:var(--muted);transition:color .18s ease,background .18s ease}.segment button:hover{color:var(--text)}.segment button.active{background:var(--accent);color:var(--accent-contrast)}.free-toggle,.range{display:inline-flex;gap:6px}.free-toggle{align-items:center;font-size:14px;color:var(--muted)}.free-toggle input{accent-color:var(--accent)}.reset{border:0;background:none;color:var(--accent-soft);cursor:pointer;font-size:14px;font-family:inherit;text-decoration:underline}.filterbar .chips{margin:10px 0 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--chip-border);background:var(--chip-bg);color:var(--chip-text);border-radius:999px;padding:4px 12px;font-size:14px;font-family:inherit;cursor:pointer;transition:background .18s ease}.chip:hover{text-decoration:none;background:var(--chip-bg-hover)}.chip-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.chip-count{font-family:var(--mono);font-size:12px;opacity:.75}.count-line{color:var(--muted);font-size:14px;margin:14px 0 4px}.map-box{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin:10px 0;overflow:hidden}.map-box summary{cursor:pointer;padding:10px 14px;color:var(--accent-soft);font-size:15px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.city-map{height:420px}:root:not([data-theme=light]) .leaflet-tile{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.9) saturate(.55)}.leaflet-container{background:var(--bg-elevated);font-family:var(--font)}.leaflet-container .leaflet-bar a{background:var(--bg-elevated);color:var(--text);border-bottom-color:var(--card-border)}.leaflet-container .leaflet-bar a:hover{background:var(--chip-bg);color:var(--text)}.leaflet-container .leaflet-control-attribution{background:var(--glass-bg);color:var(--muted)}.leaflet-container .leaflet-control-attribution a{color:var(--accent-soft)}.leaflet-container .leaflet-tooltip{background:var(--bg-elevated);border:1px solid var(--card-border);color:var(--text);box-shadow:var(--glass-shadow)}.leaflet-container .leaflet-tooltip-top:before{border-top-color:var(--card-border)}.city-bubble{stroke:#ffffff;stroke-opacity:.35;fill:var(--accent);fill-opacity:.55}:root:not([data-theme=light]) .city-bubble{stroke:#121212;fill:var(--accent-soft);fill-opacity:.6}.month{margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--card-border);font-size:18px;font-weight:600}.event-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.event-card,.event-row{background:var(--glass-bg);border:1px solid var(--card-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:13px 16px;transition:transform .2s ease,border-color .2s ease}.event-card:hover,.event-row:hover{transform:translateY(-2px);border-color:var(--chip-border)}.event-row{display:grid;grid-template-columns:92px 1fr;grid-gap:12px;gap:12px}.dates-col,.event-card .dates{color:var(--accent-soft);font-family:var(--mono);font-weight:600;font-size:13px;padding-top:3px}.event-card .dates{padding-top:0;margin-bottom:2px}.event-card .title,.event-row .title{display:block;font-size:16px;font-weight:600;color:var(--text)}.event-card .title:hover,.event-row .title:hover{color:var(--accent-soft);text-decoration:none}.event-card .place,.event-row .place{color:var(--muted);font-size:14px;margin-top:2px}.event-card .topics,.event-row .topics{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.event-card .topics span,.event-row .topics span{font-size:12px;background:var(--bg-elevated);border:1px solid var(--card-border);border-radius:999px;padding:2px 9px;color:var(--muted)}.reg-link{font-size:14px;white-space:nowrap}.price{color:var(--text)}.price.free{color:var(--free);font-weight:600}.empty{color:var(--muted);padding:24px 0}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:9px 20px;font-size:15px;font-weight:500;transition:filter .18s ease}.button:hover{text-decoration:none;filter:brightness(1.12)}.button.secondary{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--accent-soft)}.cta-block,.empty-state,.subscribe{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:20px 22px}.subscribe{margin:16px 0}.subscribe .buttons{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.subscribe code{display:block;background:var(--code-bg);color:var(--code-text);border-radius:8px;padding:10px 12px;font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}.cta-block{margin:32px 0 8px;text-align:center}.cta-block p{max-width:560px;margin:0 auto 14px}.cta-block .button+.button{margin-left:8px}.empty-state{border-style:dashed;margin:16px 0;text-align:center}.empty-state p{margin:0 0 12px}.agent-note{color:var(--muted);font-size:14px;text-align:center;margin:20px 0 0}.event-page .meta{color:var(--muted);margin:4px 0 16px}.event-page .desc{max-width:640px}.docs h1{margin-bottom:8px}.docs h2{margin:30px 0 10px}.docs p,.docs ul{max-width:720px}.docs ul{padding-left:20px;margin:8px 0 16px}.docs li{margin-bottom:8px}.docs li code,.docs p code{background:var(--code-bg);color:var(--code-text);border-radius:5px;padding:1px 6px;font-family:var(--mono);font-size:13px}.code-box{position:relative;margin:10px 0 16px;max-width:720px}.code-box pre{background:var(--code-bg);border:1px solid var(--glass-border);border-radius:8px;padding:14px 16px;margin:0;overflow-x:auto;font-size:13px;line-height:1.5}.code-box code{font-family:var(--mono);color:var(--code-text);white-space:pre}.code-box .copy{position:absolute;top:8px;right:8px;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:color .18s ease,border-color .18s ease}.code-box .copy:hover{color:var(--text);border-color:var(--chip-border)}.table-wrap{overflow-x:auto;max-width:720px}.tools-table{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:14px}.tools-table td,.tools-table th{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--card-border)}.tools-table th{color:var(--muted);font-weight:600;font-size:13px}.tools-table tr:last-child td{border-bottom:0}.tools-table code{font-family:var(--mono);font-size:13px;color:var(--accent-soft)}.tools-table td:first-child{white-space:nowrap}.tools-table td:last-child code{overflow-wrap:anywhere}footer.site{position:relative;z-index:1;border-top:1px solid var(--glass-border);color:var(--muted);font-size:14px}footer.site .container{padding-top:20px;padding-bottom:28px}footer.site p{margin:0 0 6px}@media (max-width:640px){header.site .tagline{display:none}header.site .container{flex-wrap:wrap;gap:10px}header.site .tail{display:none}.container{padding:0 14px}.event-row{grid-template-columns:72px 1fr}.cta-block,.empty-state,.subscribe{padding:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}