:root{--paper:#fbfcf8;--ink:#183e47;--teal:#006d73;--pale:#e5f2ef;--line:#b9d0cd;--muted:#536a6e;--accent:#b53560;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:var(--ink);background:var(--pale);font-synthesis:none}*{box-sizing:border-box}body{margin:0;padding:32px 16px}.sheet{max-width:600px;margin:auto;background:var(--paper);padding:30px 32px 24px;border-top:8px solid var(--teal);box-shadow:0 8px 35px #183e4710}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px dashed var(--line)}a{color:var(--teal);text-underline-offset:4px}.brand{text-decoration:none;font-weight:700;font-size:14px}.ticket{font:10px ui-monospace,monospace;letter-spacing:.1em;color:var(--muted)}section{padding:32px 0 24px}.eyebrow{font-size:12px;font-weight:700;color:var(--teal);margin:0 0 14px}h1{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(28px,6vw,38px);line-height:1.5;letter-spacing:.04em;margin:0 0 16px;overflow-wrap:anywhere}p{font-size:14px;line-height:1.9;margin:0 0 16px}#message{color:var(--muted)}.counter{display:flex;align-items:baseline;gap:9px;margin:20px 0 6px}.counter strong{font:58px ui-rounded,"Arial Rounded MT Bold",sans-serif;font-weight:700;color:var(--teal)}.counter span{color:var(--muted);font-size:13px}progress{width:100%;height:6px;appearance:none;border:none;background:var(--pale);border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:var(--pale)}progress::-webkit-progress-value{background:var(--teal)}progress::-moz-progress-bar{background:var(--teal)}.stamps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 30px;padding:0;list-style:none}.stamp{min-height:144px;border:1px dashed var(--line);border-radius:4px;display:flex;align-items:center;flex-direction:column;padding:16px 6px 12px;gap:8px;text-align:center}.mark{width:56px;height:56px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:18px ui-monospace,monospace;color:var(--muted)}.acquired{background:#f1f7f3;border:1px solid var(--line)}.acquired .mark{color:var(--accent);border:3px double var(--accent);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:27px;transform:rotate(-9deg)}.station{font-size:12px;font-weight:600;overflow-wrap:anywhere}.stamp time{font:10px ui-monospace,monospace;color:var(--muted)}footer{border-top:1px dashed var(--line);padding-top:20px}footer p{font-size:11px;color:var(--muted);margin-bottom:10px}.fresh .mark{animation:stamp-in .3s ease-out}@keyframes stamp-in{from{transform:scale(1.4) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(-9deg);opacity:1}}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.demo-links{display:grid;gap:12px;margin:24px 0}.demo-links a{display:block;padding:18px;border:1px solid var(--line);border-radius:4px;text-decoration:none;background:var(--pale);font-size:14px}.notice{background:var(--pale);padding:16px;font-size:12px}@media(max-width:400px){body{padding:12px 10px}.sheet{padding:22px 18px}.stamps{gap:7px}.stamp{min-height:136px}.ticket{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
[hidden]{display:none!important}
