:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}html,body,#root{color:#eee;background:#111318;height:100%;margin:0;font-family:system-ui,sans-serif}.app-shell{width:100vw;height:100vh;position:relative}.hud{z-index:10;background:#00000080;border-radius:8px;padding:.75rem 1rem;font-size:.95rem;position:absolute;top:1rem;left:1rem}.hud .menu-btn{color:#eee;cursor:pointer;background:#2a2d36;border:1px solid #444;border-radius:6px;margin-bottom:.5rem;padding:.35rem .7rem;font-size:.8rem;display:block}.hud .menu-btn:hover{background:#33373f}.hud .forfeit-btn{color:#ff5d8f;border-color:#ff5d8f}.hud .forfeit-btn:hover{background:#ff5d8f26}.hud .bonus{color:#4ea8ff}.hud .check{color:#ff5d8f}.hud .over{color:#f4d35e;font-weight:700}.board-menu{justify-content:center;align-items:center;width:100vw;height:100vh;padding:1.5rem 1rem;font-family:IBM Plex Mono,ui-monospace,monospace;display:flex;position:relative;overflow:hidden auto}.menu-backdrop{z-index:0;pointer-events:none;opacity:.3;filter:blur(1px);position:fixed;inset:0}.board-menu-frame{z-index:1;background:#15171d;border:3px solid #000;width:min(460px,100%);position:relative;box-shadow:8px 8px #00000080}.board-topbar{border-bottom:3px solid #000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;display:flex}.board-title{align-items:baseline;gap:.4rem;margin:0;font-family:Space Grotesk,ui-sans-serif,sans-serif;display:flex}.board-title-tag{color:#4ea8ff;letter-spacing:.05em;border:2px solid #4ea8ff;padding:.1rem .3rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700}.board-title-main{letter-spacing:-.02em;color:#f2ead9;text-transform:uppercase;font-size:1.5rem;font-weight:700}.board-tags{align-items:center;gap:.4rem;display:flex}.tag{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border:2px solid #000;padding:.3rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;font-weight:700}.tag-points{color:#241b04;background:#f4d35e}.tag-status{color:#999;background:#23262f}.tag-status.status-connecting{color:#241b04;background:#f4d35e}.tag-status.status-connected{color:#0b1a0d;background:#6bd07a}.tag-status.status-error{color:#250510;background:#ff5d8f}.rank-tabs{border-bottom:3px solid #000;display:flex}.rank-square{cursor:pointer;border:none;border-right:3px solid #000;border-radius:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:flex-start;gap:.15rem;min-height:4.2rem;padding:.4rem .5rem;font-family:inherit;display:flex;position:relative}.rank-square:last-child{border-right:none}.rank-square.sq-light{color:#1c1e21;background:#f2f0ea}.rank-square.sq-dark{color:#14161a;background:#8f959b}.rank-coord{opacity:.6;letter-spacing:.03em;font-size:.65rem}.rank-label{text-transform:uppercase;letter-spacing:.01em;font-family:Space Grotesk,ui-sans-serif,sans-serif;font-size:.82rem;font-weight:700}.rank-square:hover{filter:brightness(1.08)}.rank-square.active{color:#0b1520;background:#4ea8ff}.rank-square.active .rank-coord{opacity:.55}.board-content{padding:1.25rem}.field-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.name-field{text-transform:uppercase;letter-spacing:.04em;color:#888;flex-direction:column;flex:1;gap:.35rem;min-width:140px;font-size:.7rem;display:flex}.powerup-toggle{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;accent-color:#4ea8ff;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.rules-info{background:#0d0e12;border:2px solid #000;border-radius:0;margin-bottom:1rem;padding:.75rem .9rem;font-size:.82rem}.rules-info summary{cursor:pointer;color:#4ea8ff;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.rules-info dl{margin:.75rem 0 0}.rules-info dt{align-items:center;gap:.4rem;margin-top:.5rem;font-family:Space Grotesk,ui-sans-serif,sans-serif;font-weight:700;display:flex}.rules-info dd{color:#999;margin:.15rem 0 0 1.1rem}.dot{border:1px solid #000;border-radius:0;width:.6rem;height:.6rem;display:inline-block}.dot.knight{background:#4ea8ff}.dot.queen{background:#ff5d8f}.dot.pawn{background:#6bd07a}.dot.rook{background:#f4d35e}.dot.bishop{background:#ff5d8f}.dot.king{background:#f4d35e}.tab-panel{min-height:120px}.option-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.option-label{color:#888;text-transform:uppercase;letter-spacing:.04em;min-width:70px;font-size:.7rem}.hint{color:#888;font-size:.82rem}.timer-presets,.join-row{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.room-code-line{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.sq-btn{text-transform:uppercase;letter-spacing:.03em;color:#eee;cursor:pointer;background:#1c1f27;border:2px solid #000;border-radius:0;padding:.55rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600;transition:transform 80ms,box-shadow 80ms,background 80ms;box-shadow:4px 4px #00000073}.sq-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #00000080}.sq-btn:active{transform:translate(1px,1px);box-shadow:2px 2px #00000080}.sq-btn.active{color:#0b1520;background:#4ea8ff;border-color:#0b1520}.sq-btn.primary{color:#241b04;background:#f4d35e;width:100%;padding:.75rem;font-size:.8rem}.sq-btn.owned{color:#6bd07a;cursor:default;box-shadow:none;background:#0f2013;border-color:#6bd07a;transform:none}.sq-btn:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.sq-btn.copy-btn{padding:.4rem .6rem;font-size:.68rem}button{color:#eee;cursor:pointer;background:#2a2d36;border:1px solid #444;border-radius:6px;padding:.5rem 1rem}button:hover{background:#33373f}button.active{color:#111;background:#4ea8ff;border-color:#4ea8ff}button.primary{color:#111;background:#4ea8ff;border-color:#4ea8ff;width:100%;padding:.7rem;font-weight:600}button.primary:hover{background:#6bb8ff}.store-panel{flex-direction:column;gap:.85rem;display:flex}.store-balance{text-transform:uppercase;letter-spacing:.03em;color:#999;font-size:.8rem}.store-balance strong{color:#f4d35e}.store-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;display:grid}.store-item{text-align:center;background:#0d0e12;border:2px solid #000;border-radius:0;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .75rem;display:flex;box-shadow:4px 4px #0006}.store-item-image{font-size:2.3rem;line-height:1}.store-item-name{text-transform:uppercase;font-family:Space Grotesk,ui-sans-serif,sans-serif;font-size:.88rem;font-weight:700}.store-item-desc{color:#999;min-height:2.6em;margin:0;font-size:.74rem}.store-item .sq-btn{width:100%}.win-screen{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08090c99;justify-content:center;align-items:center;padding:1.5rem;animation:.25s ease-out win-fade-in;display:flex;position:fixed;inset:0}@keyframes win-fade-in{0%{opacity:0}to{opacity:1}}.win-card{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14161ceb;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;align-items:center;gap:.4rem;width:min(380px,100%);padding:2.25rem 2rem 2rem;animation:.35s cubic-bezier(.16,1,.3,1) win-card-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0000008c}@keyframes win-card-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.win-glow{filter:blur(60px);opacity:.35;pointer-events:none;border-radius:50%;width:340px;height:340px;position:absolute;top:-60%;left:50%;transform:translate(-50%)}.tone-win .win-glow{background:#6bd07a}.tone-lose .win-glow{background:#ff5d8f}.tone-draw .win-glow{background:#f4d35e}.win-icon{width:46px;height:46px;margin-bottom:.25rem;position:relative}.tone-win .win-icon{color:#6bd07a}.tone-lose .win-icon{color:#ff5d8f}.tone-draw .win-icon{color:#f4d35e}.win-title{margin:0;font-size:1.9rem;font-weight:700;position:relative}.win-subtitle{color:#999;margin:0 0 .5rem;font-size:.95rem;position:relative}.win-points{color:#f4d35e;background:#f4d35e26;border:1px solid #f4d35e66;border-radius:999px;margin-bottom:.5rem;padding:.3rem .8rem;font-size:.85rem;font-weight:700;position:relative}.win-note{color:#999;margin:0 0 .25rem;font-size:.82rem;position:relative}.win-actions{flex-direction:column;gap:.6rem;width:100%;margin-top:.75rem;display:flex;position:relative}.win-actions button{width:100%}.win-actions button:disabled{opacity:.6;cursor:default}.sq-input{color:#eee;background:#0d0e12;border:2px solid #000;border-radius:0;padding:.5rem .6rem;font-family:IBM Plex Mono,monospace}.sq-input::placeholder{color:#666}
