:root{color-scheme:light;--cream:#fff9e9;--green:#075c30;--gold:#d99b00;--ink:#174f31;--muted:#65705e;--accent:#d9ec72;font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color:var(--ink);background:#eeefdf;font-synthesis:weight}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #c37d00;outline-offset:4px}[hidden]{display:none!important}
#app{width:100%;max-width:440px;min-height:100svh;margin:auto;background:var(--cream);padding:env(safe-area-inset-top) 22px max(14px,env(safe-area-inset-bottom));overflow:hidden}
.topbar{height:62px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:17px;font-weight:900;transform:rotate(-4deg);letter-spacing:.04em}.quiet{color:var(--green);background:none;border:0;padding:12px 8px;font-size:13px;font-weight:800;min-height:44px}
.home{text-align:center}h1,h2,p{margin:0}.home h1{font-size:clamp(30px,8.4vw,39px);line-height:1.25;font-weight:950;letter-spacing:-.055em;position:relative;z-index:1}.product-name{display:block;color:var(--gold);font-size:.76em;margin:4px 0 7px;letter-spacing:.01em;transform:rotate(-4deg)}
.hero-art{height:clamp(210px,39svh,340px);position:relative;margin:0 -22px;isolation:isolate}.hero-art canvas{width:100%;height:100%;position:relative;object-fit:contain}.rings{position:absolute;width:310px;height:310px;border:37px solid #f2f6c4;background:#e8f19d;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-43%);box-shadow:0 0 0 29px #f7f7d3;z-index:-1}
.intro{position:relative;margin:5px -10px 18px}.intro h2{font-size:18px;font-weight:900;letter-spacing:-.04em}.intro strong{font-size:32px;vertical-align:-2px;letter-spacing:-.05em}.intro p{font-size:13px;margin-top:5px}
.primary{width:100%;border:0;border-radius:100px;background:linear-gradient(160deg,#159648,var(--green));color:var(--cream);padding:15px 20px;min-height:60px;font-weight:900;font-size:23px;box-shadow:0 5px 0 #034624,0 10px 18px #35501c16;transition:transform .15s,box-shadow .15s}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #034624}
.status{font-size:12px;line-height:1.6;margin-top:10px;min-height:0}.status:empty{display:none}footer{text-align:center;font-size:10px;line-height:1.65;color:#6b7263;padding-top:23px}footer span{display:block;font-size:9px;margin-top:3px}
.hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:7px}.hud>div{white-space:nowrap}.hud-label{display:block;font-size:11px;letter-spacing:.05em}.hud strong{font-size:39px;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.hud>div>span:last-child{font-size:13px;margin-left:3px}.score{margin-right:auto}.hud .quiet{font-size:12px;border:1px solid #b9c6a0;border-radius:30px;padding:8px 12px}.time-track{margin-top:8px;height:5px;background:#e2e7c2;border-radius:10px;overflow:hidden}#time-bar{height:100%;width:100%;background:var(--green);transform-origin:left}
.flavor-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:15px 0 8px;font-size:12px;font-weight:800}#flavor{background:var(--accent);padding:7px 12px;border-radius:20px}#combo{font-size:11px}
.arena{position:relative;height:clamp(280px,calc(100svh - 300px),570px);margin:0 -22px;isolation:isolate;overflow:hidden}.arena-rings{position:absolute;width:430px;height:430px;left:50%;bottom:-115px;transform:translateX(-50%);background:#edf3bf;border:44px solid #f3f5d3;border-radius:50%;z-index:-1}.arena canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;outline-offset:-4px}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:88px;font-weight:950;background:#fff9e9b3;pointer-events:none}
.pause-panel{position:absolute;inset:0;background:#fff9e9ed;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.pause-panel h2{font-size:24px}.pause-panel p{font-size:12px;margin:12px 0 28px}.pause-panel .quiet{margin-top:16px}.control-hint{text-align:center;font-size:12px;margin:6px 0}.play~footer{padding-top:14px}
.result{text-align:center;padding-top:15px}.result-lead{color:var(--gold);font-size:17px;font-weight:900;transform:rotate(-4deg);margin-bottom:12px}.result h1{font-size:30px;letter-spacing:-.05em;line-height:1.3}.result-score{position:relative;margin:13px auto 0;isolation:isolate}.result-score:before{content:"";position:absolute;inset:6px 70px;background:#eaf1ad;border-radius:50%;z-index:-1}.result-score strong{font-size:100px;line-height:1.35;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.result-score span{font-size:24px;font-weight:900;margin-left:8px}.rank{font-size:21px;font-weight:900}.best{font-size:11px;margin-top:10px;color:var(--muted)}.result-actions{display:grid;gap:13px;margin-top:23px}.secondary{min-height:49px;background:transparent;border:1.5px solid var(--green);border-radius:30px;color:var(--green);font-weight:800;font-size:15px}
.product-section{margin-top:25px;padding:23px 0 12px;border-top:1px dashed #b6c598}.product-section h2{font-size:17px}.product-section>p{font-size:12px;margin-top:8px}.flavors{display:flex;gap:5px;margin-top:17px}.flavors button{flex:1;min-height:44px;padding:8px 4px;border:1px solid #c7d4ab;background:transparent;border-radius:24px;font-weight:800;font-size:12px;color:var(--green)}.flavors button[aria-pressed=true]{background:var(--green);color:var(--cream);border-color:var(--green)}.product-link{display:block;color:var(--green);font-weight:800;font-size:15px;margin:17px 0 8px;text-underline-offset:5px}.product-section small{font-size:10px;color:var(--muted)}#share-copy{width:100%;height:90px;margin-top:10px;padding:10px;font:inherit;font-size:12px}
@media(min-width:600px){body{padding:25px}#app{min-height:0;border-radius:28px;box-shadow:0 20px 80px #24421e14}.hero-art{height:310px}.arena{height:460px}footer{padding-bottom:10px}}
@media(max-height:700px) and (max-width:599px){.topbar{height:49px}.home h1{font-size:32px}.hero-art{height:215px}.rings{width:220px;height:220px;border-width:25px}.intro{margin-bottom:12px}.intro h2{font-size:16px}.intro p{font-size:11px}.primary{min-height:54px;padding:12px 18px}footer{padding-top:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
