*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;width:100%}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-primary: #0a0f1a;--bg-secondary: #0d1520;--bg-panel: #1a3040;--bg-elevated: #203848;--border: #404550;--border-warm: #9C4A1A;--inferno-orange: #F28C28;--rage-red: #B31217;--molten-gold: #D6A21E;--burnt-ember: #9C4A1A;--text-primary: #E6E1D8;--text-secondary: #B8AFA3;--ember-gold: #D6A21E;--crimson-rage: #B31217;--chess-ivory: #E6E1D8;--pawn-beige: #E6E1D8;color-scheme:dark;color:var(--text-primary);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--inferno-orange);text-decoration:inherit;transition:color .3s ease}a:hover{color:var(--ember-gold)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);overflow-x:hidden;box-sizing:border-box}h1{font-size:3.2em;line-height:1.1;color:var(--text-primary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .3s ease}button:hover{border-color:var(--inferno-orange);transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid var(--inferno-orange);outline-offset:2px}.chess-piece{width:65px;height:65px}.chess-piece-ghost{width:62px;height:62px}.chess-board-grid{display:grid;grid-template-columns:repeat(8,75px);grid-template-rows:repeat(8,75px)}.chess-square{width:75px;height:75px}.board-coordinate-label{font-size:11.2px}.elimination-indicator{font-size:32px}.end-screen-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.end-screen-buttons button{flex:0 1 auto;box-sizing:border-box;height:48px;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.game-view-container{padding:20px 20px 40px!important}.timeline-container{position:relative!important;width:calc(100vw - 40px)!important;max-width:480px!important;max-height:200px!important;border-radius:8px!important;margin:0 auto!important}.timeline-container[data-collapsed=true]{max-height:40px!important}.chess-board-container{width:calc(100vw - 40px)!important;max-width:480px!important}.chess-board-grid{width:100%!important;height:auto!important;aspect-ratio:1!important;grid-template-columns:repeat(8,1fr)!important;grid-template-rows:repeat(8,1fr)!important}.chess-square{width:100%!important;height:100%!important;font-size:clamp(20px,5vw,36px)!important}.chess-piece{width:clamp(32px,7vw,65px)!important;height:clamp(32px,7vw,65px)!important}.chess-piece-ghost{width:clamp(30px,6.5vw,62px)!important;height:clamp(30px,6.5vw,62px)!important}.board-coordinate-label{font-size:clamp(7px,1.5vw,11.2px)!important}.elimination-indicator{font-size:clamp(16px,4vw,32px)!important}.game-header{text-align:center!important}.game-header h2{font-size:clamp(1.5rem,5vw,2rem)!important;margin:0!important}.player-info-container{min-width:unset!important;width:calc(100vw - 40px)!important;max-width:480px!important;grid-template-columns:1fr auto 1fr!important;gap:6px!important;font-size:.85rem!important}.player-info-container>div{padding:8px!important}.player-info-container>div:first-child{text-align:left!important}.player-info-container>div:nth-child(2){text-align:center!important;font-size:.8rem!important;padding:6px 8px!important;min-width:100px!important}.player-info-container>div:last-child{text-align:right!important}.room-code-widget{min-width:unset!important;width:calc(100vw - 40px)!important;max-width:480px!important}.game-controls{flex-wrap:nowrap!important;justify-content:center!important;gap:6px!important;width:100%!important}.game-controls button{flex:1 1 30%!important;min-width:80px!important;max-width:140px!important;padding:10px 4px!important;font-size:.7rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;text-align:center!important;justify-content:center!important;gap:4px!important}.game-controls button span{font-size:.85rem!important;margin:0!important}.menu-title{font-size:clamp(2rem,8vw,3rem)!important}.menu-container{width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;min-width:unset!important;padding:0!important}.speed-buttons-container{flex-direction:column!important}.speed-button{width:100%!important;min-height:44px!important}.difficulty-buttons-container{flex-direction:column!important}.difficulty-button{width:100%!important;min-height:44px!important}.end-screen-buttons{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;align-items:center!important}.end-screen-buttons button{padding:10px 16px!important;font-size:.95rem!important;flex:0 1 auto!important;height:44px!important}}@media(max-width:380px){.game-view-container{padding:16px 16px 32px!important;gap:16px!important}.chess-board-container{width:calc(100vw - 32px)!important}.chess-board-grid{border-width:3px!important}.chess-piece{width:clamp(30px,7vw,60px)!important;height:clamp(30px,7vw,60px)!important}.chess-piece-ghost{width:clamp(28px,6.5vw,58px)!important;height:clamp(28px,6.5vw,58px)!important}.board-coordinate-label{font-size:clamp(6px,1.4vw,10px)!important}.elimination-indicator{font-size:clamp(16px,4vw,28px)!important}.player-info-container{width:calc(100vw - 32px)!important;gap:4px!important;font-size:.75rem!important}.player-info-container>div{padding:6px!important}.player-info-container>div:nth-child(2){font-size:.7rem!important;padding:4px 6px!important;min-width:80px!important}.room-code-widget{width:calc(100vw - 32px)!important;padding:14px!important}.game-controls{gap:4px!important}.game-controls button{flex:1 1 auto!important;min-width:65px!important;max-width:110px!important;padding:8px 2px!important;font-size:.6rem!important}.timeline-container{width:calc(100vw - 32px)!important}.end-screen-buttons{gap:6px!important}.end-screen-buttons button{padding:10px 12px!important;font-size:.85rem!important;white-space:nowrap!important;min-width:0!important;flex:1 1 0!important;max-width:50%!important;height:42px!important}}#root{max-width:1280px;margin:0 auto;padding:0;text-align:center;width:100%;overflow-x:hidden;box-sizing:border-box}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em var(--inferno-orange))}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card{padding:2em;background:var(--bg-panel);border-radius:12px}.read-the-docs{color:var(--text-secondary)}.board-container [data-piece]{z-index:5!important}.board-container [data-piece] svg,.board-container [data-piece] img{position:relative;z-index:5}.rulebook-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.rulebook-modal{background:linear-gradient(135deg,#1a3040,#0d1520);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000080;animation:slideUp .4s ease-out;border:1px solid rgba(242,140,40,.3)}.rulebook-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#f28c281a,#d6a21e1a)}.rulebook-header h2{margin:0;color:#e6e1d8;font-size:1.8rem;font-weight:700}.rulebook-close{background:none;border:none;color:#b8afa3;font-size:2rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.rulebook-close:hover{background:#b312171a;color:#b31217}.rulebook-content{padding:1.5rem;max-height:calc(90vh - 200px);overflow-y:auto}@supports (scrollbar-width: thin){.rulebook-content{scrollbar-width:thin;scrollbar-color:rgba(242,140,40,.3) transparent}}.rulebook-content::-webkit-scrollbar{width:6px}.rulebook-content::-webkit-scrollbar-track{background:transparent}.rulebook-content::-webkit-scrollbar-thumb{background:#f28c284d;border-radius:3px}.rulebook-section{margin-bottom:1rem;border-radius:12px;overflow:hidden;transition:all .3s ease}.rulebook-section:hover{transform:translateY(-2px);box-shadow:0 8px 16px #f28c281a}.rulebook-section-header{display:flex;align-items:center;padding:1rem;background:linear-gradient(135deg,#f28c281a,#d6a21e1a);cursor:pointer;transition:all .3s ease;border:1px solid rgba(242,140,40,.2)}.rulebook-section-header:hover{background:linear-gradient(135deg,#f28c2833,#d6a21e33)}.rulebook-section-icon{font-size:1.5rem;margin-right:.75rem}.rulebook-section-title{flex:1;font-size:1.1rem;font-weight:600;color:#e6e1d8}.rulebook-section-toggle{font-size:1.2rem;color:#b8afa3;transition:transform .3s ease}.rulebook-section-preview{padding:1rem;background:#ffffff0d;border-left:3px solid rgba(242,140,40,.5);max-height:60px;overflow:hidden;transition:all .3s ease}.rulebook-section-preview.expanded{max-height:200px}.rulebook-section-preview p{margin:0;color:#b8afa3;line-height:1.5}.rulebook-section-expanded{padding:1rem;background:#ffffff08;border-top:1px solid rgba(255,255,255,.1);animation:fadeIn .3s ease-out}.rulebook-section-content{color:#e6e1d8}.rulebook-highlight{background:linear-gradient(135deg,#d6a21e1a,#f28c281a);padding:.75rem;border-radius:8px;margin-bottom:.75rem;border-left:3px solid rgba(214,162,30,.5)}.rulebook-note{background:#d6a21e1a;padding:.75rem;border-radius:8px;border-left:3px solid #D6A21E;font-style:italic}.rulebook-timeline{margin:1rem 0}.timeline-item{display:flex;align-items:center;margin-bottom:.75rem}.timeline-marker{background:linear-gradient(135deg,#f28c28,#d6a21e);color:#0a0f1a;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600;min-width:60px;text-align:center;margin-right:1rem}.timeline-content{color:#b8afa3}.spawn-table{margin:1rem 0}.spawn-row{display:flex;align-items:center;padding:.5rem;background:#ffffff0d;border-radius:6px;margin-bottom:.5rem}.spawn-piece{flex:1;font-size:1.2rem;font-weight:600}.spawn-time{color:#b8afa3;font-size:.9rem}.rulebook-video-container{margin-bottom:1rem;border-radius:10px;overflow:hidden;border:1px solid rgba(242,140,40,.3);background:#000}.rulebook-video{width:100%;display:block;border-radius:10px}.spawn-row-header{background:#f28c2826!important;font-weight:700!important;border-bottom:1px solid rgba(242,140,40,.3)}.spawn-row-header .spawn-piece,.spawn-row-header .spawn-time{color:#e6e1d8!important;font-size:.85rem!important}.spawn-time-number{min-width:55px;text-align:right}.health-examples,.victory-methods,.game-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1rem 0}.health-scenario,.victory-method,.game-mode,.special-move{background:#ffffff0d;padding:1rem;border-radius:8px;border-left:3px solid rgba(242,140,40,.5)}.health-scenario h4,.victory-method h4,.game-mode h4,.special-move h4{margin:0 0 .5rem;color:#e6e1d8;font-size:1rem}.health-scenario p,.victory-method p,.game-mode p,.special-move p{margin:0;color:#b8afa3;font-size:.9rem;line-height:1.4}.rulebook-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#f28c280d,#d6a21e0d);display:flex;justify-content:space-between;align-items:center}.rulebook-tip{color:#b8afa3;font-size:.9rem}.rulebook-start-button{background:linear-gradient(135deg,#f28c28,#d6a21e);color:#0a0f1a;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #f28c284d}.rulebook-start-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f28c2866}@media(max-width:768px){.rulebook-modal{width:95%;max-height:95vh}.rulebook-header h2{font-size:1.5rem}.rulebook-content{padding:1rem}.rulebook-section-header,.rulebook-section-preview,.rulebook-section-expanded{padding:.75rem}.health-examples,.victory-methods,.game-modes{grid-template-columns:1fr}.rulebook-footer{flex-direction:column;gap:1rem;text-align:center}}.patchnotes-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.patchnotes-modal{background:linear-gradient(135deg,#1a3040,#0d1520);border-radius:16px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000080;animation:slideUp .4s ease-out;border:1px solid rgba(242,140,40,.3)}.patchnotes-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#f28c281a,#d6a21e1a)}.patchnotes-header h2{margin:0;color:#e6e1d8;font-size:1.8rem;font-weight:700}.patchnotes-close{background:none;border:none;color:#b8afa3;font-size:2rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.patchnotes-close:hover{background:#b312171a;color:#b31217}.patchnotes-content{padding:1.5rem;max-height:calc(90vh - 200px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(242,140,40,.3) transparent}.patchnotes-content::-webkit-scrollbar{width:6px}.patchnotes-content::-webkit-scrollbar-track{background:transparent}.patchnotes-content::-webkit-scrollbar-thumb{background:#f28c284d;border-radius:3px}.alpha-banner{background:linear-gradient(135deg,#f28c2826,#d6a21e26);border:2px solid rgba(242,140,40,.4);border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center}.alpha-badge{display:inline-block;background:linear-gradient(135deg,#f28c28,#d6a21e);color:#0a0f1a;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;box-shadow:0 4px 12px #f28c284d}.alpha-message{color:#e6e1d8;font-size:1rem;line-height:1.6;margin:0}.version-history{display:flex;flex-direction:column;gap:1.5rem}.version-section{background:#ffffff08;border-radius:12px;overflow:hidden;border:1px solid rgba(242,140,40,.2);transition:all .3s ease}.version-section:hover{border-color:#f28c2866;box-shadow:0 4px 12px #f28c281a}.version-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#f28c2826,#d6a21e26);border-bottom:1px solid rgba(242,140,40,.2)}.version-number{font-size:1.3rem;font-weight:700;color:#f28c28;letter-spacing:.5px}.version-date{font-size:.9rem;color:#b8afa3;font-style:italic}.changes-list{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.change-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:8px;background:#ffffff05;border-left:3px solid;transition:all .2s ease}.change-item:hover{background:#ffffff0d;transform:translate(4px)}.change-feature{border-left-color:#d6a21e}.change-fix{border-left-color:#b31217}.change-improvement{border-left-color:#f28c28}.change-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.change-text{color:#e6e1d8;font-size:.95rem;line-height:1.5}.patchnotes-note{margin-top:1.5rem;padding:1rem;background:linear-gradient(135deg,#d6a21e1a,#f28c281a);border-radius:8px;border:1px solid rgba(214,162,30,.3);text-align:center}.patchnotes-note p{margin:0;color:#b8afa3;font-size:.95rem;line-height:1.6}.patchnotes-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,#f28c280d,#d6a21e0d);display:flex;justify-content:center;align-items:center}.patchnotes-close-button{background:linear-gradient(135deg,#f28c28,#d6a21e);color:#0a0f1a;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #f28c284d}.patchnotes-close-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f28c2866}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.patchnotes-modal{width:95%;max-height:95vh}.patchnotes-header h2{font-size:1.5rem}.patchnotes-content,.alpha-banner{padding:1rem}.version-header{padding:.75rem 1rem;flex-direction:column;align-items:flex-start;gap:.25rem}.version-number{font-size:1.1rem}.changes-list{padding:.75rem 1rem}.change-item{padding:.5rem}.change-text{font-size:.9rem}}@keyframes breathingBorder{0%,to{box-shadow:0 4px 12px #ad193680,0 0 #e6325000;border-color:#9c4a1a}50%{box-shadow:0 4px 20px #ad1936cc,0 0 0 8px #e6325080,0 0 28px 6px #e632504d;border-color:#ff6060}}.find-game-btn{animation:breathingBorder 1.4s ease-in-out infinite}@keyframes breathingBorderCreateGame{0%,to{box-shadow:0 4px 12px #b3121780,0 0 #ff505000;border-color:#9c4a1a}50%{box-shadow:0 4px 20px #b31217cc,0 0 0 8px #ff505080,0 0 28px 6px #ff50504d;border-color:#ff8080}}.create-game-urgent-btn{animation:breathingBorderCreateGame .7s ease-in-out infinite}.alpha-badge-overlay{position:absolute;right:-3%;bottom:0%;rotate:-10deg;width:17%;height:auto;opacity:.65;pointer-events:none;z-index:10}.bottom-buttons-container{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}@media(max-width:500px){.bottom-buttons-container{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.5rem}.bottom-buttons-container .bug-report-btn{grid-column:1;grid-row:1}.bottom-buttons-container .discord-btn{grid-column:2;grid-row:1}.bottom-buttons-container .patchnotes-btn{grid-column:1;grid-row:2}.bottom-buttons-container .settings-btn{grid-column:2;grid-row:2}.bottom-buttons-container button{font-size:.9rem!important;padding:.75rem!important}.bottom-buttons-container button span{font-size:1rem!important}}@media(max-width:350px){.bottom-buttons-container{gap:.4rem}.bottom-buttons-container button{font-size:.85rem!important;padding:.65rem!important}.bottom-buttons-container button span{font-size:.95rem!important}}@keyframes settingsSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.settings-menu-overlay{position:fixed;inset:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem}.settings-menu-card{width:100%;max-width:420px;background:#0d1520;border:1px solid rgba(242,140,40,.3);border-radius:14px;box-shadow:0 16px 48px #0009;padding:1.5rem;position:relative;animation:settingsSlideUp .2s ease-out}.settings-section-label{font-size:.75rem;color:#8a9ab5;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-weight:600}.settings-divider{height:1px;background:#ffffff14;margin:.5rem 0 .75rem}.settings-row{padding:.6rem .75rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06);margin-bottom:.5rem}.settings-row-label{font-size:.75rem;color:#8a9ab5;margin-bottom:.15rem}.settings-action-btn{background:#f28c2826;border:1px solid rgba(242,140,40,.3);color:#f28c28;padding:.35rem .65rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:background .2s}.settings-action-btn:hover{background:#f28c2840}.settings-input{width:100%;padding:.5rem;border-radius:6px;border:1px solid rgba(242,140,40,.3);background:#060d18;color:#e6e1d8;font-size:.9rem;margin-bottom:.4rem;box-sizing:border-box}.settings-input:focus{outline:none;border-color:#f28c28}.settings-error{color:#e05252;font-size:.8rem;margin-bottom:.4rem}.settings-success{color:#4ade80;font-size:.8rem;margin-top:.4rem}.settings-logout-btn{width:100%;padding:.6rem;border-radius:8px;border:1px solid rgba(179,18,23,.4);background:transparent;color:#b31217;cursor:pointer;font-size:.9rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .2s}.settings-logout-btn:hover{background:#b312171a;border-color:#b31217}.failed-move{position:relative}.failed-move-piece{animation:shake .3s ease-in-out;display:inline-block}.failed-move-illegal:after,.failed-move-rejected:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(179,18,23,.3) 0%,transparent 70%);animation:flash .25s ease-out;pointer-events:none;z-index:5}.failed-move-cooldown:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(242,140,40,.3) 0%,transparent 70%);animation:flash .25s ease-out;pointer-events:none;z-index:5}.failed-move-locked:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(214,162,30,.3) 0%,transparent 70%);animation:flash .25s ease-out;pointer-events:none;z-index:5}.failed-move-desync:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(179,18,23,.3) 0%,transparent 70%);animation:flash .25s ease-out;pointer-events:none;z-index:5}@keyframes shake{0%,to{transform:translate(0)}25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}@keyframes flash{0%{opacity:0}50%{opacity:1}to{opacity:0}}.piece-rubberband{transition:none!important;animation:rubberband .4s ease-out}@keyframes rubberband{0%{transform:scale(1)}30%{transform:scale(1.15,.85)}40%{transform:scale(.85,1.15)}50%{transform:scale(1.05,.95)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.02,.98)}to{transform:scale(1)}}.timeline-entry{position:relative;padding-left:24px;margin-bottom:4px;line-height:1.4}.timeline-entry-pending{opacity:.6;font-style:italic;color:var(--text-secondary, #B8AFA3)}.timeline-entry-pending:before{content:"⏳";position:absolute;left:0;animation:pulse 1.5s ease-in-out infinite}.timeline-entry-confirmed{color:inherit}.timeline-entry-confirmed:before{content:"✓";position:absolute;left:0;color:var(--molten-gold, #D6A21E);font-weight:700}.timeline-entry-rejected{text-decoration:line-through;color:var(--rage-red, #B31217);opacity:.7}.timeline-entry-rejected:before{content:"❌";position:absolute;left:0}.timeline-rejection-reason{display:block;font-size:10px;color:var(--rage-red, #B31217);margin-left:8px;font-style:italic}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.network-indicator{position:absolute;top:10px;left:10px;padding:6px 12px;background:var(--bg-secondary, #0d1520);color:var(--text-primary, #E6E1D8);font-size:12px;border-radius:4px;font-family:Courier New,monospace;z-index:100;border-left:3px solid}.network-indicator.good{border-left-color:var(--molten-gold, #D6A21E)}.network-indicator.medium{border-left-color:var(--inferno-orange, #F28C28)}.network-indicator.poor{border-left-color:var(--rage-red, #B31217)}.network-indicator-row{display:flex;gap:10px;font-size:11px}.network-indicator-label{color:var(--text-secondary, #B8AFA3)}.network-indicator-value{color:var(--text-primary, #E6E1D8);font-weight:700}.pending-moves-badge{display:inline-block;background:var(--inferno-orange, #F28C28);color:var(--bg-primary, #0a0f1a);padding:2px 6px;border-radius:10px;font-size:10px;font-weight:700;margin-left:6px;animation:pulse-badge 1s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:.8}50%{opacity:1}}.desync-warning{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:24px 32px;background:var(--rage-red, #B31217);color:var(--text-primary, #E6E1D8);border-radius:8px;font-weight:700;font-size:16px;z-index:10000;box-shadow:0 4px 20px #00000080;animation:pulse-warning 1s ease-in-out infinite;text-align:center}@keyframes pulse-warning{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.05)}}.failed-move-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;z-index:10}.failed-move-overlay:before{content:"";position:absolute;inset:0;background:#b312174d;animation:fadeOutBackground .3s ease-out forwards;z-index:-1}.failed-move-icon{font-size:24px;filter:drop-shadow(0 0 3px rgba(0,0,0,.8));animation:fadeOutMessage 1s ease-out forwards}.failed-move-text{font-size:10px;color:var(--text-primary, #E6E1D8);background:var(--bg-secondary, #0d1520);padding:2px 6px;border-radius:3px;margin-top:4px;white-space:nowrap;text-shadow:0 0 2px rgba(0,0,0,.9);animation:fadeOutMessage 1s ease-out forwards}@keyframes fadeOutBackground{0%{opacity:1}20%{opacity:1}to{opacity:0}}@keyframes fadeOutMessage{0%{opacity:1}70%{opacity:1}to{opacity:0}}.connection-status{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.connection-status.connected{background:var(--molten-gold, #D6A21E);box-shadow:0 0 4px var(--molten-gold, #D6A21E)}.connection-status.connecting{background:var(--inferno-orange, #F28C28);animation:blink 1s ease-in-out infinite}.connection-status.disconnected{background:var(--rage-red, #B31217)}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.invulnerable-indicator{position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:14px;filter:drop-shadow(0 0 2px rgba(255,255,255,.8));animation:shield-pulse 1.5s ease-in-out infinite;z-index:3;pointer-events:none}@keyframes shield-pulse{0%,to{opacity:.8;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.15)}}.shhht-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#0a0f1a,#0d1520);color:#e6e1d8;padding:20px}.shhht-container{text-align:center;max-width:800px;width:100%}.shhht-logo{max-width:200px;margin-bottom:40px;border-radius:20px;box-shadow:0 10px 30px #0000004d}.shhht-title{font-size:3.5rem;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.shhht-tagline{font-size:1.8rem;margin-bottom:50px;opacity:.95;font-weight:300}.shhht-steam-message{font-size:1.4rem;margin-bottom:30px;padding:20px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;border:1px solid rgba(255,255,255,.2)}.shhht-countdown{display:flex;justify-content:center;gap:30px;margin-bottom:50px;flex-wrap:wrap}.shhht-countdown-item{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:25px 35px;border-radius:15px;min-width:100px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #1f26875e}.shhht-countdown-value{font-size:3rem;font-weight:700;display:block;margin-bottom:10px}.shhht-countdown-label{font-size:.9rem;text-transform:uppercase;opacity:.8;letter-spacing:2px}.shhht-cta-button{display:inline-block;padding:18px 45px;background:linear-gradient(135deg,#f28c28,#d6a21e);color:#0a0f1a;text-decoration:none;border:none;border-radius:50px;font-size:1.2rem;font-weight:600;transition:all .3s ease;box-shadow:0 10px 30px #0000004d;cursor:pointer}.shhht-cta-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #0006}@media(max-width:768px){.shhht-title{font-size:2.5rem}.shhht-tagline{font-size:1.3rem}.shhht-steam-message{font-size:1.1rem}.shhht-countdown-item{padding:20px 25px;min-width:80px}.shhht-countdown-value{font-size:2rem}.shhht-countdown-label{font-size:.8rem}}.coming-soon-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#0a0f1a,#1a3040);color:#e6e1d8;padding:20px}.coming-soon-container{text-align:center;max-width:700px;width:100%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:30px;padding:60px 40px;box-shadow:0 8px 32px #1f26875e;border:1px solid rgba(255,255,255,.18)}.coming-soon-logo{max-width:180px;margin-bottom:40px;border-radius:20px;box-shadow:0 10px 30px #0000004d}.coming-soon-title{font-size:3rem;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.coming-soon-tagline{font-size:1.5rem;margin-bottom:40px;opacity:.95;font-weight:300}.coming-soon-badge{font-size:1.8rem;margin-bottom:30px;font-weight:600;color:#d6a21e;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.coming-soon-description{font-size:1.2rem;margin-bottom:40px;line-height:1.6;opacity:.9}.coming-soon-register-button{display:inline-block;padding:18px 45px;background:linear-gradient(135deg,#f28c28,#d6a21e);color:#0a0f1a;text-decoration:none;border:none;border-radius:50px;font-size:1.2rem;font-weight:600;transition:all .3s ease;box-shadow:0 10px 30px #0000004d;cursor:pointer}.coming-soon-register-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #0006;background:linear-gradient(135deg,#d6a21e,#f28c28)}.coming-soon-info-text{margin-top:30px;font-size:.95rem;opacity:.7;font-style:italic}@media(max-width:768px){.coming-soon-container{padding:40px 30px}.coming-soon-title{font-size:2.2rem}.coming-soon-tagline{font-size:1.2rem}.coming-soon-badge{font-size:1.5rem}.coming-soon-description{font-size:1rem}.coming-soon-register-button{padding:15px 35px;font-size:1.1rem}}.replay-viewer{display:flex;flex-direction:column;align-items:center;padding:20px;gap:12px;max-width:1200px;margin:0 auto;min-height:100vh;background:var(--bg-primary, #0a0f1a);color:var(--text-primary, #E6E1D8)}.replay-logo{height:3rem;width:auto;margin-bottom:.5rem}.replay-viewer.loading{justify-content:center;align-items:center}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#f28c28;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.replay-viewer.error{justify-content:center;text-align:center}.replay-viewer.error h2{margin-bottom:1rem}.replay-viewer.error button{margin-top:1rem;padding:10px 20px;font-size:16px}.replay-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:min(600px,calc(100vw - 40px));flex-wrap:nowrap;margin-bottom:8px}.back-button{padding:8px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0}.back-button:hover{background:var(--bg-panel);border-color:var(--inferno-orange)}.replay-header h2{flex:1;margin:0;font-size:20px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-names{display:flex;align-items:center;gap:8px}.white-player{color:var(--text-primary, #E6E1D8);font-weight:700}.black-player{color:#000;font-weight:700;text-shadow:0 0 1.5px rgba(255,255,255,.45),0 0 3px rgba(255,255,255,.3);-webkit-text-stroke:.5px rgba(255,255,255,.15)}.vs-text{color:var(--text-secondary);font-weight:400;font-size:.9em}.replay-meta{display:flex;gap:12px;font-size:14px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.replay-meta .result{font-weight:700;color:var(--molten-gold)}.replay-content{width:100%;max-width:min(600px,calc(100vw - 40px));display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px}.replay-renderer{width:100%;max-width:100%;aspect-ratio:1 / 1}.replay-renderer .chess-board-grid{width:100%!important;height:auto!important;aspect-ratio:1!important;grid-template-columns:repeat(8,1fr)!important;grid-template-rows:repeat(8,1fr)!important}.replay-renderer .chess-square{width:100%!important;height:100%!important}.replay-timeline-container{width:100%;max-width:min(600px,calc(100vw - 40px))}.replay-controls{width:100%;max-width:min(600px,calc(100vw - 40px));background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.control-buttons{display:flex;justify-content:center;gap:8px}.control-buttons button{padding:12px 20px;font-size:20px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:background .2s;min-width:50px}.control-buttons button:hover{background:var(--bg-panel);border-color:var(--inferno-orange)}.control-buttons button:active{transform:scale(.95)}.seek-bar-container{display:flex;align-items:center;gap:12px}.time-display{font-family:monospace;font-size:14px;color:var(--text-secondary);min-width:45px}.seek-bar{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none}.seek-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--inferno-orange);cursor:pointer;transition:transform .1s}.seek-bar::-webkit-slider-thumb:hover{transform:scale(1.2)}.seek-bar::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--inferno-orange);border:none;cursor:pointer;transition:transform .1s}.seek-bar::-moz-range-thumb:hover{transform:scale(1.2)}.playback-speed{display:flex;align-items:center;justify-content:center;gap:8px}.playback-speed label{font-size:14px;color:var(--text-secondary)}.playback-speed button{padding:6px 12px;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .2s}.playback-speed button:hover{background:var(--bg-panel);border-color:var(--inferno-orange)}.playback-speed button.active{background:var(--inferno-orange);border-color:var(--inferno-orange);color:var(--bg-primary);font-weight:700}.replay-stats{width:100%;max-width:min(600px,calc(100vw - 40px));display:flex;justify-content:space-around;padding:12px 8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;flex-wrap:nowrap;gap:8px}.replay-stats .stat{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.replay-stats .stat label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap}.replay-stats .stat span{font-size:16px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.keyboard-shortcuts{width:100%;max-width:min(600px,calc(100vw - 40px));padding:12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-secondary)}.keyboard-shortcuts summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px}.keyboard-shortcuts summary:hover{color:var(--text-primary)}.keyboard-shortcuts ul{margin-top:12px;padding-left:20px;list-style:none}.keyboard-shortcuts li{padding:4px 0;display:flex;align-items:center;gap:8px}.keyboard-shortcuts kbd{display:inline-block;padding:3px 8px;font-family:monospace;font-size:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;box-shadow:0 2px #0003;min-width:30px;text-align:center;color:var(--text-primary)}@media(max-width:900px){.replay-viewer{padding:10px}.replay-header{gap:8px}.replay-header h2{font-size:16px}.replay-meta{font-size:12px;gap:8px}.back-button{padding:6px 12px;font-size:14px}.replay-stats{padding:10px 6px;gap:4px}.replay-stats .stat label{font-size:10px}.replay-stats .stat span{font-size:14px}.control-buttons button{padding:10px 16px;font-size:16px}}@media(max-width:600px){.replay-header h2{font-size:14px}.player-names{gap:4px}.vs-text{font-size:.8em}.replay-stats{padding:8px 4px}.replay-stats .stat label{font-size:9px}.replay-stats .stat span{font-size:12px}}
