:root{--page-pad-left: max(12px, env(safe-area-inset-left));--page-pad-right: max(12px, env(safe-area-inset-right));--page-pad-top: max(12px, env(safe-area-inset-top));--page-pad-bottom: max(12px, env(safe-area-inset-bottom));--page-inline-space: calc(var(--page-pad-left) + var(--page-pad-right));--page-block-space: calc(var(--page-pad-top) + var(--page-pad-bottom));--cell-size: min(64px, calc((100vw - var(--page-inline-space) - 72px) / 10), calc((100vh - var(--page-block-space) - 205px) / 8));--title-font-size: clamp(1.5em, 4vw, 3.5em);--turn-font-size: clamp(.8em, 3vw, 1.2em);--turn-width: min(520px, calc(100vw - var(--page-inline-space) - 16px))}html,body,#root{margin:0;height:100%;padding-left:var(--page-pad-left);padding-right:var(--page-pad-right);padding-top:var(--page-pad-top);padding-bottom:var(--page-pad-bottom);background-image:linear-gradient(#00000080,#00000080),url(/assets/bg-laser-chess-DoMoVnMM.png);background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat;font-family:Courier New,monospace;font-size:18px;font-weight:700;color:#0ff;overflow:hidden}.app-container{min-height:100%;display:flex;flex-direction:column;text-align:center;padding-top:20px}.app-main{flex:1;padding-bottom:72px}.title{font-family:Orbitron,Courier New,monospace;font-size:var(--title-font-size);font-weight:800;margin:0;color:#0ff;text-shadow:0 0 10px #00ffff,0 0 20px #00ffff,0 0 30px #00ffff,0 0 40px #ff0040,0 0 50px #ff0040;letter-spacing:.15em;animation:neon-pulse 3s ease-in-out infinite}@keyframes neon-pulse{0%,to{text-shadow:0 0 10px #00dfff,0 0 20px #00dfff,0 0 30px #00dfff,0 0 40px #ff0040,0 0 50px #ff0040}50%{text-shadow:0 0 15px #00dfff,0 0 25px #00dfff,0 0 40px #00dfff,0 0 50px #ff0040,0 0 60px #ff0040}}.subtitle{color:#ff0040;text-shadow:0 0 6px #ff0040}.turn-indicator{display:flex;align-items:center;justify-content:space-between;gap:16px;width:var(--turn-width);padding:12px 20px;margin:20px auto 0;border:2px solid;border-radius:8px;font-size:var(--turn-font-size);font-weight:700;letter-spacing:.05em;transition:border-color .3s,box-shadow .3s,color .3s;box-sizing:border-box;background:#000000b3}.turn-indicator__status{flex:1;min-width:0;text-align:left}.turn-indicator__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.status-menu-anchor{position:relative}.status-menu-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:6px;border:1px solid rgba(0,255,255,.26);background:#00000047;color:#0ffc;cursor:pointer;font-family:inherit;font-size:.68em;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:border-color .15s,color .15s,box-shadow .15s,background .15s}.status-menu-button:hover,.status-menu-button--open{color:#0ff;border-color:#00ffff8c;box-shadow:0 0 8px #00ffff3d}.status-menu{position:absolute;top:calc(100% + 10px);right:0;width:min(220px,calc(100vw - 56px));padding:12px;border:1px solid rgba(0,255,255,.2);border-radius:12px;background:#03080ef5;box-shadow:0 12px 32px #00000073,0 0 18px #00ffff1f;z-index:20}.status-menu--centered,.status-menu.game-header-dropdown{position:fixed;top:50%;left:50%;right:auto;width:min(260px,calc(100vw - 40px));transform:translate(-50%,-50%);z-index:1100}.status-menu__title,.status-menu__meta{margin:0}.status-menu__title{color:#0ff;font-size:.72em;letter-spacing:.1em;text-transform:uppercase}.status-menu__meta{margin-top:6px;margin-bottom:12px;color:#ebfaffa8;font-size:.68em;word-break:break-word}.status-menu__item{width:100%;min-height:42px;margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,255,255,.24);background:#00ffff14;color:#0ff;cursor:pointer;font-family:inherit;font-size:.7em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .15s,border-color .15s,box-shadow .15s,color .15s}.status-menu__item:hover{border-color:#00ffff7a;background:#00ffff24;box-shadow:0 0 10px #00ffff1f}.status-menu__item--secondary{border-color:#ff004033;background:#ff00400f;color:#ff9ab4}.status-menu__item--secondary:hover{border-color:#ff00406b;background:#ff00401f;box-shadow:0 0 10px #ff00401a}.turn-indicator.turn-Red{color:#ff0040;border-color:#ff004080;box-shadow:0 0 15px #ff004099,inset 0 0 8px #ff004033;text-shadow:0 0 10px #ff0040}.turn-indicator.turn-Blue{color:#0ff;border-color:#00ffff80;box-shadow:0 0 15px #0ff9,inset 0 0 8px #0ff3;text-shadow:0 0 10px #00ffff}.turn-indicator.winner-Red{color:#ff0040;border-color:#ff0040b3;box-shadow:0 0 20px #ff0040cc,inset 0 0 10px #ff00404d;text-shadow:0 0 15px #ff0040;font-weight:900}.turn-indicator.winner-Blue{color:#0ff;border-color:#00ffffb3;box-shadow:0 0 20px #0ffc,inset 0 0 10px #00ffff4d;text-shadow:0 0 15px #00ffff;font-weight:900}.turn-indicator.winner-draw{color:#ff6;border-color:#ff69;box-shadow:0 0 20px #ffff66b3,inset 0 0 10px #ff63;text-shadow:0 0 15px #ffff66;font-weight:900}.board-grid{position:relative;display:flex;flex-direction:column;gap:0;margin:0 auto}.coord-header{display:flex;gap:0;margin-left:0;margin-bottom:0}.coord-corner{width:0;height:var(--cell-size);flex-shrink:0}.coord-col{width:var(--cell-size);height:var(--cell-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#00ffffb3;font-weight:700;font-size:.75em;text-shadow:0 0 4px rgba(0,255,255,.4)}.board-grid-wrapper{display:flex;gap:0;align-items:flex-start}.coord-rows-container{display:flex;flex-direction:column;gap:0;width:40px;flex-shrink:0}.coord-row-label{width:calc(var(--cell-size) * .85);height:var(--cell-size);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#00ffffb3;font-weight:700;font-size:.75em;text-shadow:0 0 4px rgba(0,255,255,.4)}.board-container{display:inline-block;box-shadow:inset 0 0 0 1px #0ff3;transition:box-shadow .4s;margin:0;padding:0}.board-container.turn-Red{box-shadow:inset 0 0 0 1px #ff004066}.board-container.turn-Blue{box-shadow:inset 0 0 0 1px #0ff6}.board-row{display:flex}.cell{width:var(--cell-size);height:var(--cell-size);display:flex;justify-content:center;align-items:center;transition:background .25s ease;position:relative;overflow:hidden}.cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #00ffff40,0 0 14px #00ffff4d,0 0 26px #00ffff24;opacity:0;transition:opacity .25s ease,box-shadow .25s ease;pointer-events:none}.cell:hover:after{opacity:1;box-shadow:inset 0 0 0 2px #00ffff75,0 0 18px #0ff6,0 0 32px #0ff3}.cell.cell--occupied:after{display:none}.piece{-webkit-user-select:none;user-select:none;transition:box-shadow .25s ease,filter .25s ease}.piece:not(.destroying):hover{box-shadow:0 0 8px currentColor,0 0 14px currentColor,0 0 18px #ffffff40;filter:drop-shadow(0 0 10px currentColor)}.piece.destroying{animation:piece-destruction .4s ease-out forwards}@keyframes piece-destruction{0%{opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 4px currentColor)}50%{opacity:.8;transform:scale(1.5) rotate(180deg);filter:drop-shadow(0 0 12px #ffff00)}to{opacity:0;transform:scale(.5) rotate(360deg);filter:drop-shadow(0 0 0px transparent)}}.turn-button{display:inline-block;margin:0;background:#0ff;color:#000;border:none;padding:12px 20px;min-height:44px;min-width:48px;font-weight:700;border-radius:8px;cursor:pointer;box-shadow:0 0 10px #0ff;box-sizing:border-box}.turn-button:hover{background:#ff0040;box-shadow:0 0 15px #ff0040;color:#fff}.cell.selected{background:#ff03;box-shadow:0 0 10px #ff6 inset}.controls{display:flex;justify-content:center;gap:8px;margin-top:10px}.controls--singleplayer{margin-top:14px;margin-bottom:8px}.network-waiting-indicator{width:fit-content;max-width:min(420px,calc(100vw - 40px));margin:10px auto 0;padding:10px 16px;border:1px solid rgba(0,255,255,.24);border-radius:10px;background:#000a109e;color:#00ffffb8;font-size:12px;letter-spacing:.04em;text-align:center;box-shadow:inset 0 0 0 1px #ffffff05;box-sizing:border-box}.game-over{margin-top:40px}.game-over-text{font-size:2.5em;font-weight:700;text-shadow:0 0 20px currentColor;margin-bottom:20px}.turn-button:disabled{opacity:.4;cursor:not-allowed}.game-header{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px;margin-bottom:4px;flex-wrap:wrap}.game-header .subtitle{margin:0}.game-header-menu{z-index:30}.new-game-button{display:inline-flex;align-items:center;justify-content:center;background:#00000047;background-color:#00000047;background-position-x:0%;background-position-y:0%;background-repeat:repeat;background-attachment:scroll;background-image:none;background-size:auto;background-origin:padding-box;background-clip:border-box;color:#0ffc;border:1px solid rgba(0,255,255,.26);padding:8px 14px;min-height:44px;font-size:.68em;line-height:1;font-family:inherit;font-weight:700;border-radius:6px;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:border-color .15s,color .15s,box-shadow .15s,background .15s;box-sizing:border-box}.new-game-button:hover{color:#0ff;border-color:#00ffff8c;box-shadow:0 0 8px #00ffff3d}.board-wrapper{display:inline-flex;align-items:flex-start;gap:12px;margin-top:16px;position:relative}.board-container.board-reviewing{border-color:#ffa50080;box-shadow:inset 0 0 0 1px #ffa50059}.review-controls{display:flex;align-items:center;gap:8px;justify-content:center}.review-pos{font-size:.75em;color:#00ffffb3;min-width:80px;text-align:center}.dev-toggle{background:transparent;color:#0ff6;border:1px solid rgba(0,255,255,.2);padding:8px 12px;min-height:44px;min-width:44px;font-size:.7em;font-family:inherit;font-weight:700;border-radius:6px;cursor:pointer;letter-spacing:.05em;transition:color .15s,border-color .15s;box-sizing:border-box}.dev-toggle:hover{color:#0ffc;border-color:#00ffff80}.dev-toggle--on{color:#0ff;border-color:#0ff;box-shadow:0 0 6px #0ff6}.dev-panel{width:min(360px,calc(100vw - 48px));background:#000000d9;border:1px solid rgba(0,255,255,.2);border-radius:6px;display:flex;flex-direction:column;max-height:min(520px,42vh);font-size:.7em;font-family:inherit;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%);z-index:120;box-shadow:0 0 30px #00ffff59;overflow:hidden}.dev-panel-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dev-panel-modal-overlay .dev-panel{width:90vw;max-width:400px;max-height:70vh}.dev-panel-modal-content{background:#000000e6;border:1px solid rgba(0,255,255,.4);border-radius:8px;padding:16px;color:#0ff;text-align:center;max-width:320px;font-size:.9em}.dev-panel-modal-content p{margin:8px 0}.dev-panel-modal-close{margin-top:12px;padding:8px 16px;background:transparent;color:#0ff;border:1px solid rgba(0,255,255,.5);border-radius:4px;cursor:pointer;font-size:.9em;transition:all .2s ease}.dev-panel-modal-close:hover{color:#0ff;border-color:#0ff;box-shadow:0 0 8px #00ffff4d}.dev-panel-header{display:flex;align-items:center;justify-content:flex-start;padding:6px 10px;border-bottom:1px solid rgba(0,255,255,.15);gap:8px}.dev-label{color:#0ffc;font-weight:700;letter-spacing:.1em}.dev-pos{color:#00ffff80;font-size:.9em}.dev-live-btn{background:transparent;color:#ff0040;border:1px solid rgba(255,0,64,.4);padding:2px 8px;font-family:inherit;font-size:.9em;cursor:pointer;border-radius:4px}.dev-live-btn:hover{border-color:#ff0040;box-shadow:0 0 4px #ff004066}.dev-logging-btn{background:transparent;color:#00ffffb3;border:1px solid rgba(0,255,255,.3);padding:6px 12px;min-height:40px;font-family:inherit;font-size:.85em;cursor:pointer;border-radius:4px;white-space:nowrap;transition:all .2s ease;margin-left:auto;box-sizing:border-box}.dev-logging-btn:hover{color:#0ff;border-color:#0ff;box-shadow:0 0 4px #00ffff4d}.dev-logging-btn:active{box-shadow:0 0 6px #00ffff80}.dev-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 10px;border-bottom:1px solid rgba(0,255,255,.1)}.dev-nav-btn{background:transparent;color:#00ffffb3;border:1px solid rgba(0,255,255,.3);padding:6px 12px;min-height:40px;font-family:inherit;font-size:1em;cursor:pointer;border-radius:4px;box-sizing:border-box}.dev-nav-btn:hover:not(:disabled){color:#0ff;border-color:#0ff}.dev-nav-btn:disabled{opacity:.3;cursor:not-allowed}.dev-nav-pos{color:#0ff9;min-width:60px;text-align:center}.dev-log{flex:1;overflow-y:auto;padding:4px 0}.dev-log-entry{padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;line-height:1.5;transition:background .1s}.dev-log-entry:hover{background:#00ffff0d}.dev-log-entry--active{background:#00ffff1a;border-left:2px solid #00ffff}.dev-action{color:#ffffffb3;font-size:.95em}.dev-result{color:#ffffff80;font-size:.9em}.dev-empty{padding:12px 10px;color:#00ffff4d;text-align:center}.mode-select{margin-top:60px;display:flex;flex-direction:column;align-items:center;gap:12px}.mode-select-subtitle{font-size:.9em;color:#0ff9;letter-spacing:.15em;margin-bottom:16px;text-transform:uppercase}.mode-select__actions{display:flex;justify-content:center;gap:12px;width:min(320px,calc(100vw - 44px))}.menu-button{width:min(320px,calc(100vw - 44px));min-height:52px;padding:14px 20px;border-radius:14px;font-family:inherit;font-size:.82em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.menu-button:hover:not(:disabled){transform:translateY(-1px)}.menu-button:active:not(:disabled){transform:translateY(1px) scale(.995)}.menu-button:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.menu-button--primary{color:#041014;border:1px solid rgba(0,255,255,.9);background:linear-gradient(135deg,#00fffff2,#56ffb7eb);box-shadow:0 0 18px #00ffff47,inset 0 1px #ffffff59}.menu-button--primary:hover:not(:disabled){border-color:#7dff5df2;background:linear-gradient(135deg,#4affe0fa,#7dff5df0);box-shadow:0 0 24px #00ffff57,0 0 28px #7dff5d29}.menu-button--secondary{color:#ff9ab4;border:1px solid rgba(255,0,64,.35);background:linear-gradient(180deg,#1a070ceb,#0a0a0eeb);box-shadow:0 0 14px #ff004024,inset 0 0 0 1px #ffffff08}.menu-button--secondary:hover:not(:disabled){color:#ffd7e2;border-color:#ff0040a6;background:linear-gradient(180deg,#260812f5,#100a10f5);box-shadow:0 0 18px #ff004033,0 0 24px #ff004014}.menu-input{width:min(320px,calc(100vw - 44px));min-height:52px;padding:12px 16px;border-radius:14px;border:1px solid rgba(0,255,255,.28);background:#00000094;color:#0ff;text-align:center;font-family:inherit;font-size:.92em;font-weight:700;letter-spacing:.16em;box-sizing:border-box;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.menu-input::placeholder{color:#00ffff61;letter-spacing:.08em}.menu-input:focus{border-color:#00ffffb8;background:#00080cbd;box-shadow:0 0 18px #00ffff29}.session-panel{width:min(320px,calc(100vw - 44px));padding:18px 18px 20px;margin-bottom:20px;border:1px solid rgba(0,255,255,.34);border-radius:18px;background:linear-gradient(180deg,#040e14f0,#02070ce6);box-shadow:0 0 24px #00ffff1f,0 0 36px #ff00400f,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box}.session-panel__label,.session-panel__meta,.session-panel__status{margin:0}.session-panel__label{color:#d2f8ffb8;font-size:.68em;letter-spacing:.16em;text-transform:uppercase}.session-panel__code{margin:12px 0 14px;padding:14px 16px;border:1px solid rgba(0,255,255,.28);border-radius:14px;background:radial-gradient(circle at top,rgba(0,255,255,.16),transparent 55%),#00000085;color:#b9ffff;font-size:clamp(1.8em,5vw,2.3em);font-weight:800;letter-spacing:.28em;text-indent:.28em;text-shadow:0 0 10px rgba(0,255,255,.55),0 0 22px rgba(0,255,255,.28);box-shadow:inset 0 0 0 1px #ffffff0a,0 0 18px #00ffff1f}.session-panel__copy{width:100%;min-height:44px;margin:0 0 14px;border:1px solid rgba(0,255,255,.26);border-radius:12px;background:#00ffff14;color:#8ffcff;cursor:pointer;font-family:inherit;font-size:.7em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:border-color .15s,box-shadow .15s,background .15s,color .15s}.session-panel__copy:hover{border-color:#00ffff80;background:#00ffff24;color:#c9ffff;box-shadow:0 0 12px #00ffff1f}.session-panel__copy--success{border-color:#7dff5d8c;background:#7dff5d24;color:#baffb3;box-shadow:0 0 14px #7dff5d24}.session-panel__meta{color:#dcf8ffd6;font-size:.78em;line-height:1.5}.session-panel__player{color:#ff8aa9}.session-panel__player--blue{color:#74f7ff}.session-panel__player--red{color:#ff8aa9}.session-panel__status{margin-top:12px;color:#fff591e6;font-size:.76em;font-weight:700;letter-spacing:.05em}.session-panel__status--ready{color:#8dffb1;text-shadow:0 0 10px rgba(141,255,177,.2)}.game-over-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.review-button{background:#0ffc;box-shadow:0 0 10px #0ff9}.review-button:hover{background:#0ff;box-shadow:0 0 15px #0ffc}@keyframes bradford-shake-1{0%,to{transform:translate(0)}20%{transform:translate(-2px) rotate(-.3deg)}40%{transform:translate(2px) rotate(.3deg)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}@keyframes bradford-shake-2{0%,to{transform:translate(0)}15%{transform:translate(-4px) rotate(-.5deg)}30%{transform:translate(4px) rotate(.5deg)}45%{transform:translate(-3px) rotate(-.3deg)}60%{transform:translate(3px)}75%{transform:translate(-4px) rotate(-.4deg)}90%{transform:translate(2px)}}@keyframes bradford-shake-3{0%,to{transform:translate(0)}10%{transform:translate(-6px) rotate(-.8deg)}20%{transform:translate(6px) rotate(.8deg)}30%{transform:translate(-5px) rotate(-.6deg)}40%{transform:translate(5px) rotate(.5deg)}50%{transform:translate(-6px) rotate(-.7deg)}60%{transform:translate(4px)}70%{transform:translate(-5px) rotate(.6deg)}80%{transform:translate(6px) rotate(-.5deg)}90%{transform:translate(-3px)}}@keyframes bradford-shake-4{0%,to{transform:translate(0)}8%{transform:translate(-9px) rotate(-1.1deg)}16%{transform:translate(9px) rotate(1.1deg)}24%{transform:translate(-8px) rotate(-.9deg)}32%{transform:translate(8px) rotate(.9deg)}40%{transform:translate(-9px) rotate(-1deg)}48%{transform:translate(7px) rotate(.7deg)}56%{transform:translate(-8px) rotate(-.8deg)}64%{transform:translate(9px) rotate(1deg)}72%{transform:translate(-7px) rotate(-.6deg)}80%{transform:translate(8px) rotate(.8deg)}90%{transform:translate(-5px)}}.bradford-banner--rumble-1{animation:bradford-shake-1 .35s ease-in-out 3}.bradford-banner--rumble-2{animation:bradford-shake-2 .38s ease-in-out 3}.bradford-banner--rumble-3{animation:bradford-shake-3 .42s ease-in-out 3}.bradford-banner--rumble-4{animation:bradford-shake-4 .45s ease-in-out 3}.bradford-banner--rumble-continuous{animation:bradford-shake-4 .45s ease-in-out infinite}.bradford-banner{text-align:center;padding:4px 0 2px;margin-bottom:2px}@keyframes bradford-laser-flash{0%{color:gold;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3)}18%{color:gold;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3)}20%{color:#fff;text-shadow:0 0 24px rgba(0,255,255,1),0 0 50px rgba(0,255,255,.7),0 0 4px #fff}22%{color:gold;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3)}48%{color:gold;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3)}50%{color:#fff;text-shadow:0 0 24px rgba(255,0,64,1),0 0 50px rgba(255,0,64,.7),0 0 4px #fff}52%{color:gold;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3)}to{color:gold;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3)}}.bradford-banner__text{color:gold;font-size:.82em;font-weight:700;letter-spacing:.18em;text-shadow:0 0 14px rgba(255,215,0,.65),0 0 28px rgba(255,215,0,.3);animation:bradford-laser-flash 4s ease-in-out infinite}.turn-indicator.turn-bradford{color:gold;border-color:#ffd70073;box-shadow:0 0 15px #ffd70099,inset 0 0 8px #ffd70033;text-shadow:0 0 10px rgba(255,215,0,.55)}.bradford-saying{width:var(--turn-width);box-sizing:border-box;margin:6px auto 0;padding:10px 20px;background:#000000b3;border:2px solid rgba(255,215,0,.45);border-radius:8px;box-shadow:0 0 15px #ffd70099,inset 0 0 8px #ffd70033;color:#ffd700d9;font-size:.78em;font-style:italic;font-weight:700;text-align:center;text-shadow:0 0 8px rgba(255,215,0,.45);line-height:1.45;letter-spacing:.01em}.progression-prompt{margin-top:20px;padding:18px 24px;background:#0000008c;border:1px solid rgba(0,255,255,.3);border-radius:10px;text-align:center;max-width:320px;margin-left:auto;margin-right:auto}.progression-prompt--bradford{border-color:#ffd7008c;background:#000000a6;box-shadow:0 0 24px #ffd7002e}.progression-prompt__kicker{margin:0 0 6px;font-size:.72em;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:gold;text-shadow:0 0 10px rgba(255,215,0,.6)}.progression-prompt__title{margin:0 0 6px;font-size:1.15em;font-weight:700;color:#0ff;text-shadow:0 0 8px rgba(0,255,255,.4)}.progression-prompt__title--bradford{font-size:1.45em;color:gold;text-shadow:0 0 14px rgba(255,215,0,.7);letter-spacing:.08em}.progression-prompt__subtitle{margin:0 0 16px;font-size:.88em;color:#ffffffa6}.progression-prompt__buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.progression-prompt__btn{padding:8px 18px;border-radius:6px;font-size:.88em;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .2s ease;border:1px solid}.progression-prompt__btn--primary{background:#00ffff26;color:#0ff;border-color:#00ffff80}.progression-prompt__btn--primary:hover{background:#00ffff47;box-shadow:0 0 10px #00ffff59}.progression-prompt__btn--bradford{background:#ffd70026;color:gold;border-color:#ffd7008c}.progression-prompt__btn--bradford:hover{background:#ffd70047;box-shadow:0 0 12px #ffd70073}.progression-prompt__btn--secondary{background:transparent;color:#ffffff80;border-color:#fff3}.progression-prompt__btn--secondary:hover{color:#fffc;border-color:#ffffff73}.dev-version{color:#00ffff80;font-size:.85em;letter-spacing:.05em;flex:1;text-align:center}.app-footer-wrap{position:fixed;left:50%;bottom:12px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:950}.app-footer{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid rgba(0,255,255,.25);border-radius:999px;background:#000000d1;box-shadow:0 0 18px #00ffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-version{margin:0;color:#d2f5ff6b;font-size:.62em;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 6px rgba(0,255,255,.12)}.footer-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.72em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:0}.footer-link--rules{color:#ff8aa9;text-shadow:0 0 8px rgba(255,0,64,.35)}.footer-link--rules:hover{color:#ff0040;text-shadow:0 0 8px rgba(255,0,64,.6)}.footer-link--support{color:#0ff;text-shadow:0 0 8px rgba(0,255,255,.35)}.footer-link--support:hover{color:#7dff5d;text-shadow:0 0 8px rgba(125,255,93,.6)}.footer-divider{color:#00ffff59}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(0,255,255,.12),transparent 35%),#000000db;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.info-modal{width:min(760px,calc(100vw - 32px));max-height:min(82vh,880px);overflow-y:auto;border:1px solid rgba(0,255,255,.3);border-radius:18px;background:linear-gradient(180deg,#001218f5,#05050cf5);box-shadow:0 0 32px #00ffff29,0 0 56px #ff004014;text-align:left}.info-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 18px;border-bottom:1px solid rgba(0,255,255,.14)}.info-modal-kicker{margin:0 0 6px;color:#ff0040c7;font-size:.66em;letter-spacing:.18em;text-transform:uppercase}.info-modal-title{margin:0;color:#0ff;font-size:clamp(1.2em,2.8vw,2em);text-shadow:0 0 10px rgba(0,255,255,.35)}.info-modal-close{background:transparent;color:#00ffffd9;border:1px solid rgba(0,255,255,.35);border-radius:999px;padding:10px 16px;cursor:pointer;font-family:inherit;font-size:.7em;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.info-modal-close:hover{color:#ff0040;border-color:#ff00408c;box-shadow:0 0 10px #ff004038}.info-modal-body{padding:22px 24px 28px}.rules-section{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}.rules-section:last-child{border-bottom:none}.rules-section h3{margin:0 0 10px;color:#ff8aa9;font-size:.95em;letter-spacing:.08em;text-transform:uppercase}.rules-section p,.support-panel p{margin:0;color:#ebfaffdb;font-size:.82em;line-height:1.65;font-weight:500}.rules-section ul{margin:0;padding-left:20px;color:#ebfaffdb}.rules-section li{margin:0 0 8px;font-size:.8em;line-height:1.6;font-weight:500}.rules-piece-list{display:grid;gap:12px;margin-top:12px}.rules-piece-card{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;padding:12px 14px;border:1px solid rgba(0,255,255,.12);border-radius:12px;background:#00ffff08}.rules-piece-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:10px;background:#00000073;box-shadow:inset 0 0 0 1px #00ffff14}.rules-piece-copy p{margin:0}.rules-piece-copy strong{color:#0ff}.support-panel{display:grid;gap:12px}.app-music-toggle{position:fixed;top:12px;right:12px;z-index:40}.music-controls{display:flex;gap:6px}.music-toggle-button{background:#00000094;border:1px solid rgba(0,255,255,.28);color:#0ff;padding:10px 12px;min-width:44px;min-height:44px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:1.2em;display:flex;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s,background .15s,color .15s;box-sizing:border-box}.music-toggle-button:hover{color:#0ff;border-color:#00ffff8c;box-shadow:0 0 8px #00ffff3d;background:#000a109e}.music-toggle-button:active{transform:scale(.96)}@media (max-width: 479px){:root{--cell-size: max(29px, min(43px, calc((100vw - var(--page-inline-space) - 48px) / 10), calc((100vh - var(--page-block-space) - 220px) / 8)));--title-font-size: 1.5em;--turn-font-size: .84em;--turn-width: calc(100vw - var(--page-inline-space) - 52px)}.app-container{padding-top:8px}.app-main{padding-bottom:84px}.board-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px;width:100%;padding:0 10px;box-sizing:border-box}.dev-panel{display:none}.turn-indicator{margin-top:8px;padding:9px;gap:5px}.turn-indicator__status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-header{gap:10px}.status-menu--centered,.status-menu.game-header-dropdown{left:50%;right:auto;width:min(260px,calc(100vw - 28px));transform:translate(-50%,-50%)}.turn-indicator__actions{gap:5px}.status-menu-button{min-height:38px;padding:6px 9px;font-size:.54em}.dev-toggle{min-height:38px;min-width:38px;padding:6px 8px}.status-menu{right:-12px;width:min(220px,calc(100vw - 40px))}.game-over-text{font-size:1.8em}.mode-select{margin-top:40px}.coord-rows-container{width:calc(var(--cell-size) * .85)}.app-footer-wrap{width:calc(100vw - 32px);gap:5px}.app-footer{width:100%;padding:10px 12px;gap:8px}.footer-link{font-size:.64em;letter-spacing:.08em}.app-version{font-size:.58em;letter-spacing:.12em}.info-modal-overlay{padding:14px}.info-modal{width:100%;max-height:84vh;border-radius:14px}.info-modal-header{padding:18px 18px 14px;flex-direction:column;align-items:stretch}.info-modal-body{padding:16px 18px 20px}.rules-piece-card{grid-template-columns:48px 1fr;gap:12px;padding:10px 12px}.rules-piece-icon{width:48px;height:48px}}@media (min-width: 480px) and (max-width: 767px){:root{--cell-size: max(33px, min(48px, calc((100vw - var(--page-inline-space) - 60px) / 10), calc((100vh - var(--page-block-space) - 220px) / 8)));--title-font-size: 2em;--turn-width: calc(100vw - var(--page-inline-space) - 32px)}.app-main{padding-bottom:84px}.board-wrapper{display:flex;flex-direction:column;align-items:center;margin-top:16px;padding:0 20px;box-sizing:border-box;width:100%}.dev-panel{display:none}.turn-indicator{margin-top:16px;padding:10px 14px;gap:8px}.game-header{gap:12px}.status-menu--centered,.status-menu.game-header-dropdown{left:50%;right:auto;width:min(280px,calc(100vw - 36px));transform:translate(-50%,-50%)}.status-menu{right:-6px}.status-menu-button{min-height:42px;padding:8px 11px;font-size:.6em}.dev-toggle{min-height:42px;min-width:42px;padding:8px 10px}.mode-select{margin-top:50px}.coord-rows-container{width:calc(var(--cell-size) * .85)}}@media (min-width: 768px) and (max-width: 1023px){:root{--cell-size: max(44px, min(56px, calc((100vw - var(--page-inline-space) - 310px) / 10), calc((100vh - var(--page-block-space) - 205px) / 8)));--title-font-size: 2.8em;--turn-width: min(500px, calc(100vw - var(--page-inline-space) - 16px))}.board-wrapper{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:16px;margin-top:18px}.dev-panel{width:250px;max-height:500px;display:flex!important;position:absolute;top:0;right:auto;bottom:auto;left:calc(100% + 16px);transform:none}.turn-indicator{margin-top:14px;padding:10px 18px}.coord-rows-container{width:calc(var(--cell-size) * .85)}}@media (min-width: 1024px){:root{--cell-size: min(64px, calc((100vw - var(--page-inline-space) - 310px) / 10), calc((100vh - var(--page-block-space) - 195px) / 8));--title-font-size: 3.5em;--turn-font-size: 1.2em;--turn-width: 520px}.board-wrapper{display:inline-flex;align-items:flex-start;gap:12px;margin-top:20px}.dev-panel{width:220px;max-height:450px;display:flex!important;position:absolute;top:0;right:auto;bottom:auto;left:calc(100% + 16px);transform:none}.turn-indicator{margin-top:20px}.coord-rows-container{width:40px}}@media (max-width: 767px){.dev-panel{display:flex!important;position:fixed!important;bottom:96px!important;top:auto!important;right:12px!important;left:12px!important;width:auto!important;max-width:calc(100vw - 24px)!important;max-height:38vh!important;z-index:200!important;transform:none!important;box-shadow:0 0 30px #0009!important}}
