:root{font-family:Arial,sans-serif;color:#e7ece6;background:#111916;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1160px;margin:auto;padding:24px 30px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #33423a}.brand{color:#f1f4ea;text-decoration:none;font-size:26px;font-weight:bold}.brand span{display:block;font-size:9px;letter-spacing:3px;margin:6px 0 0 32px}.pill{border:1px solid #50604f;border-radius:30px;padding:9px 14px;font-size:12px;color:#bed19f}.intro{padding:26px 0 34px;max-width:670px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a9c890;font-weight:bold}h1{font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-2px;margin:18px 0}h1 em{font-style:normal;color:#bbd989}.intro>p:last-child{color:#a3b4a8;line-height:1.6;max-width:490px}h2{font-size:20px;margin:12px 0 18px}.workspace{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.panel{min-width:0;background:#1b2620;border:1px solid #344338;border-radius:18px;padding:24px;margin-bottom:20px}.paneltop{display:flex;align-items:center;justify-content:space-between;gap:10px}.paneltop span{font-size:12px;color:#bbd989}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;width:100%;border-radius:7px;overflow:hidden}.square{min-width:0;padding:0;border:none;border-radius:0;aspect-ratio:1;font-size:clamp(25px,4.5vw,48px);display:flex;align-items:center;justify-content:center;position:relative;background:#cdd3ba;color:#111}.square.dark{background:#68836c}.square.selected{background:#e7c36b}.square.legal:after{content:'';width:20%;height:20%;border-radius:50%;background:#17241a70;position:absolute}.square small{position:absolute;bottom:2px;left:3px;font-size:9px;font-weight:normal}.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}button{background:#bddb91;color:#17221b;border:0;border-radius:8px;font-weight:bold;padding:12px 16px;cursor:pointer}button:hover{filter:brightness(1.07)}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f0c77c;outline-offset:2px}.secondary{background:#364c3b;color:#e4ebdf}.textbutton{background:none;color:#c5d9ac;padding:8px}label,.note{font-size:12px;color:#a3b4a8}.note{line-height:1.5}.moves{font-size:12px;color:#bddb91;line-height:1.7;overflow-wrap:anywhere}textarea,select{background:#101b15;border:1px solid #435644;color:#e0e8d9;padding:10px;border-radius:8px}textarea{width:100%;resize:vertical;line-height:1.5;margin-top:6px}select{max-width:105px}.coach>p{font-size:14px;line-height:1.6;color:#b5c3b8}#status{font-size:13px;color:#e6cd96;min-height:20px}#analysis p{font-size:13px;line-height:1.6}.training{margin-top:4px}.task{padding:14px 0;border-top:1px solid #36493b}.task p{line-height:1.6;color:#b9c8bb;font-size:14px}.task code{overflow-wrap:anywhere;font-size:11px}footer{font-size:12px;color:#809787;padding-bottom:40px}@media(max-width:760px){header,main,footer{padding:20px 16px}.workspace{grid-template-columns:minmax(0,1fr)}.panel{padding:18px}.intro{padding:16px 0 24px}.square{font-size:38px}.pill{font-size:10px;padding:7px}.brand{font-size:22px}h1{letter-spacing:-1px}}

button:not(.square){min-height:44px}.square.white-piece{color:#fff7dc;text-shadow:-1px -1px 0 #17231b,1px -1px 0 #17231b,-1px 1px 0 #17231b,1px 1px 0 #17231b}.square small{color:#152118;text-shadow:none}.square.last-move{box-shadow:inset 0 0 0 3px #d6bf68}.square.selected{box-shadow:inset 0 0 0 3px #ffe4a2}

#training:has(.task){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mini-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));max-width:240px;margin:14px 0;border-radius:4px;overflow:hidden}.mini-square{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#cdd3ba;color:#111;font-size:23px}.mini-square.dark{background:#68836c}.mini-square.white-piece{color:#fff7dc;text-shadow:-1px -1px 0 #17231b,1px 1px 0 #17231b}.task summary{font-size:12px;cursor:pointer;color:#bed89e}@media(max-width:760px){#training:has(.task){grid-template-columns:1fr}.mini-board{max-width:280px}}

.board{grid-template-rows:repeat(8,minmax(0,1fr))}.square{min-height:0;line-height:1}.square small{line-height:1}@media(max-width:760px){.square{font-size:clamp(24px,8vw,36px)}}

[hidden]{display:none!important}.mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.mode-tabs button{background:#26372c;color:#c4d5bf;border:1px solid #455b48}.mode-tabs button.active{background:#bddb91;color:#16211a}input{background:#101b15;border:1px solid #435644;color:#e0e8d9;padding:11px;border-radius:8px;max-width:100%}#auth-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px}#auth-form label{display:grid;gap:6px}.check-label{display:flex;align-items:start;gap:8px;margin:18px 0;line-height:1.6}.check-label input{margin-top:4px}.history-item{display:block;width:100%;text-align:left;background:#273b2e;color:#d4e4cb;margin-top:8px;font-weight:normal;font-size:12px;overflow-wrap:anywhere}.server-item{border-left:3px solid #bddb91}.clocks{display:flex;justify-content:space-between;margin:12px 0;font-variant-numeric:tabular-nums;font-size:20px;color:#d9eacb}.mini-square{padding:0;border-radius:0;min-height:0!important;line-height:1;cursor:pointer}.mini-square.selected{box-shadow:inset 0 0 0 3px #e2ba66}.mini-board{grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1}.exercise-feedback{min-height:28px}#invite-code{width:320px}#online-panel .controls label{display:grid;gap:8px}#history{max-height:360px;overflow:auto}@media(max-width:760px){.mode-tabs{display:grid;grid-template-columns:1fr}.mode-tabs button{text-align:left}.workspace{grid-template-columns:minmax(0,1fr)}#auth-form{display:grid;grid-template-columns:1fr}#auth-form input{width:100%}#invite-code{width:100%}}

#start-fen{width:100%;box-sizing:border-box}#chat-messages{max-height:280px;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}#chat-messages p{padding:10px;border-bottom:1px solid #ffffff18}#chat-messages strong{font-size:.8rem;color:#b6c7b7}#chat-panel textarea{width:100%;box-sizing:border-box}input[type=checkbox]{width:auto}
header .language-toggle{flex:0 0 auto;min-width:48px;padding:8px 12px}@media(max-width:760px){header{flex-wrap:wrap;gap:12px}.brand{margin-right:auto}}
