*{box-sizing:border-box}body,html{margin:0;height:100%;background:#2a2420;overflow:hidden;font-family:M PLUS Rounded\ 1c,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;width:100%;overscroll-behavior:none;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.stage,body,html{position:fixed;inset:0}.stage{display:flex;align-items:center;justify-content:center}.frame{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#efe6d2}.game-canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:calc(12px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));right:calc(16px + env(safe-area-inset-right));display:flex;flex-direction:column;gap:8px;pointer-events:none}.hud-row{display:flex;justify-content:space-between}.hud-pill{background:rgba(40,30,20,.72);color:#fff;font-weight:700;font-size:clamp(13px,3.4vh,22px);padding:8px 16px;border-radius:999px}.hud-pill b{font-size:1.25em;color:#ffd76b}.gauge{position:relative;height:clamp(16px,3vh,24px);background:rgba(40,30,20,.72);overflow:hidden}.gauge,.gauge-fill{border-radius:999px}.gauge-fill{height:100%;background:linear-gradient(90deg,#ffce5c,#ff9e3d);transition:width .25s ease-out}.gauge-fill.is-full{background:linear-gradient(90deg,#ffe27a,#ffbf4d);animation:gauge-pulse .6s ease-in-out infinite}.gauge.is-fever{box-shadow:0 0 0 2px #ffcf5c,0 0 16px rgba(255,170,40,.8)}.gauge-fill.is-fever{background:linear-gradient(90deg,#ff8a3d,#ffd23d,#ff8a3d);animation:gauge-pulse .35s ease-in-out infinite}.fever-banner{position:absolute;top:22%;left:0;right:0;text-align:center;pointer-events:none;font-weight:900;font-size:clamp(40px,12vh,92px);letter-spacing:2px;color:#fff;-webkit-text-stroke:3px #ff7a1a;text-shadow:0 0 18px rgba(255,160,30,.9),0 4px 0 #d95e00;animation:fever-pop .5s ease-in-out infinite alternate}@keyframes fever-pop{0%{transform:scale(1) rotate(-2deg)}to{transform:scale(1.12) rotate(2deg)}}@keyframes gauge-pulse{0%,to{opacity:1}50%{opacity:.6}}.gauge-label{inset:0;align-items:center;color:#fff;font-weight:700;font-size:clamp(10px,2.2vh,14px);text-shadow:0 1px 2px rgba(0,0,0,.6)}.gauge-label,.tools{position:absolute;display:flex;justify-content:center}.tools{left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));gap:10px;pointer-events:none}.tool-btn{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:clamp(64px,16vw,96px);padding:8px 10px;border:3px solid transparent;border-radius:16px;background:rgba(40,30,20,.72);color:#fff;font-weight:700;cursor:pointer;transition:transform .06s ease,border-color .1s ease,background .1s ease}.tool-btn:active{transform:translateY(2px)}.tool-btn.is-active{background:rgba(255,158,61,.92);border-color:#fff}.tool-icon{font-size:clamp(22px,5vh,34px);line-height:1}.tool-label{font-size:clamp(10px,2.2vh,14px)}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:calc(16px + env(safe-area-inset-top)) 24px calc(16px + env(safe-area-inset-bottom));background:rgba(20,14,8,.45);color:#fff;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}.overlay>:first-child{margin-top:auto}.overlay>:last-child{margin-bottom:auto}.title-logo{width:min(72%,620px);height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.howto{margin:8px 0 0;font-size:clamp(13px,3vh,20px);opacity:.9;max-width:80%}.btn{margin-top:16px;border:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:clamp(18px,4.5vh,30px);color:#5a3410;background:linear-gradient(180deg,#ffd76b,#ffb43d);padding:16px 48px;border-radius:999px;box-shadow:0 6px 0 #c8862a,0 10px 18px rgba(0,0,0,.35);transition:transform .05s ease,box-shadow .05s ease}.btn:active{transform:translateY(4px);box-shadow:0 2px 0 #c8862a,0 6px 12px rgba(0,0,0,.35)}.btn-alt{color:#fff;background:linear-gradient(180deg,#7fc8ff,#3da5ff);box-shadow:0 6px 0 #1f73c8,0 10px 18px rgba(0,0,0,.35)}.btn-alt:active{box-shadow:0 2px 0 #1f73c8,0 6px 12px rgba(0,0,0,.35)}.mode-buttons{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:12px}.total{margin:4px 0 0;font-size:clamp(12px,2.8vh,18px);opacity:.85}.result-label{margin:0;font-size:clamp(26px,6vh,48px);font-weight:800;color:#8fe3a0;text-shadow:0 3px 0 #2f7d44}.result-grams{margin:0;font-size:clamp(20px,5vh,36px);font-weight:700}.result-grams b{font-size:1.5em;color:#ffd76b}.rank-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(84px,16vh,128px);height:clamp(84px,16vh,128px);border-radius:50%;background:rgba(40,30,20,.72);border:4px solid;box-shadow:0 6px 14px rgba(0,0,0,.35);animation:rank-pop .4s ease-out}.rank-caption{font-size:clamp(10px,2vh,14px);font-weight:700;color:#fff;opacity:.85}.rank-letter{font-size:clamp(40px,9vh,68px);font-weight:900;line-height:1;text-shadow:0 3px 0 rgba(0,0,0,.35)}.rank-S{color:#ffd76b}.rank-A{color:#ff9e7a}.rank-B{color:#8fd0ff}.rank-C{color:#cfc4b4}@keyframes rank-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.best-badge{font-size:clamp(16px,3.6vh,26px);color:#ffe27a;text-shadow:0 2px 0 #b07a16}.best-badge,.new-dog{margin:0;font-weight:800;animation:rank-pop .4s ease-out}.new-dog{padding:8px 20px;border-radius:999px;background:rgba(255,158,61,.92);font-size:clamp(14px,3vh,22px);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.next-dog{display:flex;flex-direction:column;align-items:center;gap:4px;width:min(72%,420px)}.next-dog-bar{width:100%;height:clamp(10px,2vh,16px);border-radius:999px;background:rgba(40,30,20,.72);overflow:hidden}.next-dog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffce5c,#ff9e3d);transition:width .25s ease-out}.next-dog-label{font-size:clamp(11px,2.4vh,16px);font-weight:700;opacity:.9}.dex-overlay{background:#221a12}.dex-title{margin:0;font-size:clamp(24px,5.5vh,40px);font-weight:900;color:#ffd76b;text-shadow:0 3px 0 #8a5a14}.dex-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:min(92%,560px)}.dex-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:clamp(96px,26vw,150px);padding:10px 8px;border:3px solid transparent;border-radius:16px;background:rgba(255,250,240,.12);color:#fff;font-family:inherit;font-weight:700;cursor:pointer;transition:transform .06s ease,border-color .1s ease,background .1s ease}.dex-card:disabled{cursor:default;opacity:.75}.dex-card.is-selected{border-color:#ffd76b;background:rgba(255,158,61,.35)}.dex-card.is-locked{filter:grayscale(.6)}.dex-thumb{width:clamp(56px,14vw,92px);height:clamp(56px,14vw,92px);object-fit:contain}.dex-thumb-unknown{display:flex;align-items:center;justify-content:center;font-size:clamp(28px,7vw,48px);font-weight:900;color:rgba(255,255,255,.55)}.dex-name{font-size:clamp(13px,2.8vh,18px)}.dex-note{font-size:clamp(9px,2vh,12px);opacity:.85;min-height:2.2em}@media (max-height:740px){.overlay{gap:8px}.title-logo{width:min(56%,420px)}.howto{margin-top:4px}.btn{margin-top:8px;padding:12px 36px}.mode-buttons{gap:10px;margin-top:6px}.dex-grid{gap:8px}.dex-card{padding:6px}}