.lobby-eventually{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6em 4em 4em;color:#ffffffe6;font-family:Roboto,sans-serif;font-size:16pt;font-weight:400;letter-spacing:-.01em;line-height:1.65em}.lobby-eventually a{border-bottom:dotted 1px rgba(255,255,255,.25);color:#1cb495;text-decoration:none;transition:border-color .2s ease,color .2s ease}.lobby-eventually a:hover{border-bottom-color:transparent;color:#1cb495}#header{text-align:center;max-width:36em;margin-bottom:2em}#header h1{margin:0 0 .55em}.lobby-logo{display:flex;justify-content:center;margin:0 0 .55em}.lobby-logo-img{display:block;width:min(28rem,92vw);height:auto;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}#signup-form,.lobby-join-form{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:0;max-width:52em;width:100%}#signup-form>*,.lobby-join-form>*{margin:0 0 0 1em}#signup-form>:first-child,.lobby-join-form>:first-child{margin-left:0}.lobby-join-form{margin-top:1.25em}.lobby-eventually input[type=text]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:solid 2px rgba(255,255,255,.35);border-radius:6px;color:inherit;display:block;height:2.75em;outline:0;padding:0 1em;width:14em;transition:border-color .2s ease,background-color .2s ease}.lobby-eventually input[type=text]:focus{background-color:#ffffff20;border-color:#1cb495}.lobby-eventually input::placeholder{color:#ffffff80}.lobby-eventually .button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#1cb495;border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-family:inherit;font-size:.85em;font-weight:700;height:2.75em;line-height:2.75em;padding:0 1.125em;text-align:center;white-space:nowrap;transition:background-color .2s ease-in-out,opacity .2s ease-in-out}.lobby-eventually .button:hover:not(:disabled){background-color:#1eb89a}.lobby-eventually .button:disabled{cursor:not-allowed;opacity:.45}.lobby-eventually .button--secondary{background-color:#ffffff20;color:#ffffffd9}.lobby-eventually .button--secondary:hover:not(:disabled){background-color:#fff3}.lobby-rules-button{position:fixed;top:1rem;right:1rem;z-index:90;margin:0!important}.lobby-difficulty{display:flex;flex-direction:column;justify-content:center;gap:.35em;width:100%;min-width:0;padding:.35em .75em;border:solid 2px rgba(255,255,255,.35);border-radius:6px;color:#ffffffd9;font-size:.75em;font-weight:700;letter-spacing:.02em;cursor:pointer}.lobby-difficulty-text{white-space:nowrap}.lobby-difficulty input[type=range]{width:100%;margin:0;accent-color:#1cb495;cursor:pointer}.lobby-ai-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.25em;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lobby-ai-dialog{width:min(22em,100%);padding:1.25em;border:solid 2px rgba(255,255,255,.2);border-radius:10px;background:#120e10f5;box-shadow:0 18px 50px #00000073;animation:lobby-ai-dialog-in .18s ease-out}.lobby-ai-dialog-title{margin:0 0 .9em;font-size:1.15em;font-weight:700;letter-spacing:.04em;text-align:center;color:#fff}.lobby-ai-dialog-actions{display:flex;justify-content:flex-end;gap:.65em;margin-top:1.1em}.lobby-rules-dialog{width:min(36em,100%);max-height:min(85vh,40em);display:flex;flex-direction:column}.lobby-rules-body{overflow-y:auto;padding-right:.35em;margin:0 0 .25em;text-align:left;font-size:.88em;line-height:1.55;color:#ffffffe0}.lobby-rules-body section+section{margin-top:1.1em}.lobby-rules-body h3{margin:0 0 .4em;font-size:.95em;font-weight:700;letter-spacing:.04em;color:#1cb495;text-transform:uppercase}.lobby-rules-body p,.lobby-rules-body ul{margin:0 0 .55em}.lobby-rules-body ul{padding-left:1.2em}.lobby-rules-body li+li{margin-top:.35em}.lobby-rules-body strong{color:#fff;font-weight:700}.lobby-rules-body em{font-style:italic;color:#fffffff2}@keyframes lobby-ai-dialog-in{0%{opacity:0;transform:translateY(.4em) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.lobby-ai-dialog{animation:none}}.lobby-hint{margin:1.25em 0 0;text-align:center;font-size:.85em;color:#fa7;max-width:28em}.lobby-error{margin:1em 0 0;text-align:center;color:#ff6b6b;font-size:.9em}.lobby-match-code{margin:1em 0 0;text-align:center;font-size:.95em}.lobby-match-code strong{color:#fff;letter-spacing:.08em;word-break:break-all}.online-lobby{display:flex;flex-direction:column;align-items:center;width:100%;max-width:40em}.online-lobby #header h1{font-size:clamp(1.6rem,4vw,2.4em);font-weight:700;letter-spacing:.04em;margin:0 0 .45em}.online-lobby-create{margin-bottom:1.5em}.online-lobby-list-header{display:flex;align-items:center;justify-content:space-between;gap:1em;width:100%;margin:.5em 0 .75em}.online-lobby-list-header h2{margin:0;font-size:1.1em;font-weight:700;letter-spacing:.04em}.online-lobby-empty{margin:0 0 1.25em;text-align:center;color:#ffffffa6;font-size:.95em}.online-lobby-list{list-style:none;margin:0 0 1.25em;padding:0;width:100%;display:flex;flex-direction:column;gap:.65em}.online-lobby-row{display:flex;align-items:center;justify-content:space-between;gap:1em;padding:.75em 1em;border:solid 2px rgba(255,255,255,.2);border-radius:6px;background:#ffffff0a}.online-lobby-row-info{display:flex;flex-direction:column;gap:.15em;min-width:0}.online-lobby-host{font-weight:700;color:#fff}.online-lobby-meta{font-size:.8em;color:#ffffff8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-lobby-actions{display:flex;justify-content:center;gap:.75em;margin-top:.5em;width:100%}@media screen and (max-width:736px){.online-lobby-row{flex-direction:column;align-items:stretch}.online-lobby-row .button{width:100%}.online-lobby-list-header{flex-direction:column;align-items:stretch}}@media screen and (max-width:1680px){.lobby-eventually{font-size:12pt;padding:6em 3.5em 3.5em}}@media screen and (max-width:736px){.lobby-eventually{padding:5em 2em 2em}.lobby-logo-img{width:min(20rem,88vw)}#signup-form,.lobby-join-form{flex-direction:column;align-items:stretch}#signup-form>*,.lobby-join-form>*{margin:1.25em 0 0;width:100%}#signup-form>:first-child,.lobby-join-form>:first-child{margin-top:0}.lobby-eventually input[type=text]{width:100%}.lobby-difficulty{min-width:0;width:100%}}:root{--gradient-color-bg1: rgb(28, 0, 8);--gradient-color-bg2: rgb(12, 2, 0);--gradient-color1: 220, 45, 45;--gradient-color2: 190, 35, 55;--gradient-color3: 255, 70, 50;--gradient-color4: 210, 25, 25;--gradient-color5: 150, 35, 35;--gradient-color-interactive: 205, 55, 45;--gradient-circle-size: 80%;--gradient-blending: hard-light}@keyframes gradient-move-in-circle{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}@keyframes gradient-move-vertical{0%{transform:translateY(-50%)}50%{transform:translateY(50%)}to{transform:translateY(-50%)}}@keyframes gradient-move-horizontal{0%{transform:translate(-50%) translateY(-10%)}50%{transform:translate(50%) translateY(10%)}to{transform:translate(-50%) translateY(-10%)}}.gradient-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(40deg,var(--gradient-color-bg1),var(--gradient-color-bg2))}.gradient-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#0000006b;pointer-events:none}.gradient-bg svg{position:fixed;top:0;left:0;width:0;height:0}.gradient-bg .gradients-container{filter:url(#goo) blur(40px);width:100%;height:100%}.gradient-bg .g1{position:absolute;background:radial-gradient(circle at center,rgba(var(--gradient-color1),.8) 0,rgba(var(--gradient-color1),0) 50%) no-repeat;mix-blend-mode:var(--gradient-blending);width:var(--gradient-circle-size);height:var(--gradient-circle-size);top:calc(50% - var(--gradient-circle-size) / 2);left:calc(50% - var(--gradient-circle-size) / 2);transform-origin:center center;animation:gradient-move-vertical 100s ease infinite;opacity:1}.gradient-bg .g2{position:absolute;background:radial-gradient(circle at center,rgba(var(--gradient-color2),.8) 0,rgba(var(--gradient-color2),0) 50%) no-repeat;mix-blend-mode:var(--gradient-blending);width:var(--gradient-circle-size);height:var(--gradient-circle-size);top:calc(50% - var(--gradient-circle-size) / 2);left:calc(50% - var(--gradient-circle-size) / 2);transform-origin:calc(50% - 400px);animation:gradient-move-in-circle 70s reverse infinite;opacity:1}.gradient-bg .g3{position:absolute;background:radial-gradient(circle at center,rgba(var(--gradient-color3),.8) 0,rgba(var(--gradient-color3),0) 50%) no-repeat;mix-blend-mode:var(--gradient-blending);width:var(--gradient-circle-size);height:var(--gradient-circle-size);top:calc(50% - var(--gradient-circle-size) / 2 + 200px);left:calc(50% - var(--gradient-circle-size) / 2 - 500px);transform-origin:calc(50% + 400px);animation:gradient-move-in-circle 140s linear infinite;opacity:1}.gradient-bg .g4{position:absolute;background:radial-gradient(circle at center,rgba(var(--gradient-color4),.8) 0,rgba(var(--gradient-color4),0) 50%) no-repeat;mix-blend-mode:var(--gradient-blending);width:var(--gradient-circle-size);height:var(--gradient-circle-size);top:calc(50% - var(--gradient-circle-size) / 2);left:calc(50% - var(--gradient-circle-size) / 2);transform-origin:calc(50% - 200px);animation:gradient-move-horizontal 140s ease infinite;opacity:.7}.gradient-bg .g5{position:absolute;background:radial-gradient(circle at center,rgba(var(--gradient-color5),.8) 0,rgba(var(--gradient-color5),0) 50%) no-repeat;mix-blend-mode:var(--gradient-blending);width:calc(var(--gradient-circle-size) * 2);height:calc(var(--gradient-circle-size) * 2);top:calc(50% - var(--gradient-circle-size));left:calc(50% - var(--gradient-circle-size));transform-origin:calc(50% - 800px) calc(50% + 200px);animation:gradient-move-in-circle 70s ease infinite;opacity:1}.gradient-bg .interactive{position:absolute;background:radial-gradient(circle at center,rgba(var(--gradient-color-interactive),.8) 0,rgba(var(--gradient-color-interactive),0) 50%) no-repeat;mix-blend-mode:var(--gradient-blending);width:100%;height:100%;top:-50%;left:-50%;opacity:.7}.app-shell{position:relative;z-index:1;min-height:100vh}.music-knob{position:fixed;right:1rem;bottom:1rem;z-index:100;width:108px;height:108px;display:flex;align-items:center;justify-content:center;pointer-events:auto}.music-knob__clock,.clock-input{display:flex;position:relative;width:64px;height:64px;margin:0;padding:0;--a: #0004, #fff4;--b: var(--a), var(--a), var(--a);--c: var(--b), var(--b), var(--b);background:conic-gradient(from -2deg,#efefff88,#0008,#efefff88,#0008,#efefff88),radial-gradient(var(--c),var(--c)),radial-gradient(circle at 12% 12%,#efefff,#9999a4);background-size:calc(100% + 8px) calc(100% + 8px);background-position:-4px -4px;border:4px solid #0005;border-radius:50%;box-shadow:0 4px 18px #00000073;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.music-knob__clock:focus-visible{outline:2px solid #c9a86c;outline-offset:3px}.music-knob__dial,.dial{position:absolute;width:28px;height:4px;border-radius:99px;background-color:#000b;top:calc(50% - 2px);left:calc(50% - 2px);transform-origin:2px 50%;pointer-events:none;transition:transform .15s ease;z-index:1}.music-knob__notch,.notch{position:absolute;top:50%;left:50%;width:10px;height:2px;margin:0;padding:0;border:0;background:transparent;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--angle)) translate(42px);z-index:2}.music-knob__notch:before{content:"";position:absolute;top:50%;left:0;width:8px;height:1px;background-color:#fffc;transform:translateY(-50%);pointer-events:none}.music-knob__label{position:absolute;left:12px;top:50%;color:#ffffffe0;font-family:Orbitron,sans-serif;font-size:8px;font-weight:700;letter-spacing:.04em;line-height:1;white-space:nowrap;transform:translateY(-50%) rotate(var(--label-angle));text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.music-knob__notch--active .music-knob__label{color:#fff;text-shadow:0 0 6px rgba(255,255,255,.55),0 1px 2px rgba(0,0,0,.8)}.burn-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:all;background:#000;overflow:hidden}.burn-transition__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}@media(prefers-reduced-motion:reduce){.burn-transition{display:none}}.board-2d{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);aspect-ratio:1;width:min(92vmin,720px);max-width:100%;margin:0 auto;position:relative;border:4px solid #3d2b1f;border-radius:4px;box-shadow:0 8px 32px #00000080;background:#2a1f18}.board-square{position:relative;padding:0;border:none;background:transparent;cursor:pointer;overflow:hidden}.board-square--disabled{cursor:default}.board-square__tile{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.board-square__highlight{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:4px;pointer-events:none}.piece-sprite{display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;transition:transform .2s ease,opacity .15s ease}.piece-sprite--draggable{pointer-events:auto;cursor:grab;touch-action:none}.piece-sprite--draggable:active{cursor:grabbing}.piece-sprite--dragging{opacity:.25}.board-2d--dragging{touch-action:none;-webkit-user-select:none;user-select:none}.piece-drag-ghost{position:fixed;transform:translate(-50%,-50%);pointer-events:none;z-index:10000;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}.piece-drag-ghost img{width:100%;height:100%;object-fit:contain}.board-square__highlight--drop-target{top:4%;right:4%;bottom:4%;left:4%;box-shadow:0 0 0 3px #66ffaae6}.piece-sprite img{width:calc(100% * var(--piece-scale, .82));height:calc(100% * var(--piece-scale, .82));object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}.piece-sprite--draggable img{pointer-events:none}.piece-sprite--selected img{transform:scale(1.08);filter:drop-shadow(0 0 8px rgba(255,204,0,.6))}.bomb-marker{display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.bomb-marker img{width:calc(100% * var(--bomb-scale, .55));height:calc(100% * var(--bomb-scale, .55));object-fit:contain;opacity:.85}.explosion-sprite{display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.explosion-sprite__burst{width:calc(100% * var(--explosion-size, 1.05));height:calc(100% * var(--explosion-size, 1.05));border-radius:50%;animation:explosion-burst var(--explosion-duration, .5s) steps(var(--explosion-frames, 5)) forwards;background:radial-gradient(circle,#ffff88 0%,#ff8800 40%,#ff4400 70%,transparent 100%)}@keyframes explosion-burst{0%{transform:scale(.2);opacity:1}40%{transform:scale(.8);opacity:.95}to{transform:scale(1.2);opacity:0}}@media(max-width:640px){.board-2d{width:min(96vw,480px)}}.game-ui{position:absolute;top:0;left:0;right:0;z-index:10;pointer-events:none}.game-ui button{pointer-events:auto}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,transparent 100%)}.game-header h1{margin:0;font-size:1.4rem;font-weight:600;color:#f5e6d3;letter-spacing:.04em}.status-panel{display:flex;justify-content:center;align-items:center;gap:2rem;padding:.5rem 1rem;margin:0 auto;max-width:720px}.cyber-player-btn{position:relative;height:42px;min-width:132px;margin:3px;opacity:.78;transition:opacity .2s ease}.cyber-player-btn--active{opacity:1;filter:drop-shadow(0 0 8px rgba(255,255,255,.35))}.cyber-player-btn--active.cyber-player-btn--red{filter:drop-shadow(0 0 10px rgba(245,67,79,.65))}.cyber-player-btn__face{--color: #ffffff;--font-size: 10px;--shadow-secondary: #000000;--clip: polygon( 11% 0, 95% 0, 100% 25%, 90% 90%, 95% 90%, 85% 90%, 85% 100%, 7% 100%, 0 80% );--border: 5px;--shimmy-distance: 5;--clip-one: polygon( 0 2%, 100% 2%, 100% 95%, 95% 95%, 95% 90%, 85% 90%, 85% 95%, 8% 95%, 0 70% );--clip-two: polygon( 0 78%, 100% 78%, 100% 100%, 95% 100%, 95% 90%, 85% 90%, 85% 100%, 8% 100%, 0 78% );--clip-three: polygon( 0 44%, 100% 44%, 100% 54%, 95% 54%, 95% 54%, 85% 54%, 85% 54%, 8% 54%, 0 54% );--clip-four: polygon( 0 0, 100% 0, 100% 0, 95% 0, 95% 0, 85% 0, 85% 0, 8% 0, 0 0 );--clip-five: polygon( 0 0, 100% 0, 100% 0, 95% 0, 95% 0, 85% 0, 85% 0, 8% 0, 0 0 );--clip-six: polygon( 0 40%, 100% 40%, 100% 85%, 95% 85%, 95% 85%, 85% 85%, 85% 85%, 8% 85%, 0 70% );--clip-seven: polygon( 0 63%, 100% 63%, 100% 80%, 95% 80%, 95% 80%, 85% 80%, 85% 80%, 8% 80%, 0 70% );color:var(--color);text-transform:uppercase;font-size:var(--font-size);letter-spacing:2px;position:relative;font-weight:900;width:100%;height:100%;line-height:42px;text-align:center;transition:background .2s,font-size .3s;font-family:Orbitron,sans-serif;padding:0 .75rem;white-space:nowrap}.cyber-player-btn--red .cyber-player-btn__face{--primary: #f5434f;--shadow-primary: #631e29}.cyber-player-btn--black .cyber-player-btn__face{--primary: #212121;--shadow-primary: #ffffff;--color: #ffffff}.cyber-player-btn__face:before,.cyber-player-btn__face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:var(--clip);z-index:-1}.cyber-player-btn__face:before{background:var(--shadow-primary);transform:translate(var(--border))}.cyber-player-btn__face:after{background:var(--primary)}.cyber-player-btn__name{position:relative;z-index:1}.cyber-player-btn__glitch{position:absolute;inset:calc(var(--border) * -1);background:var(--shadow-primary);text-shadow:2px 2px var(--shadow-primary),-2px -2px var(--shadow-secondary);clip-path:var(--clip);display:block;opacity:0;line-height:42px;padding:0 .75rem;pointer-events:none;animation:cyber-player-btn-glitch 5s linear infinite}.cyber-player-btn__glitch:before{content:"";position:absolute;inset:calc(var(--border) * 1);clip-path:var(--clip);background:var(--primary);z-index:-1}.cyber-player-btn__tag{background:var(--shadow-primary);color:#323232;font-size:6px;font-weight:700;letter-spacing:1px;position:absolute;width:18px;height:7px;top:0;right:6%;line-height:7px;z-index:2}@keyframes cyber-player-btn-glitch{0%,12%,to{opacity:0;clip-path:var(--clip);transform:translate(0)}1%{opacity:1;clip-path:var(--clip-one);transform:translate(0)}2.5%{opacity:1;clip-path:var(--clip-two);transform:translate(calc(var(--shimmy-distance) * -1%))}4%{opacity:1;clip-path:var(--clip-two);transform:translate(calc(var(--shimmy-distance) * 1%))}5.5%{opacity:1;clip-path:var(--clip-three);transform:translate(calc(var(--shimmy-distance) * 1%))}7%{opacity:1;clip-path:var(--clip-six);transform:translate(calc(var(--shimmy-distance) * -1%))}8.5%{opacity:1;clip-path:var(--clip-seven);transform:translate(calc(var(--shimmy-distance) * 1%))}10%{opacity:1;clip-path:var(--clip);transform:translate(0)}11%{opacity:0;clip-path:var(--clip);transform:translate(0)}}@media(prefers-reduced-motion:reduce){.cyber-player-btn__glitch{animation:none!important;opacity:0!important}}.turn-indicator{min-width:120px;text-align:center;font-size:.9rem;color:#f5e6d3}.your-turn{color:#6fcf97;font-weight:600}.their-turn{color:#f5e6d3b3}.winner-text{color:gold;font-weight:700;font-size:1.1rem}.hint-banner{text-align:center;margin-top:.5rem;padding:.4rem 1rem;background:#44ff8826;color:#6fcf97;font-size:.85rem;pointer-events:none}.hazard-hint{background:#ff643226;color:#fa7}.btn-secondary{padding:.45rem 1rem;background-color:transparent;background-size:100% 100%;background-repeat:no-repeat;border:none;border-radius:6px;color:#f5e6d3;cursor:pointer;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:filter .2s}.btn-secondary:hover{filter:brightness(1.15)}.game-board{width:100vw;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;background:transparent}.board-2d-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:8rem 1rem 1rem;min-height:0;position:relative}@media(max-width:640px){.board-2d-wrapper{padding-top:10rem}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;font-family:Roboto,Segoe UI,system-ui,-apple-system,sans-serif;background:linear-gradient(40deg,#6c00a2,#001152);color:#f5e6d3;-webkit-font-smoothing:antialiased}.editor-banner{position:fixed;top:0;left:0;right:280px;z-index:15;padding:.4rem .75rem;background:#8b4513eb;color:#f5e6d3;font-size:.85rem;text-align:center;pointer-events:none}.game-board--editor .game-board{height:100vh}
