*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}body{font-family:Space Mono,monospace;background:radial-gradient(circle at 50% 50%,#0a081633,#020208a6),url(/background.png) center center / cover no-repeat fixed;color:#d9ffe7;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit}input,textarea{user-select:text;-webkit-user-select:text}.lab-root{width:100%;height:100%;display:grid;grid-template-columns:260px 1fr;grid-template-rows:58px 1fr;gap:10px;padding:10px}.bar{grid-column:1 / span 2;display:flex;align-items:center;justify-content:space-between;border:1px solid #27513d;border-radius:10px;padding:0 10px;background:#0f2219}.row{display:flex;gap:8px;flex-wrap:wrap}button{border:1px solid #27513d;background:#12241b;color:#d9ffe7;border-radius:8px;padding:6px 10px}.bar .row button{min-height:38px;padding:8px 14px;font-size:13px;font-weight:700}button.active{border-color:#31ff87;background:#1a402d;box-shadow:0 0 12px #31ff873d}.left{border:1px solid #27513d;border-radius:10px;padding:10px;background:#0b1712;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto}.left h4{margin:8px 0 4px}.sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px}.shape-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shape-grid button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:84px}.shape-grid small{font-size:10px;text-align:center;line-height:1.2;color:#bde8ce}.stage{position:relative;border:1px solid #2f6146;border-radius:10px;overflow:hidden;background:transparent;touch-action:none}.stage>svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:visible}.game-root{width:100%;height:100%;display:grid;place-items:center;background:transparent}.orientation-guard{display:none}.orientation-guard-frame{width:min(330px,calc(100vw - 40px));display:grid;justify-items:center;gap:12px;padding:28px 22px;border-top:2px solid rgba(53,238,255,.96);border-left:1px solid rgba(53,238,255,.5);border-right:1px solid rgba(53,238,255,.34);background:linear-gradient(135deg,#00121aeb,#000000bd),linear-gradient(90deg,rgba(53,238,255,.12),transparent 58%);clip-path:polygon(16px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 16px);box-shadow:0 0 28px #35eeff5c,0 0 80px #b14bff33,inset 0 0 30px #35eeff14}.orientation-guard-device{width:72px;height:116px;display:grid;place-items:center;border:3px solid #d9ffff;border-radius:14px;box-shadow:0 0 12px #fffc,0 0 24px #35eeff7a;animation:rotateDeviceHint 2.6s ease-in-out infinite}.orientation-guard-device span{width:34px;height:4px;border-radius:999px;background:#86f5ff;box-shadow:0 0 12px #86f5ffe6}.orientation-guard strong{color:#fff;font-size:25px;line-height:1;text-shadow:0 0 10px rgba(255,255,255,.85),0 0 26px rgba(53,238,255,.5)}.orientation-guard p{margin:0;color:#9dffff;font-size:13px;font-weight:900;text-transform:uppercase;text-shadow:0 0 10px rgba(53,238,255,.62)}@keyframes rotateDeviceHint{0%,22%{transform:rotate(0)}48%,to{transform:rotate(90deg)}}@media(orientation:portrait){.orientation-guard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000000000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 34%,rgba(177,75,255,.24),transparent 34%),#000000d6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto}}.settings-node{position:fixed;right:clamp(14px,2vw,30px);top:clamp(14px,2vw,28px);z-index:2100000000;display:grid;justify-items:end;gap:10px;color:#d9ffff;filter:drop-shadow(0 0 8px rgba(53,238,255,.5)) drop-shadow(0 0 20px rgba(177,75,255,.25))}.settings-gear{width:clamp(42px,4vw,56px);aspect-ratio:1;display:grid;place-items:center;padding:0;border:1px solid rgba(53,238,255,.9);border-radius:50%;background:#000a126b;box-shadow:0 0 14px #35eeff59,inset 0 0 16px #35eeff29;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.settings-gear svg{width:68%;height:68%;fill:none;stroke:#d9ffff;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 7px rgba(53,238,255,.9));transition:transform .42s cubic-bezier(.2,.8,.2,1)}.settings-gear-shape{fill:#35eeff0a}.settings-gear-core{fill:#000a129e}.settings-node.open .settings-gear{background:#001218b8;box-shadow:0 0 18px #35eeff9e,0 0 34px #b14bff47,inset 0 0 18px #35eeff38}.settings-node.open .settings-gear svg{transform:rotate(95deg)}.settings-panel{width:min(270px,calc(100vw - 28px));display:grid;gap:8px;padding:10px;opacity:0;transform:translateY(-12px) scaleY(.82);transform-origin:top right;pointer-events:none;border-top:1px solid rgba(53,238,255,.88);border-right:1px solid rgba(53,238,255,.42);background:linear-gradient(135deg,#00161ed1,#00000075),linear-gradient(90deg,rgba(53,238,255,.16),transparent 42%);clip-path:polygon(12px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 12px);box-shadow:0 0 20px #35eeff3d,inset 0 0 22px #35eeff17;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.settings-node.open .settings-panel{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}.settings-item{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(53,238,255,.42);border-radius:0;background:#00000047;color:#d9ffff;font-size:13px;font-weight:900;text-align:left;text-transform:uppercase;box-shadow:inset 0 0 14px #35eeff0f;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.settings-item:hover,.settings-item.active{border-color:#9dff84d1;color:#fff;background:#1cffa01f;box-shadow:0 0 12px #35eeff3d,inset 0 0 16px #9dff841f}.settings-item em{color:#9dff84;font-style:normal;font-size:12px;text-shadow:0 0 8px rgba(121,255,86,.74)}.display-shell{width:min(1920px,calc((100vh - 24px) * (16 / 9)),calc(100vw - 24px));aspect-ratio:16 / 9;max-height:calc(100vh - 24px);border-radius:0;overflow:visible;box-shadow:none}@supports (height: 100dvh){.display-shell{width:min(1920px,calc((100dvh - 24px) * (16 / 9)),calc(100vw - 24px));max-height:calc(100dvh - 24px)}}@media(orientation:landscape)and (max-height:540px){.game-root{align-items:center;justify-items:center}.display-shell{width:min(100vw,calc(100vh * (16 / 9)));max-height:100vh}.settings-node{right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));gap:6px}.settings-gear{width:clamp(34px,7.8vh,44px)}.settings-panel{width:min(224px,calc(100vw - 18px));gap:5px;padding:7px}.settings-item{min-height:32px;font-size:11px}}@supports (height: 100dvh){@media(orientation:landscape)and (max-height:540px){.display-shell{width:min(100vw,calc(100dvh * (16 / 9)));max-height:100dvh}}}.game-root .stage{width:100%;height:100%;border-radius:0;border:none;overflow:visible}.info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200000000;display:grid;place-items:center;padding:clamp(16px,4vw,44px);background:radial-gradient(circle at 52% 38%,rgba(177,75,255,.18),transparent 34%),#0000008a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.info-modal{width:min(980px,94vw);max-height:min(760px,88vh);display:grid;grid-template-rows:auto 1fr;border-top:2px solid rgba(53,238,255,.95);border-left:1px solid rgba(53,238,255,.44);border-right:1px solid rgba(53,238,255,.34);background:linear-gradient(135deg,#00121af0,#000000d1),linear-gradient(90deg,rgba(53,238,255,.12),transparent 52%);color:#d9ffff;clip-path:polygon(18px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 18px);box-shadow:0 0 32px #35eeff59,0 0 80px #b14bff2e,inset 0 0 34px #35eeff14}.info-modal-header{min-height:74px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"kicker close" "title close";align-items:center;gap:2px 18px;padding:18px clamp(18px,3vw,34px) 14px;border-bottom:1px solid rgba(53,238,255,.42)}.info-modal-header span{grid-area:kicker;color:#9dffff;font-size:13px;font-weight:900}.info-modal-header strong{grid-area:title;color:#fff;font-size:clamp(28px,4vw,54px);line-height:1;text-shadow:0 0 12px rgba(255,255,255,.82),0 0 30px rgba(53,238,255,.48)}.info-modal-header button{grid-area:close;width:44px;aspect-ratio:1;display:grid;place-items:center;padding:0;border-radius:50%;border-color:#35eeffd1;background:#0000006b;color:#d9ffff;font-size:30px;line-height:1}.info-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:clamp(16px,2.4vw,28px);overflow:auto;scrollbar-color:rgba(53,238,255,.72) rgba(0,0,0,.32);scrollbar-width:thin}.info-modal-grid::-webkit-scrollbar{width:8px}.info-modal-grid::-webkit-scrollbar-track{background:#00000052}.info-modal-grid::-webkit-scrollbar-thumb{background:#35eeffb8;box-shadow:0 0 10px #35eeff94}.info-modal article{min-height:178px;padding:16px;border:1px solid rgba(53,238,255,.26);background:#00000038;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);box-shadow:inset 0 0 18px #35eeff0f}.info-modal h3{margin:0 0 10px;color:#fff;font-size:18px;text-shadow:0 0 10px rgba(53,238,255,.58)}.info-modal p,.info-modal li,.info-modal dd{color:#caffff;font-size:13px;line-height:1.45}.info-modal p{margin:0 0 10px}.info-modal ul{margin:0;padding-left:18px}.info-modal b,.info-modal dt{color:#9dff84}.info-modal dl{display:grid;gap:4px;margin:0}.info-modal dt{font-size:13px;font-weight:900}.info-modal dd{margin:0 0 8px}.lobby-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000000000;padding:clamp(18px,4vw,64px);background:linear-gradient(90deg,#0000006b,#00000014),url(/lobby.png) center center / cover no-repeat;overflow:hidden}.lobby-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at 52% 44%,rgba(232,94,255,.16),transparent 28%),radial-gradient(circle at 73% 28%,rgba(72,229,255,.12),transparent 24%),linear-gradient(180deg,#0000001f,#00000085);pointer-events:none}.lobby-artboard{position:absolute;left:50%;top:50%;z-index:1;width:max(100vw,177.68vh);height:max(100vh,calc(100vw / 1.7768));transform:translate(-50%,-50%);display:grid;place-items:center}.lobby-orbit{position:absolute;width:min(74vw,980px);aspect-ratio:1;border:1px solid rgba(66,238,255,.26);border-radius:50%;box-shadow:0 0 38px #42eeff29,inset 0 0 42px #c646ff29;animation:lobbyOrbit 28s linear infinite}.lobby-panel{position:relative;z-index:1;width:min(1120px,94vw);min-height:min(500px,70vh);display:grid;grid-template-columns:minmax(320px,1fr);grid-template-rows:1fr auto;column-gap:clamp(18px,4vw,54px);align-items:center;color:#d9ffff;transform:translateY(clamp(116px,16vh,168px));filter:drop-shadow(0 0 6px rgba(38,231,255,.72)) drop-shadow(0 0 18px rgba(122,50,255,.42))}.lobby-mark{position:absolute;left:51%;top:35%;z-index:3;display:grid;place-items:center;transform:translate(-50%,-50%);pointer-events:none}.lobby-mark span{color:#fff;font-size:clamp(22px,2.5vw,42px);font-weight:900;line-height:1;text-shadow:0 0 8px rgba(255,255,255,.98),0 0 18px rgba(53,238,255,.86),0 0 34px rgba(177,75,255,.58)}.lobby-copy{justify-self:center;width:min(760px,100%);max-width:720px}.lobby-kicker{font-size:clamp(13px,1.1vw,18px);color:#9dffff;margin-bottom:8px}.lobby-copy h1{margin:0 0 clamp(18px,2.4vw,34px);font-family:Space Mono,monospace;font-size:clamp(38px,5.7vw,88px);line-height:.95;letter-spacing:0;color:#02030a;text-shadow:0 0 8px rgba(255,255,255,.92),0 0 18px rgba(255,255,255,.62),0 0 36px rgba(53,238,255,.42)}.lobby-field{display:grid;gap:7px;margin-bottom:clamp(16px,2vw,28px)}.lobby-field span,.lobby-mode small{color:#baffff;font-size:12px}.lobby-field input,.lobby-mode select{width:min(390px,100%);border:1px solid rgba(53,238,255,.82);border-radius:0;background:#0000008a;color:#fff;padding:12px 14px;outline:none;box-shadow:inset 0 0 16px #35eeff21,0 0 14px #35eeff3d}.lobby-profile-list{width:min(390px,100%);display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 clamp(14px,1.6vw,22px)}.lobby-profile-list button{min-height:30px;padding:5px 10px;border:1px solid rgba(53,238,255,.44);border-radius:0;background:#00000057;color:#baffff;font-size:11px;font-weight:900;text-transform:uppercase;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.lobby-profile-list button.active{border-color:#9dff84db;color:#fff;background:#1cffa021}.lobby-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,22px)}.lobby-mode{display:grid;align-content:start;gap:12px;min-height:178px;padding:16px;border:none;background:transparent;box-shadow:none}.lobby-mode strong{display:block;color:#fff;font-size:clamp(18px,1.6vw,25px);margin-bottom:3px}.lobby-mode button{min-height:42px;border-color:#35eefff2;color:#071015;background:linear-gradient(90deg,#35eeff,#d8ffff);font-weight:900;box-shadow:0 0 14px #35eeff94,0 0 28px #b14bff47}.faststar-picker{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:min(980px,92vw);max-height:88vh;min-height:min(640px,82vh);display:grid;grid-template-rows:auto 1fr auto;gap:clamp(14px,2vw,24px);padding:clamp(18px,3vw,38px);border:1px solid rgba(53,238,255,.86);background:#000000b8;color:#d9ffff;box-shadow:0 0 26px #35eeff6b,0 0 70px #b14bff3d,inset 0 0 36px #35eeff1f;overflow:hidden}.faststar-title{display:flex;align-items:baseline;justify-content:space-between;gap:18px;border-bottom:2px solid rgba(53,238,255,.78);padding-bottom:10px}.faststar-title span{font-size:clamp(18px,1.8vw,28px);color:#9dffff}.faststar-title strong{color:#fff;font-size:clamp(34px,5vw,78px);line-height:1;text-shadow:0 0 12px rgba(255,255,255,.92),0 0 34px rgba(53,238,255,.62)}.faststar-close{position:absolute;right:14px;top:12px;z-index:2;width:42px;aspect-ratio:1;display:grid;place-items:center;padding:0;border-color:#35eeffd1;border-radius:50%;color:#d9ffff;background:#00000080;font-size:28px}.faststar-preview-wrap{position:relative;display:grid;place-items:center;min-height:360px}.faststar-preview-map{width:100%;height:min(52vh,470px);overflow:visible}.faststar-preview-map path{stroke-width:12;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 10px rgba(53,238,255,.72)) drop-shadow(0 0 18px rgba(53,238,255,.36))}.faststar-preview-map .spawn{fill:#fff;stroke:#d9ffff;stroke-width:16;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 12px rgba(255,255,255,.9))}.faststar-preview-map .pin-dot{fill:#baff8b;stroke:#fff;stroke-width:16;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 14px rgba(186,255,139,.9))}.faststar-arrow{position:absolute;top:50%;z-index:1;width:clamp(54px,6vw,86px);aspect-ratio:1;padding:0;border-radius:50%;border-color:#35eeffe6;background:#00000080;color:#fff;font-size:clamp(42px,6vw,76px);line-height:1;transform:translateY(-50%);box-shadow:0 0 18px #35eeff57}.faststar-arrow.left{left:0}.faststar-arrow.right{right:0}.faststar-select{justify-self:center;min-width:min(360px,86vw);min-height:54px;border-color:#35eefff2;color:#071015;background:linear-gradient(90deg,#35eeff,#d8ffff);font-size:clamp(18px,1.7vw,26px);font-weight:900;box-shadow:0 0 14px #35eeff94,0 0 28px #b14bff47}@keyframes lobbyOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:780px){.lobby-panel{grid-template-columns:1fr;min-height:auto}.lobby-mark{width:112px;margin-bottom:18px}.lobby-mode-grid,.info-modal-grid{grid-template-columns:1fr}.info-modal{max-height:90vh}.faststar-picker{min-height:70vh}}@media(orientation:landscape)and (max-height:540px){.lobby-screen{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.lobby-panel{width:min(720px,74vw);min-height:auto;transform:translate(8vw,12vh)}.lobby-mark{top:30%}.lobby-mark span{font-size:clamp(20px,7vh,32px)}.lobby-kicker{font-size:clamp(10px,2.8vh,14px);margin-bottom:3px}.lobby-copy{max-width:620px}.lobby-copy h1{margin-bottom:clamp(10px,2.7vh,16px);font-size:clamp(34px,13.5vh,64px)}.lobby-field{gap:3px;margin-bottom:clamp(8px,2.4vh,14px)}.lobby-field input,.lobby-mode select{min-height:34px;padding:8px 10px;font-size:13px}.lobby-profile-list{gap:5px;margin:-6px 0 8px}.lobby-profile-list button{min-height:24px;padding:3px 8px;font-size:10px}.lobby-mode-grid{gap:12px}.lobby-mode{min-height:112px;padding:12px}.lobby-mode strong{font-size:clamp(16px,5vh,22px)}.lobby-mode small{font-size:10px}.lobby-mode button{min-height:34px;font-size:12px}}.layout-mask-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999999999}.layout-mask-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;opacity:.45;pointer-events:none}.layout-mask-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.layout-mask-path{fill:none;stroke:#9efffff2;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(134,245,255,.45))}.layout-mask-id{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#cfffff;border:1.5px solid #9effff;background:#000000ad;pointer-events:none}.player-info-hud{position:absolute;left:clamp(12px,1.8vw,32px);top:clamp(10px,1.6vw,28px);z-index:20;width:clamp(300px,28vw,520px);height:clamp(72px,7.5vw,122px);pointer-events:none;color:#d9ffff;filter:drop-shadow(0 0 4px rgba(38,231,255,.85)) drop-shadow(0 0 14px rgba(38,231,255,.45))}.player-info-orb{position:absolute;left:0;top:50%;width:clamp(70px,6.6vw,118px);aspect-ratio:1;transform:translateY(-50%);border:3px solid rgba(53,238,255,.95);border-radius:50%;background:repeating-linear-gradient(135deg,rgba(53,238,255,.7) 0 3px,transparent 3px 9px)}.player-info-orb:before{content:"";position:absolute;top:20%;right:20%;bottom:20%;left:20%;border-radius:50%;background:#000000c7;border:2px solid rgba(220,255,255,.95);box-shadow:inset 0 0 16px #35eeff40}.player-info-orb:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1px solid rgba(53,238,255,.45)}.player-info-orb-core{position:absolute;top:34%;right:34%;bottom:34%;left:34%;border-radius:50%;background:#000000b8;border:1px solid rgba(180,255,255,.82);box-shadow:0 0 12px #35eeff59,inset 0 0 12px #35eeff38}.player-info-hole-number{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:1;color:#fff;font-size:clamp(24px,2.8vw,48px);font-weight:900;line-height:1;text-shadow:0 0 7px rgba(255,255,255,.98),0 0 18px rgba(53,238,255,.85),0 0 30px rgba(53,238,255,.55)}.player-info-orb span{position:absolute;width:6px;height:6px;border-radius:50%;background:#35eeff;box-shadow:0 0 10px #35eeffe6}.player-info-orb span:nth-child(2){left:50%;top:-15px;transform:translate(-50%)}.player-info-orb span:nth-child(3){right:-15px;top:50%;transform:translateY(-50%)}.player-info-orb span:nth-child(4){left:50%;bottom:-15px;transform:translate(-50%)}.player-info-orb span:nth-child(5){left:-15px;top:50%;transform:translateY(-50%)}.player-info-lines{position:absolute;left:clamp(86px,8vw,138px);right:0;top:0;bottom:0}.player-info-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(53,238,255,.95),rgba(53,238,255,.95) 78%,transparent 78%)}.player-info-line:before{content:"";position:absolute;left:-28px;width:32px;height:32px;border-left:2px solid rgba(53,238,255,.95);border-top:2px solid rgba(53,238,255,.95)}.player-info-line:after{content:"";position:absolute;right:0;top:-4px;width:clamp(26px,3vw,48px);height:8px;background:#35eeffe6}.player-info-line.top{top:20%}.player-info-line.top:before{top:-1px;transform:skew(-38deg)}.player-info-line.bottom{bottom:20%;background:linear-gradient(90deg,rgba(53,238,255,.95),rgba(53,238,255,.95) 70%,transparent 70%)}.player-info-line.bottom:before{top:-31px;transform:scaleY(-1) skew(38deg)}.player-info-line.bottom:after{left:18px;right:auto;width:clamp(70px,8vw,130px);background:repeating-linear-gradient(60deg,rgba(53,238,255,.95) 0 22px,transparent 22px 42px)}.player-info-text{position:absolute;left:clamp(118px,11vw,188px);top:50%;width:calc(100% - clamp(130px,12vw,198px));transform:translateY(-50%);display:grid;gap:3px;text-shadow:0 0 6px rgba(53,238,255,.95),0 0 16px rgba(53,238,255,.55)}.player-info-name{font-size:clamp(12px,1vw,17px);font-weight:900;letter-spacing:0}.player-info-course{font-size:clamp(10px,.85vw,14px);color:#a8ffff;opacity:.9}.player-info-row{display:flex;align-items:center;gap:clamp(10px,1.4vw,24px);font-size:clamp(10px,.78vw,13px);color:#cfffff}.player-info-row strong{font-size:clamp(16px,1.65vw,28px);line-height:1;color:#fff}.player-info-state{font-size:clamp(9px,.72vw,12px);color:#b8ffdd}@media(orientation:landscape)and (max-height:540px){.player-info-hud{left:max(7px,env(safe-area-inset-left));top:max(5px,env(safe-area-inset-top));width:clamp(210px,27vw,300px);height:clamp(48px,13vh,70px)}.player-info-orb{width:clamp(46px,11vh,66px);border-width:2px}.player-info-orb:after{top:-4px;right:-4px;bottom:-4px;left:-4px}.player-info-orb span{width:4px;height:4px}.player-info-orb span:nth-child(2){top:-9px}.player-info-orb span:nth-child(3){right:-9px}.player-info-orb span:nth-child(4){bottom:-9px}.player-info-orb span:nth-child(5){left:-9px}.player-info-hole-number{font-size:clamp(20px,6.4vh,31px)}.player-info-lines{left:clamp(56px,7vw,78px)}.player-info-line:before{left:-18px;width:22px;height:22px}.player-info-line.bottom:before{top:-21px}.player-info-line:after{width:24px;height:5px}.player-info-line.bottom:after{left:12px;width:52px}.player-info-text{left:clamp(76px,9vw,104px);width:calc(100% - clamp(84px,10vw,112px));gap:1px}.player-info-name{font-size:clamp(10px,2.5vh,13px)}.player-info-course,.player-info-row{font-size:clamp(8px,2.15vh,11px)}.player-info-row strong{font-size:clamp(13px,4.1vh,20px)}}.layout-mask-card{position:absolute;object-fit:cover;border-radius:8px;box-shadow:0 6px 18px #00000073;pointer-events:auto;cursor:pointer;transform-origin:center;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease;will-change:transform}.layout-mask-card-wrap{position:absolute;pointer-events:auto;transform-origin:center;transition:transform .2s ease,box-shadow .2s ease;will-change:transform}.layout-mask-card-wrap .layout-mask-card{top:0;right:0;bottom:0;left:0}.card-idle-wrap{--card-float: 3px;--card-rot: 1deg;--card-scale-max: 1.018;--card-hover-y: 0px;--card-hover-scale: 1}.card-idle-wrap .layout-mask-card{animation:premiumCardFloat var(--card-duration, 8s) cubic-bezier(.45,0,.25,1) infinite;animation-delay:var(--card-delay, 0s)}.card-idle-wrap.special-card-idle{--card-float: 4px;--card-rot: 1.35deg;--card-scale-max: 1.02}.card-idle-wrap:hover{--card-hover-y: -12px;--card-hover-scale: 1.05}.card-idle-wrap:hover .layout-mask-card{animation-duration:4.4s;box-shadow:0 0 16px #ffffff6b,0 0 28px #86f5ff5c,0 12px 24px #00000085}.card-idle-wrap.selected-card{--card-hover-y: -12px;--card-hover-scale: 1.04}.card-idle-wrap.selected-card .layout-mask-card{box-shadow:0 0 18px #ffffff9e,0 0 32px #86f5ff85,0 0 46px #b14bff47,0 12px 24px #0000008f}.card-idle-wrap.selected-card:after{content:"";position:absolute;top:-16%;right:-16%;bottom:-16%;left:-16%;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 4%,rgba(255,255,255,.9) 0 2px,transparent 3px),radial-gradient(circle at 96% 52%,rgba(134,245,255,.72) 0 2px,transparent 3px),radial-gradient(circle at 18% 88%,rgba(177,75,255,.6) 0 2px,transparent 3px);animation:selectedCardOrbit 2s ease-in-out infinite}.special-card-idle .layout-mask-card{overflow:hidden}.special-card-idle .layout-mask-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:8px;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.34) 48%,transparent 76%);transform:translate(-130%);animation:specialCardShimmer 9.5s ease-in-out infinite;animation-delay:var(--shimmer-delay, 0s)}.void-card-pulse{position:absolute;top:-7%;right:-7%;bottom:-7%;left:-7%;z-index:1;border-radius:12px;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(198,70,255,.2),transparent 68%);animation:voidCardPulse 7.6s ease-in-out infinite;animation-delay:var(--void-delay, 0s)}.layout-mask-card-wrap.haunted .layout-mask-card{box-shadow:0 0 14px #ff4646cc,0 0 24px #ff000080,0 8px 18px #00000080;filter:saturate(1.2)}.layout-mask-card-value{position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:2px 8px;border-radius:999px;border:1px solid rgba(158,255,255,.7);background:#0000009e;color:#d9ffe7;font-size:13px;font-weight:700;letter-spacing:.3px;text-shadow:0 0 6px rgba(134,245,255,.8);pointer-events:none}.layout-pile-stack{position:absolute;width:auto;height:auto;transform:translate(-50%,-50%);pointer-events:none;overflow:visible;transform-origin:center;will-change:transform}.layout-pile-stack.card-pile-idle{animation:premiumPileFloat 8.5s cubic-bezier(.45,0,.25,1) infinite;animation-delay:var(--card-delay, 0s)}.layout-pile-stack.deck-callout .layout-pile-card{animation:deckCardGlow 1.35s ease-in-out infinite}.layout-pile-stack.special-callout .layout-pile-card{animation-name:specialDeckCardGlow}.layout-drag-card{position:absolute;object-fit:cover;border-radius:8px;box-shadow:0 0 14px #9effff99,0 10px 24px #00000080;z-index:1000000000;pointer-events:none;transition:transform 70ms linear}.layout-pile-card{position:absolute;width:auto;height:auto;object-fit:none;filter:none}@keyframes premiumCardFloat{0%,to{transform:translateY(var(--card-hover-y)) rotate(calc(var(--card-rot) * -1)) scale(var(--card-hover-scale))}50%{transform:translateY(calc(var(--card-hover-y) - var(--card-float))) rotate(var(--card-rot)) scale(calc(var(--card-hover-scale) * var(--card-scale-max)))}}@keyframes premiumPileFloat{0%,to{transform:translate(-50%,-50%) scale(var(--pile-scale, 1)) translateY(0) rotate(calc(var(--pile-rotate, 0deg) - .5deg))}50%{transform:translate(-50%,-50%) scale(var(--pile-scale, 1)) translateY(-3px) rotate(calc(var(--pile-rotate, 0deg) + .5deg))}}@keyframes selectedCardOrbit{0%,to{opacity:0;transform:rotate(0) scale(.98)}35%{opacity:.75}70%{opacity:.24}to{transform:rotate(360deg) scale(1.02)}}@keyframes specialCardShimmer{0%,72%,to{opacity:0;transform:translate(-130%)}78%{opacity:.35}88%{opacity:0;transform:translate(130%)}}@keyframes voidCardPulse{0%,74%,to{opacity:0;transform:scale(.96)}82%{opacity:.75;transform:scale(1.04)}92%{opacity:0;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.card-idle-wrap .layout-mask-card,.layout-pile-stack.card-pile-idle,.card-idle-wrap.selected-card:after,.special-card-idle .layout-mask-card:before,.void-card-pulse{animation:none}}@keyframes deckCardGlow{0%,to{filter:brightness(1.08) drop-shadow(0 0 2px rgba(134,245,255,.18))}50%{filter:brightness(1.24) saturate(.94) drop-shadow(0 0 4px rgba(255,255,255,.42)) drop-shadow(0 0 8px rgba(134,245,255,.28))}}@keyframes specialDeckCardGlow{0%,to{filter:brightness(1.08) drop-shadow(0 0 2px rgba(75,255,100,.2))}50%{filter:brightness(1.2) saturate(1.08) drop-shadow(0 0 4px rgba(198,255,185,.42)) drop-shadow(0 0 8px rgba(75,255,100,.32))}}.bj-overlay{position:absolute;left:0;right:0;bottom:0;height:38%;pointer-events:none;z-index:30;padding:14px 24px 16px;display:flex;align-items:flex-end;justify-content:space-between}.swings-panel{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;font-family:Space Mono,monospace;display:grid;grid-template-rows:1fr;align-items:center;justify-items:center;gap:0;padding:0;border:none;border-radius:0;background:transparent;overflow:visible}.swing-lab{width:100%;min-height:196px;display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;gap:8px;touch-action:none}.swing-lab-dial{position:relative;width:198px;aspect-ratio:1;justify-self:center;border-radius:999px;cursor:pointer;touch-action:none;filter:drop-shadow(0 0 8px rgba(74,234,255,.65))}.swing-lab-bj-arc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.swing-lab-bj-arc span{position:absolute;left:50%;top:50%;width:4px;height:18px;border-radius:999px;transform-origin:50% 50%;background:#46edff29;border:1px solid rgba(134,245,255,.2)}.swing-lab-bj-arc span.filled{background:linear-gradient(180deg,#eaffff,#62f1ff 48%,#31bfff);border-color:#e6ffffe6;box-shadow:0 0 7px #4aeaffd9,0 0 14px #4aeaff73}.swing-lab-dial-ring{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:inherit;border:3px solid rgba(114,244,255,.9);box-shadow:inset 0 0 20px #4aeaff2e,0 0 18px #4aeaff5c}.swing-lab-dial-dots{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:inherit;background:repeating-conic-gradient(from -92deg,rgba(180,255,255,.9) 0deg 2deg,transparent 2deg 12deg);mask:radial-gradient(circle,transparent 48%,#000 51%,#000 58%,transparent 61%);clip-path:polygon(0 0,100% 0,100% 50%,0 50%);opacity:.82}.swing-lab-needle{position:absolute;left:50%;top:50%;width:41%;height:3px;transform-origin:0 50%;background:#dfffff;border-radius:999px;box-shadow:0 0 10px #86f5fff2}.swing-lab-hub{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:#eaffff;box-shadow:0 0 12px #86f5fff2}.swing-lab-dial.armed .swing-lab-dial-ring{border-color:#d7fffffa;box-shadow:inset 0 0 22px #4aeaff42,0 0 22px #4aeaff9e}.swing-lab-dial.locked{cursor:default}.swing-lab-dial.locked .swing-lab-dial-ring{border-color:#daffe2fa;box-shadow:inset 0 0 24px #80ffaa2e,0 0 20px #80ffaa6b}.swing-lab-dial.locked .swing-lab-needle{background:#eaffff;box-shadow:0 0 10px #dcfffff2,0 0 18px #80ffaa8c}.swing-lab-dial.bust{filter:drop-shadow(0 0 10px rgba(255,76,76,.72))}.swing-lab-dial.bust .swing-lab-dial-ring{border-color:#ff6a6afa;box-shadow:inset 0 0 24px #ff3c3c33,0 0 22px #ff3c3c94}.swing-lab-dial.bust .swing-lab-dial-dots{background:repeating-conic-gradient(from -92deg,rgba(255,140,140,.92) 0deg 2deg,transparent 2deg 12deg)}.swing-lab-dial.bust .swing-lab-bj-arc span,.swing-lab-dial.bust .swing-lab-bj-arc span.filled{background:linear-gradient(180deg,#ffe7e7,#ff6868 48%,#d81d1d);border-color:#ffdcdce6;box-shadow:0 0 7px #ff4c4ce6,0 0 14px #ff14147a}.swing-lab-dial.bust .swing-lab-needle,.swing-lab-dial.bust .swing-lab-hub{background:#ffe7e7;box-shadow:0 0 10px #ff7676f2,0 0 18px #ff1e1e99}.swing-lab-readout{min-width:0;display:grid;gap:0;align-self:center}.swing-lab-score{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);color:#dfffff;font-size:clamp(21px,1.85vw,30px);font-weight:700;text-align:center;letter-spacing:1px;pointer-events:none;text-shadow:0 0 8px rgba(134,245,255,.95),0 0 20px rgba(134,245,255,.58)}.swing-lab-score.bust{color:#ff7070;text-shadow:0 0 8px rgba(255,100,100,.95),0 0 18px rgba(255,60,60,.72)}.swing-lab-score.angle{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.95),0 0 18px rgba(134,245,255,.78),0 0 28px rgba(184,118,255,.42)}.swing-dial-action{position:absolute;left:50%;bottom:22px;transform:translate(-50%);width:132px;min-height:48px;border-radius:999px;border:none;background:transparent;color:#dfffff;font-family:inherit;font-size:clamp(12px,1vw,16px);font-weight:700;line-height:1.1;text-align:center;cursor:pointer;z-index:3;text-shadow:0 0 6px rgba(134,245,255,.9),0 0 13px rgba(134,245,255,.45);box-shadow:none}.swing-dial-action.reset-state{color:#ffd8d8;background:transparent;box-shadow:none;animation:swingResetFlash 1s ease-in-out infinite}@media(orientation:landscape)and (max-height:540px){.swings-panel{min-width:118px}.swing-lab{min-height:122px}.swing-lab-dial{width:176px;--swing-arc-radius: -78px}.swing-lab-bj-arc span{width:3px;height:14px}.swing-lab-score{font-size:clamp(16px,4.4vh,23px)}.swing-dial-action{bottom:18px;width:112px;min-height:38px;font-size:clamp(10px,2.7vh,13px)}.special-log-body{font-size:clamp(9px,2.35vh,12px)}.card-idle-wrap:hover{--card-hover-y: -7px;--card-hover-scale: 1.035}.card-idle-wrap.selected-card{--card-hover-y: -7px;--card-hover-scale: 1.03}}.swing-tech-frame{width:100%;height:82px;margin-top:-10px;margin-bottom:-2px;opacity:.9;pointer-events:none;position:relative}.swing-tech-svg{width:100%;height:100%;overflow:visible}.ring-main{fill:none;stroke:#4aeafff2;stroke-width:6;filter:drop-shadow(0 0 6px rgba(74,234,255,.8))}.ring-inner{fill:none;stroke:#4aeaffb3;stroke-width:6;stroke-dasharray:4 8}.ring-dot{fill:#aaf8fff2;filter:drop-shadow(0 0 5px rgba(104,244,255,.9))}.tech-line{fill:none;stroke:#4aeaffd1;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(74,234,255,.65))}.tech-chip{fill:#42e4ffd1;rx:3;filter:drop-shadow(0 0 5px rgba(66,228,255,.6))}.tech-chip.faint{fill:#42e4ff73}.swing-tech-meter{position:absolute;left:118px;top:50%;transform:translate(-50%,-50%);min-width:88px;text-align:center;color:#d7fdff;font-size:clamp(16px,1.35vw,22px);font-weight:700;letter-spacing:.4px;text-shadow:0 0 6px rgba(134,245,255,.95),0 0 12px rgba(134,245,255,.72)}.swing-tech-meter.bust{color:#ff7070;text-shadow:0 0 6px rgba(255,100,100,.95),0 0 14px rgba(255,60,60,.75)}.bj-big-flash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000000006;pointer-events:none;font-family:Space Mono,monospace;font-size:clamp(62px,9.5vw,150px);font-weight:700;letter-spacing:2px;color:#d8ffff;text-shadow:0 0 10px rgba(140,245,255,.95),0 0 26px rgba(96,222,255,.85),0 0 44px rgba(96,222,255,.6);animation:bjBigFlashPulse 2s ease-out forwards}.bj-big-flash.bust{color:#ff5c5c;text-shadow:0 0 10px rgba(255,108,108,.95),0 0 30px rgba(255,66,66,.92),0 0 54px rgba(255,20,20,.64)}@keyframes bjBigFlashPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}12%{opacity:1;transform:translate(-50%,-50%) scale(1)}72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.03)}}.void-cinematic{pointer-events:none}.void-cinematic-flash{opacity:0;animation:voidFlash .9s ease-out forwards}.void-energy-line{fill:none;stroke:#e070ff;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 5px rgba(224,112,255,.95)) drop-shadow(0 0 14px rgba(72,238,255,.62));animation:voidEnergyTrace .9s ease-out forwards}.void-energy-line-wide{stroke:#44f7ff;stroke-width:7;opacity:0;filter:blur(2px) drop-shadow(0 0 18px rgba(224,112,255,.75))}.void-portal-shell,.void-ball-source,.void-ball-target,.void-shockwave{transform-box:fill-box;transform-origin:center}.void-portal-shell{opacity:0;animation:voidPortalSource .9s ease-out forwards}.void-portal-target .void-portal-shell{animation-name:voidPortalTarget}.void-portal-aura{fill:#a530ff47;stroke:#4cf6ff80;stroke-width:2;filter:blur(2px)}.void-portal-core{fill:#000000f0;stroke:#eba5ffc7;stroke-width:1.4}.void-portal-ring{fill:none;stroke-linecap:round;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 5px rgba(225,95,255,.92)) drop-shadow(0 0 12px rgba(66,232,255,.56))}.void-portal-ring-a{stroke:#f28cff;stroke-width:3.2;stroke-dasharray:12 9;animation:voidRingSpin .62s linear infinite}.void-portal-ring-b{stroke:#54f1ff;stroke-width:2.2;stroke-dasharray:7 12;animation:voidRingSpinReverse .76s linear infinite}.void-portal-ring-c{stroke:#c24affdb;stroke-width:1.7;stroke-dasharray:4 8;animation:voidRingSpin .98s linear infinite}.void-portal-particle{fill:#fff;opacity:0;filter:drop-shadow(0 0 4px rgba(255,255,255,.95)) drop-shadow(0 0 10px rgba(216,78,255,.82));animation:voidParticleDrift .9s ease-out forwards}.void-portal-particle.p2,.void-portal-particle.p5{animation-delay:40ms}.void-portal-particle.p3,.void-portal-particle.p6{animation-delay:90ms}.void-ball-source{animation:voidBallIn .9s ease-in forwards}.void-ball-target{opacity:0;animation:voidBallOut .9s ease-out forwards}.void-shockwave{fill:none;stroke:#5ff5ffeb;stroke-width:2.4;opacity:0;filter:drop-shadow(0 0 5px rgba(95,245,255,.9)) drop-shadow(0 0 16px rgba(224,112,255,.74));animation:voidShockwave .9s ease-out forwards}@keyframes voidFlash{0%,to{opacity:0}12%{opacity:.1}64%{opacity:.06}}@keyframes voidEnergyTrace{0%,22%{opacity:0;stroke-dashoffset:1}38%{opacity:1;stroke-dashoffset:.35}62%{opacity:.92;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:0}}@keyframes voidPortalSource{0%{opacity:0;transform:scale(.28)}12%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:scale(.52)}}@keyframes voidPortalTarget{0%,42%{opacity:0;transform:scale(.25)}58%{opacity:1;transform:scale(1.15)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}@keyframes voidRingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes voidRingSpinReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes voidParticleDrift{0%,10%{opacity:0;transform:scale(.4)}28%{opacity:1;transform:scale(1.2)}76%{opacity:.72;transform:scale(.9) translate(6px,-8px)}to{opacity:0;transform:scale(.2) translate(13px,-18px)}}@keyframes voidBallIn{0%,12%{opacity:1;transform:scale(1)}38%{opacity:.9;transform:scale(.52) rotate(18deg)}52%,to{opacity:0;transform:scale(.05) rotate(70deg)}}@keyframes voidBallOut{0%,58%{opacity:0;transform:scale(.08) rotate(-60deg)}72%{opacity:1;transform:scale(1.18) rotate(8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes voidShockwave{0%,56%{opacity:0;transform:scale(.35)}66%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(2.35)}}.swings-top{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:-10px;margin-bottom:8px;position:relative;z-index:3}.swing-dir-row{display:flex;justify-content:center;gap:8px;margin-top:-14px;margin-bottom:6px;position:relative;z-index:4}.swing-dir-btn{min-width:86px;min-height:30px;border-radius:8px;border:1px solid rgba(158,255,255,.7);background:#000;color:#cfffff;font-size:12px;font-weight:700;letter-spacing:.3px}.swing-dir-btn.active{color:#fff;border-color:#bffffffa;box-shadow:0 0 10px #86f5ffe6,inset 0 0 10px #86f5ff33}.swing-tile{min-height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(158,255,255,.7);background:#000;color:#cfffff;font-size:clamp(10px,.8vw,12px);font-weight:700;text-align:center;line-height:1.05;padding:4px 3px;overflow:hidden;cursor:pointer;gap:2px}.swing-glyph{font-size:clamp(12px,1vw,15px);line-height:1;text-shadow:0 0 6px rgba(134,245,255,.7),0 0 10px rgba(134,245,255,.35)}.swing-tile.active{border-color:#bffffffa;background:#000;color:#fff;box-shadow:0 0 12px #86f5fff2,0 0 24px #86f5ff8c,inset 0 0 14px #86f5ff47;transform:scale(1.12);z-index:4}.swing-btn{width:190px;justify-self:center;min-height:62px;border-radius:8px;border:1px solid rgba(158,255,255,.8);background:#11261df2;color:#d9ffe7;font-weight:700;font-size:clamp(20px,1.75vw,28px);overflow:hidden;margin-top:-18px;position:relative;z-index:2;font-family:Space Mono,monospace}.swing-btn.reset-state{border-color:#ffa0a0f2;color:#ffd8d8;box-shadow:0 0 8px #ff5a5aa6,inset 0 0 10px #ff505033;animation:swingResetFlash 1s ease-in-out infinite}@keyframes swingResetFlash{0%{opacity:1}50%{opacity:.68}to{opacity:1}}.swing-21{width:100%;min-height:52px;display:grid;place-items:center;border-radius:10px;border:1.5px solid rgba(158,255,255,.88);background:#000c0eb8;color:#cfffff;font-weight:700;font-size:clamp(18px,1.55vw,26px);letter-spacing:.5px;overflow:hidden;font-family:Space Mono,monospace}.swing-21.bust{color:#ff4c4c;border-color:#ff6464f2;box-shadow:0 0 8px #ff4c4ce6,0 0 18px #f009;animation:bustFlash .6s steps(2,end) infinite}@keyframes bustFlash{0%{opacity:1;filter:brightness(1)}50%{opacity:.45;filter:brightness(1.55)}to{opacity:1;filter:brightness(1)}}.special-log-panel{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;overflow:hidden;pointer-events:none;font-family:Space Mono,monospace}.special-log-title{display:none}.special-log-body{color:#cfffff;font-size:clamp(12px,.95vw,15px);line-height:1.35;text-align:center;border:none;background:transparent;padding:0;min-height:1.35em;text-shadow:0 0 5px rgba(134,245,255,.8),0 0 12px rgba(134,245,255,.55)}.special-log-body.green{color:#9dff84;text-shadow:0 0 6px rgba(121,255,86,.95),0 0 16px rgba(65,255,105,.72),0 0 26px rgba(0,255,128,.36)}.special-log-body.danger{color:#ff7c7c;text-shadow:0 0 6px rgba(255,90,90,.9),0 0 16px rgba(255,0,80,.58)}.nexus-anim{transform-origin:center;transform-box:fill-box;animation:nexusSpin 11s linear infinite,nexusBob 2.8s ease-in-out infinite,nexusPulse 2.2s ease-in-out infinite}@keyframes nexusSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes nexusBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes nexusPulse{0%,to{filter:drop-shadow(0 0 6px rgba(210,120,255,.72));opacity:.92}50%{filter:drop-shadow(0 0 14px rgba(245,180,255,.98));opacity:1}}.game-root.desktop-scale-mode{position:relative;overflow:hidden}.game-root.desktop-scale-mode .display-shell{position:absolute;left:50%;top:50%;width:1920px;height:1080px;max-height:none;aspect-ratio:auto;transform:translate(-50%,-50%) scale(var(--desktop-stage-scale, 1));transform-origin:center}.game-root.desktop-scale-mode .stage{width:100%;height:100%}.game-root.desktop-scale-mode .lobby-artboard{width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--desktop-stage-scale, 1));transform-origin:center}.game-root.desktop-scale-mode .lobby-panel{width:1120px;min-height:500px;transform:translateY(150px)}.game-root.desktop-scale-mode .lobby-mark{top:35%}.game-root.desktop-scale-mode .lobby-mark span{font-size:42px}.game-root.desktop-scale-mode .lobby-kicker{font-size:18px;margin-bottom:8px}.game-root.desktop-scale-mode .lobby-copy{max-width:720px}.game-root.desktop-scale-mode .lobby-copy h1{margin-bottom:34px;font-size:88px}.game-root.desktop-scale-mode .lobby-field{gap:7px;margin-bottom:28px}.game-root.desktop-scale-mode .lobby-field input,.game-root.desktop-scale-mode .lobby-mode select{min-height:46px;padding:12px 14px;font-size:16px}.game-root.desktop-scale-mode .lobby-profile-list{gap:8px;margin:-12px 0 22px}.game-root.desktop-scale-mode .lobby-profile-list button{min-height:30px;padding:5px 10px;font-size:11px}.game-root.desktop-scale-mode .lobby-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game-root.desktop-scale-mode .lobby-mode{min-height:178px;padding:16px}.game-root.desktop-scale-mode .lobby-mode strong{font-size:25px}.game-root.desktop-scale-mode .lobby-mode small{font-size:12px}.game-root.desktop-scale-mode .lobby-mode button{min-height:42px;font-size:14px}.game-root.desktop-scale-mode .faststar-picker{width:980px;min-height:640px;max-height:none;gap:24px;padding:38px;transform:translate(-50%,-50%) scale(var(--desktop-stage-scale, 1));transform-origin:center}.game-root.desktop-scale-mode .faststar-title{gap:18px;padding-bottom:10px}.game-root.desktop-scale-mode .faststar-title span{font-size:28px}.game-root.desktop-scale-mode .faststar-title strong{font-size:78px}.game-root.desktop-scale-mode .faststar-close{right:14px;top:12px;width:42px;font-size:28px}.game-root.desktop-scale-mode .faststar-preview-wrap{min-height:360px}.game-root.desktop-scale-mode .faststar-preview-map{height:470px}.game-root.desktop-scale-mode .faststar-arrow{width:86px;font-size:76px}.game-root.desktop-scale-mode .faststar-select{min-width:360px;min-height:54px;font-size:26px}.game-root.desktop-scale-mode .player-info-hud{left:32px;top:28px;width:520px;height:122px}.game-root.desktop-scale-mode .player-info-orb{width:118px;border-width:3px}.game-root.desktop-scale-mode .player-info-orb:after{top:-8px;right:-8px;bottom:-8px;left:-8px}.game-root.desktop-scale-mode .player-info-orb span{width:6px;height:6px}.game-root.desktop-scale-mode .player-info-orb span:nth-child(2){top:-15px}.game-root.desktop-scale-mode .player-info-orb span:nth-child(3){right:-15px}.game-root.desktop-scale-mode .player-info-orb span:nth-child(4){bottom:-15px}.game-root.desktop-scale-mode .player-info-orb span:nth-child(5){left:-15px}.game-root.desktop-scale-mode .player-info-hole-number{font-size:48px}.game-root.desktop-scale-mode .player-info-lines{left:138px}.game-root.desktop-scale-mode .player-info-line:before{left:-28px;width:32px;height:32px}.game-root.desktop-scale-mode .player-info-line.bottom:before{top:-31px}.game-root.desktop-scale-mode .player-info-line:after{width:48px;height:8px}.game-root.desktop-scale-mode .player-info-line.bottom:after{left:18px;width:130px}.game-root.desktop-scale-mode .player-info-text{left:188px;width:calc(100% - 198px);gap:3px}.game-root.desktop-scale-mode .player-info-name{font-size:17px}.game-root.desktop-scale-mode .player-info-course{font-size:14px}.game-root.desktop-scale-mode .player-info-row{font-size:13px}.game-root.desktop-scale-mode .player-info-row strong{font-size:28px}.game-root.desktop-scale-mode .swings-panel{min-width:auto}.game-root.desktop-scale-mode .swing-lab{min-height:196px}.game-root.desktop-scale-mode .swing-lab-dial{width:198px;--swing-arc-radius: -88px}.game-root.desktop-scale-mode .swing-lab-bj-arc span{width:4px;height:18px}.game-root.desktop-scale-mode .swing-lab-score{font-size:30px}.game-root.desktop-scale-mode .swing-dial-action{bottom:22px;width:132px;min-height:48px;font-size:16px}.game-root.desktop-scale-mode .special-log-body{font-size:15px}
