:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf7f6;font-synthesis:none;text-rendering:optimizelegibility;background:#081116;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#11272ef5,#081116 48%,#12141d),#081116;min-width:320px;min-height:100dvh;margin:0}button,input,select{font:inherit}button{touch-action:manipulation}.landing-screen{isolation:isolate;align-items:center;min-height:100dvh;padding:clamp(28px,6vw,78px);display:grid;position:relative;overflow:hidden}.landing-screen[hidden],.app-shell[hidden]{display:none}.landing-board-scene{z-index:-2;opacity:.42;place-items:center;display:grid;position:absolute;inset:0;transform:rotate(-7deg)scale(1.08)}.landing-board-scene:after{content:"";background:radial-gradient(circle at 30% 30%,#7beeda47,#0000 36%),linear-gradient(90deg,#081116fa 0%,#081116b8 46%,#08111638 100%);position:absolute;inset:0}.landing-board-grid{aspect-ratio:1;border:1px solid #7beeda3d;grid-template-columns:repeat(8,1fr);width:min(78vw,820px);display:grid;box-shadow:0 28px 90px #0000007a}.landing-board-grid span{color:#f6fbfae0;text-shadow:0 7px 18px #0000007a;place-items:center;font-size:clamp(2rem,7vw,5.6rem);display:grid}.landing-board-grid .light{background:#d7c79b}.landing-board-grid .dark{background:#497f72}.landing-copy{width:min(620px,100%)}.landing-copy h1{margin:8px 0 14px;font-size:clamp(3.4rem,9vw,8rem);line-height:.9}.landing-copy p:not(.label):not(.login-status){color:#c9d7d8;max-width:540px;margin:0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.45}.landing-actions{align-items:center;gap:12px;margin-top:14px;display:flex}.email-auth-form{background:#050d12c7;border:1px solid #7beeda2e;border-radius:8px;gap:10px;width:min(430px,100%);margin-top:28px;padding:14px;display:grid;box-shadow:0 20px 50px #00000038}.email-auth-form label{color:#9ab2bb;text-transform:uppercase;gap:6px;font-size:.75rem;font-weight:900;display:grid}.email-auth-form input{color:#edf7f6;text-transform:none;background:#02080cd1;border:1px solid #9ab2bb38;border-radius:8px;outline:0;min-height:42px;padding:0 12px}.email-auth-form input:focus{border-color:#7beedabd}.email-auth-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.login-button{background:#14353af2;border-color:#7beeda8c;min-width:190px}.secondary-login-button{background:#262115f0;border-color:#f5c55b73;min-width:0}.link-button{color:#9adfd3;cursor:pointer;background:0 0;border:0;width:fit-content;padding:4px 0;font-size:.84rem;font-weight:850}.link-button:hover{color:#f5c55b}.auth-divider{color:#79919a;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:min(430px,100%);margin-top:14px;font-size:.76rem;font-weight:900;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:#9ab2bb2e;height:1px}.login-status{color:#9ab2bb;min-height:24px;margin:16px 0 0;font-size:.95rem;font-weight:750}.landing-feature-strip{flex-wrap:wrap;gap:10px;display:flex;position:absolute;bottom:clamp(22px,5vw,52px);left:clamp(22px,6vw,78px);right:clamp(22px,6vw,78px)}.landing-feature-strip span{color:#d7e8e7;background:#081116b8;border:1px solid #7beeda33;border-radius:999px;padding:9px 13px;font-size:.86rem;font-weight:900}.shell{grid-template-rows:auto 1fr;gap:16px;width:min(1840px,100vw - 32px);min-height:100dvh;margin:0 auto;padding:22px 0;display:grid}.topbar{background:#0a161db8;border:1px solid #7beeda29;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:12px 14px;display:flex;box-shadow:0 18px 50px #0000003d}.eyebrow,.label{color:#7beeda;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}h1{color:#f6fbfa;margin:2px 0 0;font-size:2.4rem;line-height:1}.primary-nav{background:#040b0f80;border:1px solid #7beeda24;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;min-width:min(100%,430px);padding:5px;display:flex}.nav-button{color:#9ab2bb;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:34px;padding:0 12px;font-size:.8rem;font-weight:900}.nav-button:hover,.nav-button.active{color:#edf7f6;background:#7beeda1f}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-menu{background:#040b0f80;border:1px solid #7beeda29;border-radius:999px;grid-template-columns:auto minmax(94px,auto) auto auto;align-items:center;gap:9px;min-height:42px;padding:5px 6px 5px 10px;display:grid}.account-menu[hidden]{display:none}.account-menu img{object-fit:cover;border-radius:50%;width:28px;height:28px}.account-menu div{gap:1px;display:grid}.account-menu strong{color:#f6fbfa;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.82rem;font-weight:900;overflow:hidden}.account-menu span{color:#9adfd3;text-transform:uppercase;font-size:.68rem;font-weight:850}.verify-email-button[hidden]{display:none}.icon-button,.text-button,.mini-button{color:#edf7f6;cursor:pointer;background:#0c1b24eb;border:1px solid #7beeda38;box-shadow:inset 0 0 0 1px #ffffff08}.icon-button{border-radius:50%;width:42px;height:42px;font-size:1.25rem;line-height:1}.text-button{border-radius:999px;min-width:108px;height:42px;padding:0 15px;font-weight:850}.mini-button{border-radius:999px;min-height:32px;padding:0 12px;font-size:.8rem;font-weight:850}.icon-button:hover,.text-button:hover,.mini-button:hover,.mini-button.active{background:#192e34f5;border-color:#f5c55bb8}.danger-button{color:#ffd6dc;border-color:#ef536847}.danger-button:hover{background:#4b141fd1;border-color:#ef5368cc}.danger-button:disabled{cursor:not-allowed;opacity:.42}.mini-button:disabled{cursor:not-allowed;opacity:.45}.game-layout{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(128px,170px) minmax(520px,1.18fr) minmax(300px,360px) minmax(280px,340px);align-items:stretch;gap:16px;display:grid}.player-panel{background:#09151dad;border:1px solid #9ab2bb29;border-radius:8px;align-content:space-between;gap:16px;min-height:124px;padding:14px;display:grid}.top-player{grid-area:1/1}.bottom-player{grid-area:3/1}.player-panel div,.turn-card{align-items:center;gap:9px;display:flex}.player-panel strong{color:#f6fbfa;font-size:1.05rem}.player-panel span:last-child{color:#9adfd3;background:#7beeda1a;border-radius:999px;width:fit-content;padding:5px 9px;font-size:.82rem;font-weight:850}.player-dot{border:1px solid #edf7f6;border-radius:50%;width:14px;height:14px;display:inline-block}.player-dot.white{background:#f7f0da}.player-dot.black{background:#10151b}.board-wrap{overflow-anchor:auto;grid-area:1/2/span 3;grid-template-rows:minmax(26px,auto) auto 24px minmax(26px,auto);grid-template-columns:24px minmax(0,1fr);place-self:center;gap:6px 0;width:min(100%,900px);max-width:100%;scroll-margin-top:12px;display:grid}.board{aspect-ratio:1;background:#0b1821;border:10px solid #0b1821;border-radius:8px;grid-area:2/2;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);justify-self:center;width:min(76vh,100%,840px);min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #7beeda2e,0 28px 80px #00000075}.board-captures{color:#8fb0b8;grid-column:2;justify-self:center;align-items:center;gap:9px;width:min(76vh,100%,840px);min-height:26px;font-size:.76rem;font-weight:900;display:flex;overflow:hidden}.board-captures-top{grid-row:1;align-self:end}.board-captures-bottom{grid-row:4;align-self:start}.board-captures-label{text-transform:uppercase;letter-spacing:0;flex:none}.board-captures-pieces{color:#edf7f6;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:Times New Roman,Georgia,serif;font-size:1.34rem;font-weight:700;line-height:1;overflow:hidden}.board-captures-pieces.is-empty{color:#5d7880;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.74rem;font-weight:850}.square{aspect-ratio:1;-webkit-tap-highlight-color:transparent;overflow-anchor:none;cursor:pointer;border:0;place-items:center;width:100%;min-width:0;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.square.light{background:#d8caa5}.square.dark{background:#426f68}.square.selected,.square.review-played-from,.square.review-played-to,.square.history-preview-from,.square.history-preview-to{outline-offset:-4px;outline:4px solid #f5c55b}.square.review-best-from,.square.review-best-to{outline-offset:-4px;outline:4px solid #59a9ff}.square.last-move:before{content:"";background:#f5c55b45;animation:.82s ease-out last-move-glow;position:absolute;inset:0}.square.last-move-from{outline-offset:-6px;outline:4px dashed #f5c55b;animation:.82s ease-out last-move-border-pop}.square.last-move-to{outline-offset:-4px;outline:4px solid #7beeda;animation:.82s ease-out last-move-border-pop}.square.legal:after{content:"";aspect-ratio:1;background:#070e1357;border-radius:50%;width:24%;position:absolute}.square.capture-target:after{background:0 0;border:5px solid #070e1347;width:78%}.square.review-played-to:after,.square.review-best-to:after,.square.history-preview-to:after{content:attr(data-review-label);z-index:2;color:#fff;background:#070e13db;border-radius:999px;padding:3px 6px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.64rem;font-weight:900;line-height:1;position:absolute;bottom:5px;right:5px}.square.review-best-to:after{background:#1f67b8}.piece{z-index:1;-webkit-user-select:none;user-select:none;cursor:grab;place-items:center;width:100%;height:100%;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,Arial Unicode MS,sans-serif;font-size:clamp(2rem,7.3vmin,4.8rem);line-height:1;display:inline-grid;position:relative}.piece-glyph{pointer-events:none;line-height:1;display:block;transform:translate(-.015em,-.02em)}.piece:active{cursor:grabbing}.portal-capture-square{cursor:default}.portal-capture-effect{z-index:2;pointer-events:none;position:absolute;inset:13%}.portal-ring,.portal-swirl,.portal-sparkle{pointer-events:none;border-radius:50%;position:absolute;inset:0}.portal-ring{border:4px solid #7beedac7;animation:.68s ease-out forwards portal-ring-pop;box-shadow:0 0 16px #7beeda94,inset 0 0 18px #f5c55b47}.portal-swirl{border:4px dashed #f5c55bdb;animation:.68s cubic-bezier(.2,.8,.2,1) forwards portal-swirl-spin;inset:16%;box-shadow:0 0 12px #f5c55b61}.portal-sparkle{opacity:0;background:#fff6c7;width:7px;height:7px;animation:.68s ease-out forwards portal-sparkle-burst;inset:auto;box-shadow:0 0 9px #fff6c7e0}.portal-sparkle-a{top:16%;left:20%}.portal-sparkle-b{animation-delay:60ms;top:28%;right:18%}.portal-sparkle-c{animation-delay:.12s;bottom:16%;right:30%}.portal-captured-piece{z-index:3;pointer-events:none;transform-origin:50%;animation:.68s cubic-bezier(.2,.8,.18,1) forwards portal-captured-piece}.white-piece{color:#fff9e8;text-shadow:0 2px #72654b,0 5px 14px #0000005c}.black-piece{color:#10151b;text-shadow:0 1px #ffffff47,0 5px 14px #0000004d}@keyframes last-move-glow{0%{opacity:0}28%{opacity:1}to{opacity:1}}@keyframes last-move-border-pop{0%{box-shadow:inset 0 0 #7beeda00}34%{box-shadow:inset 0 0 0 7px #7beeda3d}to{box-shadow:inset 0 0 #7beeda00}}@keyframes portal-ring-pop{0%{opacity:0;transform:scale(.18)}24%{opacity:1;transform:scale(1.06)}72%{opacity:.92;transform:scale(.82)}to{opacity:0;transform:scale(.22)}}@keyframes portal-swirl-spin{0%{opacity:0;transform:rotate(0)scale(.45)}20%{opacity:1}to{opacity:0;transform:rotate(540deg)scale(.18)}}@keyframes portal-sparkle-burst{0%,42%{opacity:0;transform:translate(0)scale(.4)}58%{opacity:1}to{opacity:0;transform:translate(10px,-12px)scale(1.2)}}@keyframes portal-captured-piece{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}20%{opacity:1;transform:translateY(-8%)rotate(18deg)scale(1.08)}72%{opacity:.82;transform:translateY(0)rotate(410deg)scale(.34)}to{opacity:0;transform:translateY(0)rotate(620deg)scale(.06)}}@media (prefers-reduced-motion:reduce){.square.last-move:before,.square.last-move-from,.square.last-move-to,.tutor-puzzle-square.last-move:before,.tutor-puzzle-square.last-move-from,.tutor-puzzle-square.last-move-to,.portal-capture-effect,.portal-captured-piece{animation:none}}.rank-labels,.file-labels{color:#7e9aa2;font-size:.78rem;font-weight:850}.rank-labels{grid-area:2/1;grid-template-rows:repeat(8,1fr);align-items:center;display:grid}.file-labels{grid-area:3/2;grid-template-columns:repeat(8,1fr);place-items:end center;display:grid}.side-panel{flex-direction:column;grid-area:1/4/span 3;align-self:stretch;gap:12px;min-height:0;display:flex}.history-panel{overflow-anchor:none;background:#09151db8;border:1px solid #9ab2bb29;border-radius:8px;grid-area:1/3/span 3;align-self:stretch;min-height:0;padding:14px}.side-panel section{background:#09151db8;border:1px solid #9ab2bb29;border-radius:8px;padding:14px}.history-state{color:#b4c8ce;margin:0 0 10px;font-size:.86rem;font-weight:750}.opening-pulse{background:#050e14bd;border:1px solid #7beeda29;border-left:4px solid #7beeda;border-radius:8px;gap:3px;margin-bottom:12px;padding:10px;display:grid}.opening-pulse span,.opening-pulse small{color:#7e9aa2;text-transform:uppercase;font-size:.7rem;font-weight:900}.opening-pulse strong{color:#edf7f6;font-size:1rem}.opening-pulse small{color:#b4c8ce;text-transform:none;font-size:.78rem;line-height:1.32}.opening-pulse.defense{border-left-color:#59a9ff}.opening-pulse.candidate{border-left-color:#f5c55b}.opening-pulse.fallback{border-left-color:#f08a4b}.history-browser{gap:7px;max-height:min(58vh,520px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.history-browser li{grid-template-columns:28px 1fr 1fr;align-items:stretch;gap:7px;display:grid}.history-browser .history-start{grid-template-columns:1fr}.history-number{color:#7e9aa2;align-self:center;font-size:.78rem;font-weight:900}.history-move{color:#edf7f6;cursor:pointer;text-align:left;background:#040b0fb8;border:1px solid #9ab2bb2e;border-radius:8px;gap:2px;min-width:0;min-height:44px;padding:7px 8px;display:grid}.history-move:hover,.history-move.active{background:#f5c55b1c;border-color:#f5c55b}.history-move span{color:#7e9aa2;text-transform:uppercase;font-size:.66rem;font-weight:900}.history-move strong{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;overflow:hidden}.history-move em{color:#7beeda;text-overflow:ellipsis;white-space:nowrap;background:#7beeda1f;border-radius:999px;width:fit-content;max-width:100%;padding:2px 6px;font-size:.64rem;font-style:normal;font-weight:900;overflow:hidden}.coach-panel{order:-2;min-height:0}.tutor-panel{order:-1;min-height:0}.status-panel{order:-1}.turn-card{color:#f6fbfa;margin-top:8px;font-size:1.08rem}.game-note{color:#b4c8ce;min-height:38px;margin:8px 0 0;line-height:1.35}.panel-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.control-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.profile-strip{gap:10px;margin-bottom:12px;display:grid}.profile-strip label{color:#9ab2bb;gap:5px;font-size:.78rem;font-weight:850;display:grid}.profile-select-row{grid-template-columns:1fr auto;align-items:end;gap:8px;display:grid}.profile-create{grid-template-columns:1fr auto;gap:8px;display:grid}.control-grid label{color:#9ab2bb;gap:5px;min-width:0;font-size:.78rem;font-weight:850;display:grid}.control-grid select,.control-grid input,.profile-strip select,.profile-strip input{color:#edf7f6;background:#040b0fb8;border:1px solid #9ab2bb38;border-radius:8px;width:100%;min-height:36px;padding:0 9px;font-weight:850}.archive-panel .panel-heading span{color:#7e9aa2;font-size:.82rem;font-weight:900}.archive-list{gap:8px;max-height:260px;display:grid;overflow-y:auto}.archive-item{color:#edf7f6;cursor:pointer;text-align:left;background:#040b0fb8;border:1px solid #9ab2bb2e;border-left:4px solid #7beeda;border-radius:8px;gap:3px;padding:9px 10px;display:grid}.archive-item:hover{background:#f5c55b17;border-left-color:#f5c55b}.archive-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.archive-meta b{color:#9adfd3;background:#7beeda1a;border-radius:999px;width:fit-content;padding:3px 8px;font-size:.72rem;font-weight:900}.archive-item span,.archive-item small,.archive-item em,.empty-archive{color:#8fa9b1;font-size:.74rem;font-weight:800}.archive-item strong{font-size:.94rem}.archive-item em{color:#c8d6d8;font-style:normal}.archive-item small{line-height:1.25}.empty-archive{margin:0}.control-grid input[type=range]{accent-color:#7beeda;min-height:24px;padding:0}.rating-control,.range-control{grid-column:1/-1}.range-control{grid-template-columns:54px 1fr;align-items:center}.engine-line{color:#7e9aa2;min-height:20px;margin:10px 0 0;font-size:.8rem;font-weight:850}.coach-content,.review-secondary{gap:12px;display:grid}.tutor-content{gap:18px;display:grid}.tutor-jumpbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040b0fe6;border:1px solid #7beeda24;border-radius:8px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.tutor-stage,.tutor-support,.tutor-lab-grid,.tutor-puzzle-play,.tutor-puzzle-coach,.tutor-opening-play,.tutor-opening-coach{gap:12px;min-width:0;display:grid}.tutor-brief{background:#050e14bd;border-left:4px solid #7beeda;border-radius:8px;gap:5px;padding:10px;display:grid}.tutor-pool-status{background:#050e14a8;border:1px solid #7beeda24;border-left:4px solid #7e9aa2;border-radius:8px;gap:4px;padding:10px;display:grid}.tutor-pool-status.ready{border-left-color:#37d399}.tutor-pool-status.loading{border-left-color:#59a9ff}.tutor-pool-status.warning{border-left-color:#f08a4b}.tutor-brief span,.tutor-lesson span,.tutor-opening-lab span,.tutor-opening-card span,.tutor-puzzle-meta span,.tutor-pool-status span,.tutor-source,.tutor-quiet{color:#7e9aa2;text-transform:uppercase;font-size:.68rem;font-weight:900}.tutor-brief strong,.tutor-lesson strong,.tutor-opening-lab strong,.tutor-opening-card strong,.tutor-puzzle-meta strong,.tutor-pool-status strong{color:#edf7f6}.tutor-brief p,.tutor-lesson p,.tutor-opening-lab p,.tutor-opening-card p,.tutor-puzzle-meta p,.tutor-pool-status p{color:#b4c8ce;margin:0;font-size:.82rem;line-height:1.35}.tutor-brief small,.tutor-pool-status small{color:#7e9aa2;font-size:.72rem;font-weight:850}.tutor-lesson-grid,.tutor-opening-lab,.tutor-puzzle-queue{gap:8px;display:grid}.tutor-lesson,.tutor-opening-lab article,.tutor-opening-card,.tutor-opening-trainer,.tutor-puzzle-card{background:#040b0fb8;border:1px solid #9ab2bb2e;border-left:4px solid #7e9aa2;border-radius:8px;gap:8px;padding:10px;display:grid}.tutor-lesson.alert{border-left-color:#f08a4b}.tutor-lesson.success{border-left-color:#37d399}.tutor-lesson.info,.tutor-opening-lab article,.tutor-opening-card{border-left-color:#59a9ff}.tutor-opening-card{color:#edf7f6;cursor:pointer;text-align:left}.tutor-opening-card:hover,.tutor-opening-card.active{background:#f5c55b1a;border-left-color:#f5c55b}.tutor-opening-trainer{border-left-color:#7beeda;overflow:hidden}.tutor-opening-play{grid-template-columns:minmax(300px,.9fr) minmax(240px,1fr);align-items:start}.tutor-opening-coach{align-content:start}.opening-side-switch,.opening-move-strip{flex-wrap:wrap;gap:7px;display:flex}.opening-move-strip{background:#02080c6b;border:1px solid #7beeda1f;border-radius:8px;max-height:128px;padding:8px;overflow-y:auto}.opening-move-strip span{color:#b4c8ce;border:1px solid #9ab2bb2e;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:850}.opening-move-strip span.active{color:#edf7f6;background:#7beeda21;border-color:#7beedab8}.opening-move-strip span.pending{color:#f5c55b;border-color:#f5c55b9e}.tutor-puzzle-card{border-left-color:#f5c55b;overflow:hidden}.tutor-puzzle-play{grid-template-columns:minmax(300px,1fr) minmax(220px,.7fr);align-items:start}.tutor-puzzle-coach{align-content:start}.tutor-puzzle-queue{background:#050e1494;border:1px solid #9ab2bb29;border-radius:8px;padding:10px}.tutor-puzzle-queue .panel-heading{margin-bottom:0}.tutor-puzzle-queue .panel-heading span{color:#7e9aa2;font-size:.74rem;font-weight:900}.tutor-rank-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.tutor-rank-item{color:#edf7f6;cursor:pointer;text-align:left;background:#040b0fb8;border:1px solid #9ab2bb2e;border-left:4px solid #7e9aa2;border-radius:8px;gap:3px;padding:9px;display:grid}.tutor-rank-item:hover,.tutor-rank-item.active{background:#f5c55b1a;border-left-color:#f5c55b}.tutor-rank-item span,.tutor-rank-item small{color:#8fa9b1;font-size:.7rem;font-weight:850}.tutor-rank-item strong{color:#edf7f6;font-size:.9rem}.tutor-impact-reasons{flex-wrap:wrap;gap:6px;display:flex}.tutor-impact-reasons span{color:#b4c8ce;background:#7beeda14;border:1px solid #7beeda29;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:850}.tutor-puzzle-meta,.tutor-puzzle-status{gap:4px;display:grid}.tutor-puzzle-status{background:#7beeda14;border-radius:8px;padding:8px}.tutor-puzzle-status strong{color:#edf7f6}.tutor-puzzle-status span{color:#b4c8ce;font-size:.82rem;line-height:1.3}.tutor-solved-next{background:#37d39924;border-color:#37d39975;width:fit-content;margin-top:4px}.tutor-puzzle-status.correct{background:#37d3991a}.tutor-puzzle-status.wrong{background:#f08a4b1f}.tutor-puzzle-status.hint{background:#f5c55b1f}.tutor-board-wrap{overflow-anchor:auto;grid-template-rows:auto 22px;grid-template-columns:22px minmax(0,1fr);justify-self:center;gap:0;width:min(100%,520px);scroll-margin-top:12px;display:grid}.tutor-puzzle-board{aspect-ratio:1;background:#0b1821;border:6px solid #0b1821;border-radius:8px;grid-area:1/2;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 0 0 1px #7beeda2e}.tutor-rank-labels,.tutor-file-labels{color:#9ab2bb;font-size:.76rem;font-weight:900}.tutor-rank-labels{grid-area:1/1;grid-template-rows:repeat(8,1fr);align-items:center;display:grid}.tutor-file-labels{grid-area:2/2;grid-template-columns:repeat(8,1fr);place-items:end center;display:grid}.tutor-puzzle-square{-webkit-tap-highlight-color:transparent;overflow-anchor:none;cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:relative}.tutor-puzzle-square.light{background:#d8caa5}.tutor-puzzle-square.dark{background:#426f68}.tutor-puzzle-square.selected{outline-offset:-3px;outline:3px solid #f5c55b}.tutor-puzzle-square.last-move:before{content:"";z-index:0;background:#f5c55b40;animation:.82s ease-out last-move-glow;position:absolute;inset:0}.tutor-puzzle-square.last-move-from{outline-offset:-5px;outline:3px dashed #f5c55b;animation:.82s ease-out last-move-border-pop}.tutor-puzzle-square.last-move-to{outline-offset:-3px;outline:3px solid #7beeda;animation:.82s ease-out last-move-border-pop}.tutor-puzzle-square.hint-from{outline-offset:-3px;outline:3px solid #7beeda}.tutor-puzzle-square.hint-to{outline-offset:-3px;outline:3px solid #f5c55b}.tutor-puzzle-square.hint-from:before,.tutor-puzzle-square.hint-to:before{content:"";z-index:0;background:#7beeda33;border-radius:50%;position:absolute;inset:10%;box-shadow:0 0 14px #7beeda7a}.tutor-puzzle-square.hint-to:before{background:#f5c55b38;box-shadow:0 0 14px #f5c55b80}.tutor-puzzle-square.legal:after{content:"";aspect-ratio:1;background:#070e1357;border-radius:50%;width:26%;position:absolute}.tutor-puzzle-square:disabled{cursor:default}.tutor-piece{z-index:1;pointer-events:none;place-items:center;width:100%;height:100%;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,Arial Unicode MS,sans-serif;font-size:clamp(1.75rem,8.6vmin,3.3rem);line-height:1;display:grid;position:relative}.tutor-coordinate-badge{z-index:2;color:#edf7f6;pointer-events:none;background:#040b0fd6;border-radius:999px;padding:2px 4px;font-size:.52rem;font-weight:900;line-height:1;position:absolute;bottom:3px;left:3px}.tutor-puzzle-actions{flex-wrap:wrap;gap:8px;display:flex}.tutor-source,.tutor-quiet{text-transform:none;line-height:1.25;display:block}.empty-coach,.coach-summary p,.opening-note{color:#b4c8ce;margin:0;line-height:1.38}.coach-loading{color:#edf7f6;gap:6px;display:grid}.coach-loading span{color:#7e9aa2;font-size:.9rem;font-weight:850}.accuracy-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.accuracy-grid div{background:#050e14ad;border:1px solid #7beeda21;border-radius:8px;padding:9px}.accuracy-grid span,.accuracy-grid small{color:#7e9aa2;font-size:.74rem;font-weight:850;display:block}.accuracy-grid strong{color:#f5c55b;margin:2px 0;font-size:1.35rem;display:block}.move-reviewer{background:#050e14d1;border:1px solid #9ab2bb2e;border-left:5px solid #7e9aa2;border-radius:8px;gap:10px;padding:12px;display:grid}.move-reviewer.best,.move-reviewer.brilliant,.timeline-node.best,.timeline-node.brilliant{border-color:#37d399}.move-reviewer.excellent,.move-reviewer.great,.timeline-node.excellent,.timeline-node.great{border-color:#59a9ff}.move-reviewer.good,.timeline-node.good{border-color:#9cc56d}.move-reviewer.inaccuracy,.timeline-node.inaccuracy{border-color:#f5c55b}.move-reviewer.mistake,.move-reviewer.miss,.timeline-node.mistake,.timeline-node.miss{border-color:#f08a4b}.move-reviewer.blunder,.timeline-node.blunder{border-color:#ef5368}.reviewer-nav,.reviewer-actions,.reviewer-grade,.reviewer-turn{align-items:center;gap:8px;display:flex}.reviewer-nav,.reviewer-grade,.reviewer-turn{justify-content:space-between}.reviewer-turn{background:#7beeda12;border:1px solid #7beeda21;border-radius:8px;min-width:0;padding:8px}.reviewer-turn div{flex:1;gap:1px;min-width:0;display:grid}.reviewer-turn span:not(.player-dot),.reviewer-turn em{color:#7e9aa2;text-transform:uppercase;font-size:.68rem;font-style:normal;font-weight:900}.reviewer-turn strong{color:#edf7f6;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.reviewer-turn em{color:#f5c55b;border:1px solid #f5c55b4d;border-radius:999px;flex:none;padding:4px 7px}.reviewer-nav span,.reviewer-grade span{color:#7e9aa2;font-size:.82rem;font-weight:900}.reviewer-grade strong{color:#f6fbfa;font-size:1.55rem}.reviewer-grade strong small{color:#8fa9b1;text-align:right;text-transform:uppercase;font-size:.7rem;font-weight:900;display:block}.move-reviewer p{color:#d2e2e4;margin:0;line-height:1.35}.move-reviewer small{color:#8fa9b1;line-height:1.3}.engine-tip{color:#c8d6d8;background:#59a9ff1a;border-radius:8px;padding:8px 9px;font-weight:850}.reviewer-actions,.simulation-actions{flex-wrap:wrap}.board-cue{background:#7beeda14;border-radius:8px;padding:9px 10px;font-weight:750}.move-timeline{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:7px;display:grid}.timeline-node{color:#edf7f6;cursor:pointer;text-align:left;background:#040b0fbd;border:1px solid #7e9aa2;border-left-width:4px;border-radius:8px;gap:1px;min-height:44px;padding:7px 8px;display:grid}.timeline-node.active{background:#7beeda1f;box-shadow:0 0 0 1px #7beeda47}.timeline-node span{color:#7e9aa2;font-size:.68rem;font-weight:900}.timeline-node strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.simulation-panel{background:#050e149e;border:1px solid #7beeda21;border-radius:8px;gap:10px;padding:12px;display:grid}.simulation-panel p{color:#b4c8ce;margin:0;line-height:1.35}.line-preview{border-left:3px solid #59a9ff;gap:3px;padding-left:9px;display:grid}.line-preview span{color:#7e9aa2;text-transform:uppercase;font-size:.72rem;font-weight:900}.line-preview strong{color:#edf7f6;font-size:.88rem;line-height:1.32}.simulation-active{color:#7e9aa2;font-size:.82rem;font-weight:850}.key-moments ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.key-moments li{color:#b4c8ce;border-left:3px solid #f5c55b;gap:3px;padding-left:9px;display:grid}.key-moments li span{line-height:1.32}.walkthrough,.review-move{display:none}.promotion-backdrop{z-index:10;background:#03080bb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-backdrop.hidden{display:none}.promotion-card{background:#0b1821;border:1px solid #7beeda38;border-radius:8px;width:min(360px,100%);padding:18px;box-shadow:0 24px 80px #00000075}.promotion-options{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.promotion-button{aspect-ratio:1;color:#edf7f6;cursor:pointer;background:#050e14db;border:1px solid #9ab2bb47;border-radius:8px;font-family:Times New Roman,Georgia,serif;font-size:2.7rem}.promotion-button:hover{border-color:#f5c55b}@media (width<=1360px){.game-layout{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:10px}.board-wrap{grid-area:2/1;width:fit-content;max-width:100%}.board,.board-captures{width:min(100vw - 96px,max(320px,100vh - 270px),720px)}.top-player,.bottom-player{grid-column:1/-1;justify-content:space-between;align-items:center;min-height:72px;display:flex}.top-player{grid-row:1}.bottom-player{grid-row:3}.side-panel{grid-area:4/1/auto/-1;grid-template-columns:1fr 1fr;align-items:start;display:grid}.coach-panel,.tutor-panel{grid-column:1/-1}.history-panel{grid-area:2/2;align-self:stretch}.status-panel,.settings-panel{order:0}}@media (width<=900px){.landing-screen{align-items:start;padding:32px 18px 112px}.landing-board-scene{opacity:.34;width:118vw;height:118vw;inset:auto -26vw -16vw auto}.landing-board-grid{width:100%}.landing-feature-strip{left:18px;right:18px}.shell{width:min(100vw - 18px,720px);padding:12px 0}.topbar{flex-wrap:wrap;align-items:flex-start}.primary-nav{order:3;width:100%}h1{font-size:2rem}.game-layout{grid-template-columns:1fr;gap:10px}.top-player{grid-row:1;min-height:60px}.board-wrap{grid-row:2;grid-template-rows:minmax(24px,auto) auto 20px minmax(24px,auto);grid-template-columns:20px minmax(0,1fr);width:100%}.board{border-width:6px;width:100%;min-width:0}.board-captures{gap:7px;width:100%;min-height:24px}.board-captures-label{font-size:.68rem}.board-captures-pieces{font-size:1.12rem}.piece{font-size:3.8rem}.bottom-player{grid-row:3;min-height:60px}.history-panel{grid-area:4/1;padding:12px}.history-browser{max-height:230px}.side-panel{grid-row:5;display:flex}}@media (width<=560px){.topbar{flex-direction:column}.primary-nav{border-radius:8px;justify-content:flex-start}.actions{justify-content:stretch;width:100%}.email-auth-actions{grid-template-columns:1fr}.account-menu{border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;width:100%}.account-menu strong{max-width:none}.text-button{flex:1;min-width:0}.piece{font-size:2.7rem}.board-wrap{grid-template-rows:minmax(22px,auto) auto 18px minmax(22px,auto);grid-template-columns:18px minmax(0,1fr)}.control-grid,.accuracy-grid{grid-template-columns:1fr}}.shell[data-view=play] .coach-panel,.shell[data-view=play] .tutor-panel,.shell[data-view=play] .archive-panel,.shell[data-view=review] .history-panel,.shell[data-view=review] .status-panel,.shell[data-view=review] .settings-panel,.shell[data-view=review] .archive-panel,.shell[data-view=review] .tutor-panel{display:none}.shell[data-view=review] .game-layout{grid-template-columns:minmax(150px,200px) minmax(360px,1fr) minmax(360px,520px)}.shell[data-view=review] .side-panel{grid-area:1/3/span 3}.shell[data-view=tutor] .game-layout,.shell[data-view=archive] .game-layout{grid-template-rows:auto;grid-template-columns:1fr;align-items:start}.shell[data-view=tutor],.shell[data-view=archive]{height:100vh;min-height:0;overflow:hidden}.shell[data-view=tutor] .game-layout,.shell[data-view=archive] .game-layout{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:8px;overflow-y:scroll}.shell[data-view=tutor] .top-player,.shell[data-view=tutor] .bottom-player,.shell[data-view=tutor] .board-wrap,.shell[data-view=tutor] .history-panel,.shell[data-view=archive] .top-player,.shell[data-view=archive] .bottom-player,.shell[data-view=archive] .board-wrap,.shell[data-view=archive] .history-panel{display:none}.shell[data-view=tutor] .side-panel,.shell[data-view=archive] .side-panel{grid-area:1/1;justify-self:center;width:min(1420px,100%);padding-bottom:24px;display:block}.shell[data-view=tutor] .side-panel>section,.shell[data-view=archive] .side-panel>section{display:none}.shell[data-view=tutor] .side-panel>.tutor-panel,.shell[data-view=archive] .side-panel>.archive-panel{gap:14px;display:grid}.shell[data-view=tutor] .tutor-content{grid-template-columns:1fr;align-items:stretch}.shell[data-view=tutor] .tutor-stage{grid-template-columns:minmax(520px,1.35fr) minmax(300px,.65fr);align-items:start}.shell[data-view=tutor] .tutor-support{align-content:start}.shell[data-view=tutor] .tutor-lesson-grid{grid-template-columns:1fr}.shell[data-view=tutor] .tutor-lab-grid{grid-template-columns:minmax(0,1fr) minmax(320px,430px);align-items:start}.shell[data-view=tutor] .tutor-opening-lab{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.shell[data-view=tutor] .tutor-opening-lab>.panel-heading{grid-column:1/-1}.shell[data-view=tutor] .tutor-board-wrap{width:min(100%,520px)}.shell[data-view=archive] .archive-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-height:none}@media (width<=1050px){.shell[data-view=review] .game-layout{grid-template-columns:minmax(0,1fr)}.shell[data-view=review] .board-wrap,.shell[data-view=review] .side-panel{grid-column:1}.shell[data-view=review] .top-player,.shell[data-view=review] .bottom-player{display:none}.shell[data-view=review] .side-panel{grid-row:1}.shell[data-view=review] .board-wrap{grid-row:2}.shell[data-view=tutor] .tutor-content,.shell[data-view=tutor] .tutor-stage,.shell[data-view=tutor] .tutor-lab-grid,.tutor-puzzle-play,.tutor-opening-play{grid-template-columns:1fr}.shell[data-view=tutor] .tutor-board-wrap{width:min(100%,430px)}.shell[data-view=tutor] .tutor-piece{font-size:clamp(1.75rem,8.6vmin,3.3rem)}.shell[data-view=tutor] .tutor-lesson-grid,.shell[data-view=tutor] .tutor-opening-lab{grid-template-columns:1fr}}@media (width<=900px){.shell[data-view=review] .game-layout{gap:10px}.shell[data-view=review] .side-panel{gap:0}.shell[data-view=review] .coach-panel[data-review-state=ready]>.panel-heading{display:none}.shell[data-view=review] .coach-panel{padding:8px}.shell[data-view=review] .review-secondary{display:none}.shell[data-view=review] .move-reviewer{gap:7px;padding:8px}.shell[data-view=review] .reviewer-turn{padding:7px}.shell[data-view=review] .reviewer-turn strong{font-size:.86rem}.shell[data-view=review] .reviewer-nav .mini-button{min-height:32px}.shell[data-view=review] .reviewer-grade{align-items:start;gap:10px}.shell[data-view=review] .reviewer-grade span{flex:1;min-width:0}.shell[data-view=review] .reviewer-grade strong{text-align:right;flex:none;font-size:1.14rem}.shell[data-view=review] .move-reviewer p{font-size:.84rem;line-height:1.25}.shell[data-view=review] .move-reviewer small{font-size:.76rem;display:block}.shell[data-view=review] .reviewer-actions{grid-template-columns:1fr 1fr;display:grid}.shell[data-view=review] .reviewer-actions .mini-button{white-space:normal;width:100%;min-height:34px;padding:0 9px}.shell[data-view=review] .reviewer-actions .mini-button:last-child{grid-column:1/-1}.shell[data-view=review] .board-cue{display:none}.shell[data-view=review] .board-wrap{justify-self:center;width:min(100%,430px)}.shell[data-view=review] .board,.shell[data-view=review] .board-captures{width:min(100%,400px)}}@media (width<=1050px) and (height<=700px){.shell[data-view=tutor] .tutor-board-wrap{width:min(100%,380px)}.shell[data-view=tutor] .tutor-piece{font-size:clamp(1.65rem,8vmin,3rem)}}@media (width<=900px){.shell[data-view=tutor],.shell[data-view=archive]{height:auto;min-height:100dvh;overflow:visible}.shell[data-view=tutor] .game-layout,.shell[data-view=archive] .game-layout{padding-right:0;overflow:visible}.shell[data-view=tutor] .side-panel,.shell[data-view=archive] .side-panel{padding-bottom:96px}}
