@charset "UTF-8";
/* B — street signs. One UI sheet; world, assets, rules and saves remain independent. */
:root{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-synthesis:none;color:#20231f;background:#e9e7e1;--paper:#f8f7f1;--ink:#20231f;--yellow:#ffda35;--fever:#ffda35}
*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{opacity:.52;cursor:wait}button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.arcade{min-height:100svh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#e9e7e1}
.game-shell{height:100svh;width:min(100vw,calc(100svh * .56));max-width:600px;position:relative;overflow:hidden;isolation:isolate;container:game / size;background:#bdc9bd;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;--hud-top:max(10px,env(safe-area-inset-top));--sign:#284f3e;--signal:#476955;--surface:#f8f7f1;--surface-ink:#20231f;box-shadow:0 8px 40px #1c251e18}
.game-shell.is-playing{touch-action:none}.game-shell>#scene{display:block;width:100%;height:100%}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#12201955,transparent 30%,transparent 85%,#172b1714)}
.desktop-note{position:absolute;right:5%;bottom:12%;color:#666c60;font-size:11px;line-height:1.7}.desktop-note>b{display:block;font:bold 24px/1.5 Arial;letter-spacing:6px}.desktop-note>span{display:block}.panel{position:absolute;inset:0;z-index:20}
.start-button,.retry-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:54px;padding:10px 18px;border:2px solid var(--ink);border-radius:1px;background:var(--yellow);color:var(--ink);box-shadow:3px 3px 0 var(--ink);font-size:22px;font-weight:900;line-height:1.3;letter-spacing:.02em;transition:transform .1s,box-shadow .1s,background .1s}
.start-button:hover,.retry-button:hover{background:#ffe569}.start-button:active,.retry-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.text-button,.finale-link,.home-return{font-size:12px;font-weight:700;line-height:1.4;color:var(--ink);background:none;border:0;padding:9px 0;text-decoration:underline;text-underline-offset:4px}
/* Home: a street scene with a sign attached to its lower edge. */
.intro{z-index:20;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.intro button{pointer-events:auto}.title-art{width:78%;margin:24px auto 0;transform:none;filter:drop-shadow(0 5px 0 #19292322);animation:home-sign .65s cubic-bezier(.2,.8,.2,1) both}.title-art h1{margin:0;line-height:0}.title-art img{display:block;width:100%;height:auto;max-height:20cqh;object-fit:contain}.title-art:after{display:none}
.intro-bottom{width:100%;padding:0 18px max(12px,env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);position:relative;border-top:0;box-shadow:0 -1px 0 #20231f}
.home-rule{position:relative;margin:-29px -8px 12px;padding:12px 10px 13px;background:#f8f4e8;color:var(--ink);border:1px solid #8d9086;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.4;text-align:center}
.home-rule:before{content:"";position:absolute;inset:5px;border:1px solid #bdbeae;pointer-events:none}.home-rule:after{content:"";position:absolute;inset:10px;pointer-events:none;background:radial-gradient(circle at 2px 2px,#20231f 0 1.5px,transparent 2px) top left/4px 4px no-repeat,radial-gradient(circle at 2px 2px,#20231f 0 1.5px,transparent 2px) top right/4px 4px no-repeat,radial-gradient(circle at 2px 2px,#20231f 0 1.5px,transparent 2px) bottom left/4px 4px no-repeat,radial-gradient(circle at 2px 2px,#20231f 0 1.5px,transparent 2px) bottom right/4px 4px no-repeat}.home-rule>span{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.04em}.home-rule>span:before,.home-rule>span:after{display:inline-block;font:400 17px/1 Arial;vertical-align:-1px;color:#504b2c}.home-rule>span:before{content:"←";margin-right:9px}.home-rule>span:after{content:"→";margin-left:9px}.home-rule>b{font-size:clamp(20px,5.9cqw,24px);font-weight:900;line-height:1.25;letter-spacing:-.025em;white-space:nowrap}.home-rule>strong{display:block;white-space:nowrap;font-size:clamp(10px,3.1cqw,12px);font-weight:600;line-height:1.5;letter-spacing:.01em;color:var(--ink);margin:5px 0 0}
.danger-intro{margin:0 0 10px}.danger-intro>p{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:0 0 2px;padding:4px 0;color:#263d33;border-bottom:1px solid #afb3a8;font-size:clamp(10px,2.85cqw,12px);line-height:1.4}.danger-intro>p>b{white-space:nowrap}
.danger-roster{--roster-height:62px;width:min(100%,calc(var(--roster-height) * 54 / 13));margin:auto}.danger-roster>img{display:block;width:100%;height:auto;aspect-ratio:54/13;object-fit:contain}.danger-roster>img:not([src]){visibility:hidden}.danger-names{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center;font-size:12px;font-weight:700;line-height:1.5}.danger-names>span{white-space:nowrap}
.home-action{display:flex;flex-direction:column;gap:9px}.intro #start{position:relative;transform:none;padding:6px 17px;min-height:60px;font-size:27px;box-shadow:4px 4px 0 var(--ink);overflow:hidden}.intro #start:before{content:"";position:absolute;left:-40%;top:0;width:25%;height:100%;transform:skewX(-20deg);background:#fff9;animation:start-glint 7s 2s ease-out infinite;pointer-events:none}.intro #start:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.start-caption{display:flex;align-items:center;gap:12px}.start-caption>img{width:37px;height:45px;object-fit:contain}#start svg{width:40px;height:24px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:square}
.home-links{font-size:10px}.collection-row{display:flex;justify-content:space-between;gap:8px;align-items:center}.collection-hint{margin:0;color:#535e50;font-size:10px;white-space:nowrap}.collection-row .finale-link{font-size:12px;padding:7px 0;white-space:nowrap}.start-help{display:flex;align-items:center;justify-content:space-between;color:#62695c;font-size:9px;margin-top:0}.start-help button{padding:7px 0;border:0;background:none;color:var(--ink);font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.game-shell:has(#intro:not([hidden])) .game-top{display:none}.game-shell:has(#intro:not([hidden])) .game-controls{z-index:21;top:12px;right:10px}.game-shell:has(#intro:not([hidden])) .scene-shade{background:linear-gradient(#17282033,transparent 30%,transparent 68%,#17282018)}

/* Road signs and gameplay information stay in the upper edge. */
.game-top{position:absolute;z-index:6;top:var(--hud-top);left:10px;right:88px;min-height:43px;display:flex;align-items:center;gap:7px;padding:4px 8px;border:3px double #f8f7f1;background:var(--sign);color:#fff;box-shadow:0 2px 0 #243528;pointer-events:none}
#stage-symbol{display:block;flex:none;width:23px;height:23px}#stage-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}.stage-copy{min-width:0;flex:1}#district-progress{display:block;font-size:7px;font-family:Arial,sans-serif;letter-spacing:.03em;line-height:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e5eadf}#street-label{display:block;font-size:clamp(12px,3.5cqw,15px);line-height:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-arrow{font-size:18px;flex:none}.stage-enter{animation:street-arrival .35s ease-out}
.game-controls{position:absolute;z-index:10;top:calc(var(--hud-top) + 4px);right:10px;display:flex;gap:6px}.game-controls button{position:relative;display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid #e8eddf88;border-radius:2px;background:var(--ink);color:var(--paper);font-size:14px}.sound-off{position:absolute;inset:0;font-size:24px;line-height:29px}
.hud{position:absolute;z-index:6;top:calc(var(--hud-top) + 53px);left:11px;right:11px;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:6px;align-items:start;pointer-events:none;color:#fff}
.score-block{display:flex;align-items:baseline;gap:3px;padding:3px 7px 4px;background:var(--paper);color:var(--ink);border-radius:0;border-left:4px solid var(--signal);box-shadow:2px 2px 0 #20332644}.score-block>small{display:none}.score-block>strong{display:block;transform-origin:50% 70%;font:900 clamp(24px,7.8cqw,34px)/1 Arial,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums}.score-block>b{font-size:10px}
.current-form{pointer-events:auto;display:flex;align-items:center;gap:4px;max-width:176px;width:100%;min-width:0;height:38px;padding:1px 6px 1px 1px;border:0;border-bottom:3px solid var(--signal);border-radius:1px;background:var(--paper);color:var(--ink);text-align:left;justify-self:end}.current-form>img{width:30px;height:32px;object-fit:contain;flex:none}.current-form>span{min-width:0}.current-form small{display:block;font-size:9px;line-height:13px;color:#4d6554;white-space:nowrap}.current-form b{display:block;font-size:11px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.right-hud{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:3px 5px;background:#203326dd;border-radius:1px;max-width:80px;line-height:12px}.right-hud>small{font:9px/12px Arial,sans-serif;white-space:nowrap}.right-hud>strong{font:700 9px/12px Arial,sans-serif;color:#ffe482;white-space:nowrap}.right-hud>strong:empty{display:none}.right-hud>span{font-size:8px;white-space:nowrap}
.charge,.fever-running{position:absolute;z-index:6;top:calc(var(--hud-top) + 100px);left:10px;right:10px;padding:6px 9px;border:2px solid var(--ink);background:var(--paper);color:var(--ink)}.charge>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;line-height:14px}.charge #fever-value{font:700 12px/14px Arial,sans-serif;font-variant-numeric:tabular-nums}.meter{height:6px;background:#d3d8cc;margin-top:5px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:repeating-linear-gradient(110deg,#e7b72d 0,#e7b72d 10px,#f9d548 10px,#f9d548 20px);transition:width .1s linear}#next-fever{display:block;margin-top:4px;color:#565e51;font-size:10px;line-height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.is-fever .charge{display:none}
.fever-running{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:57px;padding:5px 9px;background:var(--yellow);border:3px solid var(--ink);box-shadow:3px 3px 0 #fff}.fever-copy{min-width:0}.fever-copy>small{display:block;font-size:9px;line-height:13px;font-weight:700}.fever-copy>b{display:block;font-size:clamp(14px,4.4cqw,19px);line-height:25px;letter-spacing:0;white-space:nowrap}.fever-clock{display:flex;align-items:baseline;gap:2px;flex:none}.fever-clock>strong{font:900 clamp(27px,8.5cqw,36px)/1 Arial;font-variant-numeric:tabular-nums;letter-spacing:-1px}.fever-clock>small{font-size:10px}
.game-shell[data-stage-theme="work"] .game-top,.game-shell[data-stage-theme="cloud"] .game-top{color:#07120f;border-color:#07120f}.game-shell[data-stage-theme="work"] #district-progress,.game-shell[data-stage-theme="cloud"] #district-progress{color:#07120f}.game-shell[data-stage-theme="work"] .share-button,.game-shell[data-stage-theme="cloud"] .share-button{color:#07120f}
/* Independent one-line comments, with speaker name and portrait. */
.street-notice-layer{position:absolute;z-index:8;top:calc(var(--hud-top) + 164px);left:10px;right:10px;display:flex;flex-direction:column;align-items:flex-start;gap:11px;pointer-events:none}.street-notices{position:relative;width:max-content;max-width:100%;order:1}.street-notices[data-current=""]{display:none}#street-notices{align-self:flex-end;order:0}#kuma-notices{align-self:flex-start}
.voice-bubble,.guide-toast,.encounter{position:relative;margin:0;display:flex;align-items:center;gap:5px;max-width:100%;height:34px;padding:0 8px 0 3px;border:1px solid #334a36;border-radius:1px;background:#fffef9f5;box-shadow:2px 3px 0 #1d322735;color:var(--ink);animation:comment-in .15s ease-out}
.street-notices[data-current="voice-bubble"]>.guide-toast,.street-notices[data-current="voice-bubble"]>.encounter,.street-notices[data-current="guide-toast"]>.voice-bubble{display:none}.voice-bubble>img,.guide-toast>img{display:block;width:29px;height:31px;object-fit:contain;flex:none}.reaction-copy{min-width:0;display:flex;align-items:center;gap:5px}.reaction-copy>small{font-size:9px;line-height:12px;color:#53624f;font-weight:700;white-space:nowrap}.reaction-copy>strong,.reaction-copy>p{display:block;margin:0;font-size:13px;line-height:30px;font-weight:700;white-space:nowrap;letter-spacing:-.25px}.voice-bubble[data-style="rare"]{background:#fff0ab;border:2px solid #ae842f;box-shadow:2px 3px 0 #ad853c55}.voice-bubble[data-style="rare"] .reaction-copy>small{color:#805b1f}.voice-bubble[data-style="cute"],.guide-toast{border-left:3px solid #608957}
.encounter{height:auto;min-height:34px;padding:5px 9px;border-left:4px solid #b2762d;display:block}.encounter>small{display:block;font-size:8px;color:#86602b;line-height:12px}.encounter>strong{display:block;font-size:12px;line-height:16px}
/* The entrance is a brief comic cut-in that clears the road after 0.7s. */
.street-effects{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.impact{position:absolute;z-index:9;top:61%;left:50%;max-width:calc(100% - 28px);transform:translate(-50%,-50%) rotate(-9deg);pointer-events:none;color:#fff;font-size:29px;font-weight:1000;line-height:1.2;text-align:center;white-space:nowrap;-webkit-text-stroke:.7px #20231f;paint-order:stroke fill;text-shadow:3px 4px 0 var(--ink),-1px -1px 0 var(--ink);opacity:0}.impact[data-style="shoulder"]{font-size:34px;color:#fff3a6}.impact.pop{animation:impact-pop .48s both}
.fever-effects{position:absolute;z-index:4;inset:0;pointer-events:none;overflow:hidden}.fever-rim{position:absolute;inset:0;border:7px solid var(--yellow);box-shadow:inset 0 0 0 2px var(--ink)}.fever-burst{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,transparent 68%,#ffda3530);opacity:.8}.fever-tape{position:absolute;right:-137px;top:55%;width:290px;text-align:center;transform:rotate(90deg);font-size:9px;line-height:10px;font-weight:900;color:#252722;letter-spacing:1px;opacity:.55}
.fever-banner{position:absolute;z-index:12;top:30%;left:0;width:100%;min-height:138px;padding:20px 116px 18px 20px;background:var(--yellow);color:var(--ink);border-block:5px solid var(--ink);box-shadow:0 6px 0 #fff3c2;transform:rotate(-4deg);text-align:left;pointer-events:none;animation:fever-cut-in .76s cubic-bezier(.15,.75,.2,1) both;transform-origin:50% 50%;isolation:isolate}
.fever-banner:before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(115deg,transparent 0,transparent 16px,#fff2 16px,#fff2 18px);clip-path:polygon(55% 0,100% 0,100% 100%,25% 100%)}
.fever-banner>small{display:inline-block;padding:3px 7px;background:var(--ink);color:var(--yellow);font-size:14px;font-weight:900;line-height:1.4}.fever-banner>strong{display:block;font-size:clamp(19px,6cqw,27px);font-weight:1000;line-height:1.2;letter-spacing:-.7px;margin:8px 0 4px;word-break:keep-all;overflow-wrap:anywhere}.fever-banner>b{display:block;font-size:10px;line-height:1.4}.fever-banner>p{font-size:11px;font-weight:700;line-height:1.45;margin:6px 0 0}.fever-banner.has-duplicate-title>b{display:none}
#fever-portrait{position:absolute;right:7px;top:50%;width:104px;height:112px;object-fit:contain;transform:translateY(-50%) rotate(6deg);background:#fff7da;border:3px solid #20231f;box-shadow:4px 4px 0 #20231f}
.fever-running{overflow:hidden;padding-bottom:8px}.fever-running:after{content:"";position:absolute;bottom:0;left:0;width:var(--fever-remaining,100%);height:4px;background:#20231f;transition:width .1s linear}.fever-intro .fever-running{animation:fever-meter-in .8s ease-out both}.fever-last-seconds .fever-clock{color:#a73e23}.is-fever .current-form{border-bottom-color:var(--yellow)}
.is-ending #scene{filter:saturate(.2) contrast(1.1);transition:filter .16s}.is-ending .impact{font-size:clamp(38px,12cqw,54px);color:#fff3d9}.is-ending .scene-shade{background:radial-gradient(ellipse,transparent 25%,#20231f70)}
.gesture-hint{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);z-index:7;padding:7px 12px;background:#f8f7f1eb;border-inline:3px solid var(--ink);font-size:12px;font-weight:800;white-space:nowrap;pointer-events:none;animation:gesture-in .25s ease-out}

/* Pause, instructions and errors use the same paper and enamel sign hierarchy. */
.pause-panel,.error-panel{z-index:35;display:grid;place-items:center;padding:24px;background:#f8f7f1f5;color:var(--ink)}.pause-panel>div,.error-panel>div{width:100%;max-width:350px;text-align:center}.pause-panel>div>img{width:76px;height:91px;object-fit:contain}.pause-panel h2,.error-panel h2{font-size:25px;line-height:1.5;margin:14px 0 23px;letter-spacing:-.5px}.pause-panel #resume{margin:0 0 17px;justify-content:center}.pause-panel .text-button{display:block;width:100%;padding:11px 0;font-size:13px}.pause-panel .home-return{border-top:1px solid #b6beb0;margin-top:5px;padding-top:16px}.home-save-note{color:#626c5d;font-size:10px;line-height:1.6;margin:5px 0}.error-panel{z-index:60}.error-panel p{font-size:13px;line-height:1.8;margin:0 0 25px}.error-panel .start-button{justify-content:center}
.howto-panel{z-index:40;padding:20px 18px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}.howto-panel>div{max-width:440px;margin:auto}.howto-heading{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:5px solid var(--signal);margin-bottom:11px}.howto-heading>img{width:53px;height:65px;object-fit:contain;flex:none}.howto-heading small{font-size:10px;color:#5a6853}.howto-panel h2{font-size:29px;line-height:1.3;margin:2px 0 0}.howto-panel ol{margin:0;padding:0;list-style:none}.howto-panel li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #c2cabb;font-size:13px;line-height:1.5}.howto-panel li>span{flex:none;font-size:21px;font-weight:900}.howto-panel .kuma-points{background:#f5e8a2;padding-inline:9px;border-bottom:0}.kuma-points small{display:block;text-align:right;font-size:10px;line-height:1.5}.howto-panel p{font-size:13px;line-height:1.8;margin:16px 0}.howto-panel .evolution-help{padding:13px 0;border-block:1px solid #b7c0ac;line-height:2}.howto-panel .evolution-help>b{font-size:13px}.howto-panel .audio-credit{font-size:10px;color:#656d60;line-height:1.6}.howto-panel #close-howto{justify-content:center;position:sticky;bottom:0;font-size:20px;min-height:47px}
/* Result: picture grows into the available space; actions never push it into a scroll page. */
.result{z-index:30;background:var(--paper);color:var(--ink);padding:10px 14px max(11px,env(safe-area-inset-bottom));border-top:6px solid var(--ink);animation:result-enter .35s ease-out both;overflow:hidden}.result-content{height:100%;max-width:460px;margin:auto;display:flex;flex-direction:column;gap:8px;min-height:0}.result-masthead{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px}.result-brand{display:flex;align-items:center;gap:7px}.result-brand>img{width:37px;height:43px;object-fit:contain;flex:none}.result-brand small{font:900 clamp(17px,5.1cqw,22px)/1 Arial,sans-serif;letter-spacing:-.7px;white-space:nowrap}.result-masthead .home-return{font-size:11px;padding:9px 0;white-space:nowrap}.result-art{position:relative;flex:1 1 0;min-height:70px;width:100%;overflow:hidden}.result-art>img{animation:photo-develop .55s ease-out both;position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.result-loading{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;justify-content:center;align-items:center;font-size:12px;background:repeating-linear-gradient(-45deg,#eeeee6,#eeeee6 8px,#f4f4ed 8px,#f4f4ed 16px)}.result-art:has(>img:not([hidden])) .result-loading{display:none}#retry-image{padding:10px 16px;border:2px solid var(--ink);background:var(--yellow);font-size:12px;font-weight:800}
#result-title{margin:0;font-size:20px;line-height:1.4;font-weight:800;border-left:5px solid var(--yellow);padding-left:8px;flex:none}#result-summary:not(.sr-only){margin:0;padding:2px 0 8px;border-bottom:1px solid #c3cbbb;font-size:12px;font-weight:700;line-height:1.4;text-align:left;flex:none}.result-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:7px;flex:none;align-items:stretch}.retry-button{grid-column:1;grid-row:1;min-height:54px;font-size:16px;padding:8px 10px;box-shadow:2px 3px 0 var(--ink);white-space:nowrap}.retry-button>b{font-size:25px;line-height:1;font-family:Arial}.share-destination{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:5px;min-height:27px}.share-destination>button{border:0;border-radius:1px;padding:6px 10px;background:#e1e4d9;color:#273322;font-size:11px;line-height:15px}.share-destination>button[aria-pressed="true"]{background:var(--ink);color:#fff}.share-destination #save-image{margin-left:auto;white-space:nowrap}
.share-button{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:8px 10px;border:2px solid #20231f;border-radius:1px;background:#20231f;color:#fffaf0;text-align:left;box-shadow:2px 3px 0 #abb0a4}.share-button b{display:block;font-size:13px;white-space:nowrap;line-height:17px}.share-button>strong{font-size:19px;margin-left:3px}.share-status{grid-column:1/-1;margin:0;font-size:10px;line-height:1.4;color:#5a6850;overflow-wrap:anywhere}.share-status:empty{display:none}.result-actions>.finale-link{grid-column:1/-1;justify-self:center;align-self:center;font-size:11px;min-height:22px;padding:2px 0 0;line-height:18px;text-align:center}.game-shell:has(#result:not([hidden])) .game-top,.game-shell:has(#result:not([hidden])) .game-controls{display:none}
/* Collection: distinct tabs, paper labels, silhouettes, gold only for rare lines. */
.collection-panel{animation:panel-open .25s ease-out both;position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;padding:17px 15px 12px;background:var(--paper);color:var(--ink);overflow:hidden}.book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:5px solid var(--signal);flex:none}.book-heading{display:flex;align-items:center;gap:8px;min-width:0}.book-heading>img{width:41px;height:52px;object-fit:contain;flex:none}.book-heading h2{font-size:clamp(20px,6.2cqw,26px);line-height:1.4;white-space:nowrap;margin:0;letter-spacing:-.5px}.book-toolbar>button{font-size:12px;white-space:nowrap;flex:none;padding:8px 7px;border:1px solid #a7b19e;background:none;color:var(--ink);border-radius:1px}.book-toolbar>button:focus-visible{outline-offset:1px}#book-progress{font-size:12px;font-weight:700;line-height:18px;margin:11px 0;flex:none}.book-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;flex:none}.book-tabs button{font-size:clamp(9px,2.8cqw,12px);font-weight:700;line-height:18px;white-space:nowrap;padding:8px 2px;border:1px solid #adb9a5;background:#e5e9df;color:#4e5d47;box-shadow:0 2px 0 #b1bba9;border-radius:1px}.book-tabs button[aria-pressed="true"]{background:var(--yellow);border:1px solid var(--ink);color:var(--ink);box-shadow:0 2px 0 var(--ink)}#book-hint{font-size:11px;line-height:1.6;color:#5a6853;margin:13px 0 10px;flex:none}
.book-grid{display:grid;margin-top:12px;flex:1 1 0;grid-auto-rows:max-content;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;align-content:start;overflow:auto;padding:1px 3px 15px 1px;overscroll-behavior:contain;scrollbar-width:thin}.book-entry{position:relative;display:flex;flex-direction:column;min-width:0;padding:0 0 8px;overflow:hidden;border:1px solid #a8b49d;border-bottom:4px solid var(--entry-color,var(--signal));border-radius:0;box-shadow:2px 3px 0 #20231f18;background:#fffef9;color:var(--ink);text-align:left;transition:transform .12s,box-shadow .12s}.book-entry:not(:disabled):hover{transform:translateY(-2px);box-shadow:2px 3px 0 #b6c1ad}.book-entry>img{display:block;flex:none;width:100%;height:auto;aspect-ratio:180/190;object-fit:contain;background:#f0f1e6}.book-entry>b{display:block;font-size:13px;line-height:1.45;margin:8px 8px 3px;overflow-wrap:anywhere}.book-entry>small{display:block;font-size:10px;line-height:1.5;margin:0 8px;color:#627359}.book-entry.locked{background:#e7eade;border-color:#bdc4b5;color:#74806d;opacity:1;cursor:default}.book-entry.locked>img{opacity:.6}.book-grid[data-kind="rewards"] .book-entry:not(.locked){border-color:#ab872b;background:#fff8d7}
.kuma-entry{min-width:0;padding:10px;border:1px solid #b6c2aa;border-bottom:3px solid #688457;background:#fffef8;color:var(--ink)}.kuma-entry header{display:flex;align-items:center;gap:6px;margin-bottom:7px}.kuma-entry img{width:31px;height:37px;object-fit:contain;flex:none}.kuma-entry small{font:10px/1.5 Arial,sans-serif;color:#697560}.kuma-entry>b{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.kuma-entry p{font-size:11px;line-height:1.6;margin:6px 0 0;color:#596851;overflow-wrap:anywhere}.kuma-entry.rare{border-color:#b48c2b;background:#fff1af}.kuma-entry.rare small{font-weight:700;color:#876219}.kuma-entry.locked{background:#e7eade;border-color:#bdc4b5;color:#78826e}.kuma-entry.locked img{filter:brightness(0);opacity:.4}
.book-detail{display:flex;flex-direction:column;min-height:0;flex:1;text-align:center}.book-detail #book-back{align-self:flex-start;padding:5px 0 10px;border:0;background:none;color:#486140;font-size:12px;text-decoration:underline;text-underline-offset:3px}.book-detail>small{display:block;font-size:11px;color:#8b6c28;line-height:18px}.book-detail h3{font-size:clamp(20px,6.1cqw,29px);line-height:1.35;margin:5px 0 9px;overflow-wrap:anywhere}.book-detail canvas{animation:gallery-reveal .4s ease-out both;display:block;width:100%;min-height:120px;flex:1;background:#23372f;touch-action:none;border:5px solid #23372f;outline:1px solid #64725c;outline-offset:-9px}.book-detail p{font-size:12px;line-height:1.65;margin:12px 0 2px}.book-thumb-source{position:fixed;left:-1000px;top:0;width:180px;height:190px;pointer-events:none}
/* Responsive layouts: equal columns, intact one-line labels, no result scrolling. */
.book-grid[data-kind="rewards"]{grid-template-columns:1fr}.book-grid[data-kind="rewards"] .book-entry{display:grid;grid-template-columns:43% 1fr;grid-template-rows:1fr 1fr;padding:0;min-height:145px}.book-grid[data-kind="rewards"] .book-entry>img{grid-row:1/3;max-height:165px;height:100%;object-fit:contain}.book-grid[data-kind="rewards"] .book-entry>b{align-self:end;font-size:16px;margin:10px 12px 4px}.book-grid[data-kind="rewards"] .book-entry>small{align-self:start;margin:4px 12px 12px;font-size:11px}.book-entry.locked{box-shadow:none}.book-entry.locked>img{opacity:.48}
.pause-panel,.error-panel{background:#20372dd6;backdrop-filter:blur(3px)}.pause-panel>div,.error-panel>div{padding:26px 20px;background:var(--paper);border-top:7px solid var(--yellow);box-shadow:6px 7px 0 #14251bc0;animation:panel-open .22s ease-out both}.pause-panel h2{margin-top:4px}.pause-panel>div>img{height:67px}.howto-panel>div{animation:panel-open .22s ease-out both}
@container game (max-height:740px){.title-art{margin-top:18px;width:75%}.intro-bottom{padding-bottom:9px}.home-rule{margin-top:-25px;padding-top:9px;padding-bottom:7px}.home-rule>b{font-size:21px}.danger-roster{--roster-height:55px}.danger-intro{margin-bottom:8px}.intro #start{min-height:52px;font-size:24px}.home-action{gap:7px}.start-caption>img{width:31px;height:38px}.collection-row .finale-link{padding-block:5px}.result-content{gap:6px}.result-masthead{min-height:34px}.result-brand>img{height:37px;width:32px}.result-actions{gap:6px}.collection-panel{padding-top:12px}.book-toolbar{padding-bottom:8px}.book-heading>img{width:37px;height:46px}#book-progress{margin:9px 0}#book-hint{margin:10px 0 9px}}
@container game (max-height:620px){.title-art{margin-top:15px;width:72%;max-height:22cqh}.intro-bottom{padding:0 12px 7px}.home-rule{margin:-24px -4px 8px;padding:8px 10px 7px}.home-rule>b{font-size:20px}.home-rule>span{font-size:10px}.home-rule>strong{font-size:10px}.danger-roster{--roster-height:46px}.danger-intro{margin-bottom:6px}.danger-intro>p{font-size:10px;padding:3px 0}.danger-names{font-size:11px}.intro #start{min-height:44px;padding-block:3px;font-size:22px}.start-caption>img{height:33px;width:27px}.home-action{gap:5px}.collection-hint{font-size:9px}.collection-row .finale-link{font-size:10px;padding-block:4px}.start-help button{padding-block:2px}.result{padding:6px 10px 8px}.result-content{gap:5px}.result-masthead{min-height:28px}.result-brand>img{height:31px;width:27px}.result-brand small{font-size:17px}.result-masthead .home-return{font-size:10px}#result-title{font-size:17px}#result-summary:not(.sr-only){font-size:10px;padding-bottom:4px}.retry-button{min-height:47px;font-size:14px;padding:6px 8px}.share-button{min-height:47px;padding:6px 8px}.share-button b{font-size:11px}.share-destination>button{padding-block:4px;font-size:10px}.result-actions>.finale-link{font-size:10px;min-height:19px;line-height:16px}.share-status{font-size:9px}.collection-panel{padding:10px 12px}.book-heading>img{height:42px;width:33px}.book-heading h2{font-size:21px}#book-progress{margin:7px 0;font-size:11px}.book-tabs button{padding-block:6px}#book-hint{font-size:10px;margin:9px 0 7px}.book-grid{gap:10px}.book-detail h3{font-size:21px}.book-detail p{font-size:11px;margin-top:8px}.fever-banner{top:32%;padding:13px 97px 13px 14px;min-height:119px}.fever-banner>strong{font-size:20px}#fever-portrait{width:80px;height:92px}.howto-panel{padding:14px}.howto-heading{padding-bottom:10px}.howto-panel li{padding-block:9px}.howto-panel p{font-size:12px;line-height:1.8}}
@container game (max-width:340px){.hud{gap:4px;left:9px;right:9px}.score-block{padding-inline:5px}.current-form{gap:3px;padding-right:3px}.current-form>img{width:24px;height:29px}.current-form b{font-size:10px}.right-hud{padding-inline:4px}.right-hud>small{font-size:8px}.right-hud>span{font-size:7px}.reaction-copy{gap:3px}.reaction-copy>small{font-size:8px}.reaction-copy>strong,.reaction-copy>p{font-size:12px;letter-spacing:-.4px}.voice-bubble,.guide-toast{gap:3px;padding-right:5px}.voice-bubble>img,.guide-toast>img{width:26px}.book-toolbar{gap:5px}.book-heading{gap:5px}.book-toolbar>button{font-size:10px;padding-inline:5px}.game-top{right:85px;padding-inline:6px;gap:5px}#stage-symbol{width:19px;height:19px}.stage-arrow{font-size:15px}.fever-copy>small{font-size:8px}.fever-copy>b{font-size:14px}.fever-clock>strong{font-size:28px}.home-rule>b{font-size:20px}.home-rule>span{font-size:10px}.share-button>strong{display:none}}
@container game (max-height:480px){.intro{overflow:auto}.title-art{max-width:235px;margin-bottom:140px}.intro-bottom{flex:none}.result-brand>img{display:none}.result-masthead{min-height:24px}.result-actions{gap:4px}.share-button,.retry-button{min-height:35px}.result-masthead .home-return{padding-block:5px}.result-actions>.finale-link{font-size:9px}#result-title{font-size:15px}.book-grid[data-kind="rewards"] .book-entry{min-height:120px}}
@media(max-width:820px){.desktop-note{display:none}.game-shell{box-shadow:none}}
@keyframes street-arrival{0%{transform:translateX(-20px);opacity:.3}70%{transform:translateX(3px)}100%{transform:none;opacity:1}}
@keyframes comment-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes impact-pop{0%{opacity:0;scale:.5}16%{opacity:1;scale:1.2}45%{opacity:1;scale:1}100%{opacity:0;translate:0 -22px}}
@keyframes fever-cut-in{0%{translate:-110% 0;scale:1.12}18%,72%{translate:0 0;scale:1}100%{translate:112% 0;scale:1;visibility:hidden}}
@keyframes fever-meter-in{0%,65%{opacity:0;translate:0 -15px}100%{opacity:1;translate:0 0}}
@keyframes home-sign{from{translate:0 -16px;opacity:0;rotate:-3deg}to{translate:0 0;opacity:1;rotate:0deg}}
@keyframes start-glint{0%,85%,100%{left:-40%}94%{left:130%}}
@keyframes gesture-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes result-enter{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@keyframes photo-develop{from{opacity:0;filter:contrast(.6);scale:.96}to{opacity:1;filter:none;scale:1}}
@keyframes panel-open{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes gallery-reveal{from{opacity:0;scale:.96}to{opacity:1;scale:1}}
@keyframes impact-reduced{0%,80%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.impact.pop{animation:impact-reduced .48s both!important}.fever-banner{animation:none!important;transform:none;top:calc(var(--hud-top) + 170px);min-height:0;padding:8px 12px}.fever-banner>img,.fever-banner>b,.fever-banner>p{display:none}.fever-banner>strong{font-size:18px;margin:4px 0}.fever-banner>small{font-size:11px}.title-art{transform:none}.intro #start:before{display:none}.fever-burst{opacity:.2}}
/* Records stay visible on the home and result screens, even without 3D. */
.record-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;border-bottom:1px solid #c9c8bd;color:#20231f}.record-row p{margin:0;font-size:11px;white-space:nowrap}.record-row strong{font:800 21px/1.3 Arial,sans-serif;margin-left:6px;font-variant-numeric:tabular-nums}.record-row p>span{font-size:10px;margin-left:3px}.record-row button{background:none;border:0;padding:6px 0;color:#20231f;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.result-numbers{display:flex;align-items:baseline;justify-content:space-between;gap:5px;flex-wrap:wrap;border-bottom:1px solid #c3cbbb;padding-bottom:4px}.result-numbers #result-summary{border:0;padding:0;font-size:11px}.result-numbers #result-best{margin:0;font-size:10px;font-weight:700;color:#62656a;white-space:nowrap}
@container game (max-height:620px){.record-row{min-height:24px}.record-row strong{font-size:17px}.record-row p,.record-row button{font-size:10px}.result-numbers #result-summary{font-size:10px}.result-numbers #result-best{font-size:9px}}
