:root{--c-primary:#e8590c;--c-primary-dark:#b8460a;--c-button:#b8460a;--c-button-hover:#9a3a08;--c-bg:#fffaf5;--c-surface:#fff;--c-text:#2b2522;--c-muted:#6f6560;--c-border:#eadfd6;--c-tag:#fff0e5;--c-sat:#1c64c8;--c-sun:#d63a3a;--radius:12px;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--c-bg);color:var(--c-text);font-family:var(--font);margin:0;font-size:16px;line-height:1.75}a{color:var(--c-primary-dark)}img{max-width:100%}[hidden]{display:none!important}.main{overflow-wrap:anywhere}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.site-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:1000;position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding-top:10px;padding-bottom:10px;display:flex}.logo{color:var(--c-text);align-items:center;gap:6px;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.logo-mark{color:var(--c-primary);flex:none}.global-nav{gap:4px;display:flex;overflow-x:auto}.global-nav a{color:var(--c-text);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.95rem;text-decoration:none}.global-nav a:hover{background:var(--c-tag)}.global-nav a[aria-current=page]{background:var(--c-tag);color:var(--c-primary-dark);font-weight:700}.tab-bar{display:none}.main{padding-top:20px;padding-bottom:48px}h1{margin:8px 0 12px;font-size:1.5rem;line-height:1.4}h2{border-left:5px solid var(--c-primary);margin:36px 0 12px;padding-left:10px;font-size:1.2rem}.sub-heading{color:var(--c-muted);margin:28px 0 10px;font-size:1rem}.lead{color:var(--c-muted);margin-top:0}.breadcrumb{color:var(--c-muted);margin:0;font-size:.85rem}.breadcrumb a{color:var(--c-muted)}.hero{border-radius:var(--radius);background:linear-gradient(135deg,#fff1e6,#ffe3cc);padding:18px 20px 16px}.hero h1{margin:0 0 4px}.hero .lead{margin:0;font-size:.9rem}.quick-links{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.quick-links a{background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text);white-space:nowrap;border-radius:999px;align-items:baseline;gap:6px;padding:6px 14px;font-weight:700;text-decoration:none;display:inline-flex}.quick-links a:hover{border-color:var(--c-primary)}.quick-links small{color:var(--c-muted);font-size:.8rem;font-weight:400}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.card{--g:var(--c-primary);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);flex-direction:column;display:flex;position:relative;overflow:hidden}.card-band{background:var(--g);color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;font-weight:700;text-decoration:none;display:flex}.card-genre{align-items:center;gap:6px;min-width:0;display:inline-flex}.card-band-date{white-space:nowrap;background:#0000002e;border-radius:999px;padding:0 8px}.card-body{flex-direction:column;flex:1;gap:6px;padding:12px 16px 14px;display:flex}.genre-icon{flex:none}.card p{margin:0}.card-title a:after{content:"";position:absolute;inset:0}.card-band,.card a.tag{z-index:1;position:relative}.card:hover{border-color:var(--g);box-shadow:0 2px 10px #2b252214}.card:has(.card-title a:focus-visible){outline:2px solid var(--g);outline-offset:2px}.card-title a:focus-visible{outline:none}.card-when{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:.9rem;display:flex}.card-time{color:var(--c-muted)}.status{white-space:nowrap;border-radius:4px;padding:0 8px;font-size:.8rem;font-weight:700;display:inline-block}.status-now{color:#b8460a;background:#fff0e5}.status-soon{color:#8a5a00;background:#fff4d6}.card-title{margin:0;font-size:1.05rem;line-height:1.5}.card-title a{color:var(--c-text);text-decoration:none}.card-title a:hover{color:var(--c-primary-dark);text-decoration:underline}.card-where{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.9rem;display:flex}.card-summary{font-size:.92rem}.card-tags{flex-wrap:wrap;gap:6px;display:flex;margin-top:auto!important}.tag{background:var(--c-tag);color:var(--c-primary-dark);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.78rem;line-height:1.6;text-decoration:none;display:inline-block}.tag-area{color:#2a5bb5;background:#eef4ff}.tag-badge{color:#217a3c;background:#eaf7ee}.tag-genre{background:color-mix(in srgb, var(--g) 12%, #fff);color:color-mix(in srgb, var(--g) 80%, #000)}.genre-chips{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;padding:0;list-style:none;display:grid}.genre-chips a{background:var(--c-surface);border:1px solid var(--c-border);border-left:5px solid var(--g);color:var(--c-text);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;text-decoration:none;display:flex}.genre-chips a:hover{border-color:var(--g)}.genre-chips .genre-icon{color:var(--g)}.genre-chips .count{color:var(--c-muted);white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.85rem}.event-genre{background:var(--g);color:#fff;border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:3px 12px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.map-pin-group span{color:#fff;width:26px;height:26px;font:700 13px/1 var(--font);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 3px #0000004d}.leaflet-container .leaflet-popup-content{font-family:var(--font);margin:12px 14px;font-size:.85rem;line-height:1.55}.leaflet-container .leaflet-popup-content-wrapper{border-radius:10px}.map-popup{flex-direction:column;gap:2px;display:flex}.map-popup-genre{background:var(--g);color:#fff;border-radius:999px;align-self:flex-start;padding:0 8px;font-size:.72rem;font-weight:700}.map-popup .map-popup-title{color:var(--c-text);font-size:.95rem;font-weight:700;text-decoration:none}.map-popup .map-popup-title:hover{text-decoration:underline}.map-popup-when{color:var(--c-primary-dark);font-weight:700}.map-popup-venue,.map-popup-note{color:var(--c-muted)}.map-popup-note{font-size:.75rem}.leaflet-container .map-popup-button{background:var(--c-button);color:#fff;border-radius:999px;align-self:flex-start;margin-top:6px;padding:4px 14px;font-weight:700;text-decoration:none}.map-pin-group.is-single span{width:20px;height:20px;margin:3px}.map-popup-list{flex-direction:column;margin:6px 0 0;padding:0;list-style:none;display:flex}.map-popup-list li{flex-direction:column;gap:2px;display:flex}.map-popup-list li+li{border-top:1px solid var(--c-border);margin-top:8px;padding-top:8px}.map-hint{z-index:1000;color:#fff;opacity:0;pointer-events:none;background:#2b2522d1;border-radius:999px;width:fit-content;margin:0 auto;padding:8px 16px;font-size:.85rem;transition:opacity .2s;position:absolute;inset:auto 0 40%}.map-hint.is-shown{opacity:1}.map-locate{width:34px;height:34px;color:var(--c-text);cursor:pointer;background:#fff padding-box padding-box;border:2px solid #0003;border-radius:4px;place-items:center;display:grid}.map-locate.is-busy{color:var(--c-sat)}.map-legend{color:var(--c-muted);flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.map-legend li.map-legend-wide:before{border:2px dashed var(--c-muted);background:0 0;width:12px;height:12px}.map-legend li:before{content:"";background:var(--g);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.empty{color:var(--c-muted);background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--radius);padding:16px}.more-link{text-align:right;margin:12px 0 0}.list-tools{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px;display:flex}.filters{flex-wrap:wrap;flex-basis:100%;order:2;gap:6px;display:flex}.filter-chip,.filter-select,.view-switch button{font:inherit;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.85rem;line-height:1.5}.filter-chip[aria-pressed=true]{background:var(--c-button);border-color:var(--c-button);color:#fff}.filter-chip[aria-pressed=true]:before{content:"✓ "}.view-switch{display:inline-flex}.view-switch button:first-child{border-radius:999px 0 0 999px}.view-switch button:last-child{border-left:none;border-radius:0 999px 999px 0}.view-switch button[aria-pressed=true]{background:var(--c-text);border-color:var(--c-text);color:#fff}.filter-count{color:var(--c-muted);margin:0 0 0 auto;font-size:.85rem}.list-map{margin-bottom:16px}.is-map-view .list-body{display:none}.day-heading.is-sat{border-left-color:var(--c-sat)}.day-heading.is-sun{border-left-color:var(--c-sun)}.day-nav{flex-wrap:wrap;gap:6px;margin:8px 0 16px;display:flex}.day-chip{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:.85rem;text-decoration:none;display:inline-flex}.day-chip.is-sat{color:var(--c-sat)}.day-chip.is-sun{color:var(--c-sun)}.day-count{background:var(--c-tag);min-width:1.6em;color:var(--c-primary-dark);text-align:center;border-radius:999px;padding:0 5px;font-size:.75rem;font-weight:700;line-height:1.6}.day-chip.is-empty{opacity:.5}.day-chip.is-empty .day-count{color:var(--c-muted);background:#f1ece8}.day-chip.current .day-count{color:#fff;background:#0000002e}.day-chip.current{background:var(--c-button);border-color:var(--c-button);color:#fff}.link-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:0;list-style:none;display:grid}.link-grid a{background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text);border-radius:10px;justify-content:space-between;padding:8px 12px;text-decoration:none;display:flex}.link-grid a:hover{border-color:var(--c-primary)}.link-grid a.is-empty{color:var(--c-muted);background:0 0;border-style:dashed}.link-grid .count{color:var(--c-muted);font-size:.85rem}.detail{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:4px 16px}.detail dl{grid-template-columns:7em 1fr;margin:0;display:grid}.detail dt,.detail dd{border-bottom:1px solid var(--c-border);margin:0;padding:10px 0}.detail dt{color:var(--c-muted);font-size:.9rem}.detail dl>:nth-last-child(-n+2){border-bottom:none}.summary{font-size:1.02rem}.event-head{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.event-head .event-genre{margin-top:0}.ended-notice{color:var(--c-text);background:#f1ece8;border-radius:10px;margin:12px 0 0;padding:10px 14px;font-weight:700}.event-actions{margin:16px 0}.event-actions .official{margin:0 0 12px}.official svg{vertical-align:-3px;margin-left:6px}.action-links{flex-wrap:wrap;gap:8px;display:flex}.action-link{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;text-decoration:none;display:inline-flex}.action-link:hover{border-color:var(--c-primary)}.share-links{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;font-size:.9rem;display:flex}.share-links button{font:inherit;color:var(--c-primary-dark);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.share-done{color:var(--c-sat)}.action-bar{display:none}.map-wide-note{color:var(--c-muted);margin:0 0 8px;font-size:.85rem}.date-calendars{flex-wrap:wrap;gap:12px;display:flex}.date-calendar{border-collapse:collapse;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);text-align:center;font-size:.85rem}.date-calendar caption{text-align:left;padding:6px 0;font-weight:700}.date-calendar th,.date-calendar td{width:2.4em;height:2.2em;padding:0}.date-calendar th{color:var(--c-muted);font-size:.75rem;font-weight:400}.date-calendar .is-sat{color:var(--c-sat)}.date-calendar .is-sun{color:var(--c-sun)}.date-calendar td.is-on{background:var(--c-button);color:#fff;border-radius:6px;font-weight:700}.date-calendar td.is-today{outline:2px solid var(--c-text);outline-offset:-3px;border-radius:6px}.pick-calendar-note{color:var(--c-muted);margin:0 0 8px;font-size:.85rem}.pick-calendar-months{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.pick-month{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 10px 10px}.pick-month-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pick-month-head h3{margin:0;font-size:1rem}.pick-month-move{border:1px solid var(--c-border);background:var(--c-surface);width:44px;height:36px;color:var(--c-text);cursor:pointer;border-radius:8px;font-size:1.3rem;line-height:1;display:none}.pick-month-move:disabled{opacity:.3;cursor:default}.pick-month table{border-collapse:separate;border-spacing:3px;table-layout:fixed;text-align:center;width:100%}.pick-month th{color:var(--c-muted);font-size:.75rem;font-weight:400}.pick-month th.is-sat,.pick-month td.is-sat{color:var(--c-sat)}.pick-month th.is-sun,.pick-month td.is-sun{color:var(--c-sun)}.pick-day{min-height:44px;color:inherit;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-weight:700;line-height:1.1;text-decoration:none;display:flex}a.pick-day{background:var(--c-tag)}a.pick-day:hover{outline:2px solid var(--c-primary-dark)}.pick-count{min-height:1.1em;color:var(--c-primary-dark);font-size:.7rem;font-weight:700}.pick-month td.is-empty a.pick-day{opacity:.55;background:0 0;font-weight:400}.pick-month td.is-out .pick-day{color:#c9bfb8;font-weight:400}.pick-month td.is-today .pick-day{box-shadow:inset 0 0 0 2px var(--c-text)}.pick-month td.is-current a.pick-day{background:var(--c-button);color:#fff}.pick-month td.is-current .pick-count{color:#fff}.mini-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.mini-card a{background:var(--c-surface);border:1px solid var(--c-border);border-left:5px solid var(--g);height:100%;color:var(--c-text);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.mini-card a:hover{border-color:var(--g)}.mini-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mini-card-genre{color:color-mix(in srgb, var(--g) 80%, #000);font-size:.75rem;font-weight:700}.mini-card-title{font-weight:700;line-height:1.45}.mini-card-sub{color:var(--c-muted);font-size:.8rem}.official{background:var(--c-button);color:#fff;border-radius:999px;margin:16px 0;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-block}.official:hover{background:var(--c-button-hover)}.correction-note{border-left:3px solid var(--c-primary-dark);background:#f7f2ee;margin:12px 0 0;padding:8px 12px;font-size:.9rem}.source-note{color:var(--c-muted);background:#f7f2ee;border-radius:10px;margin-top:32px;padding:10px 14px;font-size:.85rem}.mini-list{padding-left:1.2em}.mini-list li{margin-bottom:6px}.mini-list small{color:var(--c-muted)}.map{border-radius:var(--radius);border:1px solid var(--c-border);z-index:0;width:100%;scroll-margin-top:64px}.map-controls{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.map-controls .filters{order:0}.genre-toggles{flex-wrap:wrap;gap:6px;display:flex}.genre-toggle{font:inherit;border:1px solid var(--g);background:color-mix(in srgb, var(--g) 10%, #fff);color:color-mix(in srgb, var(--g) 80%, #000);cursor:pointer;border-radius:999px;padding:3px 10px 3px 8px;font-size:.8rem}.genre-toggle:before{content:"";background:var(--g);border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.genre-toggle[aria-pressed=false]{border-color:var(--c-border);background:var(--c-surface);color:var(--c-muted);text-decoration:line-through}.genre-toggle[aria-pressed=false]:before{box-shadow:inset 0 0 0 1.5px var(--c-muted);background:0 0}.map-explorer-body{grid-template-columns:minmax(0,1fr) 320px;gap:12px;height:max(480px,100vh - 260px);display:grid}.map-explorer-map{min-height:0}.map-sheet{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;overflow:hidden}.map-sheet-head{border:none;border-bottom:1px solid var(--c-border);background:var(--c-surface);font:inherit;color:var(--c-text);text-align:left;pointer-events:none;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.9rem;display:flex}.map-sheet-arrow{display:none}.map-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.map-list li{border-bottom:1px solid var(--c-border);border-left:4px solid var(--g);align-items:stretch;display:flex}.map-list-item{min-width:0;font:inherit;color:var(--c-text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:1px;padding:8px 10px;display:flex}.map-list-item:hover:not(:disabled){background:var(--c-tag)}.map-list-item:disabled{cursor:default}.map-list-when{color:var(--c-primary-dark);font-size:.78rem;font-weight:700}.map-list-title{font-size:.9rem;font-weight:700;line-height:1.45}.map-list-place{color:var(--c-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.map-list-link{white-space:nowrap;place-items:center;padding:0 12px;font-size:.8rem;display:grid}.map-sheet .empty{margin:12px}.map-note{margin-top:12px;font-size:.85rem}@media (width<=900px){.map-explorer-body{grid-template-columns:1fr;height:auto}.map-explorer-map{height:60vh}.map-sheet{max-height:70vh}}.prose{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:8px 20px 20px}.prose h2{margin-top:28px}.prose h3{margin:20px 0 6px;font-size:1rem}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--c-border);text-align:left;vertical-align:top;padding:6px 8px}.prose th{white-space:nowrap;background:#faf4ef}.button{background:var(--c-button);color:#fff;border-radius:999px;padding:10px 20px;font-weight:700;text-decoration:none;display:inline-block}.site-footer{color:#e9dfd8;background:#3a302b;padding:28px 0 36px;font-size:.85rem}.site-footer a{color:#fff}.footer-nav{flex-wrap:wrap;gap:6px 18px;margin-bottom:16px;display:flex}.credit{color:#d5c9c1;margin:0 0 8px}.copyright{margin:16px 0 0}@media (width<=600px){.pick-calendar.is-paged .pick-month[data-active=false]{display:none}.pick-calendar.is-paged .pick-month-move{display:block}h1{font-size:1.3rem}.header-inner{padding-top:8px;padding-bottom:8px}.global-nav{display:none}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.tab-bar{z-index:1000;background:var(--c-surface);border-top:1px solid var(--c-border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar a{color:var(--c-muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 0 6px;font-size:.7rem;line-height:1.2;text-decoration:none;display:flex}.tab-bar a[aria-current=page]{color:var(--c-primary-dark);font-weight:700}.hero{padding:14px 16px}.map-explorer-map{height:calc(100svh - 405px);min-height:300px}.map-sheet{left:0;right:0;bottom:calc(57px + env(safe-area-inset-bottom));z-index:999;border-bottom:none;border-radius:14px 14px 0 0;max-height:none;position:fixed;box-shadow:0 -4px 16px #2b252226}.map-sheet-head{pointer-events:auto;cursor:pointer;border-bottom:none;padding:12px 16px}.map-sheet-arrow{border-left:2px solid var(--c-muted);border-top:2px solid var(--c-muted);width:10px;height:10px;transition:transform .2s;display:block;transform:rotate(45deg)}.map-sheet .map-list,.map-sheet .empty{display:none}.map-sheet.is-open .map-list{border-top:1px solid var(--c-border);max-height:55svh;display:block}.map-sheet.is-open .empty:not([hidden]){display:block}.map-sheet.is-open .map-sheet-arrow{transform:rotate(225deg)}.action-bar{left:0;right:0;bottom:calc(57px + env(safe-area-inset-bottom));z-index:999;border-top:1px solid var(--c-border);background:#fffaf5f5;gap:8px;padding:8px 12px;display:flex;position:fixed}.action-bar a,.action-bar button{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-size:.85rem;text-decoration:none;display:inline-flex}.action-bar .action-bar-main{background:var(--c-button);border-color:var(--c-button);color:#fff;flex:1;font-weight:700}body:has(.action-bar){padding-bottom:calc(116px + env(safe-area-inset-bottom))}body:has(.map-sheet){padding-bottom:calc(110px + env(safe-area-inset-bottom))}.hero h1{font-size:1.15rem}.quick-links{scrollbar-width:none;flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto}.quick-links::-webkit-scrollbar,.day-nav::-webkit-scrollbar,.genre-toggles::-webkit-scrollbar{display:none}.genre-toggles{scrollbar-width:none;flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto}.genre-toggle{flex:none}.day-nav{scrollbar-width:none;flex-wrap:nowrap;margin-right:-16px;padding-right:16px;overflow-x:auto}.cards{grid-template-columns:1fr}.detail dl{grid-template-columns:5.5em 1fr}}
