:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#173d35;background:#f5f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #cbd6cd;background:#fff;color:#173d35;border-radius:10px;padding:11px 17px;font-weight:600}button:hover{background:#eaf0e7}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:#183d36;color:#fff;border-color:#183d36}button.primary:hover{background:#2b5549}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc812e;outline-offset:3px}a{color:inherit}header{max-width:1180px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce1d6}#brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:23px;font-weight:750}#brand b{font-weight:400}#brand small{display:block;font-size:9px;letter-spacing:2.3px;margin-top:4px}.brand-icon{font-size:32px;background:#183d36;color:#f4e7c7;border-radius:13px;padding:4px 13px}.header-actions,.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.build{font-size:12px;color:#62736b;border:1px solid #d4dccf;padding:6px 10px;border-radius:30px}main{max-width:1116px;margin:0 auto;min-height:76vh;padding:44px 0 36px}h1{font-size:clamp(30px,4vw,46px);font-weight:650;letter-spacing:-1.5px;line-height:1.13;margin:10px 0 16px}h2{font-size:24px;font-weight:620;letter-spacing:-.5px;margin:0 0 14px}h3{margin:0 0 10px;font-size:19px}p{line-height:1.6;color:#52675e;margin:8px 0 20px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#68816d;text-transform:uppercase}.muted{font-size:13px;color:#63746b}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:24px 0}.hero-copy{max-width:500px}.hero-copy h1{font-size:54px}.panel{background:#fff;border:1px solid #dce2d8;border-radius:18px;padding:28px}.auth{max-width:450px}.auth h2{margin-bottom:6px}.field{display:block;font-size:13px;font-weight:600;margin:17px 0 0}input,select{width:100%;padding:12px;border:1px solid #cad5ca;border-radius:9px;background:white;color:#173d35;margin-top:7px}.form-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.form-actions .primary{flex:1}.steps{display:flex;gap:24px;margin-top:35px;font-size:12px;color:#5f7566}.steps b{display:block;font-size:23px;color:#3d5f48;margin-bottom:4px}.topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.profiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.profile{padding:22px;text-align:left;border-radius:16px;background:#fff;position:relative}.avatar{display:flex;align-items:center;justify-content:center;background:#e9eedf;color:#254e3e;width:58px;height:58px;border-radius:18px;font-size:36px;margin-bottom:18px}.profile .name{font-size:20px;display:block;margin-bottom:6px;overflow-wrap:anywhere}.profile-form{margin-top:28px;max-width:490px}.license{display:flex;align-items:center;gap:10px;margin:20px 0;color:#667760;font-size:13px}.dot{width:8px;height:8px;border-radius:50%;background:#55794d}.dashboard{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.game-card{display:grid;grid-template-columns:1fr 160px;gap:20px;background:#e8eddc;border-color:#d8dfc9;align-items:center}.game-card h2{font-size:32px;margin:12px 0}.mini-board{display:grid;grid-template-columns:repeat(4,1fr);aspect-ratio:1;transform:rotate(-6deg);border:7px solid #f5f3e9;border-radius:7px;box-shadow:0 8px 18px #173d3514}.mini-board span{background:#edf1e1;display:grid;place-items:center;font-size:33px;color:#173d35}.mini-board span:nth-child(8n+2),.mini-board span:nth-child(8n+4),.mini-board span:nth-child(8n+5),.mini-board span:nth-child(8n+7){background:#819a70}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{padding:18px;background:#f0f3e9;border-radius:12px}.stat strong{display:block;font-size:27px}.stat span{font-size:12px;color:#62775f}.game-layout{display:grid;grid-template-columns:minmax(300px,600px) 1fr;gap:32px;align-items:start}.board-wrap{background:#fff;padding:15px;border:1px solid #dce2d8;border-radius:16px}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1}.sq{position:relative;border:0;border-radius:0;padding:0;min-width:0;background:#edf0de;display:grid;place-items:center;aspect-ratio:1}.sq.dark{background:#8caa79}.sq:hover{background:#c5d2a2}.sq.selected{box-shadow:inset 0 0 0 4px #b67819;background:#e7cb80}.sq.target:after{content:'';width:22%;height:22%;background:#194d39aa;border-radius:50%;position:absolute}.sq.target.occupied:after{width:85%;height:85%;border:4px solid #b67819;background:none}.piece{font-size:clamp(28px,5vw,52px);line-height:1;font-family:Georgia,serif;z-index:1}.piece.w{color:#fffdf1;text-shadow:1px 1px 0 #304b34,-1px -1px 0 #304b34,1px -1px 0 #304b34,-1px 1px 0 #304b34}.piece.b{color:#193b32;text-shadow:0 1px 0 #fffffb}.board-status{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px;font-size:13px}.rules{padding-left:18px;line-height:1.65;color:#52675e;font-size:14px}.game-aside .panel{margin-bottom:18px;padding:22px}.history{margin-top:30px}.history-list{display:grid;gap:12px}.history-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 22px;border:1px solid #dce2d8;border-radius:12px;background:#fff}.history-item p{margin:5px 0 0;font-size:13px}.badge{font-size:11px;background:#eef2e8;border-radius:5px;padding:4px 8px;white-space:nowrap}.result{max-width:780px;margin:0 auto}.result-symbol{font-size:52px;margin:16px 0}.empty{padding:28px;border:1px dashed #c6d1bf;border-radius:14px;color:#63715e}.event-list{max-height:250px;overflow:auto;font-size:13px;line-height:1.8;padding-left:25px}details{margin-top:22px}summary{cursor:pointer;font-weight:600}.back{padding-left:0;border:0;background:none;font-size:13px;margin-bottom:16px}.error{color:#9b352b}footer{max-width:1116px;margin:0 auto;padding:20px 0 30px;border-top:1px solid #dce1d6;font-size:11px;color:#6d7c68;display:flex;justify-content:space-between;gap:15px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#183d36;color:#fff;padding:15px 24px;border-radius:12px;box-shadow:0 8px 30px #0002;max-width:90vw;z-index:10}button.link{border:0;background:none;text-decoration:underline;padding:10px 0}#auth-error{margin-top:14px} .full{width:100%}
@media(max-width:1180px){main,footer{margin-left:28px;margin-right:28px}}@media(max-width:760px){header{padding:18px 20px}#brand{font-size:18px}.build{display:none}main{padding-top:24px;margin-left:20px;margin-right:20px}.hero{grid-template-columns:1fr;gap:25px;padding-top:0}.hero-copy h1{font-size:38px}.hero-copy p{margin-bottom:0}.steps{display:none}.auth{max-width:none}.dashboard,.game-layout{grid-template-columns:1fr}.game-card{grid-template-columns:1fr 105px}.game-card h2{font-size:27px}.mini-board span{font-size:25px}.panel{padding:22px}.topline{align-items:flex-start}.game-aside{display:grid;grid-template-columns:1fr}.piece{font-size:clamp(27px,8vw,48px)}.history-item{flex-wrap:wrap}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:23px}footer{flex-direction:column;margin:0 20px}.header-actions{gap:8px}.header-actions button{padding:8px}.result h1{font-size:35px}}

.board-frame{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto 18px;gap:4px}.rank-labels{display:grid;grid-template-rows:repeat(8,1fr)}.file-labels{grid-column:2;display:grid;grid-template-columns:repeat(8,1fr)}.rank-labels span,.file-labels span{display:grid;place-items:center;font-size:11px;font-weight:500;color:#63746b}.annotation{line-height:1.9;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;text-align:left}.result-score{font-size:32px;font-weight:700;margin:12px 0}
.three-card{margin-top:24px}.three-emblem{font-size:44px;text-align:center}.three-board{grid-template-columns:repeat(3,1fr)}.three-frame .rank-labels{grid-template-rows:repeat(3,1fr)}.three-frame .file-labels{grid-template-columns:repeat(3,1fr)}.three-board .piece{font-size:clamp(45px,8vw,86px)}.three-board .winning{box-shadow:inset 0 0 0 5px #b67819;background:#e7cb80;opacity:1}.three-board .sq:disabled{opacity:1;cursor:default}.reserve{margin:20px 0 5px}.reserve button span{font-size:25px}.reserve button[aria-pressed=true]{outline:3px solid #b67819;background:#f5e5bb}.rule-note{padding:12px;background:#f5efd9;border-radius:9px;font-size:14px}.final-three-board{max-width:330px;margin:20px auto}.game-layout>*{min-width:0}
.setup{max-width:660px;margin:auto}.setup .eyebrow{display:block}.setup form>.primary{margin-top:12px}.match-conditions{font-size:13px;margin:10px 0;color:#52675e}.chess-clocks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.player-clock{padding:12px;border:2px solid #dce2d8;border-radius:12px;background:#f5f5ef}.player-clock.active{border-color:#b67819;background:#f5e5bb}.player-clock span{display:block;font-size:12px}.player-clock strong{font-size:30px;font-variant-numeric:tabular-nums}.clock-warning{font-size:12px}.timing-table{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:14px;font-size:13px}td,th{text-align:left;padding:9px;border-bottom:1px solid #dce2d8}
.number-counter{display:grid;place-items:center;width:78%;height:78%;border-radius:50%;background:#4c9945;border:1px solid #2b6530;color:white;font-size:clamp(13px,2.2vw,24px);font-weight:700}.kings-board .sq.target.occupied:after{z-index:2}.kings-board .sq:disabled{opacity:1;cursor:default}.target-sets{display:grid;gap:20px;margin:22px 0}.target-sets h3{font-size:15px}.counter-list{display:flex;flex-wrap:wrap;gap:6px}.counter-item{min-width:32px;padding:5px 8px;border:1px solid #cbd6cd;border-radius:20px;font-size:13px;text-align:center}.counter-item.collected{background:#dceccf;border-color:#789b64}.final-kings-board{max-width:520px;margin:24px auto}
.piece-values{display:flex;flex-wrap:wrap;gap:8px 14px;margin:16px 0;font-size:13px}.piece-values b{font-size:22px}.promotion-picker{padding:18px;background:#f5efd9;margin-top:16px;border-radius:12px}.capture-board .sq:disabled{opacity:1;cursor:default}
.bishops-board .counter-w{background:#fffaf0;color:#173d35;border:2px solid #52675e}.bishops-board .counter-b{background:#263d38;color:white;border:2px solid #152a24}.bishops-board .sq:disabled{opacity:1;cursor:default}.bishops-board .sq.target.occupied:after{z-index:2}
.queens-board .sq:disabled{opacity:1;cursor:default}.queens-board .queen-conflict{box-shadow:inset 0 0 0 3px #a13226}.conflict-mark{position:absolute;z-index:3;right:3px;top:2px;border-radius:50%;background:#a13226;color:white;font:700 13px/19px system-ui;width:19px;height:19px;text-align:center}.queen-controls{margin:18px 0 12px}.solo-clock{margin:12px 0;max-width:260px}

.knight-board .sq:disabled{opacity:1;cursor:default}.knight-board .visited{background:#c9d8b8}.knight-board .visited.dark{background:#739464}.visited-mark{font-size:clamp(13px,2vw,23px);color:#254e3e;font-weight:700}#knight-start-board{max-width:480px;margin:20px auto}.knight-board .sq.selected{box-shadow:inset 0 0 0 3px #b67819}
.fox-board .sq:disabled{opacity:1;cursor:default}.fox-piece{font-size:clamp(22px,4vw,44px);line-height:1}.hound-piece{display:block;width:68%;height:68%;border-radius:50%;background:#183d36;border:3px solid #f3edda;box-shadow:0 0 0 2px #183d36,inset 0 0 0 3px #183d36,inset 0 0 0 5px #aabfa9}.fox-board .sq.target.occupied:after{z-index:2}

.home-board .midline{border-top:3px solid #b97336}.home-target{font-size:clamp(18px,3vw,32px);letter-spacing:2px}.home-board .sq:disabled{opacity:1}

.laser-board .sq{position:relative}.laser-board .beam-white{background-image:linear-gradient(135deg,transparent 44%,#17719eaa 45%,#17719eaa 55%,transparent 56%)}
.laser-board .beam-black{box-shadow:inset 0 0 0 3px #c14a45;border:2px dashed #c14a45}.laser-board .sq.selected{outline:4px solid #dab45a;outline-offset:-4px}.laser-board .sq:disabled{opacity:1}.laser-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.laser-legend span:first-child{color:#126389}.laser-legend span:last-child{color:#a43230}

.laser-board .beam-white{background-image:none}.laser-board .beam-black{box-shadow:none;border:0}.laser-ray{position:absolute;pointer-events:none;z-index:1}.laser-ray.horizontal{left:0;right:0;top:50%;border-top:3px solid}.laser-ray.vertical{top:0;bottom:0;left:50%;border-left:3px solid}.laser-ray.ray-white{border-color:#126389}.laser-ray.ray-black{border-color:#b73835;border-style:dashed}.laser-board .sq.target:after{z-index:2}.laser-board .piece{z-index:3}
.final-three-board .laser-board .piece{font-size:28px}

.giveaway-board .sq:disabled{opacity:1}.final-three-board .giveaway-board .piece{font-size:28px}

.hungry-board .sq:disabled{opacity:1}.hungry-board .sq.target.occupied:after{z-index:2}.final-three-board .hungry-board .piece{font-size:28px}.final-three-board .hungry-board .number-counter{font-size:13px}
