.fec,.fec *{box-sizing:border-box}.fec{color:var(--fec-text);font-family:inherit;line-height:1.7;margin:24px 0;isolation:isolate}.fec button,.fec input,.fec select{font:inherit;color:inherit}.fec button{cursor:pointer;background:var(--fec-background);border:1px solid var(--fec-border);border-radius:8px;padding:8px 14px;line-height:1.5;box-shadow:none}.fec button:hover{outline:2px solid var(--fec-accent);outline-offset:1px}.fec button:focus-visible,.fec input:focus-visible,.fec select:focus-visible,.fec a:focus-visible{outline:3px solid var(--fec-accent);outline-offset:3px}.fec [hidden]{display:none!important}.fec-notice{border-left:4px solid var(--fec-notice);background:#fff7ed;color:#7c2d12;padding:14px 18px;font-size:.92em}.fec-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:24px;margin:24px 0}.fec-calendar{border:1px solid var(--fec-border);border-radius:14px;padding:14px;background:var(--fec-background)}.fec-month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.fec-month-nav button{font-size:.84em;padding:6px 10px}.fec-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.fec-weekday{font-size:.8em;padding:4px}.fec .fec-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;padding:3px 0;border-color:transparent;font-size:.88em;border-radius:6px}.fec .fec-day small{font-size:.65em;line-height:1.3}.fec .fec-has-events{background:#e5f3f5;background:color-mix(in srgb,var(--fec-main) 18%,var(--fec-background));border-color:var(--fec-accent);font-weight:700;color:var(--fec-accent)}.fec .fec-day[aria-pressed=true]{background:var(--fec-main);color:var(--fec-on-main,#fff);outline:2px solid var(--fec-text)}.fec .fec-day[aria-current=date]{text-decoration:underline}.fec-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}.fec-filters label{font-size:.88em;display:flex;flex-direction:column;gap:5px}.fec-filters input,.fec-filters select{width:100%;min-width:0;background:var(--fec-background);border:1px solid var(--fec-border);border-radius:8px;min-height:44px;padding:8px 10px}.fec .fec-primary{background:var(--fec-main);color:var(--fec-on-main,#fff)}.fec-conditions{font-size:.85em;overflow-wrap:anywhere}.fec-result{font-weight:700}.fec-card{display:grid;grid-template-columns:170px minmax(0,1fr);margin:16px 0;border:1px solid var(--fec-border);border-radius:14px;overflow:hidden;background:var(--fec-background)}.fec-card-date{padding:24px 16px;color:var(--fec-accent);font-weight:700;border-right:1px solid var(--fec-border);font-size:.95em;overflow-wrap:anywhere}.fec-card-body{padding:22px;min-width:0}.fec .fec-title{border:0;background:none;box-shadow:none;padding:0;margin:10px 0;font-size:1.18em;line-height:1.5;color:var(--fec-text)}.fec .fec-title:before,.fec .fec-title:after{display:none}.fec-meta{font-size:.85em;margin:6px 0}.fec-summary{margin:10px 0 16px;white-space:pre-line}.fec-badge{font-size:.76em;border:1px solid var(--fec-border);padding:3px 9px;border-radius:100px;display:inline-block}.fec-warning{background:#fff4cf;color:#713f12;border-color:#d9b85e}.fec-cancelled{background:#fee2e2;color:#991b1b;border-color:#dc2626}.fec-detail{margin-top:18px;border-top:1px solid var(--fec-border);padding-top:18px;overflow-wrap:anywhere}.fec-facts{display:grid;grid-template-columns:130px minmax(0,1fr);margin:0}.fec-facts dt,.fec-facts dd{margin:0;padding:8px;border-bottom:1px solid var(--fec-border);font-size:.9em}.fec-facts dt{font-weight:700}.fec-links{display:flex;flex-wrap:wrap;gap:12px}.fec a{color:var(--fec-accent);text-decoration:underline}.fec-extra{margin:20px 0}.fec .fec-more{display:block;margin:24px auto;min-width:180px}.fec-empty{border:1px dashed var(--fec-border);border-radius:12px;padding:24px}.fec button:disabled{opacity:.6;cursor:wait}@media(max-width:640px){.fec-layout{grid-template-columns:1fr;gap:16px}.fec-calendar{max-width:420px;width:100%;margin:auto}.fec-card{grid-template-columns:1fr}.fec-card-date{padding:12px 18px;border-right:0;border-bottom:1px solid var(--fec-border)}.fec-card-body{padding:18px}.fec-facts{grid-template-columns:100px minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.fec *{scroll-behavior:auto!important}}
.fec{container-type:inline-size}@container(max-width:720px){.fec-layout{grid-template-columns:1fr;gap:16px}.fec-calendar{max-width:420px;width:100%;margin:auto}}.fec button{white-space:normal}
/* 1.2: region search and clearer actions/metadata, scoped to this calendar. */
.fec .fec-reset{display:flex;align-items:center;justify-content:center;gap:7px;background:#fff1db;color:#7a3500;border:2px solid #c77720;font-weight:700;min-height:44px;box-shadow:0 2px 0 #c7772026}.fec .fec-reset:hover{background:#ffe3b3;outline-color:#945000}.fec .fec-reset-icon{font-size:1.3em;line-height:1}.fec .fec-toggle{background:var(--fec-main);color:var(--fec-on-main,#fff);border-color:var(--fec-accent);font-weight:700;min-height:44px;padding:10px 20px}.fec .fec-toggle:hover{box-shadow:0 2px 5px #0000001a}.fec .fec-closed{background:#fff0e9;color:#a72a12;border-color:#e6a28f;font-weight:700}.fec .fec-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 5px}.fec .fec-meta-prefecture{color:#b42318;font-weight:700}.fec .fec-meta-organizer{color:#175cd3}.fec .fec-meta-type{color:#067647;font-weight:700}.fec .fec-meta-separator{color:#73808b}.fec .fec-archive-links{display:flex;flex-wrap:wrap;gap:8px 18px;border-top:1px solid var(--fec-border);padding-top:14px;margin-top:28px}.fec .fec-view-link{border:0;background:transparent;color:var(--fec-accent);text-decoration:underline;padding:6px 0;font-size:.88em}.fec .fec-view-link[aria-pressed=true]{font-weight:700;text-decoration-thickness:2px}
.fec .fec-meta>span{min-width:0;overflow-wrap:anywhere}

/* 1.2.1: automatic filters and highlighted event dates. */
.fec-filters>.fec-reset{align-self:end}.fec .fec-has-events:hover:not([aria-pressed=true]){background:color-mix(in srgb,var(--fec-main) 28%,var(--fec-background))}

.fec .fec-month-nav button:disabled{cursor:not-allowed;opacity:.45}
