.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--color-primary:#e8590c;--color-primary-dark:#a63c00;--color-primary-soft:#fff1e6;--color-accent:#4c6ef5;--color-text:#222;--color-muted:#666;--color-border:#e3e3e3;--color-bg:#fafafa;--color-surface:#fff;--radius:10px}*{box-sizing:border-box}body{color:var(--color-text);background:var(--color-bg);margin:0;font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,sans-serif;line-height:1.6}a{color:var(--color-primary)}.container{max-width:1200px;margin:0 auto;padding:0 16px}h1{margin:24px 0 8px;font-size:1.6rem}h2{margin:32px 0 12px;font-size:1.2rem}.lead{color:var(--color-muted);margin:0 0 16px}.muted{color:var(--color-muted)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:4px 14px;font-size:.9rem;text-decoration:none}.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.card-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:inherit;padding:12px 14px;text-decoration:none;display:block}a.card:hover,.card.is-active{border-color:var(--color-primary)}.card h3{margin:0 0 4px;font-size:1rem}.card .meta{color:var(--color-muted);margin:0;font-size:.85rem}.card-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:.85rem;display:-webkit-box;overflow:hidden}.badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.badge{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:4px;padding:1px 6px;font-size:.75rem}.badge.is-now{background:var(--color-primary);color:#fff}.map{border-radius:var(--radius);border:1px solid var(--color-border);background:#eef2f3;min-height:420px;position:relative;overflow:hidden}.map-fallback{text-align:center;color:var(--color-muted);place-items:center;margin:0;padding:24px;display:grid;position:absolute;inset:0}.button{background:var(--color-primary);color:#fff;border-radius:999px;padding:8px 20px;font-weight:700;text-decoration:none;display:inline-block}.button.secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.link-list{flex-wrap:wrap;gap:8px 16px;padding:0;list-style:none;display:flex}.notice{background:var(--color-primary-soft);border-radius:var(--radius);padding:12px 14px;font-size:.9rem}.info-window h3{margin:0 0 4px;font-size:1rem}.info-window p{margin:0 0 4px;font-size:.85rem}.filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);gap:12px;margin:16px 0;padding:16px;display:grid}.filters fieldset{border:0;margin:0;padding:0}.filters legend{margin-bottom:6px;font-size:.85rem;font-weight:700}.filters select{border:1px solid var(--color-border);border-radius:6px;padding:6px 8px;font-size:1rem}.explorer{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.explorer{grid-template-columns:3fr 2fr}.explorer .map{min-height:560px}.results{max-height:560px;overflow-y:auto}}.results h2{margin-top:0}.spot-name{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.spot-name:hover{color:var(--color-primary)}.calendar-tabs{margin-bottom:12px}.calendar-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.calendar-title{text-align:center;min-width:8em;margin:0 8px;font-size:1.3rem}.calendar-long{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:12px;padding:8px 14px;font-size:.9rem}.calendar-long-title{margin:0 0 4px;font-size:.85rem;font-weight:700}.calendar-long ul{margin:0;padding-left:1.2em}.calendar-grid{table-layout:fixed;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius);width:100%;overflow:hidden}.calendar-grid th{border-bottom:1px solid var(--color-border);padding:6px 0;font-size:.8rem;font-weight:700}.calendar-grid td{border:1px solid var(--color-border);vertical-align:top;height:96px;padding:0}.calendar-grid td.is-empty{background:var(--color-bg)}.calendar-grid .is-sun .calendar-date,.calendar-grid th.is-sun{color:#c92a2a}.calendar-grid .is-sat .calendar-date,.calendar-grid th.is-sat{color:#1c7ed6}.calendar-grid td.is-today .calendar-date{background:var(--color-primary);color:#fff;border-radius:999px;padding:0 6px}.calendar-grid td.is-selected{background:var(--color-primary-soft)}.calendar-day{width:100%;height:100%;min-height:96px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:4px;display:flex}.calendar-day:hover{background:var(--color-primary-soft)}.calendar-date{align-self:flex-start;font-size:.85rem;font-weight:700}.calendar-chip{background:var(--color-primary-soft);color:var(--color-primary-dark);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:0 4px;font-size:.72rem;line-height:1.4;display:block;overflow:hidden}.calendar-more{color:var(--color-muted);font-size:.7rem}.theme-sakura{color:#a61e4d;background:#ffe3ec}.theme-flower,.theme-hanachozu{color:#862e9c;background:#f3d9fa}.theme-fireworks,.theme-illumination{color:#5f3dc4;background:#e5dbff}.theme-festival,.theme-koinobori{color:#a63c00;background:#fff1e6}.theme-gourmet{color:#8a5a00;background:#fff3bf}.theme-culture{color:#1864ab;background:#d0ebff}.theme-sports{color:#2b8a3e;background:#d3f9d8}.calendar-list h2{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-clear{font-size:.8rem;font-weight:400}.calendar-legend{flex-wrap:wrap;gap:6px;margin-top:24px;display:flex}.calendar-legend .calendar-chip{display:inline-block}@media (width<=600px){.calendar-header{gap:4px}.calendar-title{min-width:0;margin:0 4px;font-size:1.1rem}.calendar-header .chip{padding:4px 10px}.calendar-grid td{height:52px}.calendar-day{align-items:center;min-height:52px;padding:4px 0}.calendar-date{align-self:center}.calendar-day .calendar-chip,.calendar-more{display:none}.calendar-grid td.has-events .calendar-day:after{content:"";background:var(--color-primary);border-radius:999px;width:6px;height:6px}}.period-tabs{margin:8px 0 12px}.filters summary{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.filters[open] summary{margin-bottom:4px}.toggle{align-items:center;gap:6px;font-size:.9rem;display:flex}.note{margin:0 0 8px;font-size:.85rem}.results .card-list .card{cursor:pointer}.home-calendar{margin-top:32px}.calendar-hint{font-size:.85rem}.info-events{margin:4px 0;padding-left:1.2em;font-size:.85rem}.info-events li{margin-bottom:2px}summary[data-astro-cid-u2lqorrs]{cursor:pointer;font-weight:700}dt[data-astro-cid-u2lqorrs]{margin-top:12px;font-weight:700}dd[data-astro-cid-u2lqorrs]{color:var(--color-muted);margin:4px 0 0}.site-header[data-astro-cid-z4jru4n3]{background:var(--color-surface);border-bottom:3px solid var(--color-primary)}.header-inner[data-astro-cid-z4jru4n3]{flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-top:12px;padding-bottom:8px;display:flex}.logo[data-astro-cid-z4jru4n3]{font-size:1.4rem;font-weight:700;text-decoration:none}.tagline[data-astro-cid-z4jru4n3]{color:var(--color-muted);font-size:.85rem}.global-nav[data-astro-cid-z4jru4n3]{gap:16px;margin-left:auto;font-size:.95rem;display:flex}.global-nav[data-astro-cid-z4jru4n3] a[data-astro-cid-z4jru4n3]{color:var(--color-text);white-space:nowrap;text-decoration:none}.global-nav[data-astro-cid-z4jru4n3] a[data-astro-cid-z4jru4n3]:hover{color:var(--color-primary)}.city-nav[data-astro-cid-z4jru4n3]{white-space:nowrap;gap:12px;padding-bottom:8px;font-size:.85rem;display:flex;overflow-x:auto}.city-nav[data-astro-cid-z4jru4n3] a[data-astro-cid-z4jru4n3]{color:var(--color-muted)}.site-footer[data-astro-cid-z4jru4n3]{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:48px;padding:24px 0;font-size:.85rem}.copyright[data-astro-cid-z4jru4n3]{color:var(--color-muted);margin:16px 0 0}@media (width<=600px){.global-nav[data-astro-cid-z4jru4n3]{gap:12px;width:100%;margin-left:0;font-size:.85rem}}
