:root{font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;color:#352e27;background:#f1ede3;line-height:1.6}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;padding:clamp(10px,3vw,32px)}main{max-width:850px;margin:auto;background:#fffdf8;border:2px solid #d8cbb6;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #503c2315}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:clamp(18px,4vw,34px);background:#eee0c7;border-bottom:2px solid #d2bd98}h1,h2,h3,p{margin:0 0 .6em}h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.2}h2{font-size:1.5rem}.eyebrow{font-size:.95rem;font-weight:700;color:#65472d}.art{width:clamp(85px,20vw,160px);flex:none}section{padding:clamp(18px,4vw,34px)}button{font:inherit;min-height:48px;border:2px solid #725640;border-radius:8px;padding:9px 14px;background:#fffdf8;color:#352e27;cursor:pointer;font-weight:700}button:hover:not(:disabled){background:#f4e7d1}button:focus-visible,a:focus-visible{outline:4px solid #1c6380;outline-offset:3px}button:disabled{opacity:.65;cursor:default}.choices{display:flex;flex-wrap:wrap;gap:9px}.primary{background:#315e4e;color:#fff;border-color:#24463a}.primary:hover:not(:disabled){background:#24463a}.dashboard{display:flex;flex-wrap:wrap;gap:10px 28px;padding:14px;background:#e9f1e7;border:2px solid #aac4ae;border-radius:10px;margin:16px 0}.dashboard p{margin:0;font-weight:700}.events{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.event{display:flex;justify-content:space-between;align-items:center;gap:12px;border:2px solid #c4b295;border-left:8px solid #477b63;border-radius:8px;padding:12px;background:#fff}.event p{margin:.15em 0 0}.event.cancelled{border-left-color:#886b57;background:#f6f0e8}.event.cancelled strong{text-decoration:line-through;text-decoration-thickness:1px}.status{background:#fff1d9;border-left:5px solid #a8782d;min-height:3em;padding:10px;margin:18px 0;font-weight:700}footer{padding:20px 30px;background:#f3ede2;border-top:1px solid #d8cbb6}a{color:#1c5874;font-weight:700}.more{margin-top:16px}.more summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:700}.more .choices{margin-top:8px}@media(max-width:440px){body{padding:6px}header,section{padding:16px}.art{width:72px}.event{align-items:stretch;flex-direction:column}.event button{width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
