.more-works{position:relative;overflow:hidden;padding:18px 16px 20px;border-radius:18px;background:#edf2f6;color:#14212c;border:1px solid #D5DFE8;font-family:-apple-system,PingFang TC,Noto Sans TC,sans-serif;letter-spacing:0}.more-works:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;pointer-events:none;background:repeating-linear-gradient(-35deg,transparent 0 44px,rgba(37,112,166,.035) 44px 50px)}.more-works>*{position:relative}.more-works h2{margin:0 0 12px;font-size:15px;font-weight:700;letter-spacing:0;color:#174e76;border:0;padding:0}.mw-list{display:flex;gap:10px;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.mw-list::-webkit-scrollbar{display:none}.mw-card{flex:none;width:210px;scroll-snap-align:start;display:block;padding:6px;text-decoration:none;color:inherit;background:#fff;border:1px solid #D5DFE8;border-radius:18px;box-shadow:0 1px #2570a60a,0 16px 32px -24px #174e764d;transition:transform .3s cubic-bezier(.16,1,.3,1)}.mw-card:active{transform:scale(.97)}.mw-card img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:12px;background:#d6e7f3}.mw-card b{display:block;padding:10px 8px 8px;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.mw-brand{margin-top:14px;display:flex;justify-content:center;align-items:center;gap:6px;font-family:Fredoka,sans-serif;font-weight:600;font-size:12px;letter-spacing:.08em;color:#2570a6;text-decoration:none}.mw-brand svg{width:18px;height:18px}:root{--wall:#DDE1E4;--wall2:#CDD3D8;--sign:#23282D;--sign2:#2E343A;--ink:#1B2024;--mute:#6B7680;--paper:#F7F8F9;--ok:#1FA855;--gold:#FFC400;--bad:#E5352B;--brand:#2570A6;--line:#E3002C;--tc:system-ui,-apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--wall);color:var(--ink);font-family:var(--tc);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}[hidden]{display:none!important}#app{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--wall)}#fx{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;overflow:hidden}#fx i{position:absolute;border-radius:2px}#fx b{position:absolute;font-size:28px;font-weight:900;color:var(--gold);-webkit-text-stroke:1.5px var(--sign);white-space:nowrap;text-shadow:0 3px 0 var(--sign)}#fx b small{display:block;text-align:center;font-size:.5em;color:var(--sign);-webkit-text-stroke:0;text-shadow:none;margin-top:-2px}#fx .coin{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid var(--sign)}.screen{position:absolute;top:0;right:0;bottom:0;left:0}body.shake #app{animation:shake .32s}@keyframes shake{20%{transform:translate(-9px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}body.flash #app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;pointer-events:none;z-index:30;animation:flash .5s ease-out forwards}@keyframes flash{0%{opacity:.8}to{opacity:0}}.platform{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0 59px,rgba(0,0,0,.05) 59px 60px),repeating-linear-gradient(180deg,transparent 0 29px,rgba(0,0,0,.04) 29px 30px),linear-gradient(180deg,var(--wall) 0 62%,var(--wall2) 62% 100%)}.wall-band{position:absolute;left:0;right:0;top:22%;height:14px;background:var(--line);transition:background .3s}.track{position:absolute;left:0;right:0;top:38%;height:120px}.psd{position:absolute;left:0;right:0;top:36%;height:26%;background:repeating-linear-gradient(90deg,#fff0 0,#fff0 86px,#23282d59 86px,#23282d59 90px);border-top:6px solid rgba(35,40,45,.5);border-bottom:6px solid rgba(35,40,45,.5)}.tactile{position:absolute;left:0;right:0;top:63%;height:12px;background:repeating-linear-gradient(90deg,#f2c500 0,#f2c500 10px,#e0b400 10px,#e0b400 12px)}body.fever .platform{animation:rave .5s steps(2) infinite}@keyframes rave{50%{filter:hue-rotate(40deg) saturate(1.6)}}.train{position:absolute;top:8px;left:0;display:flex;gap:6px;height:104px;width:260vw;will-change:transform}.train i{flex:1;background:#f4f6f8;border-radius:14px;position:relative;box-shadow:0 6px #00000026}.train i:before{content:"";position:absolute;left:0;right:0;top:58%;height:12px;background:var(--c)}.train i:after{content:"";position:absolute;left:10%;right:10%;top:16%;height:32%;border-radius:6px;background:repeating-linear-gradient(90deg,#2A3540 0 22%,transparent 22% 26%)}.train i:first-child{border-radius:14px 40px 14px 14px}.train.rev i:first-child{border-radius:14px}.train.rev i:last-child{border-radius:40px 14px 14px}#home{overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:calc(28px + var(--safe-t)) 16px calc(24px + var(--safe-b));background:linear-gradient(180deg,var(--wall) 0 70%,var(--wall2) 70%)}.home-card{width:100%;max-width:420px;min-height:calc(100svh - 60px);display:flex;flex-direction:column;justify-content:center;text-align:center;padding:12px 0 28px}.home-sign{display:flex;gap:6px;justify-content:center;margin-bottom:22px}.home-sign span{background:var(--sign);color:#fff;font-weight:900;font-size:20px;padding:10px 16px;border-radius:10px;box-shadow:0 6px #0000002e}.home-sign small{font-size:.65em;opacity:.75;margin:0 3px}.home-sign .hs-l{border-left:8px solid #008659}.home-sign .hs-r{border-right:8px solid #008659}h1{font-size:clamp(34px,10vw,46px);font-weight:900;line-height:1.15;color:var(--sign)}.intro{margin-top:12px;color:var(--mute);font-size:16px;line-height:1.6}.steps{list-style:none;counter-reset:s;margin:22px auto 0;display:grid;gap:8px;width:100%;max-width:340px;text-align:left}.steps li{counter-increment:s;background:#fff;border-radius:10px;padding:10px 14px 10px 46px;position:relative;font-size:15px;font-weight:700;line-height:1.4;box-shadow:0 2px #0000000f}.steps li:before{content:counter(s);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:6px;background:var(--sign);color:#fff;font-weight:900;display:grid;place-items:center;font-size:13px}.btn-main{display:block;width:100%;max-width:320px;margin:26px auto 0;padding:18px 0;border-radius:14px;background:var(--gold);color:var(--sign);font-size:22px;font-weight:900;box-shadow:0 6px 0 var(--sign);transition:transform .08s,box-shadow .08s;border:3px solid var(--sign)}.btn-main:active{transform:translateY(5px);box-shadow:0 1px 0 var(--sign)}.btn-sub{display:block;width:100%;max-width:320px;margin:12px auto 0;padding:14px 0;border-radius:14px;border:3px solid var(--sign);font-size:18px;font-weight:800;background:#fff}.btn-sub:active{transform:scale(.97)}.seo{width:100%;max-width:420px;padding:8px 4px 28px;color:var(--mute);font-size:14px;line-height:1.7}.seo h2{font-size:17px;color:var(--sign);margin-bottom:10px}.seo h3{font-size:15px;color:var(--sign);margin:16px 0 4px}.seo-lines{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px}.seo-lines li{display:flex;align-items:center;gap:8px;background:var(--sign);border-radius:8px;padding:8px 10px;color:#fff;font-weight:700;font-size:13px}.seo-lines i{width:12px;height:12px;border-radius:50%;flex:none}.seo-lines span{margin-left:auto;color:#9aa3aa;font-weight:600}.home-foot{width:100%;max-width:420px;text-align:center}#play{display:flex;flex-direction:column;touch-action:none}.hud-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:calc(10px + var(--safe-t)) 16px 0;z-index:2}.timer{position:relative;background:var(--sign);color:#fff;border-radius:10px;padding:4px 12px 8px}.timer b{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;display:inline-block;color:var(--gold)}.timer i{position:absolute;left:100%;top:6px;margin-left:8px;font-style:normal;font-weight:900;white-space:nowrap;opacity:0}.timer i.show{animation:td 1s ease-out}.timer i.good{color:var(--ok)}.timer i.bad{color:var(--bad)}@keyframes td{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:translateY(-14px)}}.tbar{height:5px;width:100px;background:#fff3;border-radius:3px;overflow:hidden;margin-top:2px}.tbar span{display:block;height:100%;background:var(--gold);transform-origin:left}body.hurry .timer{background:var(--bad);animation:pulse .5s ease-in-out infinite}body.hurry .timer b{color:#fff}@keyframes pulse{50%{transform:scale(1.08)}}.score{transform-origin:right top;background:var(--sign);border-radius:10px;padding:4px 12px}.score b{font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;color:#fff;transition:color .2s}.score.bump{animation:sbump .45s cubic-bezier(.2,1.8,.4,1)}.score.bump b{color:var(--gold)}@keyframes sbump{0%{transform:scale(1)}30%{transform:scale(1.3) rotate(-3deg)}to{transform:scale(1)}}body.fever .score b{color:var(--gold)}.combo{position:absolute;left:0;right:0;top:calc(70px + var(--safe-t));text-align:center;pointer-events:none;opacity:0;transition:opacity .2s;z-index:2}.combo.on{opacity:1}.combo b{font-size:30px;font-weight:900;color:var(--sign);font-style:italic}.combo span{font-size:13px;font-weight:900;color:var(--sign);margin-left:4px;letter-spacing:.1em}.combo.bump b{display:inline-block;animation:bump .22s}@keyframes bump{40%{transform:scale(1.45)}}body.fever .combo b,body.fever .combo span{color:var(--bad)}.field{position:relative;flex:1;margin:40px 16px 0;min-height:0;z-index:2}.card{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(88vw,370px);background:var(--sign);color:#fff;border-radius:14px;padding:14px 16px 16px;box-shadow:0 12px #0000002e,0 20px 40px #00000040;touch-action:none;border-top:8px solid var(--c,#E3002C)}.card:before,.card:after{content:"";position:absolute;top:-34px;width:4px;height:26px;background:#9aa3aa}.card:before{left:22%}.card:after{right:22%}.sign-top{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.15)}.badge{width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;flex:none;border:2px solid #fff}.badge.dark{color:var(--sign)}.sign-top b{font-size:16px;font-weight:800}.tag{margin-left:auto;font-style:normal;font-size:12px;font-weight:900;background:var(--gold);color:var(--sign);border-radius:6px;padding:3px 8px}.leg{display:flex;align-items:baseline;gap:10px;margin-top:10px}.lbl{font-size:13px;font-weight:800;color:#9aa3aa;width:28px;flex:none}.leg b{font-size:clamp(30px,10vw,42px);font-weight:900;line-height:1.1;white-space:nowrap}.leg b.long{font-size:clamp(24px,7.4vw,32px)}.leg.to b{color:var(--gold)}.fuse{height:6px;border-radius:3px;background:#ffffff26;margin-top:14px;overflow:hidden}.fuse span{display:block;height:100%;background:#fff;transform-origin:left}.card.danger{animation:tremble .12s infinite}.card.danger .fuse span{background:var(--bad)}@keyframes tremble{50%{margin-left:2px}}.card.fork{box-shadow:0 12px #0000002e,0 0 0 4px var(--gold)}.card.gone{visibility:hidden}.card.bad{animation:wob .35s}@keyframes wob{25%{transform:translate(calc(-50% - 10px),-50%)}75%{transform:translate(calc(-50% + 10px),-50%)}to{transform:translate(-50%,-50%)}}.ghost{position:fixed;z-index:15;pointer-events:none;transform-origin:center;margin:0}.opts{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px calc(16px + var(--safe-b));height:calc(150px + var(--safe-b))}.opt{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--sign);color:#fff;border-radius:14px;padding:10px 8px;box-shadow:0 6px #00000059;transition:transform .06s,box-shadow .06s;white-space:nowrap}#opt-l{border-left:12px solid var(--c)}#opt-r{border-right:12px solid var(--c);flex-direction:row-reverse}.opt i{font-style:normal;font-size:30px;font-weight:900;color:var(--gold)}.opt span{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}#opt-r span{align-items:flex-end}.opt small{font-size:13px;font-weight:800;color:#9aa3aa}.opt b{font-size:clamp(20px,6.2vw,27px);font-weight:900}.opt.long b{font-size:clamp(15px,4.4vw,19px)}.opt.press{transform:translateY(5px);box-shadow:0 1px #00000059}.opt.right{background:var(--ok);animation:glow2 .45s ease-in-out 2}.opt.right i,.opt.right small{color:#fff}.opt.nope{background:#8a939b}@keyframes glow2{50%{transform:scale(1.07)}}.edge{position:absolute;top:0;bottom:0;width:18vw;max-width:110px;pointer-events:none;opacity:0;transition:opacity .12s;z-index:1}.edge-l{left:0;background:linear-gradient(90deg,var(--c),transparent)}.edge-r{right:0;background:linear-gradient(270deg,var(--c),transparent)}.edge.on{opacity:.8;animation:glow .45s ease-in-out 2}.edge.flash{animation:eflash .35s ease-out}@keyframes eflash{0%{opacity:.9}to{opacity:0}}@keyframes glow{50%{opacity:.3}}.pop{position:absolute;left:0;right:0;top:calc(96px + var(--safe-t));text-align:center;pointer-events:none;opacity:0;font-size:clamp(40px,13vw,60px);font-weight:900;z-index:5;color:#fff;-webkit-text-stroke:2px var(--sign);text-shadow:0 5px 0 var(--sign)}.pop.show{animation:pop .9s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes pop{0%{opacity:0;transform:scale(.3)}15%{opacity:1;transform:scale(1.15)}25%{transform:scale(1)}70%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.pop.fast{color:var(--ok)}.pop.bad{color:var(--bad)}.pop.fever{color:var(--gold)}.pop.milestone{font-size:clamp(56px,19vw,96px);color:var(--gold)}.hint{position:absolute;left:16px;right:16px;bottom:calc(170px + var(--safe-b));text-align:center;font-size:16px;font-weight:800;color:#fff;background:var(--sign);border-radius:10px;padding:10px;pointer-events:none;animation:bob 1.4s ease-in-out infinite;z-index:6}@keyframes bob{50%{transform:translateY(-6px)}}.icon-btn{position:absolute;right:12px;top:calc(62px + var(--safe-t));width:36px;height:36px;border-radius:50%;background:#23282d1f;font-size:16px;z-index:3}.veil{background:#23282d99;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}#paused p{font-size:22px;font-weight:900;color:#fff}#result{align-items:flex-start;overflow-y:auto;padding-top:calc(34px + var(--safe-t))}.board-wrap{width:100%;max-width:400px;margin:0 auto;position:relative}.pids{position:relative;background:#0b0d0f;border:6px solid #2E343A;border-radius:12px;padding:12px 14px 10px;color:#ffb020;box-shadow:0 14px #00000040,inset 0 0 30px #000c;transform-origin:50% -30px;animation:swing 1s cubic-bezier(.3,1.5,.5,1) both}.pids:before,.pids:after{content:"";position:absolute;top:-34px;width:4px;height:28px;background:#9aa3aa}.pids:before{left:20%}.pids:after{right:20%}@keyframes swing{0%{transform:translateY(-120%) rotate(-6deg)}55%{transform:translateY(0) rotate(4deg)}75%{transform:rotate(-2deg)}to{transform:none}}.led{font-family:"SF Mono",ui-monospace,Menlo,Consolas,var(--tc);color:#ffb020;text-shadow:0 0 6px rgba(255,176,32,.85),0 0 16px rgba(255,140,0,.45)}.pids>*{position:relative}.pids::selection{background:none}.pids-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#7c8790;letter-spacing:.08em;padding-bottom:8px;border-bottom:1px solid #22282D}.pids-dot{width:8px;height:8px;border-radius:50%;background:#2bd46b;box-shadow:0 0 8px #2bd46b;animation:blinkdot 1s steps(2) infinite}@keyframes blinkdot{50%{opacity:.25}}.pids-clock{margin-left:auto;font-family:ui-monospace,Menlo,monospace;color:#ffb020}.led-rank{font-size:26px;font-weight:900;margin-top:10px;letter-spacing:.06em;animation:ledon .5s steps(4) .3s both}.led-score{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:4px}.led-lbl{font-size:12px;font-weight:800;color:#7c8790}.led-score b{font-size:clamp(40px,12.5vw,56px);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em}@keyframes ledon{0%{opacity:0}50%{opacity:1}75%{opacity:.3}to{opacity:1}}.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid #22282D;margin-top:6px;padding-top:6px;font-size:14px;font-weight:700}.marquee span{display:inline-block;padding-left:100%;animation:marq 9s linear .8s infinite}@keyframes marq{to{transform:translate(-100%)}}.pids{background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1.2px);background-size:4px 4px}.sheet{background:var(--paper);border-radius:0 0 16px 16px;margin:0 10px;padding:16px 14px;box-shadow:0 10px 30px #00000040;animation:rise .5s .35s cubic-bezier(.2,1.4,.4,1) both}@keyframes rise{0%{transform:translateY(30px);opacity:0}}.timetable{display:grid;gap:2px}.timetable div{display:flex;align-items:baseline;gap:6px;font-size:15px;padding:5px 0}.timetable dt{font-weight:800;color:var(--sign)}.timetable div:after{content:"";order:1;flex:1;border-bottom:2px dotted #B7BEC4;transform:translateY(-4px)}.timetable dd{order:2;font-weight:900;font-size:19px;font-variant-numeric:tabular-nums;color:var(--sign)}.run{position:relative;display:flex;flex-wrap:wrap;gap:10px 0;margin:14px 0 4px;padding:6px 0}.run i{position:relative;width:22px;height:22px;flex:none;display:grid;place-items:center;animation:pop2 .3s cubic-bezier(.2,1.8,.4,1) both}.run i:before{content:"";position:absolute;left:-1px;right:-1px;top:9px;height:4px;background:var(--c)}.run i:after{content:"";position:relative;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--c)}.run i.ng:before{background:#c9cfd4}.run i.ng:after{width:14px;height:14px;border:0;background:none;background-image:linear-gradient(45deg,transparent 43%,var(--bad) 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--bad) 43% 57%,transparent 57%)}@keyframes pop2{0%{transform:scale(0)}}.r-miss{display:grid;gap:6px;margin-top:10px}.r-miss:empty{display:none}.r-miss div{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--sign);color:#fff;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:800;border-left:6px solid var(--c)}.m-route{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;white-space:nowrap}.m-route b{color:#9aa3aa}.m-route i{display:none}.m-dir{flex:none;background:var(--c);color:#fff;border-radius:6px;padding:3px 8px;font-size:12px}.r-miss div.dark .m-dir{color:var(--sign)}.r-btns .btn-main{margin-top:16px}.toast{margin-top:10px;color:var(--ok);font-weight:800;text-align:center}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}
