@charset "UTF-8";
:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#fff;background:#171a22;font-synthesis:none;--red:#ef431e;--gold:#ffe45f;--ink:#1c2028}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #ffe45f;outline-offset:4px}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}.arcade{min-height:100svh;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at center,#394148,#171a22 72%);position:relative;overflow:hidden}.game-shell{height:100svh;width:min(100vw,calc(100svh * .6));max-width:600px;position:relative;overflow:hidden;isolation:isolate;background:#9dbbc1;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 0 80px #0006}.game-shell canvas{width:100%;height:100%;display:block}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#12263755,transparent 23%,transparent 66%,#12263728)}.desktop-wordmark{position:absolute;left:5%;top:15%;font-size:clamp(26px,3.3vw,52px);font-weight:1000;line-height:1.2;color:#a5a8a71c;letter-spacing:-3px;transform:rotate(-8deg)}.desktop-wordmark span{display:block;font-size:11px;letter-spacing:1px;color:#a5a8a75c;margin-top:14px}.desktop-note{position:absolute;right:4%;bottom:12%;display:flex;gap:14px;color:#979d9f}.desktop-note>span{font-size:24px}.desktop-note p{font-size:12px;line-height:1.7;margin:0}.desktop-note small{font-size:10px;color:#6c7578}.game-top{position:absolute;left:18px;right:18px;top:max(15px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}.street-label{font-weight:800;font-size:11px;letter-spacing:1px;text-shadow:0 1px 5px #07131d}.district-progress{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}.game-controls{position:absolute;right:16px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:8px;z-index:30}.icon-button{width:34px;height:34px;border:1px solid #fff8;border-radius:50%;background:#14223066;color:#fff;font-size:19px;display:grid;place-items:center;position:relative;padding:0}.sound-off{position:absolute;top:5px;left:6px;font-size:23px;color:#ddd}.hud{position:absolute;top:49px;left:18px;right:18px;z-index:5;pointer-events:none;text-shadow:0 2px 6px #15262688}.score-block{display:flex;align-items:baseline;gap:6px}.score-block>span{font-size:11px;font-weight:800;align-self:center;writing-mode:vertical-rl;letter-spacing:3px}.score-block strong{font-family:Impact,"Arial Black",sans-serif;font-size:64px;line-height:1;font-weight:900;letter-spacing:-2px;font-variant-numeric:tabular-nums;-webkit-text-stroke:1px #14233044}.score-block>b{font-size:13px}.combo-block{position:absolute;right:1px;top:6px;text-align:right;display:grid;gap:9px}.combo-block>b{font-size:17px;font-style:italic;color:#ffe464;min-height:22px}.combo-block small{font-size:10px;letter-spacing:1px}.fever-track{width:145px;margin-top:10px}.fever-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.meter{height:5px;background:#1c22296e;margin-top:6px;border:1px solid #fff8;border-radius:3px;overflow:hidden}.meter>div{height:100%;background:var(--gold);width:0;transition:width .15s linear}.panel{position:absolute;inset:0;z-index:12}.intro{display:flex;flex-direction:column;justify-content:space-between;padding:80px 22px 52px;background:linear-gradient(#14202a14,transparent 40%,#15202733 75%,#152027ad)}.title-art{position:relative;transform:rotate(-5deg);text-align:center;margin-top:3px}.title-art>p{font-size:12px;font-weight:800;letter-spacing:3px;text-shadow:1px 2px 0 #17242e;margin:0 0 14px}.title-art h1{font-size:clamp(52px,11.5vw,76px);font-weight:1000;line-height:1.02;letter-spacing:-5px;margin:0;color:#fff;paint-order:stroke fill;-webkit-text-stroke:7px #202731;text-shadow:3px 7px 0 #202731}.title-art h1 em{font-style:normal;color:#ffdf4f}.title-sticker{display:inline-block;background:#e9381b;color:#fff;padding:6px 15px;font-size:12px;font-weight:900;letter-spacing:2px;transform:rotate(8deg);margin-top:16px;box-shadow:3px 3px 0 #202731}.intro-bottom{width:100%;max-width:410px;margin:0 auto}.kuma-guide{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:13px}.kuma-guide img{width:78px;height:90px;object-fit:contain;filter:drop-shadow(0 3px 2px #0004);transform:rotate(-7deg)}.kuma-guide p{font-size:12px;line-height:1.8;font-weight:800;color:#252831;background:#fffffff3;border-radius:15px;padding:10px 13px;position:relative;box-shadow:0 3px 0 #14233040}.kuma-guide p:before{content:"";position:absolute;left:-8px;top:42%;border-style:solid;border-width:8px 9px 8px 0;border-color:transparent #fffffff3 transparent transparent}.kuma-guide b{font-size:10px;font-weight:500}.start-button{border:3px solid #252831;border-bottom-width:6px;background:#f24625;color:#fff;display:flex;justify-content:center;align-items:center;gap:20px;font-size:24px;font-weight:1000;letter-spacing:2px;width:100%;min-height:65px;border-radius:12px;box-shadow:0 4px 0 #ffffff30,inset 0 2px 0 #ffad716b;text-shadow:1px 2px #9e251c}.start-button:hover{background:#ff5835}.start-button:active{transform:translateY(3px);border-bottom-width:3px;margin-bottom:3px}.start-button b{font-size:19px}.start-help{text-align:center;font-size:10px;letter-spacing:1px;margin:12px 0 0;color:#fff;text-shadow:0 1px 3px #000}.guide-toast{position:absolute;bottom:56px;left:15px;right:58px;z-index:6;display:flex;align-items:center;pointer-events:none;animation:guide-in .3s ease-out}.guide-toast img{width:58px;height:67px;object-fit:contain;filter:drop-shadow(0 2px 2px #0004)}.guide-toast p{margin:0 0 0 6px;background:#fffc;color:#17252e;padding:9px 12px;border-radius:10px;font-size:11px;line-height:1.5;font-weight:700}.gesture-hint{position:absolute;left:20px;right:102px;bottom:27px;color:#fff;text-shadow:0 1px 5px #000;font-size:17px;z-index:5;text-align:center}.gesture-hint>span{font-size:10px;margin:0 6px}.impact{position:absolute;left:50%;top:53%;z-index:9;white-space:nowrap;pointer-events:none;font-weight:1000;font-size:35px;color:#fff;paint-order:stroke fill;-webkit-text-stroke:4px #23272e;text-shadow:3px 5px 0 #23272e;transform:translate(-50%,-50%) rotate(-8deg);opacity:0}.impact.pop{animation:impact .42s ease-out}.is-fever .impact{color:#fff57b;-webkit-text-stroke-color:#8e0e92;text-shadow:3px 5px #6c0f7a}.district-toast{position:absolute;top:29%;left:0;right:0;text-align:center;font-size:22px;font-weight:900;letter-spacing:4px;text-shadow:0 2px 6px #152637;z-index:6;pointer-events:none;animation:district-in 2.3s both}.fever-effects{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.fever-burst{position:absolute;inset:-100%;background:repeating-conic-gradient(from 0deg,#ffdf4f00 0deg 12deg,#ffdf4f18 12deg 16deg,#fb3bb818 16deg 19deg,#ffdf4f00 19deg 30deg);animation:fever-spin 16s linear infinite}.fever-rim{position:absolute;inset:0;box-shadow:inset 0 0 30px #fa1dc266,inset 0 0 4px 3px #ffe65f;background:radial-gradient(ellipse,transparent 40%,#8b18d11c)}.fever-banner{position:absolute;left:0;right:0;top:24%;z-index:11;text-align:center;pointer-events:none;transform:rotate(-7deg);animation:fever-in .6s cubic-bezier(.2,.9,.2,1);text-shadow:0 0 12px #ff37a0}.fever-banner small{font-size:12px;font-weight:800;letter-spacing:2px}.fever-banner strong{display:block;font-size:clamp(80px,21vw,120px);font-weight:1000;line-height:1.1;letter-spacing:-8px;color:#fff390;paint-order:stroke fill;-webkit-text-stroke:7px #b817b0;text-shadow:5px 8px 0 #5e146d,0 0 30px #ff5aeb}.fever-banner strong span{color:#fff}.fever-banner>b{display:block;font-size:18px;font-style:italic;letter-spacing:3px;margin-top:4px}.fever-banner p{font-size:12px;font-weight:900;margin:12px 0}.fever-running{position:absolute;top:115px;right:18px;z-index:8;text-align:right;pointer-events:none}.fever-running>b{display:block;color:#fff17b;font-weight:900;font-style:italic;font-size:14px;letter-spacing:1px;text-shadow:0 0 8px #fd29cd}.fever-running>span{font-family:Impact,"Arial Black",sans-serif;font-size:35px;font-variant-numeric:tabular-nums;color:#fff}.is-fever .fever-track{visibility:hidden}.pause-panel,.error-panel{display:flex;justify-content:center;align-items:center;background:#11202be8;backdrop-filter:blur(6px);z-index:35;padding:25px}.pause-content,.error-content{width:100%;max-width:330px;text-align:center}.pause-content>img{height:145px;width:150px;object-fit:contain}.pause-content h2{font-size:31px;margin:16px 0 30px;font-weight:900}.pause-content .start-button{font-size:19px}.subtle-button{background:none;border:0;color:#b9c4c8;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:12px;margin-top:10px}.error-content h2{font-size:24px}.error-content p{font-size:13px;line-height:1.8}.error-content .start-button{font-size:18px}.result{z-index:40;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:#171d29ed;backdrop-filter:blur(7px);padding:22px 18px max(25px,env(safe-area-inset-bottom));user-select:text}.result-content{max-width:390px;margin:0 auto;text-align:center}.result-eyebrow{font-size:10px;letter-spacing:3px;color:#f9da5d;margin-bottom:10px}.result h2{font-size:25px;line-height:1.3;font-weight:900;margin:0;color:#fff;white-space:pre-line;letter-spacing:-.5px}.result-summary{font-size:11px}#result-summary{font-size:11px;color:#c0c6cc;margin:8px 0 14px;line-height:1.5}.result-image-wrap{margin:0 auto 15px;max-width:265px;min-height:160px;position:relative}.result-image-wrap>img{display:block;width:100%;height:auto;box-shadow:0 8px 20px #0005;transform:rotate(-1.5deg)}#image-loading{font-size:12px;padding-top:65px;color:#fff9}.share-actions{display:grid;grid-template-columns:1.8fr 1fr;gap:8px}.share-actions button{font-size:13px;font-weight:900;min-height:48px;border:0;border-radius:8px}.share-button{background:#ffe057;color:#24262c}.x-button{background:#fff;color:#171b22}.result-tools{display:flex;gap:20px;justify-content:center;margin-top:12px}.result-tools button{border:0;background:none;color:#bfc7cd;font-size:11px;padding:5px;text-decoration:underline;text-underline-offset:3px}.share-status{font-size:10px;color:#e1d39e;line-height:1.7;min-height:18px;margin:8px 0}.retry-button{width:100%;border:1px solid #ffffff70;background:transparent;color:#fff;min-height:45px;font-size:14px;font-weight:800;border-radius:8px}.retry-button b{font-size:20px;margin-left:12px}.retry-button:hover{background:#ffffff15}
@keyframes impact{0%{opacity:1;transform:translate(-50%,-30%) rotate(-12deg) scale(.65)}30%{opacity:1;transform:translate(-50%,-55%) rotate(-8deg) scale(1.08)}100%{opacity:0;transform:translate(-50%,-90%) rotate(-4deg) scale(1)}}@keyframes fever-spin{to{transform:rotate(360deg)}}@keyframes fever-in{from{opacity:0;transform:rotate(-15deg) scale(.35)}to{opacity:1;transform:rotate(-7deg) scale(1)}}@keyframes guide-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes district-in{0%{opacity:0;transform:translateY(12px)}15%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
@media(max-width:900px){.desktop-wordmark,.desktop-note{display:none}}@media(max-width:640px){body{overflow:hidden}.game-shell{width:100vw;height:100dvh;max-width:none}.arcade{min-height:100dvh}.intro{padding:76px 24px 57px}.title-art h1{font-size:clamp(57px,17vw,78px)}.result{padding-top:max(20px,env(safe-area-inset-top))}.result-image-wrap{max-width:min(265px,56vw)}}@media(max-height:680px){.intro{padding-top:59px;padding-bottom:47px}.title-art h1{font-size:54px}.title-art>p{font-size:10px;margin-bottom:10px}.title-sticker{font-size:10px;margin-top:11px}.kuma-guide{margin-bottom:8px}.kuma-guide img{width:57px;height:66px}.kuma-guide p{font-size:10px;padding:8px 10px}.kuma-guide b{font-size:9px}.start-button{min-height:53px;font-size:21px}.start-help{margin-top:8px;font-size:9px}.hud{top:43px}.score-block strong{font-size:51px}.fever-track{margin-top:7px}.result h2{font-size:22px}.result-image-wrap{max-width:180px;margin-bottom:12px}.result{padding-top:15px}.share-actions button{min-height:42px;font-size:12px}.result-tools{margin-top:7px}.share-status{margin:5px 0}.retry-button{min-height:40px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.fever-burst{background:radial-gradient(ellipse,#fff00008,#db22c822)}}
