:root{--color-bg-page: oklch(100% 0 0);--color-bg-surface: oklch(100% 0 0);--color-bg-raised: oklch(96% .005 80);--color-bg-hover: oklch(94% .007 80);--color-bg-active: oklch(91% .009 80);--color-bg-subtle: oklch(97.5% .004 80);--color-bg-edit: oklch(97% .04 25);--color-text: oklch(20% .01 80);--color-text-secondary: oklch(35% .008 80);--color-text-tertiary: oklch(45% .006 80);--color-text-muted: oklch(55% .005 80);--color-text-faint: oklch(70% .004 80);--color-text-on-primary: oklch(100% 0 0);--color-primary: oklch(58% .22 25);--color-primary-hover: oklch(50% .22 25);--color-primary-faded: oklch(75% .13 25);--color-primary-bg: oklch(96% .04 25);--color-accent: oklch(78% .16 82);--color-accent-hover: oklch(72% .16 82);--color-accent-bg: oklch(96% .06 85);--color-danger: oklch(45% .18 30);--color-danger-hover: oklch(38% .18 30);--color-danger-bg: oklch(95% .04 30);--color-border: oklch(82% .005 80);--color-border-strong: oklch(20% .01 80);--color-border-subtle: oklch(90% .005 80);--shadow-sm: 0 1px 3px oklch(20% .01 80 / .08);--shadow-md: 0 4px 12px oklch(20% .01 80 / .1);--radius-sm: 0;--radius-md: 0;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-body: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Big Shoulders Display", "Schibsted Grotesk", sans-serif;--font-masthead: "Cabin Sketch", "Chalkboard", cursive;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.375rem;--text-xl: 1.875rem;--text-2xl: 2.5rem;--text-3xl: 3.75rem}[data-theme=dark]{--color-bg-page: oklch(16% .005 80);--color-bg-surface: oklch(19% .005 80);--color-bg-raised: oklch(23% .006 80);--color-bg-hover: oklch(27% .007 80);--color-bg-active: oklch(30% .01 80);--color-bg-subtle: oklch(21% .005 80);--color-bg-edit: oklch(25% .06 25);--color-text: oklch(92% .005 80);--color-text-secondary: oklch(78% .005 80);--color-text-tertiary: oklch(65% .005 80);--color-text-muted: oklch(55% .005 80);--color-text-faint: oklch(40% .005 80);--color-text-on-primary: oklch(98% .005 80);--color-primary: oklch(70% .2 25);--color-primary-hover: oklch(78% .18 25);--color-primary-faded: oklch(45% .15 25);--color-primary-bg: oklch(28% .07 25);--color-accent: oklch(82% .15 82);--color-accent-hover: oklch(88% .14 82);--color-accent-bg: oklch(30% .06 85);--color-danger: oklch(62% .2 30);--color-danger-hover: oklch(70% .18 30);--color-danger-bg: oklch(28% .06 30);--color-border: oklch(35% .008 80);--color-border-strong: oklch(82% .005 80);--color-border-subtle: oklch(28% .008 80);--shadow-sm: 0 1px 3px oklch(0% 0 0 / .35);--shadow-md: 0 4px 12px oklch(0% 0 0 / .45)}*{margin:0;padding:0;box-sizing:border-box}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background:var(--color-primary);color:var(--color-text-on-primary)}body{font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;color:var(--color-text);background:var(--color-bg-page);display:flex;flex-direction:column;min-height:100vh;-webkit-tap-highlight-color:transparent}a{color:var(--color-text);font-weight:600;text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .08s}a:hover{color:var(--color-text);text-decoration-color:var(--color-primary)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;color:var(--color-text);margin-bottom:var(--space-xs);letter-spacing:0}h1{font-family:var(--font-masthead);font-size:var(--text-xl);font-weight:700;margin-top:0;letter-spacing:0;line-height:1;text-transform:none}h2{font-size:var(--text-xl);margin-top:var(--space-lg);line-height:1;text-transform:uppercase;letter-spacing:.005em}h3{font-size:var(--text-lg);margin-top:var(--space-md);line-height:1.1;font-weight:600;letter-spacing:.01em;text-transform:uppercase}.list-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-xs)}.list-header h1{margin-bottom:0}.list-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.list-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.upcoming-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 16px}.upcoming-header h2{margin-bottom:0}.upcoming-hint{color:var(--color-text-muted);font-size:14px}.count{font-size:14px;color:var(--color-text-muted)}.site-header{background:var(--color-bg-page);border-bottom:3px double var(--color-border-strong);padding:var(--space-sm) var(--space-xl);display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo middle auth";align-items:center;column-gap:var(--space-lg);row-gap:10px}.site-header .site-name{grid-area:logo}.header-middle{grid-area:middle;display:flex;align-items:center;justify-content:center;gap:var(--space-md);min-width:0}.site-header .site-name{font-family:var(--font-masthead);font-size:2.5rem;font-weight:700;color:var(--color-text);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:3px;text-underline-offset:4px;letter-spacing:-.3px;line-height:1;transition:text-decoration-color .08s}.site-header .site-name:hover{color:var(--color-text);text-decoration-color:var(--color-primary)}.site-header nav{display:flex;gap:20px;flex-wrap:nowrap;white-space:nowrap}.site-header nav a{font-size:var(--text-base);font-weight:500;color:var(--color-text);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:4px;transition:text-decoration-color .08s;white-space:nowrap}.site-header nav a:hover{text-decoration-color:var(--color-primary)}.site-header nav a[aria-current=page]{text-decoration-color:var(--color-primary)}.content{max-width:1080px;width:100%;margin:0 auto;padding:var(--space-md) var(--space-xl);flex:1;display:flex;flex-direction:column}table{width:100%;border-collapse:collapse;margin:var(--space-xs) 0 12px;font-size:14px;table-layout:fixed}th,td{padding:10px 12px;text-align:left;vertical-align:top;overflow-wrap:break-word;word-break:break-word;border:1px solid var(--color-border)}th{font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;color:#000;background:var(--color-bg-raised)}[data-theme=dark] th{color:#fff}tr.clickable-row{cursor:pointer}tr.clickable-row a{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .08s}tr.clickable-row:hover a{text-decoration-color:var(--color-primary)}.infobox{display:flex;align-items:flex-start;width:100%;margin:0 0 var(--space-lg) 0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-surface);font-size:14px;overflow:hidden}.infobox-image{width:var(--infobox-image-width, 200px);flex-shrink:0;position:relative}.infobox-image.uploadable{cursor:pointer}.upload-overlay{position:absolute;inset:0;background:#0000008c;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:var(--text-xs);opacity:0;transition:opacity .08s}.infobox-image.uploadable:hover .upload-overlay,.infobox-image.uploadable:focus-within .upload-overlay{opacity:1}.upload-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle);cursor:pointer;min-height:120px}.upload-placeholder:hover{background:var(--color-bg-hover)}.upload-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-muted);font-size:var(--text-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.infobox-image img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.infobox-image.natural{width:auto;max-width:var(--infobox-image-width, 320px);background:var(--color-bg-subtle)}.infobox-image.natural img{width:auto;height:auto;max-width:100%;max-height:320px;aspect-ratio:auto;object-fit:contain;margin:0 auto}.image-attribution{display:block;text-align:right;font-size:.7rem;color:var(--color-text-muted);padding:2px 4px}.infobox-info{flex:1;min-width:0;border-left:1px solid var(--color-border)}.infobox-header{display:flex;align-items:center;gap:12px;background:var(--color-bg-raised);border-bottom:1px solid var(--color-border)}.infobox-title{padding:14px 16px;font-weight:700;font-size:20px;flex:1;min-width:0}.infobox-actions{display:flex;align-items:center;gap:8px;padding:0 12px;flex-shrink:0}.infobox-row{display:flex;border-top:1px solid var(--color-border)}.infobox-label{width:100px;flex-shrink:0;padding:8px 12px;font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary)}.infobox-row.pending .infobox-label,.infobox-row.pending .infobox-value{color:var(--color-text)}.infobox-row.pending .infobox-value{font-style:italic}.pending-dot{color:var(--color-accent, oklch(70% .16 60));font-size:.7em;vertical-align:middle;margin-left:2px}.cancel-edit-btn{display:inline-flex;align-items:center;font-family:inherit;font-size:13px;padding:5px 12px;border:1px solid var(--color-border);background:transparent;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:border-color .08s,color .08s,background .08s}.cancel-edit-btn:hover{color:var(--color-text);border-color:var(--color-text)}.infobox-value{padding:8px 12px;flex:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.editable-title:hover,.editable-value:hover{background:var(--color-bg-hover);cursor:text}.editable-value a{pointer-events:none;color:inherit;text-decoration:none}.infobox-title.editing input,.infobox-value.editing input{width:100%;padding:0;border:none;background:transparent;font:inherit;outline:none;box-sizing:border-box;color:var(--color-text);box-shadow:0 1px 0 0 var(--color-text)}.infobox-title.editing input{font-weight:700}.empty-placeholder{color:var(--color-text-faint)}.infobox-value-row{display:flex;align-items:center;flex:1;min-width:0}.infobox-value-row .infobox-value{flex:1;min-width:0}.clear-field-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:8px;padding:0;border:none;background:transparent;color:var(--color-text-faint);cursor:pointer;opacity:0;transition:opacity .1s,color .12s}.infobox-row:hover .clear-field-btn{opacity:1}.clear-field-btn:hover{color:var(--color-text)}.image-remove-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;background:#04060899;color:#d5d7db;border-radius:50%;cursor:pointer;z-index:3;transition:color .12s}.image-remove-btn:hover{color:#fff}.verified-badge{display:inline-flex;align-items:center;color:var(--color-primary);vertical-align:middle;margin-left:4px;text-decoration:none}.verified-badge:hover{color:var(--color-accent)}.infobox-verified-handle{padding:4px 16px 6px;font-size:var(--text-sm);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border)}.infobox-verified-handle a{color:var(--color-text);font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .08s}.infobox-verified-handle a:hover{text-decoration-color:var(--color-primary)}.infobox-links{display:flex;flex-wrap:wrap;border-top:1px solid var(--color-border);margin-bottom:-1px}.infobox-link{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;font-size:var(--text-xs);font-weight:600;color:var(--color-text);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .08s;flex:1 1 160px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.infobox-link:hover{color:var(--color-text);text-decoration-color:var(--color-primary)}.infobox-link svg{flex-shrink:0}.works-section{margin-top:var(--space-md)}.works-section table{max-width:100%}.year-col{width:3.75rem;white-space:nowrap}.year-cell{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.01em;white-space:nowrap}.honors-list{list-style:none;padding:0;margin:var(--space-sm) 0 var(--space-lg);columns:2;column-gap:var(--space-2xl);break-inside:avoid}.honors-list li{padding:4px 0;break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid var(--color-border-subtle)}.honors-list li:last-child{border-bottom:none}@media(max-width:640px){.honors-list{columns:1}}.work-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.work-title{min-width:0}.book-meta{white-space:nowrap}.book-meta-sep{color:var(--color-text-faint);margin:0 .15em}.book-th{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.book-th-links{font-weight:inherit}.related-list{list-style:none;padding:10px 4px;margin:0;display:flex;flex-wrap:wrap;gap:6px 20px;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong)}.related-list li{font-size:14px}.related-list li:before{content:"•";color:var(--color-text-faint);margin-right:8px}.platform{color:var(--color-text-faint);font-size:.85em}.external-links{margin-top:var(--space-lg)}.location-form{display:flex;align-items:center;gap:6px}.location-form input[type=text],.location-form select,.location-form button{font:inherit;font-size:var(--text-sm);height:30px;padding:0 8px;border:1px solid var(--color-border);box-sizing:border-box;border-radius:var(--radius-sm);color:var(--color-text)}.location-form input[type=text]{width:68px;background:var(--color-bg-surface)}.location-form select{background:var(--color-bg-surface)}.location-form button{font-weight:600;background:var(--color-bg-raised);color:var(--color-text-secondary);cursor:pointer;transition:border-color .08s}.location-form button:hover{border-color:var(--color-border-strong)}.location-form button:disabled{opacity:.5;cursor:not-allowed}.location-error{color:var(--color-danger);font-size:var(--text-sm)}.events-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:12px;flex-wrap:wrap}.time-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border-strong)}.time-tab{font:inherit;font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:8px 16px 6px;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;background:transparent;color:var(--color-text);cursor:pointer;transition:border-color .08s}.time-tab.active{border-bottom-color:var(--color-primary)}.tab-count{font-family:var(--font-body);font-weight:500;font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:0;text-transform:none;margin-left:4px}.time-tab.active .tab-count{color:var(--color-text-muted)}.favorites-toggle,.filter-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;background:transparent;border:1px solid var(--color-text);padding:0 12px;min-height:32px;box-sizing:border-box;width:fit-content}.favorites-toggle input,.filter-toggle input{cursor:pointer;accent-color:var(--color-primary)}.venue-location{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.3}td.distance{text-align:right;color:var(--color-text-muted);white-space:nowrap}tr.favorite-highlight td{background:var(--color-accent-bg)}a.is-fav{font-weight:600}.no-events{color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-lg) 0}.link-button{font:inherit;font-size:inherit;font-weight:600;color:var(--color-text);background:none;border:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer;padding:0;transition:text-decoration-color .08s}.link-button:hover{text-decoration-color:var(--color-primary)}.home-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md) var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-sm)}.home-header h1{margin-bottom:0}.home-header-title{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap}.home-header-controls{display:contents}.home-header-fav{display:none}.event-list h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text);margin:0;padding:10px 4px 6px;border-bottom:1px solid var(--color-border-strong);background:transparent}.event-list h3:not(:first-child){margin-top:8px;padding-top:18px;border-top:3px double var(--color-border-strong)}.event-list{display:flex;flex-direction:column;gap:0;margin:var(--space-sm) 0 20px;border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong)}.calendar-link{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:4px;transition:text-decoration-color .08s}.calendar-link:hover{text-decoration-color:var(--color-primary)}.event-card{position:relative;display:flex;align-items:flex-start;gap:16px;padding:14px 4px;background:transparent;transition:background .08s}.event-card+.event-card{border-top:1px solid var(--color-border)}.event-card.is-favorite{background:var(--color-accent-bg);padding-left:12px;padding-right:12px}.event-date-badge{flex-shrink:0;width:78px;padding:2px 0 0;text-align:left}.date-time{font-family:var(--font-display);font-size:1.875rem;font-weight:800;line-height:.9;letter-spacing:-.01em;color:var(--color-text);text-transform:uppercase;display:block}.event-date-badge.has-date{width:84px;padding-top:1px}.badge-weekday{display:block;font-family:var(--font-display);font-size:.6875rem;font-weight:700;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.badge-date{display:block;font-family:var(--font-display);font-size:1.375rem;font-weight:800;line-height:1.02;letter-spacing:-.005em;font-variant-numeric:tabular-nums;color:var(--color-text);text-transform:uppercase;white-space:nowrap;margin-top:1px}.badge-time{display:block;font-family:var(--font-body);font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;margin-top:3px}.event-details{flex:1;min-width:0;padding:0}.event-card:has(.event-distance) .event-details{padding-right:56px}.event-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);line-height:1.1;letter-spacing:.005em}.event-title a.event-title-link{color:var(--color-text);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .08s}@media(hover:hover){.event-title a.event-title-link:hover{text-decoration-color:var(--color-primary)}}.event-venue{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:3px}.event-venue a{color:var(--color-text);text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:600;transition:text-decoration-color .08s}@media(hover:hover){.event-venue a:hover{color:var(--color-text);text-decoration-color:var(--color-primary)}}.event-venue-location{font-size:var(--text-xs);color:var(--color-text-muted);display:inline;letter-spacing:.04em;text-transform:uppercase}.event-performers{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.performer-tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;line-height:1;height:24px;padding:0 10px;background:transparent;border:1px solid var(--color-text);color:var(--color-text);text-decoration:none;transition:background .08s,color .08s,border-color .08s;overflow:hidden}.performer-tag.has-thumb{padding-left:0}.performer-tag:hover{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg-page);text-decoration:none}.performer-tag.is-fav{background:var(--color-accent-bg);border-color:var(--color-accent);font-weight:600;color:var(--color-text)}.performer-tag.is-fav:before{content:"★";color:var(--color-accent);font-size:12px;margin-right:1px}.performer-tag.is-fav.has-thumb:before{margin-left:6px;margin-right:-2px}.performer-tag.is-fav:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text)}.performer-tag.is-fav:hover:before{color:var(--color-text)}.performer-thumb{height:100%;width:auto;aspect-ratio:1 / 1;object-fit:cover;background:var(--color-bg-subtle);flex-shrink:0}.event-distance{position:absolute;top:16px;right:4px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.event-meta-mobile{display:none}.my-shows-card{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--color-text);text-decoration:none;padding:10px 16px;border:2px solid var(--color-text);font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px;transition:background .08s,color .08s}.my-shows-card:after{content:"→";font-family:var(--font-body);font-weight:700;font-size:var(--text-md);transition:transform .08s}.my-shows-card:hover{background:var(--color-text);color:var(--color-bg-page);text-decoration:none}.my-shows-card:hover:after{transform:translate(3px)}.fav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:12px 0 var(--space-lg)}.fav-card{display:flex;align-items:center;gap:10px;background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:10px 12px;text-decoration:none;color:inherit;outline:0 solid var(--color-text);outline-offset:-2px;transition:outline-width .08s}.fav-card:hover{text-decoration:none;outline-width:1px}.fav-thumb{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-bg-subtle);flex-shrink:0}.fav-placeholder{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--color-text-faint);font-size:18px;flex-shrink:0}.fav-name{font-weight:600;font-size:14px;color:var(--color-text)}.suggest-btn{display:inline-flex;align-items:center;font-family:inherit;font-size:var(--text-sm);padding:0 14px;min-height:32px;box-sizing:border-box;border:1px solid var(--color-text);background:var(--color-bg-surface);cursor:pointer;border-radius:var(--radius-sm);transition:all .08s;color:var(--color-text)}.suggest-btn:hover{border-color:var(--color-text);color:var(--color-text)}.admin-toolbar{display:flex;gap:var(--space-sm)}.admin-toolbar button{font-family:inherit;font-size:var(--text-xs);padding:5px 12px;border:1px solid var(--color-border);background:var(--color-bg-surface);cursor:pointer;border-radius:var(--radius-sm);transition:all .08s;color:var(--color-text-secondary)}.admin-toolbar button:hover{border-color:var(--color-border-strong)}.admin-toolbar button.danger{color:var(--color-danger);border-color:var(--color-danger)}.admin-toolbar button.danger:hover{background:var(--color-danger-bg)}.bulk-check-col{width:0;transition:width .2s ease}table.mod-active .bulk-check-col{width:32px}th.bulk-check,td.bulk-check{text-align:center;vertical-align:middle;overflow:hidden;padding:0;border:0;width:0;transition:width .2s ease,padding .2s ease,opacity .2s ease;opacity:0;pointer-events:none}table.mod-active th.bulk-check,table.mod-active td.bulk-check{width:32px;padding:8px 4px;opacity:1;pointer-events:auto;border:1px solid var(--color-border-subtle)}tr.bulk-selected{background:var(--color-bg-active)!important}.bulk-bar{position:fixed;bottom:0;left:0;right:0;background:var(--color-text);color:var(--color-bg-surface);padding:12px var(--space-xl);display:flex;align-items:center;gap:var(--space-md);font-size:14px;z-index:100}.bulk-bar button{font-family:inherit;font-size:var(--text-sm);padding:5px 16px;border:1px solid var(--color-danger);background:var(--color-danger);color:#fff;cursor:pointer;border-radius:var(--radius-sm);transition:background .08s}.bulk-bar button:hover{background:var(--color-danger-hover)}.bulk-bar button.primary{border-color:var(--color-bg-surface);background:var(--color-bg-surface);color:var(--color-text)}.bulk-bar button.primary:hover{opacity:.9}.bulk-bar button.primary:disabled{opacity:.6;cursor:not-allowed}.bulk-bar.success{background:var(--color-accent);color:var(--color-text)}.claim-cta{margin:var(--space-md) 0;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.claim-cta a{color:var(--color-primary)}.edit-banner{display:flex;align-items:center;gap:10px;margin:0 0 var(--space-md);padding:8px 14px;font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-subtle);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);line-height:1.4}.edit-banner strong{color:var(--color-primary);font-weight:600}.edit-banner-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-primary) 22%,transparent);animation:edit-pulse 2s ease-in-out infinite}@keyframes edit-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in oklch,var(--color-primary) 22%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklch,var(--color-primary) 10%,transparent)}}@media(prefers-reduced-motion:reduce){.edit-banner-dot{animation:none}}.admin-error{background:var(--color-danger-bg);color:var(--color-danger);font-size:var(--text-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.loading{color:var(--color-text-faint);padding:var(--space-lg) 0}td.editable{position:relative;cursor:text}td.editable:after{content:"✎";position:absolute;top:50%;right:6px;transform:translateY(-50%);font-size:12px;opacity:0;transition:opacity .08s;color:var(--color-text-faint);pointer-events:none}td.editable:hover{background:var(--color-bg-hover)}td.editable:hover:after{opacity:.5}td.pending{font-style:italic}td.editing{background:var(--color-bg-hover);box-shadow:inset 0 0 0 2px var(--color-text)}td.editing input{width:100%;padding:0;border:none;background:transparent;font:inherit;outline:none;box-sizing:border-box;color:var(--color-text)}.link-edit-btn{display:inline-flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--color-text-faint);padding:0 0 0 5px;vertical-align:middle;transition:color .08s}.link-edit-btn:hover{color:var(--color-primary)}.link-edit-btn.has-link{color:var(--color-primary);opacity:.5}.link-edit-btn.has-link:hover{opacity:1}.slug-input{font:inherit;font-size:var(--text-xs);padding:4px 8px;border:1px solid var(--color-text);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);outline:none;min-width:140px}.work-url-input{display:block;width:100%;margin-top:4px;font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--color-text);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);outline:none}.add-work-row{background:var(--color-bg-raised)}.add-work-input{width:100%;border:1px dashed var(--color-border);background:var(--color-bg-surface);padding:4px 8px;font:inherit;font-size:14px;outline:none;box-sizing:border-box;color:var(--color-text)}.add-work-input:focus{border-color:var(--color-text);border-style:solid}.add-work-url-input{flex:1;min-width:0;border:1px dashed var(--color-border);background:var(--color-bg-surface);padding:3px 8px;font:inherit;font-size:12px;outline:none;box-sizing:border-box;color:var(--color-text-tertiary)}.add-work-url-input:focus{border-color:var(--color-text);border-style:solid;color:var(--color-text)}.add-work-actions{display:flex;align-items:stretch;gap:6px;margin-top:4px}.add-work-submit{font-family:inherit;font-size:12px;font-weight:600;padding:3px 12px;border:1px solid var(--color-text);background:var(--color-text);color:var(--color-bg-page);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;transition:background .08s,opacity .08s}.add-work-submit:hover:not(:disabled){background:var(--color-text-secondary);border-color:var(--color-text-secondary)}.add-work-submit:disabled{opacity:.45;cursor:not-allowed}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select{appearance:none;-webkit-appearance:none;font:inherit;font-size:var(--text-base);height:30px;padding:0 12px;background:var(--color-bg-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;outline:none;transition:border-color .08s}.select:hover:not(:disabled){border-color:var(--color-border-strong)}.select:focus{border-color:var(--color-text)}.select:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .select{background-color:#000;color:#fff;border-color:#fff}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:12px 0 var(--space-lg)}.comedian-card{background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden;transition:outline-width .08s;cursor:pointer;text-decoration:none;color:inherit;display:block;outline:0 solid var(--color-text);outline-offset:-2px}.comedian-card:hover{outline-width:1px;text-decoration:none}.card-image{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block;background:var(--color-bg-subtle)}.card-placeholder{width:100%;aspect-ratio:3 / 4;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--color-text-faint);font-size:32px}.card-placeholder img{width:90%;height:90%;object-fit:contain}.card-info{padding:8px 10px;border-top:1px solid var(--color-border-strong)}.card-name{font-weight:600;font-size:var(--text-sm);color:var(--color-text)}.card-meta{font-size:var(--text-xs);color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.state-nav{display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:12px;font-size:var(--text-sm)}.state-nav a{color:var(--color-text-tertiary);text-decoration:none;padding:2px 6px;border-radius:var(--radius-sm);transition:all .08s}.state-nav a:hover{background:var(--color-text);color:var(--color-bg-page)}.prose{max-width:680px;margin:0 auto;padding:20px 0 40px}.prose h1{margin-bottom:12px}.prose h2{font-size:var(--text-xl);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.prose h3{font-size:var(--text-lg);margin-top:var(--space-lg);margin-bottom:6px}.prose p{margin:12px 0;line-height:1.8;color:var(--color-text-secondary)}.prose ul,.prose ol{margin:12px 0;padding-left:var(--space-lg)}.prose li{margin:8px 0;line-height:1.7;color:var(--color-text-secondary)}.prose strong{font-weight:600}@media(max-width:1010px){.site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo   auth" "middle middle"}}@media(max-width:640px){.infobox{flex-direction:column}.infobox-image{width:100%}.infobox-image.natural{width:100%;max-width:none;background:none}.infobox-image.natural img{width:100%;height:auto;max-width:none;max-height:none;object-fit:fill}.infobox-info{width:100%;border-left:none;border-top:1px solid var(--color-border)}.site-header{padding:10px var(--space-md)}.site-header nav{gap:14px;font-size:14px}.header-middle{flex-direction:column;align-items:stretch;gap:10px}.content{padding:var(--space-lg) var(--space-md)}.event-list{margin-left:calc(var(--space-md) * -1);margin-right:calc(var(--space-md) * -1)}.event-card{flex-direction:column;align-items:stretch;gap:6px;padding-left:var(--space-md);padding-right:var(--space-md)}.event-card.is-favorite{padding-left:var(--space-md);padding-right:var(--space-md)}.event-date-badge,.event-distance{display:none}.event-card:has(.event-distance) .event-details{padding-right:0}.event-meta-mobile{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.event-meta-time{color:var(--color-text);font-weight:700}.event-meta-sep{color:var(--color-text-muted);opacity:.6}.event-title{font-size:1.1875rem}h1{font-size:1.75rem}table{font-size:var(--text-sm);margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}th,td{padding:8px}.time-tabs{flex-wrap:wrap}.time-tab{font-size:var(--text-xs);padding:4px 6px}.events-controls{gap:10px}.home-header{flex-direction:column;align-items:stretch;gap:10px}.home-header-title{display:flex;align-items:baseline;gap:var(--space-xs) var(--space-md);flex-wrap:wrap}.home-header-controls{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-sm);min-width:0}.home-header-controls .place-picker{justify-self:end;justify-content:flex-end;min-width:0}.home-header-fav{display:inline-flex}.home-header .place-picker{justify-content:flex-end}.events-controls .favorites-toggle{display:none}.fav-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}}.venues-section{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:3px double var(--color-border-strong)}.venues-head{margin-bottom:var(--space-md)}.venues-head h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.005em;color:var(--color-text)}.venues-sub{margin:4px 0 0;color:var(--color-text-tertiary);font-size:var(--text-sm)}.venues-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.venues-grid>*{flex:1 1 240px;max-width:calc((100% - 20px) / 3)}@media(max-width:800px){.venues-grid>*{max-width:calc((100% - 10px)/2)}}@media(max-width:520px){.venues-grid>*{max-width:100%}}.venue-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-bg-surface);border:1px solid var(--color-border);overflow:hidden;transition:border-color .08s,box-shadow .08s}.venue-card:hover{border-color:var(--color-border-strong);box-shadow:0 1px 0 var(--color-border-strong)}.venue-thumb{flex-shrink:0;width:56px;height:56px;border-radius:4px;overflow:hidden;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-family:var(--font-display);font-weight:700}.venue-thumb img{width:100%;height:100%;object-fit:cover;display:block}.venue-thumb-mark{font-size:1.5rem;line-height:1}.venue-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.venue-name{font-family:var(--font-display);font-weight:600;font-size:var(--text-base);color:var(--color-text);text-decoration:none;line-height:1.3;min-width:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-block:.05em}.venue-card .venue-name:after{content:"";position:absolute;inset:0;border-radius:inherit}.venue-card{position:relative}.venue-name:hover{text-decoration:none}.venue-location{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venues-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-md)}.venues-pager-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-base);cursor:pointer;transition:border-color .08s,background .08s}.venues-pager-btn:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-bg-raised)}.venues-pager-btn:disabled{opacity:.35;cursor:not-allowed}.venues-pager-status{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;color:var(--color-text-tertiary);text-transform:uppercase;min-width:4ch;text-align:center}@media(max-width:600px){.venues-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.comedian-card,.fav-card{transition:none!important;transform:none!important}}.search-wrap.svelte-17bsd80{position:relative;flex:1;min-width:160px;max-width:560px}.search-input.svelte-17bsd80{width:100%;font-size:16px;padding:8px 12px;background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;outline:none;transition:border-color .08s}.search-input.svelte-17bsd80::placeholder{color:var(--color-text-muted)}.search-input.svelte-17bsd80:focus{border-color:var(--color-border-strong)}[data-theme=dark] .search-input.svelte-17bsd80{background:#000;color:#fff;border-color:#fff}[data-theme=dark] .search-input.svelte-17bsd80::placeholder{color:#fff;opacity:.6}[data-theme=dark] .search-input.svelte-17bsd80:-webkit-autofill,[data-theme=dark] .search-input.svelte-17bsd80:-webkit-autofill:hover,[data-theme=dark] .search-input.svelte-17bsd80:-webkit-autofill:focus{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px #000 inset;box-shadow:0 0 0 1000px #000 inset;caret-color:#fff}.search-dropdown.svelte-17bsd80{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);z-index:200;max-height:420px;overflow-y:auto}.search-group-header.svelte-17bsd80{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);background:var(--color-bg-raised);padding:6px 12px;border-bottom:1px solid var(--color-border-subtle)}.search-item.svelte-17bsd80{display:flex;align-items:stretch;gap:10px;width:100%;padding:0 12px 0 0;min-height:40px;border:none;background:none;font-family:inherit;font-size:15px;text-align:left;cursor:pointer;border-bottom:1px solid var(--color-border-subtle)}.search-item.svelte-17bsd80:hover,.search-item.active.svelte-17bsd80{background:var(--color-bg-active)}.search-thumb-slot.svelte-17bsd80{width:40px;height:40px;align-self:center;flex-shrink:0}.search-thumb.svelte-17bsd80{width:40px;height:40px;display:block;object-fit:cover}.search-item-text.svelte-17bsd80{align-self:center;flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:4px 0}.search-item-name.svelte-17bsd80{color:var(--color-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-more.svelte-17bsd80{border-bottom:none}.search-more-icon.svelte-17bsd80{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.search-item-subtitle.svelte-17bsd80{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backdrop.svelte-1y960i6{position:fixed;inset:0;background:#00000059;z-index:200;display:flex;align-items:center;justify-content:center}.modal.svelte-1y960i6{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;width:460px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-md)}h3.svelte-1y960i6{margin:0 0 16px;font-size:15px;font-weight:600}.login-input.svelte-1y960i6{font-size:1rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;width:100%;outline:none;transition:border-color .08s;box-sizing:border-box}.login-input.svelte-1y960i6:focus{border-color:var(--color-border-strong)}.buttons.svelte-1y960i6{display:flex;gap:.4rem;margin-top:12px}.btn.svelte-1y960i6{font-family:inherit;font-size:.8rem;padding:.35rem 1rem;border:1px solid var(--color-border);background:var(--color-bg-surface);cursor:pointer;border-radius:var(--radius-sm);transition:all .08s;color:var(--color-text-tertiary)}.btn.svelte-1y960i6:hover{border-color:var(--color-border-strong);color:var(--color-text)}.btn.primary.svelte-1y960i6{background:var(--color-text);color:var(--color-bg-page);border-color:var(--color-text)}.btn.primary.svelte-1y960i6:hover{background:var(--color-text-secondary);border-color:var(--color-text-secondary)}.btn.svelte-1y960i6:disabled{opacity:.5;cursor:default}.login-error.svelte-1y960i6{display:block;color:var(--color-danger);font-size:.75rem;margin-top:8px}.input-wrap.svelte-1y960i6{position:relative}.suggest-dropdown.svelte-1y960i6{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-surface);border:1px solid var(--color-border-strong);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);z-index:210;max-height:280px;overflow-y:auto}.suggest-item.svelte-1y960i6{display:flex;align-items:center;gap:10px;width:100%;padding:6px 12px;border:none;background:none;font-family:inherit;font-size:14px;text-align:left;cursor:pointer;border-bottom:1px solid var(--color-border-subtle)}.suggest-item.svelte-1y960i6:hover,.suggest-item.active.svelte-1y960i6{background:var(--color-bg-active)}.suggest-thumb-slot.svelte-1y960i6{width:28px;height:28px;flex-shrink:0}.suggest-thumb.svelte-1y960i6{width:28px;height:28px;border-radius:50%;object-fit:cover}.suggest-text.svelte-1y960i6{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-name.svelte-1y960i6{color:var(--color-text);margin-right:6px}.suggest-handle.svelte-1y960i6{color:var(--color-text-muted);font-size:13px}.backdrop.svelte-1ijmwz4{position:fixed;inset:0;background:#1c191780;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-md);animation:svelte-1ijmwz4-fade-in .18s ease-out}.modal.svelte-1ijmwz4{display:grid;grid-template-rows:auto 1fr auto;width:min(680px,100%);max-height:min(86vh,820px);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;animation:svelte-1ijmwz4-rise .24s cubic-bezier(.2,.8,.2,1)}.head.svelte-1ijmwz4{padding:var(--space-lg) var(--space-xl) var(--space-md);border-bottom:1px solid transparent;transition:border-color .15s ease,box-shadow .15s ease}.head.is-scrolled.svelte-1ijmwz4{border-bottom-color:var(--color-border);box-shadow:var(--shadow-sm)}.eyebrow.svelte-1ijmwz4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-muted);margin-bottom:4px;font-weight:500}.head.svelte-1ijmwz4 h2:where(.svelte-1ijmwz4){font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;margin:0;letter-spacing:-.5px;line-height:1.05;color:var(--color-text)}.body.svelte-1ijmwz4{overflow-y:auto;padding:var(--space-md) var(--space-xl) var(--space-lg);scrollbar-gutter:stable}.summary.svelte-1ijmwz4{background:var(--color-primary-bg);border:1px solid color-mix(in oklab,var(--color-primary) 25%,transparent);border-radius:var(--radius-md);padding:14px 16px 16px;margin-bottom:var(--space-lg)}.points.svelte-1ijmwz4{display:flex;flex-direction:column;gap:10px;margin:0}.point.svelte-1ijmwz4 dt:where(.svelte-1ijmwz4){font-weight:700;font-size:var(--text-base);color:var(--color-text);display:inline}.point.svelte-1ijmwz4 dd:where(.svelte-1ijmwz4){display:inline;margin:0 0 0 6px;font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.55}.foot.svelte-1ijmwz4{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:14px var(--space-xl);background:var(--color-bg-raised);border-top:1px solid var(--color-border)}.permalink.svelte-1ijmwz4{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.permalink.svelte-1ijmwz4:hover{color:var(--color-primary);text-decoration:none}.permalink.svelte-1ijmwz4 svg:where(.svelte-1ijmwz4){opacity:.7}.btn.svelte-1ijmwz4{font-family:inherit;font-size:var(--text-base);font-weight:600;padding:10px 22px;background:var(--color-bg-surface);color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,transform .1s ease,border-color .15s ease}.btn.primary.svelte-1ijmwz4{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.btn.primary.svelte-1ijmwz4:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn.svelte-1ijmwz4:active{transform:translateY(1px)}.btn.svelte-1ijmwz4:disabled{opacity:.55;cursor:default;transform:none}.error.svelte-1ijmwz4{padding:var(--space-sm) var(--space-xl);color:var(--color-danger);background:var(--color-danger-bg);font-size:var(--text-sm);border-top:1px solid var(--color-border)}@keyframes svelte-1ijmwz4-fade-in{0%{opacity:0}to{opacity:1}}@keyframes svelte-1ijmwz4-rise{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.backdrop.svelte-1ijmwz4,.modal.svelte-1ijmwz4{animation:none}.btn.svelte-1ijmwz4:active{transform:none}}@media(max-width:640px){.head.svelte-1ijmwz4{padding:var(--space-md) var(--space-lg) 12px}.head.svelte-1ijmwz4 h2:where(.svelte-1ijmwz4){font-size:var(--text-xl)}.body.svelte-1ijmwz4{padding:12px var(--space-lg) var(--space-md)}.foot.svelte-1ijmwz4{padding:12px var(--space-lg)}.permalink.svelte-1ijmwz4{font-size:var(--text-xs)}.btn.svelte-1ijmwz4{padding:9px 18px;font-size:var(--text-sm)}.modal.svelte-1ijmwz4{max-height:94vh}}.nav-progress.svelte-12qhfyh{position:fixed;top:0;left:0;height:3px;width:100%;z-index:10000;transform-origin:left;background:var(--color-primary);animation:svelte-12qhfyh-nav-progress-trickle 10s cubic-bezier(.16,1,.3,1) forwards}@keyframes svelte-12qhfyh-nav-progress-trickle{0%{transform:scaleX(0)}8%{transform:scaleX(.32)}to{transform:scaleX(.96)}}@media(prefers-reduced-motion:reduce){.nav-progress.svelte-12qhfyh{animation:none;transform:scaleX(1);opacity:.65}}.auth.svelte-12qhfyh{display:flex;align-items:center;gap:.5rem;font-size:.875rem;grid-area:auth;justify-self:end}.auth-handle.svelte-12qhfyh{color:var(--color-text);text-decoration:none;font-weight:500}.auth-btn.svelte-12qhfyh{background:none;border:1px solid var(--color-border);padding:.3rem .8rem;font-size:.8rem;cursor:pointer;font-family:inherit;border-radius:var(--radius-sm);transition:all .08s;color:var(--color-text-tertiary)}.auth-btn.svelte-12qhfyh:hover{border-color:var(--color-border-strong);color:var(--color-text)}.auth-btn-icon.svelte-12qhfyh{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;line-height:0}.site-footer.svelte-12qhfyh{position:relative;border-top:1px solid var(--color-border-subtle);padding:var(--space-lg) var(--space-xl);text-align:center;font-size:var(--text-sm);color:var(--color-text);margin-top:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px}@media(max-width:640px){.site-footer.svelte-12qhfyh{padding:var(--space-md) var(--space-md);padding-right:calc(var(--space-md) + 28px);gap:10px}.site-footer.svelte-12qhfyh .footer-tagline:where(.svelte-12qhfyh),.site-footer.svelte-12qhfyh .footer-sep:where(.svelte-12qhfyh){display:none}}.site-footer.svelte-12qhfyh .theme-toggle:where(.svelte-12qhfyh){position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);background:none;border:none;padding:4px 6px;font-size:var(--text-md);line-height:1;color:var(--color-text);cursor:pointer;transition:opacity .08s}.site-footer.svelte-12qhfyh .theme-toggle:where(.svelte-12qhfyh):hover{opacity:.7}.theme-icon.svelte-12qhfyh{display:block}.footer-tagline.svelte-12qhfyh,.footer-sep.svelte-12qhfyh{color:var(--color-text)}.footer-link.svelte-12qhfyh{color:var(--color-text);text-decoration:none;font-weight:600;transition:text-decoration-color .08s}.footer-link.svelte-12qhfyh:hover{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:3px}.fun-btn.svelte-12qhfyh{background:none;border:none;padding:0;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--color-text);cursor:pointer;transition:opacity .08s}.fun-btn.svelte-12qhfyh:hover{opacity:.7}.confetti-piece.svelte-12qhfyh{position:fixed;left:var(--start-x);top:var(--start-y);width:var(--size);height:auto;pointer-events:none;z-index:9999;opacity:0;transform:translate(-50%,-50%);rotate:var(--rot-start);animation:svelte-12qhfyh-confetti-fly var(--dur) cubic-bezier(.4,.5,.6,.5) var(--delay) forwards,svelte-12qhfyh-confetti-spin calc(var(--dur) * 1.4) linear var(--delay) forwards;will-change:transform,opacity,rotate}@keyframes svelte-12qhfyh-confetti-fly{0%{opacity:0;transform:translate(-50%,-50%)}6%{opacity:1}50%{opacity:1;transform:translate(calc(-50% + var(--mid-x)),calc(-50% + var(--mid-y)))}85%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--end-x)),calc(-50% + var(--end-y)))}}@keyframes svelte-12qhfyh-confetti-spin{0%{rotate:var(--rot-start)}to{rotate:var(--rot-end)}}
