:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,html{background:#0a0613;color:#f7f7ff;height:100%;margin:0;overflow:hidden;position:fixed;width:100%}*{box-sizing:border-box}.main-menu{background:#0b0714;background:var(--background-main,#0b0714);height:100vh;height:100dvh;overflow:hidden;position:relative;width:100vw}.menu-overlay{-webkit-overflow-scrolling:touch;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:min(20px,2dvh) 0;position:absolute;right:0;top:0;z-index:10}.menu-content{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:min(24px,2.5dvh);margin:auto;max-width:600px;padding:min(40px,4dvh) min(40px,5vw) min(30px,3dvh);width:90%}.menu-title-container{border:2px solid #61f2ff;border:2px solid var(--highlight-text,#61f2ff);border-radius:12px;box-shadow:0 0 30px #61f2ff33,inset 0 0 20px #61f2ff0d;margin-bottom:min(24px,2dvh);overflow:hidden;padding:0;position:relative}.menu-title-line{white-space:nowrap}.menu-title-t{display:inline-block;transform:translateY(5px)}.menu-title{background:linear-gradient(135deg,#61f2ff14,#61f2ff05 50%,#61f2ff14);color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-family:Julius Sans One,Playfair Display,Georgia,serif;font-size:clamp(2rem,6vw,3.5rem);font-weight:400;letter-spacing:.08em;margin:0;padding:min(20px,2dvh) min(40px,5vw);position:relative;text-align:center;text-shadow:0 0 20px #61f2ff66,0 0 40px #61f2ff33,2px 2px 0 #0b0714,-2px -2px 0 #0b0714,2px -2px 0 #0b0714,-2px 2px 0 #0b0714;text-shadow:0 0 20px #61f2ff66,0 0 40px #61f2ff33,2px 2px 0 var(--background-main,#0b0714),-2px -2px 0 var(--background-main,#0b0714),2px -2px 0 var(--background-main,#0b0714),-2px 2px 0 var(--background-main,#0b0714);text-transform:uppercase;z-index:1}.menu-epigraph{align-items:center;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;margin-top:-8px;position:relative}.menu-epigraph__line{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);display:flex;font-family:Playfair Display,Georgia,serif;font-size:clamp(.8rem,2vw,.95rem);font-style:italic;justify-content:center}.menu-epigraph__char{animation:charRipple 1.2s ease-out forwards;display:inline-block;opacity:0}@keyframes charRipple{0%{opacity:0;transform:translateY(0)}5%{opacity:.8;transform:translateY(-7px)}12%{opacity:.6;transform:translateY(1px)}18%{opacity:.6;transform:translateY(0)}30%{opacity:.6;transform:translateY(0)}34%{opacity:.6;transform:translateY(-3.5px)}40%{opacity:.6;transform:translateY(.5px)}45%{opacity:.6;transform:translateY(0)}52%{opacity:.6;transform:translateY(0)}55%{opacity:.6;transform:translateY(-1.5px)}59%{opacity:.6;transform:translateY(0)}to{opacity:.6;transform:translateY(0)}}.menu-epigraph__ripple{animation:pondRipple 3s ease-out .05s forwards,rippleTremble .18s ease-in-out .05s 14;border-radius:50%;height:10px;left:50%;opacity:0;pointer-events:none;position:absolute;top:55%;transform:translate(-50%,-50%);width:50px}.menu-epigraph__ripple--second{animation-delay:1.1s,1.1s}@keyframes pondRipple{0%{box-shadow:0 0 0 0 #61f2ff47,0 0 0 0 #61f2ff2e,0 0 0 0 #61f2ff17;opacity:1}to{box-shadow:0 0 2px 28px #61f2ff00,0 0 2px 56px #61f2ff00,0 0 2px 88px #61f2ff00;opacity:1}}@keyframes rippleTremble{0%{transform:translate(-50%,-50%)}25%{transform:translate(-50%,calc(-50% - 1.2px)) scaleX(1.015)}50%{transform:translate(-50%,-50%) scaleX(.99)}75%{transform:translate(-50%,calc(-50% + .8px)) scaleX(1.008)}to{transform:translate(-50%,-50%)}}.menu-buttons{display:flex;flex-direction:column;gap:12px;max-width:400px;width:100%}.menu-button{background:#120a21;background:var(--panel-background,#120a21);border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:8px;color:#e2e6f3;color:var(--text-primary,#e2e6f3);cursor:pointer;font-family:Julius Sans One,Inter,sans-serif;font-size:1rem;letter-spacing:.12em;outline:none;overflow:hidden;padding:min(14px,1.5dvh) 28px;position:relative;text-transform:uppercase;transition:all .2s ease}.menu-button:before{background:linear-gradient(90deg,#0000,#61f2ff1a,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .4s ease;width:100%}.menu-button:hover:before{left:100%}.menu-button__sweep{background:linear-gradient(90deg,#0000,#61f2ff26,#0000);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;width:100%}.menu-button--selected .menu-button__sweep{animation:sweepLightIn .6s ease forwards}.menu-button:not(.menu-button--selected) .menu-button__sweep{animation:sweepLightOut .6s ease forwards;opacity:.4}.menu-button__text{position:relative;z-index:1}@keyframes sweepLightIn{0%{left:-100%}to{left:100%}}@keyframes sweepLightOut{0%{left:100%}to{left:-100%}}.menu-button--selected:before{animation:sweepLightIn .6s ease forwards}.menu-button:hover{border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 15px #61f2ff33;color:#61f2ff;color:var(--highlight-text,#61f2ff)}.menu-button--keyboard-nav:hover:not(.menu-button--selected){border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f);box-shadow:none;color:#e2e6f3;color:var(--text-primary,#e2e6f3)}.menu-button--keyboard-nav:hover:not(.menu-button--selected):before{left:-100%}.menu-button:focus-visible{outline:2px solid #61f2ff;outline:2px solid var(--highlight-text,#61f2ff);outline-offset:3px}.menu-button--selected{background:#61f2ff1a;background:var(--highlight-bg,#61f2ff1a);border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 20px #61f2ff40,inset 0 0 15px #61f2ff1a}.menu-button--active,.menu-button--selected{color:#61f2ff;color:var(--highlight-text,#61f2ff)}.menu-button--active{background:#61f2ff0d;border-color:#61f2ff80}.menu-button--active.menu-button--selected{background:#61f2ff1a;background:var(--highlight-bg,#61f2ff1a);border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 20px #61f2ff40,inset 0 0 15px #61f2ff1a}.menu-button--disabled{cursor:not-allowed;opacity:.4}.menu-button--disabled,.menu-button--disabled:hover{border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f);color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.menu-button--disabled:hover{box-shadow:none}.menu-button--disabled:before{display:none}.menu-button--primary{background:linear-gradient(135deg,#61f2ff26,#61f2ff14);border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);color:#61f2ff;color:var(--highlight-text,#61f2ff)}.menu-button--keyboard-nav.menu-button--primary:not(.menu-button--selected){background:linear-gradient(135deg,#61f2ff14,#61f2ff0a);border-color:#61f2ff66;box-shadow:none;color:#61f2ffb3}.menu-button--primary.menu-button--selected{background:linear-gradient(135deg,#61f2ff4d,#61f2ff26);border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 25px #61f2ff66,inset 0 0 15px #61f2ff1a;color:#61f2ff;color:var(--highlight-text,#61f2ff)}.menu-button--primary:hover{background:linear-gradient(135deg,#61f2ff40,#61f2ff1f);box-shadow:0 0 25px #61f2ff4d}.menu-button--secondary{background:#0000;border-color:#9ba5c1;border-color:var(--text-secondary,#9ba5c1);color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.menu-button--keyboard-nav.menu-button--secondary:not(.menu-button--selected){border-color:#9ba5c166;color:#9ba5c199}.menu-button--secondary.menu-button--selected{background:#ffffff14;box-shadow:0 0 20px #ffffff26}.menu-button--secondary.menu-button--selected,.menu-button--secondary:hover{border-color:#e2e6f3;border-color:var(--text-primary,#e2e6f3);color:#e2e6f3;color:var(--text-primary,#e2e6f3)}.menu-button--toggle{font-size:.85rem;padding:10px 20px}.menu-button--arrow{font-size:1.2rem;min-width:44px;padding:10px 16px}.menu-badge{background:#120a21;background:var(--panel-background,#120a21);border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:8px;color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-family:Julius Sans One,Inter,sans-serif;font-size:.9rem;letter-spacing:.1em;min-width:100px;padding:10px 20px;text-align:center}.menu-badge--editable{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.menu-badge--editable:hover{background:#61f2ff0d;border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff)}.menu-badge--keyboard-nav.menu-badge--editable:hover:not(.menu-badge--selected){background:#120a21;background:var(--panel-background,#120a21);border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f)}.menu-badge--selected{background:#61f2ff1a;box-shadow:0 0 15px #61f2ff33}.menu-badge--editing,.menu-badge--selected{border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff)}.menu-badge--editing{background:#61f2ff26}.menu-badge__label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.menu-badge__input{background:#0000;border:none;color:#61f2ff;color:var(--highlight-text,#61f2ff);font-family:Julius Sans One,Inter,sans-serif;font-size:.9rem;letter-spacing:.1em;outline:none;text-align:center;width:50px}.menu-badge__input::-webkit-inner-spin-button,.menu-badge__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.menu-badge__input[type=number]{-moz-appearance:textfield}.arrow-selector{align-items:center;display:flex;gap:8px}.dropdown-selector{display:flex;flex:1 1;flex-direction:column;gap:6px;position:relative}.dropdown-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.dropdown-display{align-items:center;background:#120a21;background:var(--panel-background,#120a21);border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:8px;color:#e2e6f3;color:var(--text-primary,#e2e6f3);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.9rem;justify-content:space-between;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.dropdown-display:hover{border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff)}.dropdown-selector--keyboard-nav .dropdown-display:hover:not(.dropdown-selector--selected .dropdown-display){border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f)}.dropdown-selector--selected .dropdown-display{border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 15px #61f2ff33}.dropdown-selector--open .dropdown-display{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff)}.dropdown-value{flex:1 1;letter-spacing:.05em;text-transform:uppercase}.dropdown-arrow{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.7rem;margin-left:8px}.dropdown-options{background:#120a21;background:var(--panel-background,#120a21);border:1px solid #61f2ff;border:1px solid var(--highlight-text,#61f2ff);border-radius:0 0 8px 8px;border-top:none;box-shadow:0 10px 30px #00000080;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.dropdown-option{color:#e2e6f3;color:var(--text-primary,#e2e6f3);cursor:pointer;font-family:Inter,sans-serif;font-size:.9rem;letter-spacing:.05em;padding:10px 14px;text-transform:uppercase;transition:background .15s ease}.dropdown-option:hover{background:#61f2ff1a}.dropdown-option--selected{background:#61f2ff26;color:#61f2ff;color:var(--highlight-text,#61f2ff)}.dropdown-option--selected:hover{background:#61f2ff33}.dropdown-option--disabled{cursor:default;font-style:italic;opacity:.35}.dropdown-option--disabled:hover{background:#0000}.config-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0714d9;border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:16px;box-shadow:0 20px 60px #00000080,inset 0 0 30px #0000004d}.config-title{color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-family:Julius Sans One,Playfair Display,Georgia,serif;font-size:1.8rem;font-weight:400;letter-spacing:.08em;margin:0 0 8px;text-align:center}.config-section{border-bottom:1px solid #2b1b3f;border-bottom:1px solid var(--panel-border,#2b1b3f);display:flex;flex-direction:column;gap:12px;overflow:visible;padding:16px 0;width:100%}.config-section:last-of-type{border-bottom:none}.config-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;position:relative}.config-row--centered{justify-content:center}.config-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.85rem;letter-spacing:.08em;min-width:80px;text-transform:uppercase}.toggle-group{display:flex;gap:8px}.config-warning{background:#f466791a;border:1px solid #f466794d;border-radius:6px;color:#f46679;font-size:.8rem;padding:8px;text-align:center}.config-actions{display:flex;gap:16px;justify-content:space-between;margin-top:8px;width:100%}.config-actions .menu-button{flex:1 1}.config-row--api-key{align-items:stretch;flex-direction:column;gap:8px}.api-key-input-group{display:flex;flex-direction:column;gap:6px;width:100%}.api-key-label{align-items:center;color:#9ba5c1;color:var(--text-secondary,#9ba5c1);display:flex;font-size:.8rem;gap:8px;letter-spacing:.05em;text-transform:uppercase}.api-key-link{color:#61f2ff;color:var(--highlight-text,#61f2ff);font-size:.7rem;letter-spacing:normal;opacity:.8;text-decoration:none;text-transform:none;transition:opacity .15s ease}.api-key-link:hover{opacity:1;text-decoration:underline}.api-key-input{background:#0000004d;border:1px solid #ffffff26;border-radius:6px;color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-family:Courier New,monospace;font-size:.9rem;letter-spacing:.1em;outline:none;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.api-key-input::placeholder{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);letter-spacing:.02em;opacity:.5}.api-key-input:focus{border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 0 2px #61f2ff26}.api-key-input--filled{border-color:#64c86466}.api-key-input--filled:not(:focus){background:#64c8640d}.api-key-notice{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.65rem;font-style:italic;opacity:.6;text-align:center}@media (max-width:600px){.config-row{align-items:stretch;flex-direction:column}.arrow-selector,.toggle-group{justify-content:center}.api-key-note{font-size:.6rem}}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.menu-content{animation:menuFadeIn .4s ease-out}.discard-session-link{background:none;border:none;color:#9ba5c1;color:var(--text-secondary,#9ba5c1);cursor:pointer;font-family:Inter,sans-serif;font-size:.75rem;letter-spacing:.05em;margin-top:4px;opacity:.6;padding:8px 16px;transition:opacity .2s ease,color .2s ease}.discard-session-link:hover{color:#f46679;opacity:1;text-decoration:underline}.graph-animator{filter:blur(.5px);opacity:.7}.coords{color:#dfe7f5;font-size:clamp(.9rem,1.35vw,1.2rem);letter-spacing:.12em;pointer-events:none;text-shadow:0 0 6px #fff9,0 0 12px #c0c0c073,0 0 18px #c0c0ff59;text-transform:uppercase}.coords,.coords span,.coords--cols,.coords--rows{position:absolute}.coords span{display:block;transform:translate(-50%,-50%);white-space:nowrap}.coords--rows{text-align:right}.coords--rows span{left:50%}.coords--cols span{top:50%}.coords--right{text-align:left}.coords--right span{left:50%}.coords--bottom span,.coords--right span{transform:translate(-50%,-50%) rotate(180deg)}.coords--bottom span{top:50%}.board-layout-container{align-items:center;aspect-ratio:1/1;background:linear-gradient(140deg,#2d32464d,#0c0a12d9),linear-gradient(0deg,#181625,#0f0c18);border:1px solid #ffd7b440;border-radius:28px;box-shadow:0 18px 60px #0000008c,inset 0 0 40px #00000059,inset 0 0 60px #00000059;box-sizing:border-box;display:flex;justify-content:center;margin:0 auto;max-height:85vh;max-width:min(1250px,95vh);min-height:0;overflow:visible;padding:clamp(8px,1.2vw,18px);position:relative;width:100%}.app-container--stacked .board-layout-container{aspect-ratio:auto;flex:1 1;max-height:calc(100vh - 240px);max-height:calc(100dvh - 240px);max-width:min(100%,calc(100vw - 24px));min-height:0}.zoom-pan-wrapper{height:100%;position:relative;width:100%}.zoom-wrapper{height:100%;left:0;position:absolute;top:0;width:100%}.board-content{overflow:visible;position:relative}.grid-line{background-color:#000c;position:absolute}.grid-line.origin-line{background-color:var(--highlight-text);z-index:1}.grid-line.vertical{height:100%}.grid-line.horizontal{width:100%}.piece{background:linear-gradient(145deg,#040405,#151515 60%,#070707);border:1px solid #ffffff0f;border-radius:50%;box-shadow:0 12px 24px #000c,inset 0 0 12px #ffffff14;box-sizing:border-box;isolation:isolate;overflow:hidden;position:absolute;transform:translate(-50%,-50%);transition:transform .15s ease,box-shadow .15s ease;z-index:2}.board-rotating .cursor,.board-rotating .hover-cursor,.board-rotating .jumped-piece-ghost,.board-rotating .piece,.board-rotating .staged-piece{animation:piece-counter-rotate 1.8s ease-in-out forwards}@keyframes piece-counter-rotate{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-180deg)}}.piece:after,.piece:before{border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.piece:before{background:radial-gradient(circle at 28% 28%,#ffffff4d,#fff0 58%),radial-gradient(circle at 70% 70%,#ffffff14,#fff0 60%);mix-blend-mode:screen;opacity:.75}.piece:after{background-image:repeating-linear-gradient(150deg,#ffffff0d,#ffffff05 10px,#0000 16px,#0000 22px);filter:blur(.35px);mix-blend-mode:soft-light;opacity:.22}.man{background:linear-gradient(165deg,#050505,#191919 60%,#080808);border:1px solid #ffffff14;box-shadow:0 10px 22px #000000d9,inset 0 0 14px #ffffff14,inset 0 0 1px #61f2ff26}.man:before{background:radial-gradient(circle at 32% 30%,#ffffff40,#fff0 58%),radial-gradient(circle at 72% 72%,#ffffff1f,#fff0 62%)}.man:after{background-image:repeating-linear-gradient(135deg,#ffffff12,hsla(0,0%,100%,.025) 10px,#0000 16px,#0000 22px);opacity:.18}.man:after,.man:before{pointer-events:none}.piece.man:after{box-shadow:0 0 18px #61f2ff12}.man:before{box-shadow:0 0 12px #0009,0 0 0 0 #0000}.piece.man:after{background-image:radial-gradient(circle at 50% 50%,#61f2ff38,#61f2ff00 65%)}.phutball{background:linear-gradient(150deg,#f4f7fb,#dfe2e9 55%,#c3c6ce);border:1px solid #ffffffa6;box-shadow:0 14px 24px #000000d9,inset 0 0 16px #ffffffb3,0 0 18px #ffffff40}.phutball:before{background:radial-gradient(circle at 32% 28%,#ffffffbf,#fff0 60%),radial-gradient(circle at 70% 70%,#ffffff40,#fff0 62%)}.phutball:after{background-image:repeating-linear-gradient(155deg,#ffffff59,#ffffff14 12px,#0000 18px,#0000 26px);opacity:.3}.endzone-overlay{left:0;opacity:.9;pointer-events:none;position:absolute;width:100%;z-index:1}.coord-label{background-color:var(--panel-background)}.rzpp-mini-map{background-color:#2a1a3ae6!important;border:1px solid var(--panel-border)!important;box-sizing:border-box!important;padding:0;position:absolute!important;right:0!important;top:0!important;z-index:10!important}.rzpp-mini-map__selection{background:#0000!important;border:1px solid #ffffff4d!important;box-sizing:border-box!important;margin-top:-2px!important}.minimap-endzone{left:0;position:absolute;width:100%}.minimap-board{background-color:var(--background-main);position:relative}.cursor{background:#0000;box-shadow:0 0 6px #00ffff59,inset 0 0 0 1px #00ffff26;box-sizing:border-box;height:40px;height:var(--cell-size,40px);pointer-events:none;width:40px;width:var(--cell-size,40px);z-index:4}.cursor,.cursor:after{border:2px solid var(--highlight-text);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.cursor:after{content:"";height:6px;left:50%;top:50%;width:6px}.intersection-board{background:linear-gradient(90deg,#ffd6ad24 50%,#0000 0) 0 0 /4px 4px,linear-gradient(0deg,#ffd6ad1a 50%,#0000 0) 0 0 /4px 4px,repeating-linear-gradient(0deg,#82563733,#82563733 1px,#0000 0,#0000 2px),repeating-linear-gradient(90deg,#5a3c2526,#5a3c2526 2px,#0000 0,#0000 4px),radial-gradient(ellipse at 50% 40%,#7a503280,#412919e6);background-clip:padding-box;background-color:var(--board-wood-light);border:4px solid #d9b357;border-radius:18px;box-shadow:inset 0 0 24px #00000059,0 0 20px #00000073,0 0 16px #ffcd7873;cursor:crosshair;left:0;position:absolute;top:0}.intersection-board:before{border:2px solid #dce4f0e6;border-radius:18px;border-radius:calc(var(--cell-size, 40px)*.45);box-shadow:0 0 12px #ffffff40;content:"";height:calc(100% - 76px);height:calc(100% - var(--board-padding, var(--cell-size, 40px))*2 + var(--extra-width, 4px));left:40px;left:calc(var(--board-padding, var(--cell-size, 40px)));pointer-events:none;position:absolute;top:40px;top:calc(var(--board-padding, var(--cell-size, 40px)));width:calc(100% - 76px);width:calc(100% - var(--board-padding, var(--cell-size, 40px))*2 + var(--extra-width, 4px));z-index:1}.overlay-layer,.svg-overlay{inset:0;pointer-events:none}.svg-overlay .jump-path{stroke:var(--jump-path-color);stroke-width:2;fill:none;vector-effect:non-scaling-stroke}.hover-cursor{background:#00ffff73;box-shadow:0 0 6px #00ffff80;height:14px;transform:translate(-50%,-50%);width:14px;z-index:3}.hover-cursor,.tutorial-highlight{border-radius:50%;pointer-events:none;position:absolute}.tutorial-highlight{animation:tutorial-pulse 1.5s ease-in-out infinite;background:#0000;border:4px solid #ffc864cc;box-shadow:0 0 12px #ffc86480,inset 0 0 8px #ffc86433;z-index:5}@keyframes tutorial-pulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.cursor,.hover-cursor,.jumped-piece-ghost,.piece,.staged-piece{pointer-events:none;position:absolute}.staged-piece{box-shadow:0 0 0 2px #00000040;opacity:.8;pointer-events:none;z-index:3}.staged-piece.man{background-color:#00ffff14;border:2px solid var(--text-secondary);box-shadow:0 0 8px #00ffff40}.staged-piece.man:before{background:radial-gradient(circle,#61f2ff40 0,#61f2ff00 70%);height:80%;width:80%}.staged-piece.man:after,.staged-piece.man:before{border-radius:50%;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.staged-piece.man:after{background:#ffffffe6;box-shadow:0 0 12px #61f2ff73,inset 0 0 4px #00000059;box-sizing:border-box;height:45%;width:45%}.staged-piece.invalid{background-color:var(--jump-node-invalid)!important;border-color:var(--jump-node-invalid)!important;box-shadow:0 0 0 2px var(--jump-node-invalid);z-index:5}.staged-piece.invalid:after{background:var(--background-main);border:2px solid var(--jump-node-invalid);box-sizing:border-box;height:38%;width:38%}.svg-overlay{position:absolute;z-index:2}.overlay-layer{left:0;position:absolute;top:0;z-index:3}.jump-path{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke:var(--jump-path-color);stroke-width:2px;stroke-dasharray:4,4;opacity:.8}.jump-path.invalid{stroke:var(--jump-node-invalid);opacity:.9}.jumped-piece-ghost{background:var(--jumped-piece-fill);border:2px dashed var(--jumped-piece-outline);border-radius:50%;box-shadow:0 0 14px #00000073,inset 0 0 10px #0000004d,inset 0 0 12px #61f2ff40;box-sizing:border-box;opacity:.95;pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:3}.jumped-piece-ghost:after{border:1px solid #ffffff2e;border-radius:50%;box-shadow:inset 0 0 6px #fff3;content:"";inset:25%;position:absolute}.jump-node{align-items:center;border:1px solid #fff3;border-radius:50%;box-shadow:0 0 8px #00000073,0 0 10px #61f2ff40;color:var(--jump-node-text);display:flex;font-weight:700;justify-content:center;pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:4}.jump-node-label{font-size:14px;font-size:calc(var(--cell-size, 40px)*.35);line-height:1;pointer-events:none;text-shadow:0 0 6px #ffffff59}.jump-node.invalid{color:var(--background-main);text-shadow:none}.jump-segment-bar{background:#120c1ee6;border-radius:18px;box-shadow:0 10px 24px #00000059;box-sizing:border-box;padding:12px 0;z-index:6}.jump-segment-bar,.segment-track{pointer-events:none;position:absolute}.segment-track{background:linear-gradient(90deg,#ffffff59,#00ffff73);border-radius:2px;height:4px;top:50%;transform:translateY(-50%)}.segment-points{height:100%;position:relative;width:100%}.segment-point{background:#ffffffd9;border:2px solid #ffffffbf;border-radius:50%;box-shadow:0 0 10px #ffffff8c;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);width:14px}.segment-point.invalid{background:#ff005ad9;border-color:#ff005ad9;box-shadow:0 0 12px #ff005ab3}.history-indicator{align-items:flex-start;background:#120c1ee6;border:1px solid #0ff6;border-radius:12px 0 0 12px;bottom:18px;box-shadow:0 8px 18px #0000004d;color:var(--highlight-text);display:flex;flex-direction:column;font-size:.68rem;gap:2px;letter-spacing:.14em;padding:10px 12px 12px 16px;pointer-events:none;position:absolute;right:0;text-align:left;text-transform:uppercase;z-index:6}.history-indicator-line{display:block}.history-indicator-line.primary{font-weight:600}.history-indicator-line.secondary{font-size:.62rem;letter-spacing:.2em;opacity:.85}.rzpp-mini-map{transform-origin:top right;transition:transform .5s ease-out}.minimap-expanded .rzpp-mini-map{transform:scale(1.8)}.minimap-preview-cursor{animation:minimap-cursor-move 2s ease-in-out infinite;background:#0000;border:2px solid var(--highlight-text);border-radius:50%;box-shadow:0 0 10px var(--highlight-text);pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:5}@keyframes minimap-cursor-move{0%,15%{left:var(--from-x);top:var(--from-y)}42%,58%{left:var(--to-x);top:var(--to-y)}85%,to{left:var(--from-x);top:var(--from-y)}}.minimap-preview-ghost{animation:minimap-ghost-pulse 1.5s ease-in-out infinite;background:#61f2ff4d;border:3px solid #61f2ffb3;border-radius:50%;box-shadow:0 0 16px #61f2ff80}.minimap-preview-ghost,.minimap-preview-invalid{pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:5}.minimap-preview-invalid{animation:minimap-invalid-pulse 1.5s ease-in-out infinite;background:#ff005a4d;border:3px solid #ff005ab3;border-radius:50%;box-shadow:0 0 16px #ff005a80}@keyframes minimap-invalid-pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(.85)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}@keyframes minimap-ghost-pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(.85)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}.minimap-preview-ball{background:#f4f7fb;border:2px solid #fffc;border-radius:50%;box-shadow:0 0 14px #fff9;transition:left .35s ease,top .35s ease;z-index:6}.minimap-preview-ball,.minimap-tutorial-highlight{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.minimap-tutorial-highlight{animation:tutorial-pulse 1.5s ease-in-out infinite;background:#0000;border:3px solid #ffc864cc;border-radius:50%;box-shadow:0 0 8px #ffc86480;z-index:5}.minimap-preview-svg{left:0;pointer-events:none;position:absolute;top:0;z-index:5}.minimap-preview-jump-line{stroke:#ffffff80;stroke-width:8;stroke-dasharray:10,8;stroke-linecap:round;fill:none;animation:minimap-dash-scroll 1s linear infinite}@keyframes minimap-dash-scroll{to{stroke-dashoffset:-18}}.minimap-preview-zone{animation:minimap-zone-pulse 2s ease-in-out infinite;pointer-events:none;position:absolute;z-index:4}@keyframes minimap-zone-pulse{0%,to{opacity:.3}50%{opacity:.95}}.minimap-preview-hint{animation:minimap-hint-pulse 2s ease-in-out infinite;color:var(--highlight-text);font-size:100px;font-weight:700;left:50%;letter-spacing:.1em;pointer-events:none;position:absolute;text-shadow:0 0 20px var(--highlight-text);top:30%;transform:translate(-50%,-50%);white-space:nowrap;z-index:5}@keyframes minimap-hint-pulse{0%,to{opacity:.4}50%{opacity:1}}\.history-header{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;padding:0 10px}.history-panel{background-color:var(--panel-background);border-left:2px solid var(--panel-border);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding-right:0;position:relative}.history-panel .tabs{display:flex}.history-panel .tabs .tab-button{background-color:var(--background-main);border:none;border-bottom:3px solid var(--panel-border);color:var(--text-secondary);cursor:pointer;flex-grow:1;font-size:20px;line-height:1;padding:10px 15px;text-align:center;transition:.2s}.history-panel .tabs .tab-button:hover:not(.active){background-color:var(--highlight-text)}.history-panel .tabs .tab-button.active{border-bottom:3px solid var(--highlight-text);color:var(--highlight-text)}.history-header h2{border:none;margin:10px 0;padding:0}.history-tabs{display:flex}.history-tab{background-color:var(--panel-background);border:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:20px;line-height:1;padding:4px 8px}.history-tab:hover{color:var(--text-primary)}.history-tab.active{border:2px solid var(--highlight-text);border-radius:4px;color:var(--highlight-text)}.tree-view-placeholder{color:var(--text-secondary);padding:20px;text-align:center}.history-content-wrapper{display:block;flex:1 1;min-height:0;overflow:hidden;padding:16px 20px 16px 16px;position:relative;scrollbar-gutter:stable both-edges}.tree-view-container{background:#0000001a;border:1px solid #ffffff1a;border-radius:6px;inset:12px 12px 12px 12px;overflow-y:auto;padding:0 16px 40px;position:absolute;scrollbar-width:none}.tree-view-container::-webkit-scrollbar{display:none}.tree-path-wrapper{width:100%}.tree-replay-controls{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0a0712eb;display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;margin-bottom:12px;margin-left:0;margin-right:0;padding:6px 0 8px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.tree-replay-button{align-items:center;background:#00000040;border:1px solid var(--panel-border);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.68rem;gap:4px;padding:4px 8px;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.tree-replay-button:hover{background:#140f1ed9;border-color:var(--highlight-text);color:var(--highlight-text)}.tree-replay-hint{color:inherit;font-size:.65rem;letter-spacing:.06em;opacity:.8;text-transform:uppercase}.replay-speed-indicator{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:1px solid #0000;border-radius:4px;cursor:pointer;display:inline-flex;gap:3px;outline:none;padding:3px 5px;transition:opacity .2s ease}@media (hover:hover){.replay-speed-indicator:hover{background:#00ffff0d;border-color:#00ffff4d}.replay-speed-indicator:hover .speed-rect{animation:speed-rect-flicker .4s ease-in-out infinite alternate}.replay-speed-indicator:hover .speed-rect:nth-child(2){animation-delay:.1s}.replay-speed-indicator:hover .speed-rect:nth-child(3){animation-delay:.2s}}@keyframes speed-rect-flicker{0%{opacity:1}to{opacity:.4}}.replay-speed-indicator.flash{animation:replay-speed-flash .2s ease-out}@keyframes replay-speed-flash{0%,to{opacity:1}50%{opacity:.35}}.speed-rect{background:#fff3;border:1px solid #ffffff4d;border-radius:3px;height:10px;transition:all .15s ease;width:7px}.speed-rect.active{background:#00ffff4d;border-color:#0ffc;box-shadow:0 0 6px #00ffff59}.speed-hint{color:var(--text-secondary);font-size:.55rem;opacity:.7;white-space:nowrap}.tree-path-list{gap:12px;list-style:none;margin:0;padding:10px 0}.tree-path-item,.tree-path-list{display:flex;flex-direction:column}.tree-path-item{position:relative;z-index:1}.tree-path-item.branch-menu-open{z-index:200}.tree-path-item.hovered .tree-node-row,.tree-path-item:hover .tree-node-row{border-radius:8px}.tree-path-item.current .tree-node-summary,.tree-path-item.hovered .tree-node-action,.tree-path-item.hovered .tree-node-coords,.tree-path-item.hovered .tree-node-player-label,.tree-path-item.hovered .tree-node-summary,.tree-path-item:hover .tree-node-action,.tree-path-item:hover .tree-node-coords,.tree-path-item:hover .tree-node-player-label,.tree-path-item:hover .tree-node-summary{color:var(--highlight-text)}.tree-path-item.current .tree-node-row{background:#61f2ff1f;border-radius:8px;box-shadow:inset 0 0 0 1px #61f2ff40}.tree-path-item.preview-target .tree-node-row{background:#00ffff0d;border-radius:6px}.tree-path-item.hovered .tree-node-row,.tree-path-item:hover .tree-node-row{background:#00ffff14;border-radius:6px}.tree-node-row{grid-column-gap:6px;grid-row-gap:4px;align-items:center;column-gap:6px;display:grid;grid-template-columns:16px 24px minmax(0,1fr) 100px;min-height:40px;padding:6px 12px 6px 0;row-gap:4px}.tree-node-marker{align-items:center;display:flex;flex-direction:column;gap:4px;position:relative;width:16px}.tree-node-line{background:#ffffff26;flex-grow:1;width:2px}.tree-node-line.hidden{visibility:hidden}.tree-node-dot{background:#ffffff59;border-radius:50%;height:10px;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;width:10px}.tree-node-dot.current{background:var(--highlight-text);box-shadow:0 0 8px var(--highlight-text),0 0 16px #61f2ff66;transform:scale(1.3)}.tree-node-details{gap:4px;grid-column:3/5;grid-row:1;justify-content:center;padding-right:50px}.tree-node-details,.tree-node-summary{align-items:center;display:flex;flex-direction:column;min-width:0;text-align:center}.tree-node-summary{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:.95rem;font-weight:500;gap:2px;padding:0;width:100%;word-break:break-word}.tree-node-summary.preview-active,.tree-node-summary:hover{color:var(--highlight-text)}.tree-node-summary-main{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:0;width:100%}.tree-node-primary-line{align-items:center;display:inline-flex;gap:6px;justify-content:center;white-space:nowrap}.tree-node-primary-line>*{min-width:0}.tree-node-title{font-weight:600}.tree-node-player-label{color:var(--text-primary);font-weight:600}.tree-node-row:hover .tree-node-summary,.tree-node-row:hover .tree-node-summary .tree-node-action,.tree-node-row:hover .tree-node-summary .tree-node-arrow,.tree-node-row:hover .tree-node-summary .tree-node-coords,.tree-node-row:hover .tree-node-summary .tree-node-player-label,.tree-node-summary:hover .tree-node-action,.tree-node-summary:hover .tree-node-arrow,.tree-node-summary:hover .tree-node-coords,.tree-node-summary:hover .tree-node-player-label{color:var(--highlight-text)}.tree-node-action{background:#966ed22e;border-radius:999px;color:#d8c6ff;font-size:.7rem;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.tree-node-action.action-jump{background:#788cff38;color:#dbe0ff}.tree-node-action.action-place{background:#b978ff38;color:#f0d9ff}.tree-node-action.action-halt{background:#9646b447;color:#f5cfff}.tree-node-summary.highlight-flash .tree-node-arrow,.tree-node-summary.highlight-flash .tree-node-coords,.tree-node-summary.highlight-flash .tree-node-player-label{color:var(--highlight-text)}.tree-node-summary.highlight-flash .tree-node-action{background:#00f5f52e;color:var(--highlight-text)}.tree-node-coords{color:var(--text-secondary);display:block;font-family:monospace;font-size:.85rem;margin-top:2px;max-width:100%;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip}.tree-branch-menu .tree-node-coords,.tree-node-coords{white-space:normal}.tree-node-arrow{opacity:.75}.tree-node-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.75rem;gap:8px}.tree-node-turn{font-weight:500}.tree-node-tag{align-items:center;background:#ffffff14;border-radius:6px;color:var(--text-secondary);display:inline-flex;font-size:.7rem;justify-content:center;letter-spacing:.04em;line-height:1;padding:2px 6px;text-transform:uppercase}.tree-node-tag.live{background:#61f2ff1f;border:1px solid #61f2ff99;border-radius:999px;color:var(--highlight-text);font-weight:700;letter-spacing:.08em;line-height:1;margin:0;padding:3px 10px}.tree-branch-area{align-items:center;display:flex;justify-content:center;position:relative}.tree-branch-area.left{width:28px}.tree-branch-toggle{background:var(--panel-background);border:1px solid var(--panel-border);border-radius:6px;color:var(--highlight-text);cursor:pointer;font-weight:700;height:26px;transition:background .15s ease,border-color .15s ease;width:26px}.tree-branch-toggle.open{background:var(--highlight-bg);border-color:var(--highlight-text)}.tree-branch-toggle:disabled{cursor:not-allowed;opacity:.4}.tree-visualization-toggle{align-items:center;background:var(--panel-background);border:1px solid #61f2ff4d;border-radius:5px;color:#61f2ff;cursor:pointer;display:flex;font-size:.95rem;height:24px;justify-content:center;line-height:1;margin:0 6px;opacity:.6;transition:all .15s ease;width:24px}.tree-visualization-toggle:hover{background:#61f2ff0d;border-color:#61f2ff;opacity:.9}.tree-visualization-toggle.active{background:#61f2ff26;border-color:#61f2ff;color:#61f2ff;opacity:1}.tree-visualization-toggle:disabled{cursor:not-allowed;opacity:.3}.tree-visualization-toggle.status-pending{border-color:#969696;color:#969696;opacity:.6}.tree-visualization-toggle.status-processing{animation:spin 1s linear infinite;border-color:#dcdc32;color:#dcdc32;opacity:1}.tree-visualization-toggle.status-failed{border-color:#ff3232;color:#ff3232;opacity:1}.tree-visualization-toggle.status-complete{border-color:var(--highlight-text);color:var(--highlight-text);opacity:1}.tree-branch-menu{background:var(--background-main);border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 6px 20px #00000080;display:flex;flex-direction:column;gap:4px;isolation:isolate;max-height:188px;min-width:200px;overflow-y:auto;padding:6px;position:absolute;top:52px;z-index:300}.tree-branch-option{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;gap:12px;padding:8px 10px;text-align:center;transition:background .15s ease,color .15s ease}.tree-branch-option.focused,.tree-branch-option:hover{background:var(--highlight-bg);color:var(--highlight-text)}.tree-branch-option-text{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;text-align:center}.tree-branch-option-main{align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:8px;justify-content:center;min-width:0}.tree-branch-option-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.75rem;gap:8px}.tree-branch-option-status{font-size:.75rem;height:32px;padding:0;width:32px}.tree-node-status{align-items:center;display:flex;gap:8px;grid-column:4;grid-row:1;justify-content:flex-end;position:relative;z-index:2}.tree-node-status-button{align-items:center;background:var(--panel-background);border:2px solid var(--panel-border);border-radius:50%;box-shadow:none;color:var(--highlight-text);cursor:pointer;display:flex;font-weight:600;height:34px;justify-content:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;width:34px}.tree-node-status-button.preview-active{border-color:var(--panel-border);box-shadow:none}.tree-node-status-button.live{box-shadow:none}.tree-node-status-button.branch-ready,.tree-node-status-button.preview-source,.tree-node-status-button:hover,.tree-path-item.hovered .tree-node-status-button,.tree-path-item:hover .tree-node-status-button{border-color:var(--panel-border);box-shadow:none}.tree-node-status-button.player-1{background:var(--player1-endzone-color)}.tree-node-status-button.player-2{background:var(--player2-endzone-color)}.tree-node-status-button.player-neutral{background:var(--panel-background)}.tree-node-status-button.prev-highlight{border-color:var(--panel-border);box-shadow:none}@media (max-width:1280px){.tree-node-summary{font-size:.88rem}.tree-node-action{font-size:.62rem;padding:2px 6px}.tree-node-coords{font-size:.8rem}.tree-node-status-button{height:30px;width:30px}}@media (max-width:1080px){.tree-node-row{column-gap:5px;grid-template-columns:14px 14px minmax(0,1fr) 88px}.tree-node-marker{width:14px}.tree-node-status-button{height:26px;width:26px}.tree-node-summary{font-size:.82rem}}.tree-path-empty{color:var(--text-secondary);font-size:.9rem;padding:24px 0;text-align:center;width:100%}.history-list{inset:12px 30px 12px 12px;list-style:none;margin:0;padding:0;position:absolute;transition:transform .15s ease-out;will-change:transform}.history-item{background-color:initial;border-bottom:1px solid #ffffff0d;color:var(--text-secondary);cursor:pointer;list-style:none;margin:0;padding:8px 10px;transition:background-color .15s ease,color .15s ease}.history-item.active{background-color:#00ffff14;border-radius:6px;color:var(--text-primary)}.history-item.focused:not(.active),.history-item.hovered:not(.active){background-color:#00ffff1f;border-radius:6px;color:var(--text-primary)}.history-item.active .entry-text,.history-item.active .expand-toggle,.history-item.active .jump-arrow,.history-item.active .jump-segment-text,.history-item.focused:not(.active) .entry-text,.history-item.focused:not(.active) .expand-toggle,.history-item.focused:not(.active) .jump-arrow,.history-item.focused:not(.active) .jump-segment-text,.history-item.hovered:not(.active) .entry-text,.history-item.hovered:not(.active) .expand-toggle,.history-item.hovered:not(.active) .jump-arrow,.history-item.hovered:not(.active) .jump-segment-text{color:var(--highlight-text)}.history-entry-line{align-items:flex-start;display:flex;gap:8px}.expand-toggle{background:none;border:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;margin-top:2px;padding:0 2px}.expand-toggle:hover{color:var(--highlight-text)}.entry-text{flex:1 1;font-family:monospace;word-break:break-word}.history-item.live-entry{border-top:1px solid #00ffff1f;margin-top:6px}.history-item.live-entry.pending{background-color:initial;color:var(--text-secondary)}.history-item.live-entry.focused:not(.active),.history-item.live-entry.hovered:not(.active){background-color:#00ffff1f;border-radius:6px;color:var(--text-primary)}.history-item.live-entry.focused:not(.active) .entry-badge.live,.history-item.live-entry.focused:not(.active) .entry-text,.history-item.live-entry.hovered:not(.active) .entry-badge.live,.history-item.live-entry.hovered:not(.active) .entry-text{border-color:var(--highlight-text);color:var(--highlight-text)}.history-item.live-entry.pending .entry-text{color:var(--text-secondary)}.history-item.live-entry.active .entry-badge.live{background-color:#0ff3;color:var(--background-main)}.history-item.live-entry .entry-badge.live{background-color:initial;border:1px solid var(--highlight-text);color:var(--highlight-text)}.entry-badge{align-items:center;background-color:#00ffff29;border-radius:4px;color:var(--highlight-text);display:inline-flex;font-size:.65rem;font-weight:600;justify-content:center;letter-spacing:.04em;padding:2px 6px;text-transform:uppercase;white-space:nowrap}.jump-expanded-line{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-family:monospace;gap:8px;margin-top:6px}.jump-segment{align-items:center;display:inline-flex;gap:6px}.jump-segment-text{color:inherit}.jump-arrow{opacity:.75}.tree-live-node-entry{margin-top:4px;position:relative;z-index:1}.tree-live-node-entry .tree-node-row{cursor:pointer;transition:background .15s ease}.tree-live-node-entry .tree-node-row:hover{background:#61f2ff14;border-radius:8px}.tree-live-node-entry .tree-node-dot.live-dot{background:var(--highlight-text);box-shadow:0 0 6px #61f2ff66}.tree-live-node-entry .tree-node-summary:hover{color:var(--highlight-text)}.tree-live-indicator{margin-top:2px;position:relative;z-index:1}.tree-live-indicator .tree-node-row{cursor:pointer;transition:background .15s ease,opacity .15s ease}.tree-live-indicator .tree-node-row:hover{background:#61f2ff14;border-radius:8px}.tree-live-indicator .tree-node-dot.live-indicator-dot{background:var(--highlight-text);box-shadow:0 0 8px #61f2ff80;height:8px;width:8px}.tree-live-indicator .live-indicator-summary{opacity:.7}.tree-live-indicator .live-indicator-summary:hover{color:var(--highlight-text);opacity:1}.tree-live-indicator .live-title{color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-left:8px}.tree-turn-indicator{margin-top:2px;position:relative;z-index:1}.tree-turn-indicator .tree-node-row{cursor:pointer;transition:background .15s ease,opacity .15s ease}.tree-turn-indicator .tree-node-row:hover{background:#61f2ff14;border-radius:8px}.tree-turn-indicator .tree-node-row.turn-selected{background:#61f2ff1f;border-radius:8px}.tree-turn-indicator .tree-node-dot.turn-indicator-dot{background:var(--text-secondary);height:8px;width:8px}.tree-turn-indicator .tree-node-dot.turn-indicator-dot.current{background:var(--highlight-text);box-shadow:0 0 8px var(--highlight-text),0 0 16px #61f2ff66;transform:scale(1.3)}.tree-turn-indicator .turn-indicator-summary{opacity:.7}.tree-turn-indicator .turn-indicator-summary:hover{opacity:1}.tree-turn-indicator .turn-indicator-summary.selected{color:var(--highlight-text);opacity:1}.tree-turn-indicator .turn-title{color:var(--text-secondary);font-size:.9rem;font-weight:500}.tree-turn-indicator.current .turn-title{color:var(--highlight-text)}.app-container--stacked .history-panel{border-left:none}.app-container--stacked .history-content-wrapper{flex:1 1;min-height:0}.app-container--stacked .history-list{inset:12px 30px 48px 12px}.app-container--stacked .tree-view-container{inset:8px;position:absolute}.log-panel{background-color:var(--panel-background);border-right:2px solid var(--panel-border);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;position:relative}.log-panel .tabs{border-bottom:3px solid var(--panel-border);display:flex}.log-panel .tabs button{background-color:var(--background-main);border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:1em;outline:none;padding:10px;text-align:center;transition:background-color .2s ease,color .2s ease,border-bottom-color .2s ease}.log-panel .tabs button:hover:not(.active){background-color:var(--highlight-text);color:var(--background-main)}.log-panel .tabs button:active{transform:translateY(1px)}.log-panel .tabs button:focus-visible{outline:2px solid var(--highlight-text);outline-offset:3px}.log-panel .tabs button.active{background-color:var(--panel-background);border-bottom-color:var(--highlight-text);color:var(--highlight-text)}.log-panel .tabs button.disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.4}.log-panel .tabs button.disabled:hover{background-color:var(--background-main);color:var(--text-secondary)}.log-content-wrapper{flex:1 1;min-height:0;overflow:hidden;padding-left:26px;position:relative}.log-content{color:var(--text-primary);height:100%;overflow-y:auto;padding:12px;scrollbar-gutter:stable both-edges;scrollbar-width:none}.app-container--stacked .log-content{padding-bottom:48px}.log-content::-webkit-scrollbar{display:none}.log-typewriter{font-family:Courier New,Courier,monospace;font-size:.75rem;line-height:1.4}.log-empty{align-items:center;display:flex;height:100%;justify-content:center;opacity:.5}.log-empty-text{color:var(--text-secondary);font-style:italic}.log-game-start{border-bottom:1px solid var(--panel-border);margin-bottom:12px;padding:8px 0}.log-header-text{color:var(--highlight-text);font-weight:600;letter-spacing:.1em}.log-turn{margin-bottom:16px}.log-turn-header{align-items:center;background:#ffffff0d;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:4px;padding:4px 8px}.log-turn-header.player-1{border-left:3px solid #61f2ff;border-left:3px solid var(--p1-color,#61f2ff)}.log-turn-header.player-2{border-left:3px solid #ff6b6b;border-left:3px solid var(--p2-color,#ff6b6b)}.log-turn-label{font-weight:500;letter-spacing:.05em}.log-action{border-left:1px solid #ffffff1a;margin-left:12px;padding:4px 0 4px 8px}.log-action-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.log-action-desc{color:var(--text-secondary);font-size:.7rem}.log-action-stats{align-items:center;display:inline-flex;flex-shrink:0;gap:6px;margin-left:auto}.log-stat{white-space:nowrap}.log-expand-btn,.log-stat{color:var(--text-secondary);font-size:.6rem;opacity:.6}.log-expand-btn{background:none;border:none;cursor:pointer;padding:2px 6px;transition:opacity .15s ease}.log-expand-btn:hover{opacity:1}.log-expand-btn.expanded{opacity:.9}.log-action-reasoning,.log-reasoning{background:#61f2ff0d;border-left:2px solid #61f2ff4d;border-radius:4px;margin:6px 0;padding:8px}.log-reasoning-text{word-wrap:break-word;color:var(--text-secondary);font-size:.65rem;margin:0;white-space:pre-wrap}.log-board-container{background:#0000004d;border-radius:4px;margin:8px 0;overflow-x:auto;padding:8px}.log-board-text{color:var(--text-primary);font-size:.6rem;line-height:1.2;margin:0;white-space:pre}.log-llm-thinking{background:#61f2ff14;border-left:2px solid #61f2ff80;border-radius:4px;margin-top:12px;padding:12px}.log-thinking-header{align-items:center;display:flex;font-size:.75rem;gap:6px}.log-thinking-provider{color:var(--highlight-text);font-weight:500}.log-thinking-label{color:var(--text-secondary)}.log-thinking-dots{display:inline-flex;gap:2px}.log-thinking-dots .dot{animation:thinkingDot 1.4s infinite;opacity:.3}.log-thinking-dots .dot:first-child{animation-delay:0s}.log-thinking-dots .dot:nth-child(2){animation-delay:.2s}.log-thinking-dots .dot:nth-child(3){animation-delay:.4s}@keyframes thinkingDot{0%,60%,to{opacity:.3}30%{opacity:1}}.log-llm-error{background:#ff64641a;border-left:2px solid #ff646480;border-radius:4px;font-size:.7rem;margin-top:12px;padding:12px}.log-error-label{color:#ff6464;font-weight:500;margin-right:6px}.log-error-message{color:var(--text-secondary)}.llm-thinking{animation:pulse 1.5s infinite}.llm-error{color:#ff6464;cursor:help}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tutorial-mode{display:flex;flex-direction:column;gap:0;height:100%}.tutorial-action-banner{background:#ffb43226;border-bottom:1px solid #ffb43266;color:#ffb432;font-size:.8rem;font-weight:600;padding:8px 12px;text-align:center;transition:background .3s ease,border-color .3s ease,color .3s ease}.tutorial-action-banner.done{background:#50dc7826;border-bottom-color:#50dc7866;color:#50dc78}.tutorial-action-banner.continue{background:#61f2ff1a;border-bottom-color:#61f2ff4d;color:#61f2ffcc}.tutorial-action-banner kbd{background:#ffffff1f;border:1px solid #ffffff40;border-radius:3px;color:#fff;display:inline-block;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;margin:0 2px;padding:1px 4px}.tutorial-header-bar{align-items:center;background:#61f2ff14;border-bottom:1px solid #61f2ff26;display:flex;justify-content:space-between;padding:12px 14px}.tutorial-header-text{color:#61f2ff;font-size:.9rem;font-weight:600;letter-spacing:.5px}.tutorial-progress{color:#888;font-size:.8rem;font-weight:500;min-width:50px;text-align:center}.tutorial-progress-flash{animation:tutorial-step-flash .4s ease-out}@keyframes tutorial-step-flash{0%{color:#61f2ff;transform:scale(1.15)}to{color:#888;transform:scale(1)}}.tutorial-nav{align-items:center;display:flex;gap:4px}.tutorial-nav-btn{align-items:center;background:#61f2ff0d;border:1px solid #61f2ff4d;border-radius:6px;color:#61f2ff;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;height:28px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;width:28px}.tutorial-nav-btn:hover:not(:disabled){background:#61f2ff26;border-color:#61f2ff;transform:scale(1.05)}.tutorial-nav-btn:active:not(:disabled){background:#61f2ff40;transform:scale(.95)}.tutorial-nav-btn:disabled{cursor:not-allowed;opacity:.3}.tutorial-nav-btn:focus{outline:none}.tutorial-nav-btn:focus-visible{outline:2px solid #61f2ff;outline-offset:2px}.tutorial-message{flex:1 1;padding:16px 14px}.app-container--stacked .tutorial-mode{height:auto;min-height:100%}.app-container--stacked .tutorial-message{flex:0 0 auto}.tutorial-message-title{color:#fff;font-size:1.1rem;font-weight:500;letter-spacing:.01em;line-height:1.3;margin-bottom:10px}.tutorial-message-detail{color:#a8b0c0;font-size:.9rem;font-weight:400;letter-spacing:.015em;line-height:1.65}.tutorial-hint{background:#61f2ff14;border-left:3px solid #61f2ff;border-radius:6px;color:#61f2ff;font-size:.9rem;margin-top:16px;padding:10px 12px}.tutorial-hint kbd{background:#ffffff1f;border:1px solid #ffffff40;border-radius:3px;color:#fff;display:inline-block;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8rem;margin:0 2px;padding:2px 5px}.tutorial-controls-ref{background:#00000026;border-top:1px solid #ffffff14;padding:12px 14px}.tutorial-controls-title{color:#666;font-size:.7rem;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.tutorial-controls-grid{grid-gap:6px 12px;color:#777;display:grid;font-size:.75rem;gap:6px 12px;grid-template-columns:1fr 1fr}.tutorial-controls-grid kbd{background:#ffffff14;border:1px solid #ffffff26;border-radius:2px;color:#999;display:inline-block;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.7rem;margin-right:2px;padding:1px 4px}.header{align-items:center;border-bottom:1px solid var(--panel-border);display:flex;flex-wrap:wrap;justify-content:flex-start;padding:16px 24px;position:relative}.header__cast-quote{animation:castQuoteFade 6s ease-out forwards;color:#61f2ffe6;font-family:Playfair Display,Georgia,serif;font-size:.85rem;font-style:italic;letter-spacing:.06em;margin-left:16px;pointer-events:none;white-space:nowrap}.app-container--stacked .header__cast-quote{font-size:.65rem;margin-top:2px;position:static;text-align:center;transform:none;width:100%}@keyframes castQuoteFade{0%{opacity:.9}10%{opacity:.9}70%{opacity:.7}to{opacity:0}}.header__title{font-size:1.1rem;letter-spacing:.15em;text-transform:uppercase}.header__label{color:var(--text-secondary);margin-right:8px}.header__player{color:var(--highlight-text);font-weight:600}.header__player.player-1{color:#61f2ff;color:var(--p1-color,#61f2ff)}.header__player.player-2{color:#ff6b6b;color:var(--p2-color,#ff6b6b)}.header__tutorial-hint{align-items:center;color:#61f2ffb3;display:inline-flex;font-size:.8rem;gap:6px;left:50%;letter-spacing:.08em;overflow:hidden;pointer-events:none;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.header__tutorial-arrow{animation:hint-arrow-pulse 3s ease-in-out infinite;font-size:1rem}.header__tutorial-text{background:linear-gradient(90deg,#61f2ff4d,#61f2ff4d);-webkit-background-clip:text;background-clip:text;border:1px solid #61f2ff33;border-radius:4px;padding:4px 10px;position:relative}.header__tutorial-text:before{background:linear-gradient(90deg,#61f2ff40,#61f2ff14 30%,#0000 60%);bottom:0;left:0;right:0;top:0}.header__tutorial-text:after,.header__tutorial-text:before{animation:glow-tube-sweep 3s ease-in-out infinite;border-radius:3px;content:"";position:absolute}.header__tutorial-text:after{background:linear-gradient(90deg,#0000,#61f2ff80,#61f2ffcc,#61f2ff80,#0000);bottom:-1px;filter:blur(3px);left:-10%;top:-1px;width:30%}@keyframes glow-tube-sweep{0%{opacity:0;transform:translateX(-20%)}8%{opacity:0}10%{opacity:1;transform:translateX(-20%)}50%{opacity:1;transform:translateX(350%)}60%{opacity:0}to{opacity:0;transform:translateX(350%)}}.app-container--stacked .header__tutorial-hint{flex:1 1;font-size:.65rem;gap:4px;justify-content:center;margin-right:40px;margin-top:2px;min-width:0;order:1;position:static;transform:none}.app-container--stacked .header__tutorial-arrow{font-size:.7rem}.app-container--stacked .header__tutorial-text{padding:2px 6px}@keyframes hint-arrow-pulse{0%{opacity:.3;transform:translateX(0)}10%{opacity:1;transform:translateX(-4px)}50%{opacity:.6;transform:translateX(0)}60%,to{opacity:.3;transform:translateX(0)}}.header__tutorial-row{display:none}.app-container--stacked .header__tutorial-row{align-items:center;display:flex;gap:8px;margin-top:4px;order:1;padding-right:40px;width:100%}.header__tutorial-hint--inline{flex:1 1;font-size:.65rem!important;gap:4px!important;margin:0!important;min-width:0;position:static!important;transform:none!important}.header__flag{animation:flag-unfurl .35s ease-out forwards;border-radius:3px;display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.08em;overflow:hidden;text-transform:uppercase;white-space:nowrap}.header__flag--action{background:#ffb432;border:1px solid #ffb43299;color:#1a1a2e}.header__flag--done{background:#50dc78;border:1px solid #50dc7899;color:#1a1a2e}.header__flag--undo{background:#ff6b6b;border:1px solid #ff6b6b99;color:#fff}@keyframes flag-unfurl{0%{max-width:0;opacity:0;padding:0}to{max-width:150px;opacity:1;padding:2px 8px}}.game-over-overlay{align-items:center;animation:gameOverFadeIn .3s ease-out;background:#0b0714eb;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes gameOverFadeIn{0%{opacity:0}to{opacity:1}}.game-over-modal{animation:gameOverSlideUp .3s ease-out;background:#120a21;background:var(--panel-background,#120a21);border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:12px;box-shadow:0 0 40px #61f2ff1a,0 20px 60px #00000080;max-height:90vh;max-width:90vw;min-width:400px;overflow-y:auto;padding:40px 48px}@keyframes gameOverSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-over-content{gap:24px}.game-over-announcement,.game-over-content{align-items:center;display:flex;flex-direction:column}.game-over-announcement{gap:6px}.winner-label{font-size:1.75rem;font-weight:600;letter-spacing:.12em}.winner-label.player1{color:#f46679;text-shadow:0 0 20px #f4667966}.winner-label.player2{color:#61f2ff;color:var(--highlight-text,#61f2ff);text-shadow:0 0 20px #61f2ff66}.wins-text{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:1rem;font-weight:400;letter-spacing:.35em}.game-over-stats{display:flex;gap:28px}.stat-item{align-items:center;display:flex;flex-direction:column;gap:3px}.stat-value{color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-size:1.5rem;font-weight:600}.stat-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.7rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase}.game-over-detailed-stats{border-bottom:1px solid #2b1b3f;border-bottom:1px solid var(--panel-border,#2b1b3f);border-top:1px solid #2b1b3f;border-top:1px solid var(--panel-border,#2b1b3f);display:flex;flex-direction:column;gap:20px;padding:16px 0;width:100%}.stats-section-title{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.6rem;font-weight:500;letter-spacing:.25em;margin:0 0 10px;text-align:center}.stats-comparison{display:flex;flex-direction:column;gap:6px}.stats-row{grid-gap:8px;align-items:center;display:grid;font-size:.8rem;gap:8px;grid-template-columns:1fr auto 16px auto}.stats-row.stats-header{font-size:.65rem;margin-bottom:4px}.stats-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.stats-p1,.stats-p1-label{color:#f46679;min-width:32px;text-align:right}.stats-p2,.stats-p2-label{color:#61f2ff;color:var(--highlight-text,#61f2ff);min-width:32px;text-align:left}.stats-divider{color:#2b1b3f;color:var(--panel-border,#2b1b3f);text-align:center}.possession-stats{display:flex;flex-direction:column;gap:8px}.possession-bar-container{background:#2b1b3f;background:var(--panel-border,#2b1b3f);border-radius:4px;display:flex;height:8px;overflow:hidden}.possession-bar{height:100%;transition:width .3s ease}.p1-possession{background:linear-gradient(90deg,#f46679,#f4667999)}.p2-possession{background:linear-gradient(90deg,#61f2ff99,#61f2ff)}.possession-labels{display:flex;font-size:.7rem;justify-content:space-between;letter-spacing:.05em}.possession-p1{color:#f46679}.possession-p2{color:#61f2ff;color:var(--highlight-text,#61f2ff)}.game-over-stats-plot{display:flex;flex-direction:column;gap:8px;width:100%}.game-over-actions{display:flex;gap:12px;margin-top:4px}.game-over-btn{border:1px solid #0000;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;letter-spacing:.05em;padding:11px 20px;transition:all .15s ease}.review-btn{background:#0000;border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f);color:#e2e6f3;color:var(--text-primary,#e2e6f3)}.review-btn.selected,.review-btn:hover{background:#61f2ff14;border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 15px #61f2ff33;color:#61f2ff;color:var(--highlight-text,#61f2ff)}.new-game-btn{background:#0000;border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f);color:#e2e6f3;color:var(--text-primary,#e2e6f3)}.new-game-btn.selected,.new-game-btn:hover{background:#61f2ff14;border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 15px #61f2ff33;color:#61f2ff;color:var(--highlight-text,#61f2ff)}.main-menu-btn{background:#0000;border-color:#2b1b3f;border-color:var(--panel-border,#2b1b3f);color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.main-menu-btn.selected,.main-menu-btn:hover{background:#f4667914;border-color:#f46679;box-shadow:0 0 15px #f4667933;color:#f46679}.game-over-btn:focus{outline:none}@media (max-width:480px){.game-over-modal{min-width:280px;padding:32px 24px}.game-over-actions{flex-direction:column;width:100%}.game-over-btn{width:100%}}.stats-plot-container{align-items:center;display:flex;flex-direction:column;gap:6px;width:100%}.stats-plot-empty{align-items:center;color:#9ba5c1;color:var(--text-secondary,#9ba5c1);display:flex;font-size:.8rem;font-style:italic;height:100px;justify-content:center}.stats-plot-svg{display:block}.stats-plot-svg.interactive{cursor:pointer}.stats-plot-svg.dragging{cursor:grabbing}.stats-plot-bg{fill:#0b0714cc}.stats-plot-center-line{stroke:#9ba5c14d;stroke-width:1}.stats-plot-line{stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease}.stats-plot-line.field-position{stroke:#b8a3ff;opacity:1}.stats-plot-line.piece-tilt{stroke:#ffcf5c;opacity:1}.stats-plot-line.value{stroke:#61f2ff;opacity:1}.stats-plot-line.dimmed{opacity:.3}.stats-plot-scrubber-line{stroke:#ffffff80;stroke-width:1;stroke-dasharray:2 2}.stats-plot-indicator{fill:#fff;stroke-width:2;filter:drop-shadow(0 0 4px rgba(0,0,0,.5));transition:fill .15s ease,stroke .15s ease}.stats-plot-indicator.fieldPosition{fill:#b8a3ff;stroke:#fff}.stats-plot-indicator.pieceTilt{fill:#ffcf5c;stroke:#fff}.stats-plot-indicator.value{fill:#61f2ff;stroke:#fff}.stats-plot-label{text-anchor:end;font-size:.5rem;font-weight:500;letter-spacing:.08em}.stats-plot-label.p1-label,.stats-plot-label.p2-label,.stats-plot-label.x-label{fill:#9ba5c1;fill:var(--text-secondary,#9ba5c1)}.stats-plot-label.x-label{text-anchor:middle;font-size:.45rem;letter-spacing:.15em;text-transform:uppercase}.stats-plot-footer{align-items:center;display:flex;justify-content:space-between;padding:0 4px;width:100%}.stats-plot-move-indicator{align-items:baseline;display:flex;font-family:monospace;font-size:.75rem;gap:2px}.move-current{color:#61f2ff;color:var(--highlight-text,#61f2ff);font-weight:600}.move-separator,.move-total,.move-value{color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.move-value{font-size:.65rem;margin-left:4px}.stats-plot-legend{display:flex;gap:12px;justify-content:center}.legend-item{align-items:center;appearance:none;-webkit-appearance:none;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;font-family:inherit;gap:4px;opacity:.5;outline:none;padding:2px 6px;transition:all .15s ease}.legend-item:hover{opacity:.8}.legend-item.selected{background:#ffffff0d;opacity:1}.legend-swatch{border-radius:2px;height:10px;width:10px}.legend-swatch.field-position{background:#b8a3ff}.legend-swatch.piece-tilt{background:#ffcf5c}.legend-swatch.value{background:#61f2ff}.legend-text{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.55rem;letter-spacing:.03em}.legend-item.selected .legend-text{color:#e2e6f3;color:var(--text-primary,#e2e6f3)}.stats-plot-cumulative{display:flex;flex-direction:column;gap:6px;margin-top:8px;width:100%}.cumulative-title{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.5rem;font-weight:500;letter-spacing:.15em;margin-bottom:2px;text-align:center}.cumulative-stat-row{align-items:center;display:flex;gap:8px}.cumulative-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);flex-shrink:0;font-size:.5rem;letter-spacing:.05em;text-transform:uppercase;width:52px}.cumulative-bar-container{background:#0b071499;border-radius:4px;display:flex;flex:1 1;height:8px;overflow:hidden}.cumulative-bar{height:100%;transition:width .3s ease}.cumulative-bar.p1{background:#61f2ff;background:var(--p1-color,#61f2ff)}.cumulative-bar.p2{background:#ff6b6b;background:var(--p2-color,#ff6b6b)}.cumulative-values{display:flex;flex-shrink:0;font-family:monospace;font-size:.5rem;justify-content:space-between;width:60px}.cumulative-p1{color:#61f2ff;color:var(--p1-color,#61f2ff)}.cumulative-p2{color:#ff6b6b;color:var(--p2-color,#ff6b6b);text-align:right}.pause-overlay{align-items:center;animation:pauseFadeIn .2s ease-out;background:#0b0714eb;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes pauseFadeIn{0%{opacity:0}to{opacity:1}}.pause-modal{animation:pauseSlideUp .2s ease-out;background:#120a21;background:var(--panel-background,#120a21);border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:12px;box-shadow:0 0 30px #61f2ff14,0 20px 60px #00000080;max-height:85vh;max-width:440px;overflow-y:auto;width:90vw}@keyframes pauseSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pause-header{border-bottom:1px solid #2b1b3f;border-bottom:1px solid var(--panel-border,#2b1b3f);padding:20px 28px 16px}.pause-title{color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-size:.95rem;font-weight:500;letter-spacing:.2em;margin:0;text-align:center}.pause-content{display:flex;flex-direction:column;gap:24px;padding:20px 28px 28px}.section-title{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.65rem;font-weight:500;letter-spacing:.25em;margin:0 0 10px}.controls-grid{display:flex;flex-direction:column;gap:4px}.control-row{align-items:center;display:flex;justify-content:space-between;padding:3px 0}.control-action{color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-size:.8rem}.control-keys{background:#61f2ff14;border:1px solid #61f2ff26;border-radius:4px;color:#61f2ff;color:var(--highlight-text,#61f2ff);font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;padding:2px 8px}.control-spacer{height:6px}.pause-expandable-section{background:#0f0b1866;border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:8px;overflow:hidden}.pause-section-header{align-items:center;background:#0000;border:none;color:#e2e6f3;color:var(--text-primary,#e2e6f3);cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease;width:100%}.pause-section-header:hover{background:#61f2ff0d}.pause-section-header:focus{background:#61f2ff14;outline:none}.pause-section-title{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.75rem;font-weight:500;letter-spacing:.2em}.pause-section-toggle{color:#61f2ff;color:var(--highlight-text,#61f2ff);font-size:.9rem;transition:transform .2s ease}.pause-section-toggle.expanded{transform:rotate(0deg)}.pause-section-content{animation:expandIn .2s ease-out;padding:0 16px 16px}@keyframes expandIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pause-no-stats{font-size:.8rem;font-style:italic;margin:0}.pause-no-stats,.pause-subsection-title{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);text-align:center}.pause-subsection-title{font-size:.6rem;font-weight:500;letter-spacing:.2em;margin:8px 0 6px}.pause-stats-grid{display:flex;gap:32px;justify-content:center;margin-bottom:12px}.pause-stat-item{align-items:center;display:flex;flex-direction:column;gap:2px}.pause-stat-value{color:#e2e6f3;color:var(--text-primary,#e2e6f3);font-size:1.25rem;font-weight:600}.pause-stat-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1);font-size:.65rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase}.pause-detailed-stats{display:flex;flex-direction:column;gap:12px}.pause-stats-comparison{display:flex;flex-direction:column;gap:4px}.pause-stats-row{grid-gap:8px;align-items:center;display:grid;font-size:.75rem;gap:8px;grid-template-columns:1fr 40px 40px}.pause-stats-row.pause-stats-header{font-size:.65rem;font-weight:500;margin-bottom:2px}.pause-stats-label{color:#9ba5c1;color:var(--text-secondary,#9ba5c1)}.pause-stats-p1{color:#f46679;text-align:center}.pause-stats-p2{color:#61f2ff;color:var(--highlight-text,#61f2ff);text-align:center}.pause-possession-stats{display:flex;flex-direction:column;gap:6px}.pause-possession-bar-container{background:#2b1b3f;background:var(--panel-border,#2b1b3f);border-radius:3px;display:flex;height:6px;overflow:hidden}.pause-possession-bar{height:100%;transition:width .3s ease}.pause-possession-bar.p1{background:linear-gradient(90deg,#f46679,#f4667999)}.pause-possession-bar.p2{background:linear-gradient(90deg,#61f2ff99,#61f2ff)}.pause-possession-labels{display:flex;font-size:.65rem;justify-content:space-between;letter-spacing:.05em}.pause-possession-p1{color:#f46679}.pause-possession-p2{color:#61f2ff;color:var(--highlight-text,#61f2ff)}.menu-section{display:flex;flex-direction:column;gap:14px}.confirm-prompt{color:#f46679;font-size:.85rem;line-height:1.5;margin:0;text-align:center}.pause-menu-buttons{display:flex;flex-direction:column;gap:8px}.pause-menu-btn{background:#0000;border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:6px;color:#e2e6f3;color:var(--text-primary,#e2e6f3);cursor:pointer;font-size:.85rem;font-weight:500;letter-spacing:.05em;overflow:hidden;padding:12px 20px;position:relative;text-align:center;transition:all .15s ease}.pause-menu-btn__text{position:relative;z-index:1}.pause-menu-btn__sweep{background:linear-gradient(90deg,#0000,#61f2ff2e,#0000);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;width:100%}.pause-menu-btn.selected .pause-menu-btn__sweep{animation:pauseSweepIn .5s ease forwards}.pause-menu-btn:not(.selected) .pause-menu-btn__sweep{animation:pauseSweepOut .5s ease forwards;opacity:.4}@keyframes pauseSweepIn{0%{left:-100%}to{left:100%}}@keyframes pauseSweepOut{0%{left:100%}to{left:-100%}}.pause-menu-btn.selected,.pause-menu-btn:hover{background:#61f2ff14;border-color:#61f2ff;border-color:var(--highlight-text,#61f2ff);box-shadow:0 0 15px #61f2ff33;color:#61f2ff;color:var(--highlight-text,#61f2ff)}.pause-menu-btn.danger .pause-menu-btn__sweep{background:linear-gradient(90deg,#0000,#f466792e,#0000)}.pause-menu-btn.danger{border-color:#f4667966;color:#f46679}.pause-menu-btn.danger.selected,.pause-menu-btn.danger:hover{background:#f466791a;border-color:#f46679;box-shadow:0 0 15px #f4667933}.pause-menu-btn:focus{outline:none}@media (max-width:480px){.pause-modal{max-height:90vh;width:95vw}.pause-header{padding:16px 20px 12px}.pause-content{padding:16px 20px 24px}.control-row{align-items:flex-start;flex-direction:column;gap:2px}.control-keys{margin-left:12px}}.visualization-mode-selector{background:var(--background-main);border:1px solid var(--panel-border);border-radius:8px;bottom:100%;box-shadow:0 4px 12px #0006;display:flex;flex-direction:column;max-height:300px;min-width:180px;overflow:hidden;position:absolute;right:0;z-index:1000}.visualization-mode-header{background:var(--panel-background);border-bottom:1px solid var(--panel-border);color:var(--text-secondary);font-size:.65rem;font-weight:600;letter-spacing:.08em;padding:8px 12px;text-transform:uppercase}.visualization-mode-options{max-height:260px;overflow-y:auto}.visualization-mode-option{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--panel-border);color:var(--text-primary);cursor:pointer;display:flex;font-size:.75rem;gap:8px;padding:10px 12px;text-align:left;transition:background .1s ease;width:100%}.visualization-mode-option:last-child{border-bottom:none}.visualization-mode-option:hover{background:#61f2ff14}.visualization-mode-option.selected{background:var(--highlight-bg);color:var(--highlight-text)}.mode-option-indicator{color:var(--highlight-text);font-size:.7rem;text-align:center;width:12px}.mode-option-label{flex:1 1;letter-spacing:.02em}.visualization-mode-options::-webkit-scrollbar{width:6px}.visualization-mode-options::-webkit-scrollbar-track{background:var(--panel-background)}.visualization-mode-options::-webkit-scrollbar-thumb{background:var(--panel-border);border-radius:3px}.visualization-mode-options::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.heatmap-overlay{left:0;pointer-events:none;position:absolute;top:0;z-index:10}.heatmap-svg{display:block}.heatmap-cell{transition:fill .2s ease}:root{--background-main:#0b0714;--panel-background:#120a21;--panel-border:#2b1b3f;--board-border:#1e1431;--board-wood-dark:#3c2415;--board-wood-medium:#4b2f1b;--board-wood-light:#714725;--text-primary:#e2e6f3;--text-secondary:#9ba5c1;--highlight-text:#61f2ff;--highlight-bg:#61f2ff1a;--grid-line:#76d8ef40;--jump-path-color:#76d8efd9;--phutball-color:#fdfdfd;--man-color:#55cfde2e;--player1-endzone-color:#96233759;--player2-endzone-color:#1a549240;--player1-label-color:#d26978;--player2-label-color:#64a5e1;--jump-node-invalid:#f46679e6;--jumped-piece-outline:#61f2ff99;--jumped-piece-fill:#27d2ff29;--jump-node-text:#021423}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}.main-content{grid-gap:clamp(10px,1vw,20px);box-sizing:border-box;display:grid;flex:1 1;gap:clamp(10px,1vw,20px);grid-template-columns:minmax(280px,320px) 1fr minmax(280px,320px);max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);min-height:0;overflow:hidden;padding:0 clamp(12px,1.3vw,24px)}.main-content.stacked{display:block;height:calc(100vh - 60px);height:calc(100dvh - 60px);overflow:hidden;padding:0;position:relative}.panel-pager{display:flex;height:100%;transition:transform .35s ease}.panel-pager--dragging,.panel-pager--no-transition{transition:none}.panel-page{display:flex;flex:1 0;height:100%;overflow:hidden}.panel-page-inner{box-sizing:border-box;flex:1 1 auto;overflow-y:auto;padding:16px;width:100%}.panel-page-inner,.panel-page-inner--board{display:flex;flex-direction:column;height:100%;min-height:0}.panel-page-inner--board{align-items:center;justify-content:flex-start;overflow:auto}.board-container{background:#120a21;background:var(--panel-background);flex:1 1 auto;flex-direction:column;gap:12px;justify-content:flex-start;max-height:100%;min-height:200px;overflow:auto;padding:clamp(2px,.8vw,10px)}.board-container,.board-status-bar{align-items:center;box-sizing:border-box;display:flex;position:relative;width:100%}.board-status-bar{flex-wrap:wrap;gap:16px;justify-content:space-between;max-width:1250px;padding:0 clamp(8px,1.2vw,18px)}.swipe-progress{background:#61f2ff14;border-radius:8px;bottom:0;pointer-events:none;position:absolute;top:0;transition:width .05s linear;z-index:0}.swipe-progress--ready{background:#61f2ff33}.board-indicator-group{display:flex;flex:1 1;flex-wrap:wrap;gap:12px}.coord-indicator{background:radial-gradient(circle at 20% 20%,#61f2ff1f,#080d19e6);border:1px solid #61f2ff4d;border-radius:16px;box-shadow:0 14px 28px #00000073,inset 0 0 12px #ffffff0d;min-width:150px;padding:10px 16px}.coord-indicator--hover{background:radial-gradient(circle at 20% 20%,#f4b2ff1f,#090812eb);border-color:#f4b2ff59}.coord-indicator__label{color:#9ba5c1;color:var(--text-secondary);font-size:.65rem;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.coord-indicator__value{align-items:center;color:#e2e6f3;color:var(--text-primary);display:flex;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:1rem;gap:6px}.coord-indicator__axis{color:#9ba5c1;color:var(--text-secondary);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.coord-indicator__divider{opacity:.5}@media (max-height:820px){.coord-indicator{border-radius:10px;min-width:0;padding:5px 10px}.coord-indicator__label{font-size:.55rem;margin-bottom:2px}.coord-indicator__value{font-size:.8rem;gap:4px}.coord-indicator__axis{font-size:.65rem}.board-status-bar{gap:8px}}.board-toggle{align-items:center;background:#0f0b18b3;border:1px solid #2b1b3f;border:1px solid var(--panel-border);border-radius:999px;color:#e2e6f3;color:var(--text-primary);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:JetBrains Mono,Roboto Mono,monospace;font-size:.75rem;gap:8px;letter-spacing:.05em;outline:none;padding:8px 16px;text-transform:uppercase;transition:border-color .2s ease,color .2s ease,background .2s ease}.board-toggle:hover{background:#140f1ed9;border-color:#61f2ff;border-color:var(--highlight-text);color:#61f2ff;color:var(--highlight-text)}.board-toggle:focus{outline:none}.board-toggle:focus-visible{outline:2px solid #61f2ff;outline:2px solid var(--highlight-text);outline-offset:3px}.app-container--stacked .panel-page-inner{padding:clamp(12px,3vh,32px) clamp(12px,5vw,40px)}.app-container--stacked .panel-page-inner--board{overflow:hidden;padding:clamp(2px,.5vh,4px) clamp(8px,3vw,24px) clamp(20px,3vh,32px)}.app-container--stacked .board-container{gap:4px;justify-content:flex-start;overflow:hidden;padding:clamp(4px,1vh,8px)}.app-container--stacked .board-status-bar{box-sizing:border-box;gap:4px;justify-content:space-between;overflow:hidden;padding:0 clamp(12px,4vw,24px);width:100%}.app-container--stacked .board-indicator-group{gap:4px}.app-container--stacked .coord-indicator{border-radius:8px;min-width:0;padding:3px 6px}.app-container--stacked .coord-indicator__label{font-size:.5rem;margin-bottom:0}.app-container--stacked .coord-indicator__value{font-size:.7rem;gap:2px}.app-container--stacked .coord-indicator__axis{font-size:.55rem}.app-container--stacked .board-toggle{font-size:.6rem;gap:3px;padding:3px 8px}.app-container--stacked .action-bar{gap:4px;margin-bottom:52px;padding:2px 0}.app-container--stacked .action-bar button{font-size:.7rem;padding:3px 8px}.app-container--stacked .board-recenter-btn{padding:4px}.app-container--stacked .board-recenter-btn svg{height:14px;width:14px}.app-container--stacked .history-panel,.app-container--stacked .panel-pager{height:100%;min-height:0}.panel-page-inner--history{overflow:hidden}.panel-indicator-bar{background:none;bottom:4px;display:flex;justify-content:center;left:50%;padding:0;pointer-events:none;position:fixed;transform:translateX(-50%);width:auto;z-index:20}.panel-indicator-track{background:#0a0712d9;border:1px solid #61f2ff59;border-radius:28px;box-shadow:0 6px 18px #00000059;display:inline-flex;gap:80px;padding:8px 16px;pointer-events:auto}.panel-dot{-webkit-tap-highlight-color:transparent;background:#2b1b3f;background:var(--panel-border);border:none;border-radius:50%;cursor:pointer;height:12px;padding:0;transition:background .2s ease;width:12px}.panel-dot.active{background:#61f2ff;background:var(--highlight-text)}.panel-indicator-intro{background:#0000;border-color:#0000;overflow:hidden;position:relative}.panel-indicator-intro:before{animation:indicator-orbit 2.5s linear infinite;aspect-ratio:1;background:conic-gradient(#0000 0,#61f2ffe6 8%,#0000 16%,#0000 100%);content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:max(200%,300px)}.panel-indicator-intro:after{background:#0a0712d9;border-radius:26px;content:"";inset:1.5px;position:absolute}.panel-indicator-intro .panel-dot{position:relative;z-index:1}@keyframes indicator-orbit{to{transform:translate(-50%,-50%) rotate(1turn)}}.panel-scroll-track{background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid #ffffff0d;border-radius:999px;bottom:6px;box-shadow:inset 0 0 4px #00000059;cursor:pointer;pointer-events:auto;position:absolute;top:6px;width:8px;z-index:6}.app-container--stacked .panel-scroll-track{bottom:44px}.panel-scroll-track--left{left:4px}.panel-scroll-track--right{right:4px}.panel-scroll-thumb{background:#ffffffeb;border-radius:50%;box-shadow:0 0 10px #ffffff73;cursor:pointer;height:17px;left:50%;pointer-events:auto;position:absolute;touch-action:none;transform:translate(-50%) scale(1.03);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;width:17px}.panel-scroll-thumb:not(.disabled):not(.dragging):hover{background:#61f2fffa;box-shadow:0 0 14px #61f2ffbf;transform:translate(-50%) scale(.94)}.panel-scroll-thumb.dragging{background:#61f2fffa;box-shadow:0 0 16px #61f2ffe6;transform:translate(-50%) scale(.88)}.panel-scroll-thumb.disabled{background:#ffffff59;box-shadow:none;cursor:default;transform:translate(-50%) scale(.98)}@media (max-width:1100px){.main-content{display:block}}.nn-viz-button-container{bottom:12px;position:absolute;right:12px;z-index:25}.nn-viz-button{align-items:center;background:#0b0714e6;border:1px solid #2b1b3f;border:1px solid var(--panel-border);border-radius:8px;color:#9ba5c1;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.7rem;font-weight:600;gap:6px;letter-spacing:.08em;padding:8px 12px;text-transform:uppercase;transition:all .15s ease}.nn-viz-button:hover{background:#61f2ff14}.nn-viz-button.active,.nn-viz-button:hover{border-color:#61f2ff;border-color:var(--highlight-text);color:#61f2ff;color:var(--highlight-text)}.nn-viz-button.active{background:#61f2ff26;box-shadow:0 0 12px #61f2ff33}.nn-viz-button svg{flex-shrink:0}.nn-viz-button-container .visualization-mode-selector{bottom:100%;margin-bottom:8px;position:absolute;right:0;top:auto}.llm-thinking{align-items:center;color:#61f2ff;color:var(--highlight-text);display:inline-flex;gap:4px}.hourglass-icon{animation:hourglass-spin 2s ease-in-out infinite;display:inline-block}@keyframes hourglass-spin{0%{transform:rotate(0deg)}25%{transform:rotate(180deg)}50%{transform:rotate(180deg)}75%{transform:rotate(1turn)}to{transform:rotate(1turn)}}.thinking-time{font-feature-settings:"tnum";font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9em;font-variant-numeric:tabular-nums}.expected-time{color:#9ba5c1;color:var(--text-secondary);opacity:.7}.llm-error{color:#f46679}.action-bar{display:flex;gap:8px;justify-content:center;padding:8px 0 4px}.action-bar button{background:#61f2ff1a;border:1px solid #61f2ff66;border-radius:4px;color:#61f2ff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:6px 16px;transition:all .15s ease}.action-bar button:hover:not(:disabled){background:#61f2ff33;border-color:#61f2ff}.action-bar button:active:not(:disabled){background:#61f2ff4d}.action-bar button:disabled{cursor:default;opacity:.3}.board-recenter-btn{align-items:center;background:#61f2ff1a;border:1px solid #61f2ff66;border-radius:4px;color:#61f2ff;cursor:pointer;display:flex;justify-content:center;margin-right:auto;padding:6px;transition:all .15s ease}.board-recenter-btn:hover{background:#61f2ff33;border-color:#61f2ff}.board-recenter-btn:focus-visible{outline:2px solid #61f2ff;outline:2px solid var(--highlight-text);outline-offset:2px}.coord-icon{align-items:center;border:1px solid var(--panel-border);border-radius:8px;display:inline-flex;font-size:.9rem;font-weight:600;height:28px;justify-content:center;width:28px}.coord-icon--matrix{background:#61f2ff1a}.coord-icon--endzone{background:#ffffff14}@keyframes focusPulse{0%{box-shadow:0 0 0 0 #61f2ff99}50%{box-shadow:0 0 20px 4px #61f2ff66}to{box-shadow:0 0 0 0 #61f2ff00}}.tutorial-focus-pulse{animation:focusPulse .5s ease-out}.tutorial-complete-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tutorial-complete{padding:24px;text-align:center}.tutorial-complete h2{color:#61f2ff;font-size:1.5rem;margin:0 0 8px}.tutorial-complete p{color:#999;margin:0 0 20px}.tutorial-complete__button{background:linear-gradient(135deg,#61f2ff,#00d4ff);border:none;border-radius:6px;color:#0a0a0f;cursor:pointer;font-size:.95rem;font-weight:600;opacity:.5;padding:10px 24px;transition:all .2s ease}.tutorial-complete__button.selected,.tutorial-complete__button:hover{box-shadow:0 4px 16px #61f2ff66;opacity:1;transform:translateY(-1px)}.tutorial-complete__buttons{display:flex;gap:12px;justify-content:center}.tutorial-complete__button--secondary{background:#0000;border:1px solid #61f2ff4d;color:#61f2ff}.tutorial-complete__button--secondary.selected,.tutorial-complete__button--secondary:hover{background:#61f2ff1a;border-color:#61f2ff;opacity:1}.tutorial-step-complete{position:relative}.tutorial-step-complete:after{animation:breath-burst 2s ease-out forwards;background:radial-gradient(ellipse at 50% 50%,#61f2ff14 30%,#0000 70%);content:"";inset:-20px;pointer-events:none;position:absolute;z-index:10}@keyframes breath-burst{0%{box-shadow:inset 0 0 20px 8px #61f2ff00;opacity:0;transform:scale(.85)}20%{box-shadow:inset 0 0 20px 8px #61f2ff14;opacity:1;transform:scale(.95)}50%{box-shadow:inset 0 0 30px 12px #61f2ff0a;opacity:.6;transform:scale(1)}to{box-shadow:inset 0 0 40px 20px #61f2ff00;opacity:0;transform:scale(1.05)}}.app-loading{align-items:center;background:#0b0714;background:var(--background-main,#0b0714);color:#e2e6f3;color:var(--text-primary,#e2e6f3);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #2b1b3f;border-top-color:#61f2ff;border:3px solid var(--panel-border,#2b1b3f);border-radius:50%;border-top-color:var(--highlight-text,#61f2ff);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.error-message{background:#f466791a;border:1px solid #f466794d;border-radius:8px;color:#f46679;font-size:.9rem;padding:12px 20px}.exit-button{background:#0b0714e6;border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:6px;color:#9ba5c1;color:var(--text-secondary,#9ba5c1);cursor:pointer;font-family:Inter,sans-serif;font-size:.85rem;padding:8px 16px;position:fixed;right:16px;top:16px;transition:all .2s ease;z-index:100}.exit-button:hover{background:#f466791a;border-color:#f46679;color:#f46679}.game-menu-toggle{align-items:center;background:#0b0714e6;border:1px solid #2b1b3f;border:1px solid var(--panel-border,#2b1b3f);border-radius:8px;color:#9ba5c1;color:var(--text-secondary,#9ba5c1);cursor:pointer;display:flex;height:36px;justify-content:center;position:fixed;right:20px;top:12px;transition:all .2s ease;width:36px;z-index:200}.game-menu-toggle:hover{background:#4ecdc41a;border-color:#4ecdc4;border-color:var(--accent-color,#4ecdc4);color:#4ecdc4;color:var(--accent-color,#4ecdc4)}.game-menu-toggle:focus{outline:2px solid #4ecdc4;outline:2px solid var(--accent-color,#4ecdc4);outline-offset:2px}.board-loading{align-items:center;background:#120a21;background:var(--panel-background,#120a21);border:1px dashed #2b1b3f;border:1px dashed var(--panel-border,#2b1b3f);border-radius:16px;color:#9ba5c1;color:var(--text-secondary,#9ba5c1);display:flex;justify-content:center;min-height:400px;width:100%}
/*# sourceMappingURL=main.2d69f935.css.map*/