html,body{margin:0;height:100%;background:#0d1018;overflow:hidden;touch-action:none;user-select:none}#gops{position:fixed;inset:0}#gops canvas{display:block}.hud{position:absolute;inset:0;pointer-events:none;font-family:PT Sans,sans-serif;color:#fff}.hud>*{pointer-events:auto}.hud-timer{position:absolute;left:16px;bottom:16px;min-width:64px;padding:6px 12px;border-radius:10px;background:#0000008c;font:700 34px Russo One,sans-serif;text-align:center}.hud-timer:empty{display:none}.hud-timer.retreat{color:#ffd166}.hud-timer.hurry{color:#ff5a5a}.hud-wind{position:absolute;right:16px;bottom:20px;width:180px;height:14px;border-radius:7px;background:#0000008c;border:2px solid rgba(255,255,255,.25);display:flex;justify-content:center}.hud-wind-l,.hud-wind-r{height:100%;transition:width .3s}.hud-wind-l{background:linear-gradient(90deg,#5aa9e6,#a8dadc);margin-left:auto;border-radius:7px 0 0 7px}.hud-wind-r{background:linear-gradient(90deg,#a8dadc,#5aa9e6);margin-right:auto;border-radius:0 7px 7px 0}.hud-teams{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;flex-direction:column;gap:3px;width:min(360px,50vw)}.hud-team{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;text-shadow:0 1px 2px #000;opacity:.8}.hud-team.on{opacity:1}.hud-team span{width:96px;text-align:right}.hud-team i{display:block;height:9px;border-radius:4px;border:1px solid rgba(0,0,0,.6);transition:width .5s}.hud-weapon{position:absolute;right:16px;top:16px;padding:8px 14px;border-radius:10px;background:#0000008c;font-weight:700;cursor:pointer}.hud-menu{position:absolute;right:16px;top:60px;display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:6px;padding:10px;border-radius:12px;background:#0f121ceb;border:1px solid rgba(255,255,255,.15)}.hud-menu[hidden]{display:none}.hud-wpn{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fff;font:600 14px PT Sans,sans-serif;cursor:pointer}.hud-wpn.on{border-color:#ffd166}.hud-wpn:disabled{opacity:.35;cursor:default}.hud-wpn b{color:#ffd166}.hud-banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);padding:18px 32px;border-radius:16px;background:#000000b3;font:700 clamp(22px,4vw,44px) "Russo One",sans-serif;text-align:center}.hud-banner[hidden]{display:none}.hud-pad{position:absolute;bottom:70px;display:none;gap:10px;align-items:center}.hud-pad button{width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:#00000073;color:#fff;font:700 22px PT Sans,sans-serif;touch-action:none}.hud-pad.l{left:16px;align-items:flex-end}.hud-pad-col{display:flex;flex-direction:column;gap:10px}.hud-pad.r{right:16px}.hud-pad .fire{width:84px;height:84px;background:#d6282899}@media(pointer:coarse){.hud-pad{display:flex}}@media(pointer:coarse){.hud-timer{bottom:auto;top:12px;left:12px;font-size:26px}.hud-wind{bottom:auto;top:60px;right:12px;width:130px}.hud-weapon{top:12px;right:12px}.hud-menu{grid-template-columns:repeat(3,1fr);left:12px;right:12px;top:56px}.hud-wpn{padding:14px 10px;font-size:15px}}@media(pointer:coarse)and (max-height:420px){.hud-pad{bottom:52px;gap:8px}.hud-pad button{width:50px;height:50px;font-size:18px}.hud-pad-col{gap:8px}.hud-pad .fire{width:68px;height:68px}.hud-teams{bottom:8px}}.hud-goal{position:absolute;left:50%;top:14px;transform:translate(-50%);max-width:60vw;padding:6px 14px;border-radius:10px;background:#0000008c;font-weight:700;text-align:center}.hud-goal:empty{display:none}@media(pointer:coarse){.hud-goal{top:52px;font-size:14px}}.hud-who{position:absolute;left:50%;top:22%;transform:translate(-50%);padding:10px 26px;border-radius:14px;background:#0009;font:400 clamp(22px,4vw,40px) "Russo One",sans-serif;text-shadow:0 2px 0 #000;pointer-events:none}.hud-who[hidden]{display:none}.hud-wpn img,.hud-wpn i{width:34px;height:34px;flex:none;border-radius:8px;object-fit:contain;background:radial-gradient(circle,#ffffff8c,#ffffff1f 70%)}.hud-wpn span{flex:1;text-align:left}.hud-weapon{display:flex;align-items:center;gap:8px}.hud-weapon img{width:30px;height:30px;object-fit:contain;border-radius:6px;background:#ffffff59}.hud-menu{max-height:calc(100vh - 90px);overflow-y:auto;overscroll-behavior:contain}@media(min-width:1000px)and (pointer:fine){.hud-menu{grid-template-columns:repeat(3,minmax(170px,1fr))}}@media(pointer:coarse)and (max-width:480px){.hud-pad{gap:8px}.hud-pad.l{left:10px}.hud-pad.r{right:10px}.hud-pad button{width:52px;height:52px;font-size:18px}.hud-pad-col{gap:8px}.hud-pad .fire{width:68px;height:68px}.hud-who{white-space:nowrap;font-size:22px}}.hud-hint{position:absolute;left:50%;bottom:74px;transform:translate(-50%);max-width:min(640px,86vw);padding:8px 14px;border-radius:10px;background:#0000009e;font-size:16px;text-align:center;pointer-events:none;transition:opacity 1s}.hud-hint.gone{opacity:0}@media(pointer:coarse){.hud-hint{bottom:auto;top:96px;font-size:14px}}.hud-handoff{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#080a10b8;z-index:5}.hud-handoff-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 32px;border-radius:18px;background:#000000a6;text-align:center;max-width:calc(100vw - 32px)}.hud-handoff-tip{font-size:16px;opacity:.8}.hud-handoff-name{font:400 clamp(26px,5vw,48px) "Russo One",sans-serif;text-shadow:0 2px 0 #000}.hud-handoff-go{padding:12px 34px;border:0;border-radius:12px;background:#2a9d8f;color:#fff;font:700 22px PT Sans,sans-serif;cursor:pointer}.hud-bar{position:absolute;left:16px;top:16px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;max-width:280px}.hud-tool{width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#0000008c;color:#fff;font:700 18px PT Sans,sans-serif;cursor:pointer;padding:0;line-height:1}.hud-tool:hover,.hud-bar.keys .hud-tool.help{background:#fff3}.hud-tool.off{opacity:.55;text-decoration:line-through}.hud-tool.help{display:none}@media(pointer:fine){.hud-tool.help{display:block}}.hud-keys{display:none;flex-basis:100%;flex-direction:column;gap:3px;padding:8px 12px;border-radius:10px;background:#0009;font-size:13px;line-height:1.35;cursor:pointer;user-select:none;max-width:260px}.hud-bar.keys .hud-keys{display:flex}.hud-keys b{font-size:13px;opacity:.85}.hud-keys kbd{display:inline-block;min-width:18px;padding:0 5px;margin-right:3px;border-radius:4px;background:#ffffff29;border:1px solid rgba(255,255,255,.25);font:600 12px PT Sans,sans-serif;text-align:center}@media(pointer:coarse){.hud-bar{left:100px;top:12px}}.hud-pause{position:absolute;inset:0;display:grid;place-items:center;background:#05080e99;z-index:5}.hud-pause-card{display:flex;flex-direction:column;gap:10px;min-width:260px;padding:22px 26px;border-radius:16px;background:#0f121cf2;border:1px solid rgba(255,255,255,.15)}.hud-pause-head{font:400 30px Russo One,sans-serif;text-align:center;margin-bottom:4px}.hud-pause-note{font-size:14px;opacity:.75;text-align:center}.hud-pause-btn{padding:12px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff12;color:#fff;font:700 17px PT Sans,sans-serif;cursor:pointer}.hud-pause-btn:hover{background:#ffffff26}.hud-pause-btn.slot{text-align:left;font-weight:600;font-size:15px}.hud-pause-btn:disabled{opacity:.4;cursor:default}.hud-pause-card{max-width:min(92vw,420px)}.hud-pause-btn.go{background:#2a9d8f;border-color:#2a9d8f}.hud-pause-card{max-height:calc(100vh - 16px);overflow-y:auto;box-sizing:border-box}@media(max-height:500px){.hud-pause-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:min(560px,92vw);max-width:none;padding:14px 16px}.hud-pause-head,.hud-pause-note,.hud-pause-btn.slot{grid-column:1 / -1}.hud-pause-head{font-size:22px;margin:0}.hud-pause-btn{padding:9px 12px;font-size:15px}}.talk{position:absolute;left:16px;top:60px;width:min(380px,60vw);display:flex;flex-direction:column;gap:6px;font-family:PT Sans,sans-serif;color:#fff;pointer-events:none;z-index:5}.talk>*{pointer-events:auto}.talk-log{display:flex;flex-direction:column;gap:3px;pointer-events:none}.talk-line{padding:3px 8px;border-radius:6px;background:#0000008c;font-size:15px;text-shadow:0 1px 1px #000;transition:opacity 1s;align-self:flex-start;max-width:100%;overflow-wrap:anywhere}.talk-line b{color:#ffd166}.talk-line.gone{opacity:0}.talk-input{padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#0a0c14eb;color:#fff;font:600 15px PT Sans,sans-serif}.talk-input[hidden]{display:none}.talk-bar{display:flex;align-items:center;gap:6px}.talk-bar button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#0000008c;font-size:18px;cursor:pointer}.talk-bar button[hidden]{display:none}.talk-bar button.on{border-color:#52b788;box-shadow:0 0 0 2px #52b78866}.talk-who{font-size:13px;text-shadow:0 1px 2px #000;opacity:.9}@media(pointer:coarse){.talk{top:96px;left:12px}}.gm{position:absolute;inset:0;z-index:10;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:18px;padding:max(24px,env(safe-area-inset-top)) 16px 32px;box-sizing:border-box;background:#0d1018 center / cover no-repeat;font-family:PT Sans,sans-serif;color:#f1ece2}.gm[hidden]{display:none}.gm-logo{margin-top:8vh;text-align:center;text-shadow:0 4px 0 #000,0 0 24px rgba(0,0,0,.8)}.gm-logo b{display:block;font:400 clamp(64px,14vw,150px)/.9 "Russo One",sans-serif;color:#ffd166;letter-spacing:.04em;-webkit-text-stroke:3px #3b2a1a}.gm-logo span{font:400 clamp(18px,3.4vw,32px) "Russo One",sans-serif;letter-spacing:.2em;text-transform:uppercase}.gm-col{display:flex;flex-direction:column;gap:10px;width:min(320px,100%);margin-top:3vh}.gm-foot{margin-top:auto;opacity:.6;font-size:13px}.gm-note{max-width:min(520px,100%);margin-top:3vh;padding:14px 18px;border-radius:12px;background:#0000008c;font-size:17px;line-height:1.45;text-align:center}.gm-btn{padding:12px 18px;border-radius:10px;border:2px solid rgba(255,255,255,.18);background:#141824d9;color:#f1ece2;font:700 17px PT Sans,sans-serif;cursor:pointer;transition:transform .08s,border-color .15s}.gm-btn:hover{border-color:#ffd166}.gm-btn:active{transform:translateY(1px)}.gm-btn.big{background:#c1121f;border-color:#ff6b6b;font:400 22px Russo One,sans-serif}.gm-head{display:flex;align-items:center;gap:14px;width:min(900px,100%)}.gm-head h2{margin:0;flex:1;font:400 clamp(22px,4vw,34px) "Russo One",sans-serif;text-shadow:0 2px 0 #000}.gm-total{color:#ffd166;font-weight:700}.gm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;width:min(900px,100%)}.gm-chapter{grid-column:1 / -1;margin:14px 0 2px;font:400 18px Russo One,sans-serif;color:#ffd166;text-shadow:0 2px 0 #000}.gm-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0f121cdb;color:#f1ece2;font:600 15px PT Sans,sans-serif;text-align:left;cursor:pointer}.gm-card:hover{border-color:#ffd166}.gm-card i{font:400 15px Russo One,sans-serif;font-style:normal;color:#8d99ae;min-width:22px}.gm-card span{flex:1}.gm-card em{font-style:normal;color:#ffd166;letter-spacing:1px}.gm-card.locked{opacity:.45;cursor:default}.gm-brief{width:min(640px,100%);margin:auto 0;padding:22px 24px;border-radius:16px;background:#0c0e16e6;border:1px solid rgba(255,255,255,.14);box-sizing:border-box}.gm-brief h2{margin:0 0 10px;font:400 clamp(24px,4.5vw,36px) "Russo One",sans-serif;color:#ffd166}.gm-brief p{margin:0 0 12px;font-size:17px;line-height:1.45}.gm-new{color:#a8dadc;font-weight:700}.gm-arsenal{font-size:15px!important;opacity:.85}.gm-tip{font-style:italic;opacity:.85}.gm-stars{margin:0 0 12px;padding:0;list-style:none}.gm-stars li{padding:2px 0}.gm-stars li:first-letter{color:#ffd166}.gm-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:8px}.gm-result{text-align:center}.gm-result h2.win{color:#ffd166}.gm-result h2.lose{color:#ff6b6b}.gm-result .gm-row{justify-content:center}.gm-big-stars{font-size:52px;color:#ffd166;letter-spacing:6px;text-shadow:0 3px 0 #000;margin-bottom:8px}.gm-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}.gm-skip{position:absolute;right:16px;bottom:16px;opacity:.6;font-size:14px}.gm-video-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;font:400 clamp(22px,4vw,40px) "Russo One",sans-serif;color:#ffd166;text-shadow:0 3px 0 #000;background:#00000059}.gm-video-end{position:absolute;left:0;right:0;bottom:8%;display:flex;gap:14px;justify-content:center}.gm-quick{width:min(760px,100%)}.gm-sides{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.gm-side{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:8px 10px;border-radius:10px;background:#ffffff0d;border-left:5px solid #fff}.gm-scheme{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.gm-field{display:flex;flex-direction:column;gap:3px;font-size:13px;opacity:.95}.gm-field select{padding:7px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#161a26;color:#f1ece2;font:600 15px PT Sans,sans-serif;min-width:120px}.gm-btn.small{padding:7px 12px;font-size:14px}.gm-input{padding:9px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#161a26;color:#f1ece2;font:600 17px PT Sans,sans-serif}.gm-input.code{width:150px;font:400 24px Russo One,sans-serif;letter-spacing:.15em;text-align:center}.gm-code{font:400 clamp(40px,9vw,72px) "Russo One",sans-serif;letter-spacing:.18em;color:#ffd166;text-align:center;text-shadow:0 3px 0 #000}.gm-side-name{min-width:150px}.gm-side{align-items:center}.gm-error{color:#ff6b6b;font-weight:700}.gm-btn:disabled{opacity:.5;cursor:default}.gm-top{display:flex;flex-direction:column;gap:3px;font-size:16px}.gm-top-row{padding:3px 8px;border-radius:6px;background:#ffffff0d}.gm-top-row.me{color:#ffd166;font-weight:700}.gm-music{position:absolute;right:16px;bottom:16px;font-size:14px!important;padding:8px 14px!important}.gm-music.off{opacity:.6}.gm-caption{position:absolute;left:0;right:0;bottom:14%;text-align:center;font:400 clamp(30px,6vw,64px) "Russo One",sans-serif;color:#ffd166;text-shadow:0 3px 0 #000,0 0 30px rgba(0,0,0,.9);letter-spacing:.06em;pointer-events:none;animation:gm-caption 2.4s ease-out both}@keyframes gm-caption{0%{opacity:0;transform:translateY(12px)}40%{opacity:0}to{opacity:1;transform:none}}.gm-card{flex-wrap:wrap}.gm-card .gm-thumb{flex-basis:100%;width:100%;aspect-ratio:640 / 235;object-fit:cover;border-radius:6px;margin-bottom:2px}.gm-brief .gm-thumb{display:block;width:100%;aspect-ratio:640 / 235;object-fit:cover;border-radius:10px;margin-bottom:12px}@media(max-height:500px){.gm{padding-top:12px;gap:10px}.gm-logo{margin-top:0}.gm-logo b{font-size:54px}.gm-logo span{font-size:15px}.gm-col{display:grid;grid-template-columns:1fr 1fr;width:min(560px,100%);gap:8px;margin-top:0}.gm-col .gm-btn{padding:8px 12px;font-size:15px}.gm-col .gm-btn.big{grid-column:1 / -1;font-size:18px}.gm-music{position:static}}
