@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&display=swap');
:root{--paper:#f7f6ef;--ink:#243f35;--muted:#6a756c;--green:#285642;--line:#dedfd3;--orange:#c96942;--serif:'Noto Serif SC','Songti SC',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft Yahei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #bd713c;outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}.skip{position:fixed;top:-100px;left:20px;z-index:2000;padding:12px;background:white}.skip:focus{top:10px}.site-header{height:94px;margin:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-size:23px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:2.6px;font-weight:500;line-height:1.5}.brand-icon{font-family:serif;font-size:49px;line-height:1;color:var(--orange);font-weight:400}.edition{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.8px}.status-dot{display:inline-block;width:6px;height:6px;background:#538564;border-radius:50%;flex-shrink:0}.edition-line{height:12px;width:1px;background:#bcbfb1;margin:0 8px}.header-note{color:var(--muted);font-size:12px;letter-spacing:1px}main{max-width:1510px;margin:auto;padding:0 5%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:52px 0 56px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.3px;margin:0 0 14px;color:#728171}.intro h1{font-family:var(--serif);font-size:clamp(30px,3.05vw,48px);letter-spacing:2px;line-height:1.6;font-weight:600;margin:0 0 18px;position:relative;white-space:nowrap}.intro h1 span{position:relative}.intro h1 span:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:9px;border-top:2px solid #b6bd93;border-radius:50%}.sun{position:absolute;width:43px;height:43px;color:#d7a84b;top:6px;left:280px;transform:rotate(14deg)}.intro-description{font-size:13px;color:var(--muted);line-height:2.1}.season{display:flex;align-items:center;gap:9px;font-size:18px;color:var(--orange);margin:21px 0 0}.season span{font-size:11px;letter-spacing:.8px;color:var(--ink)}.intro-visual{position:relative;height:285px;margin-right:14px}.hero-photo{height:252px;width:85%;margin:0 0 0 auto;transform:rotate(2deg);background:#fff;padding:7px 7px 0;box-shadow:0 5px 18px #243f3512}.hero-photo img{height:213px;width:100%;object-fit:cover;object-position:50% 44%;display:block}.hero-photo figcaption{font-size:10px;display:flex;justify-content:space-between;align-items:center;height:32px;padding:0 6px;color:#647461}.hero-photo figcaption span{font-size:8px;letter-spacing:1.3px}.inset-photo{width:41%;height:150px;position:absolute;left:0;bottom:-8px;padding:6px 6px 0;background:white;transform:rotate(-7deg);box-shadow:0 4px 20px #243f3526;margin:0}.inset-photo img{width:100%;height:116px;object-fit:cover}.inset-photo figcaption{font-size:11px;font-family:Georgia,serif;font-style:italic;text-align:center;color:#717260;line-height:20px}.postmark{position:absolute;right:-22px;bottom:0;transform:rotate(-15deg);width:91px;height:91px;border:1px solid #c16d4e;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:11px;font-weight:600;letter-spacing:1px;color:#ba684a;line-height:1.5;outline:1px dashed #c16d4e;outline-offset:-5px}.postmark span{font-size:16px}.explorer{border-top:1px solid var(--line);padding-top:29px}.explorer-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.explorer-top .eyebrow{margin-bottom:6px;font-size:9px}.explorer h2{font-family:var(--serif);font-size:26px;letter-spacing:1px;margin:0;font-weight:600}.coverage{font-size:11px;color:var(--muted);margin-bottom:4px}.filters{display:flex;background:#fffefa;border:1px solid #dcded2;border-radius:7px;padding:14px 18px;margin-bottom:25px;gap:26px}.field-label{display:block;font-size:9px;letter-spacing:1px;color:#7b8377;line-height:1.3;margin-bottom:6px}.city-field{flex:0 0 29%;border-right:1px solid var(--line);padding-right:24px}.select-wrap,.search-wrap{display:flex;align-items:center;gap:10px}.filters svg{width:18px;height:18px;color:#5e7963;flex-shrink:0}.filters select{appearance:auto;color:var(--ink);background:transparent;border:0;width:100%;cursor:pointer;min-height:25px;padding:0 5px 0 0;font-size:13px}.search-field{flex:1;min-width:0}.filters input{width:100%;min-width:0;background:transparent;color:var(--ink);border:0;padding:0;height:25px;font-size:13px}.filters input::placeholder{color:#a0a397;font-size:12px}.explore-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:27px}.map-column{min-width:0}.map-frame{position:relative;border:1px solid #d8dbce;border-radius:8px;overflow:hidden;height:625px;background:#dce5e1}#map{width:100%;height:100%;z-index:0;background:#dce5e1}.map-stamp{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:8px;background:#fffffff0;padding:8px 11px;font-size:8px;letter-spacing:1.2px;box-shadow:0 2px 6px #00000008;border:1px solid #e0e3d9;border-radius:3px;pointer-events:none}.map-error{position:absolute;bottom:32px;left:15px;right:15px;background:#fff8e9;padding:12px;border:1px solid #e3c387;font-size:12px}.map-caption{display:flex;justify-content:space-between;margin-top:12px;gap:10px;font-family:var(--serif);font-size:12px;color:#63745f}#map-count{font-family:var(--sans);font-size:10px;white-space:nowrap}.map-footnote{font-size:10px;color:#818778;margin:9px 0}.legend{display:flex;gap:17px;margin-top:17px;font-size:10px;color:#697363;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:6px;height:6px;border-radius:50%;display:inline-block}.parade{background:#c26c49}.market{background:#8a9260}.performance{background:#6b819e}.show{background:#477e66}.results-column{min-width:0}.results-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 13px}.results-heading h3{font-size:13px;font-weight:500;margin:0}.results-heading>span{color:#8b9083;font-size:10px}.event-list{height:576px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#c1c8b8 transparent;overscroll-behavior:contain}.event-card{width:100%;display:grid;grid-template-columns:130px minmax(0,1fr);gap:17px;text-align:left;position:relative;background:transparent;border:0;border-bottom:1px solid var(--line);padding:17px 0;color:var(--ink);transition:background .2s}.event-card:first-child{padding-top:0}.event-card:hover{background:#eaeedc66}.event-image{width:130px;height:135px;border-radius:5px;object-fit:cover;background:#e6e6da}.card-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}.card-top{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;margin-bottom:7px}.category{display:flex;align-items:center;gap:5px;color:#a15e43}.category.market{background:none;color:#7a8250}.category.performance{background:none;color:#637a94}.category.show{background:none;color:#477e66}.category.parade{background:none}.event-card h4{font-size:15px;line-height:1.4;margin:0 0 3px;font-weight:600;font-family:Georgia,var(--sans)}.card-subtitle{font-size:10px;color:#72806d;margin:0 0 9px}.card-meta{font-size:10px;line-height:1.9;margin:0;color:#7c8375}.card-meta b{font-weight:400;color:#465e4a}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:9px}.city-tag{font-size:9px;padding:1px 6px;border:1px solid #dce0d2;border-radius:3px;color:#6d7b66}.card-arrow{font-size:17px;color:#829273;line-height:1}.pending-tag{color:#a46e28;font-size:10px}.data-note{display:flex;gap:10px;border:1px solid #e1e2d4;padding:11px 12px;border-radius:5px;margin-top:16px;background:#efeee4}.data-note>span{font-size:25px;color:#a59161;line-height:1.2}.data-note p{font-size:10px;color:#7c7f6c;margin:0;line-height:1.8}.data-note strong{display:block;font-weight:500;color:#5b6954}.loading,.empty{padding:35px 15px;color:var(--muted);font-size:13px}.empty strong{display:block;font-family:var(--serif);font-size:21px;color:var(--ink);margin:12px 0}.empty span{display:block;font-size:12px;line-height:2}.empty-mark{font-size:30px;color:#a9b49b}footer{max-width:1510px;margin:48px auto 0;padding:26px 5% 30px;border-top:1px solid var(--line);display:flex;align-items:center;gap:28px}.footer-brand{font-family:var(--serif);font-size:15px;white-space:nowrap}footer p{font-size:9px;line-height:1.9;color:#8a8d7e;margin:0}.footer-signoff{margin-left:auto;font-size:16px;font-family:Georgia,serif;font-style:italic;color:#849075;white-space:nowrap}.leaflet-control-attribution{font-size:8px!important}.leaflet-control-zoom{border:1px solid #d6daca!important;box-shadow:0 2px 8px #0001!important}.leaflet-control-zoom a{color:#365541!important;background:#fffef8!important}.pin-icon{background:none;border:0}.pin-dot{width:31px;height:31px;border:2px solid #fff;outline:1px solid #243f351a;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 7px #18332640;display:flex;align-items:center;justify-content:center;color:white}.pin-dot b{transform:rotate(45deg);font-size:10px;font-weight:600;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.pin-dot:focus{outline:3px solid #d6b451}.leaflet-tooltip{font-family:var(--sans);font-size:11px;border-color:#d7dccd;color:var(--ink);box-shadow:0 2px 8px #0001}.leaflet-control-layers{display:none}dialog{border:0;border-radius:12px;padding:0;max-width:800px;width:calc(100% - 40px);max-height:91dvh;background:var(--paper);color:var(--ink);box-shadow:0 16px 100px #0f352640;overflow:auto}dialog::backdrop{background:#18382db3;backdrop-filter:blur(4px)}.close-dialog{position:absolute;right:15px;top:15px;z-index:2;width:37px;height:37px;background:#fffef7ef;color:var(--ink);border:1px solid #dadfd2;border-radius:50%;font-size:26px;line-height:1;display:grid;place-items:center}.detail-photo{width:100%;height:270px;object-fit:cover;display:block;background:#dce1d3}.photo-credit{font-size:9px;margin:5px 25px 0;color:#808977;display:block}.detail-body{padding:23px 30px 30px}.detail-body h2{font-family:Georgia,var(--serif);font-size:29px;line-height:1.3;margin:7px 0}.detail-subtitle{font-size:13px;color:var(--muted);margin:5px 0 20px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:17px;background:#eef0e5;border:1px solid #e0e3d5;padding:17px;border-radius:5px}.detail-facts dt{font-size:10px;color:#8a917d;margin-bottom:5px}.detail-facts dd{margin:0;font-size:12px}.detail-body h3{font-family:var(--serif);font-size:16px;font-weight:600;margin:22px 0 9px}.detail-body p{font-size:13px;line-height:1.95;color:#5c6d59}.recommendation{border-left:3px solid #c99857;padding:1px 17px;background:#f1ecdd;margin-top:22px}.recommendation h3{font-family:var(--sans);font-size:10px;letter-spacing:1px;color:#9c7b42;margin-top:12px}.recommendation p{margin-bottom:13px}.history{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dbdfd0;border:1px solid #dbdfd0;border-radius:4px;overflow:hidden;margin:12px 0}.history>div{background:#f9f9f0;padding:12px;display:flex;justify-content:space-between;font-size:11px;gap:10px;color:#7c866e}.popularity-detail small{color:#8b917d;font-size:10px}.detail-note{font-size:11px!important;background:#f3efdf;padding:12px;border-radius:4px;overflow-wrap:anywhere}.source-link{display:inline-block;margin-top:16px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:4px;padding:10px 16px;text-decoration:none;font-size:12px}.source-caption{display:block;font-size:9px;color:#86917d;margin-top:9px;overflow-wrap:anywhere}.detail-tags{display:flex;gap:7px;margin:13px 0}.detail-tags span{font-size:10px;color:#7b866d;border:1px solid #d8dfcb;padding:2px 8px;border-radius:3px}
@media(min-width:1600px){.intro{padding-top:60px}.intro-visual{height:310px}.hero-photo{height:280px}.hero-photo img{height:240px}.inset-photo{height:165px}.inset-photo img{height:133px}.event-card{grid-template-columns:150px minmax(0,1fr)}.event-image{width:150px}}
@media(max-width:1100px){.header-note{display:none}.intro{gap:20px}.intro h1{font-size:31px}.sun{left:230px;width:34px}.intro-visual{height:255px}.hero-photo{height:225px}.hero-photo img{height:185px}.inset-photo{height:130px}.inset-photo img{height:98px}.postmark{width:74px;height:74px;font-size:9px;right:-12px}.explore-layout{grid-template-columns:1fr 1fr;gap:20px}.event-card{grid-template-columns:105px minmax(0,1fr);gap:12px}.event-image{width:105px;height:132px}.event-card h4{font-size:14px}.card-top{gap:2px;font-size:8px}.filters{gap:20px}.city-field{flex-basis:33%}.intro-description{font-size:12px}}
@media(max-width:760px){.site-header{height:78px;margin:0 5%}.brand{font-size:19px;gap:8px}.brand-icon{font-size:40px}.brand small{font-size:7px;letter-spacing:1.7px}.edition{font-size:8px;gap:6px;letter-spacing:.5px}.edition-line{margin:0 3px}.intro{padding:30px 0 40px;display:block}.intro h1{font-size:34px;letter-spacing:1px;margin:0 0 18px}.eyebrow{font-size:8px;letter-spacing:1.5px}.sun{left:250px;top:0}.intro-description{font-size:12px}.season{margin-top:15px}.intro-visual{height:215px;margin:24px 12px 0 0}.hero-photo{height:205px;width:80%;max-width:400px}.hero-photo img{height:169px}.inset-photo{width:38%;max-width:185px;height:127px;bottom:-5px}.inset-photo img{height:96px}.postmark{right:-10px;bottom:4px}.explorer{padding-top:22px}.explorer h2{font-size:23px}.coverage{font-size:10px;max-width:120px;text-align:right}.filters{padding:14px;gap:13px;flex-direction:column;margin-bottom:20px}.city-field{padding:0 0 12px;border-right:0;border-bottom:1px solid var(--line);flex:auto}.field-label{font-size:9px;margin-bottom:5px}.filters input{font-size:12px}.filters input::placeholder{font-size:11px}.explore-layout{display:flex;flex-direction:column;gap:26px}.map-frame{height:370px}.map-caption{font-size:11px}.map-footnote{font-size:9px}.legend{font-size:9px;gap:15px;margin-top:10px}.map-stamp{top:12px;left:12px;font-size:7px;padding:7px 9px}.event-list{height:570px;padding-right:5px}.event-card{grid-template-columns:115px minmax(0,1fr);gap:15px;padding:16px 0}.event-image{width:115px;height:133px}.card-top{font-size:9px}.event-card h4{font-size:16px}.card-subtitle{font-size:11px}.card-meta{font-size:10px}.data-note p{font-size:10px}footer{margin-top:35px;padding-top:22px;gap:12px;flex-wrap:wrap}.footer-brand{font-size:14px}footer p{font-size:8px;flex:1}.footer-signoff{display:none}.detail-photo{height:210px}.detail-body{padding:20px}.detail-body h2{font-size:25px}.detail-facts{grid-template-columns:1fr}.photo-credit{margin-left:20px;margin-right:20px}.history>div{flex-direction:column;gap:4px}dialog{width:calc(100% - 22px);max-height:94dvh}.detail-body p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:760px){.inset-photo figcaption{font-size:9px;white-space:nowrap}.close-dialog{width:44px;height:44px}}
/* Multipage browsing uses native links so content also works without JavaScript. */
.header-links{display:flex;gap:24px;font-size:12px}.city-nav{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0 24px}.city-nav a{border:1px solid var(--line);border-radius:4px;padding:5px 10px;text-decoration:none;font-size:11px}.city-nav a:hover,.city-nav a[aria-current]{background:var(--green);color:white}.intro h1{white-space:normal;font-size:clamp(28px,3vw,45px);line-height:1.45}.intro .hero-photo{width:95%;max-width:550px}.event-card{text-decoration:none}.filters{gap:18px}.filters>label{min-width:0}.filters input[type=date]{min-width:128px}.city-field{flex-basis:23%}.search-field{flex:1}.event-page{max-width:900px;margin:25px auto 50px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.event-page h1{font-size:34px;line-height:1.3;margin:12px 0}.event-page h2{font-size:20px;margin-top:28px}.event-page .detail-photo{height:350px}.detail-map{height:300px;margin-top:28px}.breadcrumbs{font-size:12px;margin-top:25px;overflow-wrap:anywhere}.source-page{max-width:900px;padding:35px 0}.source-page li{margin:12px 0}.coverage-row{border-top:1px solid var(--line);padding:10px 0}.coverage-row a{font-size:12px}.detail-tags{flex-wrap:wrap}.detail-body{overflow-wrap:anywhere}.detail-body .category{display:inline-flex}.event-list{height:650px}.map-frame{height:650px}.detail-map{height:300px}.source-page h1{font-family:var(--serif)}
@media(max-width:1000px){.filters{flex-wrap:wrap}.city-field{flex-basis:35%}.search-field{flex-basis:50%}.filters>label:not(.city-field):not(.search-field){flex:1}.card-top{flex-wrap:wrap}}
@media(max-width:760px){.site-header{height:auto;min-height:90px;gap:12px;flex-wrap:wrap;padding:12px 0}.brand{font-size:18px;letter-spacing:.5px}.header-links{gap:15px;font-size:11px}.intro .hero-photo{margin:25px auto 0;width:94%;height:225px}.intro .hero-photo img{height:185px}.filters{display:grid;grid-template-columns:1fr 1fr}.city-field,.search-field{grid-column:1/-1}.search-field{padding-bottom:10px;border-bottom:1px solid var(--line)}.map-frame{height:350px}.detail-map{height:260px}.event-list{height:auto;max-height:850px}.event-page h1{font-size:27px}.event-page .detail-photo{height:220px}.city-nav{max-height:180px;overflow:auto}.card-top{gap:5px}.event-card{gap:12px;grid-template-columns:100px minmax(0,1fr)}.event-image{width:100px}.history{grid-template-columns:1fr}.event-page .detail-body{padding:20px}.intro h1{font-size:31px}}

/* Local SVG icons stay consistent across desktop and mobile emoji fonts. */
.site-icon{display:inline-block;flex-shrink:0;width:1em;height:1em;vertical-align:middle;fill:none;stroke:none}
.brand-icon{display:flex;align-items:center;justify-content:center}
.brand-icon .site-icon{width:46px;height:46px}
.season>.site-icon{width:20px;height:20px}
.category .site-icon{width:18px;height:18px}
.pin-dot .site-icon{width:22px;height:22px}
@media(max-width:760px){.brand-icon .site-icon{width:38px;height:38px}}

/* Assistant starts as a compact input, then becomes the persistent right column. */
.assistant-panel{width:min(100%,720px);margin:0 auto 25px;padding:18px 22px;background:#fffefa;border:1px solid #dcded2;border-radius:14px;box-shadow:0 12px 35px #173a2710}
.assistant-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#28513d}
.assistant-heading strong{font-family:var(--serif);font-size:19px}
.assistant-heading button{border:1px solid #cbd6c6;border-radius:999px;background:#f8faf5;color:#345341;padding:5px 10px;font-size:11px}
.assistant-heading button[hidden]{display:none}
.assistant-intro{margin:0 0 10px;color:#647568;font-size:12px}
.assistant-memory{margin:0 0 10px;color:#687965;font-size:11px}
.assistant-log{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0;scrollbar-width:thin}
.assistant-log:empty{display:none}
.assistant-line{max-width:90%;padding:9px 12px;border-radius:11px;margin:0;white-space:pre-wrap;font-size:12px}
.assistant-line.visitor{align-self:flex-end;background:#e5eee3;color:#294d38}
.assistant-line.assistant{align-self:flex-start;background:#f3f0e6;color:#34483a}
.assistant-form label{display:block;font-size:11px;font-weight:600;margin:0 0 6px}
.assistant-entry{display:flex;gap:8px;align-items:end}
.assistant-entry textarea{flex:1;min-width:0;resize:vertical;min-height:54px;max-height:130px;padding:10px 12px;background:white;color:var(--ink);border:1px solid #cbd3c6;border-radius:10px;font:inherit;font-size:13px}
.assistant-entry button{border:0;border-radius:8px;background:#28513d;color:white;padding:11px 15px;font-size:12px;font-weight:600;white-space:nowrap}
.assistant-entry button:disabled{opacity:.55;cursor:wait}
.assistant-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.assistant-result{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid #d7dfd1;border-radius:8px;text-decoration:none;background:white;font-size:11px}
.assistant-result:hover{border-color:#739674;background:#f8fbf5}
.assistant-result strong{font-size:12px;line-height:1.4}
.assistant-result span{color:#58705b}
.assistant-result small{color:#758176}
.assistant-disclosure{margin:10px 0 0;font-size:10px;color:#707c70}
#assistant-detail-frame[hidden]{display:none}
body:not(.assistant-active) .assistant-panel{width:100%;max-width:none;padding:22px 24px;border-radius:20px;border-color:#c9d6c3;box-shadow:0 18px 50px #173a2718;margin:0}
body:not(.assistant-active) .assistant-heading strong{font-size:24px}
body:not(.assistant-active) .assistant-intro{font-size:13px;margin-bottom:12px}
body:not(.assistant-active) .assistant-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body:not(.assistant-active) .assistant-entry textarea{min-height:72px;font-size:15px;border-radius:14px;padding:12px 14px}
body:not(.assistant-active) .assistant-entry button{padding:13px 18px;font-size:14px;border-radius:12px}
body:not(.assistant-active) .assistant-log{display:none}
.assistant-panel[hidden]{display:none!important}
.assistant-actions{display:flex;align-items:center;gap:8px}
.assistant-close{display:none;width:30px;height:30px;padding:0;align-items:center;justify-content:center;border:1px solid #cbd6c6;border-radius:50%;background:#f8faf5;color:#345341;font-size:20px;line-height:1}
body.assistant-active .assistant-close{display:inline-flex}
body.assistant-active .assistant-chips{display:none}
.assistant-close:hover{background:#e9f1e4}
@media(max-width:760px){.intro>.assistant-panel{margin-top:24px}}
.assistant-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.assistant-chip{border:1px solid #cbd6c6;border-radius:999px;background:#f6f9f2;color:#345341;padding:7px 12px;font-size:12px;cursor:pointer}
.assistant-chip:hover{background:#e9f1e4;border-color:#739674}
body.assistant-active{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,min(31vw,430px));grid-template-rows:auto 1fr auto;min-height:100dvh}
body.assistant-active>:is(.site-header,.site-navigation){grid-column:1;grid-row:1;min-width:0}
body.assistant-active>main{grid-column:1;grid-row:2;min-width:0;width:100%}
body.assistant-active>footer{grid-column:1;grid-row:3;min-width:0;width:100%}
body.assistant-active>.assistant-panel{grid-column:2;grid-row:1/4;position:sticky;top:0;align-self:start;display:flex;flex-direction:column;width:100%;height:100dvh;min-width:0;margin:0;padding:18px 16px;border-radius:0;border-top:0;border-bottom:0;box-shadow:-5px 0 22px #173a2710;z-index:500}
body.assistant-active>.assistant-panel .assistant-log{display:flex;flex:1;margin:10px 0}
body.assistant-active>.assistant-panel .assistant-results{grid-template-columns:1fr}
body.assistant-active>.assistant-panel .assistant-intro{margin-bottom:0}
body.assistant-detail-open>:is(.site-header,.site-navigation),body.assistant-detail-open>main,body.assistant-detail-open>footer{display:none}
body.assistant-detail-open>#assistant-detail-frame{display:block;grid-column:1;grid-row:1/4;width:100%;height:100dvh;border:0;background:var(--paper)}
@media(max-width:760px){
 .assistant-panel{padding:15px;margin-bottom:18px}
 .assistant-results{grid-template-columns:1fr}
 .assistant-entry{align-items:stretch}
 .assistant-entry textarea{min-height:48px}
 .assistant-entry button{align-self:stretch}
 .assistant-line{max-width:96%}
 body.assistant-active{display:block;padding-bottom:46dvh}
 body.assistant-active>.assistant-panel{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:46dvh;padding:11px 14px max(10px,env(safe-area-inset-bottom));border:1px solid #dcded2;border-radius:14px 14px 0 0;box-shadow:0 -8px 25px #173a2726}
 body.assistant-active>.assistant-panel .assistant-heading{margin-bottom:2px}
 body.assistant-active>.assistant-panel .assistant-heading strong{font-size:15px}
 body.assistant-active>.assistant-panel .assistant-intro{display:none}
 body.assistant-active>.assistant-panel .assistant-disclosure{font-size:9px;margin-top:5px}
 body.assistant-active>.assistant-panel .assistant-entry textarea{min-height:40px;max-height:70px}
 body.assistant-detail-open>#assistant-detail-frame{height:54dvh}
}

/* Date confirmation and popularity are independent event attributes. */
.event-status{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;font-size:10px;line-height:1.5}
.date-status{display:inline-block;padding:2px 6px;border-radius:4px;background:#e8efe7;color:#345a40;font-size:10px;line-height:1.5}
.date-status.provisional{background:#f5ebd9;color:#865b24}
.popularity-status{color:#707967}
.detail-facts .date-status{margin-bottom:6px}

.collection-links{display:flex;justify-content:flex-end;gap:24px;padding-top:16px;font-size:12px}
.collection-links a{color:var(--muted);text-decoration:none}
.collection-links a:hover{text-decoration:underline}
