:root{color:#f5f0e8;background:#09070d;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{width:100%;height:100%}body{background:#09070d;margin:0;overflow:hidden}.app-shell{background:#09070d;grid-template:"top top""side main"minmax(0,1fr)/minmax(220px,280px) minmax(0,1fr);width:100%;height:100%;display:grid}.top-bar{z-index:1;background:#120e15;border-bottom:1px solid #a77c22;grid-area:top;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:0 20px;display:flex}.app-title{color:#dfb83e;letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2vw,1.35rem)}.fps-counter,.ping-counter{background:#0f0b1199;border:1px solid #332735;border-radius:4px;align-items:baseline;gap:5px;margin:0;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.fps-counter__value,.ping-counter__value{text-align:right;color:#f5f0e8;min-width:2ch}.fps-counter__label,.ping-counter__label{color:#a99fa8;letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem}.fps-counter[data-fps-level=high] .fps-counter__value,.ping-counter[data-ping-level=good] .ping-counter__value{color:#65d69a}.fps-counter[data-fps-level=medium] .fps-counter__value,.ping-counter[data-ping-level=medium] .ping-counter__value{color:#dfb83e}.fps-counter[data-fps-level=low] .fps-counter__value,.ping-counter[data-ping-level=poor] .ping-counter__value{color:#ffb7bf}.connection-status{color:#a99fa8;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:.75rem;font-weight:700;display:inline-flex}.connection-status:before{content:"";background:#8b7d89;border-radius:50%;width:8px;height:8px}.connection-status--connected{color:#65d69a}.connection-status--connected:before{background:#38d982;box-shadow:0 0 8px #38d982b3}.quit-button,.guide-button{color:#f5f0e8;height:32px;font:inherit;cursor:pointer;background:0 0;border:1px solid #a77c22;border-radius:5px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:.75rem;font-weight:700;display:inline-flex}.guide-button{color:#dfb83e;width:32px;padding:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.top-bar__actions{align-items:center;gap:10px;display:inline-flex}.music-toggle[aria-pressed=true],.effects-toggle[aria-pressed=true],.fullscreen-toggle[aria-pressed=true]{color:#171118;background:#dfb83e}.music-toggle[aria-pressed=true] .icon-button__icon,.effects-toggle[aria-pressed=true] .icon-button__icon,.fullscreen-toggle[aria-pressed=true] .icon-button__icon{filter:brightness(0)}.music-toggle[aria-pressed=false] .icon-button__icon,.effects-toggle[aria-pressed=false] .icon-button__icon{opacity:.55}.quit-button__icon{width:20px;height:20px}@media (hover:hover){.quit-button:not(:disabled):hover,.guide-button:not(:disabled):hover,.icon-button:not(:disabled):hover{color:#171118;background:#dfb83e}.quit-button:not(:disabled):hover .quit-button__icon,.icon-button:not(:disabled):hover .icon-button__icon{filter:brightness(0)}.icon-button:not(:disabled):hover .icon-button__icon{opacity:1}}.quit-button:disabled{cursor:default;opacity:.55}.quit-button:focus-visible,.icon-button:focus-visible,.guide-button:focus-visible{outline-offset:2px;outline:2px solid #f5f0e8}.room-share{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex;position:relative}.room-share__label{color:#a99fa8;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.room-share__code{color:#f5f0e8;letter-spacing:.12em;font-size:.9rem;font-weight:800}.room-share__copy-actions{gap:8px;display:flex}.icon-button{cursor:pointer;background:0 0;border:1px solid #a77c22;border-radius:5px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.icon-button__icon{flex:none;width:16px;height:16px}.icon-button:not(:disabled):hover{background:#dfb83e}.icon-button:not(:disabled):hover .icon-button__icon{filter:brightness(0)}.icon-button:focus-visible{outline-offset:2px;outline:2px solid #f5f0e8}.room-share__status{color:#65d69a;font-size:.75rem}.sidebar{background:#171118;border-right:1px solid #332735;flex-direction:column;grid-area:side;gap:20px;min-width:0;padding:20px;display:flex;overflow:hidden auto}.sidebar-content{flex:1}.sidebar-placeholder{color:#a99fa8;margin:0;font-size:.875rem;line-height:1.5}.entry-controls__title{color:#dfb83e;margin:0 0 20px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.entry-controls__field{gap:7px;min-width:0;display:grid}.entry-controls__label{color:#d4cbd3;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.entry-controls__input{color:#f5f0e8;width:100%;min-width:0;font:inherit;background:#0f0b11;border:1px solid #59465b;border-radius:5px;padding:10px 11px}.entry-controls__input:focus-visible{outline-offset:1px;border-color:#dfb83e;outline:2px solid #dfb83e59}.entry-controls__button{color:#171118;min-height:40px;font:inherit;cursor:pointer;background:#dfb83e;border:1px solid #a77c22;border-radius:5px;padding:9px 13px;font-size:.8125rem;font-weight:800}.entry-controls__button:hover{background:#edcc68}.entry-controls__button:disabled{cursor:not-allowed;opacity:.55}.entry-controls__button:disabled:hover{background:#dfb83e}.entry-controls__button:focus-visible{outline-offset:2px;outline:2px solid #f5f0e8}.app-error{color:#ffb7bf;background:#5c141e59;border:1px solid #e04f5c8c;border-radius:6px;margin:0;padding:12px;font-size:.8125rem;line-height:1.4}.main-stage{background:#050812;grid-area:main;min-width:0;min-height:0;position:relative;overflow:hidden}.main-stage[data-phase=entry] .game-viewport,.main-stage[data-phase=lobby] .game-viewport,.main-stage[data-phase=quit-waiting] .game-viewport{filter:brightness(.9)saturate(.95)}.entry-controls__form{gap:20px;display:grid}.entry-controls__room-action{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.entry-controls__host-settings{background:#0f0b1199;border:1px solid #332735;border-radius:6px;gap:14px;padding:14px;display:grid}.entry-controls__section-title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:.95rem;font-weight:600}.entry-controls__header,.lobby-config__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.entry-controls__header .entry-controls__label,.lobby-config__header .entry-controls__label{margin:0}.entry-controls__options,.lobby-config__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lobby-config__options--duration{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-controls__options--power-ups,.lobby-config__options--power-ups{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=520px){.entry-controls__options--power-ups,.lobby-config__options--power-ups{grid-template-columns:repeat(2,minmax(0,1fr))}}.info-popover-container{align-items:center;display:inline-flex;position:relative}.info-popover__btn{color:#dfb83e;cursor:pointer;background:#171118;border:1px solid #dfb83e;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-family:inherit;font-size:.8rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.info-popover__btn:hover,.info-popover__btn--active{color:#171118;background:#dfb83e}.info-popover__btn:disabled{opacity:.5;cursor:not-allowed;color:#7b6e7d;background:#0f0b11;border-color:#59465b}.info-popover__btn:focus-visible{outline-offset:2px;outline:2px solid #f5f0e8}.info-popover{z-index:100;box-sizing:border-box;color:#d4cbd3;background:#1a141d;border:1px solid #a77c22;border-radius:6px;width:100%;margin:6px 0 10px;padding:10px 12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 14px #0009}.info-popover__header{border-bottom:1px solid #332735;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;display:flex}.info-popover__title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:.85rem;font-weight:600}.info-popover__close{color:#c7bdc6;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.8rem;display:inline-flex}.info-popover__close:hover{color:#ffb7bf;background:#332735}.info-popover__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.info-popover__item{font-size:.75rem;line-height:1.35}.info-popover__item-name{color:#dfb83e}.info-popover__item-desc{color:#d4cbd3}.lobby-config__group+.lobby-config__group{margin-top:20px}.lobby-config__option{color:#d4cbd3;background:#0f0b11;border-color:#59465b}.lobby-config__option:hover{background:#332735;border-color:#a77c22}.lobby-config__option--selected,.lobby-config__option--selected:hover,.lobby-config__option--selected:disabled:hover{color:#171118;background:#dfb83e}.lobby-config__color.lobby-config__option--selected{outline-offset:1px;border-color:#dfb83e;outline:2px solid #f5f0e8}.lobby-config__color{position:relative;overflow:hidden}.lobby-config__color--unavailable:after{content:"";pointer-events:none;background:linear-gradient(to bottom right,#0000 calc(50% - 2px),#0f0b11cc calc(50% - 2px) calc(50% + 2px),#0000 calc(50% + 2px)),linear-gradient(to top right,#0000 calc(50% - 2px),#0f0b11cc calc(50% - 2px) calc(50% + 2px),#0000 calc(50% + 2px));position:absolute;inset:0}.lobby-config__color.lobby-config__color--unavailable:disabled{cursor:not-allowed}.lobby-config__option:disabled:not(.lobby-config__option--selected):hover{background:#0f0b11;border-color:#59465b}.lobby-config__team--unavailable:not(.lobby-config__option--selected){color:#ef5b5b;text-decoration:line-through}.lobby-config__error{color:#ffb7bf;margin:0;font-size:.75rem}.match-start{border-top:1px solid #332735;gap:10px;margin-top:24px;padding-top:20px;display:grid}.match-start__title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.match-start__button:disabled{cursor:not-allowed}.match-start__status{color:#c7bdc6;min-height:1.25em;margin:0;font-size:.75rem;line-height:1.4}.quit-waiting-notice{background:#332735a6;border:1px solid #dfb83e8c;border-radius:6px;gap:8px;margin-top:24px;padding:16px;display:grid}.quit-waiting-notice__title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.quit-waiting-notice__message{color:#d4cbd3;margin:0;font-size:.8125rem;line-height:1.5}.match-timer{gap:10px;display:grid}.match-timer__title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.match-timer__label,.match-timer__status{color:#c7bdc6;margin:0;font-size:.75rem}.match-timer__value{color:#f5f0e8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:2rem;font-weight:700}.action-message{color:#f5f0e8;background:#332735a6;border:1px solid #a77c22;border-radius:6px;margin:0;padding:10px 12px;font-size:.8125rem;line-height:1.4}.game-preview-lock{z-index:100;text-align:center;background:#03040b1a;place-items:center;padding:32px;display:grid;position:absolute;inset:0}.game-preview-lock__panel{background:#120e158c;border:1px solid #dfb83ea6;border-radius:8px;width:min(420px,100%);padding:24px 28px;box-shadow:0 18px 50px #00000073}.game-preview-lock__label{color:#a99fa8;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:700}.game-preview-lock__title{color:#dfb83e;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.game-preview-lock__message{color:#d4cbd3;margin:0;line-height:1.5}.match-result-overlay__button{min-width:180px;margin-top:20px}.lobby-roster__panel{text-align:left;width:min(680px,100%)}.lobby-roster__title{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.lobby-roster__count{color:#d4cbd3;white-space:nowrap;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:700}.lobby-roster__players{gap:8px;margin:18px 0;padding:0;list-style:none;display:grid}.lobby-roster__player{background:#0f0b11d1;border:1px solid #59465b;border-radius:6px;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.5fr) auto;align-items:center;gap:16px;min-width:0;padding:12px 14px;display:grid}.lobby-roster__identity{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.lobby-roster__name{color:#f5f0e8;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.lobby-roster__host-badge,.lobby-roster__you-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:3px;padding:2px 5px;font-size:.625rem;font-weight:800}.lobby-roster__host-badge{color:#dfb83e;border:1px solid #a77c22}.lobby-roster__you-badge{color:#c7bdc6;background:#332735}.lobby-roster__summary{color:#c7bdc6;letter-spacing:.03em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;margin:0;font-size:.75rem;font-weight:700;overflow:hidden}.lobby-roster__ready{color:#a99fa8;letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:800}.lobby-roster__ready--active{color:#65d69a}.lobby-roster__message{text-align:center;width:max-content;max-width:100%;margin:12px auto 0;position:relative}.lobby-roster__waiting-message{text-align:center}.lobby-roster__hint-question{color:#d4cbd3;cursor:pointer;list-style:none}.lobby-roster__hint-question::-webkit-details-marker{display:none}.lobby-roster__hint-answer{z-index:1;color:#f5f0e8;background:#171118;border:1px solid #59465b;border-radius:5px;width:max-content;max-width:min(280px,80vw);margin:0;padding:8px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0006}.lobby-chat{border-top:1px solid #59465b;gap:10px;margin-top:20px;padding-top:18px;display:grid}.lobby-chat__title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.lobby-chat__messages{background:#0f0b11d1;border:1px solid #332735;border-radius:6px;align-content:start;gap:8px;min-height:84px;max-height:160px;margin:0;padding:10px;list-style:none;display:grid;overflow-y:auto}.lobby-chat__message{color:#d4cbd3;grid-template-columns:minmax(70px,auto) minmax(0,1fr);gap:8px;font-size:.8125rem;line-height:1.4;display:grid}.lobby-chat__author{color:#f5f0e8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lobby-chat__text{overflow-wrap:anywhere;min-width:0}.lobby-chat__empty{color:#a99fa8;margin:auto;font-size:.8125rem}.lobby-chat__form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.lobby-chat__input{color:#f5f0e8;min-width:0;font:inherit;background:#0f0b11;border:1px solid #59465b;border-radius:5px;padding:9px 10px}.lobby-chat__send{color:#171118;font:inherit;cursor:pointer;background:#dfb83e;border:1px solid #a77c22;border-radius:5px;padding:9px 13px;font-size:.8125rem;font-weight:800}.lobby-chat__input:focus-visible,.lobby-chat__send:focus-visible{outline-offset:2px;outline:2px solid #f5f0e8}.lobby-chat__send:disabled,.lobby-chat__input:disabled{cursor:not-allowed;opacity:.55}.game-viewport{width:100%;height:100%;position:relative;overflow:hidden}.game-scene{transform-origin:0 0;contain:layout paint style;--candle-light-width:300px;--candle-light-height:200px;--candle-inner-light-size:26px;--candle-inner-light-opacity:.6;--ghost-light-size:135px;--ghost-light-opacity:.6;--ghost-inner-light-size:100px;--ghost-inner-light-opacity:.4;position:absolute;overflow:hidden}.game-background,.game-layer{width:100%;height:100%;position:absolute;inset:0}.game-background{z-index:0;object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;image-rendering:auto}.candles-layer{z-index:10}.players-layer{z-index:20}.lighting-layer{z-index:30;pointer-events:none}.lighting-darkness{pointer-events:none;image-rendering:auto;width:100%;height:100%;display:block;position:absolute;inset:0}.effects-layer{z-index:40;pointer-events:none}.ui-layer{z-index:50}.player{pointer-events:none;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.player__visual{width:40px;height:70px;position:absolute;transform:translate(-50%,-100%)}.player__sprite{z-index:1;width:40px;height:70px;image-rendering:pixelated;background-repeat:no-repeat;position:relative}.player__power-up-effect,.player__capture-effect{--player-effect-offset-x:0px;--player-effect-mirrored-offset-x:0px;z-index:0;width:80px;height:96px;transform:translateX(calc(-50% + var(--player-effect-offset-x)));image-rendering:pixelated;pointer-events:none;will-change:background-position;background-position:0 0;background-repeat:no-repeat;background-size:640px 96px;position:absolute;bottom:0;left:50%}.player[data-team=human] .player__capture-effect{--player-effect-offset-x:-7px;--player-effect-mirrored-offset-x:7px;top:-26px}.player[data-team=ghost] .player__capture-effect{top:-58px;left:19px}.player__capture-effect,.player__power-up-effect[data-effect-type=speed-boost],.player__power-up-effect[data-effect-type=slow-opponents]{animation:1s steps(8,end) infinite player-power-up-effect-sprite}.player__power-up-effect[data-effect-type=freeze-opponents]{z-index:2;animation:player-freeze-effect-sprite var(--freeze-effect-duration,1s) steps(8) 1 forwards}.player[data-team=ghost] .player__power-up-effect[data-effect-type=slow-opponents]{--player-effect-offset-x:-35px;--player-effect-mirrored-offset-x:35px;bottom:-11px}.player[data-team=ghost] .player__capture-effect{bottom:40px}.player[data-team=ghost] .player__sprite{filter:brightness(1.05) saturate(1.08) drop-shadow(0 0 2px rgb(var(--player-light-rgb) / 62%))}.player[data-team=human] .player__sprite{filter:none}.player[data-team=ghost] .player__power-up-effect[data-effect-type=freeze-opponents]{bottom:-15px}.player[data-team=human] .player__power-up-effect[data-effect-type=slow-opponents]{transform-origin:bottom;bottom:-8px;left:8px;scale:.75}.player[data-team=human][data-facing=left]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect[data-effect-type=slow-opponents]{left:12px}.player[data-team=human]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect[data-effect-type=speed-boost]{--player-effect-offset-x:-18px;--player-effect-mirrored-offset-x:18px;transform-origin:bottom;top:-40px;left:4px;scale:.75}.player[data-team=human][data-facing=left]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect[data-effect-type=speed-boost]{left:10px}.player[data-team=human][data-variant=male]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect[data-effect-type=speed-boost]{top:-38px;left:6px}.player[data-team=human][data-variant=female][data-facing=left]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect[data-effect-type=speed-boost]{left:13px}.player[data-team=human][data-variant=male][data-facing=left]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect[data-effect-type=speed-boost]{left:15px}.player[data-team=ghost] .player__power-up-effect[data-effect-type=speed-boost]{--player-effect-offset-x:10px;--player-effect-mirrored-offset-x:70px;top:-20px;left:-20px}.player[data-team=human][data-animation=climb] .player__power-up-effect[data-effect-type=speed-boost],.player[data-team=human][data-animation=climbIdle] .player__power-up-effect[data-effect-type=speed-boost]{--player-effect-offset-x:0px;--player-effect-mirrored-offset-x:0px;transform-origin:bottom;top:-20px;left:16px;transform:translate(-50%)}.player[data-team=human][data-animation=climb] .player__power-up-effect[data-effect-type=slow-opponents],.player[data-team=human][data-animation=climbIdle] .player__power-up-effect[data-effect-type=slow-opponents]{--player-effect-offset-x:0px;--player-effect-mirrored-offset-x:0px;transform-origin:bottom;left:16px;transform:translate(-50%)}.player[data-facing=left]:not([data-animation=climb]):not([data-animation=climbIdle]) .player__power-up-effect,.player[data-facing=left] .player__capture-effect{transform:translateX(calc(-50% + var(--player-effect-mirrored-offset-x))) scaleX(-1)}.player[data-facing=left] .player__sprite{transform:scaleX(-1)}.player__name{z-index:3;color:#fff;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #000;max-width:140px;font-family:sans-serif;font-size:14px;position:absolute;bottom:100%;left:50%;overflow:hidden;transform:translate(-50%)}.player[data-frozen=true] .player__sprite{animation:player-freeze-tint var(--freeze-effect-duration,1s) linear 1 forwards}@keyframes player-power-up-effect-sprite{0%{background-position-x:0}to{background-position-x:-640px}}@keyframes player-freeze-effect-sprite{0%{background-position-x:0}to{background-position-x:-640px}}@keyframes player-freeze-tint{0%,15%{filter:none}55%,to{filter:brightness(1.25)saturate(.55)sepia(.15)hue-rotate(155deg)drop-shadow(0 0 3px #64dcffcc)}}.player-light{pointer-events:none;will-change:transform;--player-light-rgb:255 215 150;width:0;height:0;position:absolute;top:0;left:0}.player-light:before,.player-light:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.player-light[data-team=human]{--human-held-light-x:15px;display:none}.player-light[data-team=human][data-facing=left]{--human-held-light-x:-15px}.player-light[data-team=human]:before{left:var(--human-held-light-x);opacity:.42;background:radial-gradient(#ffe0a070 0%,#ffae4a2b 36%,#0000 70%);width:80px;height:86px;top:-50px;transform:translate(-50%,-50%)}.player-light[data-team=human]:after{left:var(--human-held-light-x);opacity:.62;background:radial-gradient(#ffe7aa9e 0%,#ffae4a38 45%,#0000 74%);width:22px;height:25px;top:-50px;transform:translate(-50%,-50%)}.player-light[data-team=ghost]:before{width:var(--ghost-light-size);height:var(--ghost-light-size);opacity:calc(var(--ghost-light-opacity) * .72);background:radial-gradient(circle, rgb(var(--player-light-rgb) / 28%) 0 21%, rgb(var(--player-light-rgb) / 10%) 49%, transparent 74%);top:-35px;left:0;transform:translate(-50%,-50%)}.player-light[data-team=ghost]:after{width:var(--ghost-inner-light-size);height:var(--ghost-inner-light-size);opacity:calc(var(--ghost-inner-light-opacity) * .72);background:radial-gradient(circle, rgb(var(--player-light-rgb) / 40%) 0%, rgb(var(--player-light-rgb) / 15%) 45%, transparent 75%);top:-35px;left:0;transform:translate(-50%,-50%)}.candle{--capture-progress:0;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.candle-light{pointer-events:none;width:0;height:0;transition:opacity .1s linear;position:absolute;top:0;left:0}.candle__sprite{width:10px;height:45px;image-rendering:pixelated;-webkit-user-select:none;user-select:none;pointer-events:none;transition:opacity .1s linear;display:block;transform:translate(-50%,-100%)}.candle[data-control=human] .candle__sprite{opacity:1}.candle[data-control=ghost] .candle__sprite{opacity:.78}.candle[data-control=neutral]:before,.candle[data-control=ghost]:not([data-owner-color]):before{content:"";pointer-events:none;background:radial-gradient(#cdd7e13d 0%,#afbed21c 42%,#0000 75%);border-radius:50%;width:32px;height:48px;position:absolute;top:-20px;left:0;transform:translate(-50%,-50%)}.candle[data-owner-color] .candle__sprite{opacity:1}.candle[data-control=ghost][data-owner-color] .candle__sprite{opacity:.84}.candle[data-control=ghost][data-owner-color]:before{content:"";background:radial-gradient(circle, rgb(var(--owner-color-channels) / 72%) 0%, rgb(var(--owner-color-channels) / 42%) 38%, transparent 74%);pointer-events:none;border-radius:50%;width:54px;height:64px;position:absolute;top:-22px;left:0;transform:translate(-50%,-50%)}.candle[data-control=neutral] .candle__sprite{opacity:.82}.candle[data-capturing-team=human] .candle__sprite{opacity:calc(.7 + var(--capture-progress))}.candle[data-capturing-team=ghost] .candle__sprite{opacity:calc(1 - var(--capture-progress))}.candle-light:before,.candle-light:after{content:"";pointer-events:none;border-radius:50%;transition:opacity .1s linear,transform .1s linear;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.candle-light[data-control=neutral],.candle-light[data-control=ghost]{display:none}.candle-light[data-capturing-team=human]{display:block}.candle-light[data-control=human]:after,.candle-light[data-control=player]:after,.candle-light[data-capturing-team=human]:after{width:var(--candle-inner-light-size);height:var(--candle-inner-light-size);opacity:var(--candle-inner-light-opacity);background:radial-gradient(circle, var(--owner-light-core,#ffd773a6) 0%, var(--owner-light-edge,#ffaf4647) 42%, transparent 75%)}.candle-light[data-capturing-team=human]:after{opacity:var(--capture-progress);transform:translate(-50%, -50%) scale(calc(.5 + var(--capture-progress)));background:radial-gradient(circle,#ffaf46d9 0%,#ff5f1e6b 42%,#0000 75%)}.candle-light[data-capturing-team=ghost]{opacity:calc(1 - var(--capture-progress))}.candle-light[data-capturing-team=ghost]:after{transform:translate(-50%, -50%) scale(calc(1 - var(--capture-progress)));animation:.24s steps(2,end) infinite candle-ghost-capture-flicker}@keyframes candle-ghost-capture-flicker{0%,to{opacity:1}45%{opacity:.5}65%{opacity:.85}}.candle-light[data-owner-color]{--owner-light-core:rgb(var(--owner-color-channels) / var(--owner-glow-core-opacity));--owner-light-edge:rgb(var(--owner-color-channels) / var(--owner-glow-edge-opacity))}.candle-light[data-control=human][data-owner-color]:before,.candle-light[data-control=player][data-owner-color]:before{opacity:.82;background:radial-gradient(circle, rgb(var(--owner-color-channels) / var(--owner-glow-core-opacity)) 0%, rgb(var(--owner-color-channels) / var(--owner-glow-edge-opacity)) 35%, transparent 75%);filter:saturate(2)brightness(.95);width:90px;height:70px}.candle-light[data-control=ghost][data-capturing-team=human]:before{opacity:0}.score-hud{--score-accent:#dfb83e;z-index:120;color:#f5f0e8;pointer-events:none;background:#0c0910db;border:1px solid #a77c22bf;border-radius:9px;width:max-content;max-width:calc(100% - 48px);padding:10px 14px 13px;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000007a,inset 0 0 18px #dfb83e0f}.score-hud__title{color:#dfb83e;letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0 0 7px;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1}.score-hud__entries{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.score-hud__entry{border:1px solid #ffffff1a;border-left:3px solid var(--score-accent);background:#ffffff0d;border-radius:6px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:150px;max-width:245px;padding:7px 10px;display:grid}.score-hud__icon{width:20px;height:35px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--score-accent) 70%, transparent));image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;background-size:80px}.score-hud__entry[data-team=human]{--score-accent:#e7b947}.score-hud__entry[data-team=ghost]{--score-accent:#a9cffa}.score-hud__label{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.score-hud__value{min-width:2ch;color:var(--score-accent);font-variant-numeric:tabular-nums;text-align:right;text-shadow:0 0 8px color-mix(in srgb, var(--score-accent) 45%, transparent);font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:800;line-height:1}.power-up{width:40px;height:40px;image-rendering:pixelated;pointer-events:none;will-change:background-position;background-position:0 0;background-repeat:no-repeat;background-size:320px 40px;animation:1s steps(8,end) infinite power-up-sprite;position:absolute;transform:translate(-50%,-100%)}.power-up[data-reserved-for-team=human]{filter:drop-shadow(0 0 5px #ffb946e6)}.power-up[data-reserved-for-team=ghost]{filter:drop-shadow(0 0 5px #69b4ffe6)}@keyframes power-up-sprite{0%{background-position-x:0}to{background-position-x:-320px}}.power-up-effects-hud{z-index:120;color:#f5f0e8;pointer-events:none;background:#0c0910d6;border:1px solid #a77c2299;border-radius:8px;width:210px;padding:9px 10px 10px;position:absolute;top:20px;left:20px;box-shadow:0 8px 20px #00000073,inset 0 0 14px #dfb83e0d}.power-up-effects-hud__title{color:#dfb83e;letter-spacing:.12em;text-align:center;text-transform:uppercase;margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1}.power-up-effects-hud__entries{gap:5px;display:grid}.power-up-effects-hud__entry{--effect-accent:#dfb83e;border:1px solid #ffffff17;border-left:3px solid var(--effect-accent);background:#ffffff0d;border-radius:5px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:4px 7px 4px 4px;display:grid}.power-up-effects-hud__entry[data-effect-type=speed-boost]{--effect-accent:#ff9d3d}.power-up-effects-hud__entry[data-effect-type=capture-boost]{--effect-accent:#8fdb52}.power-up-effects-hud__entry[data-effect-type=blackout-opponents]{--effect-accent:#bc63ff}.power-up-effects-hud__entry[data-effect-type=slow-opponents]{--effect-accent:#62bfe8}.power-up-effects-hud__entry[data-effect-type=freeze-opponents]{--effect-accent:#9ce8ff}.power-up-effects-hud__entry[data-effect-type=pickup-cooldown]{--effect-accent:#f0c24e}.power-up-effects-hud__icon{width:32px;height:32px;filter:drop-shadow(0 0 4px var(--effect-accent));image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;background-size:256px 32px;animation:1s steps(8,end) infinite power-up-effects-hud-sprite}.power-up-effects-hud__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:700;line-height:1.1;overflow:hidden}.power-up-effects-hud__time{min-width:2.5ch;color:var(--effect-accent);font-variant-numeric:tabular-nums;text-align:right;text-shadow:0 0 6px var(--effect-accent);font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:700}.power-up-effects-hud__icon--cooldown{image-rendering:auto;background-position:50%;background-repeat:no-repeat;background-size:22px 22px;animation:2s ease-in-out infinite power-up-cooldown-pulse}@keyframes power-up-effects-hud-sprite{0%{background-position-x:0}to{background-position-x:-256px}}@keyframes power-up-cooldown-pulse{0%,to{filter:drop-shadow(0 0 3px var(--effect-accent));transform:scale(1)}50%{filter:drop-shadow(0 0 6px var(--effect-accent));transform:scale(1.1)}}.blackout-overlay{z-index:100;pointer-events:none;opacity:1;visibility:visible;transition:opacity .15s ease-out,visibility .15s ease-out;position:absolute;inset:0}.blackout-overlay[hidden]{opacity:0;visibility:hidden;pointer-events:none;display:block}.blackout-overlay[hidden] .blackout-overlay__vortex{animation-play-state:paused}.blackout-overlay__interior{contain:strict;position:absolute;inset:0;overflow:hidden}.blackout-overlay__interior:before{content:"";pointer-events:none;background:radial-gradient(circle,#640fa559 0%,#460a7826 55%,#0000 72%);border-radius:50%;width:1300px;height:1300px;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.blackout-overlay__vortex{opacity:.88;transform-origin:50%;backface-visibility:hidden;will-change:transform;contain:layout style paint;background-position:50%;background-repeat:no-repeat;background-size:contain;width:1300px;height:1300px;animation:2.4s linear infinite blackout-vortex-spin;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)rotate(0)}@keyframes blackout-vortex-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.blackout-overlay__vortex{animation-duration:8s}}.match-result-sequence{z-index:200;isolation:isolate;background:#030208a8;place-items:end center;padding:clamp(18px,4vh,42px);display:grid;position:absolute;inset:0;overflow:hidden}.match-result-sequence:before{z-index:-1;background:radial-gradient(circle at 50% 46%, var(--result-glow), transparent 54%), linear-gradient(to top, #020107e0, transparent 62%);content:"";animation:1.6s ease-out both match-result-light-reveal;position:absolute;inset:0}.match-result-sequence--human-victory{--result-accent:#ffd65a;--result-glow:#ffb53161}.match-result-sequence--ghost-victory{--result-accent:#c48dfa;--result-glow:#b245ff61}.match-result-sequence--defeat{--result-accent:#df7777;--result-glow:#52112994}.match-result-sequence--draw{--result-accent:#d4cbd3;--result-glow:#574c6a6b}.match-result-sequence__effects{z-index:-1;pointer-events:none;position:absolute;inset:0}.match-result-sequence__title-art{opacity:0;filter:drop-shadow(0 10px 22px #000000d1);width:min(76%,920px);height:auto;image-rendering:pixelated;animation:.7s ease-out .9s forwards match-result-title-reveal;position:absolute;top:15%;left:50%;transform:translate(-50%,-24px)scale(.92)}.match-result-sequence__aura{width:240px;height:288px;filter:drop-shadow(0 0 24px var(--result-accent));image-rendering:pixelated;opacity:0;background-position:0 0;background-repeat:no-repeat;background-size:1920px 288px;animation:1s steps(8,end) .25s infinite match-result-aura-sprite,.5s ease-out .25s forwards match-result-aura-reveal;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.match-result-sequence__candle-flare{top:var(--result-effect-top);left:var(--result-effect-left);image-rendering:pixelated;opacity:0;filter:drop-shadow(0 0 18px #ffca46eb);width:64px;height:128px;animation:match-result-flare-sprite .72s var(--result-effect-delay) steps(8) both, match-result-decoration-reveal .72s var(--result-effect-delay) ease-out both;background-position:0 0;background-repeat:no-repeat;background-size:512px 128px;position:absolute;transform:translate(-50%,-50%)}.match-result-sequence__candle-flare--ghost{filter:drop-shadow(0 0 18px #c48dfaf2)}.match-result-sequence__ghost-eyes{top:var(--result-effect-top);left:var(--result-effect-left);width:140px;height:70px;image-rendering:pixelated;opacity:0;filter:drop-shadow(0 0 16px #b245fff2);animation:match-result-eyes-sprite 2.4s var(--result-effect-delay,0s) steps(8) forwards, match-result-eyes-fade 2.4s var(--result-effect-delay,0s) ease-in-out forwards;background-position:0 0;background-repeat:no-repeat;background-size:1120px 70px;position:absolute;transform:translate(-50%,-50%)}.match-result-sequence__content{z-index:1;border-color:color-mix(in srgb, var(--result-accent) 70%, transparent);width:min(480px,100%);box-shadow:0 18px 50px #000000a8, 0 0 28px color-mix(in srgb, var(--result-accent) 24%, transparent);text-align:center;opacity:0;background:#0d0911e0;animation:.5s ease-out 1.45s forwards match-result-content-reveal;transform:translateY(18px)}.match-result-sequence__heading{color:var(--result-accent)}.match-result-sequence__score{color:#f5f0e8;text-transform:capitalize;margin:14px 0 0;font-size:.875rem;font-weight:800}@keyframes match-result-light-reveal{0%{opacity:0}to{opacity:1}}@keyframes match-result-title-reveal{0%{opacity:0;transform:translate(-50%,-24px)scale(.92)}70%{opacity:1;transform:translate(-50%,3px)scale(1.02)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes match-result-aura-sprite{0%{background-position-x:0}to{background-position-x:-1920px}}@keyframes match-result-flare-sprite{0%{background-position-x:0}to{background-position-x:-512px}}@keyframes match-result-eyes-sprite{0%{background-position-x:0}to{background-position-x:-1120px}}@keyframes match-result-eyes-fade{0%{opacity:0}15%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes match-result-aura-reveal{0%{opacity:0}to{opacity:.92}}@keyframes match-result-decoration-reveal{0%,to{opacity:0}20%,75%{opacity:1}}@keyframes match-result-content-reveal{to{opacity:1;transform:translateY(0)}}@media (width<=700px){.match-result-sequence{padding:16px 12px 72px}.match-result-sequence__title-art{width:92%;top:18%}.match-result-sequence__aura{bottom:17%;transform:translate(-50%)scale(.78)}.match-result-sequence__content{padding:16px}}@media (prefers-reduced-motion:reduce){.match-result-sequence *,.match-result-sequence:before{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.mobile-controls,.mobile-menu-toggle,.mobile-menu-backdrop{display:none}@media (width<=900px){body{overflow:hidden auto}.app-shell{grid-template:"top""side""main"minmax(320px,56.25vw)/minmax(0,1fr);height:auto;min-height:100svh}.top-bar{min-height:48px;padding:max(6px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 6px max(8px, env(safe-area-inset-left));gap:8px}.app-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.app-shell:not([data-phase=entry]) .app-title,.room-share__label,.room-share__status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.room-share{gap:6px;margin-left:0}.room-share__code{font-size:.8rem}.icon-button,.guide-button{min-width:36px;min-height:36px}.quit-button{min-width:42px;min-height:36px;padding:0 9px}.top-bar__actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.connection-status{margin:0;font-size:0}.connection-status:before{width:10px;height:10px}.sidebar{width:100%;padding:16px max(14px, env(safe-area-inset-left));border-bottom:1px solid #332735;border-right:0;gap:14px;overflow:visible}.entry-controls__input{min-height:44px;font-size:16px}.entry-controls__button{min-height:44px}.main-stage{width:100%;min-height:320px}.game-preview-lock{align-items:start;padding:16px 12px;overflow-y:auto}.game-preview-lock__panel{padding:18px 16px}.lobby-roster__player{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:10px 11px}.lobby-roster__summary{white-space:normal;grid-area:2/1/auto/-1}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]){height:100svh;min-height:0;display:block;position:relative;overflow:hidden}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .main-stage{touch-action:none;width:100%;height:100%;min-height:0;position:absolute;inset:0}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .top-bar,.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .sidebar{z-index:312;width:min(320px,86vw);transition:transform .18s ease-out;position:absolute;right:0;transform:translate(calc(100% + 16px))}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .top-bar{min-height:0;padding:max(68px, calc(env(safe-area-inset-top) + 58px)) 16px 12px;background:#171118;border-bottom:0;border-left:1px solid #59465b;flex-wrap:wrap;place-content:start flex-start;display:flex;top:0}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .top-bar .app-title{display:none}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .top-bar__actions{flex-wrap:wrap;gap:10px;width:100%;display:flex}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .connection-status{width:100%;margin-bottom:4px;font-size:.75rem}.app-shell:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .sidebar{z-index:311;max-width:none;height:100%;padding:max(150px, calc(env(safe-area-inset-top) + 140px)) 16px max(18px, env(safe-area-inset-bottom));pointer-events:auto;background:#171118;border-bottom:0;border-left:1px solid #59465b;border-right:0;display:block;top:0;overflow-y:auto}.app-shell--mobile-menu-open:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .top-bar,.app-shell--mobile-menu-open:is([data-phase=playing],[data-phase=paused],[data-phase=finished]) .sidebar{transform:translate(0)}.mobile-menu-toggle{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));z-index:314;color:#f5f0e8;cursor:pointer;background:#120e15d1;border:1px solid #a77c22cc;border-radius:10px;place-items:center;width:46px;height:46px;padding:0;font:800 1.45rem/1 system-ui,sans-serif;position:absolute;box-shadow:0 6px 18px #0000006b}.mobile-menu-toggle:not([hidden]){display:grid}.mobile-menu-backdrop{z-index:310;background:#0302088f;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.mobile-menu-backdrop:not([hidden]){display:block}.match-timer{background:#0c0910d1;border:1px solid #a77c22a6;border-radius:7px;gap:9px;padding:14px;box-shadow:0 6px 18px #0006}.match-timer__value{font-size:1.65rem}.match-timer__button{min-height:44px}.action-message{margin-top:10px}.score-hud{transform-origin:top;top:12px;transform:translate(-50%)scale(1.35)}.power-up-effects-hud{transform-origin:0 0;top:12px;left:12px;transform:scale(1.35)}}@media (width<=900px),(hover:none) and (pointer:coarse){.mobile-controls{z-index:220;padding:12px max(14px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:0;left:0;right:0}.mobile-controls__joystick{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle,#dfb83e17 0 34%,#0000 35%),#120e159e;border:2px solid #dfb83ea6;border-radius:50%;width:132px;height:132px;position:relative;box-shadow:0 5px 18px #0000007a,inset 0 0 22px #dfb83e1f}.mobile-controls__joystick:before,.mobile-controls__joystick:after{content:"";pointer-events:none;background:#dfb83e2e;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-controls__joystick:before{width:70%;height:1px}.mobile-controls__joystick:after{width:1px;height:70%}.mobile-controls__joystick-thumb{z-index:1;pointer-events:none;background:#a77c22e0;border:2px solid #f5f0e8b8;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 4px 12px #00000085,inset 0 0 14px #ffedaa33}.mobile-controls__joystick--active{border-color:#dfb83ef2}.mobile-controls__orientation-hint{color:#f5f0e8;text-align:center;pointer-events:none;background:#0c0910c7;border:1px solid #a77c228c;border-radius:6px;width:max-content;max-width:calc(100% - 120px);margin:0;padding:6px 9px;font-size:.7rem;display:none;position:absolute;top:14px;left:50%;transform:translate(-50%)}.mobile-controls__action-button{color:#e6ffb4;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:#163113bf;border:2px solid #8fdb52d1;border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:27px;padding:0;font:800 1.25rem/1 system-ui,sans-serif;display:grid;box-shadow:0 4px 14px #0000007a,inset 0 0 12px #8fdb521f}.mobile-controls__button--active{color:#171118;background:#dfb83ef0;transform:scale(.94)}.mobile-controls__action-button span{font-size:1.65rem;line-height:.8}.mobile-controls__action-button small{letter-spacing:.08em;text-transform:uppercase;font-size:.58rem}}@media (orientation:portrait) and (hover:none) and (pointer:coarse){.mobile-controls__orientation-hint{display:block}}@media (height<=500px) and (orientation:landscape){.mobile-controls{padding-bottom:max(7px, env(safe-area-inset-bottom))}.mobile-controls__joystick{width:108px;height:108px}.mobile-controls__joystick-thumb{width:46px;height:46px;margin:-23px 0 0 -23px}.mobile-controls__action-button{width:68px;height:68px;margin-bottom:20px}}.match-chat{border-top:1px solid #59465b;gap:8px;margin-top:18px;padding-top:16px;display:grid}.match-chat__title{color:#dfb83e;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1rem}.match-chat__hint{color:#a99fa8;margin:0;font-size:.6875rem}.match-chat__messages{box-sizing:border-box;background:#0f0b11db;border:1px solid #332735;border-radius:6px;align-content:start;gap:7px;height:170px;margin:0;padding:9px;list-style:none;display:grid;overflow-y:auto}.match-chat__message{color:#d4cbd3;gap:2px;font-size:.75rem;line-height:1.35;display:grid}.match-chat__message--own{text-align:right;justify-items:end}.match-chat__message--own .match-chat__author,.match-chat__message--own .match-chat__text{max-width:90%}.match-chat__author{color:#f5f0e8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-chat__text{overflow-wrap:anywhere}.match-chat__empty{color:#786e77;margin:auto;font-size:.75rem}.match-chat__form{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.match-chat__input,.match-chat__send{color:#f5f0e8;min-width:0;font:inherit;background:#0f0b11;border:1px solid #59465b;border-radius:5px;padding:8px 9px;font-size:.75rem}.match-chat__send{color:#171118;cursor:pointer;background:#dfb83e;border-color:#a77c22;font-weight:800}.match-chat--focused .match-chat__input{outline-offset:1px;border-color:#dfb83e;outline:2px solid #dfb83e4d}.match-chat__input:disabled,.match-chat__send:disabled{cursor:not-allowed;opacity:.55}.game-guide-modal{z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.game-guide-modal__backdrop{-webkit-backdrop-filter:blur(4px);background:#000000bf;position:absolute;inset:0}.game-guide-modal__dialog{z-index:1;color:#f5f0e8;background:#120d18;border:2px solid #a77c22;border-radius:12px;flex-direction:column;width:min(740px,100%);max-height:min(88vh,720px);animation:.2s cubic-bezier(.16,1,.3,1) game-guide-pop;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #000000d9,inset 0 0 20px #dfb83e14}@keyframes game-guide-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.game-guide-modal__header{background:#dfb83e12;border-bottom:1px solid #a77c2273;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.game-guide-modal__title{color:#dfb83e;letter-spacing:.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:700}.game-guide-modal__close-button{color:#dfb83e;cursor:pointer;background:#ffffff0d;border:1px solid #a77c2280;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:background .15s,color .15s;display:inline-flex}.game-guide-modal__close-button:hover,.game-guide-modal__close-button:focus-visible{color:#120d18;background:#dfb83e}.game-guide-modal__body{scrollbar-width:thin;scrollbar-color:#a77c22 transparent;flex-direction:column;gap:24px;padding:20px;display:flex;overflow-y:auto}.game-guide-section{flex-direction:column;gap:10px;display:flex}.game-guide-section__title{color:#f0c24e;letter-spacing:.03em;border-bottom:1px solid #ffffff1a;margin:0;padding-bottom:6px;font-family:Georgia,Times New Roman,serif;font-size:1rem}.game-guide-section__desc{color:#ddd4c7;margin:0;font-size:.88rem;line-height:1.45}.game-guide-grid{gap:12px;display:grid}.game-guide-grid--rules,.game-guide-grid--controls{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.game-guide-card{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;padding:12px 14px}.game-guide-card p{color:#c9c1b3;margin:0;font-size:.85rem;line-height:1.4}.game-guide-card__heading{color:#dfb83e;margin:0 0 6px;font-size:.92rem;font-weight:700}.game-guide-card__heading--human{color:#ffb946}.game-guide-card__heading--ghost{color:#69b4ff}.game-guide-list{color:#ddd4c7;flex-direction:column;gap:7px;margin:0;padding-left:0;font-size:.84rem;list-style:none;display:flex}.game-guide-list li{line-height:1.4}kbd{color:#fbe285;background:#00000080;border:1px solid #dfb83e80;border-radius:4px;margin:0 2px;padding:2px 6px;font-family:monospace;font-size:.82rem;font-weight:700;display:inline-block}.game-guide-badge{background:#ffffff14;border:1px solid #fff3;border-radius:4px;margin:0 2px;padding:1px 5px;font-weight:700;display:inline-block}.game-guide-showcase{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:4px;display:grid}.game-guide-showcase__item{text-align:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;align-items:center;padding:12px 10px;display:flex}.game-guide-showcase__frame{background:#120d18e6;border-radius:10px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:8px;display:flex;position:relative}.game-guide-showcase__frame--human{border:2px solid #ffb946;animation:2s ease-in-out infinite guide-frame-pulse-human;box-shadow:0 0 16px #ffb946cc,inset 0 0 10px #ffb9464d}.game-guide-showcase__frame--ghost{border:2px solid #69b4ff;animation:2s ease-in-out infinite guide-frame-pulse-ghost;box-shadow:0 0 16px #69b4ffcc,inset 0 0 10px #69b4ff4d}.game-guide-showcase__frame--neutral{border:1px dashed #ffffff4d;box-shadow:inset 0 0 8px #0006}.game-guide-showcase__frame--cooldown{border:2px solid #f0c24e;box-shadow:0 0 12px #f0c24e80,inset 0 0 8px #f0c24e33}@keyframes guide-frame-pulse-human{0%,to{box-shadow:0 0 12px #ffb94699,inset 0 0 8px #ffb94640}50%{box-shadow:0 0 22px #ffb946f2,inset 0 0 14px #ffb94673}}@keyframes guide-frame-pulse-ghost{0%,to{box-shadow:0 0 12px #69b4ff99,inset 0 0 8px #69b4ff40}50%{box-shadow:0 0 22px #69b4fff2,inset 0 0 14px #69b4ff73}}.game-guide-showcase__aura{pointer-events:none;z-index:1;border-radius:50%;position:absolute;inset:4px}.game-guide-showcase__aura--human{background:radial-gradient(circle,#ffb94673 0%,#ffb9461f 50%,#ffb94600 75%);animation:2s ease-in-out infinite guide-aura-pulse-human}.game-guide-showcase__aura--ghost{background:radial-gradient(circle,#69b4ff73 0%,#69b4ff1f 50%,#69b4ff00 75%);animation:2s ease-in-out infinite guide-aura-pulse-ghost}@keyframes guide-aura-pulse-human{0%,to{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes guide-aura-pulse-ghost{0%,to{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.game-guide-showcase__sprite{z-index:2;width:40px;height:40px;image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;background-size:320px 40px;animation:1s steps(8,end) infinite power-up-sprite;position:relative}.game-guide-showcase__sprite[data-reserved-for-team=human]{filter:drop-shadow(0 0 5px #ffb946f2)drop-shadow(0 0 10px #ffb946b3)}.game-guide-showcase__sprite[data-reserved-for-team=ghost]{filter:drop-shadow(0 0 5px #69b4fff2)drop-shadow(0 0 10px #69b4ffb3)}.game-guide-showcase__sprite[data-reserved-for-team=neutral]{filter:none}.game-guide-showcase__hourglass{z-index:2;filter:drop-shadow(0 0 6px #f0c24e);background-position:50%;background-repeat:no-repeat;background-size:contain;width:34px;height:34px;animation:2s ease-in-out infinite power-up-cooldown-pulse;position:relative}.game-guide-showcase__tag{letter-spacing:.03em;text-transform:uppercase;border-radius:4px;margin-bottom:6px;padding:3px 7px;font-size:.72rem;font-weight:700;display:inline-block}.game-guide-showcase__tag--human{color:#ffb946;background:#ffb94626;border:1px solid #ffb94666}.game-guide-showcase__tag--ghost{color:#69b4ff;background:#69b4ff26;border:1px solid #69b4ff66}.game-guide-showcase__tag--neutral{color:#b5ac9d;background:#ffffff1a;border:1px solid #fff3}.game-guide-showcase__tag--cooldown{color:#fbe285;background:#f0c24e26;border:1px solid #f0c24e66}.game-guide-showcase__text{color:#c9c1b3;margin:0;font-size:.78rem;line-height:1.35}.game-guide-powerups{flex-direction:column;gap:8px;display:flex}.game-guide-powerup-row{background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;padding:8px 10px;display:grid}.game-guide-powerup-icon{width:40px;height:40px;image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;background-size:320px 40px;animation:1s steps(8,end) infinite power-up-sprite}.game-guide-powerup-info{min-width:0}.game-guide-powerup-name{margin-bottom:2px;font-size:.88rem;font-weight:700}.game-guide-powerup-name--speed{color:#ff9d3d}.game-guide-powerup-name--capture{color:#8fdb52}.game-guide-powerup-name--blackout{color:#bc63ff}.game-guide-powerup-name--slow{color:#62bfe8}.game-guide-powerup-name--freeze{color:#9ce8ff}.game-guide-powerup-desc{color:#c0b7a8;font-size:.81rem;line-height:1.35}.game-guide-modal__footer{background:#00000040;border-top:1px solid #a77c2273;justify-content:flex-end;padding:12px 20px;display:flex}.game-guide-modal__ok-button{color:#120d18;font:inherit;cursor:pointer;background:#dfb83e;border:1px solid #dfb83e;border-radius:6px;padding:8px 22px;font-size:.88rem;font-weight:700;transition:transform .1s,box-shadow .15s,background .15s;box-shadow:0 2px 10px #dfb83e4d}.game-guide-modal__ok-button:hover,.game-guide-modal__ok-button:focus-visible{background:#f0c24e;transform:translateY(-1px);box-shadow:0 2px 16px #f0c24e80}
