:root{color:#203a33;font-synthesis:none;background:#f4f6f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;line-height:1.6}*{box-sizing:border-box}body{min-width:280px;margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation;border:0;border-radius:14px;min-height:60px;padding:12px 18px;font-weight:700}button:disabled{opacity:.48;cursor:wait}button:focus-visible{outline-offset:4px;outline:3px solid #c47918}button:active:not(:disabled){transform:translateY(1px)}.app{max-width:520px;padding:max(32px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));margin:0 auto}.heading{align-items:center;gap:13px;display:flex}.heading img{border-radius:14px}.eyebrow{letter-spacing:.13em;color:#60766d;margin:0 0 2px;font-size:9px;font-weight:700}h1{letter-spacing:.02em;margin:0;font-size:26px}h2{margin:0;font-size:14px;font-weight:600}.intro{margin:27px 0 20px}.intro p{color:#607168;margin:10px 0 0;font-size:14px}.badge{border:1px solid #c9d8ce;border-radius:30px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.counter-card{text-align:center;background:#fff;border:1px solid #e2e9e0;border-radius:22px;padding:26px 22px 18px;box-shadow:0 7px 32px #254c3910}.count{letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:19px 0 24px;font-size:clamp(40px,13vw,76px);font-weight:650;line-height:1.35;display:block}.controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.controls span{vertical-align:-1px;margin-right:3px;font-size:24px}.subtract,.secondary{color:#155d4d;background:#eaf1ec}.add{color:#fff;background:#155d4d}.save-state{color:#39745b;overflow-wrap:anywhere;margin:20px 0 0;font-size:12px}.error{color:#ad2929}.details{margin:25px 0;padding:0 4px}.details h2{margin-bottom:10px}dl{margin:0;font-size:12px}dl div{border-bottom:1px solid #dfe6dc;justify-content:space-between;gap:12px;padding:11px 0;display:flex}dt{color:#63756b;flex-shrink:0}dd{text-align:right;margin:0}small{color:#68786e;font-size:10px}.pwa-state{color:#536d60;font-size:12px}.update-panel{background:#eaf1ec;border:1px solid #c5d9cc;border-radius:15px;padding:16px;font-size:13px}.update-panel p{margin:0 0 12px}.update-panel button{width:100%}footer{color:#68786e;font-size:11px;line-height:1.8}@media (width<=360px){.app{padding-left:14px;padding-right:14px}.counter-card{padding-left:16px;padding-right:16px}dl div{flex-direction:column;gap:2px}dd{text-align:left}}
