@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;600;700;800;900&display=swap');
:root{color-scheme:dark;--gold:#ffd36f;--muted:#89939d;--red:#ff6259}*{box-sizing:border-box}body{margin:0;background:#101923;color:#f8f5e9;font-family:'Noto Sans TC',system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{max-width:1280px;padding:25px 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.wordmark{display:flex;align-items:center;gap:15px;text-decoration:none;color:#f8f5e9;font-size:34px;font-weight:900;font-style:italic;letter-spacing:-3px}.wordmark span{font-size:10px;line-height:1.4;letter-spacing:1.6px;font-style:normal;max-width:105px}.edition{font-size:11px;letter-spacing:2.4px;color:var(--muted)}.edition i{margin-left:20px;color:var(--gold);font-style:normal}.icon-btn{border:1px solid #ffffff25;background:#ffffff05;border-radius:8px;padding:10px 13px;font-size:12px;color:#c4cbd0;min-height:40px}.icon-btn:disabled{opacity:.35;cursor:default}main{max-width:1120px;margin:auto;padding:30px 40px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold);margin:0 0 8px}h1{font-size:clamp(30px,4vw,49px);letter-spacing:-2px;line-height:1.2;margin:0;font-weight:900}h1 span{color:var(--gold)}h1 b{color:var(--red);margin-left:6px}.heading-note{color:#929da7;font-size:13px;line-height:1.9;margin:0}.machine{border:1px solid #616976;border-radius:17px;overflow:hidden;box-shadow:0 22px 75px #0005}.hud{height:84px;display:flex;align-items:center;padding:0 26px;gap:25px;background:#1d2732;border-bottom:1px solid #ffffff18}.hud small{font-size:11px;color:#a1aab4;display:block;letter-spacing:2px}.score{min-width:145px}.score strong{font-family:ui-monospace,monospace;font-size:32px;letter-spacing:3px;color:var(--gold)}.level{margin:auto;min-width:140px;text-align:center}.level span{font-size:12px;letter-spacing:2px}.meter{margin-top:9px;background:#ffffff15;height:3px;width:140px}.meter i{display:block;height:100%;width:0;background:var(--gold)}.health span{color:var(--red);font-size:24px;letter-spacing:3px}.arena{height:clamp(370px,53vh,570px);position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 95%,#234e5755,transparent 64%),repeating-linear-gradient(90deg,transparent 0 79px,#ffffff03 80px),repeating-linear-gradient(0deg,transparent 0 79px,#ffffff03 80px),#111e29}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;position:absolute;inset:0}.arena-label{position:absolute;top:20px;left:25px;color:#7b8b9955;letter-spacing:3px;font-size:10px;pointer-events:none}.arena-label span{display:block;font-size:9px;letter-spacing:4px;margin-top:5px}.overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#111c2866;z-index:2}.overlay[hidden]{display:none}.start-card{text-align:center;position:relative;padding:20px}.tag{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:700}.demo{height:135px;position:relative;width:260px;margin:5px auto 3px}.demo-pack{height:143px;width:120px;object-fit:contain;position:absolute;top:0;left:108px;transform:rotate(15deg);filter:drop-shadow(0 10px 13px #0008)}.demo-mascot{position:absolute;width:90px;height:95px;object-fit:contain;left:36px;top:30px;transform:rotate(-14deg);filter:drop-shadow(0 8px 10px #0009)}.swoosh{position:absolute;width:205px;height:55px;border-bottom:3px solid #fff0c1;border-radius:50%;left:30px;top:65px;transform:rotate(-28deg);filter:drop-shadow(0 0 6px #ffb64e)}.demo-points{position:absolute;right:4px;top:15px;color:var(--gold);font-size:23px;font-weight:900;transform:rotate(10deg)}h2{margin:3px 0 10px;font-size:30px;font-weight:900;letter-spacing:-1px}.start-card>p{color:#aebcc6;font-size:14px;line-height:1.8;margin:0 0 20px}.start{background:var(--gold);color:#202126;border:0;border-radius:7px;font-size:18px;font-weight:900;padding:14px 28px;width:260px;box-shadow:0 4px 0 #ac7f2a;transition:transform .1s}.start:hover{background:#ffe0a0;transform:translateY(-2px)}.start span{margin-left:30px}.start-card .input-hint{font-size:11px;margin:15px 0 0;color:#81909c}.floor-label{position:absolute;bottom:17px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:#718291;pointer-events:none}.machine-footer{background:#1b2732;padding:15px 25px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#e9eced}.machine-footer b{font-weight:400;color:#8493a0;margin-left:10px}.gold-dot,.red-dot{width:8px;height:8px;display:inline-block;margin-right:8px;background:var(--gold);transform:rotate(45deg)}.red-dot{background:var(--red);border-radius:50%;transform:none}.bottom{display:flex;align-items:center;gap:25px;margin-top:22px}.crew{display:flex;align-items:center;gap:12px}.crew-label{font-size:11px;color:#8a99a5;white-space:nowrap}.crew-label b{color:var(--red);font-weight:600}.crew>div{display:flex}.crew img{width:42px;height:48px;object-fit:contain;margin-left:2px}.bottom p{font-size:12px;line-height:1.8}.bottom p span{color:#83929f}.footer-brand{margin-left:auto;font-size:9px;letter-spacing:1.5px;color:#607281}.toast{position:absolute;top:65px;left:50%;transform:translateX(-50%);font-size:17px;white-space:nowrap;font-weight:800;color:var(--gold);pointer-events:none;opacity:0;transition:opacity .2s}.toast.show{opacity:1}@media(max-width:600px){header{padding:16px 20px}.wordmark{font-size:29px}.wordmark span{font-size:8px;max-width:85px}.edition{display:none}main{padding:23px 12px}.heading{padding:0 8px;margin-bottom:19px}.heading-note{display:none}.eyebrow{font-size:10px;letter-spacing:2px}h1{font-size:34px}.hud{height:72px;padding:0 13px;gap:12px}.score{min-width:92px}.score strong{font-size:26px;letter-spacing:1px}.hud small{font-size:10px;letter-spacing:1px}.level{min-width:65px}.level span{font-size:10px;letter-spacing:1px}.meter{width:65px}.health span{font-size:19px;letter-spacing:0}.health{min-width:93px}.hud .icon-btn{padding:7px;min-width:34px}.arena{height:clamp(365px,53svh,540px)}.machine-footer{padding:13px 10px;font-size:11px;gap:7px}.machine-footer b{display:none}.bottom{gap:10px;padding:0 7px;margin-top:16px}.crew{gap:5px}.crew img{width:33px;height:43px}.bottom p{font-size:10px;margin-left:auto}.footer-brand{display:none}.arena-label{left:15px;font-size:8px}.floor-label{left:15px;right:15px;font-size:9px}}@media(max-height:650px) and (orientation:landscape){header,.heading,.bottom{display:none}main{padding:8px;max-width:1000px}.hud{height:60px}.arena{height:calc(100svh - 115px);min-height:240px}.demo{height:80px}.demo img{height:80px}.demo-mascot{top:0}.start-card{padding:8px}.start-card>p{margin-bottom:8px}.tag,.input-hint{display:none}h2{font-size:24px}.machine-footer{padding:9px}}
@media(max-width:380px){.hud{padding:0 9px;gap:8px}.score{min-width:78px}.score strong{font-size:23px}.health{min-width:82px}.health span{font-size:17px}.level{min-width:54px}.meter{width:54px}h1{font-size:30px}.crew img{width:28px}.bottom p{font-size:9px}.wordmark span{display:none}}
.score{min-width:165px}.score strong{font-size:29px;letter-spacing:1px}#demo[hidden],#score-form[hidden]{display:none}#score-form{max-width:330px;margin:12px auto 18px;text-align:left}#score-form label{display:block;font-size:12px;color:var(--gold);margin-bottom:7px}.submit-row{display:flex;gap:7px}.submit-row input{min-width:0;width:100%;background:#101923;border:1px solid #637180;border-radius:6px;padding:10px;color:white;font:inherit;font-size:16px}.submit-row button{white-space:nowrap;border:0;border-radius:6px;background:#f3d081;color:#161b23;font-weight:800;padding:10px}#submit-status{font-size:12px;line-height:1.5;min-height:18px;margin:7px 0;color:#ffd36f}.leaderboard{margin-top:30px;border:1px solid #53616d;border-radius:14px;background:#17232e;padding:23px}.board-heading{display:flex;justify-content:space-between;align-items:center}.board-heading h2{font-size:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}th{font-size:12px;color:#8d9eac;font-weight:500;padding:12px 6px;border-bottom:1px solid #ffffff24}td{padding:12px 6px;border-bottom:1px solid #ffffff0b}td:nth-child(3){color:var(--gold);font-weight:800;font-variant-numeric:tabular-nums}th:nth-child(n+3),td:nth-child(n+3){text-align:right}tbody tr:nth-child(-n+3) td:first-child{color:var(--gold);font-weight:900}#board-status,.board-note{font-size:12px;color:#a1afbc}.board-note{margin-bottom:0}button:disabled{cursor:default;opacity:.5}@media(max-width:600px){.score{min-width:109px}.score strong{font-size:22px;letter-spacing:0}.hud{gap:8px}.leaderboard{padding:16px}h2{font-size:27px}.level{min-width:56px}.meter{width:56px}}@media(max-width:380px){.score{min-width:95px}.score strong{font-size:20px}.hud{gap:6px}.health{min-width:76px}.health span{font-size:16px}.level{min-width:44px}.level span{font-size:9px}.meter{width:44px}.hud .icon-btn{min-width:29px}}

html.playing-locked{overflow:hidden;overscroll-behavior:none}body.playing-locked{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:none}body.playing-locked .machine{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}

header.company-header{display:flex;flex-direction:column;gap:14px;padding:22px 40px 14px}.company-brand{display:flex;flex-direction:column;align-items:center;gap:7px}.company-logo-link{display:block;line-height:0}.company-logo{display:block;width:min(270px,70vw);height:auto;object-fit:contain}.company-url{font-size:14px;line-height:1.5;color:#d4dce2;text-underline-offset:4px}.company-url:hover{color:var(--gold)}.header-controls{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}@media(max-width:600px){header.company-header{padding:18px 20px 12px;gap:12px}.company-logo{width:min(240px,70vw)}.header-controls{justify-content:flex-end}}@media(max-height:650px) and (orientation:landscape){header.company-header{display:flex;padding:10px 20px;gap:8px}.company-logo{width:180px}}
