:root{--paper:#fff9ef;--outer:#eee5d5;--ink:#34291f;--muted:#695a49;--action:#245b5a;--line:#b4a48d;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--outer);font-size:16px;line-height:1.8;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:var(--action);text-underline-offset:.2em}button,summary,a{-webkit-tap-highlight-color:#245b5a22}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--action);outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;letter-spacing:-.015em;line-height:1.4}h2{font-size:clamp(1.6rem,4.5vw,2rem)}h3{font-size:1.15rem}p+p{margin-top:1em}.sheet{max-width:760px;margin:0 auto;background:var(--paper)}.skip{position:absolute;top:8px;left:8px;transform:translateY(-180%);background:var(--paper);padding:10px 18px;z-index:10}.skip:focus{transform:none}.masthead{padding:28px 32px 24px;text-align:center}.masthead .kicker{font-size:.875rem;letter-spacing:.06em;color:var(--muted)}.masthead h1{font-size:clamp(2rem,7vw,3.1rem);margin:10px 0 12px}.masthead .lead{font-size:clamp(1rem,3.2vw,1.25rem);font-weight:600}.masthead .dates{margin-top:14px;font-size:1rem}.masthead .dates span{white-space:nowrap}.comic{display:grid;gap:8px}.comic-page{display:block;position:relative;width:100%;border:0;padding:0;margin:0;line-height:0;background:var(--paper);border-radius:2px}.comic-page img{display:block;width:100%;height:auto}.after-comic{padding:28px 24px 0;text-align:center}.primary{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:12px 26px;background:var(--action);border:2px solid var(--action);border-radius:6px;color:var(--paper);font-weight:700;text-decoration:none;line-height:1.5}.primary:hover{background:#194443}.primary:active{transform:translateY(1px)}.small{font-size:.875rem;color:var(--muted)}.after-comic .small{margin-top:12px}.content{padding:0 48px 52px}.section{margin-top:64px;scroll-margin-top:24px}.section h2{margin-bottom:24px}.intro{text-align:center}.intro p{max-width:34em;margin-inline:auto}.program{list-style:none;padding:0;margin:0}.program li{padding:22px 0;border-bottom:1px solid var(--line)}.program li:first-child{padding-top:0}.program h3{margin-bottom:8px}.program .tag{display:block;font-size:.875rem;color:var(--muted);margin-bottom:5px}.gift{border-left:3px solid var(--action);padding:4px 0 4px 20px;margin-top:28px}.gift h3{margin-bottom:8px}.host-name{font-size:1.75rem;font-weight:700;margin-bottom:12px}.links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px}.links a,.text-link{display:inline-flex;align-items:center;min-height:44px}.past{margin-top:26px}.past a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-weight:600;min-height:44px}.past span{display:block;font-size:.875rem;color:var(--muted);font-weight:400}.facts{margin:0}.facts>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.facts dt{color:var(--muted)}.facts dd{margin:0}.notice{padding:18px 20px;background:#f0e8d9;border-radius:6px;margin-top:24px}.notice strong{display:block;margin-bottom:4px}.tickets{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.ticket{border-top:3px solid var(--action);padding-top:20px}.ticket-date{font-size:1.65rem;font-weight:700}.ticket-price{font-size:1.1rem;margin:8px 0}.status{display:block;background:#e7dfd0;color:var(--ink);border-radius:6px;text-align:center;padding:12px;font-weight:600;min-height:50px}.ticket .primary{width:100%}.ticket .small{margin-top:10px}details{border-bottom:1px solid var(--line);padding:0}summary{min-height:60px;cursor:pointer;padding:18px 0;font-weight:600}details p{padding:0 0 22px}.footer{border-top:1px solid var(--line);padding:28px 24px;text-align:center;font-size:.875rem}.footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 20px}.footer a{display:inline-flex;align-items:center;min-height:44px}.footer p{margin-top:12px}.thanks{min-height:75vh;padding:52px 32px}.thanks h1{font-size:clamp(1.5rem,6vw,1.9rem);margin-bottom:24px}.thanks .primary{margin-top:24px}[hidden]{display:none!important}
@media(max-width:600px){.masthead{padding:24px 20px}.content{padding:0 22px 40px}.section{margin-top:48px}.tickets{grid-template-columns:1fr;gap:30px}.facts>div{grid-template-columns:1fr;gap:4px}.facts dt{font-size:.875rem}.comic{gap:6px}.footer nav{flex-direction:column;align-items:center}}
@media(forced-colors:active){.primary,.status{border:2px solid ButtonText}.comic-page{outline:1px solid CanvasText}}



.host-image{display:block;width:100%;height:auto;margin:0 0 24px}.past-photos{display:grid;gap:24px;margin:20px 0}.past-photos figure{margin:0}.past-photos img{display:block;width:100%;height:auto}.past-photos figcaption{font-size:.875rem;color:var(--muted);margin-top:8px}.availability{font-weight:700;margin:16px 0 10px}.apply-button:disabled{background:#e7dfd0;border-color:var(--line);color:var(--ink);cursor:default;transform:none}.availability-retry{min-height:48px;padding:10px 18px;margin-top:24px;background:var(--paper);color:var(--action);border:1px solid var(--action);border-radius:6px;cursor:pointer}

/* Osaka rally: clear reading flow and distinct day cards. */
.after-comic{padding:32px 24px 0}.after-comic>.primary{display:flex;width:100%;min-height:76px;padding:20px 16px;font-size:clamp(1.15rem,3.4vw,1.6rem)}
.feature-image{display:block;width:100%;height:auto;margin:0 0 24px}.schedule-title{margin:32px 0 16px}.schedule{list-style:none;margin:0 0 16px;padding:0}.schedule li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.schedule li>span{font-weight:700;color:var(--action)}.schedule h3{margin-bottom:8px}.venue-map{margin-top:28px}.venue-map iframe{display:block;width:100%;height:320px;border:0;margin-bottom:16px}.tickets{gap:20px}.ticket{border:1px solid var(--line);border-top:4px solid var(--action);border-radius:6px;padding:24px 20px;background:#f0e8d9;min-width:0;display:flex;flex-direction:column}.ticket-date{font-size:1.55rem}.ticket-date span{display:block;font-size:1rem;font-weight:500}.ticket-price{font-size:1rem}.ticket .apply-button{margin-top:auto;padding-inline:8px}.ticket .availability{margin:18px 0 12px}.ticket p{margin-top:8px}
@media(max-width:600px){.after-comic{padding-inline:20px}.schedule li{grid-template-columns:1fr;gap:6px}.ticket{padding:24px}.ticket-date span{display:inline-block;margin-left:8px}.tickets{gap:20px}}

/* Follow-up: reports, venue context and inline date labels. */
.past a{text-decoration:none}.past .report-title{font-size:1rem;color:var(--action);font-weight:600;text-decoration:underline;text-underline-offset:.2em}
.facts dd{min-width:0}.facts .venue-map{display:block;margin-top:16px;padding:0;border:0}.venue-map iframe{height:300px}
.ticket-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;font-size:1.4rem}.ticket-date time{white-space:nowrap}.ticket-date span{display:inline-block;margin:0;font-size:.875rem;white-space:nowrap}
