:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e7e6dd;background:#14221b;font-synthesis:none;font-weight:400;font-size:18px;--gold: #d4b27b;--muted: #9ca89e;--border: #ffffff13}*{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 var(--border);color:inherit;background:transparent;border-radius:7px;transition:background .2s,color .2s,border-color .2s}button:hover{background:#ffffff0c;border-color:#c6b89555}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:active{transform:translateY(1px)}main{height:100dvh;min-height:min(620px,100dvh);overflow:hidden;position:relative;background:radial-gradient(ellipse at 30% 40%,#2a4031,#18271f 48%,#111b16)}.topbar{position:absolute;top:0;left:0;right:0;height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 46px;z-index:5;border-bottom:1px solid var(--border);background:linear-gradient(#142019bb,#14201900)}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-decoration:none;color:#f3ecdd;flex-shrink:0}.brand img{display:block;width:240px;height:auto}.app-name{font-size:14px;letter-spacing:.5px;color:#d4b27b;padding-left:58px}.top-actions{display:flex;align-items:center;gap:23px}.local-dot{font-size:14px;letter-spacing:1.6px;color:#c4c9be;display:flex;align-items:center;gap:8px}.local-dot:before{content:"";height:5px;width:5px;border-radius:50%;background:#a4b58a;box-shadow:0 0 12px #a4b58a66}.language{border:none;font-size:15px;letter-spacing:1.2px;color:#c9cbbf;padding:10px}.help-button{border-radius:50%;width:44px;height:44px;color:#c9cbbf;font-family:Georgia,serif;font-size:15px}.scene-area{position:absolute;inset:104px 410px 56px 0;overflow:hidden}.scene-area canvas{touch-action:none;display:block}.scene-area>div:has(>canvas){position:absolute!important;inset:78px 0 58px!important;height:calc(100% - 136px)!important;z-index:1}.intro{position:absolute;top:34px;left:48px;z-index:2;pointer-events:none}.eyebrow{font-size:13px;font-weight:600;letter-spacing:2px;color:var(--gold);display:flex;align-items:center;gap:10px}.eyebrow>span{height:1px;width:23px;background:var(--gold)}h1{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-1.6px;font-size:clamp(36px,4.2vw,60px);margin:15px 0 11px;line-height:1.08}.intro p{color:#a4b0a4;font-size:17px;letter-spacing:.1px}.board-caption{position:absolute;bottom:75px;left:48px;right:32px;display:flex;justify-content:space-between;color:#abb2a1;font-size:14px;letter-spacing:.5px;pointer-events:none;z-index:2}.board-caption>span:first-child{color:#c2b38f;font-size:13px;letter-spacing:1.2px;text-transform:uppercase}.camera-controls{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;padding:6px;border:1px solid #fff2;background:#16241be8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;z-index:4;box-shadow:0 10px 30px #0002}.camera-controls>button{width:44px;height:44px;border:0;font-size:21px;color:#d1d1bb}.camera-controls>span{width:1px;height:20px;margin:0 6px;background:#fff2}.camera-controls label{display:flex;align-items:center;gap:8px;color:#a5ad9e;font-size:14px;padding-right:5px}.camera-controls select{background:#26362b;border:none;color:#ddd9c8;border-radius:4px;padding:6px;font-size:15px;max-width:140px;min-height:44px}.game-panel{overflow:auto;scrollbar-width:thin;position:absolute;right:28px;top:124px;bottom:80px;width:354px;border:1px solid #e7d6a521;background:linear-gradient(145deg,#29372bcc,#19261fdd);border-radius:13px;padding:24px;display:flex;flex-direction:column;z-index:4;box-shadow:0 20px 65px #0002;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading .eyebrow{font-size:12px;letter-spacing:1.5px}.tiny-board{font-size:18px;color:#8e9a87}.status-block{padding:20px 0 21px}.status-icon{font-size:33px;color:#e2d3b2;line-height:1.1;margin-bottom:11px}.status-block h2{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.2;margin:0 0 9px;overflow-wrap:anywhere}.status-block p{font-size:15px;color:var(--muted);line-height:1.6;margin:0}.name-field{position:relative;border:1px solid #ccd3b91f;border-radius:6px;display:grid;grid-template-columns:16px 1fr;gap:3px 10px;align-items:center;padding:11px 13px;margin-bottom:10px;background:#101b1645}.name-field label{font-size:13px;color:#a9b29e;letter-spacing:.5px}.piece-dot{display:inline-block;flex-shrink:0;width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff40,0 2px 3px #0003}.piece-dot.white{background:#e6dbc1}.piece-dot.black{background:#252923;box-shadow:inset 0 0 0 1px #9d9f7d66}.name-field>.piece-dot{grid-row:span 2}.name-field input{border:none;outline:none;background:transparent;color:#ece9d9;padding:0;width:100%;font-size:17px;line-height:19px}.name-field input::placeholder{color:#dadccf}.primary{background:var(--gold);color:#20271e;border:1px solid var(--gold);font-size:16px;font-weight:650;padding:13px 18px}.primary:hover{background:#e3c28d;color:#172116}.start{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:15px}.start>span{font-size:19px;line-height:1;font-weight:300}.history-heading{display:flex;justify-content:space-between;margin:27px 0 13px;border-top:1px solid var(--border);padding-top:19px;font-size:13px;letter-spacing:1.7px;color:#aeb59f}.history-heading>span+span{color:#7f8b79;font-size:14px;letter-spacing:1px}.move-history{overflow:auto;flex:1;min-height:38px;scrollbar-width:thin;scrollbar-color:#56634b transparent}.empty-history{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:44px;height:100%;color:#8c9c88}.empty-history>span{font-size:26px;opacity:.6}.empty-history p{font-size:14px;text-align:center;line-height:1.5}.empty-line{width:28px;height:1px;background:#e2d0a526;margin-top:9px}.history-labels,.move-row{display:grid;grid-template-columns:32px 1fr 1fr;gap:7px;padding:8px 7px;font-size:16px}.history-labels{font-size:13px;color:#a7b29c;border-bottom:1px solid var(--border);padding-top:0}.move-row:nth-child(2n){background:#ffffff03;border-radius:4px}.move-row>span:first-child{color:#7e8e7b;font-size:15px}.move-row .latest{color:var(--gold)}.panel-bottom{margin-top:12px}.reset{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:11px;color:#b8c0af;font-size:17px}.reset>span{font-size:15px}.board-toggle{font-size:14px;color:#a6b49e;display:block;margin:10px auto 0;border:0;padding:4px}.panel-note{font-size:13px;color:#82937f;display:flex;align-items:center;gap:7px;justify-content:center;margin:16px 0 0}.panel-note>span{color:#a7ad8c;font-size:17px}.players{display:flex;flex-direction:column;gap:8px}.player{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--border);border-radius:7px;background:#131e1766}.player.active{border-color:#d4b27b66;background:#c3aa6510}.player>div{flex:1;min-width:0}.player strong{font-size:17px;font-weight:450;display:block;overflow-wrap:anywhere}.player small{color:#9fa88e;font-size:18px;display:block;min-height:20px;letter-spacing:2px}.turn-indicator{width:5px;height:5px;border-radius:50%;background:var(--gold)}.draw-actions{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.draw-actions button{font-size:13px;flex:1;padding:6px;color:#c8c4ab}footer{position:absolute;bottom:0;left:0;right:0;height:56px;display:flex;justify-content:space-between;align-items:center;padding:0 46px;border-top:1px solid var(--border);font-size:12px;letter-spacing:1.5px;color:#7e8c7d}footer>div{display:flex;align-items:center;gap:24px}footer button{font-size:13px;color:#a2ac98;border:0;padding:5px;letter-spacing:.5px}.modal-backdrop{position:fixed;inset:0;background:#06110bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.modal{max-width:560px;max-height:calc(100dvh - 40px);overflow-y:auto;width:100%;border:1px solid #d7caa333;background:#233126;border-radius:14px;padding:30px;box-shadow:0 30px 80px #0005}.modal h2{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:18px 0}.modal p{font-size:18px;line-height:1.8;color:#b8c0ac}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.modal-actions button{padding:12px 14px;font-size:16px}.promotion-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.promotion-choices button{display:flex;flex-direction:column;align-items:center;padding:12px 5px;font-size:14px;gap:7px}.promotion-choices span{font-size:40px;color:#eed7a1}.accessible-board-wrap{position:fixed;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90vw,470px);padding:16px;background:#26372c;border:1px solid #d8c69655;border-radius:12px;box-shadow:0 25px 100px #0009}.accessible-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.accessible-heading h2{font-size:17px;font-weight:500;margin:0}.accessible-heading button{border:0;font-size:22px;width:44px;min-height:44px}.accessible-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1}.accessible-board button{aspect-ratio:1;border-radius:0;border:0;position:relative;line-height:1}.accessible-board button:disabled{opacity:1}.accessible-board button>span{font-size:clamp(21px,5vw,40px);display:block;line-height:1}.light-square{background:#c5b08b}.dark-square{background:#72553c}.accessible-board button:hover{background:#b79b65}.white-glyph{color:#fff7e1;text-shadow:0 1px 2px #000,0 0 1px #000}.black-glyph{color:#191d18;text-shadow:0 0 1px #e8d8b4}.accessible-board small{position:absolute;left:3px;bottom:2px;font-size:12px;color:#211e17;opacity:.7}.accessible-board .selected-square{background:#cead5e}.accessible-board .legal-square{box-shadow:inset 0 0 0 3px #739356}.scene-fallback,.scene-loading{position:absolute;inset:35% 15%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.scene-fallback>span{font-size:60px;color:var(--gold)}.scene-fallback p{line-height:1.8;color:#c7cdbb}.scene-fallback button{padding:12px}.scene-loading{color:#bdbca6;font-size:17px}.claim-fields{display:flex;gap:10px}.claim-fields label{font-size:15px;flex:1;min-width:0}.claim-fields input,.claim-fields select{display:block;width:100%;margin-top:7px;border:1px solid #c8b47766;background:#18271d;color:#f3e6c8;border-radius:5px;padding:9px}.claim-fields select{font-size:15px}button,select{min-height:44px}button{line-height:1.35}input{min-height:44px}.primary,.reset>span,.board-toggle,.modal-actions button{font-size:17px}.start{min-height:52px}.language{font-size:16px;padding:10px 12px}.help-button{font-size:23px}.name-field input,.player strong{font-size:18px;line-height:1.4}.name-field label,.history-labels,.panel-heading .eyebrow{font-size:13px;letter-spacing:1px}.status-block p{font-size:16px;line-height:1.5}.status-block{padding:18px 0}.status-icon{display:none}.status-block h2{font-size:29px}.panel-note{font-size:13px;line-height:1.4}.draw-actions{gap:8px}.draw-actions button{font-size:15px;min-height:48px;padding:8px}.reset{min-height:48px}.board-toggle{margin-top:4px;padding:8px}.history-heading{margin:20px 0 10px;padding-top:14px}.move-history{flex:1 1 0;min-height:24px}.move-row{font-size:17px}.move-row>span:first-child{font-size:15px}.empty-history p{font-size:14px}.empty-history>span,.empty-line{display:none}.panel-bottom{flex-shrink:0;margin-top:10px}.camera-controls{padding:7px;gap:6px}.camera-controls label{font-size:15px}.camera-controls select{font-size:16px;padding:8px}.board-caption{font-size:14px;bottom:88px}.board-caption>span:first-child{font-size:13px}footer{font-size:14px;letter-spacing:.2px;color:#abb6a6}footer button{font-size:16px;padding:8px 12px}.modal .eyebrow{font-size:13px;letter-spacing:.8px}.modal p{font-size:18px;line-height:1.65}.promotion-choices button{font-size:15px}.claim-fields label,.claim-fields select{font-size:16px}.accessible-heading h2{font-size:17px}.accessible-board small{font-size:12px}.accessible-board button{min-height:0}@media(min-width:1700px){.game-panel{width:390px;right:40px;top:130px;bottom:86px;padding:28px}.scene-area{right:460px}}@media(max-width:1200px){.topbar{padding:0 24px}.game-panel{width:330px;right:20px;padding:20px}.scene-area{right:370px}.intro,.board-caption{left:28px}.board-caption>span+span{display:none}footer{padding:0 24px}}@media(max-height:850px)and (min-width:701px),(max-width:1000px)and (min-width:701px){.topbar{height:88px;padding:0 20px}.brand img{width:210px}.app-name{font-size:13px;padding-left:49px}.top-actions{gap:10px}.local-dot{font-size:13px;letter-spacing:.4px}.scene-area{top:88px}.game-panel{top:102px;bottom:68px;padding:16px}.intro{top:22px}h1{font-size:42px;margin:10px 0}.intro p{font-size:16px;max-width:310px;line-height:1.5}.status-block{padding:10px 0}.status-block h2{font-size:26px;margin-bottom:6px}.status-block p{font-size:15px}.name-field{padding:7px 10px;margin-bottom:8px}.name-field input{font-size:17px}.history-heading{margin:12px 0 8px;padding-top:10px}.panel-note{display:none}.player{padding:9px}.panel-bottom{margin-top:4px}.board-caption{bottom:84px}}@media(max-height:680px)and (min-width:701px),(max-width:900px)and (min-width:701px){.topbar{height:78px}.brand img{width:190px}.app-name{font-size:12px;padding-left:46px}.local-dot{display:none}.scene-area{top:78px;right:352px}.game-panel{top:90px;bottom:64px;width:320px;right:16px;padding:14px}.panel-heading{display:none}.status-block{padding:4px 0 10px}.status-block h2{font-size:24px;margin:0}.status-block p{display:none}.game-panel form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.name-field{min-width:0;margin:0;padding:6px 9px;gap:0 6px;grid-template-columns:11px 1fr}.name-field input{font-size:16px}.start{grid-column:span 2;margin-top:0;padding:10px 12px;min-height:46px}.players{flex-direction:row;gap:7px}.player{padding:7px;flex:1;min-width:0;gap:6px}.player strong{font-size:16px}.player small{font-size:17px;min-height:18px;line-height:1}.history-heading{margin:10px 0 6px;padding-top:8px;font-size:13px}.history-labels{font-size:12px;padding-bottom:4px}.move-row{padding:5px;font-size:16px}.move-history{min-height:0}.draw-actions{gap:4px;margin-bottom:4px}.draw-actions button{font-size:14px;padding:3px;min-height:44px}.reset{min-height:44px;padding:8px}.board-toggle{min-height:44px;font-size:16px;margin:0 auto;padding:8px}.intro{left:20px;top:18px}.intro .eyebrow{font-size:12px;letter-spacing:1px}.intro h1{font-size:36px}.intro p{font-size:15px;max-width:250px}.camera-controls label{font-size:0;gap:0}.camera-controls label select{font-size:16px}.board-caption{left:20px;font-size:12px}.board-caption>span:first-child{font-size:12px;letter-spacing:.3px}}@media(max-width:700px){main{height:auto;min-height:100dvh;overflow:visible;padding-bottom:56px}.topbar{position:relative;height:96px;padding:0 18px}.brand img{width:190px}.app-name{font-size:12px;padding-left:46px}.local-dot{display:none}.top-actions{gap:2px}.language{font-size:15px;padding:8px}.help-button{width:44px;height:44px}.scene-area{position:relative;inset:auto;height:65dvh;min-height:430px;max-height:620px}.scene-area>div:has(>canvas){inset:80px 0 60px!important;height:calc(100% - 140px)!important}.intro{left:22px;top:12px}.intro .eyebrow{font-size:12px;letter-spacing:1px}.intro h1{font-size:38px;margin:9px 0 5px}.intro p{font-size:15px;max-width:300px;margin:6px 0;line-height:1.4}.board-caption{display:none}.camera-controls{bottom:6px;white-space:nowrap}.camera-controls label{font-size:0;gap:0}.camera-controls label select{font-size:16px}.game-panel{position:relative;inset:auto;width:calc(100% - 32px);margin:0 16px 18px;padding:22px;min-height:530px}.status-block{padding:16px 0}.status-block h2{font-size:28px}.history-heading{margin-top:20px}.move-history{flex:none;max-height:210px;min-height:60px}.panel-bottom{margin-top:16px}.players{flex-direction:row}.player{flex:1;min-width:0;padding:10px;gap:8px}.player strong{font-size:16px}.draw-actions button{font-size:15px}.panel-note{font-size:13px}footer{height:56px;padding:0 18px;font-size:13px}footer>div{gap:0}footer button{font-size:14px;padding:8px}.modal{padding:22px}.modal-actions{flex-wrap:wrap}.promotion-choices{grid-template-columns:repeat(2,1fr)}.accessible-board-wrap{max-height:95dvh;overflow:auto}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
