/* Selected A: physical street signs. Color and material belong to each stage. */
:root{--ink:#223449;--paper:#fffbed;--red:#bb4e33;--yellow:#f2c947}
.arcade{background:#e9e8df;background-image:none}.desktop-note{color:#536575}.game-shell{container-type:inline-size;--surface:#fff7e7;--surface-ink:#493528;--signal:#be4930;--surface-line:#c9bda4;--sign:#214676;--accent:#a4cbea;box-shadow:0 0 0 1px #52644230,0 12px 50px #30402f20}
.game-shell .game-top{top:var(--hud-inset);left:10px;right:82px;height:47px;min-height:0;display:flex;align-items:center;gap:8px;padding:5px 12px 6px 7px;background:var(--sign);color:#fff7e5;border:3px double #e0edf0bb;border-radius:3px;box-shadow:0 2px 0 #263326,0 4px 6px #21332833;font-size:initial;text-shadow:none}
.game-top::before,.game-top::after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#c1c8ce;box-shadow:0 1px 0 #061730;top:4px}.game-top::before{left:3px}.game-top::after{right:3px}
.game-top #stage-symbol{display:grid;place-items:center;flex:0 0 31px;width:31px;height:29px;border-right:1px solid #ffffff50;padding:0 6px 0 0;background:none;border-radius:0}.game-top #stage-symbol svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stage-copy{flex:1;min-width:0}.game-top #street-label{display:block;font-size:16px;font-weight:900;letter-spacing:.3px;line-height:23px;white-space:nowrap}.game-top #district-progress{display:block;font:600 8px/11px Arial,sans-serif;letter-spacing:.9px;color:inherit;opacity:.8;white-space:nowrap}.game-top #stage-number{position:absolute;display:block;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.stage-arrow{position:absolute;right:6px;bottom:5px;font-size:16px;line-height:1}
.game-shell .game-top.stage-enter{outline:none;animation:street-sign-arrive .5s ease-out}
.game-controls{top:calc(var(--hud-inset) + 5px);right:10px;gap:5px}.game-controls button{width:27px;height:27px;font-size:12px;background:var(--surface);color:var(--surface-ink);border:1px solid var(--surface-line)}.game-controls .sound-off{font-size:22px}
.game-shell .hud{top:calc(var(--hud-inset) + 54px);left:12px;right:12px;color:#fff8e8;text-shadow:0 2px 2px #253028,1px 0 #253028,-1px 0 #253028}.score-block{padding:0;gap:4px}.score-block>small{display:none}.score-block>strong{font:bold 28px/1 Arial,sans-serif;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.score-block>b{font-size:10px}.right-hud{padding:0;display:grid;grid-template-columns:auto auto;column-gap:7px;row-gap:2px;max-width:70%}.right-hud>small{grid-column:2;grid-row:1;font-size:9px;line-height:11px;letter-spacing:0}.right-hud>span{grid-column:1;grid-row:1;font-size:9px;line-height:11px}.right-hud>strong{grid-column:1/3;grid-row:2;font-size:12px;line-height:14px;min-height:14px;color:#fff3bc}.is-fever #level{display:none}
.game-shell .charge,.game-shell .fever-running{top:calc(var(--hud-inset) + 89px);left:10px;right:10px;background:var(--surface);color:var(--surface-ink);border:0;border-top:1px solid var(--surface-line);border-radius:0;box-shadow:0 2px 0 #28332933;padding:5px 9px 6px}
.charge>div:first-child{font-size:10px;line-height:14px;font-weight:700}.charge #fever-label{font-size:11px}.charge #fever-value{color:var(--signal);font-variant-numeric:tabular-nums}.charge .meter{height:4px;margin-top:4px;background:color-mix(in srgb,var(--surface-ink) 18%,transparent);border-radius:0}.charge .meter i{border-radius:0;background:var(--signal)}.charge #next-fever{display:none}
.game-shell .fever-running{height:45px;padding:4px 9px;display:flex;align-items:center;gap:8px;border-bottom:2px solid var(--signal);text-align:left}.fever-running .fever-copy{flex:1;min-width:0}.fever-running .fever-copy>small{display:block;color:var(--signal);font-size:8px;font-weight:700;line-height:11px;letter-spacing:.7px}.fever-running #fever-stage-label{display:block;font-size:clamp(15px,5cqw,18px);font-weight:900;line-height:23px;letter-spacing:-.2px;white-space:nowrap;color:inherit;text-shadow:none}.fever-running .fever-clock{display:flex;align-items:baseline;gap:2px;color:var(--signal);font-variant-numeric:tabular-nums;flex-shrink:0}.fever-clock #fever-timer{font:700 25px/1 Arial,sans-serif}.fever-clock>small{font:700 9px sans-serif}.fever-banner #fever-name{display:none}.fever-banner>strong{font-size:clamp(23px,7.5cqw,35px);margin:8px 0;letter-spacing:0}
/* Portrait + a small name tab. The sentence itself never gains a second row. */
.game-shell .street-notices{top:calc(var(--hud-inset) + 142px);left:auto;right:10px;width:max-content;max-width:calc(100% - 20px);color:#343b31}.game-shell .street-notices[data-side="left"]{left:10px;right:auto}.street-notices::after{right:13px;left:auto;bottom:-4px;width:7px;height:7px;border-width:1px;background:#fff9e9;border-color:#525d47;transform:skewY(-35deg)}.street-notices[data-side="left"]::after{left:13px;right:auto;transform:skewY(35deg)}
.game-shell .street-notices>.encounter,.game-shell .street-notices>.voice-bubble,.game-shell .street-notices>.guide-toast{position:relative;height:34px;min-height:34px;padding:2px 8px 2px 3px;border:1px solid #525d47;border-radius:3px;background:#fff9e9;color:#343b31;box-shadow:0 2px 0 #28332933;overflow:visible;width:max-content;max-width:100%;gap:4px}
.game-shell .street-notices img,.game-shell .street-notices .guide-toast img{width:24px;height:28px;object-fit:contain;flex-shrink:0;background:none;border-radius:0}.street-notices .reaction-copy{min-width:0;flex:0 1 auto}.game-shell .street-notices .reaction-copy>small,.game-shell .street-notices .encounter>small{position:absolute;top:-8px;left:30px;display:block;width:max-content;max-width:calc(100% - 35px);font-size:10px;font-weight:750;line-height:12px;color:#554b3b;background:#fff9e9;border:1px solid #aa9c81;border-radius:2px;padding:0 4px;margin:0;letter-spacing:0;white-space:nowrap}
.game-shell .street-notices .reaction-copy>strong,.game-shell .street-notices .guide-toast p,.game-shell .street-notices .encounter>strong{display:block;font-size:13px;line-height:19px;font-weight:750;letter-spacing:0;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;margin:0;padding:0;background:none;color:inherit}.game-shell .street-notices .encounter{padding:2px 9px}.game-shell .street-notices .encounter>small{left:8px}.game-shell .voice-bubble[data-style="rare"]{border-color:#9d7834;background:#fff1ce}.game-shell .voice-bubble[data-style="rare"] .reaction-copy>small{background:#fff1ce}
/* A stage's physical materials. */
.game-shell[data-stage-theme="rail"] .game-top{background:#f6f5e9;color:#1b302b;border:1px solid #a6b4b2;border-bottom:7px solid #398455;box-shadow:0 2px 0 #1b4d35}.game-shell[data-stage-theme="rail"] #stage-symbol{background:#258356;color:#fff;border:0;border-radius:3px;height:27px;flex-basis:26px;padding:0}.game-shell[data-stage-theme="rail"] .stage-copy{transform:translateY(1px)}.game-shell[data-stage-theme="rail"] .stage-arrow{color:#2d704b}.game-shell[data-stage-theme="rail"] .fever-running{border-left:5px solid #398455}
.game-shell[data-stage-theme="wood"] .game-top,.game-shell[data-stage-theme="garden"] .game-top{color:#31251b;background:repeating-linear-gradient(3deg,transparent 0 5px,#51341b13 6px,transparent 7px),linear-gradient(95deg,#bb8144,#edc78b 45%,#b37a43);border:1px solid #61391d;border-bottom:3px solid #69401f;box-shadow:0 2px 3px #27332155}.game-shell[data-stage-theme="wood"] #street-label{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:17px}.game-shell[data-stage-theme="wood"] #stage-symbol,.game-shell[data-stage-theme="garden"] #stage-symbol{border-right:1px solid #77502f5e}.game-shell[data-stage-theme="wood"] .game-top::before,.game-shell[data-stage-theme="wood"] .game-top::after{top:-9px;width:3px;height:15px;border-radius:0;background:repeating-linear-gradient(30deg,#c8ad7b 0 2px,#78694f 2px 3px);box-shadow:none}.game-shell[data-stage-theme="garden"] #stage-symbol{color:#285338}.game-shell[data-stage-theme="wood"] .fever-running,.game-shell[data-stage-theme="garden"] .fever-running{background:repeating-linear-gradient(2deg,transparent 0 6px,#61391212 7px,transparent 8px),var(--surface)}
.game-shell[data-stage-theme="space"] .game-top{clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);border:1px solid #a6e5d1;border-left:4px solid #7cd5b5;border-radius:0;background:linear-gradient(115deg,#23433c,#263c3d);box-shadow:none}.game-shell[data-stage-theme="space"] #district-progress{color:#a6eccb}.game-shell[data-stage-theme="space"] .fever-running{border-left:3px solid var(--signal)}
.game-shell[data-stage-theme="water"] .game-top{background:linear-gradient(#115a75,#123b55);border-color:#b2e0dd}.game-shell[data-stage-theme="royal"] .game-top{background:linear-gradient(95deg,#583c35,#382e28);border:3px double #d5ad65;color:#ffe2a0}.game-shell[data-stage-theme="work"] .game-top{background:#f6d65a;color:#302d23;border:2px solid #303237;border-left:7px solid #303237}.game-shell[data-stage-theme="food"] .game-top{background:#fff3d8;color:#853b29;border-color:#b14d31}.game-shell[data-stage-theme="air"] .game-top{background:#334844;color:#ffe3a4;border:1px solid #9aa89a}.game-shell[data-stage-theme="body"] .game-top{background:#863b48;border-color:#edb8ac}.game-shell[data-stage-theme="cloud"] .game-top{background:#ddecf5;color:#38596c;border-color:#8eacbb}
@keyframes street-sign-arrive{from{opacity:.4;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.game-shell .game-top.stage-enter{animation:none}}

.street-notices .voice-bubble{min-width:calc(var(--speaker-width,70px) + 36px)}.street-notices #guide-toast{min-width:106px}

/* Selected palette 03: navy and signal yellow, keeping each street's sign material. */
.game-controls button{background:#fffbed;color:#223449;border-color:#b5bab0}
.game-shell .game-top{border-color:#e3edefaa}
.game-shell[data-stage-theme="rail"] .game-top{background:#fbfbf2;color:#294b3f;border-color:#aebfb5;border-bottom-color:#438568}
.game-shell[data-stage-theme="rail"] #stage-symbol{background:#438568}
.game-shell[data-stage-theme="space"] .game-top{background:linear-gradient(115deg,#ffffff0c,transparent),#223449;border-color:#ffe08a}
.game-shell[data-stage-theme="space"] #district-progress{color:#ffe08a}
.game-shell[data-stage-theme="water"] .game-top{background:linear-gradient(#ffffff13,transparent),#223449;border-color:#ffe08a}
.game-shell[data-stage-theme="royal"] .game-top{background:linear-gradient(95deg,#382341,#201c35)}
.game-shell[data-stage-theme="air"] .game-top{background:#17293e;color:#ffd16a;border-color:#8a98a8}
.game-shell .fever-running,.game-shell[data-stage-theme] .fever-running{background:#273d53;color:#fffbed;border-top-color:#f3cf5e;border-bottom-color:#f3cf5e}
.game-shell .fever-running .fever-copy>small,.game-shell .fever-running .fever-clock{color:#f4d363}
.game-shell .street-notices>*:not([hidden]),.street-notices::after,.game-shell .street-notices .reaction-copy>small,.game-shell .street-notices .encounter>small{background:#fffdf3;color:#223449;border-color:#889a9d}
.game-shell .voice-bubble[data-style="rare"],.game-shell .voice-bubble[data-style="rare"] .reaction-copy>small{background:#ffe8a3;border-color:#a27a25;color:#62400c}.game-shell .voice-bubble[data-style="rare"]{box-shadow:0 2px 0 #a27a2555,inset 0 0 0 1px #fff7d3}

/* Selected home 04: separate floating signs leave the moving street visible. */
.intro{padding:28px 14px max(10px,env(safe-area-inset-bottom));gap:0;background:none;overflow:hidden}
.intro .title-art{width:94%;max-width:400px;align-self:flex-start;margin-left:-5px}
.intro-bottom{display:flex;flex-direction:column;gap:9px;width:100%;max-width:410px;margin:0 auto;padding:0;background:none;border:0;color:#223449;flex-shrink:0}
.intro .home-rule{order:0;grid-template-columns:auto 1fr;column-gap:12px;background:#263c54;color:#fffbed;padding:10px 12px;border:1px solid #dde6e7;border-radius:3px;box-shadow:0 2px 0 #1e304755}
.intro .home-rule>span{grid-column:1;grid-row:1;align-self:center;font-size:10px;line-height:15px;color:#d4dfe5;letter-spacing:.3px}
.intro .home-rule>b{grid-column:2;grid-row:1;justify-self:end;font-size:20px;line-height:26px;letter-spacing:0;white-space:nowrap}
.intro .home-rule>strong{grid-column:1 / -1;grid-row:2;justify-self:center;margin-top:2px;font-size:12px;line-height:19px;letter-spacing:0;color:#f7d86e;white-space:nowrap;max-width:none;font-weight:800}
.intro .danger-intro{order:1;margin:0;padding:9px 10px 8px;background:#fffdf3;color:#24384d;border:1px solid #adbac2;border-radius:3px;box-shadow:0 2px 0 #20364b33}
.intro .danger-intro>p{margin:0 0 4px;gap:5px;color:#405568;font-size:12px;line-height:16px;letter-spacing:0}
.intro .danger-intro>p>b{display:block;white-space:nowrap;font-weight:800}
.intro .danger-intro>p>span{padding:0;background:none;color:#526371;font-size:9px;white-space:nowrap}
/* Share the actual 1080×260 portrait width with its four centered labels. */
.intro .danger-roster{--roster-height:86px;width:100%;max-width:calc(var(--roster-height) * 4.153846154);margin:0 auto}
.intro .danger-roster>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:54/13;object-fit:contain;filter:none}
.intro .danger-names{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center;font-size:10px;line-height:15px;letter-spacing:0;color:#24384d;margin:0;padding:0}
.intro .danger-names>span{min-width:0;padding:0;white-space:nowrap}
.intro .home-action{order:2;display:flex;flex-direction:column;gap:7px}
.intro #start{order:0;width:100%;min-height:49px;margin:0;padding:10px 14px 9px;background:#f2c947;color:#24384d;border:1px solid #ac8322;border-bottom-width:3px;border-radius:2px;font-size:23px;line-height:26px;letter-spacing:2px}
.intro #start:hover{background:#f9d65f}.intro #start svg{width:29px;height:23px;stroke-width:2.5}
.intro .kuma-guide{order:1;justify-content:center;gap:8px;margin:0;padding:5px 8px;background:#fffdf3;border-radius:2px}
.intro .kuma-guide>img{width:24px;height:31px;filter:none}.intro .kuma-guide p{color:#253a4b;font-size:9px;line-height:15px;text-shadow:none;margin:0}
.intro .kuma-guide b{font-size:10px;font-weight:700;white-space:nowrap}.intro .kuma-guide span:last-child{display:block;color:#526371;font-size:9px;white-space:nowrap}
.intro .home-links{order:2;background:#263c54;color:#fffbed;border-radius:2px;padding:3px 9px 5px}
.intro .collection-row{gap:8px}.intro .collection-hint{margin:0;color:#d3dfe3;font-size:9px;line-height:14px;letter-spacing:0}
.intro .collection-row .finale-link{min-height:29px;padding:4px 0;border:0;color:#fffbed;font-size:11px;line-height:19px}
.intro .start-help{order:0;margin:0;padding:3px 0 0;border-top:1px solid #72849666;font-size:9px;line-height:15px;color:#d3dfe3}
.intro .start-help button{font-size:10px;color:#fffbed;border:0;padding:0;line-height:18px;text-decoration:underline;text-underline-offset:3px}
@media(max-height:740px){
 .intro{padding-top:20px}.intro .title-art{width:90%}.intro-bottom{gap:7px}
 .intro .home-rule{padding:8px 11px}.intro .home-rule>b{font-size:18px;line-height:23px}
 .intro .danger-intro{padding:7px 9px 6px}.intro .danger-roster{--roster-height:72px}
 .intro .home-action{gap:6px}.intro .kuma-guide{padding-block:3px}.intro .home-links{padding-top:1px;padding-bottom:3px}
}
@media(max-height:600px){
 .intro{padding-top:14px;padding-inline:12px;padding-bottom:8px}.intro .title-art{width:86%}.intro-bottom{gap:6px}
 .intro .home-rule{padding:7px 10px}.intro .home-rule>b{font-size:17px;line-height:21px}.intro .home-rule>span{font-size:9px;line-height:13px}.intro .home-rule>strong{font-size:11px;line-height:17px}
 .intro .danger-roster{--roster-height:62px}.intro .danger-intro>p{font-size:11px;margin-bottom:2px}.intro .danger-intro>p>span{font-size:8px}.intro .danger-names{font-size:9px;line-height:13px}
 .intro #start{min-height:44px;font-size:21px;padding-block:7px}.intro .home-action{gap:5px}
 .intro .kuma-guide>img{width:21px;height:27px}.intro .kuma-guide p{line-height:13px}.intro .kuma-guide b{font-size:9px}.intro .kuma-guide span:last-child{font-size:8px}
 .intro .collection-hint{font-size:8px}.intro .collection-row .finale-link{min-height:25px;font-size:10px;line-height:17px}
}
@container(max-width:325px){.intro .danger-intro>p{font-size:11px}.intro .danger-intro>p>span{font-size:8px}.intro .home-rule>b{font-size:17px}.intro .home-rule>strong{font-size:11px}}

/* Home return uses existing menu/masthead space, keeping the result art large. */
.result-masthead #home-result{width:auto;height:30px;min-width:100px;padding:0 10px;border:1px solid #9ba7ae;border-radius:3px;background:#fffbed;color:#223449;font:700 11px/1 sans-serif;letter-spacing:0}
.pause-panel .home-return{display:block;width:100%;margin-top:6px;border-top:1px solid #b5bab0;padding-top:15px}.home-save-note{font-size:10px;color:#596e7d;margin:4px 0 0}
@media(max-height:480px){.result-masthead{display:flex}.result-art{width:min(100%,calc((100dvh - 210px) * .8))}}

.pause-panel .text-button{color:#223449;opacity:1;font-size:13px;min-height:36px}.pause-panel #resume{background:#f2c947;color:#223449;border-color:#a28a45;box-shadow:0 3px 0 #ac8b34}

/* Independent speech slots may coexist; narrow screens wrap without covering text. */
.game-shell .street-notice-layer{position:absolute;top:calc(var(--hud-inset) + 142px);left:10px;right:10px;z-index:8;display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 10px;pointer-events:none}
.game-shell .street-notice-layer>.street-notices{position:relative;inset:auto;max-width:100%;flex:0 1 auto}
.street-notice-layer>#street-notices{margin-left:auto}
.street-notices[data-current="voice-bubble"]>.voice-bubble{display:flex;align-items:center;justify-content:flex-start}

/* The official mascot is a visible host, not a tiny footer icon. */
.intro .kuma-guide{justify-content:flex-start;gap:12px;padding:5px 12px}
.intro .kuma-guide>img{width:68px;height:78px;flex-shrink:0;object-fit:contain}
.intro .kuma-guide p{font-size:10px;line-height:17px;text-align:left}
.intro .kuma-guide b{display:block;font-size:15px;line-height:22px;letter-spacing:.4px}
.intro .kuma-guide p>span{display:block;white-space:nowrap}
.intro .kuma-guide .kuma-score-copy{font-size:10px;color:#223449}.kuma-score-copy strong{font-size:12px;color:#a94327}
.intro .kuma-guide span:last-child{font-size:9px;color:#435867}
.result-brand{display:flex;align-items:center;gap:8px;min-width:0;letter-spacing:0;font-style:normal}
.result-brand>img{width:48px;height:55px;object-fit:contain;flex-shrink:0}
.result-brand b{display:block;font-size:11px;line-height:17px;color:#223449;white-space:nowrap}
.result-brand small{display:block;font-size:10px;line-height:15px;color:#a94327;letter-spacing:1px}
.book-heading{display:flex;align-items:center;gap:9px;min-width:0}.book-heading>img{width:50px;height:61px;object-fit:contain;flex-shrink:0}.book-heading small{display:block;font-size:10px;line-height:15px;color:#526371;white-space:nowrap}
.howto-heading{display:flex;align-items:center;gap:13px;margin:0 0 12px;text-align:left}.howto-heading>img{width:62px;height:72px;object-fit:contain}.howto-heading small{font-size:11px;color:#526371}.howto-panel .howto-heading h2{margin:3px 0 0;padding:0;border:0}
.howto-panel .kuma-points{color:#223449;background:#f9e9a9;padding-inline:9px;border-bottom:0}.howto-panel .kuma-points span{text-align:right}.howto-panel .kuma-points small{display:inline;font-size:11px;color:#8b3f24;margin-left:7px;white-space:nowrap}
@media(max-height:740px){.intro .kuma-guide>img{width:59px;height:68px}.intro .kuma-guide{gap:10px;padding-block:3px}.intro .kuma-guide b{font-size:14px;line-height:20px}.result-brand>img{width:42px;height:48px}}
@media(max-height:600px){.intro .kuma-guide>img{width:53px;height:61px}.intro .kuma-guide{padding:3px 9px;gap:9px}.intro .kuma-guide b{font-size:13px;line-height:19px}.intro .kuma-guide p{line-height:15px}.intro .kuma-guide .kuma-score-copy{font-size:9px}.intro .kuma-guide .kuma-score-copy strong{font-size:11px}.intro .kuma-guide span:last-child{font-size:8px}.result-brand>img{width:36px;height:42px}.book-heading>img{width:43px;height:52px}.book-heading small{font-size:9px}.howto-panel{padding:12px}.howto-heading{gap:10px;margin-bottom:8px}.howto-heading>img{width:47px;height:55px}.howto-panel .howto-heading h2{font-size:23px}.howto-panel li{padding-block:6px;font-size:10px}.howto-panel li span{font-size:17px}.howto-panel p{font-size:10px;line-height:1.6}.howto-panel .evolution-help{margin:8px 0;padding-top:8px}.howto-panel .audio-credit{font-size:9px}}
