:root{--ink:#37092b;--pink:#ff4fa3;--yellow:#ffe547;--paper:#fff8ee;color:var(--ink);font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}
body{margin:0;background-color:#ffdbeb;background-image:radial-gradient(#ff98c5 1.6px,transparent 1.6px);background-size:18px 18px}
a{color:inherit;text-underline-offset:4px}
main.campaign{width:min(100%,480px);margin:auto;background:var(--paper);box-shadow:0 0 0 2px var(--ink)}
.panel{position:relative;margin:0;isolation:isolate}
.panel img{display:block;width:100%;height:auto;color:var(--ink);background:#fff4ec;font-size:18px}
.hit{position:absolute;display:block;border-radius:999px;min-height:44px}
.hit:hover,.hit:focus-visible{box-shadow:0 0 0 3px white,0 0 0 6px var(--ink);background:#fff2}
.hit:active{background:#fff5}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.buy-top{left:5%;width:90%;top:84%;height:7.5%}
.flavor-jump{left:15%;width:70%;top:92%;bottom:1%}
.buy-last{left:3%;width:94%;top:89%;bottom:1%}
.taste{left:3%;width:51%;height:6%}
.pink{top:39%}.yellow{top:64%}.blue{top:91%}
.rail{position:fixed;left:calc((100% - 480px)/4);top:50%;transform:translate(-50%,-50%);width:min(25vw,300px)}
.wordmark{display:block;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.08em;font-weight:1000;line-height:1}
.rail p{font-weight:700;font-size:16px}.rail nav{margin-top:2rem;display:grid;justify-items:start;gap:.5rem}.rail nav a{padding:10px 0;font-weight:700}
.shop-link,.action{background:var(--yellow);border:2px solid var(--ink);border-radius:99px;box-shadow:4px 4px var(--ink);font-weight:800;text-decoration:none;padding:14px 21px;display:inline-block}
.shop-link{position:fixed;right:calc((100% - 480px)/4);top:50%;translate:50% -50%}
footer{text-align:center;padding:20px 12px;font-size:13px}
.store{max-width:580px;margin:clamp(1rem,5vw,4rem) auto;background:var(--paper);padding:clamp(18px,4vw,36px);border:2px solid var(--ink);border-radius:24px}
.store h1{line-height:1.05;font-size:clamp(32px,7vw,55px);letter-spacing:-.045em;margin:.5em 0}.store img{width:100%;max-height:320px;object-fit:cover;border-radius:12px}.store p{line-height:1.7}.store .price{font-size:1.5rem;font-weight:800}.store a{margin-top:12px}
@media(max-width:1010px){.rail,.shop-link{display:none}}
@media(prefers-reduced-motion:no-preference){.action,.shop-link,.hit{transition:background .18s,box-shadow .18s,transform .18s}.action:hover,.shop-link:hover{transform:translateY(-3px)}.hit:hover{animation:pop .3s ease-out}@keyframes pop{50%{transform:scale(1.018)}}}
