/* Seven-year cycle calendars (Flood page) */
.bgcy{--c-ink:#e9eef2;--c-mist:#a6b4c0;--c-haze:#73828f;--c-deck:#16202a;--c-sea:#0e141b;--c-rope:#24313d;--c-sign:#6aa0e6;
  --c-red:#e2524f;--c-navy:#2f5fd0;--c-sky:#7fb0f5;--c-gold:#f2d14c;--c-sab:rgba(242,209,76,.08);
  --c-display:"Fraunces",Georgia,serif;--c-body:"Newsreader",Georgia,serif;--c-ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  margin-top:40px;color:var(--c-ink);font-family:var(--c-body)}
.bgcy *{box-sizing:border-box}
.bgcy h2{font-family:var(--c-display);font-weight:400;font-size:clamp(26px,3.2vw,38px);line-height:1.12;margin:0 0 10px;color:var(--c-ink);text-wrap:balance;letter-spacing:normal;text-transform:none}
.bgcy h3{font-family:var(--c-ui);font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-haze);margin:28px 0 12px}
.bgcy-intro{color:var(--c-mist);max-width:68ch;margin:0;font-size:18px;line-height:1.6}
.bgcy-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;align-items:center}
.bgcy button{font:inherit;line-height:normal;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0;text-shadow:none}
.bgcy-sc{font-family:var(--c-ui)!important;font-size:14px!important;color:var(--c-ink)!important;background:var(--c-deck)!important;border:1px solid var(--c-rope)!important;border-radius:999px!important;padding:8px 14px!important;cursor:pointer;display:inline-flex;gap:6px;align-items:baseline}
.bgcy-sc small{font-size:12px;color:var(--c-mist)}
.bgcy-sc:hover{border-color:var(--c-sign)!important}
.bgcy-sc[aria-pressed="true"]{background:var(--c-sign)!important;border-color:var(--c-sign)!important;color:#0b1220!important}
.bgcy-sc[aria-pressed="true"] small{color:#0b1220}
.bgcy-toggle{display:inline-flex;align-items:center;gap:8px;font-family:var(--c-ui);font-size:14px;color:var(--c-ink);margin-left:6px;cursor:pointer;padding:8px 4px}
.bgcy-toggle input{width:18px;height:18px;accent-color:var(--c-sign);margin:0}
.bgcy button:focus-visible,.bgcy-toggle input:focus-visible{outline:2px solid var(--c-sign);outline-offset:3px}

.bgcy-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;font-family:var(--c-ui);font-size:13px;color:var(--c-mist)}
.bgcy-legend span{display:inline-flex;align-items:center;gap:6px}
.bgcy-legend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.bgcy-sabkey i{background:var(--c-sab);border:1px dashed rgba(242,209,76,.5)}

.bgcy-detail{margin-top:18px;background:var(--c-deck);border:1px solid var(--c-rope);border-left:4px solid var(--c-sign);border-radius:10px;padding:16px 18px;min-height:76px}
.bgcy-detail .t{font-family:var(--c-display);font-size:22px;line-height:1.2;margin:0}
.bgcy-detail .m{font-family:var(--c-ui);font-size:14px;color:var(--c-mist);margin:6px 0 0}
.bgcy-detail .m b{color:var(--c-ink);font-weight:500}
.bgcy-detail .sab{display:inline-block;font-family:var(--c-ui);font-size:12px;font-weight:500;color:#2a2205;background:var(--c-gold);border-radius:999px;padding:2px 9px;margin-left:8px;vertical-align:2px}

.bgcy-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px}
.bgcy-month{background:var(--c-deck);border:1px solid var(--c-rope);border-radius:10px;padding:10px 10px 12px;min-width:0}
.bgcy-month.extra{border-style:dashed;border-color:var(--c-sign)}
.bgcy-mh{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--c-ui);font-size:13px;margin:0 2px 8px;color:var(--c-mist)}
.bgcy-mh b{font-family:var(--c-display);font-weight:400;font-size:20px;color:var(--c-ink)}
.bgcy-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.bgcy-dow{font-family:var(--c-ui);font-size:11px;font-weight:500;text-align:center;color:var(--c-haze);padding:2px 0}
.bgcy-dow.sab{color:var(--c-gold)}
.bgcy-d{font-family:var(--c-ui)!important;font-size:12px!important;font-variant-numeric:tabular-nums;text-align:center;padding:5px 0!important;border-radius:5px!important;color:var(--c-mist)!important;background:transparent!important;border:0!important;cursor:default}
.bgcy-d.sab{background:var(--c-sab)!important}
.bgcy-d.ev{cursor:pointer;color:#fff!important;font-weight:500}
.bgcy-d.red{background:var(--c-red)!important}
.bgcy-d.navy{background:var(--c-navy)!important}
.bgcy-d.sky{background:var(--c-sky)!important;color:#0b1220!important}
.bgcy-d.gold{background:var(--c-gold)!important;color:#2a2205!important}
.bgcy-d.ev:hover{outline:2px solid #fff;outline-offset:-2px}
.bgcy-d.sel{outline:2px solid #fff!important;outline-offset:1px}
.bgcy-d.ev.sab::after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:currentColor;margin:2px auto 0}
.bgcy-blank{padding:5px 0}

.bgcy-next{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px}

.bgcy-tablewrap{overflow-x:auto;border:1px solid var(--c-rope);border-radius:10px;background:var(--c-deck)}
.bgcy table{width:100%;min-width:640px;border-collapse:collapse;font-family:var(--c-ui);font-size:14px;margin:0;background:none;border:0}
.bgcy th,.bgcy td{padding:9px 10px;border:0;border-bottom:1px solid var(--c-rope);text-align:center;color:var(--c-ink);background:none}
.bgcy thead th{font-size:12px;font-weight:500;color:var(--c-mist);letter-spacing:.04em}
.bgcy thead th button{font-family:var(--c-ui)!important;font-size:12px!important;color:inherit!important;background:none!important;border:0!important;padding:4px 6px!important;border-radius:6px!important;cursor:pointer}
.bgcy thead th button:hover{color:var(--c-ink)!important}
.bgcy th[scope="row"]{text-align:left;font-weight:400;white-space:nowrap}
.bgcy th[scope="row"] small{display:block;font-size:12px;color:var(--c-haze)}
.bgcy td.sab{background:rgba(242,209,76,.16);color:var(--c-gold);font-weight:500}
.bgcy .col-on{box-shadow:inset 0 0 0 9999px rgba(106,160,230,.10)}
.bgcy thead .col-on button{color:var(--c-sign)!important}
.bgcy tbody tr:last-child th,.bgcy tbody tr:last-child td{border-bottom:0}
.bgcy-sum{font-family:var(--c-ui);font-size:13px;color:var(--c-mist);margin:10px 2px 0}
.bgcy-note{font-family:var(--c-ui);font-size:13px;color:var(--c-haze);margin:14px 2px 0;max-width:80ch;line-height:1.55}
@media (max-width:640px){.bgcy-intro{font-size:17px}.bgcy-year,.bgcy-next{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bgcy-month{padding:8px 6px 10px}.bgcy-d{font-size:11px!important;padding:4px 0!important}.bgcy-mh b{font-size:17px}}
@media (max-width:380px){.bgcy-year,.bgcy-next{grid-template-columns:minmax(0,1fr)}}
