:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e9f2f7;--muted:#9bb0bd;--night:#06131f;--navy:#071a2d;--panel:#0d2638;--cyan:#33d4c8;--gold:#f5c451;--coral:#ef785e;--cream:#f4efe2;--board-light:#dce4d8;--board-dark:#4e7f79;--focus:#ffe47a;background:var(--night);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 70% 10%, #123b4e 0, transparent 38rem), var(--night);min-width:320px;margin:0;line-height:1.5}a{color:inherit}button,a{font:inherit}.skip-link{z-index:99;background:var(--focus);color:#071a2d;border-radius:.5rem;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.page-shell{width:min(1180px,100%);min-height:100vh;margin:auto;padding:clamp(1rem,3vw,2rem)}.centered{place-content:center;display:grid}.topbar,.game-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand-mark{background:#ffffff0c;border:1px solid #ffffff2b;border-radius:1rem;place-content:center;width:3rem;height:3rem;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:112%;height:112%}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.08em;text-transform:uppercase;font-size:1rem}.brand small{color:var(--muted);font-size:.72rem}.nav-links{color:var(--muted);gap:1.5rem;font-size:.9rem;display:flex}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--ink)}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(2rem,8vw,7rem);min-height:68vh;padding:5rem 0;display:grid}.eyebrow{color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;font-size:.78rem;font-weight:800}.live-dot{background:var(--cyan);border-radius:50%;width:.5rem;height:.5rem;margin-right:.5rem;display:inline-block;box-shadow:0 0 0 .25rem #33d4c820}.hero h1{letter-spacing:-.065em;max-width:10ch;margin:.5rem 0 1.25rem;font-family:Georgia,serif;font-size:clamp(3.7rem,9vw,7.6rem);font-weight:500;line-height:.84}.hero h1 em{color:var(--gold);font-weight:500}.lede{color:#c1d0d8;max-width:35rem;font-size:clamp(1.05rem,2vw,1.35rem)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin:2rem 0 1rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;min-height:3rem;padding:.78rem 1.25rem;font-weight:800;text-decoration:none}.button:focus-visible,.square:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.button.primary{background:var(--gold);color:#14202a}.button.secondary{color:var(--ink);background:0 0;border-color:#ffffff35}.button:hover{transform:translateY(-1px)}.microcopy{color:var(--muted);font-size:.8rem}.hero-visual{place-items:center;min-height:31rem;display:grid;position:relative}.duel-card{aspect-ratio:.72;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff2b;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;width:min(15rem,45vw);padding:1.5rem;display:flex;position:absolute;box-shadow:0 2rem 5rem #0008}.duel-card img{object-fit:contain;width:100%;height:72%}.duel-card strong{letter-spacing:.18em;margin-top:1rem;font-size:.72rem}.white-card{color:#122635;background:linear-gradient(145deg,#f4efe2,#cedbd6);top:7%;left:3%;transform:rotate(-8deg)}.black-card{background:linear-gradient(145deg,#143a4c,#0b2435);bottom:5%;right:2%;transform:rotate(7deg)}.black-card strong{color:var(--cyan)}.versus{z-index:2;background:var(--coral);border-radius:50%;place-items:center;width:4rem;height:4rem;font-family:Georgia,serif;font-weight:900;display:grid;position:absolute;box-shadow:0 1rem 2rem #0008}.pulse-ring{border:1px solid #33d4c838;border-radius:50%;width:22rem;height:22rem;position:absolute}.ring-two{border-color:#f5c45120;width:30rem;height:30rem}.rule-strip{border-top:1px solid #ffffff1c;padding:4rem 0}.rule-strip>h2{font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem);font-weight:500}.rule-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.rule-grid article{border-top:2px solid #ffffff28;padding-top:1rem}.rule-grid span{color:var(--gold);font-size:.75rem;font-weight:800}.rule-grid h3{margin:.75rem 0 .4rem}.rule-grid p{color:var(--muted)}footer{color:var(--muted);border-top:1px solid #ffffff1c;flex-wrap:wrap;gap:1.5rem;padding:2rem 0;font-size:.85rem;display:flex}footer span{margin-right:auto}.panel{background:#0d2638e8;border:1px solid #ffffff1a;border-radius:1.5rem;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 2rem 4rem #0005}.article-page{max-width:800px}.article-page>.brand{margin-bottom:3rem}.article-page article h1{font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,4.7rem);line-height:1}.article-page article h2{color:var(--gold);margin-top:2rem}.article-page article p{color:#c3d0d8;font-size:1.05rem}.license-links{flex-wrap:wrap;gap:.75rem 1.25rem;margin:1.25rem 0;display:flex}.license-details{border-top:1px solid #ffffff1a;margin-top:1rem;padding-top:1rem}.license-details summary{cursor:pointer;color:var(--cyan);font-weight:800}.license-text{color:#c3d0d8;white-space:pre-wrap;background:#06131f;border-radius:.75rem;max-height:28rem;padding:1rem;font-size:.78rem;line-height:1.45;overflow:auto}.game-page{min-height:100vh;padding:1rem}.game-header{width:min(900px,100%);margin:auto;padding-bottom:1rem}.connection{color:var(--muted);text-transform:capitalize;border:1px solid #ffffff28;border-radius:999px;padding:.35rem .7rem;font-size:.72rem}.connection.open{color:var(--cyan)}.game-layout{width:min(720px,100%);margin:auto}.room-gate{background:var(--panel);text-align:center;border:1px solid #ffffff2e;border-radius:1.5rem;place-content:center;justify-items:center;width:min(38rem,100% - 2rem);min-height:min(32rem,100vh - 8rem);margin:clamp(2rem,8vh,6rem) auto;padding:clamp(2rem,6vw,4rem);display:grid;box-shadow:0 2rem 5rem #0005}.room-gate h1{text-wrap:balance;max-width:12ch;margin:.5rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(2.2rem,7vw,3.6rem);line-height:1.02}.room-gate>p:not(.eyebrow){max-width:34rem;color:var(--muted);margin:0}.engine-loading-track{background:#ffffff16;border-radius:999px;width:min(20rem,80%);height:.35rem;margin:2rem 0;overflow:hidden}.engine-loading-track span{border-radius:inherit;background:var(--cyan);width:45%;height:100%;animation:1.3s ease-in-out infinite alternate engine-loading;display:block}@keyframes engine-loading{0%{transform:translate(-10%)}to{transform:translate(135%)}}.player-bar{justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.player-bar>div:first-child{align-items:center;gap:.75rem;display:flex}.avatar{background:#ffffff10;border-radius:50%;place-content:center;width:2.7rem;height:2.7rem;display:grid;overflow:hidden}.player-bar p{margin:0}.player-bar strong,.player-bar small{display:block}.player-bar small{color:var(--muted);font-size:.75rem}.player-bar small.material-score{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.board-frame{background:#112c3d;border-radius:1rem;padding:.55rem;overflow:hidden;box-shadow:0 2rem 5rem #0008}.board{aspect-ratio:1;background:var(--board-dark);border-radius:.65rem;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;overflow:hidden}.square{aspect-ratio:1;isolation:isolate;cursor:pointer;border:0;place-content:center;min-width:0;min-height:0;padding:0;transition:filter .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.square.light{background:var(--board-light)}.square.dark{background:var(--board-dark)}.square.selected{z-index:2;box-shadow:inset 0 0 0 .28rem var(--gold), inset 0 0 1.2rem #f5c45166}.square.legal-target:before{z-index:1;content:"";pointer-events:none;background:#102a43b8;border-radius:50%;transition:inset .14s,background .14s,box-shadow .14s;position:absolute;inset:36%;box-shadow:0 0 0 .18rem #fff8e766}.square.legal-target.legal-capture:before{background:0 0;border:.3rem solid #102a43c7;inset:9%;box-shadow:inset 0 0 0 .12rem #fff8e766,0 0 0 .12rem #fff8e766}.square.legal-target.drop-hover{z-index:3;box-shadow:inset 0 0 0 .34rem var(--gold), inset 0 0 1.35rem #f5c451a3}.square.legal-target.drop-hover:before{background:var(--gold);inset:29%;box-shadow:0 0 0 .35rem #f5c4514d}.square.legal-target.legal-capture.drop-hover:before{border-color:var(--gold);background:0 0;inset:5%}.square.last-move-source:after,.square.last-move-target:after{z-index:1;content:"";pointer-events:none;background:#f5c45155;border-radius:24%;position:absolute;inset:10%}.square.last-move-target:after{background:var(--gold);border-radius:50%;animation:.36s ease-out both move-marker;inset:34%;box-shadow:0 0 0 .35rem #f5c45133}.square:disabled{cursor:default}.piece-slot{z-index:2;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.piece-slot.piece-moving{animation:.22s cubic-bezier(.2,.75,.25,1) both piece-move}.square.dragging-source .piece-slot{opacity:.28}.drag-preview{z-index:100;pointer-events:none;filter:drop-shadow(0 .8rem .75rem #00131f66);place-items:center;width:clamp(3rem,14vw,5.75rem);height:clamp(3rem,14vw,5.75rem);display:grid;position:fixed;transform:translate(-50%,-50%)scale(1.08)}.drag-preview .chess-piece{width:116%;height:116%}.chess-piece{object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 .14rem .11rem #00131f66);-webkit-user-drag:none;width:108%;height:108%;transition:transform .15s cubic-bezier(.2,.75,.25,1),filter .15s}.square.selected .chess-piece{filter:drop-shadow(0 .22rem .08rem #00131f66)drop-shadow(0 0 .28rem #f5c45199);transform:translateY(-5%)scale(1.06)}.square.draggable-piece{touch-action:none}.file-label,.rank-label{color:#10242e;opacity:.7;font-size:.58rem;font-weight:800;position:absolute}.file-label{bottom:.08rem;right:.2rem}.rank-label{top:.08rem;left:.2rem}.cooldown{align-items:center;gap:.6rem;min-width:8rem;display:flex}.cooldown-track{background:#ffffff18;border-radius:1rem;flex:1;height:.35rem;overflow:hidden}.cooldown-track span{transform-origin:0;background:var(--cyan);width:100%;height:100%;transition:transform 80ms linear;display:block}.cooldown strong{text-align:right;font-variant-numeric:tabular-nums;min-width:3rem;font-size:.78rem}.cooldown.is-ready strong{color:var(--cyan);animation:.24s ease-out ready-pop}.game-status{text-align:center;padding:1.2rem}.game-status h1{margin:.4rem;font-family:Georgia,serif;font-size:1.7rem}.game-status.phase-complete h1{color:var(--gold);animation:.36s cubic-bezier(.2,.75,.25,1) both result-reveal}@keyframes piece-move{0%{transform:translate(calc(var(--move-x) * 100%), calc(var(--move-y) * 100%))}to{transform:translate(0)}}@keyframes move-marker{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes ready-pop{0%{opacity:.65;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes result-reveal{0%{opacity:0;transform:translateY(.5rem)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.game-status p{color:var(--muted);margin:.3rem auto 1rem}.error-panel{max-width:35rem}.error-panel h1{font-family:Georgia,serif;font-size:3rem}.setup-page{min-height:100vh}.setup-card{background:var(--panel);border:1px solid #ffffff2e;border-radius:1.5rem;width:min(46rem,100% - 2rem);margin:clamp(2rem,8vh,4rem) auto;padding:clamp(1.5rem,4vw,3rem)}.setup-card h1{text-wrap:balance;margin:.4rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,3.5rem);line-height:1.05}.setup-card form{gap:1rem;margin-top:1.5rem;display:grid}.setup-card select{min-height:3rem;color:var(--ink);background:var(--night);font:inherit;border:2px solid #ffffff3d;border-radius:.75rem;padding:0 .8rem}.setup-card fieldset{border:1px solid #ffffff2e;border-radius:.75rem;flex-wrap:wrap;gap:1rem;margin:0;padding:1rem;display:flex}.setup-card fieldset label{align-items:center;gap:.45rem;min-height:2.75rem;display:inline-flex}@media (width<=760px){.nav-links{display:none}.hero{grid-template-columns:1fr;padding:4rem 0}.hero-copy{text-align:center}.hero h1,.lede{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-visual{min-height:25rem}.duel-card{width:11rem}.pulse-ring{width:17rem;height:17rem}.ring-two{width:23rem;height:23rem}.rule-grid{grid-template-columns:1fr}.brand small{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.button:hover{transform:none}.piece-slot.piece-moving,.square.last-move-target:after,.cooldown.is-ready strong,.game-status.phase-complete h1{animation:none}.engine-loading-track span{animation:none;transform:translate(60%)}.square.selected .chess-piece{transform:none}.drag-preview{transform:translate(-50%,-50%)}}@media (forced-colors:active){.square.selected{outline-offset:-4px;outline:4px solid highlight}.chess-piece{forced-color-adjust:none}.square.last-move-source:after,.square.last-move-target:after{background:0 0;border:2px solid highlight}.square.legal-target:before{box-shadow:none;background:0 0;border:3px solid highlight}.square.legal-target.legal-capture:before{border-width:5px}}.room-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.queue-card{text-align:center;max-width:34rem}.queue-card>.brand{margin-bottom:2rem}.queue-card h1{font-family:Georgia,serif;font-size:2.4rem;line-height:1.05}.queue-card p{color:var(--muted)}.radar{background:radial-gradient(circle,#33d4c830 0 2%,#0000 3% 28%,#33d4c820 29% 30%,#0000 31% 59%,#33d4c820 60% 61%,#0000 62%);border:1px solid #33d4c855;border-radius:50%;place-content:center;width:10rem;height:10rem;margin:1rem auto 2rem;display:grid;box-shadow:0 0 3rem #33d4c820}.radar img{object-fit:contain;width:78%;height:78%}
