@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";body[data-fourlo-route=home] #ui,body[data-fourlo-route=room] #ui,body[data-fourlo-route=multiplayer] #ui,body[data-fourlo-route=join] #ui{visibility:hidden}body[data-fourlo-route=game] #settings-button,body[data-fourlo-route=game] #help-button{display:none}.emote-controls{z-index:78;pointer-events:auto;position:fixed;top:92px;right:32px}.emote-controls .metal-btn{box-sizing:border-box;letter-spacing:0;text-align:center;touch-action:manipulation;color:#f1e8d8;background:0 0;border:12px solid #0000;border-image:url(/games/dustrig/ui/panel.webp) 16% fill/12px;place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;line-height:1;transition:filter .12s;display:grid;transform:none}.emote-controls .metal-btn:hover,.emote-controls .metal-btn:active{filter:brightness(.94);transform:none}.emote-toggle i{font-size:24px;line-height:24px}.emote-picker{grid-auto-columns:48px;grid-auto-flow:column;gap:8px;padding:0;display:grid;position:absolute;top:0;right:60px}.emote-picker button{font-size:24px}.emote-picker[hidden],.emote-controls[hidden]{display:none}.vehicle-emote{pointer-events:none;z-index:4;filter:drop-shadow(0 2px 3px #0005);background:#211d18e8;border:1px solid #ddbd7e;border-radius:12px;padding:4px 8px;font-size:32px;position:fixed;transform:translate(-50%,-100%)}@media (width<=600px){.emote-controls{top:76px;right:16px}.vehicle-emote{font-size:28px}}.emote-controls .emote-glyph{object-fit:contain;pointer-events:none;width:24px;max-width:none;height:24px;display:block}:root{color:#fffaf0;font-synthesis:none;background:#201914;font-family:Outfit,Noto Sans TC,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas#world{touch-action:none;width:100vw;height:100dvh;display:block}button,select,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff15;border:1px solid #ffffff52;transition:background .18s,border .18s,transform .18s}button:hover{background:#ffffff2c;border-color:#fff8}button:active{transform:translateY(1px)}button:focus-visible,select:focus-visible{outline-offset:4px;outline:2px solid #ffd292}button:disabled{opacity:.35;cursor:default}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}#vignette{pointer-events:none;background:linear-gradient(90deg,#100e0ce8 0%,#18130f99 25%,#0000 63%),linear-gradient(#0000 75%,#130f0a88);position:absolute;inset:0}.home{width:360px;position:absolute;top:50%;left:7vw;transform:translateY(-44%)}.wordmark{letter-spacing:-.035em;text-shadow:0 6px 50px #0003;margin:0 0 54px;font-family:Outfit,Noto Sans TC,sans-serif;font-size:clamp(76px,10vw,150px);font-weight:900;line-height:.85}.wordmark span{letter-spacing:.53em;opacity:.65;margin:23px 0 0 5px;font-family:Outfit,Noto Sans TC,sans-serif;font-size:11px;font-weight:500;display:block}.menu{gap:12px;width:260px;display:grid}.menu button{text-align:left;letter-spacing:.16em;justify-content:space-between;padding:20px 23px;font-size:16px;display:flex}.menu button:first-child{background:#ffffff25}.menu b{opacity:.6;font-weight:400}.edge-brand{letter-spacing:.17em;font-family:Outfit,Noto Sans TC,sans-serif;font-size:19px;position:absolute;top:30px;left:35px}.corner{padding:10px 17px;font-size:12px;position:absolute;top:24px;right:30px}.panel{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffff0d;border:1px solid #fff3;width:min(370px,85vw);padding:30px;position:absolute;top:50%;left:7vw;transform:translateY(-50%)}.panel h1{letter-spacing:.13em;margin:0 0 35px;font-size:24px;font-weight:500}.field{margin:25px 0}.field label{opacity:.65;letter-spacing:.1em;margin-bottom:12px;font-size:12px;display:block}.segments{display:flex}.segments button{border-right:0;flex:1;padding:13px 4px}.segments button:last-child{border-right:1px solid #fff5}.segments .selected{background:#ffffff3b;border-color:#fffb}select{color:#fff;background:#3b383399;border:1px solid #fff5;width:100%;padding:13px 12px}option{background:#34312c}.primary{letter-spacing:.18em;background:#fff3;width:100%;margin-top:15px;padding:17px}.lab-bar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1f1a15bb;border:1px solid #ffffff30;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.lab-bar select{width:155px}.lab-bar button{white-space:nowrap;padding:12px 16px}.lab-title{position:absolute;top:80px;left:35px}.lab-title h1{margin:0 0 7px;font-size:26px;font-weight:500}.lab-title p{opacity:.5;margin:0;font-size:12px}.hud-top{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.1em;background:#211b16b0;border:1px solid #fff3;align-items:center;gap:24px;padding:10px 22px;font-family:Outfit,Noto Sans TC,sans-serif;font-size:22px;display:flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.hud-top .ally{color:#97d5d8}.hud-top .enemy{color:#ef9c7d}.hud-bottom{align-items:end;gap:23px;display:flex;position:absolute;bottom:28px;left:30px}.speed strong{font:600 58px/.85 Outfit,Noto Sans TC,sans-serif}.speed small{opacity:.6;letter-spacing:.16em;margin-top:8px;font-size:10px;display:block}.controls-hint{color:#fff9;font-size:11px;line-height:1.9}.charge{background:#ffffff26;width:150px;height:4px;margin-top:8px}.charge i{background:#ffe1ac;height:100%;transition:width 80ms;display:block}.reticle{border:1px solid #fff9;border-radius:50%;width:24px;height:24px;position:absolute;transform:translate(-50%,-50%);pointer-events:none!important}.reticle:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:9px;left:9px}#health-layer{pointer-events:none;position:absolute;inset:0}.health{background:#1a211feb;border:2px solid #414b48;border-radius:3px;width:62px;height:8px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #141815}.health i,.health b{border-radius:1px;height:100%;position:absolute;top:0;left:0}.health b{background:#fff;transition:width .5s .2s}.health i{background:#65d649;transition:width .1s}.health.player{box-shadow:0 0 0 1px #e9ecbc,0 0 12px #ffffff28}.result{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#16130dc0;place-content:center;display:grid;position:absolute;inset:0}.result h1{letter-spacing:.2em;font-size:52px;font-weight:500}.result button{padding:16px 50px}.pause-buttons{gap:12px;display:grid}.pause-buttons button{padding:15px}#loading{z-index:20;background:#211b16;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}#loading span{letter-spacing:.05em;font:800 70px Outfit,Noto Sans TC,sans-serif}#loading small{opacity:.5;letter-spacing:.3em;font-size:12px}#touch,.touch-controls{pointer-events:none;position:absolute;inset:0}.touch-controls button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffff18;border-radius:50%;width:64px;height:64px;font-size:18px;position:absolute}.touch-controls .left{bottom:45px;left:24px}.touch-controls .right{bottom:45px;left:100px}.touch-controls .go{bottom:120px;right:24px}.touch-controls .drift{bottom:45px;right:100px}.touch-controls .brake{bottom:45px;right:24px}.touch-controls .fire{width:84px;height:84px;font-size:13px;bottom:45px;right:28px}.hidden{display:none!important}@media (width<=700px){.home{width:80vw;left:8vw}.wordmark{font-size:94px}.menu{width:240px}.edge-brand{top:22px;left:20px}.corner{top:16px;right:15px}.lab-title{top:75px;left:22px}.lab-bar{flex-wrap:wrap;justify-content:center;gap:6px;width:calc(100% - 24px);padding:8px;bottom:15px}.lab-bar select{width:calc(50% - 5px);font-size:12px}.lab-bar button{padding:9px 13px;font-size:11px}.hud-bottom{bottom:145px;left:20px}.controls-hint{display:none}.speed strong{font-size:38px}.hud-top{gap:14px;padding:8px 12px;font-size:18px;top:20px}.health{width:47px;height:7px}.panel{left:7vw}.result h1{font-size:36px}}@media (pointer:coarse){.controls-hint{display:none}.hud-bottom{bottom:140px;left:24px}.speed strong{font-size:34px}.speed small{font-size:9px}.hud-top{gap:16px;padding:8px 16px;font-size:18px}}.health{height:8px;box-shadow:none;background:#000;border:1px solid #000;border-radius:1px}.health.player{box-shadow:none;border-color:#fff}.health i,.health b{border-radius:1px}.reticle{border:0;border-radius:0;width:44px;height:44px}.reticle:after{display:none}.reticle svg{width:44px;height:44px;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.reticle circle{fill:none;stroke-width:1.5px}.cooldown-track{stroke:#ffffff20}#cooldown-arc{stroke:#fbd5a0;stroke-dasharray:100;stroke-dashoffset:0;stroke-linecap:round}.reticle i{background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:20px;left:20px}.ability-slot{pointer-events:auto;flex-direction:column;align-items:center;gap:7px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.ability-disc{background:#fff;border:2px solid #fff;border-radius:50%;width:68px;height:68px;padding:0;position:relative;overflow:hidden;box-shadow:0 3px 15px #0007}.ability-disc:hover{background:#fff;border-color:#fff}.ability-disc img{object-fit:cover;width:100%;height:100%;display:block}.ability-sweep{background:conic-gradient(#000d 0deg var(--cool,0deg),transparent var(--cool,0deg) 360deg);pointer-events:none;position:absolute;inset:0}.ability-count{color:#fff;text-shadow:0 1px 4px #000;pointer-events:none;place-items:center;font:700 24px Outfit,Noto Sans TC,sans-serif;display:grid;position:absolute;inset:0}.ability-slot kbd{letter-spacing:.1em;color:#fff;background:#111b;border:1px solid #fff6;border-radius:3px;padding:3px 9px;font:600 11px Outfit,Noto Sans TC,sans-serif}.loadout-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.loadout-fields label{color:#fff9;font-size:11px}.loadout-fields select{margin-top:5px;padding:8px;font-size:12px}.panel{max-height:88dvh;overflow:auto}.panel .field{margin:16px 0}.panel h1{margin-bottom:22px}@media (width<=700px){.ability-slot{bottom:20px}.ability-disc{width:58px;height:58px}.panel{padding:20px}.loadout-fields{gap:8px}}@media (height<=500px){.panel{width:440px;max-width:84vw;padding:16px;top:50%}.panel h1{margin-bottom:8px;font-size:20px}.panel .field{margin:8px 0}.field label{margin-bottom:6px}.segments button{padding:6px}.primary{margin-top:10px;padding:10px}.ability-slot{bottom:15px}.ability-disc{width:54px;height:54px}}.nightsquad-back{color:#d8c19a;text-shadow:0 2px 4px #000;justify-content:center;align-items:center;min-height:44px;margin-top:12px;font-size:12px;text-decoration:none;display:flex}.nightsquad-back:hover{color:#fff0cd}#health-layer{overflow:hidden}.health.enemy{background:#30130fea;border-color:#702f28;box-shadow:0 0 0 1px #21100e}.health.enemy i{background:#f27b61}.health.enemy b{background:#ffd1a9}.health.ally{border-color:#345a66}.health.player{border-color:#ecedc7}.track-choice{white-space:nowrap;align-items:center;gap:8px;display:flex}.track-choice select{color:#ffdda5;background:#28231e;border:1px solid #aa8b60;border-radius:4px;max-width:180px;min-height:44px;padding:8px}.room-format,.online-room footer{flex-wrap:wrap}@media (width<=600px){.room-header{flex-wrap:wrap}.room-header .room-format{justify-content:flex-end;gap:8px}.track-choice select{max-width:150px}.room-format>span{font-size:11px}}.online-screen{overscroll-behavior:contain;background:radial-gradient(at top,#695343e6,#191713f7),url(/games/dustrig/ui/background.webp) 50%/cover;padding:32px;position:absolute;inset:0;overflow:auto}.online-entry{background:#27221eee;border:1px solid #b6986855;max-width:480px;margin:5vh auto;padding:28px}.online-screen h1{margin:8px 0;font-size:clamp(22px,3vw,34px)}.online-screen p{color:#c4bba9;line-height:1.7}.online-eyebrow{letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px;font:700 12px Outfit,Noto Sans TC,sans-serif}.online-entry form{gap:10px;margin-top:24px;display:grid}.online-entry input{color:#fff;background:#100e0bb0;border:1px solid #ad936f70;border-radius:4px;width:100%;min-width:0;padding:14px}.online-entry label{font-size:13px}.online-entry-actions{gap:12px;margin-top:14px;display:flex}.online-entry-actions button{flex:1;min-height:48px}.online-error{min-height:24px;color:#ffcf91!important}.online-room{max-width:1050px;margin:auto}.online-room header,.online-room footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.online-room header{text-align:center}.online-code{letter-spacing:.18em;color:#ffdda5;-webkit-user-select:all;user-select:all;font:800 32px Outfit,Noto Sans TC,sans-serif}.online-round{color:#c4bba9;font-size:13px}.online-match-title{text-align:center;justify-content:center;align-items:center;gap:36px;margin:24px 0;display:flex}.online-match-title>span{font:800 56px Outfit,Noto Sans TC,sans-serif}.blue-score{color:#9cdbf2}.red-score{color:#f29c7d}.online-teams{grid-template-columns:1fr 1fr;gap:28px;display:grid}.online-team h2{letter-spacing:.15em;border-bottom:2px solid #91b5cf;padding-bottom:12px;font-size:15px}.online-team.red h2{border-color:#e89073}.online-slot{background:#161411ad;border:1px solid #b698683d;border-radius:6px;align-items:center;gap:14px;min-height:104px;margin-bottom:12px;padding:12px;display:flex}.online-slot.own{background:#51453296;border-color:#ffdda5}.online-slot>img{object-fit:contain;width:70px;height:70px}.online-slot>div{flex:1;min-width:0}.online-slot strong{overflow-wrap:anywhere;display:block}.online-slot small,.online-slot span{color:#c4bba9;margin-top:5px;font-size:12px;display:block}.online-slot select{margin-top:8px;padding:6px;font-size:13px}.online-slot button{min-height:44px;font-size:12px}.online-room footer{margin-top:18px}.online-room footer select{width:100px;padding:9px}.online-room footer label{white-space:nowrap;font-size:13px}.online-start{min-width:160px;min-height:52px;background:#82632c66!important}.online-battle-status{color:#ecd4ab;background:#1a1711b0;border-radius:4px;max-width:260px;padding:8px 12px;font-size:12px;position:absolute;top:100px;left:16px;pointer-events:none!important}.online-room .metal-btn{padding:10px 14px}.home .menu{max-width:100%}@media (width<=700px){.online-screen{padding:16px}.online-entry{margin:3vh auto;padding:20px}.online-room header{gap:10px}.online-round{font-size:11px}.online-code{font-size:26px}.online-teams{grid-template-columns:1fr;gap:8px}.online-match-title{gap:18px;margin:18px 0}.online-match-title>span{font-size:36px}.online-match-title h1{font-size:22px}.online-match-title p{font-size:12px}.online-room footer{flex-wrap:wrap;gap:10px}.online-room footer p{font-size:11px}.online-start{flex:1}.online-battle-status{max-width:200px;font-size:10px;top:76px;left:8px}.online-entry-actions button{padding:8px}.online-slot>img{width:56px;height:56px}}.round-ending-notice{letter-spacing:.12em;color:#ffe2ac;text-shadow:0 3px 12px #000;font-size:clamp(24px,4vw,44px);font-weight:800;position:absolute;top:22%;left:50%;transform:translate(-50%);pointer-events:none!important}.online-slot select{white-space:normal;width:100%;min-width:0;max-width:100%}.online-slot .online-vehicle-detail{color:#ded0b8;overflow-wrap:anywhere;font-size:11px;line-height:1.7}@media (width<=400px){.online-screen{padding:10px}.online-slot{gap:8px;padding:9px}.online-slot>img{width:44px;height:44px}.online-slot button{flex:none;padding:7px 5px!important}.online-slot .online-vehicle-detail{font-size:10px}}#touch.mobile-input-root{z-index:5;pointer-events:none;position:fixed;inset:0}.mobile-controls,.mobile-controls *{box-sizing:border-box}.mobile-controls{--mobile-size:52px;--mobile-gap:8px;--stick-size:clamp(120px, 35vw, 140px);--controls-bottom:calc(34px + env(safe-area-inset-bottom));pointer-events:none;position:absolute;inset:0}.mobile-button{width:var(--mobile-size);height:var(--mobile-size);-webkit-backdrop-filter:none;backdrop-filter:none;filter:drop-shadow(0 3px 4px #0005);color:#fff3d3;text-shadow:0 1px 2px #000;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;border:10px solid #0000;border-image:url(/games/dustrig/ui/panel.webp) 16% fill/10px;border-radius:0;min-width:44px;min-height:44px;padding:0;font-size:14px;font-weight:700;line-height:1.3}.mobile-button:hover{background:0 0}.mobile-button.is-held{filter:brightness(1.5)drop-shadow(0 0 7px #ffc05c66);transform:translateY(1px)}.mobile-fire,.mobile-dash{isolation:isolate;position:relative;overflow:hidden}.mobile-action-label{z-index:2;padding-bottom:9px;line-height:1.15;display:block;position:relative}.mobile-ability-mask{z-index:1;pointer-events:none;background:conic-gradient(#080b10dc 0deg var(--ability-cooldown,0deg),transparent var(--ability-cooldown,0deg) 360deg);position:absolute;inset:0}.mobile-ability-count{z-index:3;text-align:center;color:#fff0d2;text-shadow:0 1px 4px #000;pointer-events:none;font:700 19px/1 Outfit,Noto Sans TC,sans-serif;position:absolute;top:50%;left:0;right:0;transform:translateY(-58%)}.mobile-ability-status{z-index:3;text-align:center;color:#b9e9bb;pointer-events:none;font-size:9px;line-height:1.2;position:absolute;bottom:2px;left:0;right:0}.mobile-dash .mobile-action-label{font-size:12px}.mobile-dash .mobile-ability-count{font-size:16px;top:34%;transform:translateY(-50%)}.ability-cooling .mobile-action-label,.ability-charging .mobile-action-label,.ability-disabled .mobile-action-label{visibility:hidden}.mobile-button.ability-cooling,.mobile-button.ability-disabled{filter:saturate(.45)drop-shadow(0 3px 4px #0005)}.ability-cooling .mobile-ability-status{color:#f2c58c}.ability-disabled .mobile-ability-status{color:#d2c8bd}.ability-charging .mobile-ability-status{color:#c5eeff}.ability-charging .mobile-ability-mask{width:var(--ability-charge,0%);background:#bfeaff;height:5px;inset:auto auto 0 0}.mobile-drive-pad{left:max(12px, env(safe-area-inset-left));bottom:var(--controls-bottom);pointer-events:none;position:absolute}.mobile-joystick{width:var(--stick-size);height:var(--stick-size);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle,#0c141d66 48%,#343530bb 70%,#101417dd);border:3px solid #b3946599;border-radius:50%;position:relative;box-shadow:inset 0 0 0 5px #151c2380,0 3px 10px #0006}.mobile-joystick.is-held{border-color:#bdeaff;box-shadow:inset 0 0 0 5px #151c2380,0 0 12px #82ccff44}.mobile-joystick-axis{pointer-events:none;background:#c6d8df35;position:absolute;top:50%;left:50%}.mobile-joystick-axis.vertical{width:1px;height:78%;transform:translate(-50%,-50%)}.mobile-joystick-axis.horizontal{width:78%;height:1px;transform:translate(-50%,-50%)}.mobile-joystick-thumb{width:44px;height:44px;transform:translate(-50%, -50%) translate(var(--stick-x,0px), var(--stick-y,0px));pointer-events:none;background:radial-gradient(circle at 35% 25%,#7896a9,#354b5b 65%,#1c2a35);border:3px solid #d7c39a;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 3px 8px #0008,inset 0 0 0 3px #1d2b3766}.mobile-joystick-label{letter-spacing:.12em;color:#d4e9f4b0;pointer-events:none;text-shadow:0 1px 3px #000;font-size:10px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.mobile-action-pad{bottom:var(--controls-bottom);right:max(12px, env(safe-area-inset-right));gap:var(--mobile-gap);pointer-events:none;flex-direction:column;display:flex;position:absolute}.mobile-dash{color:#b4eeff}.mobile-fire{width:calc(var(--mobile-size) * 1.28);height:calc(var(--mobile-size) * 1.28);font-size:12px}.mobile-switch{right:max(12px, env(safe-area-inset-right));bottom:calc(var(--mobile-size) * 2 + var(--mobile-gap) * 2 + var(--controls-bottom));height:44px;font-size:12px;position:absolute}.mobile-gunner .mobile-switch{bottom:calc(var(--mobile-size) * 1.28 + var(--mobile-gap) + var(--controls-bottom))}.mobile-input-hint{left:50%;bottom:calc(5px + env(safe-area-inset-bottom));color:#fff2d8b8;text-align:center;text-shadow:0 1px 3px #000;width:calc(100% - 24px);max-width:600px;font-size:9px;line-height:1.4;position:absolute;transform:translate(-50%)}.mobile-input-visible .ability-slot{left:50%;bottom:calc(44px + env(safe-area-inset-bottom));pointer-events:none!important}.mobile-input-visible .ability-disc{width:48px;height:48px}.mobile-input-visible .ability-slot button{pointer-events:none}.mobile-input-visible .ability-slot kbd,.mobile-input-visible .ability-instruction,.mobile-input-visible .controls-hint{display:none}.mobile-input-visible .driver-speed{left:max(18px, env(safe-area-inset-left));bottom:calc(clamp(120px, 35vw, 140px) + 44px + env(safe-area-inset-bottom))}.mobile-input-paused .mobile-controls{visibility:hidden}@media (width<=350px){.mobile-controls{--mobile-size:48px;--mobile-gap:6px}.mobile-input-visible .ability-disc{width:44px;height:44px}}@media (height<=480px){.mobile-controls{--mobile-size:48px;--mobile-gap:6px;--stick-size:120px;--controls-bottom:calc(26px + env(safe-area-inset-bottom))}.mobile-input-hint{bottom:calc(3px + env(safe-area-inset-bottom))}.mobile-input-visible .driver-speed{bottom:calc(156px + env(safe-area-inset-bottom))}}.nine-panel{background:0 0;border:16px solid #0000;border-image:url(/games/dustrig/ui/panel.webp) 16% fill/16px}.metal-btn{-webkit-backdrop-filter:none;backdrop-filter:none;color:#eee8da;text-shadow:0 2px 2px #000;letter-spacing:.06em;background:0 0;border:16px solid #0000;border-image:url(/games/dustrig/ui/button.webp) 23% 9% fill/16px;min-height:48px;padding:1px 10px;font-weight:700;transition:filter .15s,transform .15s}.metal-btn:hover{filter:brightness(1.35)drop-shadow(0 0 4px #ee792255);background:0 0}.metal-btn:disabled{filter:none;cursor:default}.metal-btn:focus-visible{outline-offset:1px;outline:2px solid #ffe1a9}.menu button{-webkit-backdrop-filter:none;backdrop-filter:none;border:16px solid #0000;border-image:url(/games/dustrig/ui/button.webp) 23% 9% fill/16px;padding:8px 12px;font-weight:700;background:0 0!important}.menu button:hover{filter:brightness(1.4)}.home{width:min(620px,86vw)}.home-logo{filter:drop-shadow(0 7px 9px #0008);width:100%;height:auto;margin:0 0 30px;display:block}.edge-brand img{width:125px;display:block}.match-room{overscroll-behavior:contain;isolation:isolate;background:#1a130f;position:absolute;inset:0;overflow:auto}.room-backdrop{z-index:-1;background:linear-gradient(#100e0e18,#100b08a6),url(/games/dustrig/ui/background.webp) 50%/cover no-repeat;position:fixed;inset:0}.room-shell{flex-direction:column;justify-content:center;gap:10px;max-width:1560px;min-height:100dvh;margin:auto;padding:18px 32px 20px;display:flex}.room-header{flex-shrink:0;justify-content:space-between;align-items:center;height:64px;display:flex}.room-logo{object-fit:contain;width:230px;max-height:82px}.room-format{color:#ded5c4;text-shadow:0 2px 5px #000;align-items:center;gap:26px;font-size:12px;display:flex}.room-format label{align-items:center;gap:10px;display:flex}.room-format select{color:#f4e7cf;background:#171513;border-color:#9b7650;width:78px;padding:7px}.room-stage{grid-template-columns:1fr minmax(300px,.95fr) 1fr;align-items:end;gap:18px;min-height:225px;display:grid}.score-block{min-width:0}.blue{--team:#5ebcf1}.red{--team:#ee7452}.victory-lamps{justify-content:center;gap:12px;margin-bottom:10px;display:flex}.victory-lamp{flex:none;width:54px;height:54px;display:block;position:relative}.victory-lamp img{width:100%;height:100%;display:block}.victory-lamp.lit:after{content:"";background:radial-gradient(circle at 35% 30%,#cdff94,#63ef26 50%,#2b9b13);border-radius:50%;position:absolute;inset:24%;box-shadow:0 0 10px #75ff4980,inset 0 0 5px #2e7c14}.team-label{color:var(--team);border-width:13px;border-image-width:13px;padding:0 10px 3px;position:relative}.team-label:after{content:"";background:var(--team);opacity:.65;height:2px;position:absolute;bottom:4px;left:13px;right:13px}.team-label small{letter-spacing:.24em;opacity:.85;font:600 11px Outfit,Noto Sans TC,sans-serif}.team-label h2{margin:2px 0;font-size:22px;font-weight:800}.red .team-label{text-align:right}.announcer{text-align:center;min-width:0;padding-top:155px;position:relative}.host-art{object-fit:contain;object-position:bottom;pointer-events:none;width:360px;max-width:120%;height:240px;position:absolute;bottom:73px;left:50%;transform:translate(-50%)}.announcer-plinth{border-width:14px;filter:drop-shadow(0 2px 10px #0008);border-image-width:14px;padding:0 5px 5px;position:relative}.round-label{letter-spacing:.15em;color:#d5ae7b;font:600 11px Outfit,Noto Sans TC,sans-serif}.announcer h1{white-space:nowrap;color:#fff4e2;margin:2px 0 5px;font-size:22px;font-weight:800;line-height:1.35}.announcer p{color:#c7beae;margin:0;font-size:11px;line-height:1.5}.rosters{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:18px;display:grid}.team-slots{gap:7px;min-width:0;display:grid}.slot-card{border-width:12px;border-image-width:12px;grid-template-columns:26px 74px minmax(0,1fr) 54px;align-items:center;gap:10px;min-width:0;min-height:106px;padding:3px 5px;display:grid;position:relative}.slot-index{color:#c29b6f;text-align:center;font:700 24px Outfit,Noto Sans TC,sans-serif}.own-slot{filter:drop-shadow(0 0 3px #55bfff66)}.own-slot:after{content:"";background:#71ceff;width:3px;position:absolute;top:15px;bottom:15px;left:4px}.own-slot .slot-index{color:#8bdcff}.vehicle-choice{aspect-ratio:1;-webkit-backdrop-filter:none;backdrop-filter:none;background:#13110e;border:1px solid #876d4c;width:74px;height:74px;padding:0;position:relative;overflow:hidden}.vehicle-choice img{object-fit:cover;width:100%;height:100%;display:block}.vehicle-choice:hover{border-color:#edaf5e}.vehicle-choice:disabled{opacity:1;cursor:default;background:#14110e}.choice-corner{color:#fff4d7;background:#b17831;padding:0 3px;font-size:12px;position:absolute;bottom:0;right:0}.unknown-vehicle{color:#aaa49a;opacity:.6;font:700 47px Outfit,Noto Sans TC,sans-serif}.slot-person{align-self:center;min-width:0}.person-name{align-items:center;gap:3px;display:flex}.person-name strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;min-width:0;font:700 17px Outfit,Noto Sans TC,sans-serif;display:block;overflow:hidden}.edit-name{-webkit-backdrop-filter:none;backdrop-filter:none;color:#c4b49f;background:0 0;border:0;flex:none;width:30px;height:32px;margin-left:auto;padding:5px}.edit-name:hover{color:#fff;background:#fff1}.edit-name svg,.swap-position svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.slot-meta{color:#b4a897;align-items:center;gap:8px;font-size:10px;display:flex}.occupant{color:var(--team);border:1px solid #ffffff24;padding:0 4px;font-size:9px}.vehicle-name{color:#e3c79f;margin-top:4px;font-size:11px;display:block}.swap-position{border-width:10px;color:#e6ae6f;letter-spacing:0;border-image-width:10px;flex-direction:column;justify-content:center;align-items:center;width:54px;min-width:0;height:58px;min-height:0;padding:0;display:flex}.swap-position svg{width:23px;height:23px}.swap-position span{white-space:nowrap;font-size:9px}.swap-position:disabled{opacity:.65}.enemy-ready{color:#ac9984;justify-self:center;font-size:10px}.versus{color:#e9c295;text-shadow:2px 3px #873f1c,0 4px 30px #000;text-align:center;font:italic 900 72px Outfit,Noto Sans TC,sans-serif;transform:rotate(-7deg)}.empty-slot{opacity:.6;color:#b9b2a7;grid-template-columns:26px 74px 1fr auto;font-size:12px}.empty-plus{text-align:center;color:#958a78;font:300 36px sans-serif}.add-slot{border-width:10px;letter-spacing:0;border-image-width:10px;min-height:39px;padding:0 3px;font-size:10px}.room-footer{grid-template-columns:130px 150px minmax(180px,1fr) 280px;align-items:center;gap:12px;padding-top:5px;display:grid}.room-footer .metal-btn{font-size:13px}.deploy-btn{color:#fff1d9;filter:drop-shadow(0 0 5px #ff79285e);justify-self:center;min-width:250px;min-height:70px;font-size:23px!important}.deploy-btn span{letter-spacing:.2em;color:#eca459;font:600 10px Outfit,Noto Sans TC,sans-serif;display:block}.room-position{text-align:right;color:#bda78f;font-size:10px}.room-position b{color:#efe2cc;margin-top:5px;font-size:12px;display:block}.room-dialog{color:#eee7d8;background-color:#0000;width:max-content;max-width:min(720px,100vw - 24px);max-height:88dvh;padding:10px 18px 20px;overflow:auto;box-shadow:0 20px 80px #0009}.room-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b0a09b8}.room-dialog header{justify-content:space-between;align-items:center;gap:35px;margin-bottom:18px;display:flex}.room-dialog h2{margin:0;font-size:21px}.dialog-close{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;width:38px;height:38px;padding:0;font-size:28px}.room-dialog form{gap:12px;min-width:250px;display:grid}.room-dialog input{color:#fff;background:#080909b0;border:1px solid #94724d;width:100%;padding:12px}.room-dialog label{color:#d4bc9b;font-size:12px}.field-error{color:#ffa87d;min-height:1em;margin:0;font-size:12px}.vehicle-options{grid-template-columns:repeat(var(--choices,3),minmax(0,1fr));gap:10px;display:grid}.vehicle-option{-webkit-backdrop-filter:none;backdrop-filter:none;color:#eee5d7;flex-direction:column;align-items:center;gap:8px;width:180px;min-width:0;max-width:100%;padding:3px 2px 8px;display:flex}.vehicle-option:hover{filter:brightness(1.25);background:0 0}.vehicle-option img{aspect-ratio:1;object-fit:cover;width:100%}.vehicle-option strong{font-size:18px}.vehicle-option span{color:#bdb19f;font-size:10px;line-height:1.7}.vehicle-option small{color:#e9b978;font-size:11px}.vehicle-option.selected{filter:drop-shadow(0 0 4px #ed9f4877)}@media (width>=1600px){.room-stage{min-height:260px}.announcer{padding-top:175px}.host-art{width:430px;height:280px}.slot-card{grid-template-columns:30px 82px minmax(0,1fr) 58px;min-height:114px}.vehicle-choice{width:82px;height:82px}.person-name strong{font-size:20px}.room-shell{gap:14px}}@media (width<=1100px){.room-shell{gap:8px;padding:12px 18px}.room-header{height:52px}.room-logo{width:190px}.room-stage{grid-template-columns:1fr 300px 1fr;gap:12px;min-height:215px}.rosters{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:9px}.versus{font-size:46px}.slot-card{border-width:10px;border-image-width:10px;grid-template-columns:20px 58px minmax(0,1fr) 43px;gap:6px;min-height:92px;padding:3px}.vehicle-choice{width:58px;height:58px}.slot-index{font-size:20px}.swap-position{width:43px}.person-name strong{font-size:14px}.edit-name{width:25px;padding:4px}.room-footer{grid-template-columns:110px 125px 1fr 180px;gap:8px}.deploy-btn{min-width:205px}.team-label h2{font-size:19px}.victory-lamp{width:45px;height:45px}.victory-lamps{gap:6px}.empty-slot{grid-template-columns:20px 40px 1fr auto}.room-footer .metal-btn{font-size:11px}}@media (width<=740px){.room-shell{padding:14px 12px 22px;display:block}.room-header{height:48px;margin-bottom:4px}.room-logo{width:150px}.room-format{gap:9px;font-size:10px}.room-format>span{display:none}.room-format select{width:62px;padding:5px}.room-stage{grid-template-columns:1fr 1fr;gap:12px;min-height:0}.announcer{grid-area:1/1/auto/-1;justify-self:center;width:100%;max-width:360px;margin-bottom:3px;padding-top:150px}.host-art{width:325px;height:215px;bottom:72px}.announcer h1{font-size:21px}.announcer-plinth{padding-bottom:5px}.score-block{grid-row:2}.team-label h2{font-size:17px}.team-label small{font-size:9px}.victory-lamp{width:35px;height:35px}.victory-lamps{margin-bottom:4px}.team-label{border-width:11px;border-image-width:11px;padding:0 3px 4px}.rosters{flex-direction:column;gap:12px;margin-top:12px;display:flex}.team-slots{gap:5px;width:100%}.team-slots.red:before{content:"敵方車隊";color:#f49877;margin:4px 8px;font-size:12px}.team-slots.blue:before{content:"我方車隊";color:#8bd2fb;margin:2px 8px;font-size:12px}.versus{display:none}.slot-card{grid-template-columns:24px 64px minmax(0,1fr) 50px;gap:8px;min-height:92px}.vehicle-choice{width:64px;height:64px}.swap-position{width:50px}.person-name strong{font-size:17px}.empty-slot{grid-template-columns:24px 64px 1fr auto;min-height:68px}.room-footer{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-bottom:8px}.deploy-btn{grid-area:1/1/auto/-1;width:100%;min-height:69px;font-size:24px!important}.room-position{text-align:center;grid-column:1/-1;margin-top:4px}.room-position b{margin-left:8px;display:inline}.room-dialog{padding:6px 9px 14px}.vehicle-options{grid-template-columns:1fr;gap:8px}.vehicle-option{text-align:left;grid-template-columns:84px 1fr;gap:4px 14px;width:290px;display:grid}.vehicle-option img{grid-row:1/4}.vehicle-option strong{font-size:18px}.vehicle-option span,.vehicle-option small{font-size:11px}.room-dialog header{margin-bottom:10px}}@media (height<=600px) and (width>=741px){.room-shell{justify-content:flex-start;padding:8px 18px}.room-header{height:38px}.room-logo{width:155px}.room-stage{min-height:150px}.announcer{padding-top:90px}.host-art{width:255px;height:170px;bottom:64px}.announcer h1{font-size:18px}.announcer p{font-size:10px}.announcer-plinth{border-width:11px;border-image-width:11px}.victory-lamp{width:32px;height:32px}.slot-card{grid-template-columns:18px 49px minmax(0,1fr) 42px;min-height:77px}.vehicle-choice{width:49px;height:49px}.slot-person .vehicle-name{font-size:10px}.team-label h2{font-size:16px}.team-label small{font-size:9px}.deploy-btn{min-height:55px}.room-footer{padding-bottom:10px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.home{width:min(610px,55vw);top:10%;left:5vw;transform:none}.home .menu{width:270px}@media (width<=740px){.home{width:88vw;top:10%;left:6vw}.home-logo{width:min(500px,100%)}.home .menu{width:230px}}:root,button,select,input{font-family:Outfit,Noto Sans TC,sans-serif}.home{flex-direction:column;align-items:center;width:min(610px,44vw);display:flex;top:47%;left:34%;transform:translate(-50%,-50%)}.home-logo{width:100%;margin-bottom:15px}.home .menu{gap:4.8px;width:300px}.home .menu button{justify-content:center;align-items:center;height:108px;min-height:108px;padding:0 18px;font-size:16px;line-height:1;display:flex;position:relative}.home .menu b{position:absolute;top:50%;right:19px;transform:translateY(-50%)}.match-room{overflow:hidden}.room-shell{grid-template-rows:58px minmax(160px,26vh) minmax(0,1fr);gap:12px;height:100dvh;min-height:0;padding:18px 28px;display:grid}.room-header{grid-template-columns:150px 1fr auto;gap:18px;height:100%;display:grid}.room-header>#room-back{justify-content:center;align-items:center;width:130px;height:54px;min-height:0;padding:0;font-size:13px;display:flex}.room-logo{justify-self:start;width:210px;height:65px;max-height:100%}.room-format{align-items:center;gap:12px;font-size:11px;display:flex}.count-options{gap:4px;display:flex}.count-option{letter-spacing:0;justify-content:center;align-items:center;gap:5px;min-width:75px;height:54px;min-height:0;padding:0 7px;font-size:14px;display:flex}.count-option span{color:#a48a6d;font-size:10px}.count-option.selected{color:#fff0d3;filter:brightness(1.5)drop-shadow(0 0 4px #ff9d3555)}.count-option.selected:after{content:"";background:#ffa94d;width:20px;height:2px;position:absolute;bottom:9px}.count-option{position:relative}.room-stage{grid-template-columns:1fr minmax(320px,.95fr) 1fr;gap:22px;height:100%;min-height:0}.announcer{justify-content:center;align-items:flex-end;height:100%;padding-top:0;display:flex}.host-art{object-position:bottom;width:350px;max-width:115%;height:calc(100% - 55px);bottom:85px}.announcer-plinth{width:100%;padding:0 3px 4px}.announcer p{font-size:11px}.announcer h1{font-size:22px}.score-block{padding-bottom:0}.rosters{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);gap:16px;height:100%;min-height:0}.team-slots{grid-template-rows:repeat(4,minmax(0,1fr));gap:7px;height:100%;min-height:0;display:grid}.slot-card{border-width:12px;border-image-width:12px;grid-template-columns:26px minmax(54px,78px) minmax(0,1fr) 106px;gap:10px;height:100%;min-height:0;padding:2px 3px}.vehicle-choice{aspect-ratio:1;width:100%;height:auto;max-height:100%}.slot-actions{justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.slot-actions .metal-btn{color:#e6b378;letter-spacing:0;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-width:9px;border-image-source:url(/games/dustrig/ui/panel.webp);border-image-slice:16% fill;border-image-width:9px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:50px;height:54px;min-height:0;margin:0;padding:0;display:flex}.slot-actions svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px;display:block}.slot-actions span{white-space:nowrap;font-size:9px;line-height:1}.ready-position:not(:disabled):hover,.ready-position.is-ready{color:#bdf593;filter:drop-shadow(0 0 4px #6ac32b66)}.empty-slot{grid-template-columns:26px 60px 1fr auto}.versus{justify-content:center;align-items:center;display:flex;transform:none}.versus img{filter:drop-shadow(0 4px 8px #0008);width:110px;max-width:135%;height:auto;display:block}.team-slots:before{display:none!important}.room-footer{display:none}@media (width>=1600px){.room-shell{grid-template-rows:66px minmax(180px,27vh) minmax(0,1fr);gap:16px;padding:24px 40px}.host-art{width:420px}.room-logo{width:230px}.slot-card{grid-template-columns:30px 88px minmax(0,1fr) 116px}.slot-actions .metal-btn{width:55px;height:60px}.slot-actions svg{width:25px;height:25px}}@media (width<=1100px){.room-shell{grid-template-rows:50px minmax(140px,24vh) minmax(0,1fr);gap:8px;padding:12px 16px}.room-header{grid-template-columns:110px 1fr auto;gap:12px}.room-header>#room-back{width:105px;height:47px}.room-logo{width:155px;height:54px}.count-option{min-width:63px;height:47px;font-size:12px}.room-format{gap:8px}.room-stage{grid-template-columns:1fr 300px 1fr;gap:12px}.rosters{grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);gap:9px}.slot-card{border-width:9px;border-image-width:9px;grid-template-columns:20px 56px minmax(0,1fr) 88px;gap:6px}.slot-actions{gap:4px}.slot-actions .metal-btn{border-width:7px;border-image-width:7px;width:42px;height:48px}.slot-actions svg{width:19px;height:19px}.slot-actions span{font-size:8px}.person-name strong{font-size:14px}.slot-meta{font-size:9px}.vehicle-name{font-size:10px}.versus img{width:75px}.empty-slot{grid-template-columns:20px 40px 1fr auto}}@media (width<=740px){.home{width:88vw;top:40%;left:50%}.home .menu{width:260px}.home .menu button{height:100px;min-height:100px}.home-logo{margin-bottom:12px}.room-shell{grid-template-rows:44px 168px minmax(0,1fr);gap:6px;height:100dvh;padding:8px 10px}.room-header{grid-template-columns:66px minmax(70px,1fr) auto;gap:5px}.room-header>#room-back{border-width:10px;border-image-width:10px;width:66px;height:42px;padding:0;font-size:11px}.room-logo{justify-self:center;width:125px;height:43px}.room-format>span{display:none}.room-format{gap:0}.count-options{gap:2px}.count-option{border-width:9px;border-image-width:9px;gap:1px;min-width:39px;height:42px;padding:0 1px;font-size:11px}.count-option span{font-size:8px}.count-option.selected:after{width:15px;bottom:6px}.room-stage{grid-template-columns:70px minmax(0,1fr) 70px;align-items:end;gap:5px}.announcer{grid-area:1/2;width:100%;max-width:none;height:100%;margin:0;padding:0}.host-art{width:185px;max-width:120%;height:116px;bottom:64px}.announcer-plinth{border-width:8px;border-image-width:8px;padding:0 2px 3px}.announcer h1{white-space:normal;margin:2px 0 4px;font-size:15px}.announcer p{font-size:9px;line-height:1.4}.round-label{letter-spacing:0;font-size:8px}.score-block{grid-row:1}.score-block.blue{grid-column:1}.score-block.red{grid-column:3}.victory-lamp{width:20px;height:20px}.victory-lamps{gap:3px;margin-bottom:4px}.team-label{border-width:7px;border-image-width:7px;padding:2px 0 4px;text-align:center!important}.team-label h2{white-space:nowrap;margin:0;font-size:11px}.team-label small{display:none}.team-label:after{height:1px;bottom:0;left:5px;right:5px}.rosters{grid-template-rows:1fr 1fr;grid-template-columns:1fr;gap:8px;min-height:0;margin:0;display:grid}.team-slots{grid-template-rows:repeat(4,minmax(0,1fr));gap:3px;min-height:0}.slot-card{border-width:7px;border-image-width:7px;grid-template-columns:18px 44px minmax(0,1fr) 86px;gap:6px;height:100%;min-height:0;padding:0 2px}.slot-index{font-size:17px}.vehicle-choice{width:44px;height:44px}.person-name strong{font-size:12px;line-height:1.25}.slot-meta{gap:5px;margin-top:2px;font-size:8px;line-height:1.25}.vehicle-name{margin-top:2px;font-size:9px;line-height:1.25}.slot-actions .metal-btn{border-width:7px;border-image-width:7px;gap:1px;width:41px;height:42px}.slot-actions svg{width:17px;height:17px}.slot-actions span{font-size:8px}.enemy-ready{font-size:9px}.empty-slot{grid-template-columns:18px 44px 1fr auto;font-size:10px}.add-slot{height:34px;min-height:0;font-size:9px}.versus{display:none}.team-slots.blue .slot-card:before,.team-slots.red .slot-card:before{content:"";background:var(--team);opacity:.5;width:2px;position:absolute;top:9px;bottom:9px;left:1px}.own-slot:after{width:2px;top:8px;bottom:8px;left:2px}.empty-plus{font-size:25px}.vehicle-options{grid-template-columns:1fr}}@media (height<=620px) and (width>=741px){.room-shell{grid-template-rows:38px 104px minmax(0,1fr);gap:4px;padding:6px 12px}.room-header{height:38px}.room-header>#room-back,.count-option{border-width:10px;border-image-width:10px;height:38px;min-height:0}.room-logo{width:140px;height:38px}.room-stage{grid-template-columns:1fr 270px 1fr;gap:8px;min-height:0}.host-art{width:160px;height:87px;bottom:52px}.announcer-plinth{border-width:8px;border-image-width:8px;padding:0 3px}.announcer h1{margin:1px 0 2px;font-size:16px}.announcer p,.round-label{font-size:9px}.victory-lamp{width:24px;height:24px}.victory-lamps{gap:5px;margin-bottom:3px}.team-label{border-width:8px;border-image-width:8px;padding:0 4px 2px}.team-label h2{margin:0;font-size:14px}.team-label small{font-size:8px}.team-slots{gap:2px}.slot-card{border-width:6px;border-image-width:6px;grid-template-columns:18px 36px minmax(0,1fr) 78px;gap:5px;padding:0 2px}.vehicle-choice{width:36px;height:36px}.slot-actions{gap:2px}.slot-actions .metal-btn{border-width:6px;border-image-width:6px;gap:0;width:38px;height:36px}.slot-actions svg{width:16px;height:16px}.slot-actions span{font-size:7px}.slot-index{font-size:16px}.person-name strong{font-size:11px;line-height:1.2}.slot-meta{font-size:8px;line-height:1.2}.vehicle-name{margin-top:1px;font-size:8px;line-height:1.1}.empty-slot{grid-template-columns:18px 36px 1fr auto}.add-slot{height:30px;min-height:30px;font-size:8px}.enemy-ready{font-size:8px}.versus img{width:70px}}@media (width<=740px) and (height<=740px){.room-shell{grid-template-rows:40px 130px minmax(0,1fr);gap:4px;padding:5px 8px}.host-art{height:87px;bottom:56px}.announcer p{font-size:8px}.announcer h1{font-size:13px}.room-stage{grid-template-columns:66px minmax(0,1fr) 66px}.vehicle-choice{width:36px;height:36px}.slot-card{border-width:5px;border-image-width:5px;grid-template-columns:17px 36px minmax(0,1fr) 76px;gap:4px}.slot-actions .metal-btn{border-width:5px;border-image-width:5px;width:36px;height:36px}.slot-actions span{font-size:7px}.slot-actions svg{width:16px;height:16px}.vehicle-name{font-size:8px}.slot-meta{font-size:7px}.person-name strong{font-size:11px}.victory-lamp{width:18px;height:18px}.team-label h2{font-size:10px}.rosters{gap:5px}}:root{--main-button-height:78px}.home{align-items:flex-start;width:min(510px,36vw);top:48%;left:6vw;transform:translateY(-50%)}.home-logo{margin-bottom:18px}.home .menu{gap:4.8px;width:300px;max-width:100%}.home .menu button,.game-dialog .main-action{height:var(--main-button-height);min-height:var(--main-button-height);letter-spacing:.16em;text-align:left;justify-content:space-between;align-items:center;padding:0 18px;font-size:16px;line-height:1.2;display:flex}.home .menu b,.game-dialog .main-action b{opacity:.8;font-size:24px;font-weight:400;line-height:1;position:static;transform:none}.room-header{grid-template-columns:auto 1fr}.room-format{justify-self:end}.count-option.selected:after{content:none}.room-header>#room-back{letter-spacing:0;white-space:nowrap;gap:7px;line-height:1}#room-back>span:first-child{font-family:Outfit,Noto Sans TC,sans-serif;font-size:22px;line-height:1;transform:translateY(-1px)}#loading .loading-logo{width:min(520px,80vw);height:auto;display:block}#loading-progress{appearance:none;color:#e8c39a;background:#17130f;border:1px solid #947653;width:min(300px,64vw);height:6px;overflow:hidden}#loading-progress::-webkit-progress-bar{background:#17130f}#loading-progress::-webkit-progress-value{background:#e8c39a;transition:width .2s}#loading-progress::-moz-progress-bar{background:#e8c39a}@media (width<=740px){.home{width:78vw;top:5vh;left:7vw;transform:none}.home-logo{width:min(330px,100%);margin-bottom:8px}.home .menu{width:250px}.home .menu button{height:78px;min-height:78px}.room-header{grid-template-columns:auto 1fr}}@media (height<=500px) and (width>=741px){.home{width:34vw;top:50%}.home-logo{margin-bottom:4px}.home .menu{width:250px}}@media (width>=741px){.home{width:min(480px,34vw);left:11vw}}#vignette{background:linear-gradient(90deg,#0009,#00000042 26%,#0000 55%)}.home .menu b,.game-dialog .main-action b{transform:translateY(-2px)}.count-option:not(.selected){color:#a48a6d;opacity:.55;filter:saturate(.5)}.count-option:not(.selected):hover{opacity:.85;filter:none}.count-option.selected,.count-option.selected span{color:#a48a6d}.slot-actions .ready-position{isolation:isolate;color:#17120d;text-shadow:none;opacity:1;filter:none;position:relative}.slot-actions .ready-position:before{content:"";z-index:-1;background:#ed9d43;border:1px solid #ffbf67;border-radius:2px;position:absolute;inset:-3px;box-shadow:inset 0 1px #ffd29366}.slot-actions .ready-position:not(:disabled):hover{color:#17120d;filter:brightness(1.1)}.slot-actions .ready-position.is-ready{color:#fff;opacity:1;filter:none}.slot-actions .ready-position.is-ready:before{background:#388b3c;border-color:#76bd69;box-shadow:inset 0 1px #b2e69a55}.slot-actions .ready-position{background:#ed9d43;border:1px solid #ffc477;border-image:;border-radius:3px;box-shadow:inset 0 1px #ffe1a166}.slot-actions .ready-position:before{display:none}.slot-actions .ready-position.is-ready{background:#388b3c;border-color:#79bc70;box-shadow:inset 0 1px #b9e69c55}.room-dialog:has(.vehicle-options){overscroll-behavior:contain;touch-action:pan-y;width:min(720px,100vw - 24px);max-height:min(88dvh,100dvh - 24px);scroll-padding-block:12px;overflow-y:auto}.vehicle-options{grid-template-columns:repeat(var(--choices,3),minmax(0,1fr))}.vehicle-option{text-align:center;width:100%}.vehicle-option:disabled{opacity:.55;filter:saturate(.35);cursor:default}.vehicle-option span{overflow-wrap:anywhere}@media (width<=740px){.vehicle-options{grid-template-columns:1fr}.vehicle-option{text-align:left;grid-template-columns:78px minmax(0,1fr);column-gap:10px;width:100%}.vehicle-option span{line-height:1.6}.vehicle-option img{align-self:center}}.ability-instruction{color:#fff2d8;text-align:center;white-space:normal;pointer-events:none;text-shadow:0 1px 3px #000;background:#111c;border-radius:3px;max-width:240px;padding:3px 8px;font-size:11px;line-height:1.5}.mobile-input-visible .ability-instruction{display:none}.battle-scoreboard{filter:drop-shadow(0 2px 3px #0008);align-items:flex-start;gap:15px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);pointer-events:none!important}.hud-team{flex-direction:column;align-items:center;min-width:125px;display:flex}.hud-team .victory-lamps{gap:6px;margin:0 0 3px}.hud-team .victory-lamp{width:31px;height:31px}.battle-clock{text-align:center;border-width:11px;border-image-width:11px;min-width:115px;padding:0 9px 3px}.battle-clock small{color:#c7a57b;letter-spacing:.1em;font-size:9px;display:block}.battle-clock strong{letter-spacing:.08em;color:#ffb75b;font:700 28px/1.1 Outfit,Noto Sans TC,sans-serif;display:block}.convoy-icons{justify-content:center;align-items:center;gap:0;display:flex}.convoy-icon{width:35px;height:26px;display:block;position:relative}.convoy-icon img{object-fit:contain;filter:brightness(.8)sepia()saturate(6)hue-rotate(148deg);opacity:1;width:100%;height:100%;display:block}.hud-team.red .convoy-icon img{filter:brightness(.8)sepia()saturate(6)hue-rotate(325deg)}.convoy-icon.dead img,.hud-team.red .convoy-icon.dead img{filter:brightness(0);opacity:.85}.convoy-icon.dead:after{content:"";background:#766659;width:50%;height:1px;position:absolute;top:45%;left:24%;transform:rotate(-30deg)}.battle-actions{gap:9px;display:flex;position:absolute;top:16px;right:20px}.hud-icon-button{border-width:11px;color:#f8bb76;border-image-source:url(/games/dustrig/ui/panel.webp);border-image-slice:16% fill;border-image-width:11px;width:48px;height:48px;min-height:0;padding:0}.hud-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.driver-speed{text-shadow:0 2px 8px #0009;position:absolute;bottom:27px;left:28px}.driver-speed strong{font:600 56px/.9 Outfit,Noto Sans TC,sans-serif}.driver-speed small{letter-spacing:.2em;color:#d8c7b0;margin-top:6px;font:600 10px Outfit,Noto Sans TC,sans-serif;display:block}.game-dialog{width:640px}.help-content{color:#d6ccbc;font-size:12px;line-height:1.7}.help-content h3{color:#f0bb79;margin:10px 0 7px;font-size:15px}.help-content dl{grid-template-columns:130px 1fr;gap:6px 14px;margin:0;display:grid}.help-content dt{color:#fff1d9;font-weight:600}.help-content dd{margin:0}.help-content section{margin-bottom:18px}.help-content p{margin:7px 0}.modal-resume{width:100%;margin-top:18px;display:block}.settings-fields{grid-template-columns:1fr;gap:14px;min-width:260px;display:grid}.settings-fields label{font-size:13px}.settings-fields output{float:right;color:#f5c68a}.settings-fields input[type=range]{accent-color:#dd984e;padding:0}.check-setting{align-items:center;gap:9px;display:flex}.check-setting input{width:18px}.round-result{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-align:center;background:#100c09bb;place-content:center;display:grid;position:absolute;inset:0}.round-result .nine-panel{min-width:320px;padding:25px 40px}.round-result h1{color:#ffe6c0;margin:10px 0;font-size:33px}.round-result p{color:#c8b393;font-size:13px}.round-result .metal-btn{width:100%;margin-top:15px}.round-score{color:#dcd4c5;letter-spacing:.2em;font:700 46px Outfit,Noto Sans TC,sans-serif}@media (width<=700px){.battle-scoreboard{gap:5px;top:12px;left:43%}.hud-team{min-width:87px}.hud-team .victory-lamp{width:23px;height:23px}.hud-team .victory-lamps{gap:3px}.convoy-icon{width:25px;height:22px}.battle-clock{border-width:9px;border-image-width:9px;min-width:79px;padding:0 3px 2px}.battle-clock strong{font-size:22px}.battle-clock small{font-size:8px}.battle-actions{flex-direction:column;gap:5px;top:10px;right:8px}.hud-icon-button{border-width:8px;border-image-width:8px;width:36px;height:36px}.hud-icon-button svg{width:20px;height:20px}.driver-speed{bottom:136px;left:22px}.driver-speed strong{font-size:36px}.game-dialog{width:calc(100vw - 24px)}.help-content dl{grid-template-columns:100px 1fr;gap:7px}.help-content{font-size:11px}.round-result .nine-panel{min-width:290px;padding:20px}.round-result h1{font-size:27px}}@media (pointer:coarse) and (width>=701px){.driver-speed{bottom:130px}.driver-speed strong{font-size:36px}}@media (prefers-reduced-motion:reduce){button{transition:none!important}}.convoy-icon{background:var(--team);-webkit-mask:url(/games/dustrig/ui/hud-trailer.webp) 50%/contain no-repeat;mask:url(/games/dustrig/ui/hud-trailer.webp) 50%/contain no-repeat}.convoy-icon.head{-webkit-mask-image:url(/games/dustrig/ui/hud-head.webp);mask-image:url(/games/dustrig/ui/hud-head.webp)}.convoy-icon img{visibility:hidden}.convoy-icon.dead{background:#080808}.convoy-icon.dead:after{display:none}.reticle.ready #cooldown-arc{stroke:var(--ability-ready,#fff)}.reticle.ready i{background:var(--ability-ready,#fff)}.ability-disc.cooling img{opacity:.55}.hud-icon-button{justify-content:center;align-items:center;line-height:1;display:flex}.hud-icon-button svg{flex:none}.reticle{opacity:var(--ability-disabled-opacity,.4);border-color:#fff}.reticle.ready{opacity:1}.reticle #cooldown-arc,.reticle i{stroke:#fff;background:#fff}.ability-disc.cooling{background:var(--ability-disabled-fill,#fff6);border-color:var(--ability-disabled-fill,#fff6)}.settings-actions{gap:12px;margin-top:24px;display:grid}.settings-actions .main-action{width:100%;margin:0}.driver-speed{pointer-events:none!important}.game-dialog{overscroll-behavior:contain;touch-action:pan-y;overflow-x:hidden}.settings-fields{min-width:0}.settings-fields select,.settings-fields input[type=range]{width:100%;min-width:0}.ability-disc.ability-charging .ability-sweep{width:var(--ability-charge,0%);background:#bfeaff;height:6px;inset:auto auto 0 0}.ability-disc.ability-charging .ability-count{color:#dcf4ff;font-size:19px}@media (width<=700px){.battle-scoreboard{justify-content:center;gap:4px;left:8px;right:64px;transform:none}.hud-team{flex:1;min-width:0}.convoy-icons{width:100%;max-width:100%}.convoy-icon{flex:0 22px;min-width:0}.battle-clock{min-width:64px;padding-left:0;padding-right:0}.battle-actions{gap:4px;top:8px;right:8px}.hud-icon-button{width:44px;height:44px}.help-content dl{grid-template-columns:minmax(75px,100px) minmax(0,1fr)}.help-content dd{overflow-wrap:anywhere}.round-result .nine-panel{min-width:0;max-width:calc(100vw - 24px)}}
