html,body{user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;overflow:hidden}.stage{transform-origin:0 0;background:radial-gradient(ellipse at 50% 38%, #15171c 0%, var(--bg) 70%);width:1920px;height:1080px;position:absolute;top:0;left:0;overflow:hidden}.safe{transform-origin:0 0;width:1440px;height:760px;transition:transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;top:160px;left:240px}.layout-full .safe{transform:translate(-240px,-127px)scale(1.33333)}.edge-layer{transition:opacity .25s ease-out}.layout-full .edge-layer{opacity:0}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition-duration:1ms!important;animation-duration:1ms!important}.fx-layer{pointer-events:none;position:absolute;inset:0}.edge{color:var(--text-dim);font-size:28px;line-height:1.2;position:absolute}.edge-label{top:44px;left:64px}.edge-label b{color:var(--text);letter-spacing:.04em;font-size:44px;font-weight:600;display:block}.edge-clock{text-align:right;top:40px;right:64px}.edge-clock b{color:var(--text);font-variant-numeric:tabular-nums;font-size:56px;font-weight:500;display:block}.edge-status{align-items:center;display:flex;bottom:52px;left:64px}.edge-status i{background:var(--text-faint);border-radius:8px;width:16px;height:16px;margin-right:14px}.edge-status.is-online i{background:var(--ok)}.edge-status.is-slow i{background:var(--warn)}.edge-status.is-offline i{background:var(--bad)}.edge-version{color:var(--text-faint);font-size:22px;font-family:var(--mono);bottom:54px;right:64px}.btn{border:1px solid var(--line);background:var(--bg-elev-2);cursor:pointer;touch-action:none;border-radius:20px;justify-content:center;align-items:center;min-width:96px;min-height:96px;padding:0 36px;font-size:30px;font-weight:500;transition:transform 80ms ease-out;display:inline-flex}.btn.is-pressed{background:var(--bg-elev-3);transform:scale(.96)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-accent.is-pressed{background:#b98a45}.btn[aria-pressed=true]{border:3px solid var(--accent);color:var(--accent)}.btn-back{padding:0 32px 0 24px}.btn-back svg{width:40px;height:40px;margin-right:8px}.btn:disabled{opacity:.45}.home{flex-direction:column;height:100%;display:flex}.home-head{justify-content:space-between;align-items:center;gap:24px;height:236px;display:flex}.home-actions{flex:none;gap:16px;display:flex}.home-head h1{letter-spacing:-.01em;margin:0;font-size:64px;font-weight:300}.home-head p{color:var(--text-dim);margin:12px 0 0;font-size:30px}.tiles{gap:24px;height:460px;display:flex}.tile{border:1px solid var(--line);background:linear-gradient(180deg, var(--bg-elev-2) 0%, var(--bg-elev) 100%);text-align:left;cursor:pointer;touch-action:none;border-radius:28px;flex-direction:column;flex:1;justify-content:flex-end;padding:40px;transition:transform 90ms ease-out;display:flex}.tile.is-pressed{background:var(--bg-elev-3);transform:scale(.97)}.tile svg{width:88px;height:88px;color:var(--accent);margin-bottom:auto}.tile-title{font-size:44px;font-weight:600}.tile-sub{color:var(--text-dim);margin-top:8px;font-size:28px}.tile-soon .tile-title{color:var(--text-dim)}.tile-soon svg{color:var(--text-faint)}.view{flex-direction:column;height:100%;display:flex}.view-head{flex:none;align-items:center;gap:32px;height:96px;margin-bottom:28px;display:flex}.view-head h2{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:48px;font-weight:600;overflow:hidden}.view-body{flex:1;min-height:0;position:relative}.blurb{color:var(--text-dim);margin:0 0 24px;font-size:28px;line-height:1.35}.chip{background:var(--bg-elev-2);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:10px 22px;font-size:28px}.placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:560px;display:flex}.placeholder svg{width:140px;height:140px;color:var(--text-faint);margin-bottom:32px}.placeholder p{color:var(--text-dim);margin:0;font-size:32px}.diag-grid{grid-template-columns:repeat(5,1fr);grid-auto-rows:290px;gap:24px;display:grid}.diag-tile{border:1px solid var(--line);background:var(--bg-elev);text-align:left;cursor:pointer;touch-action:none;border-radius:24px;flex-direction:column;padding:28px;transition:transform 80ms ease-out;display:flex}.diag-tile.is-pressed{background:var(--bg-elev-3);transform:scale(.97)}.diag-tile .t-name{font-size:34px;font-weight:600}.diag-tile .t-kind{color:var(--text-faint);margin-top:6px;font-size:24px}.diag-tile .t-sum{color:var(--text-dim);max-height:3.75em;margin-top:auto;font-size:28px;line-height:1.25;overflow:hidden}.st-pass .t-sum{color:var(--ok)}.st-fail .t-sum{color:var(--bad)}.st-running .t-sum{color:var(--warn)}.st-pass{border-color:#2f5a3f}.st-fail{border-color:#6a312c}.lines{color:var(--text);font-size:28px;line-height:1.45;overflow:hidden}.lines div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lines span{color:var(--text-dim)}.row{align-items:center;gap:24px;display:flex}.col{flex-direction:column;gap:24px;display:flex}.label{color:var(--text-dim);font-size:28px}.grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.pad{border:2px dashed var(--line);background:var(--bg-elev);border-radius:24px;width:960px;height:632px;position:relative;overflow:hidden}.pad-hint{color:var(--text-faint);pointer-events:none;text-align:center;justify-content:center;align-items:center;font-size:36px;display:flex;position:absolute;inset:0}.dot{background:var(--accent);opacity:.9;pointer-events:none;border-radius:28px;width:56px;height:56px;margin:-28px 0 0 -28px;transition:opacity .6s ease-out;position:absolute}.dot.fade{opacity:0}.gridmap{pointer-events:auto;background-color:#0d0f12;background-image:linear-gradient(90deg,#2a2e36 1px,#0000 1px),linear-gradient(#2a2e36 1px,#0000 1px);background-size:120px 120px;position:absolute;inset:0}.gridmap-cell{width:120px;height:120px;color:var(--text-faint);font-size:22px;font-family:var(--mono);pointer-events:none;padding:6px 8px;position:absolute}.gridmap-cell.hit{color:var(--text);background:#d6a45a47}.gridmap-safe{border:3px dashed var(--accent);pointer-events:none;width:1440px;height:760px;position:absolute;top:160px;left:240px}.gridmap-center{text-align:center;background:#0a0b0deb;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:20px;width:800px;height:480px;display:flex;position:absolute;top:300px;left:560px}.gridmap-timer{font-size:96px;font-family:var(--mono);color:var(--text)}.video-box{background:#000;border-radius:16px;width:1088px;height:612px;position:relative;overflow:hidden}.video-box video{width:100%;height:100%;display:block}.video-stats{font:24px var(--mono);color:var(--text);pointer-events:none;background:#000000a6;border-radius:8px;padding:6px 12px;position:absolute;top:16px;left:16px}.kbd-input{border:2px solid var(--line);background:var(--bg-elev);user-select:text;border-radius:20px;width:820px;height:112px;padding:0 28px;font-size:40px}.kbd-input:focus{border-color:var(--accent);outline:none}.fx-flash,.fx-identify{pointer-events:none}.fx-flash{background:var(--accent);color:var(--accent-ink);flex-direction:column;justify-content:center;align-items:center;font-size:240px;font-weight:700;display:flex;position:absolute;inset:0}.fx-flash small{font-size:40px;font-weight:500}.fx-identify{text-align:center;background:#0a0b0df0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fx-identify b{color:var(--accent);font-size:300px;font-weight:700;line-height:1}.fx-identify span{color:var(--text-dim);margin-top:24px;font-size:40px}.fx-message{border:2px solid var(--accent);pointer-events:none;opacity:0;text-align:center;background:#1d2026;border-radius:28px;width:1100px;margin-left:-550px;padding:22px 36px 26px;transition:opacity .3s ease-out,transform .3s ease-out;position:absolute;top:28px;left:50%;transform:translateY(-40px)}.fx-message.in{opacity:1;transform:none}.fx-message-from{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:26px}.fx-message-text{margin-top:6px;font-size:46px;font-weight:600;line-height:1.2}.btn-icon{gap:12px;padding:0 30px 0 24px}.btn-icon svg,.btn-square svg{flex:none;width:40px;height:40px}.btn-square{width:96px;padding:0}.modal{z-index:10;background:#0a0b0de0;border-radius:28px;justify-content:center;align-items:center;display:flex;position:absolute;inset:-24px}.modal-panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:28px;width:1120px;padding:40px 48px}.modal-panel h2{margin:0 0 28px;font-size:48px}.modal-foot{justify-content:space-between;align-items:center;gap:24px;margin-top:28px;display:flex}.ask-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.ask-btn{text-align:center;height:120px;padding:0 20px;font-size:32px}.ask-status{color:var(--text-dim);font-size:28px}.ocean{pointer-events:auto;touch-action:none;background:#051f38;position:absolute;inset:0}.ocean-canvas{width:1920px;height:1080px;display:block}.ocean-home{opacity:0;pointer-events:none;background:#14161ad9;transition:opacity .2s ease-out;position:absolute;top:160px;left:240px}.ocean-home.show{opacity:1;pointer-events:auto}.ocean-label{text-align:center;color:#fff;text-shadow:0 2px 8px #000c;opacity:0;pointer-events:none;width:400px;font-size:40px;font-weight:600;transition:opacity .25s ease-out;position:absolute;top:0;left:0}.ocean-label.show{opacity:1}.game-tiles .tile{justify-content:flex-start}.game-tiles .tile svg{margin-bottom:40px}.game-tiles{height:500px}.game-body{position:relative}.game-status{color:var(--accent)}.view-head .chip:empty{display:none}.game-panel{text-align:center;flex-direction:column;flex:1;grid-column:1/-1;justify-content:center;align-items:center;gap:28px;height:100%;display:flex}.game-panel-title{font-size:64px;font-weight:700}.game-panel-text{color:var(--text-dim);font-size:34px}.game-toast{background:var(--accent);width:760px;color:var(--accent-ink);text-align:center;pointer-events:none;opacity:0;z-index:5;border-radius:24px;margin-left:-380px;padding:28px;font-size:56px;font-weight:700;transition:opacity .2s ease-out,transform .2s ease-out;position:absolute;top:40%;left:50%;transform:scale(.9)}.game-toast.in{opacity:1;transform:none}.invite{background:var(--bg-elev-2);border:2px solid var(--accent);z-index:9;border-radius:24px;align-items:center;gap:24px;width:1100px;margin-left:-550px;padding:20px 24px 20px 36px;font-size:32px;display:flex;position:absolute;bottom:0;left:50%}.invite span{flex:1}.duel{gap:24px;height:100%;display:flex}.duel-pad{background:var(--bg-elev);border:2px solid var(--line);touch-action:none;border-radius:28px;flex:1;justify-content:center;align-items:center;display:flex}.duel-pad.is-wait{background:#2a1d10;border-color:#6b4a1d}.duel-pad.is-go{background:#1f8f4a;border-color:#3fd27a}.duel-pad.is-early{background:#3e1f1c}.duel-wait{color:#e3b14b;font-size:64px}.duel-go{color:#fff;font-size:200px;font-weight:800}.duel-side{flex-direction:column;gap:24px;width:360px;display:flex}.duel-score{flex-direction:column;gap:12px;display:flex}.duel-score div{background:var(--bg-elev);border-radius:20px;justify-content:space-between;align-items:baseline;padding:16px 24px;font-size:32px;display:flex}.duel-score b{color:var(--accent);font-size:56px}.bingo{gap:32px;height:100%;display:flex}.bingo-grid{grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;gap:10px;width:1040px;height:100%;display:grid}.bingo-grid.is-empty{flex:1;width:auto;display:flex}.bingo-grid.is-empty+.bingo-side{display:none}.bingo-cell{border:1px solid var(--line);background:var(--bg-elev);touch-action:none;cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;transition:transform 80ms ease-out;display:flex}.bingo-cell.is-pressed{transform:scale(.95)}.bingo-cell.is-marked{border:3px solid var(--accent);background:#3a2c14}.bingo-cell.is-free{color:var(--accent);background:#2a2318}.bingo-cell.is-win{background:var(--accent);color:var(--accent-ink)}.bingo-emoji{font-size:44px;line-height:1}.bingo-text{text-align:center;font-size:26px;line-height:1.1}.bingo-side{flex-direction:column;flex:1;gap:18px;display:flex}.bingo-mini{grid-template-columns:repeat(5,36px);gap:6px;display:grid}.bingo-mini i{background:var(--bg-elev-2);border-radius:8px;width:36px;height:36px}.bingo-mini i.on{background:var(--accent)}.bingo-winner{color:var(--accent);font-size:44px;font-weight:700}.bs{gap:40px;height:100%;display:flex}.bs-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.bs-big{width:708px;height:708px}.bs-col{flex-direction:column;flex:1;gap:20px;display:flex}.bs.is-panel{flex-direction:column-reverse;gap:0}.bs.is-panel .bs-col{flex-direction:row;flex:none;align-items:center}.bs.is-panel .bs-status{margin-left:auto;font-size:28px}.bs.is-panel .bs-side{display:none}.bs.is-panel .bs-main{flex:1;display:flex}.bs-title{margin:0;font-size:48px}.bs-status{color:var(--accent);font-size:40px;font-weight:600}.bs-small{gap:3px;width:300px;height:300px}.bs-cell{touch-action:none;background:#0f3350;border:none;border-radius:10px;padding:0;position:relative}.bs-big.is-turn .bs-cell:not(.hit):not(.miss){cursor:pointer;background:#134268}.bs-cell.ship{background:#7a8594}.bs-cell.miss:after{content:"";background:#8fb4d4;border-radius:50%;width:22%;height:22%;margin:-11% 0 0 -11%;position:absolute;top:50%;left:50%}.bs-cell.hit{background:#b5482a}.bs-cell.hit:after{content:"";background:#ffcf6b;border-radius:50%;position:absolute;inset:22%}.bs-cell.sunk{background:#5a1f14}.bs-cell.ship-reveal{background:#4a5563}.bs-side{flex-direction:column;flex:1;gap:20px;display:flex}.pair-panel{align-items:center;gap:48px;display:flex}.pair-qr{background:#ecebe6;border-radius:24px;flex:none;padding:20px;line-height:0}.pair-text p{color:var(--text-dim);font-size:30px;line-height:1.35}.pair-url{font-family:var(--mono);word-break:break-all;font-size:22px!important}.trip{flex-direction:column;gap:36px;display:flex}.trip-left{color:var(--accent);font-size:120px;font-weight:700;line-height:1}.trip-sub{color:var(--text-dim);margin-top:12px;font-size:36px}.trip-road{height:170px;margin:10px 40px 0;position:relative}.trip-line,.trip-done{background:var(--bg-elev-3);border-radius:7px;height:14px;position:absolute;top:120px;left:0;right:0}.trip-done{background:var(--accent);transform-origin:0 0}.trip-mark{background:var(--bg-elev-2);border:3px solid var(--line);border-radius:11px;width:22px;height:22px;margin-left:-11px;position:absolute;top:116px}.trip-mark.passed{background:var(--accent);border-color:var(--accent)}.trip-flag{color:var(--text-dim);white-space:nowrap;font-size:28px;position:absolute;top:146px}.trip-flag.end{color:var(--text);font-weight:600;right:0}.trip-car{transition:transform 1.2s ease-out;position:absolute;top:52px;left:-80px}.trip-units{font-size:38px}.trip-pct{color:var(--text-dim);font-size:28px}.trip-hint{color:var(--text-faint)!important;margin-top:16px!important;font-size:28px!important}.draw{gap:28px;height:100%;display:flex}.draw-board{border:2px solid var(--line);background:#12151b;border-radius:24px;flex:none;width:1000px;height:620px;overflow:hidden}.draw-board.can-draw{border-color:var(--accent)}.draw-board.is-empty{display:none}.draw-canvas{touch-action:none;width:100%;height:100%;display:block}.draw-side{flex-direction:column;flex:1;gap:18px;display:flex}.draw-word{color:var(--accent);text-transform:capitalize;font-size:56px;font-weight:700;line-height:1.1}.draw-colours{gap:12px;display:flex}.draw-colour{touch-action:none;border:3px solid #0000;border-radius:32px;width:64px;height:64px}.draw-colour.on{border-color:#fff;transform:scale(1.12)}.draw-options{grid-template-columns:1fr;gap:14px;display:grid}.draw-option{text-transform:capitalize;font-size:36px}.draw-option.is-wrong{opacity:.35;text-decoration:line-through}.fx-sticker{text-align:center;pointer-events:none;opacity:0;z-index:20;width:520px;height:600px;margin:-300px 0 0 -260px;transition:opacity .25s ease-out,transform .45s cubic-bezier(.2,1.6,.4,1);position:absolute;top:50%;left:50%;transform:scale(.3)rotate(-12deg)}.fx-sticker svg{width:520px;height:520px}.fx-sticker.in{opacity:1;transform:none}.fx-sticker.out{opacity:0;transform:scale(1.15)}.fx-sticker-from{color:#fff;text-shadow:0 2px 10px #000000e6;font-size:40px;font-weight:600}.sticker-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.sticker-btn{border:1px solid var(--line);background:var(--bg-elev-2);touch-action:none;border-radius:24px;height:190px;transition:transform 80ms ease-out}.sticker-btn.is-pressed{transform:scale(.94)}.sticker-btn svg{width:140px;height:140px}.movie-tiles .tile{justify-content:flex-start}.movie-tiles .tile svg{margin-bottom:40px}.movie{pointer-events:auto;touch-action:none;background:#000;position:absolute;inset:0}.movie-video{object-fit:contain;width:1920px;height:1080px;display:block}.movie-controls{opacity:0;pointer-events:none;transition:opacity .25s ease-out;position:absolute;inset:0}.movie-controls.show{opacity:1;pointer-events:auto}.movie-top,.movie-bottom{background:#0a0b0dd1;border-radius:24px;align-items:center;gap:24px;padding:16px;display:flex;position:absolute;left:240px;right:240px}.movie-top{top:160px}.movie-bottom{bottom:160px}.movie-title{flex:1;font-size:40px;font-weight:600}.movie-play svg{width:48px;height:48px}.movie-progress{flex-direction:column;flex:1;gap:8px;display:flex}.movie-bar{background:var(--bg-elev-3);border-radius:5px;height:10px;overflow:hidden}.movie-bar i{background:var(--accent);transform-origin:0 0;height:100%;display:block;transform:scaleX(0)}.movie-time{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:26px}.quiz{flex-direction:column;gap:18px;height:100%;display:flex}.quiz-cat{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:28px}.quiz-q{min-height:116px;font-size:48px;font-weight:600;line-height:1.2}.quiz-timer{background:var(--bg-elev-3);border-radius:6px;height:12px;overflow:hidden}.quiz-timer i{background:var(--accent);transform-origin:0 0;height:100%;display:block}.quiz-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.quiz-option{height:118px;padding:0 24px;font-size:38px}.quiz-option.is-chosen{border:3px solid var(--accent)}.quiz-option.is-correct{background:#1f6b3d;border-color:#3fd27a}.quiz-option.is-wrong{border-color:var(--bad);background:#5a1f1a}.quiz-foot{justify-content:space-between}.sky-caption{text-align:center;color:#c8d2eba6;pointer-events:none;font-size:26px;position:absolute;top:40px;left:0;right:0}.tiles .tile-title{font-size:40px}.tiles .tile{padding:36px 30px}.four{gap:40px;height:100%;display:flex}.four-board{background:#1d3a7a;border-radius:24px;gap:8px;padding:10px;display:flex}.four-board.is-empty{background:0 0;flex:1}.four-board.is-empty+.four-side{display:none}.four-col{touch-action:none;background:0 0;border:none;border-radius:14px;flex-direction:column;gap:8px;padding:0;display:flex}.four-col.can-drop.is-pressed{background:#ffffff1f}.four-cell{background:#0b1430;border-radius:46px;width:92px;height:92px;position:relative;overflow:hidden}.four-cell i{border-radius:50%;position:absolute;inset:6px}.four-cell i.red,.four-player i.red{background:radial-gradient(circle at 35% 35%,#ff8a7a,#d8352a)}.four-cell i.yellow,.four-player i.yellow{background:radial-gradient(circle at 35% 35%,#ffe680,#e7b416)}.four-cell i.drop{animation:.38s cubic-bezier(.3,0,.7,1) four-drop}@keyframes four-drop{0%{transform:translateY(calc(var(--rows,1) * -100px))}to{transform:none}}.four-cell i.win{box-shadow:0 0 0 5px #fff}.four-side{flex-direction:column;flex:1;gap:22px;display:flex}.four-player{align-items:center;gap:18px;font-size:36px;display:flex}.four-player i{border-radius:28px;width:56px;height:56px}.tiles.game-tiles{grid-template-columns:repeat(4,1fr);grid-auto-rows:268px;height:auto;display:grid}.game-tiles .tile{padding:26px 24px}.game-tiles .tile svg{width:52px;height:52px;margin-bottom:14px}.game-tiles .tile-title{font-size:32px}.game-tiles .tile-sub{font-size:22px}.game-tiles .tile.is-wide{background:linear-gradient(90deg, #f0a94e29 0%, transparent 38%, transparent 62%, #49c6c929 100%), linear-gradient(180deg, var(--bg-elev-2) 0%, var(--bg-elev) 100%);grid-column:span 2}.game-tiles .tile.is-wide .tile-title{font-size:44px}.game-tiles .tile.is-wide .tile-sub{font-size:26px}.movie-rows{flex-direction:column;gap:18px;display:flex}.movie-row{background:var(--bg-elev);border:1px solid var(--line);border-radius:24px;align-items:center;gap:24px;padding:20px 28px;display:flex}.movie-row svg{width:64px;height:64px;color:var(--accent)}.movie-row-text{flex:1}.hk-score{color:var(--text-dim);align-items:baseline;gap:14px;padding-right:10px;font-size:28px;display:flex}.hk-score b{font-variant-numeric:tabular-nums;font-size:56px;font-weight:800}.hk-c0{color:#f0a94e}.hk-c1{color:#49c6c9}.hk{--seat:#f0a94e;touch-action:none;background:radial-gradient(circle,#ffffff12 1.5px,#0000 2.5px) 0 0/36px 36px,linear-gradient(#10243a 0%,#0b1a2b 100%);border:4px solid #22405f;width:1440px;height:630px;position:relative;overflow:hidden}.hk-side-1{--seat:#49c6c9}.hk-side-0{border-right:none;border-radius:32px 0 0 32px}.hk-side-1{border-left:none;border-radius:0 32px 32px 0}.hk-goal{background:var(--seat);width:16px;height:250px;box-shadow:0 0 24px var(--seat);border-radius:8px;position:absolute;top:186px}.hk-side-0 .hk-goal{left:0}.hk-side-1 .hk-goal{right:0}.hk-crease{border:3px solid var(--seat);opacity:.35;border-radius:50%;width:300px;height:300px;position:absolute;top:161px}.hk-side-0 .hk-crease{left:-150px}.hk-side-1 .hk-crease{right:-150px}.hk-door{width:240px;color:var(--text-faint);justify-content:center;align-items:flex-end;padding-bottom:18px;font-size:24px;display:flex;position:absolute;top:0;bottom:0}.hk-side-0 .hk-door{background:linear-gradient(90deg,#0000,#ffffff0f);border-left:3px dashed #fff3;right:0}.hk-side-1 .hk-door{background:linear-gradient(270deg,#0000,#ffffff0f);border-right:3px dashed #fff3;left:0}.hk-incoming{visibility:hidden;background:#fff;border-radius:9px;width:18px;height:120px;position:absolute;top:0;box-shadow:0 0 22px #fff}.hk-side-0 .hk-incoming{right:0}.hk-side-1 .hk-incoming{left:0}.hk-puck,.hk-trail,.hk-mallet,.hk-ring{will-change:transform;pointer-events:none;border-radius:50%;position:absolute;top:0;left:0}.hk-puck{visibility:hidden;background:radial-gradient(circle at 40% 35%,#444a54,#121418 70%);width:52px;height:52px;box-shadow:0 0 0 3px #e9edf2,0 0 18px #ffffff59}.hk-trail{visibility:hidden;background:#e9edf224;width:52px;height:52px}.hk-mallet{background:radial-gradient(circle, var(--seat) 0 24px, #0000004d 25px 28px, var(--seat) 29px);width:108px;height:108px;box-shadow:0 8px 20px #00000080,inset 0 -6px #00000040}.hk-mallet.is-cpu{background:radial-gradient(circle, #e9edf2 0 14px, var(--seat) 15px 24px, #0000004d 25px 28px, var(--seat) 29px)}.hk-ring{border:4px solid var(--seat);opacity:0;width:140px;height:140px}.hk-ring.go{animation:.38s ease-out hk-ring}.reduced-motion .hk-ring.go{animation:none}@keyframes hk-ring{0%{opacity:1;border-width:10px}to{opacity:0;border-width:1px}}.hk-msg{text-align:center;color:#ffffffeb;text-shadow:0 6px 30px #0009;pointer-events:none;font-size:140px;font-weight:800;line-height:1;position:absolute;top:200px;left:0;right:0}.hk-hint{text-align:center;color:var(--text-dim);pointer-events:none;font-size:26px;position:absolute;bottom:22px;left:0;right:0}.hk-overlay{background:#080a0ed6;display:flex;position:absolute;inset:0}
