:root{--paper:#f7f4e9;--green:#293c35;--apricot:#f1c99d;--muted:#738076}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--green);font-family:Arial,'Noto Sans TC',sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid #d8dccf;gap:16px}header a{font-weight:bold;color:inherit;text-decoration:none}header span{font-size:11px;letter-spacing:2px}header b{font-size:12px;background:var(--apricot);padding:8px 12px;border-radius:20px}main{max-width:1120px;margin:auto;padding:0 28px}.intro{display:flex;align-items:center;justify-content:space-between;padding:65px 0 40px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold}h1{font-size:clamp(36px,5vw,62px);line-height:1.25;letter-spacing:-2px;margin:20px 0}p{line-height:1.8}.intro>div>p:not(.eyebrow){color:#627164}.hero-dog{width:30%;max-width:280px;filter:drop-shadow(0 14px 0 #e6ddca)}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{font-size:12px;border:1px solid #c4cdbf;padding:7px 12px;border-radius:20px}.notice{font-size:13px;background:#efe6d5;padding:14px 20px;border-radius:8px;margin-bottom:30px}.layout{display:grid;grid-template-columns:1.65fr 1fr;gap:40px}.card{background:#fffdf8;border:1px solid #d9d4c5;border-radius:20px;padding:30px;box-shadow:0 12px 35px #293c3508}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-size:25px;margin:8px 0 22px}.card-heading strong{font-size:27px;white-space:nowrap}.progress{height:5px;background:#eee9dd;border-radius:5px;margin:5px 0 28px;overflow:hidden}#bar{height:100%;background:var(--green);transition:width .4s}.stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stamp{text-align:center;min-width:0}.stamp .seal{border:1px dashed #bcc5b7;border-radius:50%;aspect-ratio:1;max-width:125px;margin:auto;display:grid;place-items:center;background:#f7f4eb;position:relative}.stamp img{width:85%;opacity:.15;filter:grayscale(1)}.stamp.done img{opacity:1;filter:none}.stamp.done .seal{background:#fae4cc;border:2px solid #e6bd92;animation:pop .35s}.stamp .tick{position:absolute;bottom:1px;right:2px;background:var(--green);border-radius:50%;color:white;width:24px;height:24px;font-size:15px}.stamp p{font-size:12px;margin:10px 0}.stamp small{font-size:10px;color:#738076}.card>p{font-size:13px;margin-bottom:0}aside{padding:25px 0}ol{padding-left:22px}li{padding:0 0 25px 8px}li span{display:block;font-size:13px;color:#738076;line-height:1.7;margin-top:6px}.small{font-size:12px;color:#738076}.stations{margin-top:55px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading>span{font-size:12px;margin-bottom:23px;color:#738076}.shops{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.shop{border:1px solid #d6d8cb;border-radius:10px;padding:20px}.shop small{letter-spacing:2px;font-size:10px}.shop h3{font-size:19px;margin:14px 0 8px}.shop p{font-size:12px;color:#738076;min-height:38px}button{cursor:pointer;font:inherit;font-size:13px;padding:12px 18px;border-radius:25px;border:0;background:var(--green);color:white;min-height:44px}button:disabled{background:#e0e4d9;color:#66715f;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b6744d;outline-offset:4px}.shop button{width:100%}.tools{margin-top:35px;border:1px solid #cbd0c2;padding:20px;border-radius:10px;font-size:13px}.tools summary{cursor:pointer;font-weight:bold}.tools select{padding:10px;max-width:100%}.secondary{background:transparent;color:var(--green);border:1px solid #a6b29f}.ticket{background:var(--apricot);border-radius:12px;padding:22px;margin-top:24px;border:1px dashed #a77b52}.ticket .serial{font-size:40px;letter-spacing:5px;font-weight:bold}.ticket h3{margin:6px 0}.ticket p{font-size:12px}.sold{background:#eee5d5;padding:20px;border-radius:10px;margin-top:20px}footer{text-align:center;font-size:12px;color:#738076;padding:45px 0;line-height:2}@keyframes pop{from{transform:scale(.85)}to{transform:scale(1)}}@media(max-width:700px){main{padding:0 18px}header span{display:none}.intro{padding:35px 0}.hero-dog{width:28%}h1{font-size:34px}.layout{grid-template-columns:1fr;gap:15px}.card{padding:23px 18px}.stamps{gap:14px}.shops{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section-heading>span{display:block;margin-bottom:18px}aside{padding:15px 5px}ol{margin-bottom:0}.intro>div>p:not(.eyebrow){font-size:13px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
