.mb-page,.mb-dialog,.mb-band{--mb-paper:#f3eee2;--mb-ink:#20372b;--mb-lavender:#b8a4c8;--mb-orange:#d18b54;--mb-line:#d7ceba}
.mb-page{margin:0;background:var(--mb-paper);color:var(--mb-ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9}
.mb-page *,.mb-dialog *,.mb-band *{box-sizing:border-box}
.mb-page a,.mb-dialog a,.mb-band a{color:inherit;text-underline-offset:5px}
.mb-page a:focus-visible,.mb-dialog :is(a,button):focus-visible,.mb-band a:focus-visible{outline:3px solid #80638f;outline-offset:5px}
.mb-skip{position:absolute;left:16px;top:-100px;padding:10px;background:white;z-index:10}.mb-skip:focus{top:10px}
.mb-site-header,.mb-footer{max-width:1200px;margin:auto;padding:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.mb-site-header{border-bottom:1px solid var(--mb-line)}.mb-site-header>a:first-child{font-size:20px;letter-spacing:.14em;text-decoration:none;font-weight:bold}
.mb-page main{max-width:1120px;margin:auto;padding:48px 24px 72px}.mb-intro{text-align:center;padding:24px 0 40px}.mb-intro h1{font-size:clamp(28px,4vw,48px);font-weight:500;margin:12px 0}.mb-dates{color:#80638f;letter-spacing:.12em}
.mb-page-art{margin:0 0 40px}.mb-page-art img{width:100%;height:auto;display:block;border-radius:8px}
.mb-doors{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mb-door{position:relative;padding:26px 24px;background:#fcfaf4;border:1px solid var(--mb-line);border-radius:10px;min-width:0;overflow-wrap:anywhere;scroll-margin-top:30px}
.mb-door time{display:block;color:#6b536f;letter-spacing:.1em;font-size:14px}.mb-door h2{font-size:23px;line-height:1.6;font-weight:500;margin:18px 0 12px}.mb-teaser{font-size:15px;line-height:1.9;white-space:pre-line}.mb-door.is-today{border:2px solid var(--mb-orange);transform:scale(1.025);box-shadow:0 6px 24px #73583418}.mb-today{display:inline-block;background:var(--mb-orange);color:#fff;padding:1px 12px;border-radius:20px;font-size:13px;margin-top:10px}
.mb-closed-art{width:96px;height:140px;margin:24px auto 18px;border:2px solid #8c7899;border-radius:40px 40px 2px 2px;background:linear-gradient(90deg,#c9b9d3 48%,#b8a4c8 49%,#b8a4c8 51%,#c9b9d3 52%);position:relative;box-shadow:inset 0 0 0 8px #f3eee244}
.mb-closed-art:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#9b633a;right:15px;top:84px}.mb-door.is-closed>p{text-align:center;font-size:13px}.mb-door.is-closed{background:#eae5e9}
.mb-resident{border-top:1px solid var(--mb-line);margin-top:24px;padding-top:18px}.mb-resident h3{font-size:13px;color:#80638f}.mb-resident-name{font-size:18px}.mb-resident img{width:100%;max-height:260px;object-fit:contain}.mb-return{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:48px}.mb-return a,.mb-dialog-actions :is(a,button),.mb-milestone a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid #80638f;border-radius:4px;text-decoration:none;background:#fcfaf4;color:var(--mb-ink)}
.mb-footer{border-top:1px solid var(--mb-line);font-size:12px}.mb-footer small{width:100%}
.mb-band{margin:12px 0 22px;padding:14px 20px;border:1px solid #c4a7b7;background:#eee7ef;color:var(--mb-ink);border-radius:6px}.mb-band a{display:flex;gap:10px 24px;flex-wrap:wrap;align-items:center;min-height:44px;font-size:14px;text-decoration:none}.mb-band strong{font-weight:500;overflow-wrap:anywhere}
.mb-dialog{border:0;padding:0;width:min(850px,calc(100% - 32px));max-height:calc(100dvh - 32px);background:transparent;color:var(--mb-ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;overflow:auto}.mb-dialog::backdrop{background:#18251ed9}.mb-dialog-panel{position:relative;background:var(--mb-paper);border-radius:10px;text-align:center;padding:24px;line-height:1.8;animation:mb-enter .25s ease-out}.mb-dialog picture img{display:block;width:100%;height:auto;max-height:55dvh;object-fit:contain}.mb-dialog h2{font-size:clamp(26px,4vw,40px);font-weight:500;margin:24px 0 12px}.mb-number{font-size:clamp(18px,3vw,27px);margin:20px 0;overflow-wrap:anywhere}.mb-number strong{display:block;font-size:clamp(40px,8vw,70px);font-variant-numeric:tabular-nums;color:#7c5991;letter-spacing:.08em}.mb-close{position:absolute;z-index:1;right:8px;top:8px;width:44px;height:44px;border-radius:50%;border:1px solid #8c7899;background:#fcfaf4;color:var(--mb-ink);font-size:26px;cursor:pointer}.mb-dialog-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.mb-dialog button{font:inherit;cursor:pointer}.mb-dialog .mb-close{font-size:26px}.mb-milestone{background:#edd7bf;border:1px solid var(--mb-orange);padding:16px;margin-top:20px;border-radius:6px}.mb-modal-open{overflow:hidden}
.mb-dialog [hidden]{display:none!important}
@keyframes mb-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.mb-page main{padding:24px 20px 48px}.mb-site-header,.mb-footer{padding:20px}.mb-doors{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mb-door{padding:18px 12px}.mb-door h2{font-size:19px}.mb-teaser{font-size:13px}.mb-closed-art{width:72px;height:116px}.mb-closed-art:after{top:70px;right:12px}.mb-band{padding:12px 16px}.mb-dialog-panel{padding:16px}.mb-dialog picture img{max-height:54dvh}.mb-dialog-actions{display:grid}.mb-dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.mb-dialog-panel{animation:none}.mb-door.is-today{transform:none}}
