:root{--ink:#173d45;--muted:#51636a;--teal:#075d60;--coral:#a94135;--cream:#fff9ed;--line:#eadac1}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 25%,#eaf4f2,transparent 48%),var(--cream);color:var(--ink);font:15px/1.75 "Hiragino Sans","Noto Sans JP",system-ui,sans-serif}
header{position:sticky;top:0;z-index:2;background:#fffaf2f5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.bar,main{max-width:1120px;margin:auto;padding-inline:24px}.bar{display:flex;gap:28px;align-items:center;min-height:65px}.brand{font-weight:850;white-space:nowrap}.brand span{color:var(--coral)}nav{display:flex;gap:3px;overflow:auto;scrollbar-width:thin}
button,a,input{font:inherit}button,.button{border:1px solid var(--line);border-radius:999px;padding:9px 15px;font-weight:750;cursor:pointer;color:var(--ink);background:white;text-decoration:none;display:inline-block}button:disabled{cursor:default;opacity:.75}nav button{white-space:nowrap;border:0;background:transparent}nav button[aria-current]{background:#dceee7;color:#095359}main{padding-top:22px;padding-bottom:45px}
.hero{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:#fff3df;box-shadow:0 12px 32px #8b63471b}.hero img{display:block;width:100%;height:auto}.mobile-title{display:none}.event-meta{margin:0;padding:9px 15px;background:#fffaf2;text-align:center;font-weight:750}
.home-panel{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin:16px 0}.box,.next{border:1px solid var(--line);background:#fffefa;border-radius:18px;padding:20px;margin:0 0 12px;box-shadow:0 3px 10px #8b63470b}.home-panel .box,.home-panel .next{margin:0}.next{border-top:4px solid #b37b38}.home-shortcuts{display:grid;gap:6px}.home-shortcuts button{text-align:left;border-radius:10px;background:#edf5f0}
h2{font-size:23px;line-height:1.35;margin:0 0 10px}h3{margin:0 0 8px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}.grid .box{margin:0}.primary{background:var(--teal);border-color:var(--teal);color:#fff}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.value{white-space:pre-wrap;overflow-wrap:anywhere}
.view[hidden]{display:none}.view>h1{margin:0 0 14px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(25px,5vw,38px)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:9px;margin-top:14px}.cards button{min-height:84px;padding:5px;border-radius:12px;overflow-wrap:anywhere}.cards img{width:100%;height:66px;object-fit:contain}.face-down{background:var(--teal);color:#fff}.status{min-height:28px}.venue img,.work img{max-width:100%;max-height:220px;object-fit:cover;border-radius:10px}.count{width:82px;padding:8px}footer{color:var(--muted);margin-top:28px}:focus-visible{outline:3px solid #267e70;outline-offset:3px}
.steps{list-style:none;margin:12px 0 18px 7px;padding:0 0 0 18px;border-left:2px solid #d5ad6e}.steps li{position:relative;padding:4px 0}.steps li::before{content:"";position:absolute;left:-24px;top:13px;width:10px;height:10px;border-radius:50%;background:#a94135}
@media(max-width:650px){.bar{display:block;padding:7px 13px}.bar nav{padding-top:3px}.bar nav button{padding:6px 9px}.bar nav button,.brand{font-size:14px}main{padding:12px 12px 36px}.hero{border-radius:16px}.mobile-title{display:block;text-align:center;padding:13px 8px 10px;margin:0;background:#fff8e8;color:var(--teal);font:800 clamp(20px,5.8vw,32px)/1.3 "Hiragino Mincho ProN","Yu Mincho",serif}.mobile-title span{display:block;color:var(--coral)}.hero img{aspect-ratio:1204/887;object-fit:cover}.home-panel,.grid{grid-template-columns:1fr}.box,.next{padding:15px}.event-meta{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.hero{animation:arrive .48s ease-out}@keyframes arrive{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}}

.parade-video .video-frame{aspect-ratio:16/9;max-width:760px;overflow:hidden;border-radius:12px;background:#173d45;margin:12px 0}
.parade-video iframe{display:block;width:100%;height:100%;border:0}

/* Match the cover's ivory paper, ink and restrained gold details. */
:root{--line:#e3d8c5;--cream:#f8f5ed;--teal:#14585b;--ink:#203e43}
body{background:#f8f5ed}
header{background:#fffdf7f5}
.bar,main{max-width:1190px}
.brand{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:19px;letter-spacing:.035em}
.brand span{font:700 12px system-ui,sans-serif;letter-spacing:.13em}
nav button{border-radius:3px;font-size:14px}
nav button[aria-current]{background:transparent;box-shadow:inset 0 -2px #a97839}
main{padding-top:30px}
.hero{border-radius:6px;box-shadow:0 18px 48px #34362d12}
.event-meta{letter-spacing:.06em;background:#fffdf8}
.home-panel{grid-template-columns:1.3fr 1fr;gap:24px;margin:26px 0}
.box,.next{border-radius:6px;background:#fffdf8;box-shadow:none;padding:24px}
.next{border-top:3px solid #ad824e}
.home-shortcuts{gap:0;padding-block:10px}
.home-shortcuts button{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0}
.home-shortcuts button:last-child{border-bottom:0}
.home-shortcuts button:hover{color:var(--coral)}
h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:24px;letter-spacing:.025em}
.button,.primary{border-radius:5px}
.attendance-controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.attendance-controls label{display:block;font-weight:700}
.attendance-controls input{display:block;min-height:44px;max-width:100%;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:5px;padding:5px 10px}
.attendance-event h3{margin-top:16px}.attendees{list-style:none;margin:0;padding:0}
.attendees li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-top:1px solid var(--line);padding:9px 0;overflow-wrap:anywhere}
.attendees span{color:var(--muted);font-size:13px;text-align:right}
@media(max-width:650px){main{padding-top:12px}.hero{border-radius:6px}.brand{font-size:16px}.home-panel{grid-template-columns:1fr;gap:12px;margin:16px 0}.box,.next{padding:16px}.home-shortcuts{padding-block:4px}h2{font-size:21px}}
.attendance-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.attendance-group{min-width:0;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:6px;padding:12px;background:#fffdf8}
.attendance-group:nth-child(2){border-top-color:#a97839}.attendance-group:nth-child(3){border-top-color:var(--coral)}
.attendance-group h4{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:15px}
.attendance-group-count{white-space:nowrap;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.attendance-empty{margin:0;font-size:13px}
@media(max-width:720px){.attendance-groups{grid-template-columns:1fr;gap:8px}}
