:root{color:#f4ead8;--ink:#191713;--cream:#f4ead8;--muted:#b7a98f;--gold:#d8a74f;--copper:#a45f34;--green:#344b3a;--green-dark:#213029;--panel:#191713c7;--panel-border:#f4ead824;--shadow:0 28px 90px #00000073;background:#11120f;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#d8a74f3d,#0000 34rem),radial-gradient(circle at 85% 12%,#526f5a6b,#0000 28rem),linear-gradient(135deg,#13140f 0%,#232016 46%,#111714 100%);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}html,body,#root{width:100%;height:100%}button{font:inherit}.game-screen{min-height:100vh;overflow:hidden}.topbar{z-index:10;justify-content:space-between;align-items:center;height:58px;padding:0 1.25rem;display:flex;position:relative}body:has(.auth-control) .topbar{padding-right:13.5rem}.topbar h1{letter-spacing:-.04em;font-size:1.45rem;position:absolute;left:50%;transform:translate(-50%)}.topbar button,.topbar span:not(.tooltip-trigger){border:1px solid var(--panel-border);box-sizing:border-box;height:38px;color:var(--cream);background:#f4ead81a;border-radius:12px;justify-content:center;align-items:center;padding:0 .8rem;font-family:Trebuchet MS,sans-serif;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex}.topbar .tooltip-trigger{background:0 0;border:none;border-radius:0;padding:0}.topbar button{cursor:pointer}.topbar-actions{z-index:1;align-items:center;gap:.5rem;display:flex}.auth-control{z-index:120;flex-direction:column;align-items:flex-end;gap:.35rem;font-family:Trebuchet MS,sans-serif;display:flex;position:fixed;top:1rem;right:max(1.25rem,50vw - 680px)}.auth-signin-trigger{min-height:clamp(34px,4.5vw,42px);color:var(--cream);cursor:pointer;white-space:nowrap;background:linear-gradient(#f4ead81f,#f4ead80a),#191713e6;border:1px solid #f4ead829;border-radius:999px;justify-content:center;align-items:center;padding:clamp(.26rem,1.2vw,.34rem) clamp(.72rem,2vw,.95rem);font-family:Trebuchet MS,sans-serif;font-size:clamp(.72rem,1.6vw,.8rem);font-weight:900;line-height:1;display:inline-flex;box-shadow:0 14px 34px #00000047}.auth-avatar-button{min-height:clamp(34px,4.5vw,42px);color:var(--cream);cursor:pointer;background:linear-gradient(#f4ead81f,#f4ead80a),#191713e6;border:1px solid #f4ead829;border-radius:999px;align-items:center;font-family:Trebuchet MS,sans-serif;font-size:clamp(.72rem,1.6vw,.8rem);font-weight:900;line-height:1;display:inline-flex;box-shadow:0 14px 34px #00000047}.auth-convai-mark{color:#f8fbff;background:linear-gradient(135deg,#5b8cff,#7c5cff);border-radius:999px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-family:Trebuchet MS,sans-serif;font-size:.82rem;font-weight:900;display:grid}.auth-provider-tag{color:#b8ccff;letter-spacing:.04em;text-transform:uppercase;background:#5b8cff29;border-radius:999px;align-self:flex-start;padding:.12rem .45rem;font-size:.68rem;font-weight:800;display:inline-flex}.auth-user-menu{width:9.7rem;max-width:calc(100vw - 1.5rem);position:relative}.auth-avatar-button{justify-content:flex-start;gap:.45rem;width:100%;padding:.26rem .78rem .26rem .34rem}.auth-avatar-button img,.auth-avatar-button svg{border-radius:999px;flex:0 0 26px;width:26px;height:26px}.auth-avatar-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-popover{border:1px solid var(--panel-border);width:min(16rem,100vw - 1.5rem);box-shadow:var(--shadow);background:#191713f5;border-radius:10px;gap:.25rem;padding:.8rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0}.auth-popover strong,.auth-popover span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-popover span{color:var(--muted);font-size:.76rem}.auth-popover button{border:1px solid var(--panel-border);color:var(--cream);cursor:pointer;background:#f4ead81a;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;margin-top:.45rem;padding:.55rem .7rem;display:inline-flex}.auth-status{max-width:min(18rem,100vw - 1.5rem);color:var(--cream);background:#191713e6;border:1px solid #d8a74f4d;border-radius:8px;padding:.45rem .6rem;font-size:.72rem;line-height:1.25;box-shadow:0 10px 24px #0000003d}.menu-heading{--menu-heading-pad-y:clamp(1.2rem, 3vw, 2.2rem);--menu-heading-pad-x:clamp(1.2rem, 3vw, 2.2rem);position:relative}.menu-heading-row{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.menu-heading-row .eyebrow{flex:1;min-width:0;margin:0}.menu-auth-slot{flex:none;justify-content:flex-end;min-width:0;display:flex}.menu-auth-slot .auth-control{align-items:flex-end;position:static;inset:auto}.menu-auth-slot .auth-user-menu{width:auto}.menu-auth-slot .tooltip-trigger{display:inline-flex}.menu-auth-slot .auth-signin-trigger,.menu-auth-slot .auth-avatar-button{min-height:36px;padding:.28rem .72rem;font-size:.72rem}.menu-auth-slot .auth-avatar-button{width:auto;max-width:min(11rem,34vw);min-height:36px;padding:.26rem .72rem .26rem .34rem}@media (width<=1100px){.auth-control{top:.7rem;right:.7rem}.auth-user-menu{width:2.7rem}.auth-avatar-button{justify-content:center;padding:.28rem}.auth-avatar-button span{display:none}}.topbar-actions .ghost-action{white-space:nowrap;flex-shrink:0;width:auto;min-width:5.5rem;margin-top:0}.app-shell{grid-template-columns:300px 720px 300px;align-items:center;gap:28px;width:1376px;max-width:calc(100vw - 48px);min-height:calc(100vh - 58px);margin:0 auto;padding:clamp(1rem,2vw,1.5rem) 0;display:grid}.coach-card,.panel-card,.board-wrap{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.coach-card{border-color:#f4ead838;border-radius:14px;flex-direction:column;justify-self:center;width:300px;min-height:430px;padding:0;display:flex;position:sticky;top:1rem;overflow:hidden}.coach-portrait{color:#17120d;isolation:isolate;background:linear-gradient(155deg,#654335,#d7a46a 52%,#2a4234);border-radius:26px;place-items:center;width:84px;height:98px;font-size:3rem;font-weight:800;display:grid;position:relative;overflow:hidden}.character-card{background:#d4dce8!important}.character-window{border-bottom:1px solid #19171338;flex:0 0 370px;width:100%;height:370px;background:linear-gradient(#d4dce8 0%,#c6d1df 100%)!important}.character-window canvas{display:block;background:#d4dce8!important}.coach-activity-chip{z-index:3;letter-spacing:.04em;color:#f4ead8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;white-space:nowrap;background:#141612b8;border:1px solid #f4ead829;border-radius:999px;align-items:center;gap:.4rem;max-width:calc(100% - 1.2rem);padding:.32rem .7rem;font-family:Trebuchet MS,sans-serif;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:.65rem;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000047}.coach-activity-chip.is-listening{border-color:#1f8a6b80}.coach-activity-chip.is-thinking{border-color:#d8a74f80}.activity-mic-dot{background:#34d399;border-radius:999px;width:8px;height:8px;animation:1.6s ease-out infinite mic-dot-pulse}@keyframes mic-dot-pulse{0%{box-shadow:0 0 #34d3998c}70%{box-shadow:0 0 0 7px #34d39900}to{box-shadow:0 0 #34d39900}}.activity-dots{gap:3px;display:inline-flex}.activity-dots i{background:var(--gold);border-radius:999px;width:5px;height:5px;animation:1s ease-in-out infinite activity-dot}.activity-dots i:nth-child(2){animation-delay:.16s}.activity-dots i:nth-child(3){animation-delay:.32s}@keyframes activity-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (width<=820px){.coach-activity-chip{padding:.24rem .55rem;font-size:.64rem;bottom:.35rem}}.character-caption{background:#191713db;flex:0 0 60px;justify-content:space-between;align-items:center;gap:.75rem;height:60px;padding:0 1rem;display:flex;overflow:visible}.caption-actions,.coaching-control-header,.menu-heading{overflow:visible}.character-caption strong{color:var(--cream);letter-spacing:.08em;text-transform:uppercase;font-family:Trebuchet MS,sans-serif;font-size:.95rem}.character-caption span{color:var(--muted);text-align:right;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;display:-webkit-box;overflow:hidden}.caption-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.caption-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.coach-chat-btn{border:1px solid var(--panel-border);width:2rem;height:2rem;color:var(--cream);cursor:pointer;background:#f4ead814;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.coach-chat-btn:hover,.coach-chat-btn.is-open{background:#f4ead82e;border-color:#f4ead859}.coach-mic-btn{margin:0;line-height:1}.portrait-glow{border-radius:inherit;filter:blur(12px);z-index:-1;background:radial-gradient(circle,#ffefc6b8,#0000 62%);position:absolute;inset:10px}.real-portrait{background:#e0d5dd;padding:0}.real-portrait canvas{display:block}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .45rem;font-family:Trebuchet MS,sans-serif;font-size:.72rem;font-weight:800}h1,h2{margin:0;line-height:.98}h1{letter-spacing:-.07em;font-size:clamp(2rem,4vw,3.2rem)}h2{letter-spacing:-.04em;font-size:1.55rem}.coach-state,.panel-card p{color:var(--muted)}.game-stage{place-items:center;min-height:min(720px,100vh - 8rem);display:grid}.board-wrap{--board-size:640px;grid-template-columns:1.4rem var(--board-size);grid-template-rows:var(--board-size) .85rem;border-radius:34px;gap:.45rem;width:fit-content;padding:clamp(.8rem,1.6vw,1.1rem);display:grid}.chess-board{background:#31251a;border:10px solid #31251a;border-radius:24px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;overflow:hidden}.square{cursor:pointer;border:0;place-items:center;padding:0;transition:filter .14s,transform .14s,box-shadow .14s;display:grid;position:relative}.square.light{background:#e3cfa6}.square.dark{background:#6d7a55}.square:hover{filter:brightness(1.08)}.square.selected{box-shadow:inset 0 0 0 5px #d8a74fd1}.square.last-move{box-shadow:inset 0 0 0 999px #d8a74f2e}.square.target:after{content:"";aspect-ratio:1;background:#1c291d75;border-radius:999px;width:24%}.square.target:has(.piece):after{background:0 0;border:4px solid #4d291c70;width:auto;position:absolute;inset:12%}.piece{-webkit-user-select:none;user-select:none;font-size:clamp(2rem,7vmin,4.6rem);line-height:1;position:absolute;transform:translateY(-.03em)}.white-piece{color:#fff6df;text-shadow:0 3px #a97d47,0 10px 18px #00000052}.black-piece{color:#1d1a15;text-shadow:0 2px #ffebb947,0 12px 18px #0000004d}.rank-labels,.file-labels{color:#f4ead8b8;text-transform:uppercase;font-family:Trebuchet MS,sans-serif;font-size:.78rem;font-weight:800;display:grid}.rank-labels{text-align:center;grid-row:1;grid-template-rows:repeat(8,1fr);align-items:center}.file-labels{text-align:center;grid-column:2;grid-template-columns:repeat(8,1fr);align-items:center;line-height:1}.side-panel{z-index:5;grid-template-rows:auto minmax(240px,1fr);justify-self:center;gap:1rem;width:100%;min-height:0;max-height:min(720px,100vh - 122px);display:grid;position:relative}.panel-card{border-radius:26px;min-height:0;padding:1rem;overflow:hidden}.turn-card{flex-direction:column;min-height:0;display:flex}.turn-card-body{flex:auto;min-height:0;overflow:hidden}.turn-card-body.is-scrollable{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.primary-action{background:linear-gradient(135deg, var(--gold), #f1cf82);color:#22180f;cursor:pointer;letter-spacing:.03em;border:0;border-radius:16px;width:100%;margin-top:1rem;padding:.85rem 1rem;font-family:Trebuchet MS,sans-serif;font-weight:900}.move-card ol{scrollbar-gutter:stable;align-content:start;gap:.4rem;height:calc(100% - 1.4rem);max-height:none;margin:0;padding:0 .75rem 0 0;list-style:none;display:grid;overflow:auto}.move-card{grid-template-rows:auto minmax(0,1fr);display:grid}.invisible-scroll{scrollbar-width:thin;scrollbar-color:#f4ead838 transparent}.invisible-scroll::-webkit-scrollbar{width:4px;height:4px}.invisible-scroll::-webkit-scrollbar-track{background:0 0}.invisible-scroll::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.invisible-scroll::-webkit-scrollbar-thumb:hover{background:#f4ead873}.move-card li{color:var(--muted);border-bottom:1px solid #f4ead81a;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .15rem .45rem 0;display:flex}.move-card li strong{flex-shrink:0;padding-right:.25rem}.move-card strong{color:var(--cream)}.coach-chat-row{border-top:1px solid var(--panel-border);background:#11120feb;align-items:center;gap:.4rem;padding:.55rem .65rem;display:flex}.coach-chat-input{min-width:0;color:var(--cream);background:#f4ead812;border:1px solid #f4ead824;border-radius:999px;outline:none;flex:1;padding:.5rem .9rem;font-size:.92rem}.coach-chat-input:focus{border-color:#d8a74f8c}.coach-chat-input::placeholder{color:#f4ead85c}.coach-chat-send{border:1px solid var(--panel-border);color:var(--cream);cursor:pointer;background:#d8a74f2e;border-radius:999px;flex-shrink:0;padding:.45rem .9rem;font-size:.85rem;transition:background .15s}.coach-chat-send:hover{background:#d8a74f52}.auth-toast{color:var(--gold);align-items:center;gap:.5rem;display:flex}.session-badge{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;background:#d8a74f29;border:1px solid #d8a74f80;border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.6rem;font-weight:800;display:inline-block}.replay-play-actions{gap:.5rem;margin:.6rem 0 .2rem;display:flex}.replay-play-actions button{width:100%}.replay-play-actions button:disabled{opacity:.45;cursor:not-allowed}.audio-controls{align-items:center;gap:.35rem;display:inline-flex}.audio-btn{border:1px solid var(--panel-border);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:#f4ead80f;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-flex;position:relative}.audio-btn:hover{color:var(--cream);background:#f4ead829;transform:translateY(-1px)}.audio-btn:focus-visible{outline-offset:2px;outline:2px solid #d8a74fbf}.audio-btn.is-live{color:var(--gold);background:#d8a74f2e;border-color:#d8a74f8c}.audio-btn.mic-btn.is-off,.audio-btn.speaker-btn.is-off{color:#c08a6a;background:#a45f3429;border-color:#a45f3473}.character-mute-btn{z-index:6;color:#f4ead8eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0a088c;border-color:#0c0a0880;width:2.1rem;height:2.1rem;position:absolute;top:.55rem;right:.55rem;box-shadow:0 4px 14px #00000059}.character-mute-btn:hover{color:var(--cream);background:#0c0a08b8}.audio-btn.character-mute-btn.is-live{color:var(--gold);background:#0c0a0899;border-color:#d8a74f80}.audio-btn.character-mute-btn.is-off{color:#f0a487;background:#30140db8;border-color:#c46c5499}.character-window>.tooltip-trigger{position:static}.audio-btn-pulse{pointer-events:none;border:1.5px solid #d8a74f99;border-radius:999px;animation:1.9s ease-out infinite audio-pulse;position:absolute;inset:-3px}@keyframes audio-pulse{0%{opacity:.85;transform:scale(.88)}70%{opacity:0;transform:scale(1.22)}to{opacity:0;transform:scale(1.22)}}@media (prefers-reduced-motion:reduce){.audio-btn-pulse{opacity:.5;animation:none}.audio-btn:hover{transform:none}}.menu-screen,.loading-screen{background:radial-gradient(circle at 20% 20%,#d8a74f38,#0000 24rem),radial-gradient(circle at 80% 18%,#4c70575c,#0000 28rem),linear-gradient(135deg,#151711,#242116 52%,#101612);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.menu-panel{z-index:2;border:1px solid var(--panel-border);text-align:center;width:min(620px,100vw - 2rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#191713c7;border-radius:34px;padding:clamp(1.5rem,5vw,3rem);animation:.52s both riseIn;position:relative}.menu-panel h1,.loading-screen h1{font-size:clamp(3.2rem,10vw,6.8rem)}.menu-panel p:not(.eyebrow){max-width:36rem;color:var(--muted);margin:1rem auto 0;font-size:1.05rem;line-height:1.65}.menu-play{background:linear-gradient(135deg, var(--gold), #f2cf80);color:#1b140d;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;border:0;border-radius:20px;margin-top:2rem;padding:1rem 3rem;font-family:Trebuchet MS,sans-serif;font-weight:900;box-shadow:0 18px 36px #00000047}.menu-orbit{pointer-events:none;position:absolute;inset:0}.menu-orbit span{color:#f4ead814;font-size:clamp(4rem,12vw,10rem);animation:5s ease-in-out infinite floatPiece;position:absolute}.menu-orbit span:first-child{top:18%;left:12%}.menu-orbit span:nth-child(2){animation-delay:.4s;top:16%;right:14%}.menu-orbit span:nth-child(3){animation-delay:.8s;bottom:12%;left:18%}.menu-orbit span:nth-child(4){animation-delay:1.2s;bottom:16%;right:16%}.loading-screen{z-index:50;color:var(--cream);text-align:center;align-content:center;gap:1.2rem}.loading-screen p{color:var(--muted);margin:0}.loading-screen small{color:#f4ead87a}.loading-track{background:#f4ead824;border-radius:999px;width:min(360px,100vw - 3rem);height:9px;overflow:hidden}.loading-fill{border-radius:inherit;background:linear-gradient(90deg, var(--gold), #f6d891);height:100%;transition:width .26s}.loading-pieces{color:#f4ead8b8;justify-content:center;gap:.8rem;font-size:2.4rem;display:flex}.loading-pieces span{animation:.9s ease-in-out infinite loadingBounce}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes floatPiece{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-18px)rotate(5deg)}}@keyframes loadingBounce{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-12px)}}@media (width<=820px){.app-shell{grid-template-columns:1fr;min-height:auto}.game-stage{grid-row:auto;min-height:auto}.topbar h1{font-size:1.1rem}.side-panel{grid-template-columns:1fr;width:auto}.board-wrap{--board-size:min(72vmin, calc(100vw - 4.6rem));grid-template-columns:1.1rem var(--board-size);grid-template-rows:var(--board-size) .8rem;border-radius:24px;width:100%}.chess-board{border-width:6px;border-radius:18px}.coach-card{border-radius:22px;width:300px;min-height:430px}.character-window{flex-basis:370px;height:370px}}@media (width<=440px){.app-shell{padding:.75rem}.board-wrap{--board-size:calc(100vw - 3.2rem);grid-template-columns:.85rem var(--board-size);grid-template-rows:var(--board-size) .7rem;padding:.55rem}.rank-labels,.file-labels{font-size:.62rem}}.app-menu{place-items:center;min-height:100vh;padding:clamp(1rem,3vw,2rem);position:static}.menu-workspace{gap:1rem;width:min(1180px,100%);display:grid}.menu-heading{padding:var(--menu-heading-pad-y) var(--menu-heading-pad-x);border:1px solid var(--panel-border);box-shadow:var(--shadow);background:#191713c7;border-radius:18px}.menu-heading p:not(.eyebrow){max-width:52rem;color:var(--muted);line-height:1.55}.mode-grid,.coach-picker,.difficulty-picker,.form-row,.creator-actions,.accuracy-grid,.replay-controls{gap:.75rem;display:grid}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;display:grid}@media (width<=580px){.mode-grid{grid-template-columns:1fr}}.mode-tile,.coach-picker button,.difficulty-picker button,.games-list button,.replay-moves button,.ghost-action,.replay-controls button{color:var(--cream);cursor:pointer;text-align:left;background:#f4ead814;border:1px solid #f4ead824;border-radius:14px;padding:.85rem}.coach-picker button{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.65rem;min-width:0;display:grid;overflow:hidden}.difficulty-picker button{grid-template-columns:max-content 1fr;align-items:baseline;column-gap:.38rem;display:grid}.coach-picker-label{flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0;display:flex;overflow:hidden}.coach-picker-label>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.coach-picker-label>small{-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.coach-picker-avatar-wrap{isolation:isolate;contain:paint;background:#f4efe6;border:1px solid #f4ead82e;border-radius:50%;flex-shrink:0;width:56px;height:56px;overflow:hidden}.coach-picker-avatar{object-fit:cover;object-position:center center;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;display:block;transform:scale(1.06)}.creator-model-field{flex-direction:column;gap:.4rem;display:flex}.creator-model-title{margin:0;font-weight:600}.creator-model-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.coach-picker-avatar--baked{object-position:center center;transform:none}.mode-tile{flex-direction:column;justify-content:space-between;min-height:120px;display:flex}.mode-tile span,.coach-picker span,.difficulty-picker span{white-space:nowrap;font-family:Trebuchet MS,sans-serif;font-weight:900}.mode-tile strong,.coach-picker small,.difficulty-picker small,.coach-summary small,.games-list span{color:var(--muted);font-size:.78rem;line-height:1.35}.primary-tile{color:#171511;background:linear-gradient(135deg,#d8a74feb,#568378b3)}.primary-tile strong{color:#171511c2}.selected-mode-tile{outline-offset:-2px;outline:2px solid #d8a74fb8}.difficulty-note{color:var(--muted);margin:0 0 .6rem;font-size:.78rem;line-height:1.45}.mode-launch{justify-content:center;padding:.5rem 0 .25rem;display:flex}.setup-panel,.training-layout,.games-layout,.creator-layout{align-items:start;gap:1rem;display:grid}.setup-panel{border:1px solid var(--panel-border);box-shadow:var(--shadow);background:#191713b8;border-radius:18px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 320px;padding:1rem}.coach-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-picker{grid-template-columns:repeat(1,minmax(0,1fr))}.selected-option{background:#d8a74f2e!important;border-color:#d8a74fb8!important}.coach-summary{border-left:1px solid #f4ead81f;padding-left:1rem}.coach-summary p{color:var(--muted);line-height:1.55}.coach-line-wrap{scrollbar-width:thin;scrollbar-color:#1f1b164d transparent;background:#ffffffd1;flex:none;height:0;max-height:210px;transition:height .38s cubic-bezier(.4,0,.2,1);position:relative;overflow-y:auto}.coach-line-wrap::-webkit-scrollbar{width:5px}.coach-line-wrap::-webkit-scrollbar-track{background:0 0}.coach-line-wrap::-webkit-scrollbar-thumb{background:#1f1b164d;border-radius:999px}.coach-line-wrap::-webkit-scrollbar-thumb:hover{background:#1f1b1680}.coach-line{color:#1f1b16;margin:0;padding:1.1rem 1.3rem 1.2rem;font-size:1.05rem;line-height:1.5}.ghost-action{text-align:center;width:100%;margin-top:.65rem;font-family:Trebuchet MS,sans-serif;font-weight:900}.primary-action:disabled,.ghost-action:disabled{cursor:not-allowed;opacity:.45}.hint-text,.warning-text{background:#d8a74f1a;border:1px solid #d8a74f47;border-radius:12px;padding:.75rem;line-height:1.45;color:var(--cream)!important}.warning-text{background:#c44b4b2e;border-color:#c44b4b80}.analysis-card{scrollbar-width:thin;scrollbar-color:#f4ead838 transparent;gap:.55rem;max-height:420px;display:grid;overflow:auto}.analysis-card::-webkit-scrollbar{width:4px}.analysis-card::-webkit-scrollbar-track{background:0 0}.analysis-card::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.analysis-card::-webkit-scrollbar-thumb:hover{background:#f4ead873}.analysis-card ol,.analysis-card ul{color:var(--muted);margin:0;padding-left:1.15rem;line-height:1.45}.accuracy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accuracy-grid span{text-align:center;background:#f4ead814;border-radius:12px;padding:.7rem;font-family:Trebuchet MS,sans-serif;font-weight:900}.training-layout{grid-template-columns:320px minmax(0,1fr);align-items:center;width:min(1240px,100vw - 2rem);min-height:calc(100vh - 74px);margin:0 auto}.puzzle-left-col{flex-direction:column;align-self:center;gap:1rem;display:flex}.puzzle-theme-label{background:var(--panel);border:1px solid var(--panel-border);border-radius:.5rem;flex-direction:column;gap:.15rem;padding:.5rem .75rem;display:flex}.puzzle-theme-label strong{color:var(--cream);font-size:.9rem}.puzzle-actions{flex-direction:column;gap:.5rem;display:flex}.puzzle-actions .primary-action{margin-top:0}.puzzle-board-stage{justify-content:center;align-items:center;min-height:auto;display:flex}.training-layout .board-wrap{--board-size:min(58vmin, 620px)}.games-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;width:min(1240px,100vw - 2rem);min-height:calc(100vh - 74px);margin:0 auto}.games-list{scrollbar-width:thin;scrollbar-color:#f4ead838 transparent;gap:.65rem;max-height:calc(100vh - 6rem);display:grid;overflow:auto}.games-list::-webkit-scrollbar{width:4px}.games-list::-webkit-scrollbar-track{background:0 0}.games-list::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.games-list::-webkit-scrollbar-thumb:hover{background:#f4ead873}.games-list button{gap:.25rem;display:grid}.danger-action{color:#ffd7d7;border-color:#c44b4b73}.replay-layout{grid-template-columns:minmax(0,auto) 320px;justify-content:safe center;align-items:start;gap:1.25rem;min-width:0;display:grid}.replay-layout .board-wrap{--board-size:min(74vmin, 700px, calc(min(1240px, 100vw - 2rem) - 745px));align-self:start}.replay-panel{gap:.75rem;max-height:calc(100vh - 6rem);display:grid}@media (width>=821px) and (width<=1200px){.games-layout{grid-template-columns:260px minmax(0,1fr)}.replay-layout{grid-template-columns:minmax(0,auto) 260px}.replay-layout .board-wrap{--board-size:min(74vmin, 700px, calc(min(1240px, 100vw - 2rem) - 625px))}}.replay-controls{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center}.replay-controls button{text-align:center;border-radius:12px;place-items:center;width:40px;height:40px;padding:0;display:grid}.replay-controls span{text-align:center;color:var(--muted)}.replay-moves{scrollbar-width:thin;scrollbar-color:#f4ead838 transparent;gap:.35rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.replay-moves::-webkit-scrollbar{width:4px}.replay-moves::-webkit-scrollbar-track{background:0 0}.replay-moves::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.replay-moves::-webkit-scrollbar-thumb:hover{background:#f4ead873}.replay-moves button{width:100%;padding:.5rem}.compact-analysis{max-height:260px;box-shadow:none}.creator-layout{width:min(920px,100vw - 2rem);margin:1rem auto}.creator-form{gap:.9rem;display:grid}.creator-form label{color:var(--muted);text-transform:uppercase;gap:.35rem;font-family:Trebuchet MS,sans-serif;font-size:.78rem;font-weight:900;display:grid}.creator-form input,.creator-form textarea,.creator-form select{width:100%;color:var(--cream);font:inherit;text-transform:none;background:#f4ead814;border:1px solid #f4ead824;border-radius:12px;outline:none;padding:.75rem}.creator-form option{color:var(--cream);background:#242116}.creator-form textarea{resize:vertical;min-height:150px}.creator-form .field-hint{letter-spacing:0;text-transform:none;color:#f4ead885;margin-top:-.1rem;font-size:.72rem;font-weight:500;line-height:1.35}.creator-form .creator-tall-field{min-height:clamp(140px,22vh,220px);font-size:.85rem;line-height:1.5}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-form h2{text-align:center}.creator-actions{justify-content:center;display:flex}.creator-actions .primary-action{width:auto;min-width:220px;margin-top:0}.created-id{overflow-wrap:anywhere;color:#c7f0df;background:#00000047;border-radius:12px;padding:.75rem;display:block}@media (width<=1180px){.setup-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.coach-summary-stack{grid-column:1/-1}}@media (width<=980px){.mode-grid,.setup-panel,.training-layout,.games-layout,.replay-layout{grid-template-columns:1fr}.setup-panel{padding:.75rem}.coach-summary{border-top:1px solid #f4ead81f;border-left:0;padding:1rem 0 0}.form-row,.creator-actions{grid-template-columns:1fr}}.loading-prewarm{pointer-events:none;opacity:.01;width:300px;height:430px;position:fixed;top:-1000px;left:-1000px}.puzzle-intro-overlay{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.puzzle-cover{bottom:0;left:0;right:0;top:var(--topbar-h);z-index:20;padding:var(--screen-edge);background:radial-gradient(circle at 20% 20%,#d8a74f38,#0000 24rem),radial-gradient(circle at 80% 18%,#4c70575c,#0000 28rem),linear-gradient(135deg,#151711,#242116 52%,#101612);justify-content:center;align-items:center;display:flex;position:fixed;overflow:auto}.puzzle-intro-card{flex-direction:column;gap:1rem;width:100%;max-width:480px;display:flex}.puzzle-intro-rules{color:var(--muted);margin:0;padding-left:1.25rem;line-height:1.8}.puzzle-intro-rules li{margin-bottom:.25rem}.puzzle-group-actions{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.caption-info{flex-direction:column;flex:1;min-width:0;display:flex}.caption-info span{text-align:left}.add-dataset-btn{color:var(--gold);cursor:pointer;background:#d8a74f1f;border:1px solid #d8a74f59;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;margin-left:.5rem;font-size:1.05rem;font-weight:800;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:grid;box-shadow:0 4px 12px #0003}.add-dataset-btn:hover{background:linear-gradient(135deg, var(--gold), #f2cf80);color:#191713;border-color:#0000;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 16px #d8a74f4d}.add-dataset-btn:active{transform:translateY(0)scale(.95)}.toast-notification{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#191713f0;border:1px solid #d8a74f99;border-radius:14px;padding:.8rem 1.8rem;animation:.35s cubic-bezier(.16,1,.3,1) forwards toastFadeIn;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 16px 48px #000000b3,inset 0 0 12px #d8a74f1a}.toast-notification span{color:var(--cream);letter-spacing:.03em;text-shadow:0 1px 2px #00000080;font-family:Trebuchet MS,sans-serif;font-size:.85rem;font-weight:800}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000009e;justify-content:center;align-items:center;padding:1rem;animation:.18s forwards modalBackdropFadeIn;display:flex;position:fixed;inset:0}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}.auth-signin-backdrop{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:#0000008c}.auth-signin-modal{text-align:left;gap:.95rem;width:min(100%,28rem);max-width:min(28rem,100vw - 2rem);padding:clamp(1.35rem,3vw,2rem) clamp(1.25rem,3vw,2rem) clamp(1.2rem,2.5vw,1.75rem);position:relative}.auth-signin-header{text-align:center;gap:.45rem;padding-inline:1.5rem;display:grid}.auth-signin-header .gameover-result{text-align:center;padding-right:0}.auth-signin-subtitle{text-align:center;max-width:22rem;margin:0 auto}.auth-signin-close{width:34px;height:34px;color:var(--cream);cursor:pointer;background:#f4ead80f;border:1px solid #f4ead824;border-radius:999px;place-items:center;display:grid;position:absolute;top:.85rem;right:.85rem}.auth-signin-close:disabled{opacity:.45;cursor:not-allowed}.auth-signin-modal h2{text-align:left;margin:0;padding-right:2rem}.auth-signin-header h2{text-align:center;padding-right:0}.auth-provider-list{gap:.7rem;display:grid}.auth-provider-button-google{cursor:pointer;position:relative}.auth-provider-button-google.is-loading{opacity:.55;cursor:wait}.auth-provider-google-overlay{z-index:2;opacity:.001;border-radius:inherit;justify-content:stretch;align-items:stretch;display:flex;position:absolute;inset:0;overflow:hidden}.auth-provider-button-google.is-loading .auth-provider-google-overlay{pointer-events:none}.auth-provider-google-overlay>div{width:100%!important;height:100%!important}.auth-provider-google-overlay iframe{width:100%!important;min-height:100%!important;margin:0!important}.auth-provider-button{width:100%;min-height:54px;color:var(--cream);cursor:pointer;text-align:left;background:linear-gradient(#f4ead824,#f4ead80a),#191713f0;border:1px solid #d8a74f38;border-radius:999px;align-items:center;gap:.85rem;padding:.62rem .95rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;box-shadow:inset 0 1px #f4ead814,0 12px 28px #00000038}.auth-provider-button:hover:not(:disabled){border-color:#d8a74f7a;transform:translateY(-1px);box-shadow:inset 0 1px #f4ead81a,0 16px 34px #00000047}.auth-provider-button:active:not(:disabled){transform:translateY(0)}.auth-provider-button:disabled{opacity:.55;cursor:wait}.auth-provider-icon{border-radius:999px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.auth-provider-icon-google{color:#22352a;background:#f4ead8;font-family:Arial,sans-serif;font-size:1rem;font-weight:900;box-shadow:inset 0 0 0 1px #19171314}.auth-provider-icon-convai{background:#f4ead814;box-shadow:inset 0 0 0 1px #f4ead81a}.auth-provider-icon-convai img{object-fit:contain;width:24px;height:24px;display:block}.auth-provider-label{gap:.12rem;min-width:0;display:grid}.auth-provider-label strong{letter-spacing:.01em;font-family:Trebuchet MS,sans-serif;font-size:.9rem;font-weight:900}.auth-provider-label small{color:var(--muted);font-size:.74rem;line-height:1.3}.auth-signin-help{text-align:center;border-top:1px solid #f4ead814;gap:.45rem;margin-top:.1rem;padding-top:.8rem;display:grid}.auth-signin-help p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.auth-signin-help a{color:var(--gold)}.auth-signin-pending,.auth-signin-error{text-align:left;justify-items:start;gap:.65rem;display:grid}.auth-signin-success{text-align:center;justify-items:center;gap:.6rem;padding:.35rem 0 .15rem;display:grid}.auth-signin-success h2,.auth-signin-success .auth-signin-success-name,.auth-signin-success .gameover-status{text-align:center;padding-right:0}.auth-signin-success .auth-provider-tag{color:var(--gold);background:#d8a74f24;border-color:#d8a74f80}.auth-signin-spinner{border:3px solid #f4ead826;border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite authSigninSpin}@keyframes authSigninSpin{to{transform:rotate(360deg)}}.auth-signin-success-mark{width:58px;height:58px;color:var(--gold);background:radial-gradient(circle at 50% 35%,#d8a74f57,#d8a74f1a 70%);border:1px solid #d8a74f8c;border-radius:999px;place-items:center;font-size:1.5rem;font-weight:900;animation:.34s cubic-bezier(.2,1.3,.4,1) both authSuccessPop;display:grid;box-shadow:0 0 0 6px #d8a74f14,0 10px 26px #00000073}@keyframes authSuccessPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.auth-signin-success-name{color:var(--gold);margin:0;font-size:1.05rem;font-weight:800}.auth-signin-modal:has(.auth-signin-success){border-color:#d8a74f80;box-shadow:0 26px 70px #0009,inset 0 0 0 1px #d8a74f29}.save-modal{background:#191713f5;border:1px solid #d8a74f73;border-radius:14px;gap:.8rem;min-width:320px;max-width:420px;padding:1.5rem 1.6rem;display:grid;box-shadow:0 24px 64px #0000008c}.save-modal h2{color:var(--cream);margin:0;font-size:1.15rem}.save-modal-sub{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.save-modal-field{color:var(--cream);justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.save-modal-field select{color:var(--cream);background:#f4ead80f;border:1px solid #d8a74f59;border-radius:8px;padding:.35rem .6rem;font-size:.85rem}.save-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.coach-summary-stack{flex-direction:column;gap:.9rem;min-width:0;display:flex}.coaching-control-card{border-top:1px solid #f4ead814;flex-direction:column;gap:.55rem;margin-top:auto;padding:.85rem 0 .1rem;display:flex}.coaching-control-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.coaching-control-heading{margin:0}.coaching-control-info{width:20px;height:20px;color:var(--gold);cursor:help;-webkit-user-select:none;user-select:none;background:#d8a74f14;border:1px solid #d8a74f80;border-radius:50%;outline:none;place-items:center;font-size:.72rem;font-weight:800;display:inline-grid}.coaching-control-info:focus-visible{box-shadow:0 0 0 2px #d8a74f73}.coaching-control-sub{color:var(--muted);min-height:1.4em;margin:0;font-size:.75rem;line-height:1.4}.coaching-control-toggle{background:#19171399;border:1px solid #f4ead824;border-radius:12px;grid-template-columns:1fr 1fr;gap:0;padding:4px;display:grid;overflow:visible}.coaching-control-toggle .tooltip-trigger{width:100%;min-width:0;display:block}.coaching-control-toggle .coaching-control-option{box-sizing:border-box;width:100%}.coaching-control-option{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:.5rem .75rem;font-family:Trebuchet MS,sans-serif;font-size:.82rem;font-weight:800;transition:all .18s}.coaching-control-option:hover:not(.is-selected){color:var(--cream);background:#f4ead80d}.coaching-control-option.is-selected{color:#191713;background:linear-gradient(135deg,#d8a74ff2,#f2cf80);border-color:#0000;box-shadow:0 6px 18px #d8a74f40,inset 0 0 1px #fff6}.coaching-control-option:focus-visible{outline-offset:2px;outline:2px solid #d8a74f8c}.dataset-list-panel{flex-direction:column;gap:.6rem;min-height:0;display:flex}.dataset-loading-text,.dataset-empty-text{color:var(--muted);font-size:.85rem;line-height:1.5}.dataset-error-text{color:#ffd7d7}.dataset-scrollable{scrollbar-width:thin;scrollbar-color:#f4ead838 transparent;gap:.5rem;max-height:calc(100vh - 16rem);padding-right:.25rem;display:grid;overflow-y:auto}.dataset-scrollable::-webkit-scrollbar{width:4px}.dataset-scrollable::-webkit-scrollbar-track{background:0 0}.dataset-scrollable::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.dataset-scrollable::-webkit-scrollbar-thumb:hover{background:#f4ead873}.dataset-option-btn{text-align:left;width:100%;color:var(--cream);cursor:pointer;background:#f4ead80a;border:1px solid #f4ead81f;border-radius:10px;flex-direction:column;align-items:flex-start;padding:.65rem .85rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #0000001a}.dataset-option-btn:hover{background:#f4ead814;border-color:#d8a74f59;transform:translate(3px)}.dataset-option-btn.selected-option{background:#d8a74f26;border-color:#d8a74fb8;transform:translate(5px);box-shadow:0 4px 12px #d8a74f26}.dataset-option-row{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.dataset-option-row strong{color:var(--cream);font-size:.85rem}.dataset-option-row small{color:var(--muted);font-size:.7rem}.dataset-option-line{white-space:nowrap;text-overflow:ellipsis;width:100%;margin-top:4px;font-size:.75rem;overflow:hidden}.dataset-option-line.is-silent{color:var(--muted);font-style:italic}.dataset-option-line.is-spoken{color:var(--gold)}.dataset-clear-btn{margin-top:auto}.dataset-detail-layout{grid-template-columns:minmax(320px,480px) minmax(260px,480px);align-items:start;gap:1.5rem;display:grid}@media (width<=1100px){.dataset-detail-layout{grid-template-columns:1fr}}.dataset-board-wrap{justify-items:center;display:grid}.dataset-details-panel{gap:.9rem;padding:1.25rem;animation:.4s both riseIn;display:grid}.dataset-detail-title{color:var(--cream);justify-content:space-between;align-items:center;gap:.5rem;margin-top:4px;font-size:1.35rem;display:flex}.dataset-detail-meta{color:var(--muted);margin-top:.25rem;display:block}.dataset-detail-tags{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.dataset-mini-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--cream);background:#f4ead80f;border:1px solid #f4ead81f;border-radius:6px;padding:.22rem .55rem;font-size:.68rem;font-weight:800}.dataset-badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:.28rem .65rem;font-size:.72rem;font-weight:900;transition:all .25s}.badge-silent{color:var(--gold);background-color:#d8a74f29;border:1px solid #d8a74f66}.badge-speaking{color:#81c784;background-color:#4caf5029;border:1px solid #4caf5066}.dataset-detail-section{gap:4px;display:grid}.dataset-detail-label{color:var(--gold);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:800}.dataset-detail-text{color:var(--cream);background:#19171380;border:1px solid #f4ead814;border-radius:8px;max-height:110px;padding:.65rem;font-family:sans-serif;font-size:.8rem;line-height:1.4;overflow-y:auto}.dataset-detail-text.dataset-detail-mono{max-height:160px;color:var(--muted);padding:.75rem;font-family:monospace}.dataset-detail-text.dataset-detail-output{background:#d8a74f0d;border:1px solid #d8a74f26;min-height:60px;font-size:.85rem}.dataset-detail-text.dataset-detail-output.is-silent{font-style:italic}.dataset-detail-actions{gap:.5rem;margin-top:4px;display:flex}.dataset-delete-btn{width:100%;margin:0;padding:.65rem}.dataset-empty-pane{height:100%;min-height:200px;color:var(--muted);place-items:center;padding:2rem;font-size:.9rem;display:grid}.debug-copy-wrap{z-index:1;align-items:center;display:flex;position:relative}.dev-menu-wrap{align-items:center;display:flex;position:relative}.debug-copy-button.is-active{color:var(--gold);background:#d8a74f29;border-color:#d8a74f8c}.dev-menu-panel{z-index:200;width:306px;color:var(--cream);background:linear-gradient(#292219fc,#1a1712fc);border:1px solid #f4ead829;border-radius:14px;animation:.13s ease-out dev-menu-in;overflow:hidden;box-shadow:0 22px 50px #0000008c,0 0 0 1px #00000059}@keyframes dev-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dev-menu-head{color:var(--gold);letter-spacing:.13em;text-transform:uppercase;background:#d8a74f12;border-bottom:1px solid #f4ead81a;align-items:center;gap:.4rem;padding:.6rem .85rem;font-family:Trebuchet MS,sans-serif;font-size:.62rem;font-weight:800;display:flex}.dev-menu-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.85rem;padding:.8rem .85rem;transition:background .13s;display:flex}.dev-menu-row:hover{background:#f4ead80d}.dev-menu-row-text{flex:1;min-width:0}.dev-menu-row-title{color:var(--cream);font-family:Trebuchet MS,sans-serif;font-size:.8rem;font-weight:800;display:block}.dev-menu-row-desc{color:var(--muted);margin-top:.22rem;font-family:Trebuchet MS,sans-serif;font-size:.68rem;font-weight:500;line-height:1.42;display:block}.dev-switch{background:#0f0e0bbf;border:1px solid #f4ead833;border-radius:999px;flex:none;width:40px;height:23px;transition:background .15s,border-color .15s;position:relative}.dev-switch.is-on{background:#d8a74f57;border-color:#d8a74fb3}.dev-switch-knob{background:var(--muted);border-radius:50%;width:17px;height:17px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000080}.dev-switch.is-on .dev-switch-knob{background:var(--gold);transform:translate(17px)}.dev-menu-foot{letter-spacing:.02em;color:var(--muted);border-top:1px solid #f4ead81a;padding:.5rem .85rem .6rem;font-family:Trebuchet MS,sans-serif;font-size:.64rem;font-weight:700}.debug-copy-button{border:1px solid var(--panel-border);width:38px;height:38px;color:var(--cream);cursor:pointer;background:#f4ead81a;border-radius:12px;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.debug-copy-button svg{width:22px;height:22px}.debug-copy-button:hover{background:#f4ead829;border-color:#f4ead847}.debug-copy-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.debug-copy-tooltip{z-index:30;color:var(--cream);white-space:nowrap;pointer-events:none;background:#191713eb;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600;animation:1.4s forwards debug-tooltip-fade;position:absolute;top:calc(100% + 8px);right:50%;transform:translate(50%)}@keyframes debug-tooltip-fade{0%{opacity:1}60%{opacity:1}to{opacity:0}}.gameover-modal{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#191713f7;border:1px solid #d8a74f73;border-radius:18px;flex-direction:column;gap:.6rem;width:90%;max-width:360px;padding:2rem 2.5rem 1.75rem;display:flex}.gameover-result{color:var(--cream);font-family:Trebuchet MS,sans-serif;font-size:1.45rem;font-weight:900;line-height:1.2}.gameover-status{color:var(--muted);margin:0;font-size:.88rem}.gameover-actions{justify-content:center;gap:.65rem;margin-top:.5rem;display:flex}.gameover-actions .primary-action,.gameover-actions .ghost-action{flex:1}.analysis-shell{grid-template-columns:300px minmax(0,1fr)!important;align-items:start!important}.analysis-panel{background:var(--panel);border:1px solid var(--panel-border);max-height:calc(100vh - 90px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:thin;scrollbar-color:#f4ead838 transparent;border-radius:14px;flex-direction:column;gap:0;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.analysis-panel::-webkit-scrollbar{width:4px}.analysis-panel::-webkit-scrollbar-track{background:0 0}.analysis-panel::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.analysis-panel::-webkit-scrollbar-thumb:hover{background:#f4ead873}.analysis-header{border-bottom:1px solid #f4ead81a;margin-bottom:.25rem;padding-bottom:1rem}.analysis-header h2{color:var(--cream);margin:0 0 .2rem;font-family:Trebuchet MS,sans-serif;font-size:1.35rem;font-weight:900}.analysis-meta{color:var(--muted);margin:0;font-size:.85rem}.analysis-section{border-bottom:1px solid #f4ead812;padding:1rem 0}.analysis-section:last-child{border-bottom:none;padding-bottom:0}.section-hint{color:var(--muted);margin:-.2rem 0 .65rem;font-size:.78rem}.muted-text{color:var(--muted);margin:0;font-size:.88rem}.perf-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.5rem;display:grid}.perf-card{background:#f4ead80d;border:1px solid #f4ead81a;border-radius:10px;padding:1rem 1rem .85rem}.perf-score{color:var(--cream);font-family:Trebuchet MS,sans-serif;font-size:2.1rem;font-weight:900;line-height:1}.perf-label{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin:.3rem 0 .25rem;font-size:.7rem;font-weight:800}.perf-desc{color:var(--muted);font-size:.8rem}.error-badges{flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem;display:flex}.err-badge{border-radius:999px;padding:.2rem .55rem;font-size:.76rem;font-weight:700;display:inline-block}.err-badge.blunder{color:#f08080;background:#dc323238;border:1px solid #dc323261}.err-badge.mistake{color:#f0a870;background:#dc823238;border:1px solid #dc823261}.err-badge.inaccuracy{color:#ddd060;background:#d2be3233;border:1px solid #d2be3259}.err-badge.clean{color:#80d090;background:#50be642e;border:1px solid #50be644d}.error-legend{flex-direction:column;gap:.32rem;display:flex}.legend-item{color:var(--muted);align-items:center;gap:.45rem;font-size:.76rem;display:flex}.err-dot{border-radius:50%;flex:0 0 7px;width:7px;height:7px}.err-dot.blunder{background:#f08080}.err-dot.mistake{background:#f0a870}.err-dot.inaccuracy{background:#ddd060}.move-timeline{flex-wrap:wrap;align-items:center;gap:.2rem .1rem;margin-top:.5rem;display:flex}.move-pair{align-items:center;gap:.12rem;display:flex}.move-number-label{color:var(--muted);opacity:.45;text-align:right;min-width:1.8em;padding-right:.1rem;font-size:.68rem}.move-chip{cursor:pointer;color:var(--cream);background:#f4ead80f;border:1px solid #f4ead81f;border-radius:5px;padding:.28rem .5rem;font-family:monospace;font-size:.8rem;line-height:1;transition:background .12s,border-color .12s}.move-chip:hover{background:#f4ead821}.move-chip.selected{border-color:var(--gold);background:#cda04633}.move-chip.good{color:var(--cream);background:#f4ead80f}.move-chip.blunder{color:#f08080;background:#dc32322e;border-color:#dc323252}.move-chip.blunder.selected{background:#dc323259}.move-chip.mistake{color:#f0a870;background:#dc82322e;border-color:#dc823252}.move-chip.mistake.selected{background:#dc823259}.move-chip.inaccuracy{color:#ddd060;background:#d2be3224;border-color:#d2be3247}.move-chip.coach-chip{opacity:.52}.move-chip.coach-chip.selected{opacity:1}.move-detail-section{background:#f4ead808;border-radius:10px;margin:0 -.25rem;padding:1rem!important}.move-detail-layout{grid-template-columns:196px minmax(0,1fr);align-items:start;gap:1.25rem;margin-top:.75rem;display:grid}.mini-board-wrap{width:196px}.mini-board-viewport{background:#31251a;border:1px solid #f4ead829;border-radius:14px;width:178px;height:178px;overflow:hidden;box-shadow:inset 0 0 0 1px #1917136b}.mini-board-viewport .board-wrap.mini-board-focus{--board-size:300px;grid-template-columns:var(--board-size);grid-template-rows:var(--board-size);width:var(--board-size);pointer-events:none;transform:translate(var(--focus-x,0), var(--focus-y,0));border-radius:0;padding:0;transition:transform .18s}.mini-board-viewport .rank-labels,.mini-board-viewport .file-labels{display:none}.mini-board-viewport .chess-board{border-width:6px;border-radius:0}.mini-board-viewport .piece{text-shadow:0 2px #19171347,0 7px 12px #00000047;font-size:2.1rem}.mini-board-viewport .white-piece{text-shadow:0 2px #a97d47,0 7px 12px #00000047}.mini-board-viewport .black-piece{text-shadow:0 1px #ffebb93d,0 7px 12px #00000047}@media (width<=760px){.move-detail-layout{grid-template-columns:1fr}.mini-board-wrap{width:100%}}.move-detail-info{flex-direction:column;gap:.75rem;display:flex}.moment-info{color:var(--cream);border-radius:8px;padding:.65rem .9rem;font-size:.86rem;line-height:1.5}.moment-info.blunder{background:#dc32321a;border-left:3px solid #f08080}.moment-info.mistake{background:#dc82321a;border-left:3px solid #f0a870}.moment-info.inaccuracy{background:#d2be3217;border-left:3px solid #ddd060}.moment-info.good{background:#50be6414;border-left:3px solid #80d090}.better-move{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.better-move code{color:var(--cream);background:#f4ead81a;border-radius:3px;padding:.1em .35em;font-family:monospace}.guidance-area{flex-direction:column;gap:.5rem;display:flex}.coach-guidance-text{color:var(--cream);border-left:3px solid var(--gold);background:#f4ead812;border-radius:8px;margin:0;padding:.85rem 1rem;font-size:.88rem;line-height:1.55}.moment-item{cursor:pointer;background:#f4ead80a;border-radius:8px;margin-bottom:.5rem;padding:.75rem .9rem;transition:background .12s}.moment-item:hover{background:#f4ead814}.moment-item:last-child{margin-bottom:0}.moment-item.blunder{border-left:3px solid #f08080}.moment-item.mistake{border-left:3px solid #f0a870}.moment-item.inaccuracy{border-left:3px solid #ddd060}.moment-item.review{border-left:3px solid #f4ead847}.moment-header{align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.moment-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.12rem .45rem;font-size:.68rem;font-weight:800;display:inline-block}.moment-badge.blunder{color:#f08080;background:#dc323247}.moment-badge.mistake{color:#f0a870;background:#dc823247}.moment-badge.inaccuracy{color:#ddd060;background:#d2be323d}.moment-badge.review{color:var(--muted);background:#f4ead824}.moment-movenumber{color:var(--muted);font-size:.78rem}.moment-item p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.tips-list{flex-direction:column;gap:.45rem;margin:.4rem 0 0;padding-left:1.2rem;display:flex}.tips-list li{color:var(--muted);font-size:.86rem;line-height:1.5}:root{--viewport-h:100vh;--topbar-h:58px;--screen-edge:clamp(.55rem, 1.8vw, 1.25rem);--screen-gap:clamp(.45rem, 1.4vw, 1rem);--rail-w:clamp(220px, 21vw, 300px);--shell-gap:clamp(.65rem, 1.8vw, 1.75rem);--board-chrome:4.2rem}*{scrollbar-width:thin;scrollbar-color:#f4ead861 #19171347}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#19171347;border-radius:999px}::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#f4ead8b8,#d8a74f94)}html,body,#root,.game-screen,.menu-screen,.app-menu,.setup-panel{scrollbar-width:thin;scrollbar-color:#f4ead861 #19171347}html::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar{width:8px;height:8px}#root::-webkit-scrollbar{width:8px;height:8px}.game-screen::-webkit-scrollbar{width:8px;height:8px}.menu-screen::-webkit-scrollbar{width:8px;height:8px}.app-menu::-webkit-scrollbar{width:8px;height:8px}.setup-panel::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:#19171347}body::-webkit-scrollbar-track{background:#19171347}#root::-webkit-scrollbar-track{background:#19171347}.game-screen::-webkit-scrollbar-track{background:#19171347}.menu-screen::-webkit-scrollbar-track{background:#19171347}.app-menu::-webkit-scrollbar-track{background:#19171347}.setup-panel::-webkit-scrollbar-track{background:#19171347}html::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}body::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}#root::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}.game-screen::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}.menu-screen::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}.app-menu::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}.setup-panel::-webkit-scrollbar-thumb{background:linear-gradient(#f4ead880,#d8a74f6b);border:2px solid #19171347;border-radius:999px}.tooltip-trigger{align-items:center;max-width:100%;display:inline-flex}.app-tooltip{z-index:10000;min-width:160px;max-width:min(300px,100vw - 1.5rem);color:var(--cream);text-align:left;white-space:normal;word-break:normal;overflow-wrap:break-word;pointer-events:none;background:#191713f7;border:1px solid #d8a74f5c;border-radius:8px;padding:.45rem .65rem;font-family:Trebuchet MS,sans-serif;font-size:.72rem;font-weight:700;line-height:1.4;position:fixed;box-shadow:0 10px 28px #0000006b}.app-tooltip.is-wide{min-width:260px;max-width:min(360px,100vw - 1.5rem)}.api-key-badge{border:1px solid var(--panel-border);color:var(--muted);cursor:pointer;background:#f4ead814;border-radius:999px;align-items:center;gap:.4rem;margin-top:.65rem;padding:.35rem .65rem;font-family:ui-monospace,monospace;font-size:.72rem;display:inline-flex}.api-key-modal .api-key-steps{text-align:left;color:var(--muted);margin:.5rem 0 .75rem;padding-left:1.2rem;font-size:.82rem;line-height:1.45}.api-key-modal .api-key-steps a{color:var(--gold)}.api-key-field{text-align:left;flex-direction:column;gap:.35rem;width:100%;display:flex}.api-key-field input{border:1px solid var(--panel-border);width:100%;color:var(--cream);background:#f4ead812;border-radius:10px;padding:.55rem .7rem}.game-stage.your-turn-pulse{animation:1.1s ease-out your-turn-pulse}@keyframes your-turn-pulse{0%{box-shadow:0 0 #d8a74f8c}70%{box-shadow:0 0 0 14px #d8a74f00}to{box-shadow:0 0 #d8a74f00}}.confetti-burst{pointer-events:none;z-index:6;position:absolute;inset:0;overflow:hidden;container-type:size}.confetti-piece{opacity:.95;border-radius:2px;animation:linear forwards confetti-fall;position:absolute;top:-12px}.confetti-shape-1{border-radius:50%}@keyframes confetti-fall{0%{opacity:.95;transform:translate(0,0)rotate(0)}80%{opacity:.9}to{transform:translate3d(var(--confetti-drift,0px), 108cqh, 0) rotate(var(--confetti-spin,360deg));opacity:0}}@supports not (height:1cqh){@keyframes confetti-fall{0%{opacity:.95;transform:translate(0,0)rotate(0)}80%{opacity:.9}to{transform:translate3d(var(--confetti-drift,0px), 90vh, 0) rotate(var(--confetti-spin,360deg));opacity:0}}}.puzzle-result-chip{z-index:7;letter-spacing:.02em;pointer-events:none;border-radius:999px;padding:.55rem 1.1rem;font-weight:700;animation:.32s both riseIn;position:absolute;top:10%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.puzzle-result-chip.is-solved{color:#f4ead8;background:#1f8a6beb;border:1px solid #f4ead859}.puzzle-result-chip.is-wrong{color:#f4ead8;background:#9e3a33eb;border:1px solid #f4ead84d}.puzzle-board-stage{position:relative}.puzzle-board-stage.stage-solved{animation:1.2s ease-out stage-solved-pulse}@keyframes stage-solved-pulse{0%{box-shadow:0 0 #2eb28799}70%{box-shadow:0 0 0 16px #2eb28700}to{box-shadow:0 0 #2eb28700}}.puzzle-board-stage.stage-wrong{animation:.48s ease-in-out stage-wrong-shake}@keyframes stage-wrong-shake{0%{transform:translate(0);box-shadow:0 0 #be463c8c}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px);box-shadow:0 0 0 12px #be463c00}to{transform:translate(0);box-shadow:0 0 #be463c00}}.score-anchor{position:relative}.topbar-actions .score-anchor>span{box-shadow:none;background:0 0;border:none;padding:0;display:inline}.score-pop{color:var(--gold);pointer-events:none;white-space:nowrap;font-weight:700;animation:1.3s ease-out forwards score-pop-float;position:absolute;top:-.2rem;right:0}@keyframes score-pop-float{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-1.6rem)}}.score-bump{animation:.5s ease-out score-bump-pulse}@keyframes score-bump-pulse{0%{transform:scale(1)}35%{color:var(--gold);transform:scale(1.18)}to{transform:scale(1)}}.square.in-check{position:relative}.square.in-check:after{content:"";pointer-events:none;background:radial-gradient(circle,#be3c328c 0%,#be3c3200 70%);border-radius:50%;animation:1.2s ease-in-out infinite check-pulse;position:absolute;inset:8%}@keyframes check-pulse{0%,to{opacity:.55}50%{opacity:1}}.gameover-modal.is-victory{border:1px solid #d8a74fbf;box-shadow:0 0 44px #d8a74f47,0 18px 48px #00000080}.gameover-modal.is-defeat{border:1px solid #9e3a3399;box-shadow:0 18px 48px #0000008c}.gameover-ornament{margin-bottom:.35rem;font-size:2.4rem;line-height:1}.gameover-modal.is-victory .gameover-ornament{color:var(--gold);animation:.6s cubic-bezier(.34,1.56,.64,1) both ornament-pop}.gameover-modal.is-defeat .gameover-ornament{color:#f4ead873}@keyframes ornament-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.puzzle-intro-overlay{position:relative;overflow:hidden}@supports (height:100dvh){:root{--viewport-h:100dvh}}html,body,#root{min-height:var(--viewport-h);height:auto;max-height:none;overflow:hidden auto}body{min-height:var(--viewport-h);overflow:hidden auto}.game-screen,.menu-screen{min-height:var(--viewport-h);height:auto;max-height:none;overflow:hidden auto}.loading-screen{height:var(--viewport-h);min-height:0;max-height:var(--viewport-h);width:100vw;max-width:100vw;overflow:hidden}.game-screen.is-loading-cover-target{overflow:hidden!important}.app-shell{min-height:calc(var(--viewport-h) - var(--topbar-h));grid-template-columns:var(--rail-w) minmax(0, 720px) var(--rail-w);gap:var(--shell-gap);height:auto;padding-block:var(--screen-gap);overflow:visible}.topbar{height:var(--topbar-h);min-height:var(--topbar-h)}.topbar-actions{scrollbar-width:none;min-width:0;overflow-x:auto}.topbar-actions::-webkit-scrollbar{display:none}.board-wrap{--board-size:min(640px, calc(var(--viewport-h) - var(--topbar-h) - 5.5rem), calc(min(1376px, 100vw - 48px) - (2 * var(--rail-w)) - (2 * var(--shell-gap)) - var(--board-chrome)))}.coach-card{width:min(300px,100%);min-height:0;max-height:calc(var(--viewport-h) - var(--topbar-h) - (var(--screen-gap) * 2))}.character-window{min-height:0;position:relative}.character-window canvas{opacity:0;transition:opacity .22s}.character-window.is-ready canvas{opacity:1}@media (pointer:coarse),(width<=700px){.character-window canvas{opacity:1;width:100%;height:100%;transition:none}}.character-vignette{z-index:1;pointer-events:none;background:radial-gradient(#0000 58%,#0a08064d 100%);position:absolute;inset:0}.character-fallback-img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.character-loading{z-index:2;color:#1f1b16;text-align:center;background:linear-gradient(#d4dce8f5,#c6d1dff5);align-content:center;place-items:center;gap:.55rem;padding:1rem;font-family:Trebuchet MS,sans-serif;display:grid;position:absolute;inset:0}.character-loading-mark{color:#31251a;background:#1917131f;border-radius:999px;place-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:900;display:grid}.character-loading strong{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.character-window.has-error .character-loading{background:linear-gradient(#ead6d6,#dbc7c7)}.app-menu{height:var(--viewport-h);min-height:0;padding:var(--screen-edge);align-items:start;display:grid;position:fixed;inset:0;overflow:hidden auto}.menu-workspace{align-content:center;gap:var(--screen-gap);grid-template-rows:auto auto auto auto;width:min(1180px,100%);min-width:0;height:auto;min-height:0;max-height:none;margin-block:auto;display:grid;overflow:visible}.menu-heading,.mode-grid,.setup-panel,.mode-launch{min-width:0;max-width:100%}.menu-heading{--menu-heading-pad-y:clamp(.75rem, 2vh, 1.45rem);--menu-heading-pad-x:clamp(.9rem, 2vw, 1.7rem);min-height:0;padding:var(--menu-heading-pad-y) var(--menu-heading-pad-x)}.menu-heading h1{font-size:clamp(2rem,5vh,3.2rem)}.menu-heading p:not(.eyebrow){overflow-wrap:anywhere;margin:clamp(.35rem,1vh,.8rem) 0 0;font-size:clamp(.82rem,1.7vh,1rem);line-height:1.38}.mode-grid{align-self:start;gap:var(--screen-gap);min-height:0;max-height:100%}.mode-tile{min-height:clamp(76px,12vh,120px);padding:clamp(.55rem,1.4vh,.85rem)}.setup-panel{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f4ead838 transparent;align-self:start;min-width:0;height:fit-content;min-height:0;max-height:none;overflow:visible}.setup-panel::-webkit-scrollbar{width:4px}.setup-panel::-webkit-scrollbar-track{background:0 0}.setup-panel::-webkit-scrollbar-thumb{background:#f4ead838;border-radius:999px}.coach-picker,.difficulty-picker{gap:clamp(.45rem,1vh,.75rem);min-width:0}.coach-picker button,.difficulty-picker button{min-width:0;padding:clamp(.52rem,1.2vh,.85rem)}.mode-tile span,.coach-picker span,.difficulty-picker span{white-space:normal;min-width:0}.difficulty-note,.coach-summary p,.coach-summary small,.coaching-control-sub{overflow-wrap:anywhere}.setup-panel>*,.coach-summary-stack,.coach-summary,.coaching-control-card,.coaching-control-toggle,.setup-panel-coach{min-width:0}.setup-panel-coach{container:coach-panel/inline-size}@container coach-panel (width<=420px){.coach-picker{grid-template-columns:1fr}}@container coach-panel (width<=300px){.coach-picker button{text-align:center;grid-template-columns:1fr;justify-items:center}.coach-picker-label{text-align:center;align-items:center}}@media (width<=420px){.coach-picker{grid-template-columns:1fr}}@media (width<=360px){.difficulty-picker button{grid-template-columns:1fr}}.mode-launch{min-height:0;padding:.25rem 0 0}.menu-play{width:min(320px,100%);margin-top:0;padding:clamp(.78rem,1.8vh,1rem) 1.4rem}.training-layout,.games-layout{height:calc(var(--viewport-h) - var(--topbar-h));min-height:0;padding-block:var(--screen-gap);overflow:hidden}.puzzle-left-col,.replay-layout,.replay-panel,.games-list,.analysis-panel,.creator-layout,.creator-form,.dataset-list-panel,.dataset-details-panel{min-height:0}.games-list,.replay-panel,.analysis-panel,.creator-form,.dataset-list-panel,.dataset-details-panel{overscroll-behavior:contain;align-self:start;height:fit-content;max-height:100%;overflow-y:auto}.games-layout{grid-template-rows:minmax(0,1fr)}.replay-layout{align-self:stretch}.creator-layout{height:calc(var(--viewport-h) - var(--topbar-h) - (var(--screen-gap) * 2));overflow:hidden}.puzzle-intro-overlay{height:calc(var(--viewport-h) - var(--topbar-h));min-height:0;padding:var(--screen-edge);overflow:hidden}.puzzle-intro-card{height:fit-content;max-height:100%;overflow-y:auto}.loading-screen{padding:var(--screen-edge);gap:clamp(.65rem,2vh,1.2rem)}.loading-screen h1{font-size:clamp(2.4rem,9vh,6.8rem)}.loading-pieces{font-size:clamp(1.55rem,5vh,2.4rem)}@media (width>=1500px) and (height>=820px){:root{--screen-edge:clamp(1.25rem, 2.4vw, 2.2rem);--screen-gap:clamp(1rem, 1.7vh, 1.45rem)}.menu-workspace{width:min(1360px, calc(100vw - (var(--screen-edge) * 2)))}.games-layout{width:min(1520px, calc(100vw - (var(--screen-edge) * 2)));grid-template-columns:360px minmax(0,1fr)}.replay-layout{grid-template-columns:minmax(0,auto) 360px}.replay-layout .board-wrap{--board-size:min(74vmin, 780px, calc(min(1520px, 100vw - (var(--screen-edge) * 2)) - 825px))}.menu-heading{--menu-heading-pad-y:clamp(1.35rem, 2.3vh, 2.1rem);--menu-heading-pad-x:clamp(1.45rem, 2.5vw, 2.2rem)}.menu-heading h1{font-size:clamp(3.2rem,5.4vh,4.35rem)}.menu-heading p:not(.eyebrow){font-size:clamp(1rem,1.5vh,1.18rem)}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.mode-tile{min-height:clamp(124px,13vh,158px);padding:clamp(.95rem,1.55vh,1.2rem)}.setup-panel{padding:clamp(1.15rem,1.8vh,1.45rem)}.coach-picker,.difficulty-picker{gap:clamp(.75rem,1.25vh,1rem)}.coach-picker button,.difficulty-picker button{padding:clamp(.85rem,1.35vh,1.05rem)}.coach-summary{padding-left:clamp(1.1rem,1.6vw,1.45rem)}.menu-play{width:min(390px,100%);padding:clamp(.95rem,1.7vh,1.18rem) 1.6rem}}@media (width>=2100px) and (height>=1000px){.menu-workspace{width:min(1680px, calc(100vw - (var(--screen-edge) * 2)))}.menu-heading{padding:clamp(1.7rem,2.6vh,2.45rem) clamp(1.9rem,2.8vw,2.7rem)}.menu-heading h1{font-size:clamp(4rem,5.7vh,5rem)}.menu-heading p:not(.eyebrow){font-size:clamp(1.12rem,1.45vh,1.28rem)}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.mode-tile{min-height:clamp(152px,12vh,188px);padding:clamp(1.1rem,1.55vh,1.35rem)}.setup-panel{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(340px,.78fr);padding:clamp(1.35rem,1.85vh,1.7rem)}.menu-play{width:min(440px,100%)}}@media (height<=720px){.menu-workspace{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;height:100%}.menu-heading p:not(.eyebrow){display:none}.mode-tile strong,.coach-picker small,.difficulty-picker small,.coach-summary small{font-size:.72rem}.coach-summary p,.difficulty-note,.coaching-control-sub{line-height:1.3}.setup-panel{max-height:100%;padding:.75rem;overflow-y:auto}}@media (height<=620px){:root{--topbar-h:50px;--screen-gap:.45rem}.eyebrow{margin-bottom:.25rem;font-size:.64rem}.mode-tile{min-height:62px}.mode-tile strong,.coach-summary p,.coaching-control-sub{display:none}.menu-play{border-radius:14px}.loading-screen small{display:none}}@media (width<=980px){.app-shell,.training-layout,.games-layout,.replay-layout,.analysis-shell{grid-template-columns:1fr!important}.app-shell{min-height:calc(var(--viewport-h) - var(--topbar-h));grid-template-rows:auto minmax(0,1fr) auto;align-items:start;height:auto;overflow:visible}.game-stage{min-height:0}.board-wrap{--board-size:min(640px, calc(min(1376px, 100vw - 48px) - var(--board-chrome)), calc(var(--viewport-h) - var(--topbar-h) - clamp(150px, 30vh, 250px) - clamp(132px, 22vh, 200px) - 6rem))}.coach-card{width:min(100%,520px);max-height:clamp(150px,30vh,250px);position:static}.character-window{flex-basis:clamp(96px,17vh,156px);height:clamp(96px,17vh,156px)}.character-caption{flex-basis:48px;height:48px}.coach-line-wrap{max-height:60px}.side-panel{grid-column:auto;grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-height:0;max-height:clamp(132px,22vh,200px);overflow:hidden}.side-panel .panel-card{min-height:0}.side-panel .turn-card-body.is-scrollable,.side-panel .panel-card.move-card{overflow-y:auto}.analysis-shell{grid-template-rows:auto minmax(0,1fr)}.analysis-panel{max-height:none}}@media (width<=980px) and (width>=581px){.game-screen{min-height:var(--viewport-h);overscroll-behavior-y:contain;height:auto;max-height:none;overflow:hidden auto}.app-shell{grid-template-rows:auto auto auto}.board-wrap{--board-size:min(640px, calc(100vw - 3.5rem))}.coach-card{max-height:none}.side-panel{max-height:none;overflow:visible}.side-panel .panel-card,.turn-card,.move-card{overflow:visible}}@media (width<=820px){:root{--topbar-h:52px;--screen-edge:.6rem;--screen-gap:.5rem}.topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:.4rem;padding:0 .55rem;display:grid}body:has(.auth-control) .topbar{padding-right:.55rem}.auth-control{top:3.1rem;right:.55rem}.auth-user-menu{width:auto}.auth-avatar-button{width:36px;min-height:36px;padding:.26rem}.auth-avatar-button img,.auth-avatar-button svg{flex-basis:24px;width:24px;height:24px}.menu-auth-slot .auth-user-menu{width:auto}.menu-auth-slot .auth-avatar-button{width:auto;max-width:min(9.5rem,34vw);padding:.26rem .58rem .26rem .34rem}.topbar h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(.95rem,4vw,1.15rem);position:static;overflow:hidden;transform:none}.topbar button,.topbar span:not(.tooltip-trigger){border-radius:10px;padding:0 .55rem;font-size:.7rem}.topbar-actions{justify-content:flex-end;gap:.35rem}.app-shell{min-height:calc(var(--viewport-h) - var(--topbar-h));max-width:100vw;height:auto;padding:var(--screen-gap) var(--screen-edge);grid-template-rows:auto minmax(0,1fr) auto;overflow:visible}.game-stage{min-height:0}.board-wrap{--board-size:min(calc(100vw - 3.4rem), calc(var(--viewport-h) - var(--topbar-h) - 15.5rem));width:fit-content;max-width:100%;padding:.55rem}.side-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;max-height:clamp(126px,22vh,190px);display:grid;overflow:hidden}.panel-card{border-radius:14px;padding:.72rem}.turn-card,.move-card{overflow-y:auto}.turn-card h2{font-size:1.05rem}.turn-card p{font-size:.78rem;line-height:1.35}.primary-action,.ghost-action{border-radius:12px;margin-top:.45rem;padding:.62rem .72rem;font-size:.74rem}.coach-card{border-radius:14px;width:min(100%,420px);max-height:clamp(122px,22vh,190px);position:static}.character-window{flex-basis:clamp(78px,15vh,132px);height:clamp(78px,15vh,132px)}.character-caption{flex-basis:44px;height:44px;padding:0 .75rem}.character-caption strong{font-size:.78rem}.character-caption span{font-size:.68rem}.coach-line-wrap{max-height:56px}.coach-line{padding:.65rem .8rem;font-size:.82rem;line-height:1.35}.training-layout{width:100vw;padding:var(--screen-gap) var(--screen-edge);grid-template-rows:auto minmax(0,1fr)}.puzzle-left-col{grid-template-columns:minmax(0,1fr) minmax(112px,.42fr);align-items:stretch;gap:.5rem;display:grid}.puzzle-left-col .coach-card{grid-row:1/span 2}.puzzle-theme-label{padding:.5rem}.puzzle-theme-label strong{font-size:.78rem}.puzzle-actions{gap:.35rem}.training-layout .board-wrap{--board-size:min(calc(100vw - 3.4rem), calc(var(--viewport-h) - var(--topbar-h) - 12.5rem))}.games-layout{width:100vw;padding:var(--screen-gap) var(--screen-edge);grid-template-rows:minmax(92px,26vh) minmax(0,1fr)}.replay-layout{grid-template-rows:auto minmax(0,1fr);align-items:stretch}.replay-layout .board-wrap{--board-size:min(calc(100vw - 3.4rem), 38vh)}.creator-layout{width:100vw;padding:var(--screen-gap) var(--screen-edge);margin:0}.save-modal{width:min(420px,100vw - 2rem);min-width:0}.debug-copy-wrap{position:relative;inset:auto}}@media (width<=580px){.menu-workspace{grid-template-rows:auto minmax(0,.72fr) minmax(0,1fr) auto;align-content:stretch;height:100%}.mode-grid{overscroll-behavior:contain;padding-right:.1rem;overflow-y:auto}.mode-tile{min-height:58px}.setup-panel{grid-template-columns:1fr;max-height:100%;overflow-y:auto}.coach-picker,.coach-picker button,.difficulty-picker button{grid-template-columns:1fr}.coach-summary{padding-top:.65rem}.coaching-control-card{padding-top:.6rem}.side-panel{grid-template-columns:1fr;max-height:clamp(132px,24vh,178px)}.move-card{display:none}.puzzle-left-col{grid-template-columns:1fr}.puzzle-left-col .coach-card{grid-row:auto;max-height:clamp(104px,18vh,150px)}.training-layout .board-wrap,.board-wrap{--board-size:min(calc(100vw - 2.6rem), calc(var(--viewport-h) - var(--topbar-h) - 13.25rem))}.topbar-actions span{display:none}.topbar-actions span:first-child{display:inline-flex}}@media (width<=820px) and (width>=581px){.game-screen{min-height:var(--viewport-h);overscroll-behavior-y:contain;height:auto;max-height:none;overflow:hidden auto}.app-shell{min-height:calc(var(--viewport-h) - var(--topbar-h));grid-template-rows:auto auto auto;align-items:start;height:auto;overflow:visible}.board-wrap{--board-size:min(640px, calc(100vw - 3.5rem))}.coach-card,.side-panel{max-height:none}.side-panel,.side-panel .panel-card,.turn-card,.move-card{overflow:visible}}@media (width<=767px) and (orientation:portrait){p,h1,h2,strong,span,small,button{overflow-wrap:anywhere}.topbar,.app-shell,.coach-card,.game-stage,.side-panel,.panel-card,.board-wrap,.menu-workspace,.menu-heading,.mode-grid,.setup-panel{max-width:100%}.app-menu{overflow-x:hidden}.menu-heading h1{font-size:clamp(2rem,10vw,2.9rem)}.menu-heading p:not(.eyebrow){font-size:clamp(.82rem,4vw,.95rem);line-height:1.35}.game-screen{height:var(--viewport-h);overscroll-behavior-y:contain;max-height:none;overflow:hidden auto}.topbar{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#11120fe0;grid-template-columns:auto minmax(0,1fr) auto;width:100%;min-width:0;padding:0 .7rem;position:sticky;top:0}body:has(.auth-control) .topbar{padding-right:.7rem}.topbar h1{font-size:clamp(1rem,5vw,1.25rem)}.topbar-actions{justify-content:flex-end;max-width:none;overflow:visible}.topbar button,.topbar span:not(.tooltip-trigger){white-space:nowrap;min-width:0;height:36px;padding:0 .5rem}.topbar-actions span:not(.tooltip-trigger){max-width:6.5rem;display:inline-flex;overflow:hidden}.topbar-actions .debug-copy-button{width:36px;height:36px}.app-shell{width:100%;max-width:100%;height:auto;min-height:calc(var(--viewport-h) - var(--topbar-h));padding:.75rem max(.75rem, env(safe-area-inset-right)) 1rem max(.75rem, env(safe-area-inset-left));grid-template-rows:auto auto auto;align-items:start;gap:.75rem;display:grid;overflow:visible;grid-template-columns:minmax(0,1fr)!important}.app-shell>.coach-card{order:1}.app-shell>.game-stage{order:2}.app-shell>.side-panel{order:3}.coach-card{border-radius:18px;justify-self:center;width:min(100%,560px);max-height:none}.character-window{flex-basis:clamp(190px,34vh,280px);height:clamp(190px,34vh,280px)}.character-caption{flex-basis:auto;height:auto;min-height:48px;padding:.6rem .85rem}.coach-line-wrap{max-height:96px}.game-stage{justify-content:center;align-items:center;width:100%;min-height:auto;display:flex;overflow:visible}.board-wrap{--board-size:min(calc(100vw - 3.7rem), 420px);grid-template-columns:.8rem var(--board-size);grid-template-rows:var(--board-size) .7rem;border-radius:20px;gap:.35rem;width:fit-content;max-width:100%;margin:0 auto;padding:.55rem}.chess-board{border-width:5px;border-radius:16px}.piece{font-size:clamp(1.75rem,11vw,3.2rem)}.side-panel{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);justify-self:center;gap:.75rem;width:min(100%,560px);max-height:none;display:grid;overflow:visible}.turn-card,.move-card{width:100%;overflow:visible}.turn-card h2{font-size:clamp(1.35rem,6vw,1.8rem)}.turn-card p{font-size:.9rem}.turn-card .primary-action,.turn-card .ghost-action{width:100%;min-height:48px;margin-top:.6rem;font-size:.9rem}.move-card{min-height:150px;max-height:260px;display:grid}.move-card ol{min-height:92px}.debug-copy-wrap{position:relative;inset:auto}.debug-copy-button{width:42px;height:42px}}@media (width<=380px),(height<=580px){.loading-pieces{display:none}.menu-heading{padding:.65rem .8rem}.menu-heading h1{font-size:clamp(1.75rem,4.7vh,2.35rem)}.setup-panel{padding:.55rem}.coach-picker,.difficulty-picker{gap:.35rem}.coach-picker button,.difficulty-picker button,.mode-tile{padding:.5rem}.menu-play{padding:.72rem 1rem}}@media (height<=620px) and (width>=700px){.app-shell{grid-template-rows:minmax(0,1fr);align-items:center;grid-template-columns:minmax(170px,240px) minmax(0,1fr) minmax(170px,240px)!important}.board-wrap{--board-size:min(640px, calc(var(--viewport-h) - var(--topbar-h) - 1.2rem), calc(min(1376px, 100vw - 48px) - (240px * 2) - (var(--shell-gap) * 2) - var(--board-chrome)))}.analysis-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(170px,240px) minmax(0,1fr)!important}.coach-card{width:min(240px,100%);max-height:calc(var(--viewport-h) - var(--topbar-h) - .7rem)}.character-window{flex-basis:clamp(116px,48vh,210px);height:clamp(116px,48vh,210px)}.character-caption{flex-basis:42px;height:42px}.side-panel{max-height:calc(var(--viewport-h) - var(--topbar-h) - .7rem);grid-column:auto;grid-template-rows:minmax(0,auto) minmax(0,1fr);grid-template-columns:1fr;width:min(240px,100%)}.training-layout{grid-template-rows:minmax(0,1fr);align-items:center;grid-template-columns:minmax(180px,280px) minmax(0,1fr)!important}.puzzle-left-col{align-self:stretch;overflow-y:auto}.games-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(190px,280px) minmax(0,1fr)!important}.replay-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(220px,42vw) minmax(190px,1fr)!important}}
