@font-face{font-family:VT323;src:url('./vendor/VT323.ttf') format('truetype');font-display:swap}@font-face{font-family:DynaPuff;src:url('./vendor/DynaPuff.ttf') format('truetype');font-weight:400 700;font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#101311;color:#e9ebe2}body{font-family:'VT323','Courier New',monospace;font-size:20px}button,a,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d9ff72;outline-offset:5px}button:disabled{opacity:.45;cursor:default}button{border:0;border-radius:0}button:hover{filter:brightness(1.15)}[hidden]{display:none!important}.cabinet{max-width:1800px;padding:0 34px;margin:auto;min-height:100dvh;display:flex;flex-direction:column}.masthead{height:87px;display:flex;align-items:center;justify-content:space-between;flex:none;letter-spacing:1.4px}.studio{display:flex;gap:11px;align-items:center;color:#eceee5;text-decoration:none;line-height:.92;font-size:22px}.studio-mark{width:38px;height:37px;background:#8bd956;color:#172019;display:grid;place-items:center;font-size:29px;font-weight:bold;border:3px double #1c261c;transform:rotate(-5deg)}.studio small{display:block;font-size:13px;letter-spacing:3.1px;color:#778070;margin-top:6px}.mast-right{display:flex;align-items:center;gap:15px}.record-label{font-size:16px;color:#929b88}.record-label b{color:#d4dccc;font-weight:400;font-size:22px;margin:0 20px 0 12px}.icon-button{display:inline-grid;place-items:center;min-width:36px;height:36px;font-size:26px;background:#1b211b;border:1px solid #394133;color:#bcc5b3}.game-shell{height:calc(100dvh - 159px);min-height:580px;max-height:1020px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #546044;background:#141723;box-shadow:0 0 0 5px #171c17,0 0 0 6px #222b20}.game-shell:before,.game-shell:after{content:'';position:absolute;width:24px;height:24px;z-index:12;pointer-events:none}.game-shell:before{left:0;top:0;border-left:3px solid #d3df9b;border-top:3px solid #d3df9b}.game-shell:after{right:0;bottom:0;border-right:3px solid #d3df9b;border-bottom:3px solid #d3df9b}#game-canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none;touch-action:none}.crt,.vignette{position:absolute;inset:0;pointer-events:none}.crt{z-index:10;background:repeating-linear-gradient(0deg,#0000 0px,#0000 2px,#0002 3px,#0002 4px);opacity:.4}.vignette{z-index:1;background:linear-gradient(90deg,rgba(5,10,14,.88) 0%,rgba(5,10,14,.64) 32%,rgba(5,10,14,.10) 66%,transparent 100%),linear-gradient(0deg,#060a0fe6,transparent 27%,transparent 83%,#080c13b0)}.game-shell.playing .vignette{background:linear-gradient(0deg,#050a1480,transparent 25%,transparent 76%,#050a1490)}.screen-top,.screen-bottom{position:absolute;left:27px;right:27px;z-index:3;display:flex;justify-content:space-between;font-size:15px;letter-spacing:1.4px;color:#b6bea9}.screen-top{top:21px}.screen-top i{display:inline-block;width:6px;height:6px;background:#b6ef6c;margin-right:5px;vertical-align:2px;box-shadow:0 0 8px #85b44a}.screen-bottom{bottom:19px;font-size:12px;color:#889078}.main-menu{position:absolute;top:14%;left:6%;z-index:3;max-width:580px;width:46%}.edition{color:#acb9a0;font-size:14px;letter-spacing:2px;margin-bottom:10px}.edition span{margin-left:18px;color:#788171}.game-logo{display:inline-block;margin:0;transform:rotate(-3deg);transform-origin:left center;filter:drop-shadow(5px 7px 0 #080a0a)}.logo-line{display:flex;align-items:baseline;line-height:.78;letter-spacing:-8px;white-space:nowrap;font-family:Impact,'Arial Black',sans-serif;font-size:clamp(90px,10.5vw,175px);font-weight:900;-webkit-text-stroke:2px #0d150a}.logo-line em{font-style:normal;color:#89d353}.logo-line strong{color:#f08236;font-weight:900}.logo-line sup{font:18px VT323;color:#e3e3cf;-webkit-text-stroke:0;letter-spacing:0;align-self:flex-start;margin:13px 0 0 9px}.logo-sub{display:block;white-space:nowrap;background:#e4d575;color:#141811;border:4px solid #080d0a;font-size:clamp(20px,2.6vw,42px);line-height:.98;letter-spacing:1px;padding:2px 10px;text-align:center;font-weight:bold;box-shadow:0 3px 0 #080d0a;margin-top:10px}.japanese{color:#e3e3d1;font-size:17px;letter-spacing:2px;margin:13px 0 24px 50px;text-shadow:2px 2px #000}.tagline{font-size:clamp(23px,2.3vw,36px);letter-spacing:1.4px;line-height:1.02;margin:16px 0 23px}.tagline span{color:#aebaa2}.start-button{display:flex;align-items:center;gap:12px;background:#9ce565;color:#172410;width:330px;max-width:100%;text-align:left;font-size:30px;letter-spacing:1px;padding:14px 19px;box-shadow:4px 4px 0 #42612d;border:1px solid #c0f293}.start-button:hover{background:#baff7a;transform:translate(-1px,-1px)}.play-triangle{font-size:19px}.start-button kbd{font-size:15px;margin-left:auto;color:#344c28;border:0;background:transparent;padding:0;white-space:nowrap}.menu-hint{font-size:13px;letter-spacing:1.1px;color:#9eac93;margin:15px 0 29px}.menu-nav{display:flex;flex-wrap:wrap;gap:20px}.menu-nav button{color:#ccd3be;background:transparent;text-align:left;padding:0;font-size:18px;white-space:nowrap}.menu-nav button span{color:#78826b;font-size:12px;display:block;margin-bottom:4px}.menu-nav button:hover{color:#a8ed78}.character-caption{position:absolute;z-index:2;right:6.5%;bottom:13%;text-align:left;transform:rotate(-3deg)}.name-tag{display:inline-block;background:#d6debb;color:#1d2119;font-size:24px;padding:3px 15px}.character-caption p{font-size:29px;line-height:.95;color:#dbe1c9;margin:13px 0;text-shadow:2px 3px #131713}.character-rule{height:1px;width:86px;background:#8c9980;margin:17px 0 8px}.character-caption small{font-size:11px;letter-spacing:1.4px;color:#b1bda4}.footer{height:72px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:15px;color:#939d87}.control-legend{display:flex;gap:22px;align-items:center}.control-legend>span{display:flex;gap:5px;align-items:center;white-space:nowrap}kbd{display:inline-block;font:14px VT323;padding:2px 5px;min-width:20px;text-align:center;border:1px solid #454e3d;background:#191e17;color:#c4cdb8;line-height:1}.control-legend kbd:last-of-type{margin-right:3px}.footer-right{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:13px;letter-spacing:1px}.ready-dot{width:5px;height:5px;background:#7eae57}.footer-right button{font-size:14px;color:#ced6be;background:transparent;border-left:1px solid #414b34;margin-left:16px;padding-left:25px}.footer-right button span{margin-left:5px;border:1px solid #697557;padding:0 4px}.hud{position:absolute;inset:60px 28px 42px;pointer-events:none;z-index:4}.hud-top{display:flex;justify-content:space-between;align-items:flex-start}.collectibles{display:flex;align-items:center;gap:10px;background:#0c1019d9;padding:8px 15px;border:1px solid #667058;font-size:32px;text-shadow:2px 2px #000}.chip-icon{background:#dcbd56;color:#b14420;border:2px dashed #f2d96e;display:inline-grid;place-items:center;transform:rotate(7deg);font-size:25px;width:25px;height:34px;font-weight:bold}.coin-icon{color:#f9d557;margin-left:12px;font-size:30px}.collectibles b{font-weight:400;min-width:33px}.score{text-align:right;margin-left:auto;margin-right:20px;text-shadow:3px 3px #03050b}.score small{color:#bec6ad;display:block;font-size:15px;letter-spacing:2px}.score-line{display:flex;align-items:baseline;justify-content:flex-end;gap:10px}.score-bonus{font-style:normal;font-size:22px;color:#f2bd52;opacity:0;transform:translate3d(.45em,0,0);transition:opacity .18s ease,transform .34s ease}.score-bonus.show{opacity:1;transform:translate3d(0,0,0)}.score b{display:block;font-weight:400;font-size:47px;line-height:.93}.score>span{font-size:24px}.pause-button{pointer-events:auto;border:1px solid #7a836b;background:#101824bd;width:43px;height:43px;font-size:26px}.hud-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end}.frenzy-block{width:215px;background:#0a1016d9;border:1px solid #788361;padding:10px;font-size:19px;color:#e4d75e}.frenzy-block>span{display:flex;justify-content:space-between;gap:12px}.frenzy-block b{font-weight:400;color:#d5dcc6}.meter{height:11px;margin-top:6px;background:repeating-linear-gradient(90deg,#34392a 0,#34392a 14px,#172015 14px,#172015 17px)}.meter i{display:block;height:100%;background:#b6e85c;width:0;transition:width .1s}.chase{background:#09121bcc;padding:10px 12px;width:164px;font-size:15px;color:#c3cfbb}.chase-track{height:7px;background:#5c2926;margin-top:5px}.chase-track i{display:block;height:100%;background:#a6d965;width:100%;transition:width .2s}.active-powers{position:absolute;top:100px;left:0;display:flex;flex-direction:column;gap:7px}.power-badge{background:#171522e6;border-left:3px solid #b6eb69;padding:6px 10px;font-size:18px;color:#daefa6}.run-banner{position:absolute;left:0;right:0;top:25%;text-align:center;font-size:clamp(32px,6vw,80px);font-weight:bold;color:#e7efac;text-shadow:4px 4px #15220b,-2px -2px #15220b;pointer-events:none;z-index:5;transform:rotate(-3deg)}.run-banner.frenzy{color:#f9d257;text-shadow:4px 4px #7a2711,-3px -3px #361c0d}.pursuit-reward{position:absolute;z-index:24;left:50%;top:19%;transform:translate3d(-50%,-12px,0) rotate(-2deg);min-width:280px;text-align:center;opacity:0;pointer-events:none;color:#f8db65;text-shadow:3px 3px #522414}.pursuit-reward strong,.pursuit-reward span{display:block}.pursuit-reward strong{font-size:clamp(28px,4vw,52px);letter-spacing:1px}.pursuit-reward span{margin-top:4px;font-size:clamp(20px,2.5vw,31px);color:#aef27b}.pursuit-reward.show{animation:pursuit-reward-in 2.8s ease both}@keyframes pursuit-reward-in{0%{opacity:0;transform:translate3d(-50%,-26px,0) rotate(-3deg) scale(.82)}12%,76%{opacity:1;transform:translate3d(-50%,0,0) rotate(-2deg) scale(1)}100%{opacity:0;transform:translate3d(-50%,-8px,0) rotate(-1deg) scale(1.04)}}.toast{position:absolute;z-index:25;bottom:30%;left:50%;transform:translateX(-50%);max-width:90%;background:#152018ed;border:1px solid #859d5b;color:#cfe3a6;text-align:center;padding:10px 20px;font-size:22px;opacity:0;pointer-events:none}.toast.visible{opacity:1}.hit-flash{position:absolute;inset:0;background:#fb3f3938;z-index:9;opacity:0;pointer-events:none}.hit-flash.hit{animation:flash .4s ease-out}@keyframes flash{0%{opacity:1}100%{opacity:0}}.center-overlay{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;background:#05080d87;padding:24px}.retro-panel{width:410px;max-width:100%;background:#0d1218f5;border:2px solid #85906b;box-shadow:5px 5px 0 #050709;padding:28px 32px;text-align:center}.eyebrow{font-size:14px;letter-spacing:2px;color:#9ca98b}.retro-panel h2{font-size:76px;line-height:.9;margin:17px 0 12px;color:#db4636;letter-spacing:3px;text-shadow:4px 4px #4b1714}.retro-panel h2 span{color:#e8743b}.retro-panel p{font-size:18px;color:#abb79a}.pause-panel h2{color:#acd56f;text-shadow:4px 4px #2a4323}.primary-button,.secondary-button{display:block;width:100%;padding:12px 16px;margin-top:13px;font-size:25px;text-align:center}.primary-button{background:#a0df65;color:#182a14;box-shadow:3px 3px #416133;border:1px solid #c1ea8d}.primary-button kbd{border:0;background:none;color:#3b542d;margin-left:10px}.secondary-button{background:#1b251e;color:#aebda2;border:1px solid #3f4d38;font-size:20px}.results{border-top:1px dashed #576348;border-bottom:1px dashed #576348;margin:19px 0 20px;padding:13px 0}.results>div{display:flex;justify-content:space-between;line-height:1.5;font-size:22px}.results span{color:#9aa78a}.results b{font-weight:400;color:#e1e8d6}#new-record{color:#e4cf60;font-size:20px;margin:10px 0}.menu-dialog{position:absolute;max-width:760px;width:calc(100% - 40px);max-height:90%;padding:23px 30px 30px;background:#10191a;color:#e0e6d7;border:2px solid #7d8e5e;box-shadow:7px 7px 0 #03060b;z-index:20;font-family:VT323,monospace}.menu-dialog::backdrop{background:#04060bd9}.dialog-top{display:flex;align-items:center;justify-content:space-between;color:#94a17d;letter-spacing:2px;font-size:15px}.menu-dialog h2{font-size:44px;letter-spacing:1px;margin:9px 0 22px;color:#dce8ba;font-weight:400;line-height:1}.menu-dialog p{color:#a7b799;font-size:21px;line-height:1.2}.skin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skin-card{border:1px solid #596349;background:#19241f;padding:13px 7px;text-align:center}.skin-card.selected{border:2px solid #a5e76c;box-shadow:0 0 0 2px #2e5a27;background:#273a25}.skin-card .skin-art{height:75px;font-size:55px;display:grid;place-items:center;color:var(--skin-color,#a4c89a)}.skin-art canvas{height:75px;width:100px;image-rendering:pixelated}.skin-card strong{font-weight:400;font-size:22px;display:block}.skin-card small{display:block;color:#a2b494;font-size:16px;margin-top:4px}.wallet{display:flex;justify-content:space-between;color:#d8c56d;margin-top:20px}.mission{border:1px solid #47563d;margin:10px 0;padding:14px;background:#18231d}.mission-title{display:flex;justify-content:space-between;gap:12px;font-size:24px}.mission p{margin:5px 0 10px;font-size:18px}.mission .meter{height:7px}.settings-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #364430;padding:16px 0;gap:16px;font-size:24px}.settings-row small{display:block;font-size:17px;color:#a6b497;margin-top:4px}.settings-row input[type=checkbox]{accent-color:#9ce06b;width:23px;height:23px}.settings-row select{background:#253321;color:#dce6c7;border:1px solid #64784e;font-size:20px;padding:6px}.records-table{width:100%;border-collapse:collapse;text-align:left;font-size:23px}.records-table th{color:#879c73;font-size:16px;font-weight:400;padding:8px 5px}.records-table td{border-top:1px solid #3d4c34;padding:13px 5px}.records-table td:last-child,.records-table th:last-child{text-align:right}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.how-item{background:#1b291e;border:1px solid #415139;padding:13px}.how-item b{display:block;color:#cbdfad;font-size:24px}.how-item p{font-size:18px;margin:7px 0 0}.how-item kbd{font-size:18px}.debug-panel{position:absolute;right:10px;top:50px;z-index:35;background:#081716f2;border:1px solid #a9d183;padding:15px;width:270px;font-size:16px;max-height:80%;overflow:auto}.debug-panel h3{margin:0 0 12px;display:flex;justify-content:space-between;font-size:21px}.debug-panel button,.debug-panel select{background:#2b432f;color:#d9edc6;border:1px solid #6d8760;padding:4px;font-size:16px}.debug-panel label{display:flex;justify-content:space-between;align-items:center;margin:10px 0;gap:5px}.debug-panel input[type=range]{width:100px}.debug-spawn{display:flex;justify-content:space-between;margin-top:12px;gap:10px}#debug-stats{line-height:1.3;color:#99c293}.game-shell.playing .screen-bottom{display:none}body.reduced-motion .crt{opacity:.2}body.reduced-motion *{scroll-behavior:auto!important}.loading-error{position:absolute;inset:0;display:grid;place-content:center;background:#101811;color:#d0dbbc;text-align:center;z-index:50;padding:30px}.loading-error h2{color:#a4df6b;font-weight:400}.loading-error button{background:#a4df6b;color:#182410;padding:12px}
@media(min-width:1500px){.main-menu{left:7%;top:16%}.menu-nav{gap:26px}.tagline{margin-top:24px;margin-bottom:28px}.japanese{margin-bottom:30px}.start-button{width:370px;padding:16px 20px}.menu-hint{margin-bottom:35px}}
@media(max-height:820px) and (min-width:801px){.game-shell{min-height:500px}.main-menu{top:12%;left:5.5%}.logo-line{font-size:clamp(82px,9vw,134px)}.logo-sub{font-size:30px}.japanese{margin:12px 0 14px 35px;font-size:14px}.tagline{font-size:27px;margin:12px 0 16px}.start-button{font-size:28px;padding:11px 17px}.menu-hint{margin:12px 0 20px}.character-caption{bottom:15%;right:7%}}
@media(max-width:1050px){.cabinet{padding:0 22px}.record-label b{margin-right:8px}.control-legend{gap:12px}.footer-right>span{display:none}.menu-nav{gap:15px}.menu-nav button{font-size:16px}.character-caption{right:5%;bottom:13%}.logo-line{letter-spacing:-6px}.screen-top,.screen-bottom{left:20px;right:20px}.main-menu{width:50%}.edition{font-size:12px}.edition span{display:none}}
@media(max-width:800px){.cabinet{padding:0 13px}.masthead{height:68px}.studio{font-size:19px}.studio small{font-size:11px;letter-spacing:2.4px}.studio-mark{width:32px;height:32px;font-size:25px}.record-label{font-size:12px}.record-label b{display:block;font-size:19px;margin:3px 0 0;text-align:right}.mast-right{gap:9px}.game-shell{height:calc(100dvh - 130px);min-height:570px}.screen-top{font-size:12px;letter-spacing:.4px;top:18px}.screen-top>span:last-child{display:none}.main-menu{top:13%;left:6%;width:63%}.edition{font-size:12px;letter-spacing:.8px}.logo-line{font-size:clamp(89px,15vw,135px)}.logo-sub{font-size:clamp(23px,3.6vw,32px);padding:3px 4px;border-width:3px}.japanese{font-size:13px;margin:12px 0 25px 25px}.tagline{font-size:27px;line-height:1.03}.start-button{width:285px;font-size:29px;padding:13px 15px}.menu-hint{font-size:12px;letter-spacing:.1px;white-space:nowrap;margin-bottom:26px}.menu-nav{max-width:300px;row-gap:17px;column-gap:23px}.menu-nav button{font-size:19px;min-width:95px}.menu-nav button span{display:inline;margin-right:7px}.character-caption{bottom:16%;right:4%}.character-caption p{font-size:22px}.character-caption small{display:none}.character-caption .name-tag{font-size:21px;padding:2px 9px}.character-rule{display:none}.footer{height:62px;justify-content:center}.control-legend{font-size:13px;gap:12px}.footer-right{display:none}.screen-bottom{font-size:10px;left:15px;right:15px;letter-spacing:.4px}.hud{inset:55px 17px 32px}.collectibles{font-size:26px;padding:7px 10px;gap:6px}.score{margin-right:12px}.score b{font-size:35px}.pause-button{width:33px;height:35px}.chase{width:130px;font-size:13px}.frenzy-block{width:182px;font-size:17px}.skin-grid{grid-template-columns:repeat(2,1fr)}.menu-dialog{padding:17px 20px 24px}.menu-dialog h2{font-size:36px}.gameover .retro-panel{padding:22px}.gameover .retro-panel h2{font-size:65px}.retro-panel{padding:24px}.results>div{font-size:21px}.game-shell.playing .screen-top>span{font-size:12px}}
@media(max-width:480px){.masthead{height:62px}.studio small{display:none}.studio{font-size:17px}.studio-mark{width:29px;height:29px}.icon-button{min-width:30px;height:30px;font-size:23px}.mast-right{gap:8px}.record-label{font-size:10px}.game-shell{height:calc(100dvh - 115px);min-height:555px}.main-menu{width:80%;top:12%;left:7%}.logo-line{font-size:100px;letter-spacing:-7px}.logo-sub{font-size:24px;margin-top:7px}.japanese{margin:10px 0 26px 25px}.tagline{font-size:26px;margin-bottom:22px;line-height:1.07}.start-button{width:265px}.character-caption{bottom:26%;right:6%;transform:rotate(-6deg);opacity:.9}.character-caption p{display:none}.character-caption .name-tag{font-size:18px}.menu-nav{max-width:260px;column-gap:20px}.menu-hint{font-size:11px}.footer{height:53px}.control-legend{font-size:11px;gap:8px}.control-legend>span{gap:2px}.control-legend kbd{font-size:12px;min-width:15px;padding:2px 3px}.screen-bottom span:first-child{max-width:175px}.screen-bottom{font-size:10px}.game-logo{filter:drop-shadow(3px 5px 0 #080a0a)}.hud-top .collectibles{font-size:23px;gap:5px}.collectibles b{min-width:26px}.coin-icon{margin-left:4px}.chip-icon{width:20px;height:28px;font-size:21px}.hud .score b{font-size:31px}.hud .score small{font-size:12px}.hud .score>span{font-size:20px}.score{margin-right:10px}.how-grid{grid-template-columns:1fr}.footer-right{display:none}}

/* Compact menu heights remain readable on short phone and laptop screens. */
@media(max-height:680px) and (max-width:800px){.main-menu{top:11%}.edition{font-size:11px}.logo-line{font-size:91px}.logo-sub{font-size:23px}.japanese{margin-bottom:20px}.tagline{font-size:24px;margin-top:13px;margin-bottom:18px}.menu-hint{margin-bottom:20px}.menu-nav{row-gap:12px}.screen-bottom{font-size:9px;bottom:11px}.main-menu .menu-nav button{font-size:17px}.character-caption{bottom:30%}.game-shell{min-height:565px}.screen-bottom span:first-child{max-width:200px}.toast{bottom:22%;font-size:18px}}

/* Hong Kong street edition */
.masthead{height:49px;justify-content:flex-end}.game-shell{height:calc(100dvh - 121px)}.crt{opacity:.08}.main-menu{top:14%}.collectibles small{font-size:16px;color:#c4cbb8;letter-spacing:1px}.collectibles .coin-icon{margin-left:0}.hud{bottom:28px}.game-shell.playing .screen-top{font-size:14px}.masthead .record-label{font-size:14px}.record-label b{font-size:20px}.masthead .icon-button{height:29px;min-width:31px}.screen-bottom{font-size:12px}.character-caption{right:5%;bottom:14%}.gameover{justify-content:flex-start;padding-left:9%}.gameover .retro-panel{width:380px}.skin-grid{grid-template-columns:repeat(3,1fr)}.run-banner.moon{color:#f6d45e}.active-powers{top:90px}.vignette{background:linear-gradient(90deg,rgba(6,12,18,.88),rgba(6,12,18,.58) 34%,rgba(6,12,18,.04) 68%),linear-gradient(0deg,#080c16c0,transparent 30%,transparent 86%,#09101ab0)}
@media(max-width:800px){.masthead{height:44px}.game-shell{height:calc(100dvh - 106px);min-height:570px}.main-menu{top:12%}.gameover{justify-content:center;padding:20px}.skin-grid{grid-template-columns:repeat(2,1fr)}.screen-bottom{font-size:10px}.character-caption{right:4%;bottom:28%}.menu-nav{row-gap:16px}.game-shell.playing .hud{bottom:24px}}
@media(max-width:480px){.game-shell{height:calc(100dvh - 97px);min-height:570px}.main-menu{top:11%}.tagline{font-size:25px}.japanese{margin-bottom:22px}.menu-hint{margin-bottom:24px}.character-caption{bottom:28%;right:5%}.screen-bottom span:first-child{display:none}.screen-bottom{justify-content:flex-end}.hud .collectibles{padding:6px 9px}.collectibles small{display:none}.masthead .record-label{font-size:11px;display:flex;align-items:center;gap:10px}.record-label b{margin:0!important}.footer .control-legend{font-size:12px}}

/* Clerk subtitles sit below the scene rather than covering the action. */
.clerk-caption{position:absolute;z-index:6;left:12%;right:12%;bottom:26px;text-align:center;background:#101811dd;border-bottom:2px solid #dfb769;padding:12px 18px;color:#fff0cf;font:24px VT323,monospace;text-shadow:1px 2px #000;pointer-events:none}
.coin-icon{display:inline-block;width:19px;height:26px;border-radius:48% 44% 54% 45%;background:repeating-linear-gradient(80deg,#e7b64d 0 3px,#f9cf72 3px 5px);transform:rotate(-23deg);font-size:0!important;border:1px solid #b88432}
@media(max-width:800px){.clerk-caption{left:5%;right:5%;bottom:85px;font-size:20px}}
/* The menu tabs stay across the top, leaving the shop cinematic visible. */
.main-menu{inset:0;max-width:none;width:auto;pointer-events:none}.main-menu button{pointer-events:auto}
.menu-story{position:absolute;left:5.5%;top:20%;width:43%;max-width:540px}
.menu-nav{position:absolute;top:57px;left:5.5%;right:5.5%;max-width:none;display:flex;flex-wrap:nowrap;gap:12px;pointer-events:auto}
.menu-nav button{border:1px solid #93b97d;background:linear-gradient(#283c2fed,#15231deb);box-shadow:0 3px 0 #0a170d;padding:11px 20px;font-size:20px;letter-spacing:1px;color:#e6f2d4;min-width:0}
.menu-nav button:hover,.menu-nav button:focus-visible{background:#a4e76d;color:#152412;box-shadow:0 0 16px #95d95545;outline:2px solid #e5f7ae;outline-offset:3px}
.menu-story .tagline{font-size:clamp(22px,2.1vw,31px);margin:14px 0 19px}.menu-story .japanese{margin-bottom:16px}.menu-story .menu-hint{margin-bottom:0}
.character-caption{right:4%;bottom:10%;opacity:.8}.main-menu .logo-line{font-size:clamp(85px,9.5vw,144px)}
@media(max-width:800px){.main-menu{inset:0;width:auto}.menu-nav{left:5%;right:5%;top:48px;gap:7px}.menu-nav button{font-size:16px;padding:11px 9px;flex:1;letter-spacing:0}.menu-story{left:6%;top:23%;width:66%}.main-menu .logo-line{font-size:clamp(88px,15vw,120px)}}
@media(max-width:480px){.menu-nav{gap:5px;left:4%;right:4%;top:45px}.menu-nav button{font-size:13px;padding:10px 4px}.menu-story{top:24%;width:85%}.main-menu .logo-line{font-size:93px}.menu-story .tagline{font-size:24px}.character-caption{display:none}.menu-story .start-button{width:255px}.menu-story .japanese{margin-bottom:22px}}
@media(max-height:720px) and (min-width:801px){.menu-story{top:24%}.menu-story .tagline{font-size:23px}.main-menu .logo-line{font-size:92px}.menu-story .logo-sub{font-size:24px}.menu-story .japanese{margin:10px 0}.menu-story .start-button{font-size:25px;padding:11px 15px}.menu-nav{top:49px}.menu-nav button{padding:8px 17px;font-size:18px}}

/* Route end remains in the live doorway; controls never cover it with a title card. */
.arcade-actions{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:6}.arcade-actions button{background:#111923e6;border:1px solid #b4bf83;padding:9px 18px;font-size:20px;color:#e0e6c9}.game-shell.playing .crt{opacity:.12}.game-shell.playing .vignette{background:linear-gradient(0deg,#09091635,transparent 20%,transparent 85%,#09091622)}

/* Readable native-resolution presentation and original 18Bro-inspired sticker type. */
body[data-picture="clear"] .crt,body[data-picture="clear"] .game-shell.playing .crt{opacity:.018}
body.font-sticker,body.font-sticker button,body.font-sticker select,body.font-sticker input,body.font-sticker .menu-dialog,body.font-sticker kbd,body.font-sticker .clerk-caption{font-family:"Arial Rounded MT Bold","Trebuchet MS","Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif;font-weight:800}
body.font-sticker .screen-top,body.font-sticker .screen-bottom,body.font-sticker .footer,body.font-sticker .hud,body.font-sticker .menu-nav,body.font-sticker .tagline,body.font-sticker .start-button,body.font-sticker .character-caption,body.font-sticker .menu-dialog,body.font-sticker .center-overlay,body.font-sticker .toast,body.font-sticker .run-banner{letter-spacing:.02em;text-shadow:1px 2px 0 #07110c,-1px -1px 0 #07110c}
body.font-sticker .menu-dialog h2,body.font-sticker .retro-panel h2{color:#f47722;-webkit-text-stroke:1px #f8f3db;text-shadow:3px 3px 0 #08251e,5px 5px 0 #06906f;transform:rotate(-1deg);transform-origin:left center}
body.font-sticker .menu-nav button,body.font-sticker .start-button,body.font-sticker .primary-button{border-radius:13px;text-transform:none}
body.font-sticker .settings-row>span,body.font-sticker .mission-title,body.font-sticker .how-item b{color:#f4f1dc;-webkit-text-stroke:.35px #17362b;text-shadow:2px 2px 0 #087e66}
.menu-dialog{overflow:auto}

/* Power-ups use their authored object renders in the HUD and on pickup. */
.active-powers{gap:9px;width:188px}
.power-pill{--power-accent:#73efd2;display:flex;align-items:center;gap:8px;min-height:52px;padding:4px 9px 5px 5px;background:linear-gradient(90deg,#10231ff2,#10151ddd);border:1px solid color-mix(in srgb,var(--power-accent) 55%,#27332f);border-left:3px solid var(--power-accent);box-shadow:3px 3px 0 #0508088f;color:#eef4dc}
.power-pill img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 2px #0009)}
.power-pill>span{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1px 7px;min-width:0;flex:1}
.power-pill b{font-size:15px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.power-pill small{font-size:13px;color:var(--power-accent)}
.power-meter{grid-column:1/-1;height:4px;background:#080d10;overflow:hidden}
.power-meter i{display:block;height:100%;background:var(--power-accent);box-shadow:0 0 8px var(--power-accent)}
.power-moon{--power-accent:#d7ec57}.power-speedburst{--power-accent:#55bfff}.power-moped{--power-accent:#ff7b43}.power-shield{--power-accent:#69e4ff}.power-doublechips{--power-accent:#ffc64b}.power-jetpack{--power-accent:#ff7054}

.power-pickup{--pickup-accent:#73efd2;position:absolute;z-index:12;left:50%;top:17%;display:flex;align-items:center;gap:13px;min-width:260px;padding:7px 22px 8px 8px;transform:translate(-50%,-14px) rotate(-1.5deg) scale(.82);opacity:0;background:linear-gradient(100deg,#f5edce 0 24%,#11231ff2 24%);border:2px solid #f7f1d0;box-shadow:5px 6px 0 #08100d,0 0 26px color-mix(in srgb,var(--pickup-accent) 45%,transparent);pointer-events:none}
.power-pickup[hidden]{display:none}.power-pickup.show{animation:power-card 2.1s cubic-bezier(.18,.9,.25,1) both}
.power-pickup img{position:relative;width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 2px #0007)}
.power-pickup>span:not(.power-pickup-glow){display:flex;flex-direction:column;line-height:1}.power-pickup small{font-size:13px;letter-spacing:2px;color:var(--pickup-accent)}.power-pickup b{font-size:27px;color:#fff6db;font-weight:400;white-space:nowrap}
.power-pickup-glow{position:absolute;left:8px;width:76px;height:76px;border-radius:50%;background:var(--pickup-accent);filter:blur(16px);opacity:.44}
.power-pickup[data-power="moon"]{--pickup-accent:#d7ec57}.power-pickup[data-power="speedburst"]{--pickup-accent:#55bfff}.power-pickup[data-power="moped"]{--pickup-accent:#ff7b43}.power-pickup[data-power="shield"]{--pickup-accent:#69e4ff}.power-pickup[data-power="doublechips"]{--pickup-accent:#ffc64b}.power-pickup[data-power="jetpack"]{--pickup-accent:#ff7054}
@keyframes power-card{0%{opacity:0;transform:translate(-50%,-20px) rotate(-5deg) scale(.72)}12%,72%{opacity:1;transform:translate(-50%,0) rotate(-1.5deg) scale(1)}100%{opacity:0;transform:translate(-50%,-8px) rotate(1deg) scale(.96)}}

/* A tactile arcade control with a large hit target and readable state. */
.pause-button{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;width:56px;height:52px;padding:7px 8px 17px;border:2px solid #efe6b9;border-radius:12px;background:linear-gradient(145deg,#ff7b37,#d64b25);box-shadow:0 4px 0 #6c2418,0 0 0 3px #17241d,0 7px 16px #0008;transform:rotate(1.5deg);transition:transform .12s,filter .12s}
.pause-button>span{display:block;width:7px;height:21px;border-radius:2px;background:#fff4cd;box-shadow:1px 1px 0 #80311e}
.pause-button small{position:absolute;left:0;right:0;bottom:2px;font:10px VT323,monospace;letter-spacing:1px;color:#fff6dd;text-shadow:1px 1px #5a1d14}
.pause-button:hover,.pause-button:focus-visible{filter:brightness(1.14);transform:translateY(-1px) rotate(-1deg);outline:2px solid #a8ef6c;outline-offset:3px}.pause-button:active{transform:translateY(3px);box-shadow:0 1px 0 #6c2418,0 0 0 3px #17241d}
@media(max-width:800px){.active-powers{top:82px;width:150px}.power-pill{min-height:43px}.power-pill img{width:34px;height:34px}.power-pill b{font-size:12px}.power-pickup{top:20%;min-width:230px}.power-pickup img,.power-pickup-glow{width:62px;height:62px}.power-pickup b{font-size:22px}.pause-button{width:47px;height:45px;padding-bottom:14px}.pause-button>span{height:17px;width:6px}}

/* Speed Burst surrounds the playfield with forward-moving edge streaks. */
.speed-surge{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .16s ease;background:radial-gradient(ellipse at center,transparent 43%,rgba(21,89,154,.08) 58%,rgba(19,68,130,.34) 83%,rgba(3,12,31,.62) 100%)}
.speed-surge::before,.speed-surge::after{content:'';position:absolute;inset:-18%;opacity:0;background:repeating-conic-gradient(from 2deg at 50% 50%,transparent 0deg 5.6deg,rgba(159,239,255,.78) 6deg 6.25deg,transparent 6.6deg 11deg);-webkit-mask-image:radial-gradient(ellipse at center,transparent 0 47%,#000 65% 100%);mask-image:radial-gradient(ellipse at center,transparent 0 47%,#000 65% 100%);transform:scale(.91);transform-origin:center}
.speed-surge::after{background:repeating-conic-gradient(from 7deg at 50% 50%,transparent 0deg 8.2deg,rgba(73,153,255,.56) 8.5deg 8.8deg,transparent 9.2deg 16deg);filter:blur(1.2px)}
.game-shell.speedburst .speed-surge{opacity:1}
.game-shell.speedburst .speed-surge::before{opacity:.82;animation:speed-surge-lines .34s linear infinite}
.game-shell.speedburst .speed-surge::after{opacity:.6;animation:speed-surge-lines .48s linear infinite reverse}
@keyframes speed-surge-lines{0%{transform:scale(.91) rotate(-.5deg)}100%{transform:scale(1.12) rotate(1.5deg)}}
body.reduced-motion .game-shell.speedburst .speed-surge::before,body.reduced-motion .game-shell.speedburst .speed-surge::after{animation:none;opacity:.34;transform:scale(1.02)}
@media(prefers-reduced-motion:reduce){.game-shell.speedburst .speed-surge::before,.game-shell.speedburst .speed-surge::after{animation:none;opacity:.34;transform:scale(1.02)}}

/* Stable authored power icons keep their decoded image node through pause/resume. */
.power-pill>.power-icon-frame{position:relative;display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-width:42px}
.power-icon-frame img{position:relative;z-index:1;display:block}
.power-icon-fallback{display:grid;place-items:center;color:var(--power-accent,#73efd2);font-size:25px;line-height:1;text-shadow:0 0 10px currentColor;transition:opacity .12s ease}
.power-icon-frame>.power-icon-fallback{position:absolute;inset:0;z-index:0}
.power-pill:not(.icon-loading):not(.icon-missing) .power-icon-fallback{opacity:0}
.power-pill.icon-missing .power-icon-fallback{opacity:1}.power-pill.icon-loading .power-icon-fallback{opacity:0}
.power-pill.icon-missing img{display:none}
.power-pickup>.power-icon-fallback{position:relative;z-index:1;flex:0 0 76px;width:76px;height:76px;color:var(--pickup-accent);font-size:38px}
.power-pickup:not(.icon-missing)>.power-icon-fallback{display:none}
.power-pickup.icon-loading>img{opacity:0}.power-pickup.icon-missing>img{display:none}
@media(max-width:800px){.power-pill>.power-icon-frame{flex-basis:34px;width:34px;height:34px;min-width:34px}.power-pickup>.power-icon-fallback{flex-basis:62px;width:62px;height:62px}}

/* Centered, staged run result. RESULT_WAVE_ENABLED in app.mjs is the code-level switch. */
.gameover{justify-content:center;padding:24px}
.gameover .result-card{width:min(470px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;padding:30px 34px 28px;text-align:center;box-shadow:8px 9px 0 #050807d9,0 0 0 1px #d8ecad20}
.result-card:focus{outline:none}
.result-eyebrow{display:block}
.result-title{display:flex;justify-content:center;align-items:baseline;margin:12px 0 6px;min-height:1.15em;transform-origin:center}
.result-title>span{display:inline-block;transform-origin:50% 80%;will-change:transform}
.result-copy{margin:0 0 12px}
.result-rule{height:1px;margin:0 0 12px;background:linear-gradient(90deg,transparent,#c9df91 15% 85%,transparent);transform-origin:left center}
.result-card .results{margin:0 0 12px;padding:0;border:0}
.result-card .result-row{display:flex;align-items:center;justify-content:space-between;min-height:34px;border-bottom:1px dotted #526249;padding:5px 0;gap:20px}
.result-card .result-row>span{display:flex;align-items:center;gap:8px;text-align:left}
.result-card .result-row b{font-variant-numeric:tabular-nums;white-space:nowrap}
.result-chip-icon{display:block;width:27px;height:27px;object-fit:contain;filter:drop-shadow(0 2px 1px #0009)}
.result-record{margin:8px 0 13px;color:#f3d95c;letter-spacing:2px}
.result-actions{display:grid;gap:10px}
.result-actions button{margin:0}
.gameover:not(.results-ready):not(.results-reduced) .result-title,.gameover:not(.results-ready):not(.results-reduced) .result-copy,.gameover:not(.results-ready):not(.results-reduced) .result-rule,.gameover:not(.results-ready):not(.results-reduced) .result-row,.gameover:not(.results-ready):not(.results-reduced) .result-record,.gameover:not(.results-ready):not(.results-reduced) .result-actions{opacity:0}
.gameover:not(.results-ready):not(.results-reduced) .result-actions{visibility:hidden;pointer-events:none}
.results-sequenced .result-title{animation:result-stamp .52s cubic-bezier(.18,.92,.28,1.15) both}
.results-sequenced .result-copy,.results-sequenced .result-rule{animation:result-reveal .32s ease-out .56s both}
.results-sequenced .result-row{animation:result-row-in .3s ease-out calc(.9s + var(--result-index)*.28s) both}
.results-sequenced .result-record{animation:result-reveal .3s ease-out 4.48s both}
.results-sequenced .result-actions{animation:result-reveal .3s ease-out 4.75s both}
.results-ready .result-title,.results-ready .result-copy,.results-ready .result-rule,.results-ready .result-row,.results-ready .result-record,.results-ready .result-actions,.results-reduced .result-title,.results-reduced .result-copy,.results-reduced .result-rule,.results-reduced .result-row,.results-reduced .result-record,.results-reduced .result-actions{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.result-wave-enabled .result-title>span{animation:busted-letter-wave 1.05s linear calc(.6s + var(--letter-index)*.055s) infinite;backface-visibility:hidden}
@keyframes result-stamp{0%{opacity:0;transform:translateY(-22px) scale(1.42) rotate(-2deg);filter:blur(4px)}62%{opacity:1;transform:translateY(3px) scale(.94) rotate(.5deg);filter:blur(0)}100%{opacity:1;transform:none}}
@keyframes result-reveal{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
@keyframes result-row-in{0%{opacity:0;transform:translateX(-16px)}100%{opacity:1;transform:none}}
@keyframes busted-letter-wave{0%,48%,100%{transform:translate3d(0,0,0) scale(1)}6%{transform:translate3d(0,-.018em,0) scale(1.02,.995)}12%{transform:translate3d(0,-.07em,0) scale(1.07,.98)}20%{transform:translate3d(0,-.14em,0) scale(1.14,.94)}26%{transform:translate3d(0,-.17em,0) scale(1.18,.92)}32%{transform:translate3d(0,-.1em,0) scale(1.11,.98)}39%{transform:translate3d(0,.015em,0) scale(.99,1.035)}44%{transform:translate3d(0,-.006em,0) scale(1.01,1)}}
body.reduced-motion .results-sequenced .result-title,body.reduced-motion .results-sequenced .result-copy,body.reduced-motion .results-sequenced .result-rule,body.reduced-motion .results-sequenced .result-row,body.reduced-motion .results-sequenced .result-record,body.reduced-motion .results-sequenced .result-actions,body.reduced-motion .result-wave-enabled .result-title>span{animation:none}
@media(prefers-reduced-motion:reduce){.results-sequenced .result-title,.results-sequenced .result-copy,.results-sequenced .result-rule,.results-sequenced .result-row,.results-sequenced .result-record,.results-sequenced .result-actions,.result-wave-enabled .result-title>span{animation:none}.gameover .result-title,.gameover .result-copy,.gameover .result-rule,.gameover .result-row,.gameover .result-record,.gameover .result-actions{opacity:1;visibility:visible;pointer-events:auto;transform:none}}
@media(max-width:800px){.gameover{padding:14px}.gameover .result-card{width:min(420px,calc(100% - 12px));padding:22px 24px 20px}.result-card .result-row{min-height:30px}.result-chip-icon{width:23px;height:23px}}
@media(max-height:670px){.gameover .result-card{padding-top:16px;padding-bottom:16px}.result-title{margin:4px 0}.result-card .result-row{min-height:27px;padding:3px 0}.result-copy{margin-bottom:7px}.result-rule{margin-bottom:7px}.result-actions{gap:6px}}
.result-final-rule{height:1px;margin:2px 0 12px;background:linear-gradient(90deg,transparent,#c9df91 15% 85%,transparent);transform-origin:center}
.gameover:not(.results-ready):not(.results-reduced) .result-final-rule{opacity:0}
.results-sequenced .result-final-rule{animation:result-reveal .3s ease-out 4.72s both}
.results-ready .result-final-rule,.results-reduced .result-final-rule{opacity:1;visibility:visible;transform:none}
body.reduced-motion .results-sequenced .result-final-rule{animation:none}
@media(prefers-reduced-motion:reduce){.results-sequenced .result-final-rule{animation:none}.gameover .result-final-rule{opacity:1;visibility:visible;transform:none}}
.power-pickup>span.power-icon-fallback{display:grid;flex-direction:initial;line-height:1}

body.reduced-motion .score-bonus{transition:none}

/* Pursuit escape reward: two supplied chase-art profiles join like a classic versus banner. */
.pursuit-reward{
 display:block;isolation:isolate;overflow:visible;width:min(540px,calc(100% - 28px));height:190px;min-width:0;padding:0;
 border:0;background:transparent;box-shadow:none;text-shadow:3px 3px #35160d;opacity:0;
}
.pursuit-reward::before{
 content:'';position:absolute;z-index:-2;inset:-34px -52px;border-radius:50%;opacity:0;transform:scale(.72);
 background:radial-gradient(ellipse at center,#ffe98980 0 18%,#f0a42f52 31%,#75df9e24 48%,transparent 70%);
 filter:blur(3px);pointer-events:none;
}
.pursuit-panel{
 position:absolute;z-index:-1;top:0;bottom:0;width:54%;overflow:hidden;margin:0;padding:0;border:3px solid #fff1bd;
 background:#0b1715;box-shadow:0 8px 0 #35160d,0 0 0 2px #172b21,0 15px 32px #050807b8;
}
.pursuit-panel img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.04)}
.pursuit-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#06100bd1 0,#07100a3b 54%,#2711083d 100%);pointer-events:none}
.pursuit-panel-guard{left:0;clip-path:polygon(0 0,100% 0,84% 100%,0 100%);transform:translate3d(-72%,0,0) rotate(-3deg)}
.pursuit-panel-cat{right:0;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);transform:translate3d(72%,0,0) rotate(3deg)}
.pursuit-reward strong{
 display:block;position:absolute;z-index:3;left:7%;right:7%;top:50%;transform:translateY(-62%) scale(.82);opacity:0;
 font-size:clamp(29px,4vw,51px);line-height:.9;letter-spacing:1.5px;text-align:center;color:#fff5ce;
 text-shadow:4px 4px #35160d,-2px -2px #102f28,0 0 14px #e66e26;
}
.pursuit-reward #pursuit-reward-score{
 display:block;position:absolute;z-index:3;left:50%;bottom:12px;transform:translate3d(-50%,10px,0) scale(.76);opacity:0;
 width:max-content;max-width:80%;margin:0;padding:3px 15px 4px;border:2px solid #f5e59a;background:#0e2d28e8;color:#aef27b;
 box-shadow:3px 3px 0 #35160d;font-size:clamp(22px,2.7vw,34px);text-align:center;
}
.pursuit-reward.show{animation:pursuit-reward-card 2.8s linear both}
.pursuit-reward.show::before{animation:pursuit-reward-aura 2.8s ease-out both}
.pursuit-reward.show .pursuit-panel-guard{animation:pursuit-panel-left 2.8s cubic-bezier(.18,.9,.2,1) both}
.pursuit-reward.show .pursuit-panel-cat{animation:pursuit-panel-right 2.8s cubic-bezier(.18,.9,.2,1) both}
.pursuit-reward.show strong{animation:pursuit-message-in 2.8s cubic-bezier(.18,.85,.2,1) both}
.pursuit-reward.show #pursuit-reward-score{animation:pursuit-score-in 2.8s cubic-bezier(.18,.85,.2,1) both}
@keyframes pursuit-reward-card{0%{opacity:0}4%,84%{opacity:1}100%{opacity:0}}
@keyframes pursuit-panel-left{0%{transform:translate3d(-72%,0,0) rotate(-3deg)}13%{transform:translate3d(2%,0,0) rotate(.8deg)}19%,86%{transform:none}100%{transform:translate3d(-8%,-5px,0)}}
@keyframes pursuit-panel-right{0%{transform:translate3d(72%,0,0) rotate(3deg)}13%{transform:translate3d(-2%,0,0) rotate(-.8deg)}19%,86%{transform:none}100%{transform:translate3d(8%,-5px,0)}}
@keyframes pursuit-reward-aura{0%,11%{opacity:0;transform:scale(.72)}19%{opacity:1;transform:scale(1.08)}29%{opacity:.62;transform:scale(.98)}40%,78%{opacity:.76;transform:scale(1.025)}100%{opacity:0;transform:scale(1.12)}}
@keyframes pursuit-message-in{0%,15%{opacity:0;transform:translateY(-62%) scale(.72)}22%{opacity:1;transform:translateY(-62%) scale(1.09)}29%,84%{opacity:1;transform:translateY(-62%) scale(1)}100%{opacity:0;transform:translateY(-67%) scale(1.03)}}
@keyframes pursuit-score-in{0%,21%{opacity:0;transform:translate3d(-50%,10px,0) scale(.76)}28%{opacity:1;transform:translate3d(-50%,-2px,0) scale(1.08)}35%,84%{opacity:1;transform:translate3d(-50%,0,0) scale(1)}100%{opacity:0;transform:translate3d(-50%,-5px,0) scale(1.02)}}
.score-bonus{
 font-size:clamp(29px,3.4vw,43px);line-height:.8;font-weight:700;color:#ffd15a;
 opacity:0;transform-origin:right center;transform:translate3d(.5em,0,0) scale(.18);
 text-shadow:3px 3px #5b2413,0 0 10px #f09b2b80;transition:none;
}
.score-bonus.show{animation:score-bonus-pop 2.2s cubic-bezier(.18,.78,.2,1) both}
@keyframes score-bonus-pop{0%{opacity:0;transform:translate3d(.55em,.2em,0) scale(.18)}13%{opacity:1;transform:translate3d(-.04em,-.04em,0) scale(1.22)}24%{transform:translate3d(.02em,.015em,0) scale(.91)}36%{transform:translate3d(-.01em,-.01em,0) scale(1.07)}48%,82%{opacity:1;transform:translate3d(0,0,0) scale(1)}100%{opacity:0;transform:translate3d(-.14em,-.08em,0) scale(1.04)}}
body.reduced-motion .pursuit-reward.show{animation:none;opacity:1}
body.reduced-motion .pursuit-reward.show::before{animation:none;opacity:.65;transform:none}
body.reduced-motion .pursuit-reward.show .pursuit-panel,body.reduced-motion .pursuit-reward.show strong,body.reduced-motion .pursuit-reward.show #pursuit-reward-score{animation:none;opacity:1}
body.reduced-motion .pursuit-reward.show .pursuit-panel{transform:none}body.reduced-motion .pursuit-reward.show strong{transform:translateY(-62%)}body.reduced-motion .pursuit-reward.show #pursuit-reward-score{transform:translateX(-50%)}body.reduced-motion .score-bonus.show{animation:none;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.pursuit-reward.show{animation:none;opacity:1}.pursuit-reward.show::before{animation:none;opacity:.65;transform:none}.pursuit-reward.show .pursuit-panel,.pursuit-reward.show strong,.pursuit-reward.show #pursuit-reward-score{animation:none;opacity:1}.pursuit-reward.show .pursuit-panel{transform:none}.pursuit-reward.show strong{transform:translateY(-62%)}.pursuit-reward.show #pursuit-reward-score{transform:translateX(-50%)}.score-bonus.show{animation:none;opacity:1;transform:none}}
@media(max-width:620px){.pursuit-reward{top:16%;height:160px}.pursuit-reward strong{font-size:clamp(25px,8.1vw,38px)}.pursuit-reward #pursuit-reward-score{bottom:9px}.score-line{gap:6px}.score-bonus{font-size:clamp(25px,7vw,34px)}}

/* Pause freezes transient feedback exactly where it is; resume continues the same animation. */
#pause-panel{z-index:40}
.game-shell.paused .power-pickup,.game-shell.paused .pursuit-reward,.game-shell.paused .pursuit-reward::before,.game-shell.paused .pursuit-reward *,.game-shell.paused .score-bonus,.game-shell.paused .hit-flash,.game-shell.paused .run-banner,.game-shell.paused .toast{animation-play-state:paused!important}

/* Borderless full-viewport presentation: interface chrome lives over the game. */
html,body{width:100%;height:100%;min-height:100%;overflow:hidden}
label{text-align:center}
.cabinet{width:100%;max-width:none;height:100dvh;min-height:0;margin:0;padding:0;position:relative}
.game-shell{width:100%;height:100dvh;min-height:0;max-height:none;border:0;box-shadow:none}
.game-shell:before,.game-shell:after{display:none}
.menu-nav button,.settings-row>span,.settings-row small,.records-table th,.records-table td,.how-item{text-align:center}
.record-summary{display:grid;place-items:center;gap:4px;margin:4px 0 18px;padding:16px;border:1px solid #536848;background:#16231de6;text-align:center}
.record-summary span{color:#9eb28d;font-size:17px;letter-spacing:2px}
.record-summary strong{color:#eaf5d4;font-size:clamp(36px,7vw,58px);font-weight:400;line-height:1}
.footer{position:absolute;z-index:13;left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));height:auto;min-height:36px;padding:0;pointer-events:none;text-shadow:2px 2px #06100b}
.footer button{pointer-events:auto}
.footer-right{display:flex;gap:10px;align-items:center}
.footer-right button{margin:0;padding:7px 10px;border:1px solid #647456;background:#101914d9;color:#e0e8d4}

.mobile-control-hint{display:none}
.screen-bottom{bottom:62px}

@media(max-width:800px){
 .footer{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(9px,env(safe-area-inset-bottom));display:flex;height:auto;justify-content:space-between;gap:8px;font-size:12px}
 .footer .control-legend{display:flex;min-width:0;flex:1}
 .desktop-control-hint{display:none!important}
 .mobile-control-hint{display:block!important;max-width:160px;white-space:normal!important;overflow-wrap:anywhere;text-align:left;line-height:1.05}
 .footer .footer-right{display:flex;gap:6px}
 .footer-right>span{display:none}

 .footer-right #how-to{font-size:12px;padding:7px 8px;white-space:nowrap}
 .footer-right #how-to span{margin-left:3px}
 .screen-bottom{bottom:57px}
 .hud{bottom:62px}
}

@media(max-width:480px){
 .game-shell{height:100dvh;min-height:0}
 .footer{left:max(9px,env(safe-area-inset-left));right:max(9px,env(safe-area-inset-right))}
 .mobile-control-hint{max-width:140px}
 .footer-right #how-to{font-size:11px}
 .screen-bottom{bottom:54px}
}

/* First-load presentation stays above every game layer until textures and the active model family render. */
body.boot-loading-active{overflow:hidden}
.boot-loading{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:hidden;background:radial-gradient(circle at 50% 42%,#244b36 0,#142f25 42%,#071b15 100%);opacity:1;visibility:visible;animation:boot-loading-arrive .46s ease-out both;transition:opacity 1.05s cubic-bezier(.22,.72,.26,1),visibility 0s linear 1.05s}
.boot-loading[hidden]{display:none}
.boot-loading-content{--boot-loading-icon-size:clamp(140px,20vw,192px);position:relative;display:grid;place-items:center;width:min(92vw,760px);height:var(--boot-loading-icon-size);text-align:center;transform:translate3d(0,0,0);transition:transform 1.05s cubic-bezier(.22,.72,.26,1),filter 1.05s ease}
.boot-loading-icon{display:block;width:var(--boot-loading-icon-size);aspect-ratio:1;object-fit:cover;border:3px solid #f8f6e9;border-radius:25%;clip-path:inset(0 round 25%);background:#f8f6e9;box-shadow:0 12px 0 #06140f80,0 0 0 7px #3fa764,0 22px 50px #020d09a6}
.boot-loading-copy{position:absolute;top:calc(100% + clamp(20px,3.4vh,30px) + 22px + clamp(12px,2.2vh,20px));left:0;right:0;min-height:1.45em;margin:0;color:#f5823b;font-family:"Arial Rounded MT Bold","Trebuchet MS","Microsoft JhengHei","Noto Sans TC",system-ui,sans-serif;font-size:clamp(24px,4.2vw,43px);font-weight:900;line-height:1.2;letter-spacing:.015em;-webkit-text-stroke:1.5px #fff;paint-order:stroke fill;text-shadow:0 3px 0 #123e2b,2px 5px 0 #071a12;white-space:nowrap}
/* Boot progress bar (operator 2026-10-06): the real loading progress (loading-screen.mjs createBootProgress); a rounded bar with a white stroke and an orange
   fill hatched with lighter, whitish-orange diagonal stripes that scroll slowly (still under Reduced Motion) */
.boot-loading-bar{position:absolute;top:calc(100% + clamp(20px,3.4vh,30px));left:50%;width:min(78vw,360px);height:22px;box-sizing:border-box;transform:translateX(-50%);border:3px solid #fff;border-radius:999px;background:#0a2219;box-shadow:0 4px 0 #06140f80,inset 0 2px 4px #0009;overflow:hidden}
.boot-loading-bar-fill{display:block;width:0;height:100%;border-radius:999px;background-color:#f5823b;background-image:linear-gradient(-45deg,#ffd0a0 25%,transparent 25%,transparent 50%,#ffd0a0 50%,#ffd0a0 75%,transparent 75%,transparent);background-size:20px 20px;box-shadow:inset 0 -3px 0 #bd512866;transition:width .32s ease-out;animation:boot-loading-stripes 1.1s linear infinite}
@keyframes boot-loading-stripes{from{background-position:0 0}to{background-position:20px 0}}
.boot-loading-copy>span{display:inline-block;animation:boot-loading-letter-wave 1.05s linear calc(var(--letter-index)*.055s) infinite;backface-visibility:hidden;transform-origin:center bottom;will-change:transform}
.boot-loading-copy>.boot-loading-space{width:.25em;animation:none}
.boot-loading-copy.is-changing{animation:boot-loading-copy-change .34s ease-out both}
.boot-loading.is-leaving{opacity:0;visibility:hidden;animation:none}
.boot-loading.is-leaving .boot-loading-content{transform:translate3d(0,-12px,0) scale(.965);filter:blur(5px)}
@keyframes boot-loading-arrive{0%{opacity:0}100%{opacity:1}}
@keyframes boot-loading-copy-change{0%{opacity:0;transform:translate3d(0,7px,0)}100%{opacity:1;transform:none}}
@keyframes boot-loading-letter-wave{0%,48%,100%{transform:translate3d(0,0,0) scale(1)}6%{transform:translate3d(0,-.018em,0) scale(1.02,.995)}12%{transform:translate3d(0,-.07em,0) scale(1.07,.98)}20%{transform:translate3d(0,-.14em,0) scale(1.14,.94)}26%{transform:translate3d(0,-.17em,0) scale(1.18,.92)}32%{transform:translate3d(0,-.1em,0) scale(1.11,.98)}39%{transform:translate3d(0,.015em,0) scale(.99,1.035)}44%{transform:translate3d(0,-.006em,0) scale(1.01,1)}}
body.reduced-motion .boot-loading,body.reduced-motion .boot-loading-copy>span,body.reduced-motion .boot-loading-copy.is-changing,body.reduced-motion .boot-loading-bar-fill{animation:none}
body.reduced-motion .boot-loading{transition:opacity .32s linear,visibility 0s linear .32s}
body.reduced-motion .boot-loading-content{transition:none}
@media(prefers-reduced-motion:reduce){.boot-loading,.boot-loading-copy>span,.boot-loading-copy.is-changing,.boot-loading-bar-fill{animation:none}.boot-loading{transition:opacity .32s linear,visibility 0s linear .32s}.boot-loading-content{transition:none}}
@media(max-height:500px){.boot-loading-content{--boot-loading-icon-size:clamp(96px,28vh,128px);top:-9vh}.boot-loading-bar{top:calc(100% + 14px);height:20px}.boot-loading-copy{top:calc(100% + 46px);font-size:clamp(20px,6.4vh,30px)}}
@media(max-width:600px){.boot-loading-content{--boot-loading-icon-size:clamp(132px,38vw,168px)}.boot-loading-bar{top:calc(100% + 22px);height:18px}.boot-loading-copy{top:calc(100% + 58px);max-width:94vw;font-size:clamp(21px,6.2vw,29px);white-space:normal;-webkit-text-stroke:1.2px #fff}}


/* Keep interactive text and safe-area-sensitive overlays centered and reachable. */
button,.menu-dialog,.menu-dialog p,.skin-card,.mission,.mission-title,.wallet,.dialog-top,.character-caption,.name-tag{text-align:center}
.character-rule{margin-left:auto;margin-right:auto}
.dialog-top{position:relative;justify-content:center;padding:0 42px}
.dialog-top .icon-button{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.screen-top{pointer-events:none;top:max(21px,calc(env(safe-area-inset-top) + 10px));left:max(27px,calc(env(safe-area-inset-left) + 14px));right:max(27px,calc(env(safe-area-inset-right) + 14px))}
.hud{top:max(60px,calc(env(safe-area-inset-top) + 48px));right:max(28px,calc(env(safe-area-inset-right) + 16px));bottom:max(64px,calc(env(safe-area-inset-bottom) + 52px));left:max(28px,calc(env(safe-area-inset-left) + 16px))}
.center-overlay{padding-top:max(24px,calc(env(safe-area-inset-top) + 14px));padding-right:max(24px,calc(env(safe-area-inset-right) + 14px));padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));padding-left:max(24px,calc(env(safe-area-inset-left) + 14px))}
.menu-dialog{width:min(760px,calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right) - 32px));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}
.menu-nav{left:max(5.5%,calc(env(safe-area-inset-left) + 14px));right:max(5.5%,calc(env(safe-area-inset-right) + 14px));top:max(57px,calc(env(safe-area-inset-top) + 42px))}

@media(max-width:800px){
 .screen-top{left:max(15px,calc(env(safe-area-inset-left) + 10px));right:max(15px,calc(env(safe-area-inset-right) + 10px));top:max(18px,calc(env(safe-area-inset-top) + 8px))}
 .hud{top:max(55px,calc(env(safe-area-inset-top) + 42px));right:max(17px,calc(env(safe-area-inset-right) + 10px));bottom:max(62px,calc(env(safe-area-inset-bottom) + 50px));left:max(17px,calc(env(safe-area-inset-left) + 10px))}
 .menu-nav{left:max(5%,calc(env(safe-area-inset-left) + 9px));right:max(5%,calc(env(safe-area-inset-right) + 9px));top:max(48px,calc(env(safe-area-inset-top) + 38px))}
 .center-overlay{padding-top:max(14px,calc(env(safe-area-inset-top) + 9px));padding-right:max(14px,calc(env(safe-area-inset-right) + 9px));padding-bottom:max(14px,calc(env(safe-area-inset-bottom) + 9px));padding-left:max(14px,calc(env(safe-area-inset-left) + 9px))}
}

@media(max-width:900px) and (max-height:500px){
 .screen-top{display:none}
 .menu-nav{top:max(10px,calc(env(safe-area-inset-top) + 7px));gap:6px}
 .menu-nav button{padding:6px 10px;font-size:14px}
 .menu-story{top:20%;left:max(5%,calc(env(safe-area-inset-left) + 12px));width:48%}
 .menu-story .edition,.menu-story .japanese,.menu-story .menu-hint{display:none}
 .main-menu .logo-line{font-size:72px}
 .menu-story .logo-sub{font-size:19px;margin-top:5px}
 .menu-story .tagline{font-size:18px;margin:7px 0 9px}
 .menu-story .start-button{width:210px;padding:7px 10px;font-size:21px}
 .character-caption{display:none}
 .desktop-control-hint{display:none!important}
 .mobile-control-hint{display:inline!important;white-space:nowrap;text-align:center}
 .footer{left:max(10px,calc(env(safe-area-inset-left) + 8px));right:max(10px,calc(env(safe-area-inset-right) + 8px));bottom:max(7px,calc(env(safe-area-inset-bottom) + 6px));font-size:11px}
 .footer-right>span{display:none}
 .footer-right{display:flex}

 .footer-right #how-to{font-size:11px;padding:5px 7px}
 .hud{top:max(12px,calc(env(safe-area-inset-top) + 8px));bottom:max(48px,calc(env(safe-area-inset-bottom) + 42px))}
}
.control-legend>.mobile-control-hint{display:none}


/* Player-facing brand and settings polish. */
.menu-story{container-type:inline-size}
.game-logo{max-width:100%}
.main-menu .logo-line{display:inline-flex;align-items:baseline;gap:.012em;max-width:100%;font-size:clamp(60px,28cqw,144px);font-kerning:none;letter-spacing:0;white-space:nowrap}
.logo-letter{display:inline-block;transform-origin:50% 82%;will-change:transform;animation:busted-letter-wave 1.15s linear calc(.2s + var(--logo-letter-index)*.06s) infinite}
.logo-letter-green{color:#89d353}
.logo-letter-orange{color:#f08236}
.settings-row,.settings-row>span,.settings-row small,.settings-row label{text-align:left}
.settings-row>span{flex:1;min-width:0}
.settings-heading{display:flex;align-items:center;gap:8px;line-height:1}
.info-tooltip{position:relative;display:inline-flex;align-items:center}
.info-tooltip-trigger{display:grid;place-items:center;width:30px;height:30px;padding:6px;border:0;border-radius:0;background:transparent}
.tooltip-tail-icon{display:block;width:18px;height:18px;background:#f7f5e8;-webkit-mask:var(--tooltip-tail) center/contain no-repeat;mask:var(--tooltip-tail) center/contain no-repeat;transform-origin:center;transition:transform .28s cubic-bezier(.2,.8,.3,1),background-color .28s ease}
.info-tooltip-trigger:hover .tooltip-tail-icon,.info-tooltip-trigger:focus-visible .tooltip-tail-icon,.info-tooltip-trigger.tooltip-open .tooltip-tail-icon{background:#f5822d;transform:rotate(24deg)}
.info-tooltip-content{position:absolute;z-index:4;left:0;top:calc(100% + 10px);width:min(310px,72vw);padding:10px 12px;border:1px solid #f2e8ba;background:#15201ced;color:#f4f1dc;font-size:17px;line-height:1.15;text-align:left;box-shadow:4px 5px 0 #050807;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px);transition:opacity .18s ease,transform .22s ease,visibility 0s linear .22s}
.info-tooltip:hover .info-tooltip-content,.info-tooltip:focus-within .info-tooltip-content,.info-tooltip-trigger.tooltip-open+.info-tooltip-content{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.chip-icon{display:block;width:40px;height:40px;object-fit:contain;background:none;border:0;border-radius:0;filter:drop-shadow(0 3px 2px #0009);transform:none}
.chip-icon.chip-bounce{animation:chip-hud-bounce .24s cubic-bezier(.25,.75,.35,1)}
@keyframes chip-hud-bounce{0%,100%{transform:translate3d(0,0,0) rotate(0) scale(1)}34%{transform:translate3d(0,-7px,0) rotate(-7deg) scale(1.08)}68%{transform:translate3d(0,2px,0) rotate(3deg) scale(.98)}}
.game-shell.paused .chip-icon{animation-play-state:paused!important}
body.reduced-motion .logo-letter,body.reduced-motion .chip-icon.chip-bounce{animation:none}
body.reduced-motion .tooltip-tail-icon{transition:none}
body.reduced-motion .info-tooltip-trigger:hover .tooltip-tail-icon,body.reduced-motion .info-tooltip-trigger:focus-visible .tooltip-tail-icon,body.reduced-motion .info-tooltip-trigger.tooltip-open .tooltip-tail-icon{transform:none}
@media(prefers-reduced-motion:reduce){.logo-letter,.chip-icon.chip-bounce{animation:none}.tooltip-tail-icon{transition:none}.info-tooltip-trigger:hover .tooltip-tail-icon,.info-tooltip-trigger:focus-visible .tooltip-tail-icon,.info-tooltip-trigger.tooltip-open .tooltip-tail-icon{transform:none}}
@media(max-width:800px){.chip-icon{width:34px;height:34px}.settings-row{gap:10px}.info-tooltip-content{width:min(280px,76vw)}}
@media(max-width:900px) and (max-height:500px){.main-menu .logo-line{font-size:clamp(56px,20cqw,72px)}}

/* Chip count is an unobstructed HUD readout; the game world remains visible behind it. */
.collectibles,.hud .collectibles,.hud-top .collectibles{background:transparent;border:0;padding:0;box-shadow:none}

/* Smooth booster-row lifecycle and shared achievement presentation. */
.power-pill.power-pill-enter{animation:power-pill-enter .42s cubic-bezier(.16,1,.3,1) both}
.power-pill.power-pill-exit{animation:power-pill-exit .34s cubic-bezier(.55,0,1,.45) both;pointer-events:none}
@keyframes power-pill-enter{0%{opacity:0;transform:translate3d(-28px,-3px,0) scale(.78)}58%{opacity:1;transform:translate3d(4px,0,0) scale(1.045)}78%{transform:translate3d(-2px,0,0) scale(.985)}100%{opacity:1;transform:none}}
@keyframes power-pill-exit{0%{opacity:1;transform:none}28%{opacity:1;transform:translate3d(3px,0,0) scale(1.035)}100%{opacity:0;transform:translate3d(-32px,-4px,0) scale(.76)}}

.achievement-rays{--achievement-ray:#fff;position:absolute;z-index:-3;inset:-52px -72px;margin:0!important;color:transparent!important;opacity:0;pointer-events:none;transform-origin:center;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--achievement-ray) 70%,transparent))}
.achievement-rays::before,.achievement-rays::after{content:'';position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 6.8deg,var(--achievement-ray) 7.8deg 9.7deg,transparent 10.7deg 18deg);-webkit-mask:radial-gradient(ellipse at center,transparent 0 49%,#000 55% 70%,transparent 76%);mask:radial-gradient(ellipse at center,transparent 0 49%,#000 55% 70%,transparent 76%);transform-origin:center}
.achievement-rays::after{inset:8%;opacity:.46;filter:blur(2px)}
.achievement-rays-white{--achievement-ray:#fffef2}.achievement-rays-gold{--achievement-ray:#ffd65d}
.pursuit-reward>.achievement-rays{display:block;margin:0;font-size:0;color:transparent}
.pursuit-reward.show{animation:pursuit-reward-card 3.8s linear both}
.pursuit-reward.show::before{animation:pursuit-reward-aura 3.8s ease-out both}
.pursuit-reward.show .pursuit-panel-guard{animation:pursuit-panel-left 3.8s cubic-bezier(.18,.9,.2,1) both}
.pursuit-reward.show .pursuit-panel-cat{animation:pursuit-panel-right 3.8s cubic-bezier(.18,.9,.2,1) both}
.pursuit-reward.show strong{animation:pursuit-message-in 3.8s cubic-bezier(.18,.85,.2,1) both}
.pursuit-reward.show #pursuit-reward-score{animation:pursuit-score-in 3.8s cubic-bezier(.18,.85,.2,1) both}
.pursuit-reward.show>.achievement-rays{animation:achievement-rays-reveal 3.8s ease both}
.pursuit-reward.show>.achievement-rays::before{animation:achievement-rays-clockwise 1.85s linear infinite}
.pursuit-reward.show>.achievement-rays::after{animation:achievement-rays-clockwise 2.45s linear infinite}
.score-bonus.show{animation:score-bonus-pop 4.2s cubic-bezier(.18,.78,.2,1) both}
@keyframes achievement-rays-clockwise{to{transform:rotate(360deg)}}
@keyframes achievement-rays-reveal{0%,8%{opacity:0;transform:scale(.82)}16%{opacity:.95;transform:scale(1.05)}25%,82%{opacity:.78;transform:scale(1)}100%{opacity:0;transform:scale(1.09)}}

.mission-reward{--mission-a:#9d3cbd;--mission-b:#1b8274;position:absolute;isolation:isolate;overflow:visible;z-index:23;left:50%;top:max(104px,calc(env(safe-area-inset-top) + 88px));width:min(560px,calc(100% - 180px));transform:translate3d(-50%,-18px,0) rotate(-1deg) scale(.78);opacity:0;pointer-events:none;text-align:left;color:#fff8db}
.mission-reward-surface{position:relative;z-index:1;display:grid;grid-template-columns:clamp(90px,22%,118px) minmax(0,1fr);min-height:126px;overflow:hidden;border:3px solid #fff0aa;background:linear-gradient(125deg,var(--mission-a),color-mix(in srgb,var(--mission-a) 72%,#111b25) 46%,var(--mission-b));box-shadow:7px 8px 0 #21120c,0 0 0 3px #14322a,0 16px 35px #020706a8;text-shadow:2px 2px #32170d}
.mission-reward-surface::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(105deg,transparent 0 39%,#fff8c944 46%,#fff9db9e 50%,transparent 58% 100%);background-size:240% 100%;background-position:140% 0}
.mission-reward-prize{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:13px 10px;background:#132b25c9;border-right:2px solid #fff0aa;text-align:center}
.mission-reward-prize img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 3px 0 #27150a)}
.mission-reward-prize span{display:block;color:#bdf684;font-size:clamp(18px,2.2vw,25px);line-height:1;text-shadow:2px 2px #18381e}
.mission-reward-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:15px 22px 15px 20px}
.mission-reward small{display:block;color:#ffe176;font-size:13px;letter-spacing:2px;line-height:1}
.mission-reward strong{display:block;margin:7px 0 6px;font-size:clamp(25px,3.2vw,36px);font-weight:700;line-height:1.05;letter-spacing:.5px;color:#fffbed}
.mission-reward p{margin:0;color:#fff9e8;font-family:system-ui,sans-serif;font-size:clamp(14px,1.55vw,17px);font-weight:500;line-height:1.28;text-shadow:1px 1px #32170d}
.mission-reward[data-theme="distance"]{--mission-a:#246ec7;--mission-b:#08a98e}
.mission-reward[data-theme="street-coins"]{--mission-a:#d14b31;--mission-b:#e4a82f}
.mission-reward[data-theme="powers"]{--mission-a:#7c45c6;--mission-b:#2e81cf}
.mission-reward[data-theme="dodges"]{--mission-a:#c83e70;--mission-b:#e06b2d}
.mission-reward[data-theme="score"]{--mission-a:#16866d;--mission-b:#80a832}
.mission-reward[data-theme="first-run"]{--mission-a:#bd5d25;--mission-b:#ab3b53}
.mission-reward.show{animation:mission-reward-card 4.6s cubic-bezier(.16,.88,.24,1) both}
.mission-reward.show .mission-reward-surface::before{animation:mission-reward-sheen 4.6s ease both}
.mission-reward.show>.achievement-rays{animation:achievement-rays-reveal 4.6s ease both}
.mission-reward.show>.achievement-rays::before{animation:achievement-rays-clockwise 1.7s linear infinite}
.mission-reward.show>.achievement-rays::after{animation:achievement-rays-clockwise 2.25s linear infinite}
@keyframes mission-reward-card{0%{opacity:0;transform:translate3d(-50%,-25px,0) rotate(-3deg) scale(.72)}9%{opacity:1;transform:translate3d(-50%,3px,0) rotate(.6deg) scale(1.08)}16%{transform:translate3d(-50%,-1px,0) rotate(-1deg) scale(.97)}22%,84%{opacity:1;transform:translate3d(-50%,0,0) rotate(-1.5deg) scale(1)}100%{opacity:0;transform:translate3d(-50%,-13px,0) rotate(-.5deg) scale(1.04)}}
@keyframes mission-reward-sheen{0%,12%{background-position:140% 0}32%,76%{background-position:-85% 0}100%{background-position:-140% 0}}

.game-shell.paused .power-pill,.game-shell.paused .mission-reward,.game-shell.paused .mission-reward-surface::before,.game-shell.paused .mission-reward *,.game-shell.paused .achievement-rays::before,.game-shell.paused .achievement-rays::after{animation-play-state:paused!important}
body.reduced-motion .power-pill-enter,body.reduced-motion .power-pill-exit,body.reduced-motion .mission-reward.show,body.reduced-motion .mission-reward-surface::before,body.reduced-motion .achievement-rays,body.reduced-motion .achievement-rays::before,body.reduced-motion .achievement-rays::after{animation:none!important}
body.reduced-motion .mission-reward.show{opacity:1;transform:translateX(-50%)}body.reduced-motion .mission-reward.show>.achievement-rays,body.reduced-motion .pursuit-reward.show>.achievement-rays{opacity:.55;transform:none}
@media(prefers-reduced-motion:reduce){.power-pill-enter,.power-pill-exit,.mission-reward.show,.mission-reward-surface::before,.achievement-rays,.achievement-rays::before,.achievement-rays::after{animation:none!important}.mission-reward.show{opacity:1;transform:translateX(-50%)}.mission-reward.show>.achievement-rays,.pursuit-reward.show>.achievement-rays{opacity:.55;transform:none}}
@media(max-width:620px){.achievement-rays{inset:-34px -30px}.mission-reward{top:max(82px,calc(env(safe-area-inset-top) + 68px));width:calc(100% - 24px)}.mission-reward-surface{grid-template-columns:84px minmax(0,1fr);min-height:106px}.mission-reward-prize{padding:9px 6px}.mission-reward-prize img{width:38px;height:38px}.mission-reward-prize span{font-size:17px}.mission-reward-copy{padding:11px 13px}.mission-reward strong{font-size:clamp(21px,6vw,29px)}.mission-reward small{font-size:11px}.mission-reward p{font-size:13px;line-height:1.2}}
@media(max-height:500px){.mission-reward{top:max(54px,calc(env(safe-area-inset-top) + 44px));width:min(510px,calc(100% - 130px))}.mission-reward-surface{min-height:92px;grid-template-columns:76px minmax(0,1fr)}.mission-reward-prize img{width:34px;height:34px}.mission-reward-prize span{font-size:16px}.mission-reward-copy{padding:9px 14px}.mission-reward strong{font-size:23px;margin:5px 0 4px}.mission-reward p{font-size:12px}.mission-reward small{font-size:10px}}

/* Shared picker: every choice control keeps a native select as its data and event source. */


.ui-picker{position:relative;display:inline-block;min-width:174px;text-align:left}
.ui-picker-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
.ui-picker-trigger,.ui-picker-option{font:inherit;color:#eef3df;background:#142019;border:1px solid #6c8456;text-align:left}
.ui-picker-trigger{width:100%;min-height:38px;padding:7px 9px 7px 11px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;box-shadow:3px 3px 0 #050807}
.ui-picker-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-picker-flag,.ui-picker-option-flag{display:block;width:24px;height:18px;line-height:1;justify-self:end;order:2;overflow:hidden;border:1px solid #f4f1dcaa;border-radius:2px;box-shadow:0 1px 2px #0008;background:#26372c}
.ui-picker-flag img,.ui-picker-option-flag img{display:block;width:100%;height:100%;object-fit:cover}
.ui-picker-arrow{color:#a9db70;font-size:14px;transition:transform .18s ease;order:3}
.ui-picker.is-open .ui-picker-arrow{transform:rotate(180deg)}
.ui-picker-list{position:absolute;z-index:80;top:calc(100% + 5px);right:0;min-width:100%;width:max-content;max-width:min(310px,90vw);padding:5px;background:#0d1512f7;border:1px solid #78945d;box-shadow:5px 5px 0 #030504}
.ui-picker-option{width:100%;min-height:36px;padding:6px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;border:0;background:transparent;box-shadow:none;white-space:nowrap}
.ui-picker-option:hover,.ui-picker-option.is-highlighted,.ui-picker-option[aria-selected="true"]{background:#2b432f;color:#dfffad}
.ui-picker-option:focus-visible{outline:2px solid #d9ff72;outline-offset:-2px}
.ui-picker.is-disabled{opacity:.55}.ui-picker.is-disabled .ui-picker-trigger{cursor:default}
.settings-row>.ui-picker{min-width:190px;flex:0 0 auto}.settings-row>.ui-picker .ui-picker-list{right:0}
.debug-panel .ui-picker{min-width:112px;max-width:150px}.debug-panel .ui-picker-trigger{min-height:30px;padding:3px 6px;box-shadow:none}.debug-panel .ui-picker-list{font-size:16px}
body[data-language="yue-Hant"],body[data-language="zh-Hant"]{font-family:'Microsoft JhengHei UI','Microsoft JhengHei','PingFang TC','Noto Sans TC',sans-serif}
body[data-language="zh-Hans"]{font-family:'Microsoft YaHei UI','Microsoft YaHei','PingFang SC','Noto Sans SC',sans-serif}
body[data-language="ru"],body[data-language="de"]{font-family:'Trebuchet MS','Arial',sans-serif}
body[data-language]:not([data-language="en"]) .logo-line{font-family:Impact,'Arial Black',sans-serif}
body.reduced-motion .ui-picker-arrow{transition:none}
@media(prefers-reduced-motion:reduce){.ui-picker-arrow{transition:none}}
@media(max-width:800px){
 .ui-picker-list{max-height:min(330px,58vh);overflow:auto}
 .settings-row>.ui-picker{min-width:160px;max-width:48%}
}
@media(max-width:480px){.ui-picker-flag,.ui-picker-option-flag{font-size:16px}.settings-row{align-items:flex-start;flex-wrap:wrap}.settings-row>.ui-picker{width:100%;max-width:none}.settings-row>.ui-picker .ui-picker-list{left:0;right:auto;width:100%}}
@media(max-width:600px) and (min-height:501px){.menu-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;top:max(50px,calc(env(safe-area-inset-top) + 42px))}.menu-nav button{width:100%;padding:7px 5px;border:1px solid #526b43;background:#101a14d9;white-space:normal}}


/* Optional Official Art preview: one shared soft sticker grammar over the existing UI. */
body[data-visual-style="official"]{
 --official-ink:#173d32;--official-paper:#fff5df;--official-paper-raised:#fffdf5;--official-orange:#f5823b;--official-orange-dark:#bd5128;--official-green:#80cb5a;--official-green-dark:#377b4f;--official-yellow:#ffe46d;--official-shadow:#24483d;--official-outline:3px solid var(--official-ink);--official-depth:0 5px 0 var(--official-shadow);
 font-family:DynaPuff,"Arial Rounded MT Bold","Microsoft JhengHei","Microsoft YaHei",system-ui,sans-serif;font-weight:550;color:var(--official-paper)
}
body[data-visual-style="official"] button,body[data-visual-style="official"] select,body[data-visual-style="official"] input,body[data-visual-style="official"] .menu-dialog,body[data-visual-style="official"] kbd,body[data-visual-style="official"] .clerk-caption{font-family:inherit}
body[data-visual-style="official"] button{transition:transform .2s cubic-bezier(.2,.9,.25,1),filter .2s ease,box-shadow .2s ease}
body[data-visual-style="official"] button:not(:disabled):hover{filter:brightness(1.04) saturate(1.05);transform:translateY(-2px)}
body[data-visual-style="official"] button:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px 0 var(--official-shadow)}
body[data-visual-style="official"] button:focus-visible,body[data-visual-style="official"] input:focus-visible,body[data-visual-style="official"] select:focus-visible{outline:4px solid var(--official-yellow);outline-offset:4px}
body[data-visual-style="official"] .screen-top,body[data-visual-style="official"] .screen-bottom{color:var(--official-paper);font-weight:650;text-shadow:0 2px 0 var(--official-ink)}
body[data-visual-style="official"] .logo-line{font-family:DynaPuff,"Arial Rounded MT Bold",system-ui,sans-serif;letter-spacing:-.055em;-webkit-text-stroke:3px var(--official-ink);paint-order:stroke fill}
body[data-visual-style="official"] .logo-sub{border:var(--official-outline);border-radius:13px;background:var(--official-yellow);color:var(--official-ink);box-shadow:0 6px 0 #182f28;padding:7px 16px}
body[data-visual-style="official"] .japanese,body[data-visual-style="official"] .tagline,body[data-visual-style="official"] .character-caption{color:var(--official-paper);text-shadow:0 3px 0 var(--official-ink),0 5px 12px #0009}
body[data-visual-style="official"] .tagline span{color:var(--official-yellow)}
body[data-visual-style="official"] .name-tag{border:2px solid var(--official-ink);border-radius:12px;background:var(--official-paper);color:var(--official-ink);box-shadow:0 4px 0 var(--official-shadow)}
body[data-visual-style="official"] .start-button,body[data-visual-style="official"] .primary-button,body[data-visual-style="official"] .arcade-actions button{min-height:50px;border:var(--official-outline);border-radius:17px;background:linear-gradient(#ff9a55,#f57837);color:#fffdf4;box-shadow:var(--official-depth),inset 0 3px 0 #ffc18d;text-shadow:0 2px 0 #8d351e}
body[data-visual-style="official"] .start-button:hover,body[data-visual-style="official"] .primary-button:hover{background:linear-gradient(#99e46f,#72c651);color:var(--official-ink);text-shadow:0 1px 0 #eaffdc}
body[data-visual-style="official"] .secondary-button{min-height:46px;border:var(--official-outline);border-radius:15px;background:linear-gradient(#fffdf5,#f4e5c9);color:var(--official-ink);box-shadow:var(--official-depth);text-shadow:none}
body[data-visual-style="official"] .menu-nav button{min-height:43px;padding:8px 14px;border:2px solid var(--official-ink);border-radius:14px;background:#fff7e8e8;color:var(--official-ink);box-shadow:0 4px 0 var(--official-shadow);text-align:center;text-shadow:none;white-space:normal}
body[data-visual-style="official"] .menu-nav button:hover{background:#ffb06d;color:#163b31}
body[data-visual-style="official"] kbd{border:2px solid var(--official-ink);border-radius:7px;background:var(--official-paper);color:var(--official-ink);box-shadow:0 2px 0 var(--official-shadow);font-size:.72em}
body[data-visual-style="official"] .menu-dialog,body[data-visual-style="official"] .retro-panel{border:var(--official-outline);border-radius:26px;background:linear-gradient(150deg,var(--official-paper-raised),#f8e8cb);color:var(--official-ink);box-shadow:0 9px 0 var(--official-shadow),0 20px 45px #06140fa6}
body[data-visual-style="official"] .menu-dialog::backdrop{background:#08251eb8;backdrop-filter:blur(3px)}
body[data-visual-style="official"] .dialog-top,body[data-visual-style="official"] .eyebrow{color:var(--official-green-dark);font-weight:700}
body[data-visual-style="official"] .menu-dialog h2,body[data-visual-style="official"] .retro-panel h2{color:var(--official-orange);font-family:DynaPuff,"Arial Rounded MT Bold",system-ui,sans-serif;font-weight:700;-webkit-text-stroke:2px var(--official-ink);paint-order:stroke fill;text-shadow:0 4px 0 #fff,0 7px 0 #65aa58;letter-spacing:.01em}
body[data-visual-style="official"] .menu-dialog p,body[data-visual-style="official"] .retro-panel p{color:#315748;text-shadow:none}
body[data-visual-style="official"] .icon-button{border:2px solid var(--official-ink);border-radius:50%;background:var(--official-orange);color:#fff;box-shadow:0 4px 0 var(--official-shadow)}
body[data-visual-style="official"] .skin-card,body[data-visual-style="official"] .mission,body[data-visual-style="official"] .how-item,body[data-visual-style="official"] .record-summary{border:2px solid var(--official-ink);border-radius:17px;background:#fffaf0;color:var(--official-ink);box-shadow:0 4px 0 #b3bea1;text-shadow:none}
body[data-visual-style="official"] .skin-card.selected{border-color:var(--official-ink);background:#dff7c8;box-shadow:0 5px 0 var(--official-green-dark),inset 0 0 0 3px var(--official-green)}
body[data-visual-style="official"] .skin-card small,body[data-visual-style="official"] .mission p,body[data-visual-style="official"] .how-item p,body[data-visual-style="official"] .record-summary span{color:#547364}
body[data-visual-style="official"] .mission-title,body[data-visual-style="official"] .how-item b,body[data-visual-style="official"] .settings-row>span{color:var(--official-ink);-webkit-text-stroke:0;text-shadow:none}
body[data-visual-style="official"] .meter{height:12px;overflow:hidden;border:2px solid var(--official-ink);border-radius:999px;background:#d4dac8}
body[data-visual-style="official"] .meter i{border-radius:999px;background:linear-gradient(90deg,var(--official-green),#b6ee72)}
body[data-visual-style="official"] .settings-row{border-bottom:2px dashed #b7c5ac;color:var(--official-ink)}
body[data-visual-style="official"] .settings-row small{color:#648071;font-family:system-ui,sans-serif;font-weight:600}
body[data-visual-style="official"] .settings-row input[type=checkbox]{accent-color:var(--official-orange);width:26px;height:26px}
body[data-visual-style="official"] .records-table{color:var(--official-ink)}
body[data-visual-style="official"] .records-table th{color:var(--official-green-dark)}
body[data-visual-style="official"] .records-table td{border-top:2px solid #d0dac5}
body[data-visual-style="official"] .ui-picker-trigger,body[data-visual-style="official"] .ui-picker-option{min-height:44px;border:2px solid var(--official-ink);border-radius:13px;background:var(--official-paper-raised);color:var(--official-ink);box-shadow:0 4px 0 var(--official-shadow);text-shadow:none}
body[data-visual-style="official"] .ui-picker-list{padding:7px;border:2px solid var(--official-ink);border-radius:16px;background:#fff8e9;box-shadow:0 7px 0 var(--official-shadow)}
body[data-visual-style="official"] .ui-picker-option{margin:2px 0;border:0;box-shadow:none;background:transparent}
body[data-visual-style="official"] .ui-picker-option:hover,body[data-visual-style="official"] .ui-picker-option.is-highlighted,body[data-visual-style="official"] .ui-picker-option[aria-selected="true"]{background:#dff6c9;color:var(--official-ink)}
body[data-visual-style="official"] .ui-picker-arrow{color:var(--official-orange-dark)}
body[data-visual-style="official"] .info-tooltip-content{border:2px solid var(--official-ink);border-radius:14px;background:var(--official-paper-raised);color:var(--official-ink);box-shadow:0 5px 0 var(--official-shadow)}
body[data-visual-style="official"] .hud,body[data-visual-style="official"] .score{font-family:DynaPuff,"Arial Rounded MT Bold",system-ui,sans-serif}
body[data-visual-style="official"] .score{padding:5px 11px;border:2px solid #fff4d4;border-radius:15px;background:#173d32d9;box-shadow:0 4px 0 #071c17;text-shadow:0 2px 0 #071c17}
body[data-visual-style="official"] .score small{color:#c9f19c}
body[data-visual-style="official"] .pause-button{border:3px solid #fff4d4;border-radius:12px;background:linear-gradient(#ff9852,#ed6e32);box-shadow:0 5px 0 #8d371f,inset 0 2px 0 #ffc090}
body[data-visual-style="official"] .power-pill{border:2px solid var(--official-ink);border-radius:14px;background:#fffaf0ef;color:var(--official-ink);box-shadow:0 4px 0 var(--official-shadow)}
body[data-visual-style="official"] .power-pill small{color:#315c4a}
body[data-visual-style="official"] .power-pickup{border:3px solid var(--official-ink);border-radius:17px;background:linear-gradient(100deg,#fff4d8 0 25%,#fffaf0f2 25%);box-shadow:0 6px 0 var(--official-shadow),0 0 28px color-mix(in srgb,var(--pickup-accent) 50%,transparent);color:var(--official-ink)}
body[data-visual-style="official"] .power-pickup b{color:var(--official-ink);font-weight:700}
body[data-visual-style="official"] .power-pickup small{color:#a43f27}
.game-shell.achievement-active .power-pickup{top:calc(max(104px,calc(env(safe-area-inset-top) + 88px)) + 145px);transform-origin:center top}
body[data-visual-style="official"] .mission-reward-surface{border-radius:21px;border-color:#fff5d4;box-shadow:0 7px 0 var(--official-shadow),0 0 0 3px var(--official-ink),0 16px 35px #020706a8}
body[data-visual-style="official"] .mission-reward-prize{background:#fff4d8e8;border-right:3px solid var(--official-ink)}
body[data-visual-style="official"] .mission-reward-prize span{color:var(--official-ink);text-shadow:none}
body[data-visual-style="official"] .mission-reward p{font-family:system-ui,sans-serif}
body[data-visual-style="official"] .toast,body[data-visual-style="official"] .clerk-caption{border:2px solid var(--official-ink);border-radius:16px;background:#fff8e9ed;color:var(--official-ink);box-shadow:0 5px 0 var(--official-shadow);text-shadow:none}
body[data-visual-style="official"] .run-banner{font-family:DynaPuff,"Arial Rounded MT Bold",system-ui,sans-serif;color:var(--official-yellow);-webkit-text-stroke:2px var(--official-ink);paint-order:stroke fill;text-shadow:0 5px 0 #7f3b25}
body[data-visual-style="official"] .boot-loading-copy{color:var(--official-orange);font-family:DynaPuff,"Arial Rounded MT Bold",system-ui,sans-serif;-webkit-text-stroke:1.5px var(--official-ink);text-shadow:0 3px 0 #fff7e6,0 6px 0 var(--official-green-dark)}
body[data-visual-style="official"] .footer{color:#dcebd5}
@media(max-width:620px){body[data-visual-style="official"] .menu-nav button{min-height:40px;padding:6px 8px;border-radius:11px}.game-shell.achievement-active .power-pickup{top:calc(max(82px,calc(env(safe-area-inset-top) + 68px)) + 120px)}}
@media(max-height:500px){.game-shell.achievement-active .power-pickup{top:calc(max(54px,calc(env(safe-area-inset-top) + 44px)) + 102px)}}
@media(max-width:480px){.start-button kbd,.primary-button kbd{display:none}}

/* Official Art dark theme: deep green surfaces keep white copy legible over the city. */
body[data-visual-style="official"]{--official-ink:#09251f;--official-surface:#123e33;--official-surface-raised:#195043;--official-surface-deep:#071f1a;--official-paper:#fff9ed;--official-paper-raised:#fffdf7;--official-muted:#bdd4c8;--official-green:#78d05e;--official-green-dark:#2f8a58;--official-shadow:#061d18;--official-outline:3px solid #f7f4e8;color:var(--official-paper)}
body[data-visual-style="official"] .menu-dialog,body[data-visual-style="official"] .retro-panel{border-color:#f7f4e8;background:linear-gradient(145deg,var(--official-surface-raised),var(--official-surface-deep));color:var(--official-paper);box-shadow:0 9px 0 var(--official-shadow),0 20px 45px #020c09cc}
body[data-visual-style="official"] .dialog-top,body[data-visual-style="official"] .eyebrow{color:#9fe57e}
body[data-visual-style="official"] .menu-dialog h2,body[data-visual-style="official"] .retro-panel h2{color:var(--official-orange);-webkit-text-stroke:1.5px #fff6e4;text-shadow:0 4px 0 var(--official-green-dark),0 8px 0 #071d18}
body[data-visual-style="official"] .menu-dialog p,body[data-visual-style="official"] .retro-panel p{color:#f1f7f2}
body[data-visual-style="official"] .results{border-color:#7ca893}
body[data-visual-style="official"] .results>div{border-color:#6e9785}
body[data-visual-style="official"] .results span{color:#cfe0d6}
body[data-visual-style="official"] .results b{color:#fffdf6;text-shadow:0 2px 0 #041713}
body[data-visual-style="official"] .result-rule,body[data-visual-style="official"] .result-final-rule{background:#79a890}
body[data-visual-style="official"] .skin-card,body[data-visual-style="official"] .mission,body[data-visual-style="official"] .how-item,body[data-visual-style="official"] .record-summary{border-color:#f7f4e8;background:linear-gradient(145deg,#1a5143,#0d3028);color:#fff;box-shadow:0 4px 0 var(--official-shadow)}
body[data-visual-style="official"] .skin-card.selected{border-color:#f8ec75;background:linear-gradient(145deg,#2c7457,#154334);box-shadow:0 5px 0 #061c17,inset 0 0 0 3px #77d160}
body[data-visual-style="official"] .skin-card small,body[data-visual-style="official"] .mission p,body[data-visual-style="official"] .how-item p,body[data-visual-style="official"] .record-summary span{color:var(--official-muted)}
body[data-visual-style="official"] .mission-title,body[data-visual-style="official"] .how-item b,body[data-visual-style="official"] .settings-row>span{color:#fffdf6}
body[data-visual-style="official"] .settings-row{border-bottom-color:#56816d;color:#fff}
body[data-visual-style="official"] .settings-row small{color:var(--official-muted)}
body[data-visual-style="official"] .settings-visual-priority{margin-top:-8px;padding-top:8px;border-bottom-color:#a6df78}
body[data-visual-style="official"] .settings-visual-priority>span{color:#b8f28f}
body[data-visual-style="official"] .records-table{color:#fff}
body[data-visual-style="official"] .records-table th{color:#aee78d}
body[data-visual-style="official"] .records-table td{border-top-color:#537d6b;color:#f8fbf8}
body[data-visual-style="official"] .ui-picker-trigger,body[data-visual-style="official"] .ui-picker-option{border-color:#f7f4e8;background:linear-gradient(#205c4b,#174438);color:#fff;box-shadow:0 4px 0 var(--official-shadow)}
body[data-visual-style="official"] .ui-picker-list{border-color:#f7f4e8;background:#0d3028;box-shadow:0 7px 0 var(--official-shadow)}
body[data-visual-style="official"] .ui-picker-option{border:0;background:transparent;box-shadow:none}
body[data-visual-style="official"] .ui-picker-option:hover,body[data-visual-style="official"] .ui-picker-option.is-highlighted,body[data-visual-style="official"] .ui-picker-option[aria-selected="true"]{background:#34785c;color:#fff}
body[data-visual-style="official"] .ui-picker-arrow{color:#ffd769}
body[data-visual-style="official"] .info-tooltip-content{border-color:#fff;background:#123e33;color:#fff;box-shadow:0 5px 0 var(--official-shadow)}
body[data-visual-style="official"] .secondary-button{border-color:#f7f4e8;background:linear-gradient(#fffdf7,#e8f2e9);color:#123e33;box-shadow:0 5px 0 #061d18}
body[data-visual-style="official"] .menu-nav button{border-color:#f7f4e8;background:linear-gradient(#205c4b,#143f34);color:#fff;box-shadow:0 4px 0 #061d18}
body[data-visual-style="official"] .menu-nav button:hover{background:linear-gradient(#368263,#205c47);color:#fff}
body[data-visual-style="official"] .power-pill{border-color:#f7f4e8;background:#123e33ed;color:#fff;box-shadow:0 4px 0 var(--official-shadow)}
body[data-visual-style="official"] .power-pill small{color:#bfe1d0}
body[data-visual-style="official"] .power-pickup{border-color:#f7f4e8;background:linear-gradient(100deg,#0b2b24 0 25%,#16483ced 25%);color:#fff;box-shadow:0 6px 0 var(--official-shadow),0 0 28px color-mix(in srgb,var(--pickup-accent) 50%,transparent)}
body[data-visual-style="official"] .power-pickup b{color:#fff}
body[data-visual-style="official"] .power-pickup small{color:#ffd879}
body[data-visual-style="official"] .toast,body[data-visual-style="official"] .clerk-caption{border-color:#f7f4e8;background:#103b31f2;color:#fff;box-shadow:0 5px 0 var(--official-shadow);text-shadow:0 2px 0 #03140f}
body[data-visual-style="official"] .clerk-caption{bottom:max(76px,calc(env(safe-area-inset-bottom) + 64px));padding:9px 18px}
body[data-visual-style="official"] .footer-right #how-to{border:2px solid #f7f4e8;border-radius:12px;background:linear-gradient(#1f5c4a,#123d33);color:#fff;box-shadow:0 4px 0 #061d18;padding:7px 11px}
body[data-visual-style="official"] .footer-right #how-to>.tooltip-symbol{display:inline-grid;width:22px;height:22px;margin-left:7px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--official-orange);color:#fff}
body[data-visual-style="official"] .score,body[data-visual-style="official"] .collectibles{border:1px solid #f7f4e8aa;border-radius:12px;background:#0b3028a8;box-shadow:0 3px 0 #04171399;text-shadow:0 2px 0 #071c17;backdrop-filter:blur(2px)}
body[data-visual-style="official"] .score{margin-right:12px;padding:3px 8px}
body[data-visual-style="official"] .score b{font-size:38px}
body[data-visual-style="official"] .score>span{font-size:20px}
body[data-visual-style="official"] .score small{font-size:12px;color:#baf28d}
body[data-visual-style="official"] .collectibles,body[data-visual-style="official"] .hud .collectibles,body[data-visual-style="official"] .hud-top .collectibles{gap:7px;padding:4px 8px;font-size:27px}
body[data-visual-style="official"] .mission-reward-prize{background:#10372eea;border-right-color:#fff5d4}
body[data-visual-style="official"] .mission-reward-prize span{color:#d7ffad;text-shadow:0 2px 0 #071a14}

/* Unified controls: text moves inside a stationary button; focus never adds a stroke. */
button,button:focus,button:focus-visible{outline:0!important;outline-offset:0!important}
body[data-visual-style] button:not(:disabled):hover{transform:none}
body[data-visual-style="official"] button:not(:disabled):hover{filter:brightness(1.06)}
body[data-visual-style="official"] .start-button:hover,body[data-visual-style="official"] .primary-button:hover{background:linear-gradient(#ffa25e,#f5823b);color:#fff;text-shadow:0 2px 0 #8d351e}
body[data-visual-style="official"] .secondary-button{background:linear-gradient(#205c4b,#143f34);color:#fff;border-color:#fff}
body[data-visual-style="official"] .menu-nav button>span{color:inherit;font:inherit;margin:0;display:inline}
body[data-visual-style="official"] .skin-card,body[data-visual-style="official"] .skin-card strong,body[data-visual-style="official"] .skin-card small{color:#fff}
.ui-wave-text{color:inherit;font:inherit}
.ui-wave-letter{display:inline-block;transform-origin:50% 80%;backface-visibility:hidden}
.result-title{gap:.025em}
.menu-nav button .ui-wave-text,.menu-nav button .ui-wave-letter{color:inherit;font:inherit;margin:0}
.menu-nav button .ui-wave-text{display:inline}
.menu-nav button .ui-wave-letter{display:inline-block}
body[data-text-animation="busted"] button.is-waving .ui-wave-letter{animation:busted-letter-wave .85s linear calc(var(--letter-index)*.026s) 1 both}
body.reduced-motion button .ui-wave-letter,body[data-text-animation="none"] button .ui-wave-letter{animation:none!important}

/* One tooltip marker per style. Only its question mark rotates, not the circle. */
.tooltip-symbol{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:2px solid #fff;border-radius:50%;background:#f5823b;color:#fff;font-size:18px;line-height:1;vertical-align:middle}
.tooltip-mark{display:block;line-height:1;transform-origin:center;transition:transform .28s cubic-bezier(.2,.8,.3,1)}
.info-tooltip-trigger .tooltip-tail-icon{display:none}
.info-tooltip-trigger .tooltip-symbol{display:inline-grid}
body[data-visual-style="official"] .info-tooltip-trigger .tooltip-tail-icon{display:none}
body[data-visual-style="official"] .info-tooltip-trigger .tooltip-symbol{display:inline-grid}
body[data-visual-style="official"] .info-tooltip-trigger{width:30px;height:30px;padding:3px;background:transparent;border:0;box-shadow:none}
body[data-visual-style="official"] .footer-right #how-to>span:first-child{border:0;background:transparent;padding:0;margin:0;color:#fff;font:inherit}
body[data-visual-style="official"] .footer-right #how-to>.tooltip-symbol{width:24px;height:24px;margin-left:7px;padding:0;border:2px solid #fff;font-size:18px}
.footer-right #how-to .tooltip-mark{border:0;padding:0;margin:0;background:none;font:inherit}
.footer-right #how-to .ui-wave-text,.footer-right #how-to .ui-wave-letter{border:0;padding:0;margin:0;background:none;color:inherit;font:inherit}
.info-tooltip-trigger:hover .tooltip-mark,.info-tooltip-trigger:focus-visible .tooltip-mark,.info-tooltip-trigger.tooltip-open .tooltip-mark,#how-to:hover .tooltip-mark{transform:rotate(18deg)}

/* Close glyph is geometric, centered independently of font metrics. */
.window-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:36px;min-width:36px;height:36px;padding:0;overflow:visible;transition:transform .26s cubic-bezier(.2,.8,.3,1),filter .2s ease}
.dialog-top{position:static;padding-right:48px;min-height:36px}
.dialog-top .window-close{top:14px;right:14px;transform:none}
.debug-panel{position:absolute}
.debug-panel h3{padding-right:44px}
#debug-close{float:none}
.close-mark{position:relative;display:block;width:18px;height:18px}
.close-mark::before,.close-mark::after{content:'';position:absolute;top:50%;left:50%;width:22px;height:3px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.close-mark::after{transform:translate(-50%,-50%) rotate(-45deg)}
body[data-visual-style] .window-close:not(:disabled):hover{transform:scale(1.35)}

/* Content-sized counters; transient score grants float outside the counter box. */
.game-shell.playing .screen-top{display:none}
.score{position:relative;flex:0 0 auto;width:max-content;min-width:0;max-width:calc(100% - 110px)}
.score-line{position:relative;gap:0;white-space:nowrap}
.score-bonus{position:absolute;right:calc(100% + 12px);top:3px;white-space:nowrap}
.score-bonus:not(.show){visibility:hidden}
body[data-visual-style="official"] .score,body[data-visual-style="official"] .collectibles{border:0;box-shadow:none}
.collectibles b{min-width:0}
@media(max-width:620px){body[data-visual-style="official"] .score b{font-size:29px}body[data-visual-style="official"] .score>span{font-size:17px}body[data-visual-style="official"] .collectibles,body[data-visual-style="official"] .hud .collectibles,body[data-visual-style="official"] .hud-top .collectibles{font-size:23px;padding:3px 6px}.score-bonus{top:calc(100% + 12px);right:0;font-size:24px}}

/* Clip rotating rays to a small envelope behind each card, including at mid-spin. */
.achievement-rays{inset:-16px -20px;overflow:hidden;border-radius:25px;filter:blur(1px);-webkit-mask:radial-gradient(ellipse,#000 50%,#0009 76%,transparent 100%);mask:radial-gradient(ellipse,#000 50%,#0009 76%,transparent 100%)}
.achievement-rays::before,.achievement-rays::after{inset:-120%;background:repeating-conic-gradient(transparent 0 5deg,var(--achievement-ray) 7deg 9deg,transparent 11deg 18deg);-webkit-mask:none;mask:none;opacity:.46}
.achievement-rays::after{inset:-100%;opacity:.18;filter:blur(2px)}
.pursuit-reward::before{inset:-10px -14px;filter:blur(2px)}
@keyframes achievement-rays-reveal{0%,8%{opacity:0;transform:none}16%,82%{opacity:.65;transform:none}100%{opacity:0;transform:none}}
@media(max-width:620px){.achievement-rays{inset:-12px -14px}}

/* Compact stacked booster clocks: authored icon, segmented remaining arc, seconds below. */
@property --power-progress{syntax:'<percentage>';inherits:true;initial-value:100%}
@property --power-timer-color{syntax:'<color>';inherits:true;initial-value:#7ded49}
.active-powers{--power-count:1;--power-icon-size:clamp(28px,calc((100dvh - 230px) / var(--power-count) - 34px),54px);top:74px;bottom:0;width:76px;gap:8px;align-items:center}
.power-pill,body[data-visual-style="official"] .power-pill{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;min-height:0;width:76px;padding:6px 4px 2px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff}
.power-pill-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}
.power-pill .power-icon-frame{position:relative;display:grid;place-items:center;flex:none;width:var(--power-icon-size);min-width:var(--power-icon-size);height:var(--power-icon-size);border-radius:50%;background:#0b3028bf;box-shadow:0 2px 5px #0004}
.power-pill img{width:86%;height:86%;object-fit:contain}
.power-pill .power-icon-fallback{position:absolute;inset:0;width:auto;height:auto;font-size:22px;place-items:center}
.power-pill .power-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.power-pill .power-time,body[data-visual-style="official"] .power-pill .power-time{display:block;margin:0;padding:0;color:#fff;font-size:15px;line-height:1.1;text-align:center;white-space:nowrap;text-shadow:0 2px 2px #000}
.power-timer-ring{position:absolute;inset:-8px;display:block!important;pointer-events:none;border-radius:50%;transition:--power-timer-color .4s linear}
.power-timer-ring svg{display:block;width:100%;height:100%;overflow:visible}
.power-timer-ring path{fill:none;stroke:var(--power-timer-color);stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .12s linear,stroke-dashoffset .12s linear,opacity .12s linear}
.power-chain-shift{animation:power-chain-shift .36s cubic-bezier(.2,.8,.3,1) both}
@keyframes power-chain-shift{from{transform:translateY(var(--power-shift))}to{transform:translateY(0)}}
.game-shell.paused .power-pill-content{animation-play-state:paused}
body.reduced-motion .power-pill-content{animation:none!important}
@media(max-width:620px){.active-powers{width:64px;--power-icon-size:clamp(26px,calc((100dvh - 230px) / var(--power-count) - 30px),44px);top:68px;gap:7px}.power-pill,body[data-visual-style="official"] .power-pill{width:64px;gap:7px}.power-pill-content{gap:7px}.power-pill .power-time,body[data-visual-style="official"] .power-pill .power-time{font-size:13px}}
@media(max-height:500px){.active-powers{--power-icon-size:clamp(19px,calc((100dvh - 140px) / var(--power-count) - 23px),36px);top:56px;width:54px;gap:3px}.power-pill,body[data-visual-style="official"] .power-pill{width:54px;gap:5px;padding:4px 2px 0}.power-pill-content{gap:5px}.power-pill .power-time,body[data-visual-style="official"] .power-pill .power-time{font-size:11px}.power-timer-ring{inset:-5px}}
body.reduced-motion button .ui-wave-letter,body.reduced-motion .tooltip-mark{animation:none!important;transform:none!important;transition:none}
body.reduced-motion .window-close:hover{transform:none!important}
@media(prefers-reduced-motion:reduce){button .ui-wave-letter,.power-pill-content{animation:none!important}.tooltip-mark{transform:none!important;transition:none}.window-close{transition:none}.window-close:hover{transform:none!important}}
/* Settings tooltips span their row so long locales never widen the dialog. */
.settings-model-row{position:relative}.settings-model-row .info-tooltip{position:static}.settings-model-row .info-tooltip-content{left:0;right:0;width:auto;top:calc(100% - 6px)}
.boost-row{display:grid;grid-template-columns:clamp(64px,22%,104px) minmax(0,1fr);gap:14px;align-items:center}.boost-art{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 3px 0 #27150a)}.boost-body{min-width:0}.boost-row .mission-title,.boost-row p{text-align:left}.boost-row .mission-title{flex-wrap:wrap;gap:2px 10px}.boost-level{white-space:nowrap;flex:none;margin-left:auto}.boost-row .primary-button{width:100%;margin-top:8px}
/* Menu polish (2026-10-02): chip icon amounts, purchase flashes, PC wallet row, quieter menu chrome. */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.chip-amount{display:inline-flex;align-items:center;gap:.28em;vertical-align:middle;white-space:nowrap}.chip-glyph{width:1.25em;height:1.25em;object-fit:contain;filter:drop-shadow(0 2px 0 #00000055)}
.skin-card,.boost-row{position:relative}.buy-flash{position:absolute;left:50%;top:42%;z-index:3;pointer-events:none;transform:translate(-50%,-50%);color:#fff6c8;font-size:clamp(20px,3.4vw,30px);letter-spacing:.04em;-webkit-text-stroke:1.2px #6b3d0e;text-shadow:0 3px 0 #a5521b,0 0 18px #ffcf4d;animation:buy-flash 1.35s cubic-bezier(.2,.9,.25,1.2) forwards;white-space:nowrap}
@keyframes buy-flash{0%{opacity:0;transform:translate(-50%,-30%) scale(.55)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}32%{transform:translate(-50%,-50%) scale(1)}72%{opacity:1;transform:translate(-50%,-62%) scale(1)}100%{opacity:0;transform:translate(-50%,-95%) scale(.96)}}
.just-bought{animation:card-glow 1.1s ease-out}@keyframes card-glow{0%{box-shadow:0 0 0 0 #ffd36aaa}35%{box-shadow:0 0 0 6px #ffd36a66,0 0 28px #ffc94a88}100%{box-shadow:0 0 0 0 #ffd36a00}}
.boost-row .meter i{transition:width .45s ease-out}
@media (prefers-reduced-motion:reduce){.buy-flash{animation:none;opacity:1}.just-bought{animation:none}}body.reduced-motion .buy-flash{animation:none}body.reduced-motion .just-bought{animation:none}
.screen-top,.screen-bottom,.control-legend,.footer-right .ready-dot,#footer-note,.character-caption{display:none!important}
/* Menu shell (PLAN-009 U1). Phone layout = max-width 800px, or a landscape phone (max-width 950px and max-height 500px). */
.holdings-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;pointer-events:none;box-sizing:border-box}
.holdings-bar>*{pointer-events:auto}
.holdings-actions{display:flex;align-items:center;gap:10px;flex:none}
.holdings-bar .menu-wallet{position:static;display:flex;align-items:center;gap:10px;margin:0;min-height:44px;padding:4px 18px 4px 10px;box-sizing:border-box;color:#fff6d4;font-size:24px;line-height:1;background:#0c1d18d9;border:2px solid #f4f1dc66;border-radius:999px;text-shadow:2px 2px 0 #0a1712}
.holdings-bar .chip-glyph{width:1.35em;height:1.35em}
.gear-button,.help-button{display:grid;place-items:center;width:46px;height:46px;min-width:46px;margin:0;padding:0;line-height:0;border:2px solid #7d8e5e;border-radius:50%;background:#1b251e;color:#dce8ba}
.gear-button svg{display:block;width:26px;height:26px}
.help-button{border-color:transparent;background:transparent}
.help-button .tooltip-symbol{width:38px;height:38px;flex-basis:38px;font-size:26px}
.help-button .tooltip-mark{display:inline-block;transition:transform .18s ease}
.help-button:hover .tooltip-mark{transform:rotate(18deg)}
body.reduced-motion .help-button:hover .tooltip-mark{transform:none}
.menu-holdings .help-button{display:none}
body[data-visual-style="official"] .gear-button{border:2px solid #f7f4e8;background:linear-gradient(#205c4b,#143f34);color:#fff;box-shadow:0 4px 0 #061d18}
body[data-visual-style="official"] .gear-button:hover,body[data-visual-style="official"] .gear-button.is-current{background:linear-gradient(#368263,#205c47)}
body[data-visual-style="official"] .help-button{border-color:transparent;background:transparent;box-shadow:none}
.gear-button.is-current{border-color:#f5822d}
.menu-holdings{position:absolute;z-index:14;top:max(14px,calc(env(safe-area-inset-top) + 8px));left:max(5.5%,calc(env(safe-area-inset-left) + 14px));right:max(5.5%,calc(env(safe-area-inset-right) + 14px))}
.main-menu .menu-nav{top:max(78px,calc(env(safe-area-inset-top) + 72px));left:max(5.5%,calc(env(safe-area-inset-left) + 14px));right:auto;display:flex;flex-wrap:nowrap;gap:12px}
.main-menu .menu-nav .menu-tile span{display:inline;margin:0;color:inherit;font-size:inherit}
.main-menu .menu-nav .menu-tile{display:grid;place-items:center;min-width:128px;min-height:62px;padding:10px 20px;font-size:19px;line-height:1.1;white-space:normal;text-align:center}
/* Pages: the dialog is a transparent full-viewport container; only the sheet slides. */
.menu-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:hidden}
body[data-visual-style] .menu-dialog{border:0;border-radius:0;background:none;box-shadow:none}
.menu-dialog[open]{display:flex;align-items:center;justify-content:center}
.page-shell{display:flex;flex-direction:column;gap:10px;width:min(960px,calc(100% - 32px));height:calc(100dvh - 48px);min-height:0;box-sizing:border-box}
.page-sheet{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;box-sizing:border-box;padding:20px 28px 24px;overflow:hidden;background:#10191a;color:#e0e6d7;border:2px solid #7d8e5e;box-shadow:7px 7px 0 #03060b}
body[data-visual-style="official"] .page-sheet{border:var(--official-outline);border-color:#f7f4e8;border-radius:26px;background:linear-gradient(145deg,var(--official-surface-raised),var(--official-surface-deep));color:var(--official-paper);box-shadow:0 9px 0 var(--official-shadow),0 20px 45px #020c09cc}
.page-sheet .dialog-top{flex:none}
.page-sheet h2{flex:none;margin:2px 0 14px}
#panel-title:focus{outline:none}
#panel-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 4px 0}
.menu-dialog[open] .page-sheet{animation:page-slide-up .32s cubic-bezier(.2,.8,.2,1)}
.menu-dialog.is-closing .page-sheet{animation:page-slide-down .2s ease-in forwards}
@keyframes page-slide-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes page-slide-down{from{transform:none}to{transform:translateY(100%)}}
body.reduced-motion .menu-dialog[open] .page-sheet,body.reduced-motion .menu-dialog.is-closing .page-sheet,body.reduced-motion #pause-panel .page-sheet{animation:none}
@media(prefers-reduced-motion:reduce){.menu-dialog[open] .page-sheet,.menu-dialog.is-closing .page-sheet,#pause-panel .page-sheet{animation:none}}
/* Settings sections (stacked headers; tabs arrive in U2). */
.settings-section{margin:0 0 6px}
.settings-section-title{margin:16px 0 4px;padding-bottom:6px;font-size:20px;letter-spacing:.1em;text-align:left;text-transform:uppercase;color:#94a17d;border-bottom:2px solid #3f4d38}
body[data-visual-style="official"] .settings-section-title{color:#9fe57e;border-bottom:2px dashed #56816d}
.settings-section:first-child .settings-section-title{margin-top:0}
.settings-action-row{flex-wrap:wrap;justify-content:space-between;align-items:center}.settings-section>p{margin:8px 0;font-size:16px;text-align:left}
.settings-action-row .secondary-button{width:auto;min-width:200px;margin:0;flex:none}
.danger-button{display:block;width:100%;margin-top:13px;padding:12px 16px;font-size:22px;text-align:center;background:#4a1e1c;color:#ffc2b8;border:1px solid #a3463f;box-shadow:3px 3px #1c0a09}
body[data-visual-style="official"] .danger-button{min-height:50px;border:var(--official-outline);border-color:#f7f4e8;border-radius:17px;background:linear-gradient(#d95b4f,#a1322c);color:#fffdf4;box-shadow:0 5px 0 #4b1411;text-shadow:0 2px 0 #6e1d19}
body[data-visual-style="official"] .danger-button:hover{background:linear-gradient(#e86a5d,#b73a33);color:#fff}
/* Pause page: the same shell, a view of the paused state. */
#pause-panel.pause-page{padding:0;background:#04100cb8}
.pause-shell{width:min(720px,calc(100% - 32px));height:auto;max-height:calc(100dvh - 48px)}
.pause-panel.page-sheet{flex:0 1 auto;align-items:stretch;max-width:none;width:auto;text-align:center}
.pause-panel h2{margin:2px 0 12px}
.pause-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.pause-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 12px}
.pause-stat{padding:8px 10px;border:2px solid #3f4d38;border-radius:14px;background:#0a1210a0}
body[data-visual-style="official"] .pause-stat{border:2px solid #56816d;background:#08251e99}
.pause-stat small{display:block;font-size:13px;letter-spacing:.08em;opacity:.8}
.pause-stat b{display:inline-flex;align-items:center;justify-content:center;font-size:clamp(22px,6vw,30px);line-height:1.15}
.pause-heading{margin:10px 0 2px;font-size:16px;letter-spacing:.12em;text-align:left;color:#94a17d}
body[data-visual-style="official"] .pause-heading{color:#9fe57e}
.pause-mission,.pause-daily .daily-task{margin-top:8px;padding:8px 12px;text-align:left}
.pause-mission .mission-title,.pause-daily .mission-title{gap:10px;font-size:clamp(15px,4vw,19px)}
.pause-mission p,.pause-daily .daily-task p{margin:2px 0 6px;font-size:clamp(13px,3.4vw,16px);line-height:1.2;text-align:left}
.pause-mission-count{flex:none;white-space:nowrap}
.pause-empty{margin:14px 0;text-align:center}
.pause-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:none;margin-top:14px}
#pause-panel .pause-actions>button{margin:0;min-height:58px;padding:10px 6px;font-size:clamp(13px,3.9vw,24px);letter-spacing:0;line-height:1.1;white-space:normal;overflow-wrap:break-word}
.pause-actions .danger-button{order:-1}
#pause-panel .page-sheet{animation:page-slide-up .32s cubic-bezier(.2,.8,.2,1)}
@media(max-width:800px),(max-width:950px) and (max-height:500px){
 .menu-holdings{left:max(12px,calc(env(safe-area-inset-left) + 8px));right:max(12px,calc(env(safe-area-inset-right) + 8px));top:max(8px,calc(env(safe-area-inset-top) + 4px))}
 .menu-holdings .help-button{display:grid}
 .holdings-bar .menu-wallet{font-size:20px;min-height:42px}
 .main-menu .menu-nav{top:auto;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));left:max(12px,calc(env(safe-area-inset-left) + 8px));right:max(12px,calc(env(safe-area-inset-right) + 8px));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .main-menu .menu-nav .menu-tile{min-width:0;min-height:68px;padding:6px 3px;font-size:clamp(11px,3.1vw,16px)}
 .footer-right #how-to{display:none}
 .start-button kbd{display:none}
 .page-shell,.pause-shell{width:100%;height:100dvh;max-height:none;gap:6px;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
 .page-sheet,body[data-visual-style="official"] .page-sheet{padding:16px 16px max(18px,calc(env(safe-area-inset-bottom) + 10px));border-radius:20px 20px 0 0;border-bottom-width:0;box-shadow:none}
 .pause-panel.page-sheet{flex:1 1 auto}
 .menu-dialog::backdrop,body[data-visual-style="official"] .menu-dialog::backdrop{backdrop-filter:none}
 .page-sheet h2{font-size:30px;margin-bottom:10px}
 .settings-action-row .secondary-button{min-width:0;width:100%}
}
@media(max-width:480px){.pause-actions{gap:8px}.pause-stat{padding:6px 8px}}
@media(max-height:500px){.page-sheet #panel-kicker{display:none}.page-sheet .dialog-top{min-height:0}.page-sheet h2{font-size:24px;margin:0 0 6px}.page-sheet,body[data-visual-style="official"] .page-sheet{padding-top:10px;padding-bottom:10px}.pause-panel .eyebrow{display:none}.pause-panel h2{font-size:26px;margin-bottom:6px}.pause-stats{margin:2px 0 6px}.pause-stat{padding:3px 8px}.pause-stat b{font-size:20px}.pause-stat small{font-size:11px}.pause-panel.page-sheet{padding-top:10px;padding-bottom:10px}.pause-actions{margin-top:8px}.pause-actions>button{min-height:46px}.main-menu .menu-nav .menu-tile{min-height:44px;font-size:clamp(12px,1.7vw,15px)}.main-menu .menu-nav{bottom:max(8px,calc(env(safe-area-inset-bottom) + 6px))}}
body[data-visual-style="arcade"] .main-menu .menu-nav .menu-tile{font-size:22px}
@media(max-width:800px),(max-width:950px) and (max-height:500px){body[data-visual-style="arcade"] .main-menu .menu-nav .menu-tile{font-size:clamp(15px,4.2vw,20px)}}
/* Daily tasks (pause page + Missions page): three .mission rows sharing the mission primitives */
.daily-heading{margin:12px 0 2px;font-size:16px;letter-spacing:.12em;text-align:left;color:#94a17d}.daily-heading:first-child{margin-top:2px}
body[data-visual-style="official"] .daily-heading{color:#9fe57e}
.daily-task{margin-top:8px}.daily-task .mission-title{align-items:flex-start;gap:10px;text-align:left;font-size:clamp(16px,4.6vw,22px)}.daily-task .mission-title>span:first-child{min-width:0;overflow-wrap:anywhere}.daily-task p{text-align:left}
.daily-reward{flex:none;white-space:nowrap;color:#dac963}.daily-task.is-done .daily-reward{color:#a8ef6c}.daily-task.is-done{opacity:.86}
.daily-tier{display:inline-block;padding:0 7px;border-radius:999px;border:1px solid currentColor;font-size:.78em;letter-spacing:.08em;line-height:1.35;vertical-align:1px}
.daily-easy .daily-tier{color:#9fe57e}.daily-medium .daily-tier{color:#f2c85a}.daily-hard .daily-tier{color:#ff8f6e}
.daily-count{color:#c9d6b7;white-space:nowrap}
.daily-reset{margin:8px 0 2px;font-size:clamp(13px,3.4vw,15px);letter-spacing:.08em;text-align:center;opacity:.75}
.mission-reward[data-theme="daily"]{--mission-a:#1b8274;--mission-b:#d99a2b}
/* Phone portrait home: the logo block sits under the holdings bar, the tagline + LET'S RUN block sits just above the bottom tiles, and the middle stays free for the cat. */
@media(max-width:800px) and (min-height:501px){
 .menu-story{top:max(62px,calc(env(safe-area-inset-top) + 58px));bottom:calc(max(14px,calc(env(safe-area-inset-bottom) + 10px)) + 68px + 16px);display:flex;flex-direction:column;align-items:flex-start}
 .menu-story .game-logo{width:100%}
 .menu-story .japanese{margin-bottom:0}
 .menu-story .tagline{margin:auto 0 14px;font-size:clamp(21px,6vw,25px)}
 .menu-story .start-button{align-self:flex-start;max-width:100%}
 .menu-story .menu-hint{margin:10px 0 0}
}
@media(max-width:800px) and (min-height:501px) and (max-height:760px){
 .menu-story .tagline{margin-bottom:10px;font-size:clamp(19px,5.6vw,22px)}
 .menu-story .start-button{padding:11px 14px}
 .menu-story .menu-hint{margin-top:8px}
}
@media(max-width:800px) and (min-height:501px){body[data-language="ru"] .menu-story .tagline,body[data-language="de"] .menu-story .tagline{font-size:clamp(17px,5vw,20px);line-height:1.1;letter-spacing:.6px}}
@media(max-height:500px){.pause-daily{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.pause-daily .daily-task{margin-top:0;padding:6px 9px}.pause-daily .mission-title{flex-direction:column;gap:2px;font-size:15px}.pause-daily .daily-task p{margin:2px 0 4px;font-size:13px}.pause-daily .daily-reset{grid-column:1/-1;margin:0;font-size:12px}.pause-heading{margin:4px 0 0;font-size:13px}.pause-daily .meter{height:8px}}

/* Menu icons (GPT Image art, assets/icons/ui): tile icon above the label, gear and Settings section marks. */
.menu-tile .menu-icon{display:block;width:44px;height:44px;object-fit:contain;margin:0 auto 2px;pointer-events:none;-webkit-user-drag:none;user-select:none;image-rendering:auto}
.main-menu .menu-nav .menu-tile{grid-auto-flow:row;align-content:center;justify-items:center;row-gap:0}
.gear-button .gear-icon{display:block;width:32px;height:32px;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.settings-section-title{display:flex;align-items:center;gap:10px}
.settings-section-title .settings-section-icon{flex:0 0 auto;width:34px;height:34px;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
@media(max-width:800px),(max-height:500px){.menu-tile .menu-icon{width:36px;height:36px;margin-bottom:0}.main-menu .menu-nav .menu-tile{min-height:76px}.gear-button .gear-icon{width:30px;height:30px}.settings-section-title .settings-section-icon{width:24px;height:24px}}
@media(max-height:500px){.menu-tile .menu-icon{width:28px;height:28px}.main-menu .menu-nav .menu-tile{min-height:62px;padding-top:4px;padding-bottom:4px}}
@media(max-width:800px){.main-menu .menu-nav .menu-tile{font-size:clamp(10px,2.9vw,16px)}}
body[data-language="ru"] .main-menu .menu-nav .menu-tile,body[data-language="de"] .main-menu .menu-nav .menu-tile{letter-spacing:0}
@media(max-width:800px){body[data-language="ru"] .main-menu .menu-nav .menu-tile,body[data-language="de"] .main-menu .menu-nav .menu-tile{font-size:clamp(10px,2.7vw,14px)}}

/* Difficulty pills: white text on a filled tier colour. */
.daily-tier{border:0;color:#fff;text-shadow:0 1px 0 #00000055;padding:1px 8px}
.daily-easy .daily-tier{background:#1f7a3b;color:#fff}.daily-medium .daily-tier{background:#a9650a;color:#fff}.daily-hard .daily-tier{background:#c23a18;color:#fff}

/* Scrollbars: thin, rounded, low contrast; the thumb keeps a fixed 12px gutter so hover widening never shifts layout. */
:root{--sb-thumb:#56684b;--sb-thumb-hover:#7c9468}
body[data-visual-style="official"]{--sb-thumb:#5a9479;--sb-thumb-hover:#8cc4a7}
*{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) transparent}
@supports selector(::-webkit-scrollbar){
 *{scrollbar-width:auto;scrollbar-color:auto}
 *::-webkit-scrollbar{width:12px;height:12px;background:transparent}
 *::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}
 *::-webkit-scrollbar-thumb{background:var(--sb-thumb);background-clip:padding-box;border:4px solid transparent;border-radius:999px;min-height:36px}
 *::-webkit-scrollbar-thumb:hover,*::-webkit-scrollbar-thumb:active{background:var(--sb-thumb-hover);background-clip:padding-box;border-width:2px}
}

/* Customize v2 */
.custom-note{margin:0 0 8px}
#panel-content .custom-note{font-size:clamp(13px,1.6vw,18px);line-height:1.18}
#panel-content .custom-note.is-alert{color:#ffd36a}
#panel-content:has(.custom-shell){display:flex;flex-direction:column;overflow-x:hidden;padding:8px 10px 10px 8px}
.custom-note{flex:none}
.custom-shell{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(190px,1fr);grid-template-areas:"tabs" "browser" "pager" "stage";gap:10px;min-height:0}
.custom-tabs{grid-area:tabs;display:flex;justify-content:center;gap:10px}
.custom-tab{min-height:44px;min-width:112px;padding:6px 22px;border:2px solid #f7f4e8;border-radius:999px;background:linear-gradient(#205c4b,#143f34);color:#fff;font:inherit;font-size:clamp(16px,2vw,22px);letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 0 #061d18}
.custom-tab:hover{background:linear-gradient(#2a7160,#1a4c40)}
.custom-tab.is-active{background:linear-gradient(#ff9a55,#f57837);border-color:#09251f;color:#fffdf4;text-shadow:0 2px 0 #8d351e;box-shadow:0 4px 0 #8d351e,inset 0 3px 0 #ffc18d}
.custom-tab:focus-visible,.custom-slide:focus-visible,.custom-buy:focus-visible{box-shadow:0 0 0 3px #08251e,0 0 0 6px #fff}
.custom-preview:focus-visible{box-shadow:inset 0 0 0 3px #fff}
.custom-browser{grid-area:browser;display:flex;align-items:stretch;gap:10px;min-width:0}
.custom-grid{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;touch-action:pan-y}
.custom-slide{flex:none;display:grid;place-items:center;width:46px;min-height:92px;padding:0;border:2px solid #f7f4e8;border-radius:14px;background:linear-gradient(#205c4b,#143f34);color:#fff;cursor:pointer;box-shadow:0 4px 0 #061d18}
.custom-slide:hover:not(:disabled){background:linear-gradient(#2a7160,#1a4c40)}
.custom-slide:disabled{opacity:.3;cursor:default}
.custom-slide[hidden]{display:none}
.slide-mark{display:block;width:15px;height:15px;border:solid currentColor;border-width:0 0 5px 5px;border-radius:2px;transform:translateX(3px) rotate(45deg)}
.custom-next .slide-mark{transform:translateX(-3px) rotate(-135deg)}
.custom-pager{grid-area:pager;display:flex;justify-content:center;min-height:0}
.custom-dots:empty{display:none}
.custom-dots{display:flex;gap:8px}
.custom-dots i{display:block;width:11px;height:11px;border-radius:50%;background:#56816d}
.custom-dots i.is-on{background:#f5823b;box-shadow:0 0 0 2px #fff6e4}
.custom-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-width:0;padding:8px 6px 7px;border:2px solid #f7f4e8;border-radius:16px;background:linear-gradient(145deg,#1a5143,#0d3028);color:#fff;font:inherit;text-align:center;cursor:pointer;box-shadow:0 4px 0 #061c17;transition:transform .12s ease,box-shadow .12s ease}
.custom-item:hover{transform:translateY(-2px)}
.custom-item strong{display:block;max-width:100%;font-size:clamp(12px,1.5vw,17px);font-weight:400;line-height:1.05;overflow-wrap:anywhere;color:#fff}
.custom-item small{display:block;font-size:clamp(11px,1.3vw,15px);color:#bdd4c8}
.custom-item .chip-amount{justify-content:center}
.custom-art{position:relative;flex:none;display:grid;place-items:center;width:100%;aspect-ratio:1;max-height:116px}
.custom-hat{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 0 #00000055);pointer-events:none;user-select:none}
.custom-none{width:58%;height:58%;color:#8aa89a}
.custom-fur{display:block;width:74%;aspect-ratio:1;border-radius:50%;border:3px solid #f7f4e8;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--fur) 62%,#fff) 0,var(--fur) 52%,color-mix(in srgb,var(--fur) 80%,#000) 100%);box-shadow:0 3px 0 #00000066}
.custom-item.is-tried{background:linear-gradient(145deg,#2c7457,#154334);box-shadow:0 4px 0 #061c17,inset 0 0 0 3px #f8ec75}
.custom-item.is-equipped{border-color:#f5823b;box-shadow:0 0 0 4px #f5823b,0 8px 0 #061c17;background:linear-gradient(145deg,#2c7457,#154334)}
.custom-item.is-equipped small{color:#ffc99d}
.custom-item.is-equipped.is-tried{box-shadow:0 0 0 4px #f5823b,0 8px 0 #061c17,inset 0 0 0 3px #f8ec75}
.custom-item:focus-visible{box-shadow:0 0 0 3px #08251e,0 0 0 6px #fff,0 8px 0 6px #061c17}
.custom-item.is-equipped:focus-visible{box-shadow:0 0 0 4px #f5823b,0 0 0 7px #fff,0 8px 0 7px #061c17}
.custom-stage{position:relative;grid-area:stage;min-height:0;overflow:hidden;border:2px solid #56816d;border-radius:20px;background:radial-gradient(ellipse at 50% 92%,#2f8566 0,#174a3b 42%,#0b2a22 100%)}
.custom-stage::after{content:"";position:absolute;left:50%;bottom:7%;width:42%;max-width:240px;height:7%;transform:translateX(-50%);border-radius:50%;background:#00000047;filter:blur(3px);pointer-events:none}
.custom-preview{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none}
.custom-preview:active{cursor:grabbing}
#panel-content .custom-look{position:absolute;z-index:2;left:12px;right:12px;top:7px;margin:0;font-size:clamp(13px,1.6vw,17px);letter-spacing:.05em;line-height:1.1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f1f7f2;text-shadow:0 2px 0 #071d18;pointer-events:none}
.custom-buy{position:absolute;z-index:3;left:50%;bottom:14px;width:auto!important;min-width:150px;margin:0!important;padding:8px 26px;font-size:clamp(20px,2.6vw,28px);letter-spacing:.06em;transform:translate(-50%,14px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.custom-buy[hidden]{display:none}
.custom-buy .chip-amount{margin-left:.35em}
.custom-buy .chip-glyph{width:1.3em;height:1.3em}
.custom-buy.cannot-afford{filter:saturate(.55) brightness(.9)}
.custom-stage.is-engaged .custom-buy,.custom-buy:focus-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media (hover:none){.custom-buy{opacity:1;transform:translate(-50%,0);pointer-events:auto}}
@media (hover:none) and (max-width:800px),(hover:none) and (max-height:500px){.custom-buy{transform:none}}
body.reduced-motion .custom-buy,body.reduced-motion .custom-item{transition:none}
@media (prefers-reduced-motion:reduce){.custom-buy,.custom-item{transition:none}}
.custom-item.just-bought{animation:card-glow 1.1s ease-out}
@media(max-width:800px),(max-width:950px) and (max-height:500px){
 .custom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .custom-slide{width:34px;min-height:72px}
 .custom-browser{gap:6px}
 .custom-item{padding:6px 4px 6px}
 .custom-art{max-height:64px}
 .custom-item strong{font-size:12px}
 .custom-item small{font-size:11px}
 #panel-content .custom-note{font-size:12.5px;margin-bottom:4px}
 .custom-tab{min-width:0;flex:1 1 0;padding:4px 8px;font-size:15px;white-space:nowrap}
 .custom-tabs{gap:8px}
 .custom-shell{gap:8px}
 .custom-buy{left:auto;right:10px;bottom:10px;min-width:0;padding:6px 16px;font-size:20px;transform:translateY(14px)}
 .custom-stage.is-engaged .custom-buy,.custom-buy:focus-visible{transform:none}
}
/* Short landscape (phones on their side): items on the left, the cat on the right. */
@media(max-height:500px){
 .custom-note:not(.is-alert){display:none}
 .custom-shell{height:100%;min-height:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"tabs stage" "browser stage" "pager stage";gap:8px 12px}
 .custom-tab{min-height:36px;font-size:17px;padding:2px 14px}
 .custom-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .custom-slide{min-height:0}

 .custom-art{max-height:84px}
 #panel-content .custom-look{font-size:12px;top:5px}
 .custom-buy{bottom:8px;right:8px;padding:4px 14px;font-size:19px;min-width:0;min-height:0}
}
/* Daily v2 */
.daily-track{margin:4px 0 2px;padding:30px 24px 32px}
.daily-track-line{position:relative;height:12px;border-radius:999px;background:#0b100c;border:2px solid #46553e;box-shadow:inset 0 2px 3px #0008}
.daily-track-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#3fae5d,#b6ee72);transition:width .45s ease-out}
.daily-stone{--stone:#cd7f32;position:absolute;top:50%;z-index:1;display:grid;place-items:center;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid var(--stone);background:#141a15;color:var(--stone);font-size:17px;line-height:1}
.daily-stone b{font-weight:700;letter-spacing:0}
.daily-stone small{position:absolute;top:100%;left:50%;margin-top:3px;transform:translateX(-50%);white-space:nowrap;font-size:12px;letter-spacing:.02em;color:#c9d6b7}
.daily-stone-silver{--stone:#cfd8e0}.daily-stone-gold{--stone:#f2c94c}
.daily-stone.is-reached{background:var(--stone);color:#10140f;box-shadow:0 0 0 3px #0b100c,0 0 12px var(--stone)}
.daily-marker{position:absolute;top:-34px;z-index:2;display:grid;place-items:center;min-width:30px;height:26px;padding:0 6px;transform:translateX(-50%);border-radius:8px;background:#f4f7ea;color:#10140f;font-size:19px;line-height:1;font-weight:700}
.daily-marker::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:inherit;border-radius:0 0 3px 0}
.daily-panel{margin-top:2px;padding:2px 10px 10px;border-radius:18px;background:#0c110dd9;border:2px solid #3f4d38}
.daily-panel .daily-task{margin-top:8px}
.daily-rest{margin:8px 0 2px;padding:14px 10px;text-align:center}
.daily-rest strong{display:block;font-size:clamp(16px,4.6vw,22px);letter-spacing:.08em;color:#f2c94c}
.daily-rest p{margin:8px auto 0;max-width:30ch;font-size:clamp(15px,4.2vw,20px);line-height:1.25;color:#e6efd9}
.daily-batchline{margin:0 0 -2px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.14em;text-align:center;color:#f2c94c}
.mission-reward[data-theme="milestone-bronze"]{--mission-a:#a8581f;--mission-b:#e0a060}
.mission-reward[data-theme="milestone-silver"]{--mission-a:#5d7384;--mission-b:#cfd8e0}
.mission-reward[data-theme="milestone-gold"]{--mission-a:#b8860b;--mission-b:#f6d55c}
@media(max-height:500px){.pause-daily .daily-batchline,.pause-daily .daily-rest{grid-column:1/-1;margin:0}.pause-daily .daily-batchline{font-size:12px;line-height:1}.pause-daily .daily-rest{padding:6px}.daily-track{padding:28px 24px 28px}}

/* Done paw (replaces the plain tick on completed tasks, missions and milestones) */
.done-paw{display:inline-block;width:1.35em;height:1.35em;margin:-.2em .35em -.25em 0;vertical-align:baseline;object-fit:contain}
.done-paw-stone{width:100%;height:100%;margin:0}

/* Daily presentation: flying chips (overlay in the top layer), card flip, batch rollover, track marker slide */
.daily-fx{position:fixed;inset:0;width:100vw;height:100vh;margin:0;padding:0;border:0;background:none;overflow:visible;pointer-events:none;color:#fff6d4}
.daily-fx:not(:popover-open){display:none}
.daily-chip{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;object-fit:contain;opacity:0;will-change:transform,opacity;filter:drop-shadow(0 3px 0 #00000066)}
.daily-fx-count,.daily-fx-label{position:absolute;left:0;top:0;white-space:nowrap;font-size:clamp(18px,5vw,26px);color:#ffe27a;text-shadow:2px 2px 0 #0a1712;margin:-14px 0 0;translate:-50% 0;will-change:transform,opacity}
.daily-fx-label{margin-top:30px;padding:1px 10px;border-radius:999px;background:#0b100ce6;font-size:clamp(13px,3.6vw,17px);color:#a8ef6c;transform-origin:center;animation:dailyLabel 2.5s ease-out both}
@keyframes dailyLabel{0%{opacity:0}12%{opacity:1}80%{opacity:1}100%{opacity:0}}
@media(max-width:520px){.daily-chip{width:36px;height:36px;margin:-18px 0 0 -18px}}
.holdings-bar .chip-glyph{will-change:transform}
.daily-task.is-flipping{animation:dailyFlip .5s ease-out}
@keyframes dailyFlip{0%{transform:scale(1)}35%{transform:scale(1.04)}100%{transform:scale(1)}}
/* Missions page batch rollover (operator 2026-10-07, as on the results screen): the three claimed cards slide out to the left together, the next batch slides in from the right; the panel clips them sideways so no horizontal scrollbar appears */
.daily-panel{overflow-x:clip}
.daily-panel .daily-task{transition:opacity .4s ease,transform .4s ease,border-color .5s ease}
.daily-panel.is-leaving .daily-task{opacity:0;transform:translateX(-110%)}
.daily-panel.is-entering .daily-task{animation:dailyIn .5s ease-out both}
.daily-panel.is-entering .daily-rest{animation:dailyIn .5s ease-out both}
@keyframes dailyIn{0%{opacity:0;transform:translateX(110%)}100%{opacity:1;transform:none}}
/* A claimed daily card stays in place and eases to a darker, greyer green (an overlay under the text, so it works on any card background) */
.daily-panel .daily-task{position:relative;isolation:isolate}
.daily-panel .daily-task::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(145deg,#2c3d33,#18241d);opacity:0;pointer-events:none;transition:opacity .5s ease}
.daily-panel .daily-task.is-done::after,.daily-panel .daily-task.is-claimed::after{opacity:1}
body[data-visual-style="official"] .daily-panel .daily-task.is-done,body[data-visual-style="official"] .daily-panel .daily-task.is-claimed{border-color:#a9b8a6}
@media(prefers-reduced-motion:reduce){.daily-panel .daily-task::after{transition:none}}
body.reduced-motion .daily-panel .daily-task,body.reduced-motion .daily-panel .daily-task::after{transition:none}
.daily-marker{transition:left .6s cubic-bezier(.3,.8,.3,1),opacity .3s}.daily-marker.is-gone{opacity:0}
.daily-stone.is-pulsing{animation:dailyStone .9s ease-out}
@keyframes dailyStone{0%{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(1.45)}100%{transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.daily-task.is-flipping,.daily-stone.is-pulsing,.daily-panel.is-entering .daily-task,.daily-panel.is-entering .daily-rest{animation:none}.daily-marker,.daily-panel .daily-task{transition:none}.daily-fx-label{animation-duration:2.5s}}
body.reduced-motion .daily-task.is-flipping,body.reduced-motion .daily-stone.is-pulsing,body.reduced-motion .daily-panel.is-entering .daily-task{animation:none}

/* Claim: CLAIM buttons on finished tasks, milestones and missions */
.claim-button{display:block;width:100%;margin-top:8px;min-height:44px;animation:claimGlow 1.4s ease-in-out infinite}
.claim-button:disabled{animation:none;opacity:.6}
@keyframes claimGlow{0%,100%{box-shadow:0 0 0 0 #ffd24d00}50%{box-shadow:0 0 0 5px #ffd24d66}}
.mission.is-ready{border-color:#ffd24d}
.daily-claims:empty{display:none}.daily-claims{margin:2px 0 4px}
.daily-claim-row{margin-top:8px;text-align:left}.daily-claim-row p{margin:2px 0 0;text-align:left}
.daily-stone.is-ready{animation:dailyStone 1.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.claim-button,.daily-stone.is-ready{animation:none}}
body.reduced-motion .claim-button,body.reduced-motion .daily-stone.is-ready{animation:none}

/* Badge: a reusable red dot for any tile or tab that has something to claim (ui-design.md section E) */
.badge{position:absolute;top:-7px;right:-7px;z-index:2;box-sizing:content-box;width:clamp(11px,3.4vw,15px);height:clamp(11px,3.4vw,15px);border-radius:50%;background:#e8362a;border:clamp(2px,.7vw,3px) solid #fff;box-shadow:0 2px 0 #00000055;pointer-events:none;animation:badge-breathe 1.8s ease-in-out infinite}
/* Slow, smooth breathing (operator 2026-10-07: the old double tuck was too fast): one 1.8 s ease-in-out cycle, peak 1.12 */
@keyframes badge-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.menu-tile{position:relative}
@media(prefers-reduced-motion:reduce){.badge{animation:none}}
body.reduced-motion .badge{animation:none}
/* Results screen claim strip */
.result-claims{margin:8px 0 16px;padding:6px 8px;max-height:min(30vh,210px);overflow-y:auto;overflow-x:hidden;border-radius:12px;background:#0c110dd9;border:2px solid #ffd24d;text-align:left}
/* Results: the task panel waits until the last stat row (Chips banked) has finished counting (results-ready), then fades in; Reduced Motion shows it at once. */
.gameover:not(.results-ready):not(.results-reduced) .result-claims{opacity:0;visibility:hidden;pointer-events:none}
.results-ready .result-claims{animation:result-reveal .45s ease-out both}
body.reduced-motion .results-ready .result-claims{animation:none}
@media(prefers-reduced-motion:reduce){.results-ready .result-claims{animation:none}}
.result-claims-title{margin:0 0 4px;font-size:13px;letter-spacing:.12em;color:#ffd24d;text-align:center}
.result-claim-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:0;padding:4px 0}.result-claim-row .claim-button{grid-column:2;grid-row:1/3}
.result-claim-name{min-width:0;font-size:clamp(13px,3.6vw,16px);line-height:1.15;overflow:hidden;text-overflow:ellipsis}
.result-claim-chips{color:#dac963;white-space:nowrap}
.claim-compact{width:auto;margin:0;min-height:38px;padding:4px 14px}
.result-claims-note{margin:4px 0 0;text-align:center;color:#a8ef6c}

/* Milestone reward bubbles (comic speech bubble above each stone) and the stone grow on hover (same easing and 1.35 scale as the window close button) */
.daily-stone{padding:0;font:inherit;cursor:pointer;transition:scale .26s cubic-bezier(.2,.8,.3,1)}
.daily-stone:hover,.daily-stone:focus-visible{scale:1.35}
.daily-bubble{position:absolute;bottom:calc(50% + 24px);z-index:4;display:grid;gap:3px;padding:6px 11px;border-radius:14px;border:2px solid #10140f;background:#f4f7ea;color:#10140f;box-shadow:0 4px 0 #00000055;white-space:nowrap;text-align:left;font-size:15px;line-height:1.1;letter-spacing:0;pointer-events:none;opacity:0;visibility:hidden;transform:translateX(calc(var(--bx,0px) - var(--at,50%))) translateY(6px);transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.3,1),visibility 0s .26s}
.daily-stone:hover+.daily-bubble,.daily-stone:focus-visible+.daily-bubble,.daily-bubble.is-open{opacity:1;visibility:visible;transform:translateX(calc(var(--bx,0px) - var(--at,50%))) translateY(0);transition-delay:0s}
.daily-bubble strong{font-size:13px;letter-spacing:.1em;color:#3a5a2c}
.daily-bubble .chip-amount{color:#10140f}.bubble-row{display:flex;align-items:center;gap:6px}.bubble-icon{width:22px;height:22px}
.bubble-tail{position:absolute;left:calc(var(--at,50%) - var(--bx,0px));bottom:-7px;width:10px;height:10px;background:#f4f7ea;border:solid #10140f;border-width:0 2px 2px 0;transform:translateX(-50%) rotate(45deg)}
.daily-bubble.is-below{bottom:auto;top:calc(50% + 24px)}.daily-bubble.is-below .bubble-tail{bottom:auto;top:-7px;border-width:2px 0 0 2px}
@media(prefers-reduced-motion:reduce){.daily-stone,.daily-bubble{transition:none}.daily-stone:hover,.daily-stone:focus-visible{scale:1}}
body.reduced-motion .daily-stone,body.reduced-motion .daily-bubble{transition:none}body.reduced-motion .daily-stone:hover,body.reduced-motion .daily-stone:focus-visible{scale:1}
/* Button motion */
button .ui-wave-text .ui-wave-letter{display:inline-block}
.main-menu .menu-nav .menu-tile .ui-wave-letter{display:inline-block}
button img{transition:transform .18s ease-out;transform-origin:50% 50%}
button:not(:disabled):hover img,button:focus-visible img{transform:scale(1.12) rotate(8deg)}
body.reduced-motion button img{transition:none}
body.reduced-motion button:hover img,body.reduced-motion button:focus-visible img{transform:scale(1.04)}
@media(prefers-reduced-motion:reduce){button img{transition:none}button:hover img,button:focus-visible img{transform:scale(1.04)}}

.daily-track{padding-top:56px}

/* Daily track v3: 30 cells (one per task claimed), medals at 9, 18 and 30 tasks. Medals grow in place on hover (scale around their own centre, no translate; same easing as the window close button) */
.daily-track{padding:84px 30px 40px}
.daily-track-line{height:22px;border:0;border-radius:0;background:none;box-shadow:none}
.daily-stone{--m1:#cd7f32;--m2:#e9aa6c;top:auto;bottom:calc(100% + 4px);width:40px;height:46px;margin-left:-20px;transform:none;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;transform-origin:50% 50%}
.daily-stone-silver{--m1:#c3ccd5;--m2:#f3f6fa}.daily-stone-gold{--m1:#f2c94c;--m2:#ffe58a}
.daily-stone.is-reached{background:none;box-shadow:none}
.medal-svg-unused{display:block;width:100%;height:100%;overflow:visible;stroke:#10140f;stroke-width:2.4;stroke-linejoin:round;filter:grayscale(.9) brightness(.55);transition:filter .3s ease}
.medal-ribbon{fill:#d6452f}.medal-disc{fill:var(--m1)}.medal-inner{fill:var(--m2);stroke-width:1.6}.medal-star{fill:#10140f;stroke:none}
.daily-stone.is-reached .medal-svg,.daily-stone.is-ready .medal-svg{filter:drop-shadow(0 0 6px var(--m1))}
.daily-stone.is-pulsing{animation:dailyMedal .9s ease-out}
.daily-stone.is-ready{animation:dailyMedal 1.2s ease-in-out infinite}
@keyframes dailyMedal{0%,100%{transform:scale(1)}35%{transform:scale(1.2)}}
.daily-marker{top:calc(100% + 8px);transform:translateX(-50%);min-width:0;padding:0 8px;font-size:17px}
.daily-marker::after{bottom:auto;top:-5px;border-radius:3px 0 0 0}
.daily-bubble{bottom:calc(100% + 64px)}
.daily-bubble.is-below{bottom:auto;top:calc(100% + 44px)}
.daily-bubble.is-below .bubble-tail{top:-7px;bottom:auto}
.bubble-tail{left:clamp(14px,var(--tail,calc(var(--at,50%) - var(--bx,0px))),calc(100% - 14px))}
/* No horizontal scrollbar on any medal hover (operator 2026-10-07): the grown, tilted end medal may poke a few px past the track; the track clips sideways only (the bubble is clamped inside it by placeBubble) */
.daily-track{overflow-x:clip}
.bubble-status{font-size:14px;font-weight:700;color:#2f6b24}
.daily-bubble{border-width:3px}
@media(max-width:420px){.daily-track{padding-inline:30px}}
@media(max-height:500px){.daily-track{padding:78px 30px 38px}}
@media(prefers-reduced-motion:reduce){.daily-stone.is-pulsing,.daily-stone.is-ready{animation:none}.medal-svg{transition:none}}
body.reduced-motion .daily-stone.is-pulsing,body.reduced-motion .daily-stone.is-ready{animation:none}body.reduced-motion .medal-svg{transition:none}
/* Cell bar: one connected rounded bar split into cells by thin dividers; grey when empty, orange when full; each cell sweeps left to right. Used by the daily track (30) and the Boosters level rows (5). */
.cell-bar{--cell-off:#8d9086;--cell-on:#ff9d2e;--cell-on2:#ffc46b;position:relative;display:grid;grid-template-columns:repeat(var(--cells,5),minmax(0,1fr));width:100%;height:22px;overflow:hidden;box-sizing:border-box;border:3px solid #10140f;border-radius:999px;background:var(--cell-off);box-shadow:0 2px 0 #00000055}
.cell-bar-small{height:16px;border-width:2.5px;margin:6px 0 2px}
.cell-bar-cell{position:relative;display:block;min-width:0;background:var(--cell-off);border-left:2px solid #10140f}
.cell-bar-cell:first-child{border-left:0}
.cell-bar-cell::before{content:"";position:absolute;inset:0;background:linear-gradient(var(--cell-on2),var(--cell-on) 70%);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s ease-out}
.cell-bar-cell.is-full::before{transform:scaleX(1);transition-delay:var(--d,0s)}
.daily-track-line>.cell-bar{position:absolute;inset:0;height:100%}
@media(max-width:420px){.cell-bar-cell{border-left-width:1px}.daily-track-line>.cell-bar{border-width:2px}}
/* Daily track bar metrics in one place: the count bubble (app.mjs markerAt) is centred on the done/open boundary from these two widths */
.daily-track-line{--bar-b:3px;--bar-div:2px}.daily-track-line>.cell-bar{border-width:var(--bar-b)}.daily-track-line .cell-bar-cell{border-left-width:var(--bar-div)}.daily-track-line .cell-bar-cell:first-child{border-left-width:0}
@media(max-width:420px){.daily-track-line{--bar-b:2px;--bar-div:1px}}
@media(prefers-reduced-motion:reduce){.cell-bar-cell::before{transition:none}}
body.reduced-motion .cell-bar-cell::before{transition:none}
/* Bubble anchor (operator 2026-10-06, no sideways scroll): a bubble is anchored at its medal's own fraction (--at, the medal's place on the track), so the gold bubble at 100% ends at its medal and no closed bubble ever reaches past the panel */
/* Bubble: the horizontal shift is a plain transform (never transitioned, so its rect can be measured at once); only the rise animates, via the translate property */
.daily-bubble{transform:translateX(calc(var(--bx,0px) - var(--at,50%)));translate:0 6px;transition:opacity .2s ease,translate .26s cubic-bezier(.2,.8,.3,1),visibility 0s .26s}
.daily-stone:hover+.daily-bubble,.daily-stone:focus-visible+.daily-bubble,.daily-bubble.is-open{transform:translateX(calc(var(--bx,0px) - var(--at,50%)));translate:0 0}
/* Medal hover: smooth grow and shrink, same easing as the X close button */
.daily-track .daily-stone{transition:scale .22s cubic-bezier(.2,.8,.3,1)}
@media(prefers-reduced-motion:reduce){.daily-bubble{transition:none}.daily-track .daily-stone{transition:none}}
body.reduced-motion .daily-bubble,body.reduced-motion .daily-track .daily-stone{transition:none}

/* Claim hide */
.mission.is-claim-hiding,.result-claim-row.is-claim-hiding{overflow:hidden;opacity:0;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;border-width:0;pointer-events:none;transition:height .3s ease,opacity .25s ease,margin .3s ease,padding .3s ease,border-width .3s ease}
.mission,.result-claim-row{box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.mission.is-claim-hiding,.result-claim-row.is-claim-hiding{transition:none}}
body.reduced-motion .mission.is-claim-hiding,body.reduced-motion .result-claim-row.is-claim-hiding{transition:none}

/* Medal art: raster medals (assets/icons/ui/medal-*.png) replace the SVG; unreached = dimmed and desaturated, reached = full colour with a soft glow */
.daily-stone{width:44px;height:44px;margin-left:-22px}
.medal-img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:grayscale(.9) brightness(.55);transition:filter .3s ease}
.daily-stone.is-reached .medal-img,.daily-stone.is-ready .medal-img{filter:drop-shadow(0 0 6px var(--m1))}
.bubble-medal{display:block;width:56px;height:56px;margin:-2px auto 0;object-fit:contain;pointer-events:none}
@media(max-width:420px){.daily-stone{width:36px;height:36px;margin-left:-18px}}
@media(prefers-reduced-motion:reduce){.medal-img{transition:none}}
body.reduced-motion .medal-img{transition:none}
/* Results screen: a claimed task stays in the strip with a seal */
.result-claim-row.is-claimed .result-claim-name,.result-claim-row.is-claimed .result-claim-chips{opacity:.78}
.claimed-seal{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;gap:4px;color:#a8ef6c;font-size:clamp(12px,3.2vw,14px);letter-spacing:.08em;white-space:nowrap}
.claimed-seal .done-paw{width:1.2em;height:1.2em}
/* One divider under CHIPS BANKED: the last row's dotted line gives way to the final rule */
.result-card .result-row:last-child{border-bottom:0}.result-card .results{margin-bottom:2px}
.result-claims{max-height:min(38vh,260px)}

/* Results claims: the CLAIM button eases into "Claimed!"; a finished batch slides out left and the next tasks slide in from the right */
.result-claims .claim-button{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .13s ease}
.result-claims .claim-button.is-claimed-btn,.result-claims .claim-button.is-claimed-btn:disabled{animation:none;opacity:1;background:#173319;color:#a8ef6c;border-color:#3f6b3a;box-shadow:none}
.result-claims .claim-button.is-claim-fading{color:#0000}
/* Missions page: a claimed mission keeps its place; its CLAIM button eases into "Claimed!" the same way (operator 2026-10-06) */
.mission[data-mission] .claim-button{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .13s ease}
.mission[data-mission] .claim-button.is-claimed-btn,.mission[data-mission] .claim-button.is-claimed-btn:disabled{animation:none;opacity:1;background:#173319;color:#a8ef6c;border-color:#3f6b3a;box-shadow:none}
.mission[data-mission] .claim-button.is-claim-fading{color:#0000}
@media(prefers-reduced-motion:reduce){.mission[data-mission] .claim-button{transition:none}}
body.reduced-motion .mission[data-mission] .claim-button{transition:none}
/* Missions page daily cards: the CLAIM button eases into "Claimed!" the same way (operator 2026-10-07) */
.mission[data-daily] .claim-button{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .13s ease}
.mission[data-daily] .claim-button.is-claimed-btn,.mission[data-daily] .claim-button.is-claimed-btn:disabled{animation:none;opacity:1;background:#173319;color:#a8ef6c;border-color:#3f6b3a;box-shadow:none}
.mission[data-daily] .claim-button.is-claim-fading{color:#0000}
@media(prefers-reduced-motion:reduce){.mission[data-daily] .claim-button{transition:none}}
body.reduced-motion .mission[data-daily] .claim-button{transition:none}
.result-claims-body{transition:transform .4s ease,opacity .4s ease}
.result-claims-body.is-slide-out{transform:translateX(-110%);opacity:0}
.result-claims-body.is-slide-in{animation:resultClaimsIn .5s ease-out both}
.result-claims-body.is-fade-out{opacity:0;transition:opacity .25s ease}
.result-claims-body.is-fade-in{animation:resultClaimsFade .25s ease-out both}
.result-claim-row.is-upcoming .result-claim-chips{grid-column:2}
@keyframes resultClaimsIn{from{transform:translateX(110%);opacity:0}to{transform:none;opacity:1}}
@keyframes resultClaimsFade{from{opacity:0}to{opacity:1}}
body.reduced-motion .result-claims .claim-button{transition:none}
/* Hover tilt replays from rest on every pointer entry (operator 2026-10-06; ui-text.mjs replayHoverTilt restarts .hover-replay). */
button.hover-replay:not(:disabled):hover img{animation:ui-hover-tilt-img .18s ease-out}
.info-tooltip-trigger.hover-replay:hover .tooltip-mark,#how-to.hover-replay:hover .tooltip-mark,.help-button.hover-replay:hover .tooltip-mark{animation:ui-hover-tilt-mark .18s ease-out}
@keyframes ui-hover-tilt-img{from{transform:none}to{transform:scale(1.12) rotate(8deg)}}
@keyframes ui-hover-tilt-mark{from{transform:none}to{transform:rotate(18deg)}}
body.reduced-motion button.hover-replay img,body.reduced-motion button.hover-replay .tooltip-mark{animation:none}
@media(prefers-reduced-motion:reduce){button.hover-replay img,button.hover-replay .tooltip-mark{animation:none}}
/* Settings rework (2026-10-07, operator-approved primitives): volume sliders with a paw thumb, the On/Off segmented toggle, key binding. */
.settings-volume-row{display:grid;grid-template-columns:minmax(96px,1fr) minmax(130px,2.2fr) 3.4em;align-items:center;gap:14px}
.settings-volume-row>label{color:#fffdf6;font-size:22px}
.settings-volume-row>output{color:#fffdf6;font:800 17px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;text-align:right}
.paw-slider{-webkit-appearance:none;appearance:none;width:100%;height:36px;margin:0;background:transparent;cursor:pointer;--fill:50%}
.paw-slider::-webkit-slider-runnable-track{height:14px;border-radius:999px;border:2px solid #f7f4e8;background:linear-gradient(90deg,var(--official-green,#78d05e) var(--fill),#0a2a22 var(--fill));box-shadow:inset 0 2px 0 rgba(0,0,0,.3)}
.paw-slider::-moz-range-track{height:10px;border-radius:999px;border:2px solid #f7f4e8;background:#0a2a22}
.paw-slider::-moz-range-progress{height:10px;border-radius:999px;background:var(--official-green,#78d05e)}
/* The thumb is Astra's paw knob (icons/ui/paw-slider.png, 2026-10-07); --paw-thumb is set by app.mjs so the standalone export can inline it. */
.paw-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:38px;height:38px;margin-top:-14px;border:0;border-radius:50%;background:var(--paw-thumb) center/contain no-repeat,transparent;filter:drop-shadow(0 2px 0 #061d18);cursor:grab}
.paw-slider::-moz-range-thumb{width:34px;height:34px;border:0;border-radius:50%;background:var(--paw-thumb) center/contain no-repeat,transparent;filter:drop-shadow(0 2px 0 #061d18);cursor:grab}
.paw-slider:focus{outline:none}
.paw-slider:focus-visible::-webkit-slider-thumb{outline:3px solid var(--official-yellow,#ffe46d);outline-offset:2px}
.paw-slider:focus-visible::-moz-range-thumb{outline:3px solid var(--official-yellow,#ffe46d);outline-offset:2px}
.settings-volumes.is-muted .paw-slider,.settings-volumes.is-muted output{opacity:.45}
.settings-row.settings-toggle-row{flex-wrap:nowrap;align-items:center}
.onoff{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer}
.onoff-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.onoff-track{position:relative;box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;width:132px;height:46px;padding:4px;border-radius:999px;border:2px solid #f7f4e8;background:#0a2a22;box-shadow:inset 0 2px 0 rgba(0,0,0,.35)}
.onoff-bubble{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background-color:#d9483b;box-shadow:0 3px 0 #061d18,inset 0 2px 0 rgba(255,255,255,.28);transition:transform .3s cubic-bezier(.3,1.35,.5,1),background-color .3s ease}
.onoff-text{position:relative;z-index:1;display:grid;place-items:center;font:500 17px/1 system-ui,sans-serif;letter-spacing:.05em;color:#bdd4c8;transition:font-weight .3s ease,color .3s ease}
.onoff-input:not(:checked)+.onoff-track .onoff-off,.onoff-input:checked+.onoff-track .onoff-on{font-weight:850;color:#fff}
.onoff-input:checked+.onoff-track .onoff-bubble{transform:translateX(100%);background-color:#3fae55}
.onoff-input:focus-visible+.onoff-track{outline:3px solid var(--official-yellow,#ffe46d);outline-offset:3px}
.settings-note{margin:12px 0 4px;color:#bdd4c8;font:600 16px/1.35 system-ui,sans-serif}
.settings-row.keybind-row{flex-wrap:nowrap;align-items:center;padding:10px 0}
.settings-row>.keybind-slots{flex:0 0 auto;display:flex;gap:8px}
.keycap{min-width:62px;height:44px;padding:0 10px;border-radius:10px;border:2px solid #f7f4e8;background:linear-gradient(#fffdf5,#f4e5c9);color:#09251f;font:800 17px/1 system-ui,sans-serif;box-shadow:0 4px 0 #061d18;cursor:pointer;white-space:nowrap}
.keycap.is-empty{background:transparent;color:#bdd4c8;border-style:dashed;box-shadow:none}
.keycap.is-listening{background:var(--official-yellow,#ffe46d);color:#09251f;animation:keycap-listen 1s ease-in-out infinite}
.keycap:focus-visible{outline:3px solid var(--official-yellow,#ffe46d);outline-offset:3px}
@keyframes keycap-listen{50%{transform:translateY(2px);box-shadow:0 2px 0 #061d18}}
.settings-row.keybind-actions{align-items:center;flex-wrap:nowrap}
.settings-row.keybind-actions .keybind-status{flex:1;margin:0;min-height:1.3em;color:#bdd4c8;font:600 16px/1.3 system-ui,sans-serif;text-align:left}
.settings-row.keybind-actions .secondary-button{width:auto;margin-top:0;flex:0 0 auto}
body.reduced-motion .onoff-bubble,body.reduced-motion .onoff-text,body.reduced-motion .keycap.is-listening{transition:none;animation:none}
@media(prefers-reduced-motion:reduce){.onoff-bubble,.onoff-text,.keycap.is-listening{transition:none;animation:none}}
@media(max-width:560px){.settings-volume-row{grid-template-columns:1fr 3.4em}.settings-volume-row>.paw-slider{grid-column:1/-1;grid-row:2}.keycap{min-width:52px}}
body[data-beta] .menu-nav{display:none!important}
/* Settings footer and the Updates page (analytics and updates brief, 2026-10-07): privacy note, UPDATES button with a NEW badge, game version;
   update cards reuse the .mission card; links take the orange accent with an underline offset, hover and focus states. */
.settings-footer{display:flex;flex-direction:column;align-items:center;gap:12px;margin:18px 0 6px;text-align:center}
#panel-content .settings-privacy{margin:0;max-width:52ch;font:600 14px/1.4 system-ui,sans-serif;color:var(--official-muted,#bdd4c8)}
.updates-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:min(240px,100%)}
.updates-new{display:inline-block;padding:3px 8px 2px;border:2px solid #fff;border-radius:999px;background:#e8362a;color:#fff;font:800 12px/1.1 system-ui,sans-serif;letter-spacing:.08em;box-shadow:0 2px 0 #00000055;text-shadow:none}
.updates-new[hidden]{display:none}
#panel-content .settings-version{margin:0;font:600 13px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.06em;color:#8fb3a2}
#panel-content .updates-intro{margin:2px 0 6px;font:600 15px/1.4 system-ui,sans-serif;color:var(--official-muted,#bdd4c8)}
.update-card{margin:12px 0;text-align:left;animation:update-in .36s ease-out both}
.update-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.update-version{display:inline-block;padding:3px 10px 2px;border:2px solid var(--official-ink,#173d32);border-radius:999px;background:var(--official-orange,#f5823b);color:#fffdf6;font:800 13px/1.1 system-ui,sans-serif;letter-spacing:.06em;text-shadow:0 1px 0 #0005}
.update-date{font:600 14px/1.2 system-ui,sans-serif;color:var(--official-muted,#bdd4c8)}
.update-title{margin:10px 0 6px;font-size:clamp(20px,2.3vw,25px);line-height:1.15;letter-spacing:.02em;color:#fffdf6;text-align:left}
.update-body,#panel-content .update-body p,#panel-content .update-body li{font:500 16px/1.5 system-ui,sans-serif;color:#e8f1ea;text-align:left;overflow-wrap:anywhere}
.update-body p{margin:0 0 10px}.update-body p:last-child,.update-body ul:last-child{margin-bottom:0}
.update-body ul{margin:0 0 10px;padding-left:22px}.update-body li{margin:4px 0}.update-body li::marker{color:var(--official-orange,#f5823b)}
.update-body strong{color:#fffdf6;font-weight:800}
.update-body a{color:#ffa45e;font-weight:700;text-decoration:underline;text-decoration-color:#f5823b;text-decoration-thickness:2px;text-underline-offset:3px;border-radius:4px;transition:color .15s ease,background-color .15s ease,text-underline-offset .15s ease}
.update-body a:hover{color:#ffd1a6;background:#f5823b2e;text-underline-offset:5px}
.update-body a:focus-visible{outline:3px solid var(--official-yellow,#ffe46d);outline-offset:2px;color:#ffd1a6}
.update-body a:active{color:#fff}
.updates-status{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:44px;margin:4px 0 10px;font:600 15px/1.3 system-ui,sans-serif;color:var(--official-muted,#bdd4c8)}
.updates-status:empty{min-height:0;margin:0}
.updates-end{padding:6px 14px;border:2px dashed #56816d;border-radius:999px;color:#9fe57e}
.updates-loader{display:inline-flex;gap:5px}.updates-loader i{width:8px;height:8px;border-radius:50%;background:var(--official-orange,#f5823b);animation:updates-dot .9s ease-in-out infinite}
.updates-loader i:nth-child(2){animation-delay:.15s}.updates-loader i:nth-child(3){animation-delay:.3s}
.updates-sentinel{height:1px}
@keyframes update-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes updates-dot{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
body.reduced-motion .update-card,body.reduced-motion .updates-loader i{animation:none}body.reduced-motion .update-body a{transition:none}
@media(prefers-reduced-motion:reduce){.update-card,.updates-loader i{animation:none}.update-body a{transition:none}}
@media(max-width:480px){.update-body,#panel-content .update-body p,#panel-content .update-body li{font-size:15px}.update-title{font-size:20px}.settings-privacy{font-size:13px}.updates-button{width:100%}}

/* Accounts (api-contract-v1 §4, accounts UI 2026-10-07): menu chip, the sign-up/sign-in form primitive (operator-approved), slides, merge, results prompt and the GENERATIONAL welcome (teaser end-card port). */
.account-chip{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:min(270px,36vw);min-height:44px;margin:0;padding:3px 16px 3px 4px;border:2px solid #f7f4e8;border-radius:999px;background:linear-gradient(#205c4b,#143f34);color:#fff;font:400 19px/1 DynaPuff,system-ui,sans-serif;letter-spacing:.03em;white-space:nowrap;box-shadow:0 4px 0 #061d18;text-shadow:0 2px 0 #071c17}
.account-chip[data-state="in"] .account-chip-label{color:#ffe46d}
.account-chip[data-state="checking"]{opacity:.8}
.account-chip[data-state="off"]{border-color:#f7f4e866;background:#0c1d18d9;color:#c9d8cf;font-size:14px;box-shadow:none;cursor:help}
.account-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.account-chip .ui-wave-text{display:inline}
.account-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border:0;border-radius:50%;background:#f5823b;overflow:hidden;clip-path:circle(50%)}
.account-avatar img{width:118%;height:118%;object-fit:contain}
.account-avatar .account-favicon,.account-prompt-icon .account-favicon,.account-me-avatar .account-favicon,.account-look-big .account-favicon,.account-art-hat .account-favicon{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.account-prompt-icon:has(.account-favicon),.account-art-hat:has(.account-favicon){border:0;background:#f5823b;border-radius:50%;overflow:hidden}
.account-me-avatar:has(.account-favicon),.account-look-big:has(.account-favicon){background:#f5823b}
.account-cat{width:78%;height:78%;display:block}
.account-chip[data-state="off"] .account-avatar{filter:grayscale(.7);opacity:.7}
@media(max-width:480px){.account-chip{max-width:40vw;min-height:40px;gap:6px;padding:2px 12px 2px 3px;font-size:15px}.account-avatar{width:30px;height:30px}.account-chip[data-state="off"]{font-size:10.5px;max-width:42vw;padding-right:10px;white-space:normal;line-height:1.05}.account-chip[data-state="off"] .account-chip-label{overflow:visible}}

.account-dialog{position:fixed;inset:0;margin:auto;width:min(470px,calc(100vw - 24px));height:fit-content;max-height:calc(100dvh - 24px);padding:0;border:0;background:transparent;color:#fff9ed;overflow:visible;font-family:DynaPuff,system-ui,sans-serif}
.account-dialog::backdrop{background:#08251ec9;backdrop-filter:blur(3px)}
.account-card{position:relative;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px 22px 20px;border:3px solid #f7f4e8;border-radius:26px;background:linear-gradient(145deg,#195043,#0b2b23 60%,#071f1a);box-shadow:0 9px 0 #061d18,0 20px 45px #020c09cc;animation:account-card-in .34s cubic-bezier(.2,.8,.3,1.15)}
@keyframes account-card-in{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
.account-close.window-close{top:12px;right:12px;width:42px;min-width:42px;height:42px;border:2px solid #09251f;border-radius:50%;background:#f5823b;color:#fff;box-shadow:0 4px 0 #061d18}
.account-kicker{margin:2px 48px 20px;color:#aee78d;font-size:13px;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.account-title{margin:4px 0 4px;text-align:center;text-transform:uppercase;font-size:clamp(26px,6.4vw,34px);font-weight:700;line-height:1.05;color:#f5823b;-webkit-text-stroke:1.5px #fff6e4;paint-order:stroke fill;text-shadow:0 4px 0 #2f8a58,0 8px 0 #071d18}
.account-lead{margin:6px auto 14px;max-width:34ch;text-align:center;color:#d8eadf;font-size:16px;line-height:1.35}
.account-tabs{display:flex;gap:10px;margin:0 0 12px}
.account-tab.custom-tab{flex:1 1 0;min-width:0;min-height:42px;padding:4px 10px;font-size:17px;white-space:nowrap}
.account-form{display:grid;gap:10px}
.account-field{display:grid;gap:5px;min-width:0}
.account-label{justify-self:start;text-align:left;font-size:14px;letter-spacing:.08em;color:#aee78d;text-transform:uppercase}
.account-field input,.account-country-trigger,.account-country-search{box-sizing:border-box;width:100%;min-height:48px;padding:10px 14px;border:2px solid #f7f4e8;border-radius:14px;background:#0a2a22;color:#fff;font:400 18px/1.2 DynaPuff,system-ui,sans-serif;box-shadow:inset 0 3px 0 #04140f;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.account-field input::placeholder,.account-country-search::placeholder{color:#8fb3a2}
.account-field input:focus,.account-field input:focus-visible,.account-country-trigger:focus-visible,.account-country-search:focus{outline:none!important;border-color:#ffd769;box-shadow:inset 0 3px 0 #04140f,0 0 0 3px #ffd76955}
.account-field.is-invalid input,.account-field.is-invalid .account-country-trigger{border-color:#ff9a7a;box-shadow:inset 0 3px 0 #04140f,0 0 0 3px #ff7a5933}
.account-field input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #0a2a22 inset;caret-color:#fff}
.account-error,.account-form-error{margin:0;color:#ffb199;font-size:14px;line-height:1.3}
.account-error:empty,.account-form-error:empty{display:none}
.account-form-error{padding:8px 12px;border-radius:12px;background:#5a1f1433;border:1px solid #ff9a7a88;text-align:center}
.account-hint{color:#bdd4c8;font-size:13px;line-height:1.3}
.account-hint:empty{display:none}
.account-password{position:relative}
.account-password input{padding-right:54px}
.account-eye{position:absolute;right:5px;top:calc(50% - 21px);display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:10px;background:transparent;color:#ffd769;transition:color .15s ease}
/* The eye never moves (operator 2026-10-07): no transform or filter on hover, focus or active; only its colour changes. */
.account-eye,body[data-visual-style] .account-eye:not(:disabled):hover,.account-eye:hover,.account-eye:focus,.account-eye:focus-visible,.account-eye:active{transform:none!important;filter:none!important;translate:none!important;scale:none!important}
.account-eye:hover,.account-eye:focus-visible{color:#fff}
.account-eye:active{color:#ffb35c}
.account-eye svg{width:24px;height:24px}
.account-eye[aria-pressed="false"] .account-eye-slash{display:none}
.account-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.account-strength span{height:6px;border-radius:3px;background:#ffffff22;transition:background-color .2s ease}
.account-strength[data-level="1"] span:nth-child(-n+1){background:#ff7a59}
.account-strength[data-level="2"] span:nth-child(-n+2){background:#ffc64b}
.account-strength[data-level="3"] span:nth-child(-n+3){background:#a7e06a}
.account-strength[data-level="4"] span{background:#78d05e}
.account-country-trigger{display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}
.account-country-trigger .ui-picker-arrow{margin-left:auto;color:#ffd769}
.account-country-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-flag{display:inline-block;flex:none;width:28px;height:21px;border-radius:4px;background-image:var(--account-flags);background-size:448px 336px;background-position:calc(var(--fx) * -28px) calc(var(--fy) * -21px);box-shadow:0 0 0 1.5px #ffffff66;vertical-align:middle}
.account-flag.is-none{background:repeating-linear-gradient(45deg,#ffffff26 0 4px,transparent 4px 8px)}
.account-country-pop{margin-top:6px;padding:8px;border:2px solid #f7f4e8;border-radius:16px;background:#0d3028;box-shadow:0 6px 0 #061d18}
.account-country-search{min-height:44px;font-size:17px;-webkit-appearance:none;appearance:none}
.account-country-list{max-height:min(220px,34dvh);overflow:auto;overscroll-behavior:contain;margin-top:6px;scrollbar-width:thin}
.account-country-option{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:10px;cursor:pointer;font-size:16px}
.account-country-option.is-active{background:#34785c}
.account-country-option[aria-selected="true"]{color:#ffe46d}
.account-country-empty{margin:8px;color:#bdd4c8;font-size:15px;text-align:center}
.account-dialog .primary-button,.account-dialog .secondary-button{display:block;width:100%;min-width:0;margin:0}
.account-submit{margin-top:4px!important;font-size:22px}
.account-submit.is-busy{opacity:.85;cursor:progress}
.account-small{margin:2px 0 0;color:#bdd4c8;font-size:13px;line-height:1.35;text-align:center}
.account-switch{display:block;margin:0 auto;padding:8px 10px;border:0;background:none;color:#ffd769;font:inherit;font-size:15px;text-decoration:underline;text-underline-offset:4px}

.account-me{display:grid;justify-items:center;gap:4px;margin:4px 0 16px}
.account-me .account-title{text-transform:none}
.account-me-avatar{display:grid;place-items:center;width:96px;height:96px;margin-bottom:6px;border:3px solid #f7f4e8;border-radius:50%;background:radial-gradient(circle at 50% 38%,#3a9a6a,#0b2a22);box-shadow:0 5px 0 #061d18;overflow:hidden}
.account-me-avatar img{width:112%;height:112%;object-fit:contain}
.account-me-email{margin:0;color:#bdd4c8;font-size:15px;word-break:break-all;text-align:center}
.account-me-country{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:16px}
.account-me-sync{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:6px 12px;border-radius:999px;background:#0a2a22;color:#d8eadf;font-size:14px}
.account-me-sync::before{content:'';width:9px;height:9px;border-radius:50%;background:#78d05e;box-shadow:0 0 8px #78d05e}
.account-me-sync[data-sync="saving"]::before{background:#ffc64b;box-shadow:0 0 8px #ffc64b}
.account-me-sync[data-sync="offline"]::before{background:#ff7a59;box-shadow:none}
.account-signout{margin-top:4px!important}

.account-card[data-view="slides"]{padding-top:16px}
.account-slides{position:relative}
.account-skip{position:absolute;top:-4px;right:-6px;z-index:2;padding:8px 10px;border:0;background:none;color:#bdd4c8;font:inherit;font-size:14px;letter-spacing:.1em}
.account-slide-viewport{overflow:hidden;touch-action:pan-y}
.account-slide{min-width:0;padding:0 2px}
.account-slide .account-lead{margin-bottom:6px;min-height:2.7em}
.account-slides.from-right .account-slide.is-current{animation:account-slide-r .34s cubic-bezier(.2,.8,.3,1)}
.account-slides.from-left .account-slide.is-current{animation:account-slide-l .34s cubic-bezier(.2,.8,.3,1)}
@keyframes account-slide-r{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes account-slide-l{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.account-art{position:relative;height:150px;margin:30px auto 8px;display:grid;place-items:center}
.account-art img{display:block;object-fit:contain}
.account-art-cloud{position:absolute;width:190px;height:120px;border-radius:60px;background:radial-gradient(circle at 50% 40%,#2f8a58,#123e33 70%);border:3px solid #f7f4e8;box-shadow:0 6px 0 #061d18}
.account-art-chip{position:absolute;width:112px;height:112px;transform:rotate(-12deg);animation:account-bob 2.4s ease-in-out infinite}
.account-art-medal{position:absolute;width:52px;height:52px;left:calc(50% + 52px);top:8px;transform:rotate(14deg);animation:account-bob 2.4s ease-in-out .4s infinite}
.account-art-hat{position:absolute;display:grid;place-items:center;width:78px;height:78px;left:calc(50% - 128px);top:66px;transform:rotate(-10deg);animation:account-bob 2.4s ease-in-out .8s infinite}
.account-art-hat img{width:100%;height:100%}
@keyframes account-bob{0%,100%{translate:0 0}50%{translate:0 -7px}}
.account-podium{display:flex;align-items:flex-end;gap:6px;height:132px}
.account-step{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;width:66px;padding-top:6px;border:3px solid #f7f4e8;border-bottom:0;border-radius:12px 12px 0 0;background:linear-gradient(#2f8a58,#195043)}
.account-step img{width:38px;height:38px;margin-top:-30px}
.account-step.step-1{height:96px;background:linear-gradient(#78d05e,#2f8a58)}
.account-step.step-1 img{width:46px;height:46px;margin-top:-38px}
.account-step.step-1 .account-flag{order:2;margin-top:6px}
.account-step.step-2{height:68px}.account-step.step-3{height:50px}
.account-soon{position:absolute;top:-16px;left:calc(50% + 12px);z-index:2;padding:4px 10px 6px;border:3px solid #080d0a;border-radius:8px;background:#e4d575;color:#141811;font-size:13px;letter-spacing:.05em;box-shadow:0 4px 0 #080d0a;transform:rotate(7deg)}
.account-ladder-tag{position:absolute;bottom:-6px;padding:2px 12px;border-radius:999px;background:#071f1a;border:2px solid #f7f4e888;font-size:13px;letter-spacing:.08em}
.account-art-look{height:auto;gap:12px}
.account-look-big{display:grid;place-items:center;width:104px;height:104px;border:3px solid #f7f4e8;border-radius:50%;background:radial-gradient(circle at 50% 38%,#3a9a6a,#0b2a22);box-shadow:0 5px 0 #061d18}
.account-look-big img{width:92%;height:92%}
.account-look-big .account-cat{width:60%;height:60%}
.account-look-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.account-look{position:relative;display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid #f7f4e888;border-radius:14px;background:#0a2a22}
.account-look img{width:88%;height:88%}
.account-look.is-active{border-color:#09251f;background:linear-gradient(#ff9a55,#f57837);box-shadow:0 3px 0 #8d351e}
.account-look-dot{width:12px;height:12px;border-radius:50%;background:#bdd4c8}
.account-look-lock{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#071f1a;border:2px solid #f7f4e888}.account-look-lock svg{width:11px;height:11px}
.account-open-custom{margin-top:10px!important}
.account-slide-nav{display:flex;align-items:center;gap:10px;margin-top:14px}
.account-nav-back{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:0;border:2px solid #f7f4e8;border-radius:50%;background:linear-gradient(#205c4b,#143f34);color:#fff;font-size:30px;line-height:1;box-shadow:0 4px 0 #061d18}
.account-nav-back:disabled{opacity:.35;cursor:default}
.account-dots{display:flex;flex:1;justify-content:center;gap:2px}
.account-dot{width:26px;height:26px;padding:0;border:0;background:none;position:relative}
.account-dot::before{content:'';position:absolute;inset:7px;border-radius:50%;background:#ffffff40;transition:background-color .2s ease,transform .2s ease}
.account-dot.is-current::before{background:#ffd769;transform:scale(1.3)}
.account-next.primary-button{flex:0 1 auto;width:auto;min-width:min(140px,42%);font-size:20px}

.account-saves{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 16px}
.account-save{position:relative;padding:16px 12px 12px;border:2px solid #f7f4e866;border-radius:16px;background:#0a2a22}
.account-save.is-recommended{border-color:#ffd769;box-shadow:0 0 0 3px #ffd76933}
.account-save-badge{position:absolute;top:-12px;left:50%;translate:-50% 0;white-space:nowrap;padding:2px 10px;border:2px solid #09251f;border-radius:999px;background:#ffd769;color:#173d32;font-size:11px;letter-spacing:.06em}
.account-save h3{margin:0 0 10px;text-align:center;font-size:15px;letter-spacing:.08em;color:#aee78d}
.account-save dl{display:grid;gap:5px;margin:0}
.account-save dl div{display:flex;justify-content:space-between;gap:8px;font-size:14px}
.account-save dt{color:#bdd4c8}.account-save dd{margin:0;color:#fff}
.account-merge-actions{display:grid;gap:10px}
@media(max-width:360px){.account-saves{grid-template-columns:1fr}}

.account-prompt{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;margin-top:14px;padding:12px 14px;border:2px solid #f7f4e8;border-radius:18px;background:linear-gradient(#205c4b,#143f34);color:#fff;box-shadow:0 5px 0 #061d18;font-family:DynaPuff,system-ui,sans-serif;text-align:left;animation:account-card-in .45s cubic-bezier(.2,.8,.3,1.2)}
.account-prompt-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#0a2a22;border:2px solid #f7f4e8aa}
.account-prompt-copy{display:grid;gap:2px;min-width:0}
.account-prompt-copy strong{color:#ffe46d;font-size:18px;line-height:1.1}
.account-prompt-copy span{color:#d8eadf;font-size:14px;line-height:1.3}
.account-prompt-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px}
.account-prompt .account-prompt-cta{flex:1 1 auto;width:auto;min-width:0;min-height:44px;margin:0;padding:6px 12px;font-size:17px;white-space:nowrap}
.account-prompt-dismiss{flex:none;white-space:nowrap;padding:8px;border:0;background:none;color:#bdd4c8;font:inherit;font-size:15px;text-decoration:underline;text-underline-offset:4px}

.account-welcome{position:fixed;inset:0;z-index:80;display:grid;place-items:center;overflow:hidden;opacity:0;font-family:DynaPuff,system-ui,sans-serif;color:#fff9ed;cursor:pointer;user-select:none}
.aw-bg{position:absolute;inset:0}
.aw-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,#2b7a5c 0%,#195043 28%,#0e3529 58%,#071f1a 100%)}
.aw-rays{position:absolute;left:50%;top:50%;width:300vmax;height:300vmax;margin:-150vmax 0 0 -150vmax;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.055) 0deg 9deg,rgba(255,255,255,0) 9deg 18deg);-webkit-mask-image:radial-gradient(circle,#000 0%,rgba(0,0,0,.85) 12%,transparent 30%);mask-image:radial-gradient(circle,#000 0%,rgba(0,0,0,.85) 12%,transparent 30%)}
.aw-chip{position:absolute;left:0;top:0;width:60px;height:60px;will-change:transform}
.aw-grain{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(3,14,11,.55) 100%)}
.aw-stage{position:relative;display:flex;flex-direction:column;align-items:center;max-width:100%;padding:0 16px;text-align:center}
.aw-logo{position:relative;margin-bottom:clamp(34px,7vmin,64px);transform:rotate(-3deg)}
.aw-logo-line{display:flex;align-items:baseline;justify-content:center;font-size:clamp(84px,18vmin,180px);line-height:.78;letter-spacing:-.02em;font-weight:700}
.aw-lg{display:inline-block;transform-origin:50% 80%;-webkit-text-stroke:.06em #0d150a;paint-order:stroke fill;filter:drop-shadow(.035em .05em 0 #080a0a)}
.aw-lg.logo-green{color:#89d353}.aw-lg.logo-orange{color:#f08236}
.aw-sub{position:absolute;left:50%;top:86%;translate:-50% 0;white-space:nowrap;padding:.1em .45em .16em;border:.1em solid #080d0a;border-radius:.16em;background:#e4d575;color:#141811;font-size:clamp(20px,4.2vmin,42px);line-height:1;letter-spacing:.03em;box-shadow:0 .12em 0 #080d0a;transform-origin:50% 50%}
.aw-hello{margin:0;font-size:clamp(36px,7.4vmin,70px);font-weight:700;line-height:1.1;color:#fff9ed;-webkit-text-stroke:.08em #09251f;paint-order:stroke fill;text-shadow:0 .07em 0 #061d18,0 .1em .08em rgba(0,0,0,.35)}
.aw-line{margin:.35em 0 0;max-width:min(94vw,1240px);font-size:clamp(20px,3.9vmin,38px);font-weight:700;line-height:1.55;color:#fff9ed;-webkit-text-stroke:.08em #09251f;paint-order:stroke fill;text-shadow:0 .07em 0 #061d18,0 .1em .08em rgba(0,0,0,.35)}
.aw-word{display:inline-block;white-space:nowrap}
.aw-ch{display:inline-block;transform-origin:50% 80%;will-change:transform}
.aw-sp{display:inline-block;width:.28em}
.aw-accent-wrap{position:relative;display:inline-block;margin:0 .08em}
.aw-accent{font-size:1.8em;line-height:1;vertical-align:-.1em;color:#f5823b;-webkit-text-stroke:.09em #fff9ed;paint-order:stroke fill;text-shadow:0 .06em 0 #2f8a58,0 .1em 0 #061d18,0 .14em .1em rgba(0,0,0,.35);letter-spacing:.01em}
.aw-spark{position:absolute;width:1.1em;height:1.1em;pointer-events:none}
.aw-spark svg{width:100%;height:100%;display:block;filter:drop-shadow(0 .06em 0 #061d18)}
.aw-spark-1{left:-.55em;top:-.35em}.aw-spark-2{right:-.5em;top:-.55em;width:.8em;height:.8em}.aw-spark-3{right:-.2em;bottom:-.25em;width:.7em;height:.7em}
@media(max-width:560px){.aw-line{max-width:92vw}.aw-accent{font-size:1.65em}}
@media(prefers-reduced-motion:reduce){.account-card,.account-prompt,.account-art *,.account-slides .account-slide.is-current{animation:none!important}}
body.reduced-motion .account-card,body.reduced-motion .account-prompt,body.reduced-motion .account-art *,body.reduced-motion .account-slides .account-slide.is-current{animation:none!important}
.account-switch .ui-wave-letter,.account-prompt-dismiss .ui-wave-letter{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.account-nw{white-space:nowrap}
.account-dialog .primary-button,.account-dialog .secondary-button,.account-prompt-cta{line-height:1.15;text-wrap:balance}
.account-dialog button,.account-prompt button,.account-chip[data-state="off"],.account-chip[data-state="off"] .account-chip-label{white-space:normal}
.account-dialog .account-nw,.account-prompt .account-nw,.account-chip .account-nw{white-space:nowrap}
@media(max-height:760px){.account-prompt{margin-top:10px;padding:10px 12px}.account-prompt-copy span{display:none}.account-prompt-icon{width:36px;height:36px}}
/* Portrait phones: the account chip sits centred at the top, between the wallet and the ?/gear pair (operator 2026-10-07). */
@media(max-width:800px) and (orientation:portrait){#menu-holdings>.account-chip{flex:0 1 auto;min-width:0;max-width:none;margin:0 auto}#menu-holdings>.account-chip[data-state="off"]{max-width:none}}
/* Narrow phones: a signed-in chip is the avatar alone (the name stays in its accessible label), so a long wallet never squeezes it to "Chi…". */
@media(max-width:380px) and (orientation:portrait){#menu-holdings>.account-chip[data-state="in"] .account-chip-label{display:none}#menu-holdings>.account-chip[data-state="in"]{padding:3px}}
/* Welcome end (operator 2026-10-07): LET'S PLAY in the teaser end card's PLAY FREE look (smc/tools/studio: orange gradient, ink border, ink text stroke, deep shadow, white play triangle) and a quiet Skip. */
.account-welcome{cursor:default}
.aw-center{position:relative;display:flex;flex-direction:column;align-items:center;max-width:100%}
.aw-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:clamp(20px,4.5vmin,44px)}
.aw-play-wrap,.aw-skip-wrap{transform-origin:50% 50%}
.aw-play{display:inline-flex;align-items:center;gap:.28em;padding:.24em .65em .3em;border:.087em solid #09251f;border-radius:.33em;background:linear-gradient(#ff9a52,#f5823b 55%,#e8702c);color:#fff9ed;font:700 clamp(28px,5.2vmin,52px)/1 DynaPuff,system-ui,sans-serif;letter-spacing:.01em;-webkit-text-stroke:.076em #09251f;paint-order:stroke fill;box-shadow:0 .13em 0 #bd5128,0 .13em 0 .087em #09251f,0 .33em .43em rgba(0,0,0,.4);white-space:nowrap;cursor:pointer;transition:background .15s ease}
.aw-play:hover,.aw-play:focus-visible{background:linear-gradient(#ffad6e,#ff8f45 55%,#f07a33)}
.aw-play:focus-visible{box-shadow:0 .13em 0 #bd5128,0 .13em 0 .087em #09251f,0 0 0 .2em #ffe46d,0 .33em .43em rgba(0,0,0,.4)}
.aw-tri{flex:none;width:0;height:0;border-top:.37em solid transparent;border-bottom:.37em solid transparent;border-left:.565em solid #fff9ed;filter:drop-shadow(.045em 0 0 #09251f) drop-shadow(-.045em 0 0 #09251f) drop-shadow(0 .045em 0 #09251f) drop-shadow(0 -.045em 0 #09251f)}
.aw-skip{padding:10px 18px;border:0;background:none;color:#c9d6cf;font:400 clamp(16px,2.6vmin,22px)/1.2 DynaPuff,system-ui,sans-serif;letter-spacing:.06em;cursor:pointer;transition:color .15s ease}
.aw-skip .ui-wave-letter{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.aw-skip:hover,.aw-skip:focus-visible{color:#fff}

/* Socials (2026-10-07): the four community links as a main-menu button + popup page (menu dialog, panel "socials") and a row at the bottom of Settings.
   Brand tiles: X black, Instagram gradient, Telegram blue, DEX Screener black with its own mark, white glyphs. dist/socials.mjs owns the markup. */
.social-x{--brand:#000}.social-instagram{--brand:linear-gradient(45deg,#f9a53a 0%,#e1306c 45%,#833ab4 100%)}.social-telegram{--brand:#26a5e4}.social-dexscreener{--brand:#0b0d10}
.social-badge,.social-fab-cell{display:grid;place-items:center;background:var(--brand);color:#fff;overflow:hidden}
.social-glyph{display:block;width:62%;height:62%;fill:currentColor}.social-glyph-img{width:100%;height:100%;object-fit:cover}
.social-fab{position:absolute;z-index:6;right:max(24px,calc(env(safe-area-inset-right) + 14px));bottom:max(86px,calc(env(safe-area-inset-bottom) + 70px));width:96px;display:grid;justify-items:center;gap:4px;padding:8px 6px 6px;border:2px solid #f7f4e8;border-radius:14px;background:linear-gradient(#205c4b,#143f34);box-shadow:0 4px 0 #061d18;color:#fff;font:inherit;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.social-fab:hover,.social-fab:focus-visible{background:linear-gradient(#368263,#205c47);outline:0}
.social-fab:focus-visible{box-shadow:0 4px 0 #061d18,0 0 0 3px #ffe46d99}
.social-fab:active{transform:translateY(2px);box-shadow:0 2px 0 #061d18}
.social-fab-grid{display:grid;grid-template-columns:repeat(2,22px);gap:3px}
.social-fab-cell{width:22px;height:22px;border-radius:6px}
.social-fab-label{font-size:12px;line-height:1;letter-spacing:.06em;font-weight:700}
#panel-content .socials-pitch{margin:0 auto 16px;max-width:46ch;text-align:center}
#panel-content .socials-list{list-style:none;margin:0 auto;padding:0;display:grid;gap:12px;width:min(520px,100%)}
#panel-content .social-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:70px;padding:10px 16px 10px 10px;border:2px solid #f7f4e8;border-radius:16px;background:linear-gradient(#205c4b,#143f34);box-shadow:0 4px 0 #061d18;color:#fff;text-decoration:none;text-align:left;cursor:pointer}
#panel-content .social-link:hover,#panel-content .social-link:focus-visible{background:linear-gradient(#368263,#205c47);outline:0;color:#fff}
#panel-content .social-link:focus-visible{box-shadow:0 4px 0 #061d18,0 0 0 3px #ffe46d99}
#panel-content .social-link:active{transform:translateY(2px);box-shadow:0 2px 0 #061d18}
#panel-content .social-link .social-badge{width:50px;height:50px;border-radius:12px;border:2px solid #ffffff55}
#panel-content .social-name{display:grid;gap:2px;min-width:0}#panel-content .social-name b{font-size:21px;line-height:1.1}
#panel-content .social-name small{font:600 14px/1.2 system-ui,sans-serif;color:#d4e6da;overflow-wrap:anywhere}
#panel-content .social-go{font-size:22px;color:#ffe46d}
.socials-row{display:grid;gap:8px;justify-items:center}
.socials-row-label{margin:0;font-size:14px;letter-spacing:.08em;color:var(--official-muted,#bdd4c8)}
.socials-row-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
#panel-content .social-chip{display:block;border-radius:14px;box-shadow:0 3px 0 #061d18;text-decoration:none;cursor:pointer}
#panel-content .social-chip .social-badge{width:52px;height:52px;border-radius:14px;border:2px solid #f7f4e8}
#panel-content .social-chip:hover .social-badge,#panel-content .social-chip:focus-visible .social-badge{filter:brightness(1.18)}
#panel-content .social-chip:focus-visible{outline:0;box-shadow:0 3px 0 #061d18,0 0 0 3px #ffe46d99}
#panel-content .social-chip:active{transform:translateY(2px);box-shadow:0 1px 0 #061d18}
/* phones: the button sits right above RECORDS (the rightmost bottom-row tile), same width and right edge */
@media(max-width:800px),(max-width:950px) and (max-height:500px){
 .social-fab{--side-l:max(12px,calc(env(safe-area-inset-left) + 8px));--side-r:max(12px,calc(env(safe-area-inset-right) + 8px));--nav-b:max(14px,calc(env(safe-area-inset-bottom) + 10px));right:var(--side-r);width:calc((100% - var(--side-l) - var(--side-r) - 24px)/4);bottom:calc(var(--nav-b) + 76px + 8px);padding:6px 4px 5px;gap:3px}
 .social-fab-grid{grid-template-columns:repeat(2,20px)}.social-fab-cell{width:20px;height:20px}.social-fab-label{font-size:10px}
 body[data-beta] .social-fab{bottom:var(--nav-b)}
}
@media(max-height:500px) and (max-width:950px){.social-fab{bottom:calc(var(--nav-b) + 62px + 8px)}body[data-beta] .social-fab{bottom:var(--nav-b)}}
@media(max-width:380px) and (min-height:501px){.main-menu .menu-story .start-button{max-width:calc(75vw - 30px)}}
