:root{--page-background: #f1f4f8;--page-glow-start: #cbdcf1;--page-glow-end: #e2dcee;background:var(--page-background)}:root[data-theme=dark]{--page-background: #101827;--page-glow-start: #243c5e;--page-glow-end: #28243f}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 0% 0%,var(--page-glow-start) 0,transparent 60%),radial-gradient(ellipse at 100% 100%,var(--page-glow-end) 0,transparent 65%),var(--page-background)}.settings-drawer{--settings-surface: #f2f5f9;--settings-text: #23354d;--settings-muted: #586b83;--settings-border: #dce3ec;--settings-control: #8a9ab0;--settings-accent: var(--theme-purple);--settings-icon: #455d79;--settings-input-border: #ced8e5}[data-theme=dark] .settings-drawer{--settings-surface: #1c2b43;--settings-text: #e4edf9;--settings-muted: #afc0d7;--settings-border: #34465f;--settings-control: #8194b0;--settings-accent: var(--theme-purple);--settings-icon: #cbd8e9;--settings-input-border: #435772}.MuiDrawer-paper.settings-drawer{background:var(--settings-surface);color:var(--settings-text);border-left:1px solid var(--settings-border);box-shadow:-12px 0 40px #0c1b3020}.settings-drawer .MuiFormLabel-root{color:var(--settings-muted)}.settings-drawer .MuiRadio-root{color:var(--settings-control)}.settings-drawer .MuiRadio-root.Mui-checked,.settings-drawer .MuiSwitch-switchBase.Mui-checked,.settings-drawer .MuiSlider-root:not(.Mui-disabled){color:var(--settings-accent)}.settings-drawer .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:var(--settings-accent)}.settings-drawer .MuiIconButton-root{color:var(--settings-icon)}.settings-drawer .board-palette-swatch-selected,.settings-drawer .piece-set-selected{outline-color:var(--settings-accent)}.settings-drawer .MuiOutlinedInput-notchedOutline{border-color:var(--settings-input-border)}.language-selector{flex-shrink:0}.language-selector .language-trigger{display:flex;align-items:center;gap:6px;width:84px;min-width:84px;min-height:44px;padding:6px;border:1px solid var(--line, #e4e8eb);border-radius:10px;color:var(--navy, #132837);background:transparent;font-size:12px;font-weight:700;line-height:1}.language-flag{display:inline-flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;font-size:20px;line-height:1}.language-code{color:var(--muted, #657580);font-size:11px}.language-check{width:16px;display:inline-flex}.language-selector-auth{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}.language-selector-auth .language-trigger{color:#f4f0e7;border-color:#dbc38840;background:#ffffff08}.language-selector-auth .language-trigger:hover{border-color:#dbc38880;background:#ffffff10}@media(max-width:600px){.language-selector-auth{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.auth-stage:has(.language-selector-auth) .auth-layout{padding-top:72px}}.not-found-page,.not-found-shell{--not-found-bg: #fbfaf7;--not-found-ink: #17253f;--not-found-muted: #5e687b;--not-found-line: #e7e7e6;--not-found-grid: #eae6dc;--not-found-numeral: #e7e3d9;--not-found-gold: #94600a;--not-found-glow: #f6e6bf;color:var(--not-found-ink);background:var(--not-found-bg)}[data-theme=dark] :is(.not-found-page,.not-found-shell){--not-found-bg: #101827;--not-found-ink: #f1f3fa;--not-found-muted: #aebbd0;--not-found-line: #2b3649;--not-found-grid: #293449;--not-found-numeral: #344059;--not-found-gold: #edbc61;--not-found-glow: #b7882224}.not-found-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:570px;padding:24px 20px 52px;text-align:center;isolation:isolate}.workspace:has(>.main-content>.not-found-page),.not-found-shell{display:flex;flex-direction:column;min-height:100dvh}.main-content:has(>.not-found-page),.not-found-shell>main{display:flex;flex:1;flex-direction:column}.app-shell .main-content:has(>.not-found-page){width:100%;max-width:none;margin:0;padding:0}.main-content>.not-found-page,.not-found-shell>main>.not-found-page{flex:1}.workspace:has(>.main-content>.not-found-page)>.topbar,.not-found-header{flex-shrink:0}.not-found-art{position:relative;display:grid;place-items:center;width:min(100%,490px);min-height:282px;flex-shrink:0}.not-found-halo{position:absolute;width:min(100%,310px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--not-found-glow),transparent 70%)}.not-found-board{position:absolute;width:70%;height:120px;bottom:-6px;opacity:.6;transform:perspective(500px) rotateX(58deg) rotate(-18deg);background:repeating-conic-gradient(var(--not-found-grid) 0% 25%,transparent 0% 50%) 0 0 / 64px 64px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 71%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 71%)}.not-found-numerals{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;font-size:clamp(140px,24vw,220px);font-weight:800;line-height:.9;letter-spacing:-12px;color:var(--not-found-numeral)}.not-found-page .not-found-mascot{position:relative;z-index:1;display:grid;place-items:center;width:min(78%,275px);height:auto;min-height:44px;padding:0;border:0;border-radius:20px;background:transparent;box-shadow:none}.not-found-page .not-found-mascot:hover{background:transparent}.not-found-mascot img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 14px #291a0810)}.not-found-page .not-found-eyebrow{margin:20px 0 14px;font-size:11px;font-weight:700;line-height:1.6;letter-spacing:2px;text-transform:uppercase;color:var(--not-found-muted)}.not-found-eyebrow b{color:var(--not-found-gold)}.not-found-page h1{max-width:100%;margin:0;font-size:clamp(30px,4.2vw,40px);font-weight:750;line-height:1.15;letter-spacing:-1.5px;text-wrap:balance;overflow-wrap:anywhere;color:var(--not-found-ink)}.not-found-page .not-found-description{margin:14px 0 25px;max-width:400px;font-size:14px;line-height:1.7;color:var(--not-found-muted)}.not-found-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:100%}.not-found-page .not-found-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;max-width:100%;padding:10px 15px;border:1px solid var(--not-found-line);border-radius:10px;background:transparent;color:var(--not-found-ink);font-size:13px;font-weight:650;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}.not-found-action svg{flex-shrink:0;width:17px;height:17px}.not-found-page .not-found-primary{border-color:var(--not-found-ink);background:var(--not-found-ink);color:var(--not-found-bg);box-shadow:0 4px 12px #17253f12}.not-found-page .not-found-action:hover{border-color:var(--not-found-muted);filter:brightness(.94)}.not-found-header{padding:28px 40px 12px}.not-found-brand{display:inline-grid;gap:5px;text-align:center;text-decoration:none;color:var(--not-found-ink)}.not-found-brand span{font:500 27px/1 Georgia,serif;letter-spacing:-.8px}.not-found-brand small{color:var(--not-found-gold);font-size:10px;font-weight:700;letter-spacing:4px;padding-left:4px}@media(max-width:480px){.not-found-page{min-height:540px;padding:14px 14px 36px}.not-found-art{min-height:252px}.not-found-numerals{font-size:clamp(130px,39vw,190px);letter-spacing:-8px}.not-found-page h1{font-size:31px}.not-found-page .not-found-eyebrow{letter-spacing:1.5px}.not-found-page .not-found-action{font-size:12px;padding-inline:11px}.not-found-actions{gap:8px}.not-found-header{padding:25px 24px 12px}}@font-face{font-family:Newsreader;src:url(/static/assets/newsreader-latin-ext-C-3rgBeH.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;src:url(/static/assets/newsreader-latin-CCVVNp6i.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.auth-stage{--auth-gold: #dbc388;position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;color:#f4f0e7;background:radial-gradient(ellipse at 28% 38%,#1c2e42,#0d1723 48%,#080e16 85%);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.auth-stage a:focus-visible,.auth-stage button:focus-visible{outline:2px solid #b28b3f;outline-offset:4px}.auth-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.auth-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080e16b3,transparent 36%,#080e1622)}.auth-board-grid{position:absolute;left:-25%;bottom:-32%;width:135%;height:65%;background-image:linear-gradient(#b9cbd012 1px,transparent 1px),linear-gradient(90deg,#b9cbd012 1px,transparent 1px);background-size:90px 90px;transform:perspective(460px) rotateX(55deg) rotate(-15deg);-webkit-mask-image:radial-gradient(ellipse,#000,transparent 65%);mask-image:radial-gradient(ellipse,#000,transparent 65%)}.auth-knight{position:absolute;width:clamp(220px,24vw,390px);bottom:3%;color:#a7b4c5;opacity:.62;-webkit-mask-image:linear-gradient(#000 55%,transparent 98%);mask-image:linear-gradient(#000 55%,transparent 98%)}.auth-knight-left{left:-5%;transform:rotate(-9deg)}.auth-knight-right{left:36%;bottom:9%;width:clamp(140px,17vw,270px);transform:scaleX(-1) rotate(-8deg);opacity:.27}.auth-smoke{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.auth-fog{position:absolute;inset:40% -25% -12%;background:radial-gradient(ellipse at 22% 63%,#87a6bc60,transparent 30%),radial-gradient(ellipse at 65% 75%,#8a9bba55,transparent 36%);filter:blur(28px);animation:auth-fog-drift 15s ease-in-out infinite alternate}[data-smoke-ready=true] .auth-fog{display:none}[data-paused=true] .auth-fog{animation-play-state:paused}@keyframes auth-fog-drift{to{transform:translate3d(8%,-6%,0) scale(1.12)}}.auth-layout{width:min(1160px,100%);margin:auto;padding:36px 40px 84px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(44px,7vw,104px)}.auth-story{text-align:center}@media(min-width:701px){.auth-story{position:relative;top:-24px}}@media(min-width:701px)and (min-height:650px){.auth-layout{position:relative;top:-20px}}.auth-founder{color:#bac5cf;font-size:12px;margin:0 0 22px}.auth-founder span{color:var(--auth-gold);margin-right:5px;font-size:11px}.auth-story h1{margin:0;font-weight:400}.auth-title{display:block;font-family:Newsreader,Georgia,serif;font-weight:350;font-size:clamp(66px,6.8vw,102px);letter-spacing:-.045em;line-height:1}.auth-subtitle{display:block;margin-top:16px;padding-left:.3em;color:var(--auth-gold);font-size:clamp(24px,2.8vw,38px);font-weight:400;line-height:1.3;letter-spacing:.3em;text-transform:uppercase}.auth-story-detail{margin:0 auto;max-width:340px;color:#b4c0cc;font-size:13px;line-height:1.8;text-wrap:balance}.auth-story h1+.auth-story-detail{margin-top:34px}.auth-heading-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-panel .auth-feedback{position:absolute;top:100%;inset-inline:0;min-height:68px;justify-content:center}.auth-signature{margin:24px 0 0;color:var(--auth-gold);font-family:Newsreader,Georgia,serif;font-size:19px}.auth-panel{position:relative;min-width:0}.auth-card{position:relative;border:1px solid var(--theme-border, #ffffffbb);border-top:3px solid var(--auth-gold);border-radius:20px;padding:34px 34px 28px;background:var(--theme-surface, #faf9f6);color:var(--theme-text, #182e3a);box-shadow:0 24px 80px #0003,0 0 60px #c4d4de06}.auth-card h2{margin:0 0 24px;font-size:27px;letter-spacing:-.9px;line-height:1.25;font-weight:750;text-wrap:balance}.auth-card h2.auth-parent-heading{margin-bottom:24px;font-size:20px;letter-spacing:-.4px;text-align:center;color:var(--theme-gold-text, #806326)}.auth-card>p{color:var(--theme-muted, #657580);font-size:12px;line-height:1.7;margin:-12px 0 24px}.auth-status{min-height:76px;display:flex;align-items:center}.auth-status .notice{width:100%;margin:4px 0;padding:8px 10px;font-size:11px;line-height:1.5}.auth-card input{background:var(--theme-surface, #fff);min-height:48px;border-color:var(--theme-border, #d8dee0);border-radius:9px}.auth-card input:focus{border-color:var(--theme-gold-border, #9d7d41);outline:2px solid #b89b5e33;outline-offset:1px}.auth-card label{font-size:12px}.auth-card button.primary,.auth-card .button.primary{min-height:49px;margin-top:8px;width:100%;justify-content:center;gap:8px;background:#e3ca8f;border-color:#e3ca8f;color:#132837}.auth-card button.primary:hover,.auth-card .button.primary:hover{background:#f0dcae;border-color:#f0dcae}.auth-card .auth-submit:disabled{opacity:1}.auth-card form[aria-busy=true] .auth-submit{cursor:progress}.auth-recovery{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;font-size:12px;font-weight:650;color:var(--theme-text, #263f50)}.auth-recovery:hover{text-decoration:underline;text-underline-offset:4px}.auth-area-switch{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin-top:17px;padding:8px 4px;color:#d3dbe1;font-size:12px;font-weight:550}.auth-area-switch>svg{flex-shrink:0}.auth-area-switch:hover{color:var(--auth-gold)}.auth-footer{padding:10px 24px 22px;color:var(--theme-muted, #94a5b5);font-size:10px;text-align:center}@media(max-width:900px){.auth-layout{padding-inline:28px;gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.auth-card{padding-inline:25px}.auth-title{font-size:70px}}@media(max-width:700px){.auth-layout{grid-template-columns:minmax(0,1fr);max-width:480px;padding:22px 22px 18px;gap:28px}.auth-story{padding:0}.auth-identity,.auth-story-detail{display:none}.auth-signature{margin-top:16px;font-size:17px}.auth-title{font-size:59px}.auth-subtitle{font-size:21px;margin-top:8px}.auth-card{padding:25px 25px 22px;border-radius:16px}.auth-card h2{font-size:24px}.auth-status{min-height:72px}.auth-knight-left{width:210px;left:-65px;top:75px;bottom:auto;opacity:.45}.auth-knight-right{width:155px;inset:105px -30px auto auto}.auth-smoke{opacity:.5}.auth-area-switch{margin-top:12px;font-size:11px}.auth-footer{padding-bottom:18px}}@media(max-width:360px){.auth-layout{padding-inline:15px}.auth-card{padding-inline:20px}}@media(max-height:700px)and (min-width:701px){.auth-layout{padding-block:15px}.auth-founder{margin-bottom:18px}.auth-title{font-size:76px}}@media(prefers-reduced-motion:reduce){.auth-fog{animation:none}}.person-name{display:inline-flex;align-items:baseline;gap:5px;min-width:0;max-width:100%;vertical-align:baseline}.person-name-text{min-width:0;overflow-wrap:anywhere}.person-name--truncate .person-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chess-title{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:2px 5px;border-radius:4px;font-size:11px;font-weight:800;line-height:1.4;white-space:nowrap;background:#e7e9ed;color:#435261}.chess-title[data-title=GM],.chess-title[data-title=WGM]{background:#f6dc7f;color:#493500}.chess-title[data-title=IM]{background:#f0dce4;color:#792e4b}.chess-title[data-title=FM]{background:#dce8f5;color:#28547c}.chess-title[data-title=CM]{background:#dfecdf;color:#31634d}.chess-title[data-title=WIM]{background:#e9dff5;color:#654087}.chess-title[data-title=WFM]{background:#f3dff0;color:#843d78}.chess-title[data-title=WCM]{background:#f6e3d4;color:#8a4b24}.app-shell .topbar{gap:16px}.header-progress{display:flex;align-items:center;gap:12px;width:248px;min-width:0;height:44px;color:var(--navy)}.header-level-ring{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:conic-gradient(var(--gold) var(--level-progress),var(--line) 0)}.header-level-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--theme-surface, #fff);font-size:14px;font-variant-numeric:tabular-nums}.header-progress-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.header-progress-person{display:flex;align-items:center;gap:4px;line-height:14px}.header-progress-person .person-name{align-items:center;gap:4px}.header-progress-person .chess-title{flex-shrink:0;margin:0;padding:0 3px;font-size:10px;line-height:13px}.header-level-name{font-size:12px;line-height:16px;font-weight:600;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-progress-summary{display:flex;align-items:center;gap:6px;min-width:0}.header-level-xp{flex-shrink:0;color:var(--muted);font-size:11px;line-height:16px;white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:700px){.header-level-xp{display:none}}.app-shell .topbar .header-nav{gap:14px;flex-shrink:0}.app-shell .topbar .header-nav a,.app-shell .topbar .puzzle-nav-trigger{gap:7px;border-radius:10px;padding-inline:9px;white-space:nowrap;transition:background-color .12s ease,color .12s ease}.app-shell .topbar .header-nav a.active,.app-shell .topbar .puzzle-nav-trigger.active{background:var(--theme-surface-muted, #edf1f3);box-shadow:none;color:var(--navy)}.app-shell .topbar .header-nav a.active svg,.app-shell .topbar .puzzle-nav-trigger.active>svg:first-child{color:var(--navy)}.app-shell .topbar .account{gap:2px;flex-shrink:0}.app-shell .topbar .account-details{min-width:0;max-width:200px;line-height:16px;text-align:center}.app-shell .topbar .account-details strong{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;font-size:12px;line-height:16px}.app-shell .topbar .account-details .chess-title{flex:0 0 auto;margin:0;padding:1px 4px;font-size:10px;line-height:14px}.app-shell .topbar .account-details .person-name{align-items:center}.app-shell .topbar .account-details .person-name-text,.app-shell .topbar .account-details small{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .topbar .account>.icon-button,.app-shell .topbar .board-preferences-trigger,.app-shell .topbar .mobile-navigation-trigger{width:44px;height:44px;border-radius:10px;color:var(--muted)}.app-shell .topbar .account>.icon-button:hover,.app-shell .topbar .board-preferences-trigger:hover,.app-shell .topbar .mobile-navigation-trigger:hover{color:var(--navy);background:var(--theme-surface-muted, #edf1f3)}@media(min-width:951px){.app-shell .topbar .brand{flex-shrink:0;white-space:nowrap}}@media(max-width:1400px)and (min-width:951px){.app-shell .topbar{gap:8px}.app-shell .topbar .account-details{max-width:160px}.app-shell .topbar .header-nav>a>span:not(.category-icon),.app-shell .topbar .puzzle-nav-trigger>span:not(.category-icon){display:none}.app-shell .topbar .header-nav>a{width:44px;min-width:44px;padding-inline:0}.app-shell .topbar .puzzle-nav-trigger{width:52px;min-width:52px;gap:3px;padding-inline:0}}@media(max-width:950px){.app-shell .topbar{gap:4px}.app-shell .topbar .account{gap:2px}}@media(prefers-reduced-motion:reduce){.app-shell .topbar .header-nav a,.app-shell .topbar .puzzle-nav-trigger{transition:none}}.parent-header-preferences{display:flex;align-items:center;gap:2px}.parent-header-preferences .icon-button{width:44px;height:44px;color:var(--muted);display:grid;place-items:center}.parent-header-preferences .language-trigger{min-width:44px;width:44px;padding:0;color:inherit}.parent-header-preferences .language-trigger .language-flag,.parent-header-preferences .language-trigger svg{display:none}:root{--rush5-color: #bc4036;--rush5-bright: #f08070}.topbar,.puzzle-nav-panel,.mobile-navigation-panel{--navigation-surface: #1c2b43;--navigation-text: #e4edf9;--navigation-muted: #aabbd2}.app-shell .topbar,.puzzle-nav-panel,.mobile-navigation-panel{background:var(--navigation-surface);color:var(--navigation-text)}.app-shell .topbar{border-bottom:1px solid #33445f;box-shadow:0 3px 16px #10213a08}.MuiPaper-root.puzzle-nav-panel{background:var(--navigation-surface);border:1px solid #33445f;border-radius:16px;box-shadow:0 16px 40px #0c1b3026}.header-nav a,.puzzle-nav-trigger,.puzzle-nav-panel a,.mobile-navigation-panel .mobile-navigation-links a,.mobile-puzzle-disclosure,.run-modes button{--category-color: #617594;--category-bright: #9bb1d1}:is(.header-nav,.mobile-navigation-links) a[href$="/lessons"]{--category-color: #7961c5;--category-bright: #a894e9}[data-staff=true] :is(.header-nav,.mobile-navigation-links) a[href="/library"]{--category-color: #147d69;--category-bright: #4cc6a2}:is(.header-nav,.mobile-navigation-links) a[href="/library"]{--category-color: #6548d6;--category-bright: #9473f2}:is(.header-nav,.mobile-navigation-links) a[href="/students"]{--category-color: #2466c2;--category-bright: #58a8f0}:is(.header-nav,.mobile-navigation-links) a[href="/teaching"]{--category-color: #6548d6;--category-bright: #9473f2}:is(.header-nav,.mobile-navigation-links) a[href="/accounts"]{--category-color: #117f87;--category-bright: #63c6c9}:is(.puzzle-nav-panel,.mobile-navigation-links) a[href="/puzzles"]{--category-color: #2466c2;--category-bright: #58a8f0}:is(.puzzle-nav-panel,.mobile-navigation-links) a[href="/positional"]{--category-color: #147d69;--category-bright: #4cc6a2}.puzzle-nav-trigger,.mobile-puzzle-disclosure,:is(.puzzle-nav-panel,.mobile-navigation-links) a[href="/puzzle-rush"],.run-modes button[data-mode=rush3]{--category-color: #b15b22;--category-bright: #f5b154}.run-modes button[data-mode=rush5]{--category-color: var(--rush5-color);--category-bright: var(--rush5-bright)}.run-modes button[data-mode=survival]{--category-color: #a5417b;--category-bright: #e983b2}:is(.puzzle-nav-panel,.mobile-navigation-links) a[href="/puzzle-streak"]{--category-color: #087e91;--category-bright: #45c5d2}.category-icon{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:8px;color:#fff;background:linear-gradient(145deg,var(--category-bright),var(--category-color));box-shadow:0 3px color-mix(in srgb,var(--category-color) 70%,#17243c),0 5px 8px #13243a20,inset 0 1px 1px #ffffff70;transform:rotate(-4deg)}.app-shell .topbar .category-icon,.mobile-puzzle-disclosure .category-icon{display:inline-grid;flex:0 0 28px}.category-icon svg,.app-shell .topbar .header-nav a .category-icon svg,.mobile-navigation-links a .category-icon svg,.run-modes button .category-icon svg{width:18px;height:18px;color:inherit}.app-shell .topbar :is(.brand,.header-progress,.account-details,.header-nav a,.puzzle-nav-trigger),.puzzle-nav-panel a,.mobile-navigation-panel .mobile-navigation-links a,.mobile-puzzle-disclosure,.mobile-navigation-panel button{color:var(--navigation-text)}.app-shell .topbar :is(.header-level-xp,.brand small,.account-details small),.mobile-navigation-account small{color:var(--navigation-muted)}.app-shell .topbar .header-level-number{background:var(--navigation-surface)}.app-shell .topbar .header-level-ring{--line: #40516b}.app-shell .topbar :is(.account>.icon-button,.board-preferences-trigger,.mobile-navigation-trigger){color:var(--navigation-text)}.app-shell .topbar :is(.header-nav a,.puzzle-nav-trigger):is(.active,:hover,[aria-expanded=true]),.puzzle-nav-panel a:is(.Mui-selected,:hover),.mobile-navigation-links a:is(.selected,:hover),.mobile-puzzle-disclosure:hover{background:color-mix(in srgb,var(--category-bright) 14%,var(--navigation-surface));color:var(--navigation-text)}.app-shell .topbar :is(.account>.icon-button,.board-preferences-trigger,.mobile-navigation-trigger):hover,.mobile-navigation-panel button.icon-button:hover{background:#33445f;color:var(--navigation-text)}.mobile-navigation-account{border-color:#33445f}@media(max-width:950px){.app-shell .topbar[data-staff=true] .account>.account-details{display:block;max-width:180px}}@media(max-width:600px){.app-shell .topbar[data-staff=true] .brand{flex:0 0 32px;padding:0}.app-shell .topbar[data-staff=true] .brand>span{display:none}.app-shell .topbar[data-staff=true] .account{flex:1;min-width:0;justify-content:flex-end}.app-shell .topbar[data-staff=true] .account>.account-details{flex:1;min-width:0}}.run-modes button .category-icon{width:34px;height:34px;flex-basis:34px;border-radius:10px}.run-modes button[data-mode]{background:var(--theme-surface, #fff);color:var(--theme-text, #182e3a);border-color:var(--theme-border, #dfe5ec)}.run-modes button[data-mode][aria-pressed=true]{color:var(--theme-purple);border-color:var(--theme-primary-border);background:var(--theme-primary-soft)}.coach-home{--coach-purple: var(--theme-purple)}.home-card-carousel{min-width:0}.home-card-carousel .home-panel-heading{min-height:44px}.home-card-carousel .home-lessons>*{scroll-snap-align:start}@media(min-width:1001px){.coach-home.home-lesson-agenda .coach-home-agenda .coach-home-agenda-content{min-height:304px}}@media(max-width:360px){.coach-home.home-lesson-agenda .coach-home-agenda .coach-home-agenda-content{min-height:356px}}@media(max-width:1000px){.coach-home .coach-agenda-layout{grid-template-columns:minmax(0,1fr);gap:12px}.coach-home .coach-home-agenda .coach-home-agenda-content{min-height:278px;height:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.coach-home .coach-home-agenda .home-lessons{min-height:inherit;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:44%;gap:12px}.coach-home .coach-home-agenda .coach-home-agenda-content .home-lesson.lesson-preview-link{min-height:0;margin:0;padding:16px;scroll-snap-align:start}.coach-home-agenda .home-lesson .lesson-summary-topic-icon>span{display:block;overflow:visible;-webkit-line-clamp:unset}.coach-home .coach-home-agenda .home-panel-heading{margin-bottom:12px}}@media(max-width:600px){.coach-home .coach-home-agenda .coach-home-agenda-content{min-height:320px}.coach-home .coach-home-agenda .home-lessons{grid-auto-columns:88%}}.coach-home .coach-home-agenda .home-lesson[data-next]{position:relative;background:color-mix(in srgb,var(--coach-purple) 12%,var(--home-surface));border-color:color-mix(in srgb,var(--coach-purple) 55%,var(--line))}.coach-home .coach-home-agenda .home-lesson>.coach-next-lesson-label{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--coach-purple);color:var(--home-surface)}.coach-home-agenda .home-lesson[data-next] .lesson-summary-top{padding-right:36px}.coach-personal-overview{margin-top:20px}.coach-personal-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.4fr);gap:16px;align-items:stretch}.coach-personal-overview .coach-personal-error{height:48px}.coach-personal-heading{margin:0 0 16px;font-size:20px}.coach-personal-level{min-width:0}.coach-personal-level>.student-home-xp{min-height:300px;height:100%;display:flex;flex-direction:column;justify-content:space-between}.coach-personal-level .student-home-xp-layout{flex:1;grid-template-columns:96px minmax(0,1fr);grid-template-rows:1fr auto}.coach-personal-level .student-home-level-art{width:96px;height:96px}.coach-personal-level .student-home-identity>span{font-size:16px}.coach-personal-level .student-home-identity>strong{font-size:22px}.coach-personal-level .student-home-xp-total{font-size:32px}.coach-personal-workspace>.student-home-badges{grid-area:auto;min-width:0;padding:16px;height:300px}.coach-personal-workspace .student-home-badges header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.coach-personal-workspace .student-home-badges header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px}.coach-personal-workspace .student-home-badges .dashboard-heading-icon{width:32px;height:32px}.coach-personal-workspace .student-home-badge-subheading{font-size:12px}.coach-personal-workspace .student-home-medal-card{flex-basis:116px;padding:6px}.coach-personal-workspace .student-home-medal-card>strong{min-height:32px}.coach-personal-workspace .student-home-medals{height:152px}@media(max-width:1100px){.coach-personal-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-personal-workspace>.coach-practice-links{grid-column:1 / -1}}.coach-home .coach-home-follow-up{min-height:0}.coach-home .coach-home-follow-up .coach-follow-up-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:12px;align-content:start;height:360px;padding:2px}.coach-home-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}.coach-home-secondary .home-panel{min-height:0;padding:18px}.coach-home-secondary .coach-home-material-list{height:190px}.coach-home-secondary .coach-home-material{padding:10px 0;min-height:60px}.coach-ranking-section{--student-purple: var(--theme-purple);margin-top:24px}.coach-ranking-section .dashboard-ranking-body{height:280px;overflow-y:auto}@media(max-width:700px){.coach-ranking-section .dashboard-ranking-body{height:460px}}.coach-ranking-section header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.coach-ranking-section h2{display:flex;align-items:center;margin:0;gap:10px}.coach-personal-error{height:72px;overflow-y:auto}.coach-personal-error .MuiAlert-root{flex-wrap:wrap;font-size:11px}.coach-practice-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:0}.coach-practice-links .student-home-tile{min-height:80px;padding:12px;text-decoration:none;gap:8px}.coach-practice-links .student-home-launch-icon{width:30px;height:30px;margin:0;border-radius:9px}.coach-practice-links strong{font-size:11px;overflow-wrap:anywhere}@media(max-width:1000px){.coach-home .coach-home-follow-up .coach-follow-up-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-practice-links{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.coach-personal-workspace,.coach-home .coach-home-follow-up .coach-follow-up-preview,.coach-home-secondary{grid-template-columns:minmax(0,1fr)}.coach-practice-links{grid-template-columns:repeat(2,minmax(0,1fr))}}.coach-home .dashboard-heading-icon.blue{--tile-color: #2466c2;--tile-bright: #58a8f0}.coach-home-agenda .coach-home-agenda-content{min-height:278px;height:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-gutter:auto;scrollbar-color:var(--coach-purple) transparent}.coach-home-agenda .home-lessons{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 60px)/4);align-items:stretch;gap:12px}.coach-home .coach-home-agenda .home-lesson.lesson-preview-link{padding:12px;margin:2px 0 12px;min-height:260px;height:auto;scroll-snap-align:start}.coach-home-agenda .lesson-summary{gap:12px}.coach-home-agenda .coach-agenda-date{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:6px;margin:0;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--coach-purple) 10%,var(--home-surface));color:var(--coach-purple);font-size:14px;line-height:1.5;font-weight:600}.coach-agenda-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.coach-agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.coach-home .coach-home-agenda .coach-agenda-toolbar .coach-agenda-date{flex:0 1 auto;min-width:0}.coach-agenda-date [data-part=day],.coach-agenda-date [data-part=month]{font-size:inherit;font-weight:750}.coach-agenda-date [data-part=weekday]{margin-left:6px;font-size:inherit}.coach-home-agenda[data-empty] .coach-agenda-date{margin-bottom:0}.coach-home-agenda .lesson-summary-time{gap:7px}.coach-home-agenda .lesson-summary-title{font-size:15px}.coach-agenda-navigation{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;margin:0}.home-card-carousel .coach-agenda-navigation[data-overflowing=false]{display:none}.coach-agenda-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.coach-agenda-actions .coach-agenda-navigation{margin:0}.home-dashboard .coach-pending-shortcut.MuiButton-root{--coach-purple: var(--theme-purple);min-height:44px;gap:6px;padding:5px 10px;border-radius:12px;border-color:color-mix(in srgb,var(--coach-purple) 35%,var(--line));color:var(--coach-purple);white-space:nowrap}html[data-theme=dark] .coach-pending-shortcut.MuiButton-root{--coach-purple: var(--theme-purple)}.home-dashboard .coach-pending-shortcut .dashboard-heading-icon{width:20px;height:20px;margin:0;border-radius:9px;background:none;box-shadow:none;color:var(--coach-purple);transform:none}.coach-pending-count{font-weight:750;font-variant-numeric:tabular-nums}@media(min-width:1001px){.home-lesson-agenda>.coach-home-agenda{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-content:start;gap:12px}.home-lesson-agenda .home-panel-heading,.home-lesson-agenda .coach-agenda-layout,.home-lesson-agenda .coach-agenda-toolbar{display:contents}.home-lesson-agenda .home-panel-heading>h2{grid-column:1 / -1;grid-row:1}.home-lesson-agenda .coach-agenda-date{grid-column:1;grid-row:2;justify-self:start;align-self:center}.home-lesson-agenda .coach-agenda-actions{grid-column:2;grid-row:2;align-self:center}.home-lesson-agenda .coach-agenda-navigation{grid-column:3;grid-row:2;align-self:center}.home-lesson-agenda .coach-home-agenda-content,.home-lesson-agenda .coach-agenda-summary{grid-column:1 / -1}}.coach-agenda-navigation button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;color:var(--coach-purple);background:var(--home-surface);cursor:pointer}.coach-agenda-navigation button:disabled{opacity:.4;cursor:default}@media(max-width:600px){.home-card-carousel .home-panel-heading{flex-wrap:nowrap;gap:8px}.home-card-carousel .home-panel-heading>h2{flex:1 1 0;min-width:0}.home-card-carousel .coach-agenda-actions{flex:0 0 auto}.home-dashboard .coach-pending-shortcut.MuiButton-root{font-size:12px}.coach-pending-shortcut .coach-pending-label{display:none}.coach-home .coach-home-agenda .coach-agenda-toolbar .coach-agenda-date{font-size:14px;padding-inline:8px;gap:4px}}.coach-agenda-summary{display:flex;flex-wrap:wrap;gap:10px 24px;margin:4px 0 0;color:var(--home-muted);font-size:13px}.coach-agenda-summary strong{color:var(--theme-text)}.coach-agenda-summary>span{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--coach-purple) 8%,var(--home-surface))}.coach-agenda-summary svg{color:var(--coach-purple)}.coach-student-practice{display:grid;gap:5px;font-size:11px;color:var(--home-muted)}.coach-student-practice strong{color:var(--theme-text)}.coach-student-row.coach-home-student-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(170px,.7fr)}.coach-student-row .coach-student-report-action{justify-self:center}.coach-student-report-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--coach-purple) 30%,var(--line));border-radius:10px;color:var(--coach-purple);background:color-mix(in srgb,var(--coach-purple) 7%,var(--home-surface));font-size:12px;font-weight:700;white-space:nowrap}.coach-students-pagination{display:flex;justify-content:flex-end;margin:16px 0}.coach-student-row .coach-student-practice{padding-left:0}@media(max-width:1000px){.coach-home-agenda .home-lessons{grid-auto-columns:44%}}@media(max-width:600px){.coach-home-agenda .home-lessons{grid-auto-columns:88%}.coach-student-row.coach-home-student-row{grid-template-columns:minmax(0,1fr);gap:12px}.coach-student-practice{padding-left:46px}}.coach-home a{text-decoration:none}.coach-home a:focus-visible,.coach-home button:focus-visible{outline:3px solid var(--coach-purple);outline-offset:3px}.coach-home .home-panel{border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,#8562da 8%,var(--home-surface)),var(--home-surface))}.coach-home .home-panel-heading h2{display:flex;align-items:center;gap:10px;min-width:0}.coach-home-follow-up{min-height:324px}.coach-follow-up-preview{height:180px;overflow-y:auto;scrollbar-gutter:stable}.coach-home>.coach-home-materials{margin-top:18px;min-height:240px}.coach-home-material-list{height:216px;overflow-y:auto;scrollbar-gutter:stable;scrollbar-color:var(--coach-purple) transparent}.coach-students-page .coach-home-student-list{height:auto;overflow:visible;scrollbar-gutter:auto}.coach-students-status{min-height:64px}.coach-students-status .MuiAlert-root{flex-wrap:wrap}.coach-students-page .coach-home-filters>*{flex:1;min-width:0}.coach-students-page .coach-home-filters{align-items:flex-end}.coach-student-row .coach-student-practice{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.coach-student-row .coach-student-practice>span{grid-template-columns:16px minmax(0,auto) minmax(0,auto);justify-content:start}@media(max-width:900px){.coach-student-row.coach-home-student-row{grid-template-columns:minmax(0,1fr)}.coach-student-row .coach-student-report-action{justify-self:start}}@media(max-width:480px){.coach-student-row .coach-student-practice{grid-template-columns:minmax(0,1fr)}}.coach-students-page .coach-home-filters input{min-height:24px}@media(max-width:600px){.coach-students-page .coach-home-filters>*{flex-basis:100%}}.coach-home-agenda{min-height:300px}.coach-home-agenda[data-empty]{min-height:0}.coach-home .coach-home-agenda[data-empty] .coach-home-agenda-content{min-height:0;height:auto;overflow:visible}.coach-home-agenda .home-panel-heading .coach-agenda-navigation{margin:0;flex-shrink:0}.coach-home-agenda[data-empty] .coach-agenda-navigation{display:none}.coach-home-agenda .home-panel-heading{margin-bottom:4px}.coach-home-agenda .home-lesson{display:grid;grid-template-columns:62px minmax(0,1fr);gap:4px 10px;min-height:76px;padding:9px 0}.coach-home-agenda-content{height:228px;overflow-y:auto;scrollbar-gutter:stable}.coach-home-agenda-content:focus-visible{outline:2px solid var(--coach-purple);outline-offset:3px}.coach-home-agenda .home-lesson>time{grid-row:span 2}.coach-home-agenda .home-lesson>strong{font-size:12px;line-height:1.45}.coach-home-agenda .home-lesson>span{grid-column:2;font-size:10px}.coach-home-agenda .home-lesson time{font-size:11px;color:var(--coach-purple)}.coach-home-shortcuts{display:grid;grid-template-columns:repeat(var(--home-quick-columns, 4),minmax(0,1fr));gap:13px;margin:18px 0 24px}.coach-home-shortcuts .student-home-tile{flex-direction:row;align-items:center;min-height:100px;gap:14px;padding:18px}.coach-home-shortcuts strong{font-size:14px;overflow-wrap:anywhere}.coach-home-shortcuts .student-home-launch-icon{flex-shrink:0}.coach-home-students{scroll-margin-top:90px}.coach-home-filters{display:flex;gap:12px;align-items:center;margin-bottom:14px}.coach-home-filters>:first-child{flex:1;min-width:0}.coach-home-student-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(58px,.5fr);gap:12px;align-items:center}.coach-home-student-list{height:540px;overflow-y:auto;scrollbar-gutter:stable}.coach-home-student-list:focus-visible{outline:2px solid var(--coach-purple);outline-offset:3px}.coach-home-student-row{color:inherit;min-height:79px;padding:12px 0;border-bottom:1px solid var(--line);transition:background .15s}.coach-student-row{min-width:0;overflow-wrap:anywhere;text-decoration:none}.coach-home-student-row:hover{background:var(--home-soft)}.coach-home-person{display:flex;align-items:center;gap:10px;min-width:0}.coach-home-person>div{min-width:0}.coach-home-person strong{font-size:12px;overflow-wrap:anywhere}.coach-home-person small{display:block;font-size:10px;color:var(--home-muted);margin-top:3px;overflow-wrap:anywhere}.coach-home-week .home-week-total{margin-bottom:15px}.coach-home-week-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:15px 0 10px;gap:10px}.coach-home-week-counts>div{display:grid;grid-template-columns:7px 1fr;gap:4px 7px;align-items:center}.coach-home-week-counts i{width:7px;height:7px;border-radius:50%}.coach-home-week-counts strong{font-size:20px}.coach-home-week-counts small{grid-column:2;font-size:10px;color:var(--home-muted);overflow-wrap:anywhere}.coach-home-week>a{width:100%}.coach-home-materials{min-height:248px}.coach-home-material{display:flex;gap:12px;align-items:center;color:inherit;padding:14px 0;border-bottom:1px solid var(--line);min-height:72px}.coach-home-material:last-child{border-bottom:0}.coach-home-material>span:last-child{min-width:0}.coach-home-material strong{font-size:12px;overflow-wrap:anywhere}.coach-home-material small{display:block;font-size:10px;color:var(--home-muted);margin-top:5px}.coach-home-material-icon{display:grid;place-items:center;width:39px;height:42px;flex-shrink:0;border-radius:12px;background:#dff2eb;color:#2b8271}.coach-home-material-icon.teaching{background:var(--theme-primary-soft);color:var(--theme-purple)}.coach-home-personal-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 10px}.coach-home-personal-title h2{overflow-wrap:anywhere}.coach-home-personal-title a{flex-shrink:0}.student-home-grid.coach-home-personal{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"xp badges leaderboard";align-items:stretch;gap:16px}.coach-home-progress{grid-area:xp;border-radius:22px;overflow:hidden;background:linear-gradient(120deg,#172c50,#302858);color:#fff}.coach-home-personal-footer{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:16px;border-top:1px solid #ffffff22}.coach-home-personal-footer>span{display:flex;align-items:center;gap:5px;font-size:11px;color:#e5d5ff}.coach-home .coach-home-personal-footer .MuiButton-root{color:#382a69;background:#ece2ff;border-radius:10px;font-size:12px;min-height:44px;flex-shrink:0}.coach-home .coach-home-personal-footer .MuiButton-root:hover{background:#fff}.coach-home-progress-status{padding:0 14px;min-height:66px}.coach-home-progress-status .MuiAlert-root{flex-wrap:wrap;font-size:11px}.coach-home-personal .student-home-medals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coach-home-personal .student-home-medal-card{padding:10px 5px}.coach-home-personal .student-home-medal-card strong{font-size:11px}.coach-home-practice-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:8px;--home-surface: var(--theme-surface, #fff)}.coach-home-practice-picker .student-home-tile{min-height:126px;text-decoration:none;font-size:13px}html[data-theme=dark] .coach-home{--coach-purple: var(--theme-purple)}@media(max-width:1150px){.student-home-grid.coach-home-personal{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"xp xp" "badges leaderboard"}.coach-home-progress-status{min-height:10px}.coach-home-shortcuts .student-home-tile{flex-direction:column;align-items:flex-start;gap:12px;min-height:133px}}@media(max-width:600px){.coach-home-agenda .coach-home-agenda-content{min-height:296px}.coach-home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-home-shortcuts .student-home-tile{padding:16px}.coach-home-student-row{grid-template-columns:minmax(0,1fr) 60px;gap:5px 10px;min-height:102px}.coach-home-person{grid-column:1}.coach-home-student-list{height:690px}.coach-home-filters{flex-wrap:wrap;gap:10px}.coach-home-filters>:first-child{flex-basis:100%}.student-home-grid.coach-home-personal{grid-template-columns:minmax(0,1fr);grid-template-areas:"xp" "badges" "leaderboard"}.coach-home-personal-title h2{font-size:15px}}@media(prefers-reduced-motion:reduce){.coach-home-student-row{transition:none}}.coach-home-follow-up .coach-follow-up-preview{height:340px;overflow-y:auto;scrollbar-color:var(--coach-purple) transparent;scrollbar-gutter:stable}.coach-student-practice{width:100%;min-width:0}.coach-student-practice>span{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px}.coach-student-practice svg{color:var(--coach-purple)}.coach-student-row.coach-student-roster{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity identity" "metrics report";gap:16px;padding:21px 16px}.coach-student-roster:nth-child(odd){background:color-mix(in srgb,var(--coach-purple) 4%,var(--home-surface))}.coach-student-roster .coach-home-person{grid-area:identity}.coach-student-roster .coach-home-person strong{font-size:16px}.coach-student-roster .coach-home-person small{font-size:13px}.coach-student-roster .coach-student-report-action{grid-area:report;justify-self:end;align-self:center;font-size:13px}.coach-student-roster .coach-student-practice{grid-area:metrics;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;font-size:13px;padding:0}.coach-student-roster .coach-student-practice>.coach-student-metric{display:flex;align-items:center;gap:8px;min-width:0}.coach-student-metric-label{display:flex;align-items:flex-start;gap:8px;min-width:0;line-height:1.4}.coach-student-metric-label svg{flex-shrink:0;margin-top:1px}.coach-student-metric-value{display:flex;align-items:baseline;gap:5px;flex-shrink:0;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}.coach-student-best{color:var(--home-muted);white-space:nowrap}.coach-student-run-count{font-size:12px;color:var(--home-muted);white-space:nowrap}@media(max-width:1199px){.coach-student-roster .coach-student-practice{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}}@media(max-width:600px){.coach-student-roster .coach-student-practice{grid-template-columns:minmax(0,1fr)}.coach-student-row.coach-student-roster{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "metrics" "report";gap:12px;padding-inline:0}.coach-student-roster .coach-student-report-action{justify-self:start}}.coach-student-row.coach-student-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--home-surface)}.coach-student-card .coach-home-person strong{font-size:13px}.coach-student-last-activity{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:var(--home-muted);font-size:11px;line-height:1.5}.coach-student-last-activity svg{flex-shrink:0;color:var(--coach-purple)}.coach-student-card .coach-student-practice{grid-template-columns:minmax(0,1fr);gap:7px}.coach-student-card .coach-student-practice>span{grid-template-columns:16px minmax(0,auto) auto;justify-content:start}.coach-student-card .coach-student-report-action{align-self:flex-start;margin-top:auto}@media(max-width:600px){.coach-follow-up-row .coach-student-practice{padding-left:0}}.home-info-rows{display:grid;gap:12px;margin:8px 0 18px;font-size:13px}.home-info-rows>div,.home-info-rows dt{display:flex;align-items:center;gap:8px}.home-info-rows dt{color:var(--home-muted);flex-shrink:0}.home-info-rows svg{color:var(--manager-purple, var(--coach-purple, #7050d5));flex-shrink:0}.home-info-rows dd{min-width:0;margin:0 0 0 auto;font-weight:600;text-align:right;overflow-wrap:anywhere}.home-info-rows>[data-content] dd{flex:1;text-align:left;font-weight:400}.student-home-grid{--student-purple: var(--theme-purple);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"xp xp week" "practice practice lesson" "badges badges leaderboard";gap:18px;align-items:start}.student-home-grid>*{min-width:0}.student-home-panel{background:var(--home-surface);border:1px solid var(--line);border-radius:20px;padding:20px}.student-home-grid header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:15px}.student-home-grid h2{display:flex;align-items:center;gap:7px;font-size:17px}.student-home-grid h2 svg{flex-shrink:0}.student-home-grid a{text-decoration:none}.student-home-grid a:focus-visible,.student-home-grid button:focus-visible{outline:3px solid var(--student-purple);outline-offset:4px}.student-home-grid small{font-size:11px}.student-home-grid p,.student-home-grid small,.student-home-grid strong,.student-home-grid span{overflow-wrap:anywhere}.student-home-grid .student-home-link{display:inline-flex;align-items:center;min-height:44px;color:var(--student-purple);font-size:12px;font-weight:700}.student-home-empty{color:var(--home-muted);padding:20px 0;font-size:13px}.student-home-grid progress{width:100%;height:7px;display:block;border:0;border-radius:10px;overflow:hidden;background:var(--home-soft);accent-color:var(--student-purple)}.student-home-grid progress::-webkit-progress-bar{background:var(--home-soft)}.student-home-grid progress::-webkit-progress-value{background:var(--student-purple);border-radius:10px}.student-home-grid progress::-moz-progress-bar{background:var(--student-purple)}.student-home-week{grid-area:week;min-height:230px}.student-home-week header{min-height:32px}.student-home-week header svg{color:#bc5d28}.student-home-week header small{color:var(--home-muted)}.student-home-streak{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;min-height:38px}.student-home-streak strong{font-size:24px}.student-home-streak>span{font-size:11px;color:var(--home-muted)}.student-home-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0 16px}.student-home-days>div{display:grid;justify-items:center;gap:8px;font-size:11px;color:var(--home-muted)}.student-home-day{display:grid;place-items:center;width:29px;height:29px;background:var(--home-soft);border-radius:9px}.student-home-day.is-complete{background:#ede5ff;color:#6241b9}.student-home-week-total{display:flex;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:12px}.student-home-week-total>span{color:var(--home-muted)}.student-home-practice{grid-area:practice}.student-home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-home-tile{--tile-color: #6548d6;--tile-bright: #9473f2;--tile-tint: #f1ecff;display:flex;align-items:flex-start;flex-direction:column;gap:7px;min-width:0;min-height:166px;border-radius:17px;border:1px solid color-mix(in srgb,var(--tile-color) 16%,var(--home-surface));background:linear-gradient(150deg,var(--tile-tint),var(--home-surface) 80%);padding:17px 14px;color:var(--theme-text);transition:box-shadow .18s,border-color .18s}.student-home-tile.blue{--tile-color: #2466c2;--tile-bright: #58a8f0;--tile-tint: #e8f2ff}.student-home-tile.green{--tile-color: #147d69;--tile-bright: #4cc6a2;--tile-tint: #e5f6ed}.student-home-tile.orange{--tile-color: #b15b22;--tile-bright: #f5b154;--tile-tint: #fff2e3}.student-home-tile.pink{--tile-color: #a5417b;--tile-bright: #e983b2;--tile-tint: #ffeaf3}.student-home-tile.red{--tile-color: var(--rush5-color);--tile-bright: var(--rush5-bright);--tile-tint: #ffebe8}.student-home-tile.neutral{--tile-color: #426482;--tile-bright: #7ca9c8;--tile-tint: #eaf1f7}.student-home-tile.teal{--tile-color: #087e91;--tile-bright: #45c5d2;--tile-tint: #e3f7fa}.student-home-tile.gold{--tile-color: #98700c;--tile-bright: #e8bc43;--tile-tint: #fff7dc}.student-home-launch-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:14px;background:linear-gradient(145deg,var(--tile-bright),var(--tile-color));color:#fff;box-shadow:0 5px color-mix(in srgb,var(--tile-color) 70%,#17243c),0 10px 14px color-mix(in srgb,var(--tile-color) 25%,transparent),inset 0 1px 1px #ffffff80;transform:rotate(-5deg);transition:transform .18s,box-shadow .18s;margin:0 0 8px 2px}.student-home-launch-icon.dashboard-heading-icon{--tile-color: #6548d6;--tile-bright: #9473f2;width:34px;height:34px;border-radius:10px;margin:0 5px 5px 2px;box-shadow:0 4px color-mix(in srgb,var(--tile-color) 70%,#17243c),0 7px 10px color-mix(in srgb,var(--tile-color) 20%,transparent),inset 0 1px 1px #ffffff80}.dashboard-heading-icon.orange{--tile-color: #b15b22;--tile-bright: #f5b154}.dashboard-heading-icon.green{--tile-color: #147d69;--tile-bright: #4cc6a2}.dashboard-heading-icon.gold{--tile-color: #98700c;--tile-bright: #e8bc43}.dashboard-heading-icon.heat{--tile-color: #cf3d35;--tile-bright: #f9d96b}.student-home-panel .dashboard-heading-icon svg{color:#fff}.student-home-near-heading{display:flex;align-items:center;gap:7px}.student-home-tile h3{font-size:14px;line-height:1.35}.student-home-tile p{font-size:11px;line-height:1.5;color:var(--home-muted)}.student-home-tile>small{margin-top:auto;color:var(--tile-color);font-weight:700}@media(hover:hover){.student-home-tile:hover{border-color:var(--tile-color);box-shadow:0 6px 18px #192a4510}.student-home-tile:hover .student-home-launch-icon{transform:rotate(0) translateY(-2px)}}.student-home-tile:active .student-home-launch-icon{transform:rotate(0) translateY(3px);box-shadow:0 2px 0 var(--tile-color)}.student-home-lesson{grid-area:lesson;align-self:stretch;display:flex;flex-direction:column}.student-home-lesson h2 svg{color:var(--student-purple)}.student-home-lesson-content{flex:1;min-height:180px}.student-home-lesson-content>p{margin-top:7px;color:var(--home-muted);font-size:12px}.student-home-lesson-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border-radius:10px;background:var(--student-purple);color:#fff;font-size:13px;font-weight:700;margin-top:15px}.student-home-lesson>.student-home-link{align-self:center}.student-home-badges{grid-area:badges}.student-home-badges .student-home-collection-button{min-height:44px;padding:8px 14px;border:1px solid #c7b8f5;border-radius:12px;background:#f4f0ff;color:#6548d6;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.student-home-badges .student-home-collection-button:hover{background:#eae2ff}html[data-theme=dark] .student-home-badges .student-home-collection-button{border-color:#77649e;background:#342b49;color:#d1bfff}html[data-theme=dark] .student-home-badges .student-home-collection-button:hover{background:#43365e}.student-home-badges .badge-color-surface{--badge-copy-accent: color-mix(in srgb, var(--metal) 70%, #182e3a);--badge-copy-title: var(--badge-copy-accent)}.student-home-badges .badge-color-surface[data-rank="10"]{--badge-copy-accent: color-mix(in srgb, var(--metal) 45%, #182e3a)}.student-home-badge-count{background:var(--home-soft);color:var(--student-purple);font-size:12px;padding:5px 8px;border-radius:20px}.student-home-medals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-home-medal-card{position:relative;display:flex;align-items:center;flex-direction:column;min-width:0;padding:12px 6px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(155deg,var(--home-soft),var(--home-surface));color:inherit;text-align:center}.student-home-medal-card:hover{border-color:var(--student-purple)}.student-home-badge-family{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-height:62px;margin-bottom:6px}.student-home-badges .student-home-badge-category{display:inline-flex;justify-content:center;max-width:100%;padding:4px 8px;border-radius:7px;background:color-mix(in srgb,var(--metal) 10%,var(--home-surface));color:var(--badge-copy-title);font-size:10px;line-height:1.4;font-weight:700;overflow-wrap:normal}.student-home-badges .student-home-badge-subtitle{color:var(--badge-copy-title);font-size:11px;line-height:1.4;font-weight:600;text-wrap:balance;overflow-wrap:normal}.student-home-badges .student-home-medal-card>small{color:var(--badge-copy-accent);font-weight:700;margin-top:auto;padding-top:6px}html[data-theme=dark] .student-home-badges .badge-color-surface{--badge-copy-accent: color-mix(in srgb, var(--metal) 55%, #fff)}.student-home-crest{position:relative;display:block;width:88px;height:94px;flex-shrink:0}.student-home-crest .chess-badge-crest{position:absolute;top:8px;left:8px;margin:0;transform:scale(.63);transform-origin:top left}.student-home-medal-card>strong{font-size:11px;min-height:32px}.student-home-medal-card>small{color:var(--home-muted);margin-top:6px}.student-home-new{position:absolute;top:44px;right:4px;border-radius:20px;background:#6941ba;color:#fff;padding:3px 5px;font-size:9px}.student-home-near{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.student-home-near>a{display:grid;gap:7px;color:inherit;font-size:11px}.student-home-near-info>span{color:var(--home-muted)}.student-home-leaderboard{grid-area:leaderboard}.student-home-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:8px;min-height:208px}.student-home-podium[data-count="1"]{grid-template-columns:minmax(0,1fr)}.student-home-podium[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.student-home-podium-place{text-align:center;min-width:0}.student-home-podium-medal{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;background:#ecedf6;color:#61728c;font:29px/1 Georgia,serif;box-shadow:inset 0 0 0 3px #ffffff70,0 4px 9px #20314912}.student-home-podium-identity{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-bottom:8px}.student-home-podium-identity>strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.student-home-podium-identity>span{font-size:11px;color:var(--home-muted)}.student-home-podium-step{height:56px;border-radius:10px 10px 3px 3px;background:linear-gradient(#e5e8f2,#cbd2e3);color:#495d7b;padding-top:10px;font-size:24px;font-weight:800;box-shadow:inset 0 1px #ffffff80}.student-home-podium-place[data-rank="1"] .student-home-podium-step{height:80px;background:linear-gradient(#ffe6a2,#eac477);color:#88601e}.student-home-podium-place[data-rank="1"] .student-home-podium-medal{background:#ffe4a0;color:#986919}.student-home-podium-place[data-rank="3"] .student-home-podium-step{height:42px;background:linear-gradient(#f4dfd0,#dfbca3);color:#87583d}.student-home-podium-place[data-rank="3"] .student-home-podium-medal{background:#f6e0cf;color:#9a6a4c}.student-home-podium-place[data-own] .student-home-podium-step{outline:2px solid var(--student-purple);outline-offset:2px}.student-home-podium-place[data-own] .student-home-podium-identity>strong{color:var(--student-purple)}.student-home-own{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;margin-top:18px;min-height:70px;border-radius:12px;background:var(--home-soft);font-size:12px}.student-home-own small{display:block;color:var(--home-muted);min-height:16px;margin-top:4px}.student-home-own>b{flex-shrink:0}.student-home-ranking-status{min-height:52px;padding-top:8px;font-size:11px}.student-home-ranking-status [role=alert]{display:flex;align-items:center;gap:8px}.student-home-ranking-status button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:5px 10px;color:inherit;background:var(--home-surface);cursor:pointer;flex-shrink:0}.student-home-leaderboard>.student-home-link{width:100%;justify-content:center}html[data-theme=dark] .student-home-grid{--student-purple: var(--theme-purple)}html[data-theme=dark] .student-home-tile{background:linear-gradient(140deg,color-mix(in srgb,var(--tile-color) 20%,var(--home-surface)),var(--home-surface))}html[data-theme=dark] .student-home-tile>small{color:var(--tile-bright)}html[data-theme=dark] .student-home-lesson-action{background:#7451c3}html[data-theme=dark] .student-home-day.is-complete{background:#40325e;color:#ddcaff}@media(max-width:1150px){.student-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"xp xp" "practice practice" "week lesson" "badges badges" "leaderboard leaderboard"}.student-home-leaderboard{max-width:none}.student-home-podium{max-width:420px;margin:0 auto}}@media(max-width:600px){.student-home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"xp" "practice" "week" "badges" "leaderboard" "lesson";gap:16px}.student-home-panel{padding:16px}.student-home-shortcuts,.student-home-medals{grid-template-columns:repeat(2,minmax(0,1fr))}.student-home-shortcuts{gap:10px}.student-home-tile{min-height:180px;padding:17px 12px}.student-home-tile h3{min-height:38px}.student-home-tile p{min-height:34px}.student-home-week header{min-height:48px}.student-home-near{gap:10px}}@media(prefers-reduced-motion:reduce){.student-home-tile,.student-home-launch-icon{transition:none}}.lesson-summary{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%;color:var(--theme-text, #182e3a);text-align:left;overflow-wrap:anywhere}.lesson-summary .lesson-summary-top{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.lesson-summary .lesson-summary-time{display:flex;flex-direction:column;align-items:baseline;gap:4px 8px;color:inherit}.lesson-summary .lesson-summary-time strong{font-size:21px;line-height:1.4;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}.lesson-summary .lesson-summary-time>span{font-size:12px;color:var(--theme-muted, #657580)}.lesson-summary .lesson-summary-time .lesson-summary-date{color:var(--lesson-date-color, var(--theme-purple));white-space:normal}.lesson-summary .lesson-summary-duration{display:flex;align-items:center;gap:5px}.lesson-summary-duration svg{color:var(--lesson-date-color, var(--theme-purple));flex-shrink:0}html[data-theme=dark] .lesson-summary{--lesson-date-color: var(--theme-purple)}.lesson-summary .lesson-summary-title{font-size:17px;line-height:1.5;color:inherit;font-weight:750}.lesson-summary .lesson-summary-topic,.lesson-summary .lesson-summary-range,.lesson-summary .lesson-summary-secondary{color:var(--theme-muted, #657580);font-size:13px;line-height:1.6}.lesson-summary-topic-icon{display:flex;align-items:baseline;gap:7px}.lesson-summary-topic-icon svg{flex-shrink:0;align-self:flex-start;margin-top:3px;color:var(--lesson-date-color, var(--theme-purple))}.home-lesson .lesson-summary-topic-icon>span,.student-home-lesson .lesson-summary-topic-icon>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.lesson-summary .lesson-summary-secondary{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 12px;font-size:12px}.lesson-labels{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lesson-labels .lesson-label{display:inline-flex;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:650;line-height:1.5;max-width:100%;color:var(--lesson-label-ink);background:var(--lesson-label-fill)}.lesson-label-private{--lesson-label-ink: #a0315b;--lesson-label-fill: #fce4ed}.lesson-label-group{--lesson-label-ink: #94602c;--lesson-label-fill: #fbf0df}.lesson-label-online{--lesson-label-ink: #306b9d;--lesson-label-fill: #e8f2fc}.lesson-label-in_person{--lesson-label-ink: #27735c;--lesson-label-fill: #e9f5ef}html[data-theme=dark] .lesson-label-private{--lesson-label-ink: #ffb3ce;--lesson-label-fill: #51283b}html[data-theme=dark] .lesson-label-group{--lesson-label-ink: #efc18b;--lesson-label-fill: #43382e}html[data-theme=dark] .lesson-label-online{--lesson-label-ink: #9bc9f4;--lesson-label-fill: #233b53}html[data-theme=dark] .lesson-label-in_person{--lesson-label-ink: #91d8bb;--lesson-label-fill: #203e36}.lesson-status{display:inline-flex;flex-shrink:0;align-items:center;gap:5px;max-width:100%;font-size:12px;font-weight:500;line-height:24px;color:var(--theme-muted, #657580)}.lesson-status.held{color:#27735c}.lesson-status.pending{color:var(--lesson-date-color, var(--theme-purple))}html[data-theme=dark] .lesson-status.pending{color:var(--theme-purple)}.lesson-status.cancelled{color:#ad4556}html[data-theme=dark] .lesson-status.held{color:#91d8bb}html[data-theme=dark] .lesson-status.cancelled{color:#f5a8b5}.lesson-status svg{width:14px;height:14px;flex-shrink:0}.home-lesson.lesson-preview-link,.coach-home-agenda .home-lesson.lesson-preview-link{display:block;padding:16px;margin:10px 0;border:1px solid var(--theme-border, #dfe4e8);border-radius:14px;background:var(--theme-surface, #fff);color:var(--theme-text, #182e3a)}.home-lesson.lesson-preview-link>.lesson-summary{font-size:14px;color:inherit}.home-lesson.lesson-preview-link .lesson-summary-time{color:var(--theme-text, #182e3a)}.student-home-lesson-content>.lesson-summary{margin-top:10px}@media(max-width:600px){.lesson-summary .lesson-summary-title{font-size:16px}.home-lesson.lesson-preview-link,.coach-home-agenda .home-lesson.lesson-preview-link{padding:12px}}.home-mobile-lessons{display:none}@media(max-width:600px){.coach-home.home-lesson-agenda>.coach-home-agenda.home-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px 12px 0;border-radius:18px}.home-lesson-agenda .home-panel-heading{grid-column:1 / -1;margin-bottom:0;flex-wrap:nowrap;gap:8px}.home-lesson-agenda .home-panel-heading h2{min-width:0;font-size:16px;line-height:1.35;gap:8px}.home-lesson-agenda .home-panel-heading .dashboard-heading-icon{width:30px;height:30px;flex-shrink:0}.home-lesson-agenda .coach-agenda-actions{flex-shrink:0;margin:0;padding:0}.home-lesson-agenda .coach-agenda-layout{display:contents}.home-lesson-agenda .coach-agenda-toolbar{grid-column:1;grid-row:2;margin:0}.coach-home.home-lesson-agenda .coach-home-agenda .coach-agenda-toolbar .coach-agenda-date{background:transparent;color:var(--theme-text);font-size:12px;padding:0;gap:4px;flex-wrap:wrap}.home-lesson-agenda .coach-agenda-date [data-part=weekday]{color:var(--home-muted);margin-left:2px}.home-lesson-agenda .coach-agenda-navigation{display:none}.coach-home.home-lesson-agenda.home-card-carousel .coach-home-agenda .coach-home-agenda-content{grid-column:1 / -1;grid-row:3;height:auto;min-height:0;overflow:visible;scroll-snap-type:none}.home-lesson-agenda .coach-home-agenda-content>.home-lessons,.home-lesson-agenda .coach-home-agenda-content>.home-hour-groups,.home-lesson-agenda .coach-home-agenda-content>.home-placeholder,.home-lesson-agenda .coach-home-agenda-content>.home-empty{display:none}.home-lesson-agenda .coach-agenda-summary{grid-column:2;grid-row:2;margin:0;gap:4px 8px;justify-content:flex-end;font-size:12px}.home-lesson-agenda .coach-agenda-summary>span{padding:0;background:transparent;border-radius:0;gap:3px}.home-lesson-agenda .coach-agenda-summary strong{font-weight:400;color:inherit}.home-lesson-agenda .coach-agenda-summary svg{display:none}.home-mobile-lessons{display:block;min-width:0}.home-mobile-lessons-loading{min-height:280px}.home-mobile-hour[hidden],.home-mobile-lesson[hidden]{display:none}.home-mobile-hour-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding:10px 2px 6px;font-size:14px;font-variant-numeric:tabular-nums}.home-mobile-hour-heading>span{font-size:11px;color:var(--home-muted)}.home-mobile-hour-heading>.home-mobile-hour-status{margin-left:auto;color:var(--theme-purple)}.home-mobile-lesson{display:grid;grid-template-columns:48px minmax(0,1fr) 16px;gap:9px;align-items:center;min-width:0;min-height:76px;padding:12px 2px;border-top:1px solid var(--line);color:var(--theme-text);text-decoration:none}.home-mobile-lesson[data-current],.home-mobile-lesson[data-upcoming]{border-top-color:transparent;border-radius:10px;background:color-mix(in srgb,var(--theme-purple) 10%,var(--home-surface));padding-inline:8px}.home-mobile-lesson-time{display:flex;flex-direction:column;align-self:start;gap:4px;font-size:14px;font-variant-numeric:tabular-nums}.home-mobile-lesson-time>span{font-size:11px;color:var(--home-muted)}.home-mobile-lesson-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.home-mobile-lesson-name{display:flex;align-items:flex-start;gap:6px;font-size:14px;overflow-wrap:anywhere}.home-mobile-lesson-name>svg{flex-shrink:0;margin-top:2px;color:var(--home-muted)}.home-mobile-lesson .person-name{min-width:0;white-space:normal;overflow-wrap:anywhere}.home-mobile-lesson-meta{color:var(--home-muted);font-size:12px;overflow-wrap:anywhere}.home-mobile-lesson-status{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--theme-purple)}.home-mobile-lesson-arrow{color:var(--home-muted)}.home-mobile-lesson-club{grid-template-columns:minmax(0,1fr) 16px;min-height:64px;padding-inline:8px}.home-mobile-lesson-club[data-current]{border-radius:0;border-top-color:var(--line)}.home-mobile-lessons-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;margin-top:6px;border:0;border-top:1px solid var(--line);padding:8px;background:transparent;color:var(--theme-purple);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.home-mobile-lesson:focus-visible,.home-mobile-lessons-toggle:focus-visible{outline:2px solid var(--theme-purple);outline-offset:-2px}}.coach-home.home-grouped-agenda .coach-home-agenda .coach-home-agenda-content{height:494px;min-height:494px}.home-hour-groups{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 12px)/2);gap:12px}.home-hour-group{height:478px;min-width:0;border:1px solid var(--theme-border, #dfe4e8);background:var(--theme-surface, #fff);border-radius:14px;overflow:hidden;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px 378px 50px}.home-hour-preview{min-width:0}.home-hour-group[data-current]{border-color:var(--theme-purple)}.home-hour-heading{display:flex;align-items:center;gap:10px;padding:10px 14px;background:color-mix(in srgb,var(--theme-purple) 9%,var(--theme-surface, #fff))}.home-hour-heading strong{font-size:19px}.home-hour-heading>span{font-size:13px;color:var(--theme-muted, #657580)}.home-hour-row{display:flex;flex-direction:column;justify-content:center;gap:5px;height:126px;min-width:0;padding:12px 14px;color:var(--theme-text, #182e3a);text-decoration:none;border-bottom:1px solid var(--theme-border, #dfe4e8)}.home-hour-row:hover,.home-hour-row:focus-visible{background:color-mix(in srgb,var(--theme-purple) 8%,var(--theme-surface, #fff))}.home-hour-person,.home-hour-identity{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.home-hour-person>svg,.home-hour-identity>svg{flex:0 0 16px}.home-hour-person>.person-name,.home-hour-identity>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.home-hour-identity{color:var(--theme-muted, #657580)}.home-hour-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px}.home-hour-row[data-current] .home-hour-meta>span{color:var(--theme-purple)}.home-hour-footer .MuiButton-root{min-height:48px}.home-hour-dialog-list{overscroll-behavior:contain}.home-hour-row-expanded{height:auto;min-height:126px}.home-hour-row-expanded .home-hour-person,.home-hour-row-expanded .home-hour-identity{white-space:normal;overflow-wrap:anywhere}@media(max-width:650px){.home-hour-groups{grid-auto-columns:100%}.home-hour-row{padding-inline:10px}}.manager-home{--manager-teal: #157c80;--manager-purple: var(--theme-purple);--manager-amber: #95630f;display:grid;gap:22px;min-width:0}html[data-theme=dark] .manager-home{--manager-teal: #80d3cd;--manager-purple: var(--theme-purple);--manager-amber: #edc87e}.manager-home h2{display:flex;align-items:center;gap:12px;margin:0}.manager-home h3{font-size:16px;margin:0;overflow-wrap:anywhere}.manager-home>section>.home-panel-heading{flex-wrap:wrap;gap:12px}.manager-home .home-panel-heading time{color:var(--home-muted);font-size:13px}.manager-home-summary{display:grid;gap:22px;min-width:0;padding:24px}.manager-home-summary .manager-home-overview{display:grid;gap:26px;min-width:0;padding-bottom:20px;border-bottom:1px solid var(--line)}.manager-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,400px);gap:24px;min-width:0}.manager-home-overview .home-panel-heading{margin:0}.manager-home-overview>.home-panel-heading .dashboard-heading-icon{width:32px;height:32px}.manager-home-overview h2{font-size:16px}.manager-home-stats>a{display:flex;align-items:center;min-height:44px;min-width:44px;color:inherit;text-decoration:none;white-space:nowrap}.manager-home-stats>a+a{padding-left:24px;border-left:1px solid var(--line)}.manager-home-stat-value{display:grid;gap:5px;min-width:0}.manager-home-stat-number{display:flex;align-items:center;gap:6px;min-width:0;min-height:30px}.manager-home-stat-number svg{flex-shrink:0;width:14px;height:14px;color:var(--home-muted)}.manager-home-stats strong{font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums;text-align:left}.manager-home-stats small{color:var(--home-muted);font-size:13px}.manager-home-stats strong[data-compact=true]{font-size:18px}.manager-home .coach-home-shortcuts{margin:0}.manager-home-week{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;gap:32px;min-width:0}.manager-home-week-label{margin:0;font-size:13px;color:var(--home-muted)}.manager-home-week-total{display:grid;gap:4px;margin:8px 0 0;font-size:13px;color:var(--home-muted)}.manager-home-week-number{display:flex;align-items:baseline;gap:6px;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}.manager-home-week-total strong{font-size:36px;color:var(--manager-teal)}.manager-home-week-distribution{min-width:0}.manager-home-bar{display:flex;height:8px;overflow:hidden;border-radius:8px;background:var(--home-soft)}.manager-home [data-status=held]{background:var(--manager-teal)}.manager-home [data-status=planned]{background:var(--manager-purple)}.manager-home [data-status=cancelled]{background:var(--home-muted)}.manager-home-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px;color:var(--home-muted)}.manager-home-legend>span{display:grid;grid-template-columns:7px auto;gap:3px 6px}.manager-home-legend strong{grid-column:2;font-size:20px;line-height:1.2;color:var(--theme-text);font-variant-numeric:tabular-nums}.manager-home-legend>span>span{grid-column:2}.manager-home-legend i{grid-column:1;grid-row:2;align-self:center;width:7px;height:7px;border-radius:50%}.manager-home-coach{background:var(--home-soft);padding:18px;border-radius:16px;min-width:0}.manager-home-coach h3{min-height:44px}.manager-home-coach p{font-size:13px;margin:8px 0 22px}.manager-home-coach-count{display:flex;justify-content:space-between;gap:8px;font-size:12px}.manager-home-coach-count span{color:var(--home-muted)}.manager-home-coach-count strong{flex-shrink:0}.manager-home-coach-bar{height:6px;background:var(--line);border-radius:6px;margin:10px 0;overflow:hidden}.manager-home-coach-bar span{display:block;background:var(--manager-teal);height:100%;border-radius:inherit}.manager-home .manager-home-program.MuiButton-root{min-height:44px;margin-top:auto;border-radius:12px;color:var(--manager-purple);border-color:color-mix(in srgb,var(--manager-purple) 35%,var(--line))}.manager-home-coach,.manager-home-group{display:flex;flex-direction:column;gap:8px;height:100%}.manager-home .manager-home-coaches .coach-home-agenda-content,.manager-home .manager-home-groups .coach-home-agenda-content,.manager-home .manager-home-coaches .home-lessons,.manager-home .manager-home-groups .home-lessons{min-height:0}.manager-home-group{border:1px solid var(--line);padding:18px;border-radius:16px;min-width:0}.manager-home-group p{font-size:13px;overflow-wrap:anywhere}.manager-home-group-date,.manager-home-no-lesson{display:flex;gap:8px;align-items:center;min-height:44px;color:var(--manager-teal);font-size:13px}.manager-home-group-date svg,.manager-home-no-lesson svg{flex-shrink:0}.manager-home-no-lesson{color:var(--manager-amber)}@media(max-width:700px){.manager-home-stats{gap:12px}.manager-home-stats>a+a{padding-left:8px}.manager-home-stats small{font-size:12px}.manager-home>.home-panel{padding:16px}.manager-home .coach-home-shortcuts>:last-child{grid-column:1 / -1}}@media(max-width:420px){.manager-home-week{grid-template-columns:minmax(0,1fr);gap:20px}}.dashboard-scroll-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.dashboard-scroll-heading .student-home-badge-subheading{margin:0}.dashboard-scroll-controls{display:flex;gap:8px;margin-left:auto;flex-shrink:0}.dashboard-scroll-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:12px;color:var(--student-purple);background:var(--home-surface);cursor:pointer}.dashboard-scroll-controls button:focus-visible{outline:3px solid var(--student-purple);outline-offset:3px}.chess-badge-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:20px 14px 14px;border:1px solid #d4b56b;border-radius:18px;background:linear-gradient(155deg,#fffdf5,#f3ecdc);color:#26364a;box-shadow:0 5px 16px #6851240a;overflow-wrap:anywhere}.chess-badge-card.locked{border-color:#d5d9dc;background:linear-gradient(155deg,#f9fafb,#edf0f1)}.badge-color-surface,.chess-badge-crest{--metal: #b77c45;--shine: #f1d5af}.chess-badge-crest{display:inline-flex;position:relative;flex:0 0 auto;flex-direction:column;justify-content:center;align-items:center;width:114px;height:126px;text-align:center;margin:22px 18px 16px;color:var(--metal);border:3px solid var(--metal);border-radius:30px 30px 48% 48%;background:radial-gradient(ellipse at 40% 25%,#fff9,transparent 70%),linear-gradient(135deg,var(--shine),#fff6);box-shadow:inset 0 0 0 5px #fff6,inset 0 0 0 7px var(--metal),0 8px 16px #26364a20}.chess-badge-crest[data-shape=record]{border-radius:50%}.chess-badge-crest[data-shape=theme]{border-radius:18px 18px 45px 45px}.chess-badge-crest[data-shape=daily]{border-radius:44% 44% 24px 24px}.badge-color-surface[data-rank="2"],.chess-badge-crest[data-rank="2"]{--metal: #71889c;--shine: #dbe6ee}.badge-color-surface[data-rank="3"],.chess-badge-crest[data-rank="3"]{--metal: #b48017;--shine: #f6df99}.badge-color-surface[data-rank="4"],.chess-badge-crest[data-rank="4"]{--metal: #2f806c;--shine: #bbdece}.badge-color-surface[data-rank="5"],.chess-badge-crest[data-rank="5"]{--metal: #2f71a6;--shine: #c0d9f4}.badge-color-surface[data-rank="6"],.chess-badge-crest[data-rank="6"]{--metal: #7951ac;--shine: #dcc9f3}.badge-color-surface[data-rank="7"],.chess-badge-crest[data-rank="7"]{--metal: #ad4f63;--shine: #f1cad3}.badge-color-surface[data-rank="8"],.chess-badge-crest[data-rank="8"]{--metal: #567f91;--shine: #cbeaf2}.badge-color-surface[data-rank="9"],.chess-badge-crest[data-rank="9"]{--metal: #9e791d;--shine: #fbe8a4}.chess-badge-crest[data-rank="9"]{border-width:5px;outline:2px solid var(--metal);outline-offset:4px}.badge-color-surface[data-rank="10"],.chess-badge-crest[data-rank="10"]{--metal: #e3ba5d;--shine: #203449}.chess-badge-crest[data-rank="10"]{background:linear-gradient(145deg,#344b63,#132136);border-width:5px;outline:2px solid var(--metal);outline-offset:5px}.badge-gallery-dialog .badge-gallery-card.badge-color-surface,.student-home-grid .student-home-medal-card.badge-color-surface{background:radial-gradient(ellipse at 50% 27%,color-mix(in srgb,var(--metal) 16%,transparent),transparent 65%),linear-gradient(150deg,color-mix(in srgb,var(--metal) 32%,var(--theme-surface, #fff)),color-mix(in srgb,var(--metal) 16%,var(--theme-surface, #fff)));border-color:color-mix(in srgb,var(--metal) 55%,var(--theme-surface, #fff))}.badge-gallery-dialog .badge-gallery-card.badge-color-surface:hover,.student-home-grid .student-home-medal-card.badge-color-surface:hover{border-color:var(--metal)}.badge-color-surface>:is(small,.student-home-badge-family){color:color-mix(in srgb,var(--theme-text, #182e3a) 82%,var(--theme-surface, #fff))}.chess-badge-piece{font:72px/1 Georgia,DejaVu Sans,serif;filter:drop-shadow(0 2px 1px #0002);z-index:1}.chess-badge-crown{position:absolute;top:-29px;font:32px/1 Georgia,serif}.chess-badge-wreath{position:absolute;inset:12px -25px auto;font-size:110px;line-height:1;opacity:.45;transform:rotate(-20deg)}.chess-badge-checkers{position:absolute;bottom:24px;width:70%;height:12px;opacity:.25;background:repeating-conic-gradient(var(--metal) 0 25%,transparent 0 50%) 0/12px 12px}.chess-badge-degree{position:absolute;bottom:-12px;min-width:56px;background:var(--metal);color:#fff;border:2px solid var(--shine);border-radius:6px;font:700 13px/20px Georgia,serif;letter-spacing:2px}.chess-badge-crest[data-rank="10"] .chess-badge-degree{color:#1b2b3d}.chess-badge-card h4{margin:8px 0;font:700 19px/1.3 Georgia,serif}.chess-badge-card h4 span{white-space:nowrap}.chess-badge-card p{font-size:12px;line-height:1.6;margin:10px 0 16px;flex:1}.chess-badge-card time{display:block;height:18px;margin-top:6px;font-size:10px}.achievement-dialog .MuiPaper-root{width:calc(100% - 48px);max-width:440px;margin:24px;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 45px #1c183926}.achievement-dialog .MuiDialogTitle-root{color:var(--theme-purple, #6548d6);text-align:center;font-family:inherit;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.5px;padding:28px 28px 8px}.achievement-content{position:relative;padding:12px 28px 0!important}.level-celebration{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:12px}.level-celebration img{width:min(180px,40vh);height:min(180px,40vh);object-fit:contain}.level-celebration strong{color:var(--muted);font-size:14px}.level-celebration h3{margin:8px 0 0;font-size:22px;line-height:1.35}.achievement-content .achievement-badge{width:100%;max-width:none;min-height:260px;margin:auto;padding:0 12px 18px;border:0;border-radius:16px;background:transparent;color:var(--theme-text, #182e3a);box-shadow:none}.achievement-content .chess-badge-crest{margin:16px 18px 18px}.achievement-content .achievement-badge h4{margin:14px 0 6px;font-family:inherit;font-size:21px;line-height:1.35;letter-spacing:-.35px}.achievement-badge .achievement-milestone{flex:none;margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.achievement-milestone strong{color:var(--theme-text, #182e3a);font-weight:650}.chess-badge-card.celebrating,.achievement-deck-reveal.celebrating{animation:badge-reveal .6s cubic-bezier(.2,.7,.3,1) both}.achievement-deck{position:relative;isolation:isolate;display:grid;width:100%;margin:auto;padding:6px 14px 24px;overflow:hidden;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;cursor:grab}.achievement-deck.is-dragging{cursor:grabbing}.achievement-content .achievement-deck-card{grid-area:1 / 1;width:100%;min-width:0;margin:0;padding-top:12px;border:1px solid var(--line);background:var(--theme-surface, #fff);align-self:stretch;transform:translate(115%) rotate(9deg) scale(.95);opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.2,.7,.3,1),opacity .26s ease;z-index:1}.achievement-deck-card[data-position="-1"]{transform:translate(-115%) rotate(-9deg) scale(.95)}.achievement-deck-card[data-position="0"]{transform:translate(var(--deck-drag, 0px),var(--deck-y, 0px)) rotate(var(--deck-rotation, 0deg)) scale(var(--deck-scale, 1));opacity:1;pointer-events:auto;z-index:5}.achievement-deck-card[data-position="1"]{transform:translate(14px,10px) rotate(3deg) scale(.965);opacity:1;z-index:3}.achievement-deck-card[data-position="2"]{transform:translate(-12px,20px) rotate(-2deg) scale(.93);opacity:1;z-index:2}.achievement-deck.is-dragging .achievement-deck-card[data-position="0"]{transition:none}.achievement-deck-navigation{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;width:176px;max-width:100%;margin:10px auto 0}.achievement-deck-navigation button{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border-color:var(--line);border-radius:10px;background:var(--theme-surface, #fff);color:var(--theme-text, #26364a)}.achievement-deck-navigation button:disabled{opacity:.32}.achievement-deck-count{text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted)}.achievement-actions{padding:20px 28px 28px!important}.achievement-actions button{width:100%;min-height:46px;margin:0!important;border-radius:10px;font-size:14px}.achievement-actions button.primary:disabled{background:var(--theme-primary-fill, #6548d6);border-color:var(--theme-primary-fill, #6548d6)}.achievement-actions button:disabled{opacity:1}@keyframes badge-reveal{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:none}}[data-theme=dark] .chess-badge-card:not(.achievement-badge){background:linear-gradient(145deg,#233449,#192536);color:#f0e7d6}[data-theme=dark] .chess-badge-card.locked{background:linear-gradient(145deg,#28313d,#202a36);color:#d5dce5;border-color:#526071}@media(max-width:700px){.achievement-dialog .MuiPaper-root{margin:12px;width:calc(100% - 24px);max-height:calc(100% - 24px)}.achievement-content{padding:12px 20px 0!important}.achievement-actions{padding:20px 20px 24px!important}.achievement-dialog .MuiDialogTitle-root{padding:24px 20px 8px}}@media(max-width:400px){.achievement-dialog .MuiDialogTitle-root,.achievement-content .achievement-badge h4{font-size:20px}}@media(prefers-reduced-motion:reduce){.chess-badge-card.celebrating,.achievement-deck-reveal.celebrating{animation:none}.achievement-content .achievement-deck-card{transition:none}}@media(max-height:500px)and (min-width:600px){.level-celebration img{width:100px;height:100px}.achievement-content{padding:6px 18px!important}.achievement-actions{padding:8px 18px!important}.achievement-dialog .MuiDialogTitle-root{padding:12px 18px 8px;font-size:22px}.achievement-content .achievement-badge{max-width:none;display:grid;grid-template-columns:100px 1fr;gap:4px 12px;padding:12px;min-height:0}.achievement-content .chess-badge-crest{grid-column:1;grid-row:1 / 3;transform:scale(.7);margin:-19px 0;justify-self:center}.achievement-content .chess-badge-card>:not(.chess-badge-crest){grid-column:2}.achievement-content .chess-badge-card h4{font-size:17px;margin:0}.achievement-content .achievement-milestone{font-size:13px;margin:0}.achievement-deck{max-width:none}}.student-home-medals,.badge-gallery-dialog .MuiDialogContent-root{--badge-scroll-thumb: color-mix(in srgb, var(--student-purple, #6548d6) 70%, transparent);scrollbar-width:thin;scrollbar-color:var(--badge-scroll-thumb) transparent}.student-home-medals:is(:hover,:focus-within),.badge-gallery-dialog .MuiDialogContent-root:is(:hover,:focus-within){--badge-scroll-thumb: var(--student-purple, #6548d6)}@supports selector(::-webkit-scrollbar){.student-home-medals,.badge-gallery-dialog .MuiDialogContent-root{scrollbar-width:auto;scrollbar-color:auto}}.student-home-medals::-webkit-scrollbar,.badge-gallery-dialog .MuiDialogContent-root::-webkit-scrollbar{width:6px;height:6px}.student-home-medals::-webkit-scrollbar-track,.badge-gallery-dialog .MuiDialogContent-root::-webkit-scrollbar-track{background:transparent}.student-home-medals::-webkit-scrollbar-thumb,.badge-gallery-dialog .MuiDialogContent-root::-webkit-scrollbar-thumb{background:var(--badge-scroll-thumb);background-clip:padding-box;border:1px solid transparent;border-radius:999px}.badge-gallery-dialog .MuiDialog-paper{border-radius:22px;width:min(1000px,calc(100% - 32px));margin:16px;height:min(850px,calc(100% - 32px))}.badge-gallery-dialog .MuiDialogContent-root{min-height:0;scrollbar-gutter:stable}.badge-gallery-filters{display:flex;gap:14px;align-items:stretch;margin:8px 0 20px}.badge-gallery-filters>*{flex:1}.badge-gallery-filters .dashboard-segments{background:transparent;gap:8px}.badge-gallery-filters .dashboard-segments button[aria-pressed=false]{border:1px solid color-mix(in srgb,#7351c4 35%,var(--line));background:var(--theme-surface, #fff);box-shadow:0 2px 4px #30204412}.badge-gallery-filters .dashboard-segments button[aria-pressed=false]:hover{border-color:#9677ec;background:color-mix(in srgb,#7351c4 8%,var(--theme-surface, #fff))}.badge-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.badge-gallery-dialog .badge-gallery-card{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-radius:16px;border:1px solid var(--line);background:var(--theme-surface, #fff);color:inherit;font:inherit;cursor:pointer}.badge-gallery-dialog .badge-gallery-card:hover{border-color:#9872dd}.badge-gallery-emblem{position:relative;width:82px;height:88px;display:block;flex-shrink:0}.badge-gallery-emblem .chess-badge-crest{position:absolute;left:50%;top:4px;margin:0;transform:translate(-50%) scale(.56);transform-origin:top center}.locked .chess-badge-crest{filter:grayscale(1);opacity:.4}.badge-gallery-lock{position:absolute;bottom:4px;right:2px;padding:5px;box-sizing:content-box;border:1px solid var(--line);border-radius:50%;color:#655f79;background:var(--theme-surface, #fff)}.badge-gallery-card strong{font-size:11px;line-height:1.35;min-height:30px;overflow-wrap:anywhere}.badge-gallery-card small{font-size:10px;color:var(--muted)}.badge-gallery-empty{text-align:center;padding:60px 12px;color:var(--muted);font-size:13px}.badge-gallery-detail{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 32px;text-align:center}.badge-gallery-detail>button{align-self:flex-start}.badge-gallery-detail>.badge-gallery-emblem{width:140px;height:150px}.badge-gallery-detail .chess-badge-crest{transform:translate(-50%) scale(.95)}.badge-gallery-detail h3{font-size:21px}.badge-gallery-detail p{font-size:13px;max-width:360px}.badge-gallery-detail progress{width:min(100%,320px);height:8px;accent-color:#8862cc}.badge-gallery-detail small,.badge-gallery-detail time{font-size:12px;color:var(--muted)}@media(max-width:600px){.badge-gallery-dialog .MuiDialog-paper{width:calc(100% - 16px);margin:8px;max-height:calc(100% - 16px)}.badge-gallery-dialog .MuiDialogContent-root{padding:0 12px 12px}.badge-gallery-filters{flex-direction:column;gap:8px}.badge-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.badge-gallery-card{padding:8px 3px}.badge-gallery-card strong{font-size:10px;min-height:40px}.badge-gallery-emblem{width:70px;height:79px}.badge-gallery-emblem .chess-badge-crest{transform:translate(-50%) scale(.49)}.badge-gallery-detail .chess-badge-crest{transform:translate(-50%) scale(.95)}}.student-home-badges :is(.student-home-medal-card,.student-home-near>button){position:relative;isolation:isolate;overflow:hidden;transform:translateY(calc(-2px * var(--badge-hover-active, 0)));box-shadow:inset 0 0 20px color-mix(in srgb,var(--metal) calc(14% * var(--badge-hover-active, 0)),transparent);transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out}.student-home-badges :is(.student-home-medal-card,.student-home-near>button):after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 28%,#ffffff55 48%,transparent 68%);transform:translate(-120%);opacity:0;animation:var(--badge-sheen-animation, none)}.student-home-badges :is(.student-home-medal-card,.student-home-near>button)>.student-home-crest{transform:rotate(calc(-5deg * var(--badge-hover-active, 0))) scale(calc(1 + .08 * var(--badge-hover-active, 0)));filter:drop-shadow(0 3px 5px color-mix(in srgb,var(--metal) calc(35% * var(--badge-hover-active, 0)),transparent));transform-origin:center;transition:transform .35s cubic-bezier(.2,.8,.2,1.2),filter .2s ease-out}.student-home-badges :is(.student-home-medal-card,.student-home-near>button):focus-visible{--badge-hover-active: 1;--badge-sheen-animation: badge-card-sheen .8s ease-out both}@media(hover:hover)and (pointer:fine){.student-home-badges :is(.student-home-medal-card,.student-home-near>button):hover{--badge-hover-active: 1;--badge-sheen-animation: badge-card-sheen .8s ease-out both}}@keyframes badge-card-sheen{0%{transform:translate(-120%);opacity:0}20%{opacity:.7}to{transform:translate(120%);opacity:0}}@media(prefers-reduced-motion:reduce){.student-home-badges :is(.student-home-medal-card,.student-home-near>button){transform:none;transition:none}.student-home-badges :is(.student-home-medal-card,.student-home-near>button):after{display:none;animation:none}.student-home-badges :is(.student-home-medal-card,.student-home-near>button)>.student-home-crest{transform:none;transition:none}}.student-home-xp{grid-area:xp;container-type:inline-size;min-width:0;padding:24px;border-radius:22px;color:#fff;background:radial-gradient(ellipse at 95% 0%,#7461d2aa 0%,transparent 65%),linear-gradient(120deg,#172c50,#302858);box-shadow:0 10px 25px #4c369623}.student-home-xp.student-home-xp-compact{padding:16px;border-radius:16px}.student-home-xp-compact .student-home-xp-layout{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;min-height:0;gap:12px}.student-home-xp-compact .student-home-level-art{width:64px;height:64px}.student-home-xp-compact .student-home-level-badge{grid-row:1;grid-column:1;font-size:10px}.student-home-xp-compact .student-home-xp-content{grid-row:1;grid-column:2;padding:0}.student-home-xp-compact .student-home-next-level{display:none}.student-home-xp-compact .student-home-identity{gap:5px}.student-home-xp-compact .student-home-identity>span{top:0;font-size:13px}.student-home-xp-compact .student-home-identity>strong{font-size:17px}.student-home-xp-compact .student-home-xp-total{font-size:23px;margin-top:5px}.student-home-xp-compact .student-home-xp-progress{grid-row:2}.student-home-xp-compact .student-home-xp-levels,.student-home-xp-compact .student-home-xp-caption{font-size:10px}.student-home-xp-layout{display:grid;grid-template-columns:172px minmax(0,1fr) 164px;grid-template-rows:minmax(210px,auto) auto;gap:22px;align-items:center;min-height:220px}.student-home-level-badge{grid-row:1;display:flex;flex-direction:column;align-items:center;gap:8px;color:#e8defb;font-size:13px}.student-home-level-badge b{color:#fff}.student-home-level-art{width:172px;height:172px;position:relative;isolation:isolate}.student-home-level-art:before,.student-home-next-art:before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid #edd09870;border-radius:50%;background:radial-gradient(circle at 38% 25%,#f5d8a024,transparent 65%),linear-gradient(145deg,#ffffff0c,#0a102a40);box-shadow:inset 0 0 0 5px #ffffff05,inset 0 1px 12px #ffffff08,0 8px 22px #090e2426}.student-home-level-art img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 15px #090e2440)}.student-home-xp-content{min-width:0;padding-bottom:16px}.student-home-identity{display:flex;flex-direction:column;gap:16px;min-width:0}.student-home-identity>span{position:relative;top:-8px;color:#f3d89b;font-size:22px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.student-home-identity>strong{font-size:27px;line-height:1.2;letter-spacing:-.4px;overflow-wrap:anywhere}.student-home-xp-total{display:block;margin-top:9px;font-size:42px;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:-1px;overflow-wrap:anywhere}.student-home-xp .student-home-xp-total small{display:inline;font-size:16px;letter-spacing:0;color:#dfd2ff}.student-home-xp-progress{grid-column:1 / -1;min-width:0}.student-home-xp .student-home-xp-progress>p{margin:0 0 14px;color:#eee5ff;font-size:12px;min-height:18px}.student-home-xp-track{height:8px;overflow:hidden;border-radius:99px;background:#ffffff25}.student-home-xp-levels{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;color:#e4d8ff;font-size:13px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}.student-home-xp-levels>span:last-child{color:#f3d89b;text-align:right}.student-home-xp-fill{position:relative;height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,#a694ff,#ebc981);transition:width .9s cubic-bezier(.16,1,.3,1);animation:level-fill-in 1.1s cubic-bezier(.16,1,.3,1) both;transform-origin:left}.student-home-xp-shimmer{position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,#fff9 50%,transparent 75%);animation:level-bar-shimmer 2.8s linear infinite}.student-home-xp-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding-top:11px;font-size:11px;color:#e4d8ff;font-variant-numeric:tabular-nums}.student-home-xp-caption b{color:#fff}.coach-home-progress .student-home-xp{border-radius:0;box-shadow:none}@keyframes level-fill-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes level-bar-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@container (max-width: 640px){.student-home-xp-layout{grid-template-columns:112px minmax(0,1fr);grid-template-rows:minmax(140px,auto) auto auto;gap:18px}.student-home-level-badge{grid-row:1;gap:4px}.student-home-level-art{width:112px;height:112px}.student-home-identity>strong{font-size:23px}.student-home-identity{gap:12px}.student-home-identity>span{font-size:20px}.student-home-xp-total{font-size:34px}.student-home-xp-progress{grid-column:1 / -1}}.student-home-next-level{min-width:0;min-height:210px;padding-left:18px;border-left:1px solid #ffffff20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.student-home-next-label{font-size:12px;color:#e6dcfa}.student-home-next-level>strong{font-size:13px;line-height:1.35}.student-home-next-gap{font-size:11px;line-height:1.5;color:#e5daf8}.student-home-next-art{width:112px;height:112px;position:relative;isolation:isolate}.student-home-next-art img{display:block;width:100%;height:100%;object-fit:contain;position:relative;filter:drop-shadow(0 3px 12px #d8c1ff40)}.student-home-next-halo{position:absolute;inset:-10px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#ebd2ff65,#b4a0ff20 45%,transparent 70%);animation:next-level-glow 4s ease-in-out infinite alternate}.student-home-next-spark{position:absolute;top:8px;right:0;color:#fbe4ae;font-size:16px;animation:next-level-spark 3.6s ease-in-out infinite alternate}.student-home-next-spark.second{inset:auto auto 18px 0;font-size:12px;animation-delay:-1.8s}@container (min-width: 641px){.student-home-identity{gap:28px}.student-home-xp-content,.student-home-next-level{align-self:start;padding-top:12px}.student-home-identity>span{top:0}.student-home-next-level{justify-content:flex-start}}@keyframes next-level-glow{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.08)}}@keyframes next-level-spark{0%{opacity:.3;transform:translateY(2px) scale(.8)}to{opacity:.9;transform:translateY(-3px) scale(1)}}@container (max-width: 640px){.student-home-next-level{grid-column:1 / -1;display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto auto;min-height:96px;border-left:0;border-top:1px solid #ffffff20;padding:16px 0 0;gap:3px 14px;text-align:left;align-content:center;justify-items:start}.student-home-next-art{grid-column:1;grid-row:1 / 4;width:76px;height:76px}.student-home-next-label{grid-column:2;grid-row:1}.student-home-next-level>strong{grid-column:2;grid-row:2}.student-home-next-gap{grid-column:2;grid-row:3}}@container (max-width: 310px){.student-home-xp-layout{grid-template-columns:88px minmax(0,1fr);gap:16px 12px}.student-home-level-art{width:88px;height:88px}.student-home-identity>strong{font-size:20px}.student-home-identity>span{font-size:18px}.student-home-xp-total{font-size:29px}.student-home-xp-total small{font-size:12px}}@media(max-width:600px){.student-home-xp{padding:18px 14px}}@media(prefers-reduced-motion:reduce){.student-home-next-halo,.student-home-next-spark{animation:none}.student-home-xp-fill{animation:none;transition:none}.student-home-xp-shimmer{animation:none;visibility:hidden}}.student-home-heatmap{container-type:inline-size;--heatmap-empty: var(--home-soft);--heatmap-one: color-mix(in srgb, var(--student-purple) 23%, var(--home-surface));--heatmap-two: color-mix(in srgb, var(--student-purple) 45%, var(--home-surface));--heatmap-three: color-mix(in srgb, var(--student-purple) 72%, var(--home-surface));--heatmap-four: var(--student-purple);display:flex;flex-direction:column;min-width:0}.student-home-heatmap header small{color:var(--home-muted)}.student-home-heatmap-chart{display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px;width:100%;max-width:270px;margin:auto;padding:0;border:0;background:transparent;color:var(--home-muted);font-family:inherit;font-size:11px;text-align:start;cursor:pointer;transition:none}.student-home-heatmap-chart:hover,.student-home-heatmap-chart:active{background:transparent}.student-home-heatmap-chart:focus-visible{outline:2px solid var(--heatmap-three);outline-offset:5px}.student-home-heatmap-chart:disabled{cursor:default;opacity:1}.student-home-heatmap-months{grid-column:2;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;min-height:16px}.student-home-heatmap-months>span{grid-row:1;white-space:nowrap}.student-home-heatmap-weekdays{display:grid;grid-template-rows:repeat(7,minmax(0,1fr));gap:4px;align-items:center}.student-home-heatmap-days{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));grid-auto-flow:column;gap:4px}.student-home-heatmap-day{display:block;aspect-ratio:1;min-width:0;border-radius:3px}.student-home-heatmap [data-level="0"]{background:var(--heatmap-empty)}.student-home-heatmap [data-level="1"]{background:var(--heatmap-one)}.student-home-heatmap [data-level="2"]{background:var(--heatmap-two)}.student-home-heatmap [data-level="3"]{background:var(--heatmap-three)}.student-home-heatmap [data-level="4"]{background:var(--heatmap-four)}.student-home-heatmap-day[data-future]{visibility:hidden}.student-home-heatmap-day[data-selected]{outline:1.5px solid var(--heatmap-four);outline-offset:1.5px}.student-home-heatmap-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--home-muted);font-size:11px}.student-home-heatmap-footer output{min-height:17px}.student-home-heatmap-legend{display:inline-flex;align-items:center;gap:3px}.student-home-heatmap-legend i{width:9px;height:9px;border-radius:2px}@container (max-width: 279px){.student-home-heatmap-footer{display:grid;grid-template-columns:minmax(0,1fr)}.student-home-heatmap-legend{justify-self:end}}.student-home-lichess{grid-area:lichess;display:grid;grid-template-columns:minmax(180px,1fr) minmax(300px,2fr);align-items:center;gap:18px}.home-lichess-identity{display:flex;flex-direction:column;align-items:stretch;gap:1px;min-width:0}.home-lichess-heading-mark{display:block;width:20px;height:20px;filter:brightness(0) invert(1)}.home-lichess-identity a{align-self:flex-start;display:inline-block;margin-left:48px;max-width:calc(100% - 48px);color:var(--home-muted);font-size:11px;font-weight:600;overflow-wrap:anywhere}.home-lichess-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}.home-lichess-rating{--rating-color: #b15b22;display:flex;flex-direction:column;align-items:center;min-width:0}.home-lichess-rating[data-category=rapid]{--rating-color: #2466c2}.home-lichess-rating[data-category=classical]{--rating-color: #147d69}.home-lichess-rating+.home-lichess-rating{border-left:1px solid var(--line)}.home-lichess-category{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:var(--home-muted);font-size:12px;font-weight:650;min-height:24px}.home-lichess-category svg{width:22px;height:22px;flex-shrink:0;color:var(--rating-color)}.home-lichess-rating strong{color:var(--rating-color);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.8px;line-height:1.4;min-height:42px;white-space:nowrap}.home-lichess-rating small{color:var(--home-muted);text-align:center;min-height:18px}.home-lichess-status{min-height:16px;margin-left:48px;color:var(--home-muted);font-size:10px;line-height:16px}html[data-theme=dark] .home-lichess-rating{--rating-color: #f5b154}html[data-theme=dark] .home-lichess-rating[data-category=rapid]{--rating-color: #58a8f0}html[data-theme=dark] .home-lichess-rating[data-category=classical]{--rating-color: #4cc6a2}@media(max-width:600px){.student-home-lichess{display:flex;flex-direction:column;align-items:stretch;gap:10px}.home-lichess-ratings{gap:6px}.home-lichess-rating strong{font-size:26px;min-height:37px}.home-lichess-category{gap:4px}.home-lichess-category svg{width:19px;height:19px}}@media(max-width:375px){.home-lichess-category{min-height:44px}.home-lichess-rating small{min-height:36px}}.student-home-grid.student-home-hub{grid-template-areas:"xp xp week" "practice practice lesson" "homework homework homework" "badges badges badges" "leaderboard leaderboard leaderboard"}.student-home-grid.student-home-hub:has(>.student-home-lichess){grid-template-areas:"xp xp week" "practice practice lesson" "homework homework homework" "badges badges badges" "lichess lichess lichess" "leaderboard leaderboard leaderboard"}.student-home-hub>.student-home-xp,.student-home-hub>.student-home-week,.student-home-hub>.student-home-practice,.student-home-hub>.student-home-agenda{align-self:stretch}.student-home-hub>.student-home-week{display:flex;flex-direction:column}.student-home-hub .student-home-week-total{margin-top:auto}.student-home-hub .student-home-days>div>span:first-child{min-height:2lh;align-content:center;text-align:center}.student-home-tile>progress::-webkit-progress-value{background:var(--tile-color)}.student-home-tile>progress::-moz-progress-bar{background:var(--tile-color)}.student-home-tile>progress{width:100%;height:5px;accent-color:var(--tile-color);margin-top:4px}.student-home-badge-shortcut-count{font-size:16px;font-variant-numeric:tabular-nums}#badge-showcase{scroll-margin-top:24px}#badge-showcase:focus-visible{outline:3px solid var(--student-purple);outline-offset:3px}.student-home-agenda{grid-area:lesson;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.student-home-hub>.student-home-practice>.student-home-shortcuts{height:100%}.student-home-agenda .student-home-lesson{grid-area:auto;container-type:inline-size}.student-home-agenda .student-home-panel{padding:16px}.student-home-agenda .student-home-lesson-content{flex:1;min-height:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;align-content:start}.student-home-agenda .student-home-lesson header{margin-bottom:12px}.student-home-agenda .student-home-lesson .lesson-summary{gap:8px;margin-top:0}.student-home-agenda .student-home-lesson .lesson-summary-time strong{font-size:19px;line-height:1.3}.student-home-agenda .student-home-lesson .lesson-summary-time .lesson-summary-date{font-size:17px;font-weight:700}.student-home-agenda .student-home-lesson .lesson-summary-title .person-name{align-items:center}@media(min-width:1151px){.student-home-hub>.student-home-agenda{grid-template-rows:repeat(2,minmax(min-content,1fr));gap:12px}.student-home-hub>.student-home-practice>.student-home-shortcuts{grid-template-rows:repeat(2,minmax(0,1fr))}}.student-home-lesson-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.student-home-lesson-actions>a{justify-content:center;min-width:0;min-height:44px;padding:10px 8px;border:1px solid transparent;border-radius:10px;line-height:1.4;font-size:12px;text-align:center;margin-top:0}.student-home-lesson-actions .student-home-link{border-color:color-mix(in srgb,var(--student-purple) 40%,var(--line));font-size:12px}@container (max-width: 239px){.student-home-lesson-actions{grid-template-columns:minmax(0,1fr)}}.homework-preview{grid-area:homework}.homework-preview header{margin-bottom:12px}.homework-preview h2 svg{color:var(--student-purple)}.homework-preview-soon{padding:5px 9px;border-radius:20px;background:color-mix(in srgb,var(--student-purple) 13%,var(--home-surface));color:var(--student-purple);font-size:11px;font-weight:700}.homework-preview-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px;margin-bottom:8px}.homework-preview-summary span{color:var(--home-muted)}.homework-preview ul{list-style:none;padding:0 0 5px;margin:12px 0 0;display:grid;gap:10px;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--student-purple) var(--home-soft)}.homework-preview-task{--task-color: #26836c;display:flex;align-items:center;gap:8px;padding:12px;min-height:72px;scroll-snap-align:start;border-radius:11px;background:color-mix(in srgb,var(--task-color) 12%,var(--home-surface));border:1px solid color-mix(in srgb,var(--task-color) 25%,var(--line))}.homework-preview-task.amber{--task-color: #b57c1b}.homework-preview-task.blue{--task-color: #377ac0}.homework-preview-task.purple{--task-color: #7952b4}.homework-preview-icon{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:9px;background:var(--task-color);color:#fff;box-shadow:0 3px color-mix(in srgb,var(--task-color) 65%,#182e3a)}.homework-preview-task>div{flex:1;min-width:0;display:grid;gap:6px}.homework-preview-task strong{font-size:11px}.homework-preview-task small{white-space:nowrap;color:var(--home-muted)}.homework-preview-task>svg{color:var(--task-color);flex-shrink:0}.homework-preview-task progress{height:4px;accent-color:var(--task-color)}.homework-preview-task progress::-webkit-progress-value{background:var(--task-color)}.homework-preview-task progress::-moz-progress-bar{background:var(--task-color)}.student-home-grid button.student-home-link{border:0;background:transparent;cursor:pointer}.student-home-medal-card{font-family:inherit;cursor:pointer}.student-home-hub .student-home-medals{grid-template-columns:repeat(8,minmax(0,1fr))}.student-home-badges .student-home-medals{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 2px 12px}.student-home-badges .student-home-medal-card{flex:0 0 156px;scroll-snap-align:start}.student-home-badges .student-home-badge-subheading{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--home-muted);font-size:15px;font-weight:700}.student-home-badges .student-home-near-heading{margin:20px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.student-home-badges .student-home-near{margin-top:0}.student-home-near>button{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:12px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--metal) 16%,var(--home-surface));border-color:color-mix(in srgb,var(--metal) 55%,var(--home-surface));color:inherit;text-align:left;cursor:pointer;font:inherit;font-size:11px;justify-content:stretch}.student-home-near-info{display:grid;gap:8px;min-width:0}.student-home-near-info .student-home-badge-family{align-items:flex-start;min-height:0;margin:0}.student-home-near-info>.student-home-near-target{color:var(--badge-copy-accent);font-weight:700}.student-home-near>button:hover{border-color:var(--metal)}.student-home-near>button progress{width:100%;height:5px;accent-color:var(--metal)}.student-home-near progress::-webkit-progress-value{background:var(--metal)}.student-home-near progress::-moz-progress-bar{background:var(--metal)}.student-home-days>[aria-current=date]{color:var(--student-purple);font-weight:700}.student-home-days>[aria-current=date] .student-home-day{outline:2px solid var(--student-purple);outline-offset:3px}.student-home-days>[aria-current=date] .student-home-day.is-complete{background:var(--student-purple);color:#fff}.dashboard-picker{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid var(--line);border-radius:14px;padding:6px 10px;background:var(--theme-surface, #fff)}.dashboard-picker-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:11px;color:#7251c9;background:#eee7ff}.dashboard-picker>div{flex:1;min-width:0}.dashboard-picker label{display:block;margin:0;font-size:10px;font-weight:700;color:var(--muted)}.dashboard-picker .MuiInputBase-root.MuiOutlinedInput-root{width:100%;min-height:28px;font:inherit;font-size:12px;font-weight:700}.dashboard-picker .MuiInputBase-root .MuiSelect-select.MuiSelect-select{padding:4px 28px 4px 0;min-height:20px;height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-picker fieldset{border:0}.dashboard-picker-single{padding-block:4px}.dashboard-picker-single .MuiInputBase-root.MuiOutlinedInput-root{min-height:44px}.dashboard-picker-single .MuiInputBase-root .MuiSelect-select.MuiSelect-select{padding-block:12px}.dashboard-picker:focus-within{outline:2px solid #9677ec;outline-offset:2px}.dashboard-picker-menu.MuiPaper-root{border-radius:14px;max-width:calc(100vw - 24px)}.dashboard-picker-menu .MuiMenuItem-root{min-height:44px;white-space:normal;overflow-wrap:anywhere;font-size:13px}.dashboard-segments{display:flex;align-items:stretch;gap:3px;padding:4px;border-radius:13px;background:var(--home-soft, var(--theme-background));min-width:0}.dashboard-segments button{flex:1;border:0;min-height:44px;padding:7px 11px;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.dashboard-segments button[aria-pressed=true]{background:#7351c4;box-shadow:0 3px 9px #6344a62b;color:#fff}.dashboard-segments button:disabled{opacity:.45;cursor:default}.dashboard-segments button:focus-visible,.badge-gallery-card:focus-visible{outline:3px solid #a785f0;outline-offset:2px}.dashboard-ranking-modes{margin-top:18px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.dashboard-ranking-modes button{--mode-color: #7251c9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:10px 6px;border:1px solid color-mix(in srgb,var(--mode-color) 20%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--mode-color) 6%,var(--home-surface));color:var(--mode-color);font:inherit;font-size:11px;cursor:pointer}.dashboard-ranking-modes button[aria-pressed=true]{color:#fff;background:linear-gradient(145deg,color-mix(in srgb,var(--mode-color) 70%,#fff),var(--mode-color));border-color:var(--mode-color);box-shadow:0 4px color-mix(in srgb,var(--mode-color) 70%,#142443),0 8px 12px color-mix(in srgb,var(--mode-color) 20%,transparent)}.dashboard-ranking-modes .gold{--mode-color: #967022}.dashboard-ranking-modes .blue{--mode-color: #3674c8}.dashboard-ranking-modes .green{--mode-color: #20866c}.dashboard-ranking-modes .orange{--mode-color: #b75c23}.dashboard-ranking-modes .red{--mode-color: var(--rush5-color)}.dashboard-ranking-modes .teal{--mode-color: #217b91}.dashboard-ranking-modes .pink{--mode-color: #ae4583}.dashboard-ranking-filters{display:grid;grid-template-columns:minmax(160px,1fr) minmax(300px,1.3fr) 180px;align-items:stretch;gap:10px;margin-top:20px}.dashboard-ranking-filters[data-team]{grid-template-columns:minmax(0,1fr) 180px}.dashboard-ranking-filters .dashboard-picker{max-width:none}.dashboard-ranking-metric{width:180px}.dashboard-ranking-metric:not([data-record]){background:transparent}.dashboard-ranking-metric button{flex:0 0 calc((100% - 3px)/2)}.dashboard-ranking-metric button[hidden]{display:none}.dashboard-ranking-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:22px;min-height:216px}.dashboard-ranking-body .student-home-podium{width:100%;max-width:510px;margin:0 auto}.dashboard-ranking-body .student-home-podium[data-count="1"]{max-width:180px}.dashboard-ranking-body .student-home-podium[data-count="2"]{max-width:360px}.dashboard-ranking-summary{min-width:0;padding-top:8px}.dashboard-ranking-empty{grid-column:1 / -1;align-self:center;display:grid;justify-items:center;gap:10px;color:var(--home-muted);font-size:13px}.dashboard-ranking-empty>svg{opacity:.45}.dashboard-ranking-empty>span{min-height:20px}.dashboard-ranking-rest{display:grid;gap:8px}.dashboard-ranking-rest>div{display:flex;align-items:center;gap:10px;min-height:48px;border-radius:12px;background:var(--home-soft);padding:9px 12px;font-size:12px}.dashboard-ranking-rest:not(:empty){margin-top:10px}.dashboard-ranking-rest>div[data-own]{background:color-mix(in srgb,var(--student-purple) 9%,var(--home-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--student-purple) 35%,transparent)}.dashboard-ranking-rest b{color:var(--student-purple);font-size:17px}.dashboard-ranking-rest strong{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-ranking-rest>div>span{max-width:40%;text-align:right}.dashboard-ranking-summary .student-home-own{margin-top:0;min-height:76px;padding:14px;background:color-mix(in srgb,var(--student-purple) 10%,var(--home-surface));border:1px solid color-mix(in srgb,var(--student-purple) 30%,var(--line))}.dashboard-ranking-summary .student-home-own>b{color:var(--student-purple)}.dashboard-personal-best{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:8px 12px;color:var(--home-muted)}.dashboard-personal-best b{font-size:18px;color:var(--student-purple)}.home-dashboard .student-home-grid.coach-home-personal{grid-template-areas:"xp badges badges" "leaderboard leaderboard leaderboard"}.home-dashboard .coach-home-personal .student-home-medals{grid-template-columns:repeat(4,minmax(0,1fr))}.home-dashboard .coach-home-personal-footer .MuiButton-root{color:#382a69;background:#ece2ff;min-height:44px;border-radius:10px;flex-shrink:0}.dashboard-progress-summary{display:flex;gap:16px;flex-wrap:wrap;padding:10px 0 20px;font-size:13px}#leaderboard,#progress{scroll-margin-top:20px}html[data-theme=dark] .dashboard-ranking-modes button:not([aria-pressed=true]){color:color-mix(in srgb,var(--mode-color) 50%,#fff)}@media(max-width:1150px){.student-home-grid.student-home-hub{grid-template-areas:"xp xp" "practice practice" "week lesson" "homework homework" "badges badges" "leaderboard leaderboard"}.student-home-grid.student-home-hub:has(>.student-home-lichess){grid-template-areas:"xp xp" "practice practice" "week lesson" "homework homework" "badges badges" "lichess lichess" "leaderboard leaderboard"}.student-home-hub .student-home-medals{grid-template-columns:repeat(4,minmax(0,1fr))}.home-dashboard .student-home-grid.coach-home-personal{grid-template-areas:"xp xp" "badges badges" "leaderboard leaderboard"}.dashboard-ranking-modes{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-ranking-filters,.dashboard-ranking-filters[data-team]{grid-template-columns:minmax(0,1fr) 180px}.dashboard-ranking-filters .dashboard-picker{grid-column:1 / -1}}@media(min-width:601px)and (max-width:1150px){.student-home-grid.student-home-hub{grid-template-areas:"xp xp" "practice practice" "week lesson" "heatmap heatmap" "homework homework" "badges badges" "leaderboard leaderboard"}.student-home-grid.student-home-hub:has(>.student-home-lichess){grid-template-areas:"xp xp" "practice practice" "week lesson" "heatmap heatmap" "homework homework" "badges badges" "lichess lichess" "leaderboard leaderboard"}.student-home-hub>.student-home-agenda{display:contents}.student-home-agenda .student-home-lesson{grid-area:lesson}.student-home-agenda .student-home-heatmap{grid-area:heatmap}}@media(min-width:900px)and (max-width:1150px){.student-home-grid.student-home-hub{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"xp xp xp" "practice practice practice" "week lesson heatmap" "homework homework homework" "badges badges badges" "leaderboard leaderboard leaderboard"}.student-home-grid.student-home-hub:has(>.student-home-lichess){grid-template-areas:"xp xp xp" "practice practice practice" "week lesson heatmap" "homework homework homework" "badges badges badges" "lichess lichess lichess" "leaderboard leaderboard leaderboard"}.student-home-agenda .student-home-heatmap{align-self:stretch}}@media(max-width:700px){.dashboard-ranking-body{grid-template-columns:minmax(0,1fr);gap:12px}}@media(max-width:600px){.student-home-hub>.student-home-week header{flex-direction:column;align-items:flex-start}.student-home-badges .student-home-near{grid-template-columns:minmax(0,1fr)}.student-home-grid.student-home-hub{grid-template-areas:"xp" "week" "practice" "lesson" "homework" "badges" "leaderboard"}.student-home-grid.student-home-hub:has(>.student-home-lichess){grid-template-areas:"xp" "week" "practice" "lesson" "homework" "badges" "lichess" "leaderboard"}.home-dashboard .student-home-grid.coach-home-personal{grid-template-areas:"xp" "badges" "leaderboard"}.student-home-hub .student-home-medals,.home-dashboard .coach-home-personal .student-home-medals{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-ranking-modes{gap:7px}.dashboard-ranking-modes button{font-size:10px;min-height:84px;padding-inline:2px}.dashboard-ranking-modes button span{overflow-wrap:normal}.dashboard-ranking-filters,.dashboard-ranking-filters[data-team]{grid-template-columns:minmax(0,1fr)}.dashboard-segments button{padding:7px 6px;font-size:11px}}.home-dashboard{--home-gold: #d8bd70;--home-muted: var(--theme-muted, #657580);--home-surface: var(--theme-surface, #fff);--home-soft: var(--theme-surface-muted, #f1f4f6);color:var(--theme-text, #182e3a)}.home-view-switch.MuiTabs-root{box-sizing:border-box;width:304px;max-width:100%;min-height:52px;padding:4px;margin-bottom:16px;border-radius:14px;background:var(--home-soft)}.home-view-switch .MuiTabs-indicator{display:none}.home-view-switch .MuiTab-root{min-height:44px;padding:8px 16px;border-radius:10px;color:var(--home-muted);font-weight:600;text-transform:none}.home-view-switch .MuiTab-root:hover{background:color-mix(in srgb,#6548d6 8%,transparent)}.home-view-switch .MuiTab-root.Mui-selected{background:#6548d6;color:#fff}.home-view-switch .MuiTab-root.Mui-focusVisible{outline:2px solid var(--theme-text, #182e3a);outline-offset:-3px}.pending-lessons{--home-surface: var(--theme-surface, #fff);--home-muted: var(--theme-muted, #657580);--pending-accent: var(--theme-purple);--student-purple: var(--pending-accent);min-width:0}html[data-theme=dark] .pending-lessons{--pending-accent: var(--theme-purple)}.pending-lessons[data-preview] .pending-lessons-actions>a,.pending-lessons .pending-lesson-complete{color:var(--pending-accent);border-color:color-mix(in srgb,var(--pending-accent) 35%,transparent)}.pending-lessons[data-preview] .pending-lessons-actions>a:hover,.pending-lessons .pending-lesson-complete:hover{background:color-mix(in srgb,var(--pending-accent) 8%,transparent);border-color:var(--pending-accent)}.pending-lessons[data-preview] .dashboard-scroll-controls button{border-color:color-mix(in srgb,var(--pending-accent) 35%,transparent)}.pending-lessons h2{display:flex;align-items:center;gap:10px;margin:0;font-size:17px}.coach-home>.pending-lessons{margin-block:20px}.pending-lessons-filter{width:240px;max-width:100%}.pending-lessons-filter .MuiSelect-select .person-name-text,.lesson-scope-filters .MuiSelect-select .person-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-lessons .home-panel-heading{flex-wrap:wrap;gap:16px}.pending-lessons-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0}.pending-lessons-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:110px;padding:12px;border:1px solid var(--theme-border, #dce0e9);border-radius:12px;background:var(--theme-surface, #fff)}.pending-lessons-list li>div{flex:1;min-width:0;overflow-wrap:anywhere}.pending-lessons-list p{color:var(--theme-muted, #657580);font-size:13px;margin:4px 0 0}.pending-lessons-list strong{font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pending-lessons-list strong .person-name-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pending-lessons-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.pending-lessons-actions>a{order:1;white-space:nowrap}.pending-lessons[data-preview] .home-empty{min-height:120px;margin:0}.pending-lessons-slider{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 28px) / 3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--pending-accent) transparent;padding:2px 2px 8px}.pending-lessons-slider li{scroll-snap-align:start}.pending-lessons-list time{display:block;margin-bottom:4px;font-size:12px;color:var(--theme-muted, #657580)}.pending-lessons-list .pending-lesson-topic{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pending-lessons-list li>a{flex-shrink:0;width:auto;min-height:44px;white-space:nowrap}@media(max-width:1100px){.pending-lessons-list{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-lessons-slider{grid-template-columns:none;grid-auto-columns:calc((100% - 14px)/2)}}@media(max-width:600px){.pending-lessons-list{grid-template-columns:minmax(0,1fr)}.pending-lessons-slider{grid-template-columns:none;grid-auto-columns:100%}.pending-lessons[data-preview] .pending-lessons-actions{width:100%}.pending-lessons[data-preview] .pending-lessons-actions>a{margin-left:auto}.pending-lessons-actions .dashboard-scroll-controls{margin-left:0}.pending-lessons-filter{width:100%}}@media(max-width:400px){.pending-lessons-list li>.pending-lesson-complete.MuiButton-root{width:44px;min-width:44px;padding:8px}.pending-lesson-complete-label{display:none}.pending-lesson-complete .MuiButton-startIcon{margin:0}}.home-dashboard h2,.home-dashboard h3,.home-dashboard p{margin:0}.home-dashboard h2{font-size:17px;letter-spacing:-.35px}.home-dashboard h3{font-size:16px;overflow-wrap:anywhere}.home-dashboard .page-title{margin-bottom:22px}.home-panel{background:var(--home-surface);border:1px solid var(--line);border-radius:16px;padding:23px;min-width:0}.home-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.home-panel-heading{margin-bottom:14px}.home-panel-heading .MuiButton-root{padding:4px 0;min-width:0}.home-placeholder{min-height:160px}.home-muted,.home-empty{color:var(--home-muted);font-size:12px;overflow-wrap:anywhere}.home-empty{padding:18px 0}.home-lesson{display:flex;flex-direction:column;text-decoration:none;color:inherit;padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;min-height:75px}.home-lesson:last-child{border-bottom:0}.home-lesson time{font-size:11px;color:var(--home-muted)}.home-lesson strong{font-size:14px}.home-lesson>span{font-size:11px;color:var(--home-muted)}.home-week-total{color:var(--home-muted);font-size:12px}.home-week-total strong{color:var(--theme-text, #182e3a);font-size:32px;padding-right:6px}.home-lesson-bar{display:flex;height:9px;gap:4px;margin:18px 0 15px;border-radius:5px;overflow:hidden;background:var(--home-soft)}.home-status-planned{background:var(--home-gold)}.home-status-held{background:#74949b}.home-status-cancelled{background:#b48787}@media(max-width:1000px){.home-panel{padding:19px}}@media(max-width:420px){.home-panel{padding:17px}}.report-history{min-width:0}.report-category-switch{display:flex;align-self:flex-start;width:fit-content;max-width:100%;margin-bottom:12px;padding:4px;border-radius:14px;background:var(--home-surface)}.report-category-switch button{flex:1;min-width:0;min-height:44px;border:1px solid transparent;border-radius:10px;padding:8px 14px;color:var(--theme-text);background:transparent;font:inherit;font-weight:600;cursor:pointer}.report-category-switch button[aria-pressed=true]{color:#fff;background:#6545d5}.report-history-value{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.report-history-value span{color:var(--home-muted);font-size:13px}.report-history-value strong{font-size:24px;color:var(--student-purple)}.report-history-plot{height:220px;display:grid;align-items:center}.report-history-plot svg{width:100%;height:100%;overflow:visible}.report-history-plot svg:focus-visible{outline:2px solid var(--student-purple);outline-offset:2px;border-radius:4px}.report-history-plot svg[data-pointer-focus]:focus{outline:none}.report-chart-selection{stroke:var(--home-surface);stroke-width:2}.report-history-plot text{fill:var(--home-muted);font-size:13px}.report-chart-grid{stroke:var(--line);stroke-dasharray:4 4}.report-chart-line{fill:none;stroke:var(--student-purple);stroke-width:3;stroke-linejoin:round}.report-chart-point{fill:var(--student-purple)}@media(max-width:600px){.parent-lichess-history .report-category-switch button{min-width:0}.report-history-plot svg{overflow:hidden}}.report-interval-switch button{min-height:44px;border:1px solid transparent;border-radius:10px;padding:8px 14px;color:var(--theme-text);background:transparent;font:inherit;cursor:pointer}.report-interval-switch{display:flex;align-self:flex-start;padding:4px;border-radius:14px;background:var(--home-surface)}.report-interval-switch button{min-width:100px;font-weight:600}.report-interval-switch button[aria-pressed=true]{color:#fff;background:#6545d5}.parent-panel .report-picker>label{color:var(--home-muted)}.parent-panel .report-picker .MuiInputBase-root.MuiOutlinedInput-root{color:var(--theme-text);background:var(--home-surface)}.parent-panel .report-picker .MuiSelect-select.MuiSelect-select{height:46px;min-height:46px}.parent-panel .report-picker .MuiOutlinedInput-notchedOutline{border-color:var(--line)}.parent-panel .report-picker .MuiSelect-icon{color:var(--student-purple)}.report-progress-controls{display:flex;gap:12px;margin-bottom:16px}.report-progress-controls>.report-picker{max-width:280px}.report-mobile-metric{display:none}.report-progress-table{width:100%;border-collapse:collapse;font-size:13px}.report-progress-table th,.report-progress-table td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:right}.report-progress-table th:first-child{text-align:left}.report-progress-table thead th{color:var(--home-muted);font-weight:500}.report-progress-table tbody th{font-weight:500}.report-progress-table td{font-variant-numeric:tabular-nums}.report-progress-table tbody tr:last-child>*{border-bottom:none}@media(max-width:600px){.report-progress-controls{flex-direction:column}.report-progress-controls>.report-picker{max-width:none}.report-mobile-metric{display:block}.report-progress-table [data-mobile=false]{display:none}.report-progress-table th:first-child span{display:block}}.parent-home{--student-purple: var(--theme-purple);display:grid;gap:18px}.parent-home>*,.parent-home section,.parent-home article,.parent-home header>*{min-width:0}.report-breadcrumbs.MuiBreadcrumbs-root{font-size:12px}.report-breadcrumbs a,.report-breadcrumbs [aria-current]{display:inline-flex;align-items:center;min-height:44px}.report-breadcrumbs a{color:var(--home-muted);text-decoration:underline;text-underline-offset:3px}.report-breadcrumbs [aria-current]{color:var(--theme-text)}.report-picker{display:grid;gap:7px;width:100%;min-width:0}.report-picker>label{margin:0;color:#d0cce5;font-size:11px;font-weight:600;line-height:16px}.report-picker .MuiInputBase-root.MuiOutlinedInput-root{width:100%;border-radius:13px;background:#ffffff12;color:#fff;font-size:14px;font-weight:650}.report-picker .MuiSelect-select.MuiSelect-select{box-sizing:border-box;height:72px;min-height:72px;padding:8px 40px 8px 14px}.report-picker .MuiOutlinedInput-notchedOutline{border-color:#ffffff40}.report-picker .MuiInputBase-root:hover .MuiOutlinedInput-notchedOutline{border-color:#c6b5ff}.report-picker .MuiInputBase-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#c6b5ff;border-width:2px}.report-picker .MuiSelect-icon{color:#d9ccff}.parent-child-identity .report-picker h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0;font-size:22px;line-height:1.25;letter-spacing:-.5px}.report-picker-menu.MuiPaper-root{--report-menu-accent: var(--theme-purple);--report-menu-selected: #eee8ff;border:1px solid #dcd2f4;border-radius:13px;box-shadow:0 14px 36px #1c17352e;max-width:calc(100vw - 32px)}.report-picker-menu .MuiMenuItem-root{min-height:44px;gap:12px;padding:10px 12px;border-radius:8px;font-size:14px}.report-picker-option{flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal}.report-picker-menu.MuiPaper-root .MuiMenuItem-root.Mui-selected,.report-picker-menu.MuiPaper-root .MuiMenuItem-root.Mui-selected:hover,.report-picker-menu.MuiPaper-root .MuiMenuItem-root.Mui-focusVisible{color:var(--report-menu-accent);background:var(--report-menu-selected)}.report-picker-menu .MuiMenuItem-root>svg{flex-shrink:0}html[data-theme=dark] .report-picker-menu.MuiPaper-root{--report-menu-accent: var(--theme-purple);--report-menu-selected: #3c315c;border-color:#64517d}.parent-home h1{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:5px 0 0;letter-spacing:-1px}.parent-selectors{display:flex;gap:12px;max-width:100%}.parent-top-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px}.parent-child-card{border-radius:20px;border:1px solid var(--line);padding:24px}.parent-child-identity{display:flex;gap:20px;align-items:center;min-height:52px}.parent-child-identity>div:last-child{display:grid;gap:6px;min-width:0}.parent-child-identity h2{font-size:26px;letter-spacing:-.7px}.parent-child-identity>div:last-child>span{color:var(--home-muted);font-size:14px}.parent-child-identity b{color:var(--student-purple);font-size:13px}.parent-home progress{width:100%;height:7px;appearance:none;border:none;border-radius:8px;background:var(--home-soft);overflow:hidden;display:block;margin-top:8px}.parent-home progress::-webkit-progress-bar{background:var(--home-soft);border-radius:8px}.parent-home progress::-webkit-progress-value{background:var(--student-purple);border-radius:8px}.parent-home progress::-moz-progress-bar{background:var(--student-purple);border-radius:8px}.parent-period-caption{margin-top:22px;color:var(--home-muted);font-size:12px}.parent-panel>header{margin-bottom:18px}.parent-panel h2{display:flex;align-items:center;gap:8px;line-height:1.4}.parent-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 18px}.parent-metrics>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:5px;min-width:0}.parent-metrics dt{color:var(--home-muted);font-size:11px;line-height:1.5}.parent-metrics dd{margin:0;font-size:24px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}.parent-activity-key{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:var(--home-muted)}.parent-activity-key b{color:var(--theme-text)}.parent-tactical>h3{font-size:13px;margin-top:24px}.parent-difficulties{display:grid;gap:15px;margin-top:18px}.parent-difficulties>div>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.parent-difficulties b{font-weight:600;text-align:right;color:var(--home-muted)}.parent-opening-list{min-height:130px}.parent-opening{border-top:1px solid var(--line);padding:16px 0;display:grid;gap:9px}.parent-opening h3{font-size:14px}.parent-opening-detail{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--home-muted)}.parent-other-practice{display:grid;gap:18px}.parent-run-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.parent-run{min-height:220px}.parent-run-heading{display:flex;gap:12px;align-items:center;width:100%}.parent-run-heading .student-home-launch-icon{width:36px;height:36px;border-radius:10px}.parent-run-heading h3{font-size:13px}.parent-run .parent-metrics{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 0}.parent-run .parent-metrics dd{font-size:22px}.parent-activity-key{margin-bottom:16px}.parent-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-height:288px;overflow:auto;padding:2px;scrollbar-gutter:stable}.parent-calendar-day{border-radius:11px;padding:11px 8px;background:var(--home-soft);display:grid;gap:6px;min-width:0;text-align:center;color:var(--home-muted)}.parent-calendar-day[data-active]{background:color-mix(in srgb,var(--student-purple) 10%,var(--home-surface));color:var(--student-purple)}.parent-calendar-day time{font-size:11px}.parent-calendar-day b{font-size:16px}.parent-calendar-day small,.parent-calendar-day>span{font-size:10px;line-height:1.4}@media(max-width:360px){.parent-calendar-day{padding-inline:4px}}.parent-lesson-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.parent-lesson-columns>section>h3{padding-bottom:14px;font-size:15px}.parent-lesson-columns>section>h3>span{color:var(--home-muted);font-weight:400}.parent-lesson-list{min-height:150px}.parent-lesson{border-top:1px solid var(--line);padding:18px 0;display:grid;gap:8px;font-size:13px}.parent-lesson>time{font-size:13px;font-weight:700;color:var(--student-purple)}.parent-lesson>time span{color:var(--home-muted);font-weight:400}.parent-lesson h3{font-size:16px;line-height:1.5}.parent-lesson-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--home-muted);font-size:11px}.parent-lesson-meta>span{padding:4px 8px;background:var(--home-soft);border-radius:6px}.parent-lesson-note{white-space:pre-wrap;line-height:1.6;background:var(--home-soft);border-radius:10px;padding:12px}.parent-next-card{border-top:0;padding-top:0}.parent-next-card>time{font-size:18px}.parent-join{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;color:#fff;background:var(--theme-primary-fill);border-radius:10px;font-weight:700;margin-top:12px;text-decoration:none}.parent-error-area{position:fixed;bottom:16px;right:16px;z-index:100;max-width:calc(100vw - 32px);padding:8px 16px;background:var(--home-surface);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:12px;color:var(--theme-text)}.parent-error-area .MuiButton-root{min-height:44px}.parent-home :is(h2,h3,p,span,dt,dd,time){overflow-wrap:anywhere}.parent-home button:focus-visible,.parent-home a:focus-visible{outline:3px solid var(--student-purple);outline-offset:3px}html[data-theme=dark] .parent-home{--student-purple: var(--theme-purple)}@media(max-width:1050px){.parent-top-grid{grid-template-columns:minmax(0,1fr)}.parent-run-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.parent-home{gap:14px}.parent-selectors{width:100%;flex-wrap:wrap}.parent-child-card{padding:16px}.parent-child-identity{gap:12px;min-height:52px}.parent-child-identity h2{font-size:21px}.parent-child-identity>div:last-child>span{font-size:12px}.parent-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.parent-calendar{grid-template-columns:repeat(3,minmax(0,1fr));max-height:300px}.parent-run-grid,.parent-lesson-columns{grid-template-columns:minmax(0,1fr)}.parent-run{min-height:0;padding:18px}.parent-run .parent-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.parent-run .parent-metrics dt{font-size:10px}}.parent-child-identity h2{margin:0}.parent-openings{display:flex;flex-direction:column}.parent-opening-list{max-height:430px;min-height:0;overflow:auto;scrollbar-gutter:stable;padding:2px}.parent-opening{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--student-purple) 4%,var(--home-surface));padding:16px;margin-bottom:10px}.parent-lesson-columns>section{display:flex;flex-direction:column}.parent-lesson-list{height:480px;overflow:auto;scrollbar-gutter:stable;padding:2px}.parent-topics summary,.parent-lesson-notes summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px;font-weight:600}.parent-topics>div{max-height:160px;overflow:auto}.parent-topics>div>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px}.parent-topics b{font-weight:500;text-align:right}.parent-day-detail{min-height:126px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.parent-day-detail h3{font-size:14px}.parent-calendar-day{font:inherit;border:2px solid transparent;cursor:pointer;min-height:90px}.parent-calendar-day[aria-pressed=true]{border-color:var(--student-purple)}.parent-lichess-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--home-muted)}.parent-lichess-meta a{color:var(--student-purple)}.parent-lichess-meta button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--home-soft);color:inherit}.parent-lichess-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.parent-lichess-grid>div{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px}.parent-lichess-grid strong{font-size:26px}.parent-rating-change{font-size:12px}.parent-rating-change[data-direction=up]{color:#15803d}.parent-rating-change[data-direction=down]{color:#c53645}html[data-theme=dark] .parent-rating-change[data-direction=up]{color:#75db9a}html[data-theme=dark] .parent-rating-change[data-direction=down]{color:#ff9ca5}.parent-selectors{width:100%}.parent-period-caption{margin-top:12px}.parent-level-badge{display:flex;align-items:center;gap:8px}.parent-level-badge img{width:80px;height:80px;object-fit:contain}.parent-summary-header{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:14px;align-items:start}.parent-summary-header .parent-child-identity{display:block;min-height:0}.parent-summary-header .parent-selectors{width:100%}.parent-summary-header .parent-level-badge{grid-column:1 / -1;min-height:80px;gap:14px}.parent-level-badge>div{display:grid;gap:5px}.parent-level-badge span{color:var(--home-muted);font-size:13px}.parent-level-badge strong{font-size:18px}@media(max-width:600px){.parent-summary-header{grid-template-columns:minmax(0,1fr);gap:12px}.parent-summary-header .parent-selectors{grid-row:2}.parent-summary-header .parent-child-identity{grid-row:1}.parent-summary-header .parent-level-badge{grid-row:3}}.parent-tactical-rating{display:block;font-size:clamp(48px,6vw,72px);line-height:1.15;letter-spacing:-2px;color:var(--student-purple)}.parent-rating-card .parent-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.parent-topics .parent-topic-list{max-height:240px;overflow:auto}.parent-topics .parent-topic-list>div{display:block;padding:10px 0}.parent-topic-list>div>div{display:flex;justify-content:space-between;gap:12px}.parent-metrics dd{display:flex;align-items:center;gap:7px}.parent-metric-icon{display:inline-flex;flex-shrink:0;color:var(--student-purple)}.parent-opening .parent-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 0;gap:16px 8px}.parent-opening .parent-metrics dd{font-size:20px}@media(max-width:600px){.parent-child-identity h2{min-height:2.8em}.parent-opening .parent-metrics,.parent-run .parent-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.parent-rating-value{display:flex;align-items:center;gap:12px}.parent-rating-value>.parent-rating-change{flex-shrink:0;white-space:nowrap;min-height:24px;font-size:16px;font-weight:700}.parent-home .parent-panel{--panel-accent: #7654d8;background:linear-gradient(150deg,color-mix(in srgb,var(--panel-accent) 9%,var(--home-surface)),var(--home-surface) 80%);border-color:color-mix(in srgb,var(--panel-accent) 18%,var(--home-surface))}.parent-home .parent-child-card{--home-muted: #d0cce5;--student-purple: var(--theme-purple);color:#fff;background:radial-gradient(ellipse at 95% 0%,#7461d2aa 0%,transparent 65%),linear-gradient(120deg,#172c50,#302858);border-color:#7461d240}.parent-home *,.parent-home{scrollbar-width:thin;scrollbar-color:var(--student-purple) var(--home-soft)}.parent-home *::-webkit-scrollbar{width:6px;height:6px}.parent-home *::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--student-purple) 70%,transparent);background-clip:padding-box;border:1px solid transparent;border-radius:999px}.parent-home *::-webkit-scrollbar-track{background:transparent}@supports selector(::-webkit-scrollbar){.parent-home *,.parent-home{scrollbar-width:auto;scrollbar-color:auto}}.parent-home *:is(:hover,:focus-within)::-webkit-scrollbar-thumb{background-color:var(--student-purple)}.parent-tactical-summary{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);gap:24px;align-items:center}.parent-tactical-summary>.parent-metrics,.parent-positional>.parent-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}@media(min-width:701px){.parent-tactical-summary>.parent-metrics{align-self:end;align-items:center;min-height:clamp(55.2px,6.9vw,82.8px);margin:0}}.parent-tactical h3{margin:0 0 14px;font-size:14px}.parent-tactical-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.parent-tactical-breakdown>div{min-width:0}.parent-tactical .parent-topic-list{height:256px;max-height:256px;overflow:auto;scrollbar-gutter:stable;padding-right:8px}.parent-tactical .parent-difficulties{margin-top:0}.parent-opening-list{height:auto;min-height:0}.parent-lesson-list{height:480px}@media(max-width:700px){.parent-tactical-summary,.parent-tactical-breakdown{grid-template-columns:minmax(0,1fr)}.parent-tactical-summary>.parent-metrics,.parent-positional>.parent-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.celebration-confetti{--celebration-dialog-width: min(440px, calc(100vw - 48px) );--celebration-side-offset: max(4px, calc((100vw - var(--celebration-dialog-width)) / 2 - 8px));position:fixed;inset:0;z-index:1400;overflow:hidden;pointer-events:none}.celebration-confetti>div{position:absolute;top:55%;width:1px;height:1px}.celebration-confetti-left{left:var(--celebration-side-offset)}.celebration-confetti-right{right:var(--celebration-side-offset);transform:scaleX(-1)}.celebration-confetti i{position:absolute;width:7px;height:12px;border-radius:2px;background:var(--theme-purple, #6548d6);opacity:0;animation:celebration-confetti-burst 2.2s var(--confetti-delay) ease-out both}.celebration-confetti i:nth-child(3n+2){background:#9473f2}.celebration-confetti i:nth-child(3n){width:6px;height:6px;border-radius:50%;background:#c9bbef}@keyframes celebration-confetti-burst{0%{opacity:0;transform:translate(0) rotate(0)}8%{opacity:1}42%{opacity:1;transform:translate(var(--confetti-x),calc(-1 * var(--confetti-rise))) rotate(var(--confetti-rotation))}to{opacity:0;transform:translate(calc(var(--confetti-x) * 1.35),var(--confetti-fall)) rotate(calc(var(--confetti-rotation) * 1.8))}}@media(max-width:480px){.celebration-confetti{--celebration-dialog-width: calc(100vw - 24px) }}@media(prefers-reduced-motion:reduce){.celebration-confetti{display:none}}:root[data-theme=dark]{color-scheme:dark;--theme-canvas: #101820;--theme-surface: #19242f;--theme-surface-muted: #22313e;--theme-text: #e4ebf1;--theme-muted: #a9b8c5;--theme-border: #3c4e5d;--theme-gold-text: #e1c57d;--theme-gold-surface: #332d20;--theme-gold-border: #655639;--theme-success-text: #93d5b0;--theme-success-surface: #1d362d;--theme-success-border: #3b6553;--theme-danger-text: #f3aaa4;--theme-danger-surface: #3c282c;--theme-danger-border: #77494b;--theme-info-text: #a2c8ed;--theme-info-surface: #21384c;--theme-info-border: #405d77;--navy: var(--theme-text);--muted: var(--theme-muted);--line: #344451}:root[data-theme=light]{color-scheme:light}[data-theme=dark] :is(.run-turn-king,.repertoire-king,.training-turn-king){filter:drop-shadow(0 0 1px #cbd5de)}[data-theme=dark] .analysis-switch>span{background:#fff}@font-face{font-family:Manrope;src:url(/static/assets/manrope-latin-ext-Ch3YOpNY.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;src:url(/static/assets/manrope-latin-DHIcAJRg.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Chess;src:url(/static/assets/lichess-chess-CQbi0kTv.woff2) format("woff2");font-display:block;unicode-range:U+0042,U+004B,U+004E,U+0051-0052}.notation-san{font-family:Noto Chess,Manrope,sans-serif}:root{font-family:Manrope,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--theme-text, #182e3a);background:var(--page-background, #f1f4f8);font-synthesis:none;font-weight:450;line-height:1.6;--navy: #132837;--gold: #f3d34a;--muted: #657580;--line: #e4e8eb}.app-search .MuiOutlinedInput-root{min-height:44px}.app-search .MuiOutlinedInput-input{padding-top:10px;padding-bottom:10px;text-overflow:ellipsis}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid var(--theme-border, #d9e0e4);border-radius:9px;background:var(--theme-surface, #fff);color:var(--navy);font-weight:650;font-size:13px;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}button>.app-icon,.button>.app-icon,.viewer-modes>*>.app-icon{flex-shrink:0}button:hover,.button:hover{background:var(--theme-surface-muted, #edf1f2);border-color:var(--theme-border, #bbc8cf)}button:disabled{opacity:.48;cursor:not-allowed}button.primary,.button.primary{background:var(--theme-primary-fill, #132837);color:#fff;border-color:var(--theme-primary-fill, #132837)}button.primary:hover,.button.primary:hover{background:var(--theme-primary-hover)}button.text-button{border-color:transparent;background:transparent;padding-inline:7px}.icon-button{width:44px;padding:9px;background:transparent;border-color:transparent}.wide{width:100%}a{color:inherit;text-decoration:none}a:hover{color:var(--theme-info-text, #326979)}:focus-visible{outline:none}:is(a,button,input,select,textarea,summary,[role=button],[role=slider]):focus-visible{outline:2px solid var(--muted);outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:clamp(24px,2.5vw,32px);letter-spacing:-.8px;line-height:1.25;font-weight:780}h2{font-size:18px;font-weight:750;line-height:1.4;letter-spacing:-.3px}small{display:block;color:var(--muted);font-size:12px;font-weight:450}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;margin-bottom:16px}input:not(.MuiInputBase-input):not(.MuiSelect-nativeInput):not(.MuiSwitchBase-input):not(.MuiSwitch-input):not(.MuiSlider-input),textarea:not(.MuiInputBase-input){width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--theme-border, #d9e0e4);border-radius:8px;color:var(--navy);background:var(--theme-surface, #fff);font-size:14px}input::placeholder,textarea::placeholder{color:var(--theme-muted, #8c989f);font-weight:400}.select-field{min-width:0;gap:6px;margin-bottom:16px}.select-option-label{flex:1;min-width:0}textarea{resize:vertical}progress{width:100%;height:7px;border:0;border-radius:9px;background:var(--theme-surface-muted, #e4e8e9);accent-color:var(--theme-progress);overflow:hidden}progress::-webkit-progress-bar{background:var(--theme-surface-muted, #e4e8e9)}progress::-webkit-progress-value{background:var(--theme-progress);border-radius:9px}progress::-moz-progress-bar{background:var(--theme-progress)}.muted{color:var(--muted);font-size:13px}.notice{padding:13px 16px;margin-bottom:18px;border:1px solid var(--theme-border, #dce5de);border-radius:8px;background:var(--theme-surface-muted, #eef5ef);color:var(--theme-text, #355647);font-size:13px}.notice.error{background:var(--theme-danger-surface, #fff1f0);color:var(--theme-danger-text, #973e36);border-color:var(--theme-danger-border, #f0d5d1)}.notice.success{background:var(--theme-success-surface, #eaf5ed)}.loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:220px;color:var(--muted);font-size:14px}.initial-state{margin:20vh auto;max-width:440px;padding:24px}.empty{padding:40px 24px;color:var(--muted);font-size:14px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}.password-field{display:grid;gap:7px;margin-bottom:16px}.password-field label{margin-bottom:0}.password-input{position:relative}.password-input input{padding-right:52px}.password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:40px;height:40px;padding:0;border:0;background:transparent}.app-shell{min-height:100dvh}.workspace{min-width:0}.header-nav{display:flex;justify-content:center;gap:4px;min-width:0}.header-nav a,.puzzle-nav-trigger{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;max-width:240px;min-height:44px;padding:8px 12px;border-radius:6px;color:var(--muted);font-size:12px;font-weight:650}.puzzle-nav{position:relative}.puzzle-nav-trigger{border:0;background:transparent}.puzzle-nav-trigger:hover,.puzzle-nav-trigger[aria-expanded=true],.puzzle-nav-trigger.active{color:var(--navy);background:var(--theme-surface-muted, #edf1f3)}.puzzle-nav-trigger.active{box-shadow:inset 0 -3px var(--gold)}.puzzle-nav-panel .app-icon{flex-shrink:0}.header-nav svg{flex-shrink:0}.header-nav a:hover,.header-nav a.active{color:var(--navy);background:var(--theme-surface-muted, #edf1f3)}.header-nav a.active{box-shadow:inset 0 -3px var(--gold)}@media(max-width:950px){.app-shell .topbar{height:auto;min-height:60px;flex-wrap:wrap;gap:4px 12px}.header-nav{order:1;width:100%;gap:4px;flex-wrap:wrap}.header-nav>a,.header-nav>.puzzle-nav{flex:1 0 88px}.header-nav>a,.puzzle-nav-trigger{gap:3px;padding:4px;font-size:10px;line-height:1.2;text-align:center}.puzzle-nav-trigger{width:100%;max-width:none}.topbar .brand>span{font-size:11px}}.brand{display:flex;align-items:center;min-height:44px;gap:10px;color:var(--navy);font-size:12px;font-weight:750;padding:0 6px}.brand img{width:36px;height:36px;border-radius:9px}.brand small{color:var(--muted);font-size:9px;letter-spacing:2px;margin-top:3px}.topbar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:8px 24px;background:var(--theme-surface, #fff);border-bottom:1px solid var(--line)}.account{display:flex;align-items:center;gap:11px}.account strong{font-size:12px;font-weight:750}.account small{font-size:10px}.main-content{padding:35px 40px 65px;max-width:1420px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:20px}.page-title-heading{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.page-title-content{min-width:0}.page-title h1{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.page-title p{color:var(--muted);font-size:13px;margin-top:4px}.page-back{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;min-height:44px;padding:0;color:var(--muted)}.page-back:hover{background:var(--theme-surface-muted, #edf1f3);color:var(--navy)}.opening-page-title h1{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}.opening-page-title h1>span:last-child{min-width:0}.opening-side-piece{display:flex;flex:0 0 36px;width:36px;height:36px}.opening-side-piece>svg{display:block;width:100%;height:100%}.panel{background:var(--theme-surface, #fff);border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:24px;min-width:0}.panel>h2{margin-bottom:20px}.panel>.muted{margin-top:-10px;margin-bottom:20px}.row-metric{text-align:center;min-width:70px}.row-metric strong{font-size:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.section-heading p{font-size:12px;margin-top:6px;color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:var(--muted);font-size:10px;font-weight:650;padding:12px 14px;white-space:nowrap;background:var(--theme-surface-muted, #f7f8f9)}td{padding:15px 14px;border-bottom:1px solid var(--line)}td small{font-size:10px;margin-top:3px}.catalog-heading>.page-title-heading{flex-basis:auto}.catalog-heading,.catalog-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.catalog-tools{justify-content:flex-end;max-width:100%;margin-left:auto}.repertoire-groups{display:grid;gap:26px}.repertoire-group>h2{display:flex;align-items:center;gap:9px;margin-bottom:12px}.repertoire-king{display:flex;width:26px;height:26px;flex-shrink:0}.repertoire-king>svg{width:100%;height:100%}.navigation-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;list-style:none;margin:0;padding:0}.navigation-card-grid>li{display:flex;min-width:0}.navigation-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:var(--navy);font-size:14px;line-height:1.5;font-weight:700;overflow-wrap:anywhere}@media(max-width:680px){.navigation-card-grid{grid-template-columns:minmax(0,1fr)}}.upload-dialog-title.MuiDialogTitle-root{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:12px}.opening-import-page{max-width:900px;margin-inline:auto}.opening-import-page .import-step{padding:8px 0}.import-step .MuiDialogTitle-root{font-size:24px;outline:none}.import-step .MuiDialogContent-root{overflow:auto;min-height:0;overscroll-behavior:contain;padding-top:12px}.import-step .MuiDialogActions-root{padding:16px 24px;flex-wrap:wrap;gap:8px;flex-shrink:0;background:var(--theme-surface, #fff);border-top:1px solid var(--line)}.opening-import-page .import-step{display:flex;flex-direction:column;max-height:var(--import-height, calc(100dvh - 120px) );overflow:hidden}.import-pagination{display:flex;align-items:center;gap:4px;margin-right:auto;white-space:nowrap}.academy-loading.MuiModal-root{z-index:1600;display:grid;place-items:center}.academy-loading .MuiBackdrop-root{z-index:0;background:#0c1e2b61;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.academy-loading-card{position:relative;z-index:1;outline:none;background:var(--theme-surface, #fff);color:var(--navy);border:1px solid var(--line);border-radius:20px;padding:28px;width:min(320px,calc(100vw - 40px));text-align:center;box-shadow:0 16px 60px #0000002e}.academy-loading-emblem{position:relative;width:72px;height:72px;margin:auto;padding:8px}.academy-loading-emblem:before{content:"";position:absolute;inset:0;border:3px solid var(--line);border-top-color:#d5ad44;border-radius:50%;animation:spin 1.2s linear infinite}.academy-loading-emblem img{width:100%;height:100%;border-radius:50%;object-fit:cover}.academy-loading-card p{margin:18px 0 0;font-weight:600}@media(prefers-reduced-motion:reduce){.academy-loading-emblem:before{animation:none}}@media(max-width:480px){.import-step .MuiDialogActions-root{padding:12px;gap:4px}.import-pagination{flex-basis:100%;justify-content:center}}.catalog-view-toggle.MuiToggleButtonGroup-root{flex-shrink:0}.catalog-view-toggle .MuiToggleButton-root{width:44px;height:44px;padding:10px}.catalog-view-list.navigation-card-grid,.catalog-view-list .navigation-card-grid{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.catalog-view-list .catalog-card{grid-template-columns:minmax(0,1fr) minmax(100px,22%) 150px 100px;grid-template-rows:minmax(44px,auto);align-items:center;min-height:82px;height:auto;border:0;border-radius:0;gap:20px}.catalog-view-list li+li{border-top:1px solid var(--line)}.catalog-view-list .catalog-card-footer{border:0;flex-direction:column;align-items:flex-end;gap:3px}.catalog-view-list .catalog-card-uploader{max-width:100%}.catalog-view-list .catalog-card-heading{align-items:center}@media(max-width:680px){.catalog-view-list .catalog-card{grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:42px 32px 20px;gap:8px;padding:14px}.catalog-view-list .catalog-card-heading{grid-column:1 / -1}.catalog-view-list .catalog-card-uploader{display:none}.catalog-view-list .catalog-card-footer{grid-column:1;align-items:flex-start}.catalog-view-list .catalog-card>.material-inspect-button{grid-column:2;grid-row:2 / 4}}.catalog-card{display:grid;grid-template-rows:42px 32px minmax(24px,1fr) 44px;align-items:stretch;gap:10px;width:100%;min-width:0;height:100%;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--theme-surface, #fff);color:var(--navy)}.catalog-card>.material-inspect-button{grid-row:4}.catalog-view-list .catalog-card>.material-inspect-button{grid-column:4;grid-row:1}.catalog-card-heading{display:flex;align-items:flex-start;gap:10px;min-width:0}.opening-card.catalog-card{grid-template-rows:42px minmax(24px,1fr) 44px}.opening-card>.material-inspect-button{grid-row:3}.catalog-view-list .opening-card.catalog-card{grid-template-columns:minmax(0,1fr) 150px 100px;grid-template-rows:minmax(44px,auto)}.catalog-view-list .opening-card>.material-inspect-button{grid-column:3}.catalog-view-list .opening-card .catalog-card-footer{grid-column:2}@media(max-width:680px){.catalog-view-list .catalog-card>.material-inspect-button{grid-column:2;grid-row:2 / 4}.catalog-view-list .opening-card.catalog-card{grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:42px 44px}.catalog-view-list .opening-card .catalog-card-footer{grid-column:1}.catalog-view-list .opening-card>.material-inspect-button{grid-row:2}}.catalog-card-icon{flex-shrink:0;color:var(--theme-info-text, #326a9c);padding-top:2px}.catalog-card-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;min-width:0;border-top:1px solid var(--line);color:var(--muted);font-size:11px;white-space:nowrap}.catalog-card-footer>:first-child{flex-shrink:0}.catalog-card-uploader{overflow:hidden;text-overflow:ellipsis}.catalog-label-row{position:relative;display:flex;align-items:center;gap:5px;min-width:0;height:32px}.catalog-label-row>.material-label-chip,.catalog-label-measure .material-label-chip{flex-shrink:0;max-width:none;white-space:nowrap;overflow-wrap:normal}.catalog-label-measure{position:absolute;display:flex;gap:5px;width:max-content;max-width:100%;overflow:hidden;visibility:hidden;pointer-events:none}.catalog-label-more{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:32px;min-height:32px;height:32px;padding:3px 8px;border:1px solid var(--line);border-radius:12px;background:var(--theme-info-surface, #edf3f7);color:var(--navy);font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.catalog-label-more:after{content:"";position:absolute;inset:-6px 0}.catalog-label-popover.MuiPaper-root{display:flex;flex-wrap:wrap;gap:6px;max-width:min(320px,calc(100vw - 32px));padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--theme-surface, #fff)}.catalog-search{width:420px;max-width:100%;min-width:0}.catalog-search .MuiAutocomplete-input{min-width:100px!important}.material-label-picker{min-width:0}.material-label-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0;margin-block:6px}.material-label-chip{display:inline-block;max-width:100%;padding:3px 9px;border-radius:12px;background:var(--theme-info-surface, #edf3f7);color:var(--navy);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.upload-dialog-title>button{flex-shrink:0;width:44px;height:44px}.upload-dialog .upload-content.MuiDialogContent-root{display:flex;flex-direction:column;gap:18px;padding-top:12px;padding-bottom:0}.upload-zone{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px dashed var(--theme-border, #a5b6bf);padding:20px 16px;border-radius:9px;background:var(--theme-info-surface, #f5f8fc);gap:6px;margin:0;cursor:pointer}.upload-opening-options{display:grid;gap:12px}.upload-title-fields{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.upload-title-fields>.MuiTextField-root{flex:1 1 200px;min-width:0}.upload-title-fields>.opening-color-field{flex:1 0 100%;min-width:0}.opening-color-field .MuiRadioGroup-root{flex-wrap:nowrap;gap:8px}.opening-color-field .MuiFormControlLabel-root{margin:0;padding-right:12px;border:1px solid var(--theme-border, #a5b6bf);border-radius:8px}.opening-color-field .MuiFormControlLabel-root:has(.Mui-checked){border-color:var(--theme-primary, #6548d6)}.opening-color-field .select-option-with-icon{gap:4px}.upload-opening-options .MuiFormControlLabel-root{margin:0}.select-option-with-icon{display:inline-flex;align-items:center;gap:8px}.select-option-icon{display:inline-flex;width:24px;height:24px;flex:0 0 24px}.select-option-icon svg{width:100%;height:100%}.upload-zone:focus-within{outline:2px solid var(--theme-border, #657580);outline-offset:2px}.upload-zone strong{max-width:100%;overflow-wrap:anywhere;font-size:14px}.upload-zone span{color:var(--muted);font-size:11px}.upload-zone .upload-file-action{border:1px solid var(--line);border-radius:7px;padding:7px 14px;background:var(--theme-surface, #fff);color:var(--navy);font-size:12px;font-weight:650;margin-top:4px}.upload-zone input.upload-file-input{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;opacity:0;cursor:pointer}.upload-zone[aria-disabled=true],.upload-zone[aria-disabled=true] input{cursor:default}.upload-content .upload-guidance{margin:0;font-size:12px;line-height:1.7}ul.upload-guidance{padding-left:18px}.upload-guidance li+li{margin-top:7px}.upload-content .upload-progress{margin:0;font-size:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px;font-size:13px}.sharing-page{max-width:960px}.sharing-breadcrumbs{min-height:28px}.sharing-page .page-title{margin-bottom:20px}.sharing-surface{overflow:hidden}.sharing-club{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--line)}.sharing-club>svg{flex-shrink:0}.sharing-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(160px,240px);align-items:center;gap:16px;padding:16px 20px}.sharing-tabs{justify-self:start;min-height:44px!important;border:1px solid var(--line);border-radius:8px;padding:3px;background:var(--theme-surface-muted, #f1f4f6)}.sharing-tabs .MuiTabs-indicator{display:none}.sharing-tabs .MuiTab-root{min-width:0;min-height:36px;padding:6px 12px;border-radius:5px;text-transform:none}.sharing-tabs .MuiTab-root.Mui-selected{background:var(--theme-surface, #fff);color:var(--theme-text, #182e3a);box-shadow:0 1px 3px #13283718}.sharing-search{width:240px;justify-self:end;max-width:100%;grid-column:3;grid-row:1}.sharing-panel{min-height:220px;padding:0 20px 16px}.sharing-list{list-style:none;padding:0;margin:0}.sharing-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:10px 0;border-bottom:1px solid var(--line)}.sharing-list>.sharing-row:last-child,.sharing-list>.sharing-group:last-child{border-bottom:0}.sharing-person{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:600}.sharing-name{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:30px}.sharing-person small{display:block;color:var(--muted);font-size:12px}.sharing-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.sharing-action-slot{width:164px;flex-shrink:0}.sharing-disclosure-actions{display:flex;justify-content:flex-end;grid-column:2;grid-row:1}.sharing-group{border-bottom:1px solid var(--line)}.sharing-group>.sharing-row{padding:8px 0;border-bottom:0}.sharing-members{margin:0 12px 12px;padding:0;list-style:none;counter-reset:member;max-width:560px;border:1px solid var(--line);border-radius:8px}.sharing-members:empty{display:none}.sharing-members li{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:14px;overflow-wrap:anywhere}.sharing-members li+li{border-top:1px solid var(--line)}.sharing-members li:before{counter-increment:member;content:counter(member);min-width:24px;border-radius:4px;background:var(--line);color:var(--muted);text-align:center;font-size:12px;flex-shrink:0}.sharing-group .muted{margin:0 12px 12px}@media(max-width:599.95px){.sharing-search{width:100%}.sharing-toolbar{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}.sharing-search{grid-row:2;grid-column:2}.sharing-tabs{justify-self:start;grid-column:1 / -1;grid-row:1}.sharing-disclosure-actions{grid-column:1;grid-row:2}.sharing-row{flex-wrap:wrap}.sharing-person{flex:1 1 120px}.sharing-action-slot{width:44px}.sharing-club{padding:8px 14px}.sharing-panel{padding:0 14px 14px}.sharing-tabs .MuiTab-root{font-size:13px;padding:6px 8px}}@media(pointer:coarse){.sharing-tabs .MuiTab-root{min-height:44px}}@media(max-width:420px){.sharing-row>.sharing-person,.sharing-group>.sharing-row>.MuiButton-root{flex-basis:100%}}.variation-section{min-width:0}.variation-section>.section-heading{align-items:center;flex-wrap:wrap}.variation-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;max-width:100%;margin-left:auto}.variation-section .variation-search{width:260px;max-width:100%;margin:0}.variation-section>h2{margin-bottom:16px}.variation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin-bottom:24px}.variation-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--theme-surface, #fff)}.variation-card>header{display:flex;align-items:center;gap:12px}.variation-card>.MuiChip-root{align-self:flex-start;max-width:100%}.variation-card h3{display:flex;align-items:center;min-width:0;min-height:3em;flex:1;font-size:14px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.variation-card h3>a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.chapter-card-tools{display:flex;align-items:center;flex-shrink:0;gap:2px;margin-left:auto}.chapter-list{margin-bottom:24px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--theme-surface, #fff)}.chapter-list:empty{display:none}.chapter-list>.variation-card{display:grid;grid-template-columns:auto minmax(0,1fr) 160px auto auto;align-items:center;padding:10px 16px;border:0;border-radius:0}.chapter-list .variation-card>header{display:contents}.chapter-list .chapter-number{grid-column:1;grid-row:1}.chapter-list h3{grid-column:2;grid-row:1}.chapter-list .chapter-card-tools{grid-column:5;grid-row:1}.chapter-list .variation-card>.MuiChip-root{grid-column:3;grid-row:1;justify-self:start;align-self:center}.chapter-list>.variation-card+.variation-card{border-top:1px solid var(--line)}.chapter-list h3{min-height:44px;font-weight:600}.chapter-list h3>a{display:block;width:100%;min-height:44px;padding-block:6px;overflow:visible}@media(max-width:680px){.variation-section>.section-heading:has(.variation-search){display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:12px}.variation-section>.section-heading:has(.variation-search) .variation-tools{display:contents}.variation-tools:has(.variation-search)>.text-button{grid-column:2;grid-row:1;justify-self:end;width:max-content;padding-inline:0;font-size:12px}.variation-section .variation-search{grid-column:1;grid-row:2;width:100%}.variation-tools:has(.variation-search)>.catalog-view-toggle{grid-column:2;grid-row:2;justify-self:end}}.chapter-list .chapter-card-tools>button,.chapter-grid .chapter-card-tools>button{min-width:44px;min-height:44px}.chapter-list.chapter-collection-with-actions>.variation-card{grid-template-columns:auto minmax(0,1fr) 160px 210px auto}.chapter-list .chapter-actions{grid-column:4;grid-row:1;margin:0}.chapter-list .variation-preview{grid-column:2;grid-row:2;margin:-8px 0 0}@media(max-width:900px){.chapter-list>.variation-card{display:flex;align-items:stretch;gap:4px;padding-inline:10px}.chapter-list .variation-card>header{display:flex;gap:8px}.chapter-list .chapter-actions{margin-top:8px}.chapter-list .variation-preview{margin:0 0 0 36px}.chapter-list .variation-card>.MuiChip-root{align-self:flex-start;margin-left:36px;max-width:calc(100% - 36px)}}.chapter-edit-button,.chapter-delete-button{min-width:32px;min-height:32px;padding:5px}button.chapter-edit-button[aria-busy=true]:disabled,button.chapter-delete-button[aria-busy=true]:disabled{opacity:1;background:transparent;color:var(--navy)}.chapter-edit-fields{display:grid;gap:20px;margin-top:16px}.chapter-editor-material{font-weight:700;overflow-wrap:anywhere}.chapter-editor-list{display:grid;gap:16px;margin:24px 0;padding:0;list-style:none}.chapter-editor-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start}.chapter-editor-row>.chapter-number{padding-top:12px}.chapter-editor-content{min-width:0}.chapter-order-name{display:block;padding-top:12px;overflow-wrap:anywhere}.chapter-editor-preview{margin:6px 0 0;font-size:12px;color:var(--muted)}.chapter-editor-actions{display:flex;align-items:center;min-height:48px}.chapter-editor-actions .MuiIconButton-root{width:40px;height:40px;border:0;background:transparent}.chapter-editor-removed{padding:16px;border-radius:10px;background:var(--theme-surface-muted, #f5f7f8)}.chapter-editor-removed-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.chapter-editor-removed-row>span,.chapter-removal-names li{overflow-wrap:anywhere;min-width:0}.chapter-editor-removed-row>button{flex-shrink:0}button.primary.stable-action,button.primary.stable-action:hover,button.MuiButton-root.stable-action,button.MuiButton-root.stable-action:hover,button.stable-action[aria-busy=true]:disabled{opacity:1;background:var(--theme-primary-fill, #132837);color:#fff}button.MuiButton-root.chapter-remove-confirm,button.MuiButton-root.chapter-remove-confirm:hover,button.MuiButton-root.chapter-remove-confirm[aria-busy=true]:disabled{background:#a12e34;color:#fff}.upload-progress{min-height:24px;margin-bottom:0}.source-game-row{display:grid;grid-template-columns:30px minmax(0,1fr) 210px;gap:12px;align-items:start}.source-game-content{min-width:0;overflow-wrap:anywhere}.source-game-content h3{margin:0;font-size:15px}.source-game-content p{margin:6px 0 0;font-size:12px}.chapter-editor-kind{margin-top:10px;max-width:260px}@media(max-width:600px){.source-game-row{grid-template-columns:24px minmax(0,1fr);gap:8px}.source-game-row>.select-field{grid-column:2}}@media(max-width:600px){.chapter-editor-row{grid-template-columns:24px minmax(0,1fr);gap:8px}.chapter-editor-actions{grid-column:2;justify-content:flex-end;min-height:40px}.chapter-editor-removed-row{align-items:flex-start;flex-direction:column;gap:4px}}.chapter-number{flex-shrink:0;font-size:11px;color:var(--theme-info-text, #326a9c);background:var(--theme-info-surface, #eef4fb);border-radius:6px;padding:3px 7px;font-weight:750;font-variant-numeric:tabular-nums}.variation-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;block-size:3.4em;flex-shrink:0;line-height:1.7;font-size:13px;color:var(--theme-text, #475d68)}.variation-move{display:inline-block;margin-inline-end:6px;white-space:nowrap}.preview-move-number{color:var(--theme-muted, #82929b);font-size:11px}.chapter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}.chapter-actions .button,.chapter-actions button{font-size:12px;padding:8px 10px}.chapter-list .chapter-actions>:only-child{grid-column:2}.chapter-grid .chapter-actions>:only-child{grid-column:1 / -1;justify-self:center;width:calc((100% - 8px)/2)}button.small{font-size:10px;min-height:38px;padding:7px 9px}.danger-text,.icon-button.danger-text,.text-button.chapter-delete-button{color:var(--theme-danger-text, #9a4943)}.study-layout{--board-width-reserve: 308px;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(280px,1fr);align-items:start;gap:28px}.board-column{min-width:0;max-width:620px}.chessboard-frame,.notation,.puzzle-notation,.variation-tree{-webkit-user-select:none;user-select:none}.notation :is(input,textarea,[contenteditable=true]){-webkit-user-select:text;user-select:text}.board-sized .board-column{width:100%;max-width:var(--board-size, 620px)}@media(min-width:951px){.main-content:has(.study-layout){max-width:none;padding-inline:24px}.study-layout.board-sized{grid-template-columns:min(var(--board-size, 620px),calc(100% - var(--board-width-reserve))) minmax(280px,360px)}}.board-preferences{position:relative;color:var(--navy);font-size:12px}.board-palette-swatch{display:block;width:32px;height:32px;border-radius:3px;background:conic-gradient(var(--palette-light) 25%,var(--palette-dark) 0 50%,var(--palette-light) 0 75%,var(--palette-dark) 0);outline:2px solid transparent;outline-offset:2px}.board-palette-swatch-selected{outline-color:var(--navy)}.piece-set-preview{display:block;width:32px;height:32px;border-radius:3px;background:#c8d3d9}.piece-set-selected{display:block;border-radius:3px;outline:2px solid var(--navy);outline-offset:2px}.board-preferences-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:44px;min-height:44px;padding:8px;border:0;cursor:pointer;border-radius:6px}.chessboard-frame{border-radius:4px;overflow:visible;box-shadow:0 3px 14px #1429370c}.resizable-board{--board-coordinate-gutter: 0px;--board-evaluation-gutter: 0px;max-width:var(--board-viewport-limit, 100dvh);padding-left:var(--board-coordinate-gutter);padding-right:var(--board-evaluation-gutter);padding-bottom:var(--board-coordinate-gutter);position:relative;container-type:inline-size}.resizable-board.board-with-clocks{max-width:max(160px,calc(var(--board-viewport-limit, 100dvh) - 72px - var(--board-coordinate-gutter)));padding-bottom:0}.board-with-clocks>.chessboard-frame{margin-top:var(--board-coordinate-gutter);margin-bottom:var(--board-coordinate-gutter)}.board-clock-row{display:flex;justify-content:flex-end;align-items:center;height:36px}.board-with-clocks>.board-resize-handle{bottom:calc(var(--board-coordinate-gutter) + 36px)}.board-clock{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid #cbd3da;border-radius:5px;background:#fff;color:#111;line-height:22px}.board-clock[data-side=black]{background:#171717;color:#fff;border-color:#626262}.board-clock-time{min-width:7ch;text-align:right;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.board-flip-controls{display:flex;justify-content:flex-end;min-height:44px;margin-top:4px}.board-flip-controls>button,button.board-flip-button{width:44px;height:44px;flex:0 0 44px}.resizable-board.board-with-evaluation{--board-evaluation-gutter: 22px}.resizable-board.board-coordinates-outside{--board-coordinate-gutter: 18px}.board-coordinates{position:absolute;inset:0;z-index:4;pointer-events:none;font-size:clamp(8px,2cqw,16px);font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.board-coordinates>span{position:absolute;color:var(--coordinate-color)}.board-coordinate-file{left:calc(var(--coordinate-index) * 12.5% + 2px);bottom:2px}.board-coordinate-rank{top:calc(var(--coordinate-index) * 12.5% + 2px);left:2px}.board-coordinates-outside .board-coordinates>span{display:flex;align-items:center;justify-content:center;color:var(--muted)}.board-coordinates-outside .board-coordinate-file{left:calc(var(--coordinate-index) * 12.5%);bottom:calc(-1 * var(--board-coordinate-gutter));width:12.5%;height:var(--board-coordinate-gutter)}.board-coordinates-outside .board-coordinate-rank{top:calc(var(--coordinate-index) * 12.5%);left:calc(-1 * var(--board-coordinate-gutter));height:12.5%;width:var(--board-coordinate-gutter)}.board-move-badges{--badge-size: min(5cqw, 30px);position:absolute;inset:0;z-index:25;pointer-events:none}.board-square-badge{position:absolute;width:var(--badge-size);height:var(--badge-size);transform:translate(-50%,-50%)}@media(max-width:700px){.board-move-badges{--badge-size: min(5cqw, 24px)}}.move-quality-badge{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#24784b;box-shadow:0 1px 3px #0005;font-size:clamp(11px,2.6cqw,19px);font-weight:800;line-height:1;pointer-events:none}.quality-2{background:#c35b10}.correct-move-badge{background:#20b536}.wrong-move-badge{background:#e53935}.checkmate-badge{background:#e95353;font-size:min(4cqw,25px)}.correct-move-badge svg,.wrong-move-badge svg{width:78%;height:78%}.quality-3{background:#087f8c}.quality-4{background:#c02b3b}.quality-5{background:#356db0}.quality-6{background:#946a10}.nag-symbol{margin-left:2px}.nag-text{white-space:normal;text-align:start;font-size:.85em;overflow-wrap:anywhere}.notation button:has(>.nag-text){max-width:100%;min-width:0;flex-wrap:wrap}.chessboard-frame #study-board-board>svg,.chessboard-frame>.board-drawing-circles{opacity:.7}button.board-resize-handle{position:absolute;right:var(--board-evaluation-gutter);bottom:var(--board-coordinate-gutter);z-index:25;display:flex;align-items:center;justify-content:center;width:18px;height:18px;min-height:0;padding:2px;border:0;border-radius:0;background:transparent;color:var(--board-coordinate-color);box-shadow:none;cursor:nwse-resize;touch-action:none;-webkit-user-select:none;user-select:none}button.board-resize-handle svg{position:absolute;top:2px;right:2px;width:14px;height:14px}button.board-resize-handle:hover,button.board-resize-handle.resizing{background:transparent;color:var(--board-coordinate-color)}button.board-resize-handle[hidden]{display:none}@media(any-pointer:coarse){.resizable-board:has(>.board-resize-handle:not([hidden])){margin-bottom:28px}button.board-resize-handle{bottom:calc(var(--board-coordinate-gutter) - 28px);width:44px;height:44px;padding:0}button.board-resize-handle svg{top:0}}button.square-content,div.square-content{width:100%;height:100%;border-radius:0;border:0;min-height:0;padding:0;background:transparent;position:relative;display:block;color:inherit}.training-help{display:flex;justify-content:space-between;gap:12px;flex:1}.training-help-hidden{display:none}button.square-content:disabled{opacity:1;cursor:default}.square-content>div{height:100%}.chessboard-frame :focus-visible{outline:none}.board-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;flex:0 0 auto;padding:8px;border-top:1px solid var(--line)}.board-controls button{flex:1;padding:8px 10px}.board-controls .playback-button{color:#fff;background:var(--theme-primary-fill, #132837)}.board-controls svg{width:20px;height:20px}.study-notes{padding-top:42px;min-width:0;height:clamp(420px,calc(100dvh - 320px),760px);display:flex;flex-direction:column;gap:16px}.study-notes>.panel{margin:0}.study-notes>.notation{flex:1;min-height:220px;display:flex;flex-direction:column;overflow:visible;padding:0}.notation-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line)}.notation-forks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto;max-height:156px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--line);background:var(--theme-surface-muted, #e6edf1)}.notation-forks button{min-width:0;min-height:38px;justify-content:flex-start;gap:5px;border:0;border-radius:0;padding:7px 12px;background:transparent;color:var(--theme-text, #324e5e);box-shadow:inset -1px -1px #d1dce2;font-size:14px}.notation-forks button.preferred{background:var(--theme-primary-fill);color:#fff}.notation-forks button:hover{background:var(--theme-primary-fill, #132837);color:#fff}.notation-forks button:focus-visible{outline-offset:-3px}.notation-columns .notation-scroll{padding:0}.notation-columns .notation-scroll>.inline-note{display:block;padding:8px 12px}.notation-row{display:grid;grid-template-columns:36px repeat(2,minmax(0,1fr));align-items:stretch}.row-number,.empty-move{display:flex;align-items:center;padding:6px 8px;font-size:13px;color:var(--muted)}.row-number{justify-content:center}.notation-row button.move{min-height:36px;border-radius:0;padding:6px 8px;font-weight:550}.notation-row button.move:not(.selected):not(:hover){background:transparent}.notation-interruption{padding:8px 12px;background:var(--theme-surface-muted, #f5f7f8);border-block:1px solid var(--line);font-size:14px;line-height:1.9}.notation-header button{font-size:11px;min-height:32px}.notation-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;flex:1;padding:16px 18px;font-size:15px;line-height:2;overflow-wrap:anywhere}.move-line{display:block}button.move{display:inline-flex;align-items:baseline;gap:4px;min-height:28px;font-size:inherit;line-height:1.5;padding:2px 4px;border:0;border-radius:3px;margin:0;background:var(--theme-surface-muted, #f1f4f5);font-weight:650;justify-content:flex-start;vertical-align:baseline;white-space:nowrap}button.move:hover:not(.selected){background:var(--theme-surface-muted, #e4ebee)}.move-line>button.move{padding-inline:2px}.move-line>button.move:not(.selected):not(:hover){background:transparent}.move-number{color:var(--muted);font-weight:450;font-size:12px}button.move.selected{background:var(--theme-primary-fill, #132837);color:#fff}button.move.selected:focus-visible,.puzzle-notation button[aria-pressed=true]:focus-visible{outline:none}button.move.selected .move-number{color:#e2e9ed}.inline-note{color:var(--theme-muted, #566a76);white-space:pre-wrap}button.inline-note{display:inline;padding:0;border:0;border-radius:2px;background:none;font:inherit;color:var(--theme-muted, #566a76);text-align:inherit;cursor:pointer;overflow-wrap:anywhere}.variation{font-size:14px}.variation button.move{font-weight:550}.study-workspace{container-type:inline-size}.study-workspace .study-notes{padding-top:0;gap:8px;height:var(--board-viewport-limit, calc(100dvh - 120px) )}.viewer-header{display:flex;align-items:flex-start;gap:16px;padding:18px;border-bottom:1px solid var(--line);flex:0 0 auto}.viewer-header h1{flex:1;min-width:0;margin:0;font-size:17px;line-height:1.45;overflow-wrap:anywhere}.viewer-title{flex:1;min-width:0}.viewer-title-row{display:flex;align-items:flex-start;gap:8px}.chapter-navigation{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.chapter-navigation>button{flex:0 0 32px;min-width:32px;padding:6px}.chapter-navigation .select-field{min-width:0;margin:0}.chapter-navigation .select-field .MuiSelect-select{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%;box-sizing:border-box}.student-app .study-workspace .viewer-header-navigation{flex-wrap:nowrap;align-items:center;gap:8px;padding:8px 12px}.student-app .viewer-header-navigation .viewer-title{flex-basis:0}.viewer-breadcrumbs{width:100%;min-width:0;min-height:28px;flex:0 0 auto}.study-notes{container-type:inline-size;position:relative}@media(min-width:951px){.main-content:has(.study-workspace .study-notes>.viewer-breadcrumbs){padding-top:35px}.study-notes>.viewer-breadcrumbs{position:absolute;inset-inline:0;bottom:calc(100% + 4px)}}@container (min-width: 461px){.student-app .study-workspace .viewer-header-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto}.student-app .study-workspace .viewer-header-navigation .viewer-title{display:contents}.student-app .study-workspace .viewer-header-navigation .viewer-title-row{grid-column:1;grid-row:1;min-width:0}.student-app .study-workspace .viewer-header-navigation .viewer-modes{grid-column:2;grid-row:1}.student-app .study-workspace .viewer-header-navigation .viewer-title>.MuiChip-root{grid-column:1 / -1;grid-row:2;justify-self:start;margin-top:0}}@container (max-width: 460px){.student-app .study-workspace .viewer-header-navigation{display:grid;grid-template-columns:36px minmax(0,1fr) auto}.viewer-header-navigation .viewer-title,.viewer-header-navigation .viewer-title-row{display:contents}.viewer-header-navigation .viewer-back{grid-column:1;grid-row:1;justify-self:start;margin:0}.viewer-header-navigation .viewer-modes{grid-column:2 / -1;grid-row:1}.viewer-header-navigation .chapter-navigation{grid-column:1 / -1;grid-row:2}.viewer-header-navigation:has(.chapter-viewer-edit) .chapter-navigation{grid-column:1 / 3}.viewer-header-navigation .chapter-viewer-edit{grid-column:3;grid-row:2;justify-self:end}.viewer-header-navigation .viewer-title>.MuiChip-root{grid-column:1 / -1;grid-row:3;justify-self:start;margin-top:0}}.viewer-header-navigation .viewer-title-row{align-items:center}.viewer-header-navigation .viewer-modes{margin-left:auto}.study-notes .viewer-header:has(.chapter-navigation){padding-top:20px}.viewer-header .chapter-viewer-edit{display:flex;align-items:center}.viewer-header :is(.icon-button,.chapter-edit-button){display:inline-flex;align-items:center;justify-content:center;min-height:44px}.viewer-header .viewer-hidden-title{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}.viewer-back{display:inline-flex;flex:0 0 36px;align-items:center;justify-content:center;min-height:44px;margin-block:-10px;border-radius:6px;color:var(--muted)}.viewer-back:hover{background:var(--theme-surface-muted, #edf1f3);color:var(--navy)}.viewer-title>.MuiChip-root{margin-top:8px}.viewer-modes{display:flex;flex:0 0 auto;gap:2px;padding:3px;border-radius:6px;background:var(--theme-surface-muted, #edf1f3)}.viewer-modes>*{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 8px;border:0;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;background:transparent;color:var(--theme-purple)}.viewer-modes [aria-current=page]{background:var(--theme-primary-fill, #132837);color:#fff}.viewer-modes>button.stable-viewer-action:disabled{opacity:1}.study-notes>.training-viewer{display:flex;flex-direction:column;flex:1;min-height:0;padding:0}.training-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 10px}.training-content>*{flex-shrink:0}.training-turn{flex:1 0 144px;display:grid;place-items:center;padding-block:12px}.training-turn[aria-hidden=true]{visibility:hidden}.training-viewer>.training-turn{flex:0 0 52px;min-height:52px;padding:6px 18px;border-top:1px solid var(--line)}.training-viewer>.training-turn .training-turn-content{flex-direction:row;gap:6px;font-size:18px;white-space:nowrap}.training-viewer>.training-turn .training-turn-king{flex-basis:40px;width:40px;height:40px}.training-turn-content{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:24px}.training-turn-king{flex:0 0 80px;width:80px;height:80px}.training-turn-king>svg{display:block;width:100%;height:100%}.training-mode-picker{display:flex;flex:0 0 auto;gap:6px;padding:10px 18px;border-bottom:1px solid var(--line)}.training-mode-picker button{flex:1;min-width:0;min-height:36px;justify-content:center;gap:6px;padding:6px 10px;font-size:13px}.training-mode-picker [aria-pressed=true]{background:var(--theme-primary-soft);color:var(--theme-purple);border-color:var(--theme-primary-border)}.training-mode-picker [aria-pressed=true] svg{color:inherit}.training-viewer[aria-busy=true] .training-mode-picker button:disabled,.training-actions button[aria-busy=true]:disabled{opacity:1}.training-guidance{text-align:left;overflow-wrap:anywhere}.training-guidance .training-explanation{padding:10px 12px;border-left:3px solid var(--gold);background:var(--theme-surface-muted, #f6f7f8);white-space:pre-wrap;color:var(--navy)}.training-position{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.training-position>span{color:var(--muted)}.training-count{margin-right:8px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.training-moves{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:0;font-weight:600}.training-moves>span{padding:3px 5px;border-radius:3px}.training-moves [aria-current=step]{background:var(--theme-surface-muted, #e7ecef)}.training-moves-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.training-footer{flex:0 0 auto;padding:12px 18px;border-top:1px solid var(--line);background:var(--theme-info-surface, #f8fafc);border-radius:0 0 12px 12px}.training-completed-label{margin:0 0 8px;font-size:12px;font-weight:600}.training-footer progress{display:block;width:100%;height:4px;margin:0 0 8px;accent-color:var(--theme-progress)}.training-footer progress::-webkit-progress-value{background:var(--theme-progress)}.training-footer progress::-moz-progress-bar{background:var(--theme-progress)}.training-lesson-action{margin-right:auto}.training-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;margin-bottom:8px}.training-actions button{min-height:36px;padding:6px 10px;font-size:12px;white-space:nowrap}.training-notation{margin-top:0;line-height:1.8;overflow-wrap:anywhere;text-align:left}.training-guidance .training-notation{margin-top:0}.learning-move-group+.learning-move-group{margin-top:18px}.learning-move-label{display:flex;align-items:center;gap:8px;font-weight:600}.learning-move-label>span{color:var(--muted);font-size:12px}.training-guidance .variation-group .move{padding-inline:2px;font-weight:500}.training-guidance .variation-group .move:not(.selected){background:transparent;color:var(--navy)}.training-lesson-action button{justify-content:center}.training-footer .board-controls{border:0;padding:0}.training-footer .training-metrics{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:4px}.training-footer .training-metrics>div{display:flex;align-items:center;gap:5px}.training-footer .training-metrics svg{flex-shrink:0;color:var(--muted)}.training-footer .training-metrics strong{font-size:16px}.training-content .training-prompt{margin-top:0}.training-content .training-prompt h2{font-size:18px}.training-content .training-prompt p.feedback{min-height:0}@media(min-width:951px){.main-content:has(.study-workspace){padding-bottom:24px}.training-viewer .viewer-header{align-items:center;padding-block:12px}.training-viewer .training-mode-picker{padding-block:6px}.training-footer>.board-controls button{min-height:32px;padding-block:4px}.study-layout.study-workspace{grid-template-columns:min(var(--board-size, 620px),calc(100% - var(--board-width-reserve))) minmax(280px,1fr)}}@media(max-width:700px)and (min-height:501px),(max-width:500px){.study-notes{container-type:normal}}@media(max-width:950px){.study-workspace .study-notes{height:460px}.study-workspace .study-notes:has(>.training-viewer){height:560px}.study-workspace .study-notes>.notation{flex:1;height:auto}}@media(max-width:640px){.viewer-header{gap:8px;padding:12px}.viewer-header:has(>.viewer-title){flex-wrap:wrap}.viewer-title{flex-basis:100%}.viewer-header h1{font-size:15px}.viewer-modes{margin-left:auto}}.training-prompt{margin-top:42px}.training-prompt>svg{color:var(--theme-muted, #5e897c);margin-bottom:17px}.training-prompt h2{margin:13px 0 14px;font-size:23px}.training-prompt p{font-size:13px;color:var(--muted)}.training-prompt p.feedback{min-height:62px}.training-prompt progress{margin:8px 0 10px}.training-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.training-metrics strong{display:block;font-size:22px}.training-metrics span{font-size:10px;color:var(--muted)}.lichess-activity-icon{flex:0 0 auto;color:var(--muted)}.promotion-dialog{border:0;border-radius:13px;padding:26px;box-shadow:0 15px 70px #10203044;max-width:95vw}.promotion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.promotion-option{width:clamp(48px,15vw,72px);aspect-ratio:1;padding:4px}.promotion-option span{display:block;width:100%;height:100%}.promotion-dialog::backdrop{background:#13283770}.skip-link{position:fixed;top:-100px;left:20px;background:var(--theme-surface, #fff);padding:10px 18px;z-index:50}.skip-link:focus{top:12px}@media(pointer:coarse){input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select,[contenteditable=true]{font-size:max(16px,1em)!important}}@media(max-width:1200px){.brand{font-size:11px}.main-content{padding:28px}.topbar{padding-inline:28px}.study-layout{--board-width-reserve: 300px;grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr);gap:20px}}@media(max-width:950px){.brand{gap:7px;font-size:10px;padding:0}.brand img{width:34px;height:34px}.main-content{padding:25px 22px}.topbar{padding-inline:22px}.study-layout{--board-width-reserve: 0px;grid-template-columns:1fr}.board-column{width:100%;margin:auto}.study-notes{padding-top:0;height:auto}.study-notes>.notation{flex:none;height:420px}.training-prompt{margin-top:0}.row-metric{min-width:48px}}@media(max-width:680px){.app-shell{display:block}.brand{font-size:13px;gap:9px}.brand img{width:36px;height:36px}.topbar{height:56px;padding:6px 12px}.account{gap:7px}.account strong{font-size:11px}.main-content{padding:25px 17px 45px}.page-title{gap:12px;margin-bottom:18px}.page-title-heading{flex-basis:100%}.page-title h1{font-size:20px}.page-title p{font-size:12px}h1{font-size:25px}.panel{padding:19px 16px;border-radius:10px}.panel>h2{font-size:16px}.row-metric{min-width:35px}.row-metric strong{font-size:15px}.row-metric small{font-size:8px}.study-layout{gap:20px}.board-controls{gap:4px}.board-controls button{padding:8px}.notation-scroll{padding:12px;font-size:14px}.skip-link{left:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}.main-content:has(.puzzle-page,.puzzle-games){max-width:none;padding:24px 24px 40px}.puzzle-page>.sr-only,.puzzle-games>.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.puzzle-workspace{--board-width-reserve: 592px;--puzzle-sidebar-width: clamp(280px, calc((100% - var(--board-size, 620px) - 32px) / 2), 320px);display:grid;grid-template-columns:var(--puzzle-sidebar-width) min(var(--board-size, 620px),calc(100% - var(--board-width-reserve))) minmax(280px,1fr);align-items:start;gap:16px}.puzzle-sidebar{display:grid;gap:16px;min-width:0}.puzzle-card{background:var(--theme-surface, #fff);border:1px solid var(--line);box-shadow:0 2px 4px #13283708;border-radius:6px;padding:18px}.puzzle-ratings,.puzzle-settings{display:grid;gap:16px}.puzzle-ratings{min-height:112px;align-content:center;gap:8px;padding:12px 18px;text-align:center}.puzzle-info{min-height:30px}.puzzle-info:empty{display:none}.puzzle-run-review .puzzle-ratings{min-height:0}.puzzle-info p{margin:0;padding-top:8px;border-top:1px solid var(--line);font-size:14px;line-height:1.5;overflow-wrap:anywhere;color:var(--muted)}.puzzle-run-review .puzzle-info{min-height:0}.puzzle-run-review .puzzle-info p{padding-top:0;border-top:0}.puzzle-filter-action{min-height:44px}.puzzle-filter-action button{width:100%}.puzzle-score{display:flex;align-items:baseline;justify-content:center;gap:8px}.puzzle-score strong{color:var(--navy);font-size:38px;font-weight:600;line-height:1.2;letter-spacing:-1px}.puzzle-score>span{font-size:18px}.puzzle-score .positive{color:var(--theme-success-text, #348250)}.puzzle-score .negative{color:var(--theme-danger-text, #b24c41)}.puzzle-auto-advance{grid-column:1 / -1}.puzzle-auto-advance button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);text-align:left;font-size:14px;line-height:1.5}.puzzle-switch-track{display:flex;align-items:center;flex:0 0 44px;height:26px;padding:3px;border-radius:7px;background:var(--theme-surface-muted, #c9ceca)}.puzzle-switch-thumb{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--theme-surface, #fff);color:var(--theme-muted, #727b75);transition:transform .15s}.puzzle-auto-advance button[aria-checked=true] .puzzle-switch-track{background:#348250}.puzzle-auto-advance button[aria-checked=true] .puzzle-switch-thumb{transform:translate(18px);color:var(--theme-success-text, #348250)}@media(prefers-reduced-motion:reduce){.puzzle-switch-thumb{transition:none}}.puzzle-filters{display:grid;gap:16px}.puzzle-filters .select-field{display:grid;min-width:0;gap:6px;margin:0}.puzzle-filters .select-field label{font-size:12px}.puzzle-filters p{margin:0;font-size:12px;line-height:1.6}.puzzle-board{min-width:0;width:100%;max-width:var(--board-size, 620px);container-type:inline-size}.puzzle-board .chessboard-frame{border-radius:4px}.puzzle-panel{min-width:0}.puzzle-viewer{min-width:0;display:flex;flex-direction:column;background:var(--theme-surface, #fff);border:1px solid var(--line);border-radius:5px;overflow:visible;box-shadow:0 2px 4px #1328370b}.puzzle-notation{min-height:225px;max-height:380px;overflow-y:auto;scrollbar-width:thin;padding-bottom:16px}.puzzle-review-heading{margin:0;padding:16px;border-bottom:1px solid var(--line);font-size:16px}.puzzle-navigation{display:flex;justify-content:space-around;gap:4px;padding:6px;border-top:1px solid var(--line);background:var(--theme-canvas, #f5f6f7)}.puzzle-navigation button{display:grid;place-items:center;flex:1;min-height:42px;padding:8px;border:0;border-radius:4px;background:transparent;color:var(--muted)}.puzzle-navigation button:hover:not(:disabled){background:var(--theme-surface-muted, #e4ebf0);color:var(--navy)}.puzzle-notation>p{padding:0 16px;font-size:13px}.puzzle-variation-row{padding:4px 12px;color:var(--navy);font-size:14px;overflow-wrap:anywhere}.puzzle-variation button{border:0;padding:4px;background:transparent;color:inherit;font-size:inherit;font-weight:400}.puzzle-variation button:hover:not(:disabled):not([aria-pressed=true]){background:var(--theme-surface-muted, #edf2f5)}.puzzle-variation button[aria-pressed=true]{background:var(--theme-primary-fill, #132837);color:#fff}.puzzle-move-row{display:grid;grid-template-columns:38px 1fr 1fr;align-items:stretch}.puzzle-move-row>span:first-child{background:var(--theme-canvas, #f5f6f7);color:var(--theme-muted, #8b959c);text-align:center;font-size:13px;padding:7px 0}.puzzle-move-row button{border:0;border-radius:0;background:transparent;padding:6px 12px;font-size:17px;font-weight:500;text-align:left}.puzzle-move-row button:hover{background:var(--theme-surface-muted, #edf2f5)}.puzzle-move-row button[aria-pressed=true]{background:var(--theme-primary-fill, #132837);color:#fff}.puzzle-notation-inline .puzzle-move-row{display:inline-flex;align-items:center;margin-left:8px}.puzzle-notation-inline .puzzle-move-row>span:first-child{background:transparent}.puzzle-notation-inline .puzzle-move-row>span:first-child:after{content:"."}.puzzle-notation-inline .puzzle-move-row>span:empty{display:none}.puzzle-notation-inline .puzzle-move-row button{padding:6px}.correct-move-mark{display:inline-flex;flex:0 0 auto;align-self:center;vertical-align:middle}button.move.correct-move,.puzzle-move-row button.correct-move,.training-moves>.correct-move{color:var(--theme-success-text, #4f7f22)}.puzzle-move-row button.correct-move{display:flex;align-items:center;justify-content:space-between;gap:6px}.notation-row .correct-move-mark{margin-inline-start:auto}.training-moves>.correct-move{display:inline-flex;align-items:baseline;gap:4px}button.move.correct-move.selected,.puzzle-move-row button.correct-move[aria-pressed=true]{background:var(--theme-success-surface, #edf4e7);box-shadow:inset 0 0 0 1px #4f7f2255}button.move.correct-move.selected .move-number{color:var(--muted)}.puzzle-status{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:16px;min-height:0;padding:20px 16px;background:var(--theme-surface-muted, #f0f1f2);border-top:1px solid var(--line)}.puzzle-status-heading{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;text-align:center}.puzzle-status-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px}.puzzle-status-icon>svg{display:block;width:100%;height:100%}.puzzle-status.win .puzzle-status-icon{color:var(--theme-success-text, #348250)}.puzzle-status:is(.win,.lose) .puzzle-status-icon>svg{width:40px;height:40px}.puzzle-status.lose .puzzle-status-icon{color:var(--theme-danger-text, #b24c41)}.puzzle-status h2{font-size:24px;margin:0}.puzzle-status p{font-size:12px;color:var(--muted);margin:4px 0 0}.puzzle-continue,.puzzle-text-button{display:flex;justify-content:center;align-items:center;gap:8px}.puzzle-text-button{border:0;background:transparent;color:var(--theme-info-text, #39749d);font-size:12px;padding:8px 0}.puzzle-feedback-actions{display:flex;justify-content:space-evenly;gap:16px}.puzzle-history{display:flex;flex-wrap:wrap;gap:5px;max-height:220px;overflow-y:auto;padding:2px}.puzzle-history button{flex:0 0 auto;min-width:44px;min-height:44px;padding:4px 7px;border:0;border-radius:3px;font-size:11px;background:#629f40;color:#fff;font-weight:700}.puzzle-history button.lose{background:#c33}.puzzle-history button[aria-current=true]{box-shadow:0 0 0 2px var(--navy)}@media(max-width:1180px){.puzzle-workspace{--board-width-reserve: 246px;grid-template-columns:min(var(--board-size, 620px),calc(100% - var(--board-width-reserve))) minmax(230px,320px)}.puzzle-sidebar{grid-column:1 / -1;grid-row:2;grid-template-columns:minmax(0,.7fr) minmax(240px,1.3fr)}.puzzle-notation{min-height:160px}.puzzle-status{padding:18px}}@media(max-width:700px){.main-content:has(.puzzle-page,.puzzle-games){padding:12px 12px 32px}.puzzle-workspace{--board-width-reserve: 0px;display:flex;flex-direction:column;gap:12px}.puzzle-board,.puzzle-panel,.puzzle-viewer,.puzzle-sidebar{width:100%}.puzzle-board{order:0}.puzzle-panel,.puzzle-viewer{order:1}.puzzle-sidebar{order:2;grid-template-columns:minmax(0,1fr);gap:10px}.puzzle-filters{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.puzzle-filters p,.puzzle-filters button,.puzzle-filter-action{grid-column:1 / -1}.puzzle-filters p{order:1}.puzzle-card{padding:13px}.puzzle-score{gap:8px}.puzzle-score>span{font-size:14px}.puzzle-notation{min-height:90px;max-height:180px}.puzzle-status{min-height:140px;padding:18px;gap:10px}}:root{--horizontal-scroll-purple: var(--theme-purple)}html[data-theme=dark]{--horizontal-scroll-purple: var(--theme-purple)}:is(.lesson-day-cards,.coach-home-agenda .coach-home-agenda-content,.homework-preview ul,.analysis-pv-moves){--horizontal-scroll-color: var( --student-purple, var(--coach-purple, var(--agenda-accent, var(--horizontal-scroll-purple))) );scrollbar-color:var(--horizontal-scroll-color) transparent}@media(max-width:1180px){.student-app .topbar{height:56px;min-height:56px;padding:4px 8px;gap:6px;flex-wrap:nowrap}.student-app .brand{padding:0;flex:0 0 32px}.student-app .brand img{width:32px;height:32px}.student-app .brand>span,.student-app .account>span{display:none}.student-app .account{flex:0 0 auto;gap:2px}.student-app .account .icon-button{width:36px;min-height:44px;padding:8px}.student-app .main-content:has(.study-workspace,.puzzle-page,.puzzle-games){padding:12px 12px 24px;max-width:none}.student-app :is(.study-layout.study-workspace,.puzzle-workspace,.run-workspace){--board-width-reserve: 252px;gap:12px;display:grid;grid-template-columns:min(var(--board-size, 620px),calc(100% - var(--board-width-reserve))) minmax(240px,1fr)}.student-app .study-workspace .study-notes,.student-app .study-workspace .study-notes:has(>.training-viewer){height:min(var(--board-viewport-limit),calc(100cqw - 252px));min-height:420px}.student-app .puzzle-sidebar{grid-column:2;grid-row:2;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px}.student-app .puzzle-workspace{grid-template-rows:auto 1fr}.student-app .puzzle-board{grid-row:1 / span 2}.student-app .puzzle-panel{grid-column:2;grid-row:1}.student-app .puzzle-ratings{min-height:0;padding:10px 12px}.student-app .puzzle-score strong{font-size:28px}.student-app .puzzle-settings{gap:8px;padding:12px}.student-app .puzzle-notation{min-height:64px;max-height:160px;padding-bottom:4px}.student-app .puzzle-status{min-height:0;padding:12px;gap:8px}.student-app .puzzle-status-heading{flex-direction:row;gap:8px}.student-app .puzzle-status-icon{flex:0 0 40px;width:40px;height:40px}.student-app .puzzle-status h2{font-size:18px}.student-app .puzzle-text-button{min-height:44px}.student-app .puzzle-history button{min-width:44px;height:36px}.student-app .board-controls{gap:4px;padding:4px 0}.student-app .board-controls button{min-width:0;min-height:44px;padding:6px}.student-app .study-notes>.notation>.board-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:4px}.student-app .study-notes>.notation>.board-controls button{width:100%;padding:4px 0}.student-app .viewer-header{padding:10px 12px;gap:8px;flex-wrap:wrap}.student-app .viewer-title{flex-basis:100%}.student-app .viewer-header h1{font-size:14px}.student-app .viewer-modes{margin-left:auto}.student-app .viewer-modes>*{min-height:36px}.student-app .training-footer,.student-app .training-content{padding:8px 12px}.student-app .training-actions button{min-height:44px}.student-app .training-mode-picker{padding:6px 12px}.student-app .training-turn{flex-basis:48px;padding:4px 12px}.student-app .training-turn-content{flex-direction:row;gap:6px;font-size:18px}.student-app .training-turn-king{flex-basis:36px;width:36px;height:36px}}@media(max-width:700px)and (min-height:501px),(max-width:500px){.student-app :is(.study-layout.study-workspace,.puzzle-workspace,.run-workspace){--board-width-reserve: 0px;display:flex;flex-direction:column;gap:8px}.student-app :is(.study-layout.study-workspace,.puzzle-workspace,.run-workspace):not(:has(.training-viewer)){--board-viewport-limit: 100dvh !important}.student-app :is(.board-column,.puzzle-board,.run-board){width:min(100%,var(--board-size));margin-inline:auto;order:0}.student-app :is(.study-notes,.study-notes>.notation,.training-viewer,.puzzle-viewer){display:contents}.student-app .viewer-header{order:-2;width:100%;padding:6px 0;border:0}.student-app .study-workspace .viewer-breadcrumbs{order:-3}.student-app .viewer-title{flex-basis:0}.student-app .viewer-header h1{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.student-app .training-mode-picker{order:-1;width:100%;padding:0;border:0}.student-app .study-notes>.notation>.board-controls{order:1;width:100%;margin:0}.student-app .notation-scroll{order:2;flex:none;width:100%;height:180px;padding:10px;background:var(--theme-surface, white);border:1px solid var(--line);border-radius:6px}.student-app .notation-forks{order:3;width:100%;max-height:120px}.student-app .training-content{order:2;flex:none;width:100%;height:clamp(120px,20dvh,180px);min-height:120px;max-height:180px;background:var(--theme-surface, white);border:1px solid var(--line);border-radius:6px}.student-app .training-viewer>.training-turn{order:1;width:100%;min-height:40px}.student-app .training-footer{order:3;width:100%;padding:8px}.student-app .study-workspace:has(.training-viewer){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto 44px auto 44px 4px 44px auto auto auto;grid-template-areas:"breadcrumbs" "heading" "mode" "board" "command" "content" "navigation" "progress" "position" "metrics" "completed" "result"}.student-app .training-viewer>.viewer-header{grid-area:heading}.student-app .viewer-breadcrumbs{grid-area:breadcrumbs}.student-app .training-mode-picker{grid-area:mode}.student-app .study-workspace:has(.training-viewer) .board-column{grid-area:board;max-width:min(var(--board-size),max(200px,calc(var(--board-viewport-limit) - 52px)))}.student-app .training-footer{display:contents}.student-app .training-actions{grid-area:command;justify-self:start;margin:0}.student-app .training-viewer>.training-turn{grid-area:command;justify-self:end;width:auto;padding:0;border:0}.student-app .training-content{grid-area:content}.student-app .training-footer>.board-controls{grid-area:navigation}.student-app .training-footer>progress{grid-area:progress;margin:0}.student-app .training-position{grid-area:position}.student-app .training-footer .training-metrics{grid-area:metrics}.student-app .training-completed-label{grid-area:completed}.student-app .training-completion-summary{grid-area:result}.student-app .puzzle-notation{order:3;width:100%;min-height:44px;max-height:120px;background:var(--theme-surface, white);border-radius:6px}.student-app .puzzle-status{order:1;flex:none;width:100%;padding:8px;border-radius:6px}.student-app .puzzle-navigation{order:0;width:100%;padding:2px}.student-app .puzzle-sidebar{order:5;width:100%}.student-app .puzzle-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-app .puzzle-analysis{order:2;width:100%}.student-app .puzzle-review-heading{order:1;width:100%}.student-app .run-panel-ready{order:-1;width:100%;padding:10px}.student-app .run-modes{flex-direction:row;gap:6px;margin-bottom:8px}.student-app .run-modes button{flex:1;min-width:0;min-height:44px;padding:6px;font-size:12px}.student-app .run-panel-playing{display:contents}.student-app .puzzle-games .run-panel-playing .run-move-navigation{order:0;margin:0}.student-app .run-stats:not(.run-stats-result){display:grid;grid-template-columns:1fr;align-items:center;justify-content:space-between;gap:8px;order:-3;width:100%;min-height:44px}.student-app .run-turn{flex-direction:row;gap:6px;margin:0;min-height:46px;transform:none}.student-app .run-turn-king{width:30px;height:30px;transform:none}.student-app .run-turn p{font-size:18px}.student-app .run-stats .run-score-active strong{font-size:36px;padding:8px 0 0}.student-app .run-score-active:before{display:none}.student-app .run-status{order:-2;padding:4px 0;width:100%}.student-app .run-clock-value{font-size:24px}.student-app .run-clock-track{margin-top:4px}.student-app .run-panel:has(.run-stats-result) .run-status{display:none}.student-app .run-result-actions{order:-1;margin:0}.student-app .run-history,.student-app .run-finish{order:2}}@media(min-width:501px)and (max-width:1180px)and (max-height:500px){.student-app .main-content:has(.study-workspace,.puzzle-page,.puzzle-games){padding:8px}.student-app :is(.study-layout.study-workspace,.puzzle-workspace,.run-workspace){--board-width-reserve: 248px;--board-viewport-limit: calc(100dvh - 72px) !important;display:grid;grid-template-columns:min(var(--board-size),calc(100% - 248px)) minmax(240px,1fr);gap:8px;align-items:start}.student-app :is(.board-column,.puzzle-board,.run-board){width:100%;max-width:var(--board-viewport-limit);margin:0}.student-app .puzzle-viewer{max-height:var(--board-viewport-limit);overflow-y:auto}.student-app .run-panel-playing{display:flex;height:var(--board-viewport-limit);min-height:0;padding:10px}.student-app .run-panel .run-move-navigation{order:-1;margin:-10px -10px 10px}.student-app .puzzle-viewer>.puzzle-navigation{order:-1;position:sticky;top:0;z-index:2;background:var(--theme-surface, #fff)}.student-app .run-stats:not(.run-stats-result){display:flex;align-items:center;justify-content:space-between;gap:8px}.student-app .run-turn{flex-direction:row;margin:0;min-height:44px;padding:6px;transform:none}.student-app .run-turn-king{width:32px;height:32px;transform:none}.student-app .run-turn p{font-size:16px}.student-app .run-stats .run-score-active strong{font-size:36px;padding:22px 0 0}.student-app .run-score-active{min-width:76px}.student-app .run-score-active:before{display:none}.student-app .run-status{padding:6px 0;order:0}.student-app .run-clock-value{font-size:24px}.student-app .run-clock-track{margin-top:4px}.student-app .run-panel-playing .run-history{flex:1 1 0;min-height:0;max-height:none;overflow-y:auto;margin:8px 0}.student-app .run-panel-ready{width:100%;padding:10px}.student-app .run-modes{margin-bottom:10px;gap:6px}.student-app .run-modes button{min-height:40px}.student-app .run-stats-result>div{padding:8px}.student-app .run-stats-result strong{margin-top:4px;font-size:32px}.student-app .run-stats-result{margin-bottom:8px}.student-app .run-panel:has(.run-stats-result) .run-status{display:none}.student-app .study-workspace .study-notes,.student-app .study-workspace .study-notes:has(>.training-viewer){height:var(--board-viewport-limit);min-height:0}.student-app .viewer-header{padding:4px 8px;flex-wrap:nowrap;align-items:center}.student-app .viewer-title{flex-basis:0}.student-app .viewer-header h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-app .training-mode-picker{padding:3px 8px}.student-app .training-turn{flex-basis:32px;min-height:32px;padding:0 8px}.student-app .training-viewer>.training-turn .training-turn-king{flex-basis:28px;width:28px;height:28px}.student-app .training-footer{padding:4px 8px}.student-app .training-actions{margin-bottom:2px}.student-app .training-actions button{min-height:36px}.student-app .training-footer .training-metrics{flex-wrap:nowrap;gap:4px;margin:0}.student-app .training-metrics>div>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.student-app .training-footer progress{margin-bottom:2px}.student-app .training-content{padding:4px 8px}}@media(min-width:501px)and (max-width:1180px)and (max-height:360px){.student-app .study-notes>.training-viewer{display:block;flex:none;height:100%;overflow-y:auto;overscroll-behavior:contain}.student-app .training-content{min-height:72px;max-height:140px}.student-app .training-footer{position:sticky;bottom:0}}@media(max-width:480px){.student-app .topbar{padding-inline:4px;gap:0}.student-app .brand{flex-basis:44px;min-height:44px;justify-content:center}.student-app .header-nav,.student-app .account{gap:0}.student-app .header-nav>a,.student-app .header-nav>.puzzle-nav{min-width:44px}.student-app .header-nav>a>span,.student-app .puzzle-nav-trigger>span{display:none}.student-app .header-nav>a,.student-app .puzzle-nav-trigger{display:flex;align-items:center;justify-content:center;height:44px;padding:0}.student-app .puzzle-nav-trigger{position:relative}.student-app .puzzle-nav-trigger>svg:last-child{position:absolute;right:1px;width:10px}.student-app .account :is(.icon-button,.board-preferences-trigger){width:44px;height:44px;padding:10px}.staff-practice .topbar{height:auto;flex-wrap:wrap}.staff-practice .header-nav{order:1;flex-basis:100%}}.mobile-navigation-panel{display:flex;flex-direction:column;min-height:100%;padding:max(12px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}@media(max-width:950px){.app-shell .topbar-with-progress .account{min-width:0}.app-shell .topbar-with-progress .header-progress{width:clamp(200px,44vw,248px)}}@media(max-width:600px){.app-shell .topbar.topbar-with-progress .brand{flex:0 0 32px;padding:0}.app-shell .topbar.topbar-with-progress .brand>span{display:none}.app-shell .topbar.topbar-with-progress .account{flex:1;justify-content:flex-end}.app-shell .topbar-with-progress .header-progress{flex:1;width:auto;max-width:220px;gap:8px}.app-shell .topbar-with-progress .header-level-ring{flex-basis:34px;height:34px}.app-shell .topbar-with-progress .header-level-number{width:27px;height:27px}}.mobile-navigation-heading,.mobile-navigation-account{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-navigation-links{display:flex;flex-direction:column;gap:4px;padding-block:12px 24px}.mobile-navigation-links a,.mobile-puzzle-disclosure{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 12px;border-radius:8px;color:var(--muted);font-weight:650}.mobile-puzzle-disclosure{width:100%;border:0;background:transparent;text-align:left;font-size:inherit;line-height:inherit}.mobile-puzzle-disclosure span{flex:1}.mobile-puzzle-disclosure[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.mobile-puzzle-group>div a{padding-left:28px}.mobile-navigation-links a svg{flex-shrink:0}.mobile-navigation-links a.selected{color:var(--navy);background:var(--theme-surface-muted, #edf1f3);box-shadow:none}.mobile-navigation-links a:hover,.mobile-puzzle-disclosure:hover{background:var(--theme-surface-muted, #edf1f3);color:var(--navy)}.mobile-navigation-links a.selected svg{color:var(--navy)}.mobile-navigation-account{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.mobile-navigation-account>div{min-width:0}.mobile-navigation-account strong{font-size:13px}.mobile-navigation-account small{display:block;color:var(--muted)}@media(max-width:950px){.app-shell .topbar{height:56px;min-height:56px;padding:6px 12px;gap:4px;flex-wrap:nowrap}.app-shell .topbar .header-nav,.app-shell .topbar .account>span,.app-shell .topbar .account>button{display:none}.app-shell .topbar .brand{flex:1;min-width:0;justify-content:flex-start;gap:8px}.app-shell .topbar .brand>span{display:block;font-size:11px}.app-shell .topbar .brand img{width:32px;height:32px}.app-shell .topbar .account{flex:0 0 auto}}
