@font-face{font-family:Vazir;src:url(assets/vazir.woff2)format('woff2');font-display:swap}:root{color-scheme:light;--ink:#30291f;--cream:#fff4d8;--olive:#49583c;--line:#aa956c}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#e8dcc0;color:var(--ink);font-family:Vazir,Tahoma,sans-serif}body{background:radial-gradient(ellipse at top,#f7eed8,#d7c6a4)}button,select{font:inherit}button{cursor:pointer;border:1px solid #a08d67;border-radius:10px;background:#fff6e1;color:var(--ink);padding:9px 14px;min-height:42px}button:hover{background:#f1dfb4}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible{outline:3px solid #177b9e;outline-offset:2px}button.primary{background:var(--olive);border-color:var(--olive);color:#fff6de}button.primary:hover{background:#33472d}[hidden]{display:none!important}#game-root{max-width:1080px;margin:auto;min-height:100vh;padding:12px 20px;display:grid;grid-template-columns:minmax(0,1fr)240px;grid-template-rows:auto 1fr auto;gap:12px 24px}header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;gap:12px}h1{font-size:24px;margin:3px 0 0}small{font-family:Georgia,serif;font-size:10px;letter-spacing:4px;color:#69583c}nav{display:flex;gap:7px}.table-area{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.board-frame{width:min(100%,calc(100vh - 145px));padding:15px;background:#754522 url(assets/wood.jpg)50%/cover;border:2px solid #ac8a50;border-radius:10px;box-shadow:0 10px 24px #39271938,inset 0 0 0 4px #38291b}#board{display:grid;grid-template-columns:repeat(8,1fr);direction:ltr;aspect-ratio:1;border:2px solid #49321d}.square{position:relative;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;padding:0;min-height:0;aspect-ratio:1;touch-action:manipulation;background:#efddb3;isolation:isolate}.square.dark{background:#84724b}.square:hover{background:#d0c49b}.square.dark:hover{background:#978660}.square.selected{box-shadow:inset 0 0 0 4px #e7b428}.square.last:after{content:"";position:absolute;inset:0;background:#e7ca5652;z-index:-1}.square.check{background:#c47259}.square.target:before{content:"";position:absolute;width:22%;height:22%;border-radius:50%;background:#37582a7a;z-index:2;pointer-events:none}.square.capture:before{width:86%;height:86%;background:0 0;border:3px solid #385529aa}.square svg{width:87%;height:87%;filter:drop-shadow(0 2px 1px #21180e55);pointer-events:none}.square .coord{position:absolute;bottom:1px;left:3px;font:10px Georgia,serif;color:#493b25;pointer-events:none}.square.dark .coord{color:#fff1cb}aside{align-self:center;display:flex;flex-direction:column;gap:12px}.players{display:flex;flex-direction:column;gap:12px}.player{display:flex;justify-content:space-between;align-items:center;padding:18px 12px;border-radius:12px;border:1px solid #aa956c;background:#f7edda}.player.active{box-shadow:inset 4px 0 #56673a;border-color:#56673a}.player span{font-size:12px;color:#726246}#status{font-size:22px;font-weight:700;margin:6px 0;text-align:center;min-height:34px}.details{display:flex;justify-content:space-between;font-size:12px;color:#766448}#clock{direction:ltr}.hint,footer{color:#78684c;font-size:11px;line-height:1.8}.hint{text-align:center;margin:0}footer{grid-column:1/-1;text-align:center}#overlay{position:fixed;inset:0;background:#2c271eb5;display:flex;align-items:center;justify-content:center;padding:18px;z-index:10;backdrop-filter:blur(3px)}#dialog{background:#faf1dc;color:#30291f;border:1px solid #b8a174;border-radius:20px;box-shadow:0 20px 80px #0005;padding:25px;width:440px;max-width:100%;max-height:94vh;overflow:auto}h2{font-size:25px;margin:6px 0 16px}.eyebrow{margin:0;color:#716344;font-size:12px;letter-spacing:2px}#dialog p{line-height:1.9}#dialog label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0}select{padding:8px;border:1px solid #ae9b75;border-radius:8px;min-width:170px;background:#fffaf0;color:#30291f}.actions{display:flex;gap:9px;margin-top:20px;flex-wrap:wrap}.actions button{flex:1}.note{font-size:12px;color:#746447}.promotion{display:flex;gap:8px}.promotion button{width:25%;padding:4px;font-size:11px}.promotion svg{width:100%;height:65px}ul{padding-right:22px;line-height:2}@media(max-width:720px){#game-root{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;padding:10px 12px;gap:12px;min-height:100svh}header{gap:6px}h1{font-size:19px}small{font-size:8px;letter-spacing:2px}nav{gap:4px}nav button{font-size:11px;padding:7px;min-height:38px}.board-frame{width:min(100%,calc(100svh - 265px));padding:10px}aside{gap:8px}.players{flex-direction:row;gap:10px}.player{flex:1;padding:10px}.player span{font-size:11px}#status{font-size:20px;margin:0;min-height:29px}.details{font-size:11px}.hint{display:none}footer{font-size:9px}#dialog{padding:20px}h2{font-size:23px}}@media(max-height:480px) and (min-width:500px){#game-root{grid-template-columns:minmax(0,1fr)200px;grid-template-rows:auto 1fr;padding:5px 12px;gap:7px 14px;min-height:100vh}header{padding-bottom:4px}h1{font-size:17px}small,footer,.hint{display:none}nav button{font-size:11px;min-height:32px;padding:5px 9px}.board-frame{width:min(100%,calc(100vh - 65px));padding:7px}aside{gap:7px}.players{flex-direction:row;gap:6px}.player{padding:8px;flex-direction:column;gap:5px;font-size:12px}#status{font-size:18px}#dialog{max-height:96vh;padding:16px}h2{font-size:20px;margin-bottom:8px}#dialog label{margin:6px 0}.actions{margin-top:10px}}.square.selected svg{filter:drop-shadow(0 0 4px #ffe580)drop-shadow(0 2px 1px #21180e55)}.square.opponent{outline:3px solid #39899a;outline-offset:-3px}.square.opponent:after{background:#50bfce42}.square.moving{z-index:4}.square.moving svg{filter:drop-shadow(0 0 5px #ffd44d)}#practice{background:#fff5dc;border:1px solid #ab956b;border-radius:12px;padding:12px}#practice h2{font-size:18px;margin:0 0 6px}#practice p{font-size:13px;line-height:1.9;margin:7px 0}#practice .actions{margin-top:8px;gap:5px}#practice button{font-size:11px;padding:7px}#feedback{color:#37512b;font-weight:700}nav{flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){header>div{min-width:130px}nav{max-width:190px}.board-frame{width:min(100%,calc(100svh - 285px))}}