@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@500;700;800;900&display=swap');
*{box-sizing:border-box}body{margin:0;background:#edf4fa;color:#203b63;font-family:'Noto Sans TC',system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible{outline:4px solid #ffcf3d;outline-offset:3px}.layout{max-width:1510px;margin:auto;min-height:100svh;display:grid;grid-template-columns:1fr minmax(340px,480px) .83fr;gap:4vw;align-items:center;padding:30px 4vw}.intro{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:14px 0}.brand{text-decoration:none;color:inherit;display:flex;gap:14px;align-items:center}.brand>b{font-size:40px;font-style:italic;letter-spacing:-5px;position:relative}.brand b span{font-size:18px;position:absolute;right:-7px;top:-6px}.brand em{font-style:normal;font-size:9px;letter-spacing:2px;max-width:100px;line-height:1.7;margin-left:7px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#5d85ac}h1{font-size:clamp(30px,3.2vw,50px);line-height:1.45;letter-spacing:-1.5px;margin:22px 0}.desc{font-size:14px;color:#7990a8;line-height:2}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px}.tags span{font-size:10px;padding:7px 9px;border:1px solid #d4e2ed;border-radius:30px}.guide{border-top:1px solid #d6e3ed;padding-top:12px;font-size:12px}.guide p{font-weight:800;margin-bottom:18px}.guide>div{display:flex;align-items:center;gap:6px;margin:10px 0}.guide span{margin-left:8px;color:#7389a1}kbd{min-width:25px;text-align:center;background:white;border:1px solid #d5e2ee;border-bottom:3px solid #cbdbe8;border-radius:5px;padding:5px;font-family:inherit}.guide small{display:block;color:#8da0b5;font-size:10px;line-height:2;margin-top:16px}footer{font-size:8px;letter-spacing:2px;color:#99aabe;margin-top:28px}footer span{color:#e9b62a}.game-wrap{width:100%;max-width:480px;margin:auto;filter:drop-shadow(0 22px 28px #244e7733)}#game{width:100%;aspect-ratio:480/820;position:relative;overflow:hidden;border-radius:28px;background:#76beff;border:7px solid white;isolation:isolate;touch-action:none;user-select:none}canvas{width:100%;height:100%;display:block}.screen{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;color:#fff}.hidden{display:none!important}.home{background:linear-gradient(#bfe5ff0a,#4078bb0a 50%,#25397c66)}.topmark{position:absolute;top:20px;left:22px;right:20px;font-size:32px;font-style:italic;font-weight:900}.topmark sup{font-size:14px}.topmark button{float:right;color:white;border:1px solid #ffffff66;background:#3568ae77;width:35px;height:35px;border-radius:50%;font-size:22px}.logo{position:absolute;top:12%;transform:rotate(-6deg);text-align:center;filter:drop-shadow(0 5px 0 #251957);line-height:1.05}.logo span,.logo strong{display:block;font-weight:900;-webkit-text-stroke:7px #362362;paint-order:stroke fill;letter-spacing:-4px;text-shadow:0 3px 0 #88b9ed,0 -2px 0 white}.logo span{font-size:clamp(35px,5vw,62px)}.logo strong{font-size:clamp(50px,6vw,78px);color:#e9faff}.logo i{position:absolute;right:-27px;top:-8px;font-size:56px;color:#ffda40;-webkit-text-stroke:2px #ffac29}.subtitle{position:absolute;top:31%;font-size:12px;font-weight:800;letter-spacing:4px;text-shadow:0 2px 5px #22528d}.mascot{background-image:url('assets/tiger.webp');background-repeat:no-repeat;background-size:200% 100%;background-position:left center}.home>.mascot{position:absolute;top:35%;height:39%;width:65%;animation:bob 3s ease-in-out infinite;filter:drop-shadow(0 18px 9px #29446b44)}@keyframes bob{50%{transform:translateY(-10px) rotate(3deg)}}.home-bottom{position:absolute;bottom:4%;width:79%;text-align:center}.record{font-size:12px;text-shadow:0 2px 4px #26447a;margin-bottom:12px}.record b{margin-left:8px}.yellow{display:block;width:100%;padding:14px;border-radius:40px;font-size:25px;letter-spacing:2px;font-weight:900;color:#743b0c;background:linear-gradient(#fff18b,#ffd83e 40%,#ffba17);box-shadow:inset 0 2px 0 #fff9c9,inset 0 -4px 0 #f29b06,0 5px 0 #a65e1d55,0 8px 20px #6b3c2422;border:2px solid #fff09c;transition:transform .15s}.yellow:hover{transform:translateY(-2px);filter:brightness(1.05)}.yellow span{font-size:21px;margin-left:12px}.secondary{display:block;margin:12px auto;color:white;padding:9px 15px;background:#355c9b66;border:1px solid #ffffff45;border-radius:25px;font-size:13px}.home-bottom small{font-size:9px;letter-spacing:1px;opacity:.85}.hud{position:absolute;top:16px;left:15px;right:15px;display:flex;align-items:flex-start;gap:10px;z-index:2}.glass{background:linear-gradient(#4aa8ff,#1269df);border:3px solid white;border-radius:13px;box-shadow:0 3px 0 #264caa88;color:white}.square{width:44px;height:44px;font-size:25px;line-height:1}.hud #hearts{font-size:25px;color:#ff71a4;letter-spacing:1px;text-shadow:0 2px 2px #9d3066;padding-top:2px}.counter{margin-left:auto;display:flex;align-items:flex-end;flex-direction:column;gap:5px}.counter b,.counter>span{background:#24487dbb;border:1px solid #c6e2ff44;border-radius:20px;padding:4px 12px;font-size:19px}.counter>span{font-size:13px}.shade{background:#244d8f72;backdrop-filter:blur(9px);justify-content:center}.panel{width:80%;text-align:center}.panel h2{font-size:37px;margin:15px}.panel>p{margin-bottom:35px}.panel .eyebrow{color:#e3f4ff}.result-mascot{position:absolute;top:9%;width:64%;height:36%}.result-content{position:absolute;top:43%;width:84%;text-align:center}.result-content>p{margin:8px;font-size:18px;font-weight:800}.result-content h2{font-size:65px;color:#ffe397;margin:0;line-height:1.2;text-shadow:0 4px 0 #96692266}.result-content>span{font-size:12px}.stats{display:flex;justify-content:space-around;margin:24px 0;padding:18px 0;background:#26447c88;border:1px solid #adc5e866;border-radius:18px;font-size:12px}.stats strong{display:block;font-size:23px;margin-top:5px}.character-title{display:flex;align-items:center;width:90%;gap:65px;position:absolute;top:4%}.character-title button{border-radius:50%;width:42px;height:42px;background:#ffffff33;color:white;font-size:34px}.character-title h2{font-size:25px}.wardrobe-desc{margin-top:30%;font-size:13px}#wardrobe{width:90%;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.skin{background:linear-gradient(140deg,#ffffffb8,#d4e7ff88);padding:8px;border-radius:22px;border:2px solid #ffffff77;color:#203b63;position:relative}.skin.selected{border:3px solid #ffe26b;background:linear-gradient(#fff5d4,#fffdf5)}.skin .mascot{width:100%;height:145px}.skin strong{display:block;margin-bottom:5px;font-size:15px}.skin small{font-size:11px}.skin.selected:after{content:'✓';position:absolute;right:8px;top:7px;border-radius:50%;background:#238cff;color:white;padding:2px 6px}.balance{font-size:13px}#shopMessage{font-size:13px;color:#fff0a3}#toast{position:absolute;top:22%;left:0;right:0;text-align:center;color:white;font-size:22px;font-weight:900;text-shadow:0 3px 8px #1b4b9b;pointer-events:none}#touchControls{position:absolute;bottom:16px;left:15px;right:15px;display:flex;justify-content:space-between;pointer-events:none}#touchControls button{pointer-events:auto;border-radius:50%;width:48px;height:48px;font-size:28px;color:white;background:#214d7e55;border:1px solid #ffffff66}.side{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:25px 0}.issue{font-size:8px;letter-spacing:1.4px;color:#8ba1b8;line-height:2}.issue span{display:block}.adventure>span{color:#efb832;font-size:35px}.adventure h3{font-size:25px;line-height:1.6}.adventure p{font-size:12px;line-height:2;color:#8b9fb3}.mini-stats{display:flex;gap:35px;margin-top:35px}.mini-stats b{font-size:30px;color:#4d7caa;display:block}.mini-stats small,.local-note{font-size:9px;color:#92a4b8}.local-note{line-height:2}@media(min-width:1100px){.game-wrap{max-width:min(480px,53svh)}}@media(max-width:1100px){.side{display:none}.layout{grid-template-columns:1fr minmax(340px,450px);max-width:1000px;gap:7vw;padding:25px 5vw}.game-wrap{max-width:min(450px,56svh)}}@media(max-width:700px){body{background:#68adf5}.layout{display:block;padding:0;min-height:100svh}.intro{display:none}.game-wrap{max-width:480px;filter:none}#game{border:0;border-radius:0;aspect-ratio:auto;height:100svh;min-height:560px;max-height:1040px}.logo span{font-size:62px}.logo strong{font-size:78px}.subtitle{top:32%}.home>.mascot{top:36%;height:37%}.home-bottom{bottom:5%}.wardrobe-desc{margin-top:23%}.skin .mascot{height:clamp(120px,20svh,190px)}}@media(prefers-reduced-motion:reduce){.mascot{animation:none!important}}
/* Second art pass: sunlit toy materials, stronger dimensional UI. */
body{background:radial-gradient(ellipse at 50% 5%,#f9fcff 0,#edf4fa 50%,#dfeaf5 100%)}#game{box-shadow:0 1px 0 #ffffff,0 22px 60px #345c832b}.home{background:linear-gradient(#4380b300,#5189ba00 40%,#35518a15 65%,#243b6d88)}.logo{filter:drop-shadow(0 5px 0 #34235a) drop-shadow(0 9px 8px #2366a25c)}.logo span,.logo strong{-webkit-text-stroke:9px #34205a;text-shadow:0 3px 0 #89bdef,0 -2px 0 #fff,3px 4px 0 #5c86bd;letter-spacing:-3px}.logo span{background:linear-gradient(#fff,#ede6fc);background-clip:text;color:transparent}.logo strong{color:#ecfaff}.home>.mascot{width:75%;height:41%;top:34%;filter:drop-shadow(-14px 20px 7px #293f6b66)}.subtitle{font-weight:900;text-shadow:0 2px 6px #254d9c,0 1px 2px #254d9c}.yellow{background:linear-gradient(170deg,#fff5a1 0%,#ffe351 32%,#ffce2c 62%,#ffb50c 100%);border:2px solid #fff1a2;box-shadow:inset 0 3px 0 #fff9cb,inset 0 -5px 0 #e99708,0 3px 0 #b6742b,0 9px 17px #3e392b45;text-shadow:0 1px 0 #fff396}.hud #hearts{font-size:27px;-webkit-text-stroke:.5px #ffa9c6;text-shadow:0 2px 0 #c1477f,0 4px 7px #694a6e55}.counter b{background:linear-gradient(#315998da,#29477bd9);border:1px solid #c5ddff7d;box-shadow:inset 0 1px 0 #ffffff44,0 3px 7px #23416c44}.glass{background:linear-gradient(130deg,#5cc4ff,#2384ed 55%,#1b57cf);box-shadow:inset 0 2px 0 #b5edff,0 4px 0 #234caa77,0 5px 9px #274b7755}.shade{background:#2f4d8c67}.result-content h2{background:linear-gradient(#fff8d7,#ffd765);color:transparent;background-clip:text;filter:drop-shadow(0 4px 0 #805f3966)}#touchControls{opacity:.6}#touchControls button{backdrop-filter:blur(4px)}.skin{box-shadow:inset 0 2px 0 #ffffff9c,0 7px 15px #20417d22}.home-bottom .secondary{backdrop-filter:blur(8px);background:#35588b55;box-shadow:inset 0 1px 0 #ffffff22}.home-bottom{bottom:4%}@media(max-width:700px){body{background:#7abcf2}#game{box-shadow:none}.home>.mascot{top:35%;height:39%}.home-bottom{bottom:5%}}
/* A staged victory sequence: actor, score, stats and actions. */
#result{background:radial-gradient(ellipse at 50% 22%,#7fbde38c 0,#365b9cbd 48%,#172d64e8 100%);backdrop-filter:blur(5px);overflow:hidden}#finaleCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.victory-halo{position:absolute;top:10%;left:15%;width:70%;aspect-ratio:1;background:radial-gradient(circle,#fff1b4aa,#ffffff1c 48%,#fff0 70%);animation:haloBreathe 3s ease-in-out infinite}.victory-rays{position:absolute;left:50%;top:24%;width:120%;aspect-ratio:1;translate:-50% -50%;background:repeating-conic-gradient(from 0deg,#fff1a324 0deg 13deg,#fff0 13deg 30deg);mask-image:radial-gradient(#000 15%,#0000 65%);animation:raysTurn 35s linear infinite}.victory-crown{position:absolute;top:4%;font-size:55px;color:#ffe98c;z-index:2;text-shadow:0 3px 0 #c88c2e,0 6px 18px #ffe574aa;animation:crownArrive .8s cubic-bezier(.2,1.8,.5,1) both,crownFloat 3s 1s ease-in-out infinite}.result-content{z-index:3;top:43%;width:84%}.result-content .result-kicker{font-size:13px;letter-spacing:3px;font-weight:900;margin:0 0 5px;animation:resultRise .6s .25s both}.result-content h2{font-size:clamp(46px,7vw,69px);line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-2px;animation:scoreArrive .7s .35s both}.record-badge{display:inline-block;margin-top:10px;background:#ffffff18;border:1px solid #fffffe55;padding:7px 14px;border-radius:30px;animation:resultRise .55s .7s both}.is-record .record-badge{color:#854807;background:linear-gradient(110deg,#fff4b6,#ffd54d 55%,#fff3a6);border-color:#fff6bd;font-weight:900;box-shadow:0 3px 0 #9d682655,0 0 18px #ffe07544;animation:resultRise .55s .7s both,badgeGlow 2.6s 1.5s ease-in-out infinite}.result-content .stats{margin:18px 0 0;padding:15px 0;border-color:#d3e7ff55;background:linear-gradient(135deg,#d2e5ff26,#1734666b);box-shadow:inset 0 1px 0 #ffffff22,0 9px 20px #1829462b;backdrop-filter:blur(10px);animation:resultRise .6s .9s both}.result-content .stats>div{width:50%;text-align:center}.result-content .stats>div+div{border-left:1px solid #ffffff33}.result-content .stats strong{font-size:25px;font-variant-numeric:tabular-nums}.ending-message{font-size:11px;color:#dcecff;margin:13px 0 16px;animation:resultRise .6s 1.1s both}.result-content .yellow{position:relative;overflow:hidden;animation:resultRise .6s 1.25s both}.result-content .yellow:after{content:'';position:absolute;inset:-70% auto -70% -50%;width:25%;background:linear-gradient(90deg,#fff0,#fffffa88,#fff0);rotate:25deg;animation:buttonShine 4s 2s infinite;pointer-events:none}.result-content .secondary{margin-top:13px;animation:resultRise .6s 1.4s both}@keyframes resultRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes scoreArrive{from{opacity:0;transform:scale(.6)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes crownArrive{from{opacity:0;transform:translateY(-90px) rotate(-20deg) scale(.4)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes crownFloat{50%{transform:translateY(-6px) rotate(5deg)}}@keyframes raysTurn{to{rotate:360deg}}@keyframes haloBreathe{50%{opacity:.6;scale:1.12}}@keyframes badgeGlow{50%{box-shadow:0 3px 0 #9d682655,0 0 25px #ffe07588}}@keyframes buttonShine{0%,55%{left:-50%}85%,100%{left:130%}}@media(max-width:700px){.result-content h2{font-size:68px}.victory-crown{top:4%}}@media(max-height:670px) and (max-width:700px){.result-content{top:42%;width:86%}.result-content h2{font-size:49px}.result-content .stats{margin-top:12px;padding:10px 0}.ending-message{margin:9px 0}.result-content .yellow{padding:10px;font-size:23px}.record-badge{padding:4px 12px;margin-top:4px}.result-content .secondary{margin:9px auto;padding:6px 15px}.victory-crown{font-size:42px;top:2%}}@media(prefers-reduced-motion:reduce){#result *,#result *:after{animation:none!important}.victory-rays{display:none}}
/* Art direction: ice blue, satin gold and restrained depth. */
#game{container-type:inline-size;border-width:5px;border-color:#fff;border-radius:30px;box-shadow:0 2px 3px #fff9,0 24px 64px #25497326}.game-wrap{filter:none}.hud{top:20px;left:18px;right:18px;gap:12px}.hud #hearts{font-size:25px;letter-spacing:0;-webkit-text-stroke:0;text-shadow:0 2px 0 #b94675,0 3px 5px #343e6a33}.hud .counter{gap:6px}.counter b{display:flex;align-items:center;justify-content:center;gap:6px;min-width:105px;font-size:20px;padding:5px 11px 5px 6px;background:linear-gradient(145deg,#274a7bdb,#203c6ddb);border:1px solid #d9e9ff99;border-radius:24px;box-shadow:inset 0 1px 0 #fff2,0 4px 12px #1b3c6822;backdrop-filter:blur(12px);font-variant-numeric:tabular-nums}.ui-coin{width:26px;height:26px;flex:none;filter:drop-shadow(0 2px 2px #65420e33)}.counter>span{padding:4px 12px;font-size:12px;font-weight:800;letter-spacing:.4px;background:#284875a6;border:1px solid #d9e9ff55;backdrop-filter:blur(10px)}.glass{border-width:2px;box-shadow:inset 0 1px 1px #e6f6ffbb,0 3px 0 #275eac66,0 5px 14px #26467422}.square{width:42px;height:42px;border-radius:13px}.home>.mascot{animation-duration:4s}.home-bottom .yellow{font-size:24px;letter-spacing:3px;padding:16px}.home-bottom .record{font-size:11px;letter-spacing:1px}.yellow{border-color:#fff0ba;background:linear-gradient(165deg,#ffed98,#ffd45c 62%,#f3b63f);box-shadow:inset 0 2px 1px #fff9d9,inset 0 -3px 0 #e5a434,0 4px 0 #a66e2e55,0 10px 24px #24365a24;color:#724515;text-shadow:0 1px 0 #fff2b7}.yellow:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #fff6c2,inset 0 -1px 0 #d99b2c,0 2px 0 #a66e2e55}.secondary{font-weight:700;letter-spacing:1px}.logo{-webkit-font-smoothing:antialiased;filter:drop-shadow(0 4px 0 #35295c) drop-shadow(0 9px 9px #214f802e)}.logo span,.logo strong{-webkit-text-stroke:7px #3c2b68;text-shadow:0 2px 0 #b5dcf2,0 -1px 0 #fff;letter-spacing:-3px}.logo i{font-size:48px}.tags span{color:#6787a6;background:#fff8}.intro h1{color:#233f61}.guide{color:#3e5d7a}#toast{font-size:18px;letter-spacing:1px;text-shadow:0 2px 8px #224b8099}#touchControls{opacity:.35}#touchControls:hover{opacity:.65}
#result{background:radial-gradient(ellipse at 50% 18%,#759dc2b8 0%,#395984dd 44%,#1d355aef 100%);backdrop-filter:blur(8px)}#result:before{content:'';position:absolute;inset:12px;border:1px solid #d5e7fb24;border-radius:22px;pointer-events:none;z-index:4}#result:after{content:'';position:absolute;top:35%;left:24%;width:52%;height:3%;border-radius:50%;background:#142a4e33;filter:blur(10px);pointer-events:none}.victory-halo{top:4%;left:9%;width:82%;background:radial-gradient(circle,#ffecc043,#d9edff15 44%,#fff0 70%);animation:haloBreathe 5s ease-in-out infinite}.victory-rays{opacity:.4;top:22%;background:repeating-conic-gradient(from 0deg,#fff1a31c 0deg 10deg,#fff0 10deg 30deg);animation-duration:55s}.victory-crown{top:3.3%;width:49px;height:39px;z-index:2;filter:drop-shadow(0 3px 3px #21345244)}.victory-crown svg{width:100%;height:100%;display:block}.result-content{top:43%;width:82%}.result-content .result-kicker{font-family:system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;color:#bdd3e9;margin:0 0 5px}.result-caption{font-size:15px!important;letter-spacing:2px;margin:0 0 6px!important;color:#f6f9fc;font-weight:800;animation:resultRise .6s .25s both}.result-content h2{font-family:system-ui,sans-serif;font-weight:800;font-size:clamp(45px,15cqw,70px);letter-spacing:-2.5px;line-height:1.05;background:linear-gradient(#fff8dc,#edcc88);color:transparent;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 2px 0 #92734866);text-shadow:none;font-variant-numeric:tabular-nums;margin:5px 0 0}.record-badge{font-size:10px!important;letter-spacing:1px;color:#e4ecf6;border:1px solid #d7e4f044;background:#e4eef311;border-radius:8px;padding:6px 12px;margin-top:12px;box-shadow:none}.is-record .record-badge{border:1px solid #edcc8888;color:#ffe5ad;background:linear-gradient(110deg,#e5ba651c,#e5ba652e);box-shadow:inset 0 1px 0 #fff1;animation:resultRise .55s .7s both}.result-content .stats{margin:20px 0 0;padding:17px 0;background:linear-gradient(135deg,#f4f8ff14,#9ab3d008);border:1px solid #e4effa42;border-radius:18px;box-shadow:inset 0 1px 0 #fff1,0 8px 16px #142a4e0d;backdrop-filter:blur(15px)}.result-content .stats span{font-size:10px;color:#c1d3e8;letter-spacing:1.5px}.result-content .stats strong{font-family:system-ui,sans-serif;font-size:25px;font-weight:700;margin-top:6px;color:#f5f9ff;letter-spacing:-.5px}.result-content .stats>div+div{border-color:#d9e9fa26}.ending-message{font-size:10px;letter-spacing:1px;color:#b7cbe2;margin:16px 0 18px}.result-content .yellow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;letter-spacing:2px;padding:15px;border-radius:20px;border-width:1px;box-shadow:inset 0 2px 0 #fff8d8,inset 0 -3px 0 #e1a640,0 4px 0 #815b3555,0 10px 22px #142a4e26}.result-content .yellow svg{width:22px;height:22px;flex:none}.result-content .secondary{font-size:11px;background:transparent;border:0;color:#c7d8ea;letter-spacing:2px;margin-top:13px;padding:9px 20px}.result-content .secondary:hover{color:#fff;background:#ffffff0a}.result-content .yellow:after{opacity:.55;width:18%}.shade .panel{padding:28px 22px;background:linear-gradient(135deg,#d4e7ff1f,#283f6c33);border:1px solid #dcecff55;border-radius:26px;box-shadow:0 20px 50px #17305926}.panel h2{font-size:29px;letter-spacing:3px}.panel>p{font-size:12px;letter-spacing:1px}.panel .yellow{font-size:21px}.skin{border-color:#ffffff77;box-shadow:inset 0 1px 0 #ffffff99,0 8px 18px #2849751a}.skin strong{font-size:13px}.skin small{font-size:10px}.skin.selected{border-width:2px;box-shadow:0 0 0 3px #fff1a422,inset 0 1px 0 #fff}
@media(max-width:700px){#game{border:0;border-radius:0;box-shadow:none}.hud{top:max(19px,env(safe-area-inset-top));left:17px;right:17px}#result:before{inset:10px;border-radius:20px}.result-content h2{font-size:clamp(47px,15cqw,70px)}}@media(max-height:700px) and (max-width:700px){.result-content{top:42%}.result-content h2{font-size:49px}.result-caption{font-size:12px!important;letter-spacing:1px}.result-content .result-kicker{font-size:8px}.result-content .stats{padding:11px 0;margin-top:13px}.result-content .stats strong{font-size:22px}.ending-message{margin:10px 0 12px}.result-content .yellow{padding:11px;font-size:20px}.record-badge{padding:4px 10px;margin-top:8px}.result-content .secondary{padding:6px;margin-top:10px}.victory-crown{width:39px;height:29px}}@media(prefers-reduced-motion:reduce){#result *,#result *:after{animation:none!important}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.asset-loader{position:absolute;inset:0;z-index:20;background:radial-gradient(ellipse at 50% 28%,#b8ddf2,#6c9ac5 60%,#41658f);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:opacity .35s,visibility .35s}.asset-loader>b{font-size:53px;font-style:italic;letter-spacing:-5px;position:relative;text-shadow:0 3px 15px #284e8133}.asset-loader>b span{position:absolute;right:-10px;top:-7px;font-size:20px;letter-spacing:0}.asset-loader>p{font-size:12px;font-weight:700;letter-spacing:3px;margin:22px 0}.asset-loader i{width:112px;height:3px;background:#ffffff33;border-radius:3px;overflow:hidden;position:relative}.asset-loader i:after{content:'';position:absolute;left:0;top:0;bottom:0;width:40%;border-radius:3px;background:#fff0ba;animation:loadingSweep 1.3s ease-in-out infinite}.asset-loader small{font-size:9px;letter-spacing:2px;color:#e1edf7;margin-top:18px}#game:not(.is-loading)>.asset-loader{opacity:0;visibility:hidden;pointer-events:none}#game.is-loading>:not(.asset-loader){opacity:0!important;pointer-events:none!important}@keyframes loadingSweep{0%{translate:-100% 0}100%{translate:350% 0}}
/* A collectible pauses the run while its offer is open. */
.hud #hearts{font-size:29px;padding:1px 0}.one-life{align-self:center;margin-left:-7px;font-size:9px;color:#fff;letter-spacing:1px;line-height:1.5;text-shadow:0 1px 4px #203d67;font-weight:800;max-width:20px}#offer{z-index:8;justify-content:center;background:#203c6acc;backdrop-filter:blur(8px);padding:22px}.offer-card{position:relative;width:100%;max-width:370px;padding:20px 25px 15px;border:1px solid #e9ce8c99;border-radius:27px;background:radial-gradient(ellipse at 50% 0,#5d87ad,#2c4d77 50%,#203b63 100%);box-shadow:inset 0 1px 0 #ffffff33,0 22px 65px #12274966;text-align:center;animation:offerArrive .5s cubic-bezier(.2,.9,.25,1.15) both}.offer-close{position:absolute;right:13px;top:12px;width:31px;height:31px;background:#ffffff12;border:1px solid #d9e9fa44;border-radius:50%;color:#dce9f7;font-size:24px;line-height:1;z-index:2}.chest-art{position:relative;height:139px;width:100%;display:flex;align-items:center;justify-content:center}.chest-art img{position:relative;width:185px;height:155px;object-fit:contain;filter:drop-shadow(0 10px 9px #162a4e44);animation:chestFloat 3s ease-in-out infinite}.chest-art i{position:absolute;width:210px;height:160px;background:radial-gradient(ellipse,#ffe0a348,#ffe0a300 67%)}.offer-eyebrow{font-family:system-ui,sans-serif;font-size:8px;letter-spacing:3px;color:#f6d797;margin:3px 0 8px}.offer-card h2{font-size:25px;font-weight:900;letter-spacing:2px;color:#fff1cf;margin:0}.offer-subtitle{font-size:10px;color:#bad0e7;letter-spacing:1px;margin:9px 0 20px}.offer-perks{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;text-align:left}.offer-perk{display:flex;align-items:center;gap:14px;padding:12px 15px;border:1px solid #b9d0e833;border-radius:13px;background:linear-gradient(120deg,#dcecff16,#dcecff08);animation:resultRise .45s .13s both}.offer-perk:nth-child(2){animation-delay:.21s}.offer-perk:nth-child(3){animation-delay:.29s}.offer-perk>span{font-family:system-ui,sans-serif;font-size:11px;color:#e4c686;letter-spacing:1px}.offer-perk small{display:block;color:#b8cee4;font-size:9px;letter-spacing:1px;margin-bottom:3px}.offer-perk strong{display:block;color:#ffedbf;font-size:20px;font-weight:800;letter-spacing:.3px}.offer-card .yellow{font-size:19px;letter-spacing:2px;border-radius:17px;padding:13px}.offer-card .yellow span{font-size:21px;margin-left:8px}.offer-paused{font-size:8px;color:#a7bfd8;letter-spacing:1px;margin:13px 0 0}@keyframes offerArrive{from{opacity:0;transform:translateY(25px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes chestFloat{50%{transform:translateY(-5px) rotate(2deg)}}@media(max-height:700px){#offer{padding:16px 22px}.offer-card{padding:13px 22px}.chest-art{height:100px}.chest-art img{height:119px;width:152px}.offer-card h2{font-size:22px}.offer-subtitle{margin:7px 0 13px}.offer-perks{gap:7px;margin-bottom:14px}.offer-perk{padding:9px 13px}.offer-perk strong{font-size:18px}.offer-paused{margin-top:10px}}@media(prefers-reduced-motion:reduce){.chest-art img,.offer-card,.offer-perk{animation:none}}

/* Legible Chinese title: thinner outlines preserve the strokes in 衝. */
.home .logo{top:12%;left:6%;width:88%;transform:rotate(-4deg);line-height:1.1;filter:drop-shadow(0 3px 0 #164a91) drop-shadow(0 7px 9px #153d7540);font-family:"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif;isolation:isolate}
.home .logo span,.home .logo strong{position:relative;display:block;margin:0;font-weight:900;letter-spacing:.7cqw;-webkit-text-stroke:.65cqw #174983;paint-order:stroke fill;text-shadow:0 .55cqw 0 #89c7ef,0 -.15cqw 0 #fff;white-space:nowrap;background:none;background-clip:border-box;color:#f7fcff}
.home .logo span{font-size:11.5cqw;line-height:1.15;margin-bottom:1cqw;color:#fff3b0;-webkit-text-stroke:.55cqw #17508c;text-shadow:0 .5cqw 0 #dba24b}
.home .logo strong{font-size:18.5cqw;line-height:1.12;letter-spacing:.4cqw}
.home .logo i{right:3%;top:1%;font-size:8cqw;line-height:1;color:#ffdf67;-webkit-text-stroke:.35cqw #eea731;text-shadow:none}
.home .subtitle{top:32%;left:8%;width:84%;margin:0;padding:1.5cqw 0;font-size:3.25cqw;line-height:1.4;letter-spacing:.3cqw;font-weight:800;color:#fff;text-align:center;text-shadow:0 2px 4px #174777,0 0 8px #17477780}

/* Image title and measured vertical zones prevent title/mascot/control collisions. */
.home .home-title{top:8%;left:6%;width:88%;height:26%;margin:0;transform:none;filter:none;line-height:0;pointer-events:none}
.home-title img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 7px #164a7833)}
.home .subtitle{top:34.5%;left:6%;width:88%;padding:0;font-size:3.1cqw;line-height:1.5;letter-spacing:.2cqw;white-space:nowrap}
.home>.mascot{top:39%;height:34%;width:74%}
.home .topmark{top:3%;left:5%;right:5%;z-index:3;display:flex;justify-content:space-between;align-items:center}
.home .header-logo{width:29%;max-width:110px;flex:none}
.home .topmark button{float:none;display:grid;place-items:center;width:9cqw;height:9cqw;padding:0;font-size:5.5cqw;line-height:1;background:#124b87c9;border:1px solid #d5f2ff9c;box-shadow:inset 0 1px 0 #fff3,0 2px 5px #17497933}
.home .home-bottom{bottom:4%;width:82%;z-index:3}
.home .home-bottom .record{margin:0 0 2.3cqw;font-size:3cqw;line-height:1.4}
.home .home-bottom .yellow{padding:3cqw 2cqw;font-size:5.8cqw;line-height:1.25;letter-spacing:.5cqw}
.home .home-bottom .secondary{margin:3cqw auto 2.3cqw;padding:2.1cqw 4cqw;font-size:3.3cqw;line-height:1.4}
.home .home-bottom small{display:block;font-size:2.4cqw;line-height:1.5;letter-spacing:.15cqw}
@media(max-height:650px){.home .home-title{top:9%;height:24%}.home .home-bottom{bottom:3%}.home .home-bottom .record{margin-bottom:1.2cqw}.home .home-bottom .secondary{margin-top:2cqw;margin-bottom:1.5cqw}}
/* Height-based footer tracks also fit short phone screens. */
.home{container-type:size}
.home>.mascot{height:32%;width:70%}
.home .home-bottom{height:24%;bottom:4%;display:grid;grid-template-rows:.9fr 2.8fr 1.6fr .9fr;gap:.8cqh;align-items:center}
.home .home-bottom .record{margin:0;font-size:min(3cqw,1.9cqh);line-height:1.2}
.home .home-bottom .yellow{height:100%;padding:0 2cqw;font-size:min(5.8cqw,3.5cqh);display:flex;align-items:center;justify-content:center}
.home .home-bottom .secondary{height:100%;margin:0 auto;padding:0 4cqw;display:flex;align-items:center;justify-content:center;font-size:min(3.3cqw,2cqh);white-space:nowrap}
.home .home-bottom small{font-size:min(2.4cqw,1.5cqh);line-height:1.25}

/* Explicit HUD colors keep scores legible over every city background. */
.hud .counter{gap:7px;max-width:48%;color:#fff;pointer-events:none}
.hud .counter .hud-metric{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:118px;min-height:49px;width:max-content;max-width:100%;margin:0;padding:7px 12px 7px 8px;border:2px solid #9bdfff;border-radius:16px;background:linear-gradient(135deg,#123f76,#06244d);box-shadow:inset 0 1px 0 #e0f7ff45,0 3px 0 #031b3b80,0 5px 12px #06214d50;backdrop-filter:none;color:#fff;text-shadow:0 2px 1px #031c43;font-variant-numeric:tabular-nums}
.hud .counter .coin-metric{border-color:#ffe5a0;background:linear-gradient(135deg,#16427a,#092950)}
.hud .counter .ui-coin{width:29px;height:29px;flex:none;filter:drop-shadow(0 2px 2px #02183380)}
.hud .hud-route{width:29px;height:29px;flex:none;filter:drop-shadow(0 2px 2px #02183380)}
.hud .metric-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.hud .metric-copy small{display:block;font-size:10px;font-weight:800;line-height:1;letter-spacing:1.5px;color:#c6ecff;text-shadow:none}
.hud .coin-metric small{color:#ffe6a3}
.hud #coins,.hud #distance{display:block;font-family:ui-rounded,system-ui,sans-serif;font-weight:900;font-size:clamp(22px,6.7cqw,29px);line-height:1.05;letter-spacing:.3px;color:#fff;white-space:nowrap}
.hud #coins{color:#fff2b4}
.hud #distance{font-size:clamp(20px,6cqw,26px)}
@media(max-width:360px),(min-width:1000px){.hud{left:12px;right:12px;gap:8px}.hud .counter .hud-metric{min-width:106px;min-height:45px;padding:6px 9px 6px 7px;gap:7px;border-radius:14px}.hud .counter .ui-coin,.hud .hud-route{width:25px;height:25px}.hud .metric-copy small{font-size:9px;letter-spacing:1px}.hud #coins{font-size:clamp(20px,6.7cqw,27px)}.hud #distance{font-size:clamp(18px,6cqw,24px)}}
