@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;600;700;800;900&display=swap";:root{font-family:Noto Sans JP,sans-serif;color:#254b3d;background:#fbf8ec;font-synthesis:none;font-weight:500;--green: #254b3d;--muted: #7d8b72;--orange: #ed764c}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overscroll-behavior:none}body{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button{font:inherit;cursor:pointer;border:0;touch-action:manipulation}button:focus-visible{outline:3px solid #507fbb;outline-offset:5px}#app{height:100svh;height:100dvh;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.app-shell{height:100%;max-width:1100px;margin:auto;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;margin:0;font-size:21px;font-weight:900;letter-spacing:-.6px;white-space:nowrap}.brand svg{width:29px;height:36px;transform:rotate(-9deg);flex-shrink:0}.sound-button{display:flex;align-items:center;gap:6px;margin-left:auto;padding:9px 12px;background:transparent;color:var(--green);border:1px solid #d9dfc9;border-radius:24px;font-size:11px;white-space:nowrap}.sound-button svg{width:18px;height:18px}.sound-button.muted{color:var(--muted)}.game{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-top:18px}.screen-heading{text-align:center;position:relative;z-index:1}#subtitle{font-size:14px;line-height:1.7;margin:12px 0 0;color:var(--muted)}#headline{font-size:28px;font-weight:900;margin:12px 0 0;line-height:1.5}.round-info{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;font-size:18px;font-weight:700}#round-number{color:var(--muted);font-size:14px;font-weight:500;letter-spacing:1px}.live-stats{display:flex;justify-content:center;align-items:baseline;gap:clamp(32px,8vw,90px);margin-top:12px;font-variant-numeric:tabular-nums}.tap-count,.time-left{display:flex;align-items:baseline;gap:8px}.tap-count strong{font-size:clamp(76px,15vw,116px);font-weight:900;line-height:1.15;letter-spacing:-4px}.tap-count span{font-size:20px;font-weight:700}.time-left strong{font-size:clamp(34px,7vw,48px);font-weight:800;letter-spacing:-1px}.time-left span{font-size:15px;color:var(--muted)}.urgent .time-left{color:#d65c36}.tap-surface{position:relative;min-height:0}.scene{position:absolute;inset:0 -24px;pointer-events:none}.scene canvas{display:block;width:100%;height:100%}.countdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}#countdown-number{font-weight:900;font-size:clamp(120px,25vw,180px);line-height:1;color:var(--green);text-shadow:0 2px 28px #fbf8ec,0 0 65px #fbf8ec}.tap-prompt{margin:0;padding:8px 0 12px;font-size:clamp(36px,7vw,48px);line-height:1.3;text-align:center;font-weight:900;letter-spacing:6px}.controls{width:100%;max-width:460px;margin:0 auto;text-align:center}.primary-button{width:100%;min-height:60px;padding:14px 20px;border-radius:15px;background:var(--orange);color:#fffdf1;box-shadow:0 4px #c55735;font-size:18px;font-weight:800;letter-spacing:2px;transition:transform .12s,box-shadow .12s}.primary-button:hover{background:#e96b40}.primary-button:active{transform:translateY(3px);box-shadow:0 1px #c55735}.share-button{display:block;margin:6px auto 0;min-height:44px;padding:8px 16px;background:transparent;color:var(--green);font-size:13px;font-weight:700}.share-button:disabled{opacity:.5;cursor:default}.share-message{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.app-shell[data-phase=countdown] .game,.app-shell[data-phase=playing] .game,.app-shell[data-phase=ending] .game{padding-top:6px}.app-shell[data-phase=countdown] #live-stats[hidden],.app-shell[data-phase=ending] #live-stats[hidden]{display:flex!important;visibility:hidden}.app-shell[data-phase=countdown] #tap-prompt[hidden],.app-shell[data-phase=ending] #tap-prompt[hidden]{display:block!important;visibility:hidden}.app-shell[data-phase=ending] #countdown-number{font-size:clamp(40px,10vw,72px)}.score-number{display:block;font-size:clamp(42px,11vw,76px);line-height:1.15;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-2px;overflow-wrap:anywhere}.score-unit{display:block;font-size:20px;margin-top:5px;letter-spacing:1px}.score-title{margin:8px 0 0;font-size:14px;font-weight:700;line-height:1.6;text-align:center;overflow-wrap:anywhere}.new-record{display:inline-block;margin:12px 0 0;color:#cf6038;font-size:13px;font-weight:700}.result-counts{display:flex;justify-content:center;gap:24px;margin:0 0 12px}.result-counts>div{display:flex;gap:7px;align-items:baseline}.result-counts>div>span{font-size:13px;color:var(--muted)}.result-counts strong{font-size:23px;font-weight:800;font-variant-numeric:tabular-nums}.result-counts small{font-size:11px;font-weight:500;margin-left:3px}.best-message{font-size:13px;margin:0 0 20px;color:var(--muted)}.fallback-onion{display:grid;place-items:center;height:100%}.fallback-onion svg{width:140px;height:170px;opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.app-shell{padding-right:max(20px,env(safe-area-inset-right));padding-left:max(20px,env(safe-area-inset-left))}.brand{font-size:17px;gap:7px}.brand svg{width:25px;height:32px}.sound-button{font-size:10px;gap:4px;padding:8px 9px}.sound-button svg{width:16px;height:16px}#subtitle{font-size:12px}.scene{inset-inline:-20px}#headline{font-size:23px}.tap-count strong{font-size:88px}.result-counts{gap:18px}.result-counts strong{font-size:21px}}@media(max-width:350px){.brand{font-size:15px}.sound-button span{display:none}#subtitle{font-size:11px}.tap-count strong{font-size:76px}.result-counts{gap:12px}}@media(orientation:landscape)and (max-height:600px){.app-shell{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.topbar{min-height:32px}.brand{font-size:17px}.brand svg{width:24px;height:28px}.game{grid-template-columns:1.2fr 1fr;grid-template-rows:auto minmax(0,1fr);column-gap:22px;padding-top:8px}.screen-heading{grid-column:2;grid-row:1;align-self:end;padding-top:16px}.tap-surface{grid-column:1;grid-row:1 / 3}.controls,.tap-prompt{grid-column:2;grid-row:2;align-self:center}.scene{inset:0}.app-shell[data-phase=countdown] .game,.app-shell[data-phase=playing] .game,.app-shell[data-phase=ending] .game{padding-top:0}.live-stats{gap:24px;margin-top:6px}.tap-count strong{font-size:76px}.tap-count span{font-size:17px}.time-left strong{font-size:32px}.tap-prompt{font-size:36px;padding:0}#subtitle{font-size:12px}.score-number{font-size:42px}.score-unit{font-size:17px}.new-record{margin-top:6px;font-size:11px}#headline{font-size:22px;margin-top:0}.result-counts{gap:14px;margin-bottom:6px}.result-counts strong{font-size:19px}.result-counts>div>span{font-size:11px}.best-message{margin-bottom:12px;font-size:11px}.primary-button{min-height:48px;font-size:16px;padding:10px 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
