@import"https://fonts.googleapis.com/css2?family=Albert+Sans:wght@400;500;600;700;800&display=swap";:root{font-family:Albert Sans,Arial,sans-serif;color:#29221d;background:#faf8f4;font-synthesis:none;--orange:#ff6600;--brown:#8b4513;--deep:#54301a;--ink:#29221d;--muted:#71685f;--line:#e4ded5;--paper:#fffefa;--gold:#bb8e25;--radius:8px;--space:24px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:1px solid #d8cec1;background:#fffefa;color:var(--ink);border-radius:5px;padding:10px 16px;min-height:42px;cursor:pointer;transition:background .15s,transform .15s,border-color .15s}button:hover:enabled{background:#f1ebe2;border-color:#ad9984}button:active:enabled{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--orange);border-color:var(--orange);color:#2e1a0c;font-weight:700}button.primary:hover:enabled{background:#f07519;border-color:#f07519}button:focus-visible,input:focus-visible{outline:3px solid #a04b0f;outline-offset:3px}a{color:var(--brown)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3vw,40px);line-height:1.15;letter-spacing:-1.3px;font-weight:700;margin-bottom:12px;color:var(--deep)}h2{font-size:27px;line-height:1.2;letter-spacing:-.7px;font-weight:700;margin-bottom:12px}h3{font-size:21px;letter-spacing:-.35px;margin-bottom:12px}p{font-size:16px;line-height:1.65;margin-bottom:20px}small,.small{font-size:13px}small{line-height:1.5}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:1.1px;text-transform:uppercase;font-weight:700;color:var(--brown);margin-bottom:14px}.brand{display:flex;align-items:center;gap:16px;color:var(--deep);font-size:17px;line-height:1.3;font-weight:500}.brand strong{font-weight:800}.crest{width:55px;height:74px;position:relative;overflow:hidden;flex-shrink:0}.crest img{position:absolute;width:187px;max-width:none;left:0;top:0;height:74px;object-fit:fill}.brand.compact{color:#fffaf1;gap:12px;font-size:16px}.compact .crest{width:43px;height:58px}.compact .crest img{width:147px;height:58px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.text-button{padding:0;border:0;border-radius:0;background:transparent;min-height:32px;color:var(--brown);font-weight:600;text-align:left}.text-button:hover:enabled{background:transparent;text-decoration:underline;border:0}label{display:block;font-size:14px;font-weight:600;color:#4b3b2e;margin-bottom:18px}input:not([type=radio]){display:block;width:100%;border:1px solid #cfc3b4;border-radius:5px;min-height:46px;padding:12px;background:#fffefa;color:var(--ink);margin-top:8px;min-width:0}input[type=radio]{accent-color:var(--orange);margin-right:10px}input:disabled{opacity:.6}.full{width:100%}.alert{background:#fff0e8;border-left:3px solid #b54d12;color:#6b2908;padding:14px 18px;margin-bottom:20px;line-height:1.5}.local-tag{font-size:12px;background:#efe9dd;color:#59442f;padding:7px 12px;border-radius:3px}.login-page{min-height:100dvh;display:flex;flex-direction:column}.login-page>header{margin:0 6vw;padding:30px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.login-main{display:grid;grid-template-columns:1fr 1fr;max-width:1120px;width:100%;margin:auto;gap:100px;padding:72px 48px}.welcome{position:relative}.welcome h1{font-size:52px;letter-spacing:-2px;margin-bottom:24px}.welcome>p:not(.eyebrow){font-size:20px;color:var(--muted)}.welcome-piece{width:120px;margin:20px 0}.welcome-piece img{width:100%;filter:sepia(.35)}.login-courses{display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--brown);border-top:1px solid #d9ccb9;padding-top:20px;max-width:340px}.login-form{align-self:center;border-left:1px solid var(--line);padding-left:64px}.login-form h2{font-size:32px;color:var(--deep)}.login-form form{margin-top:32px}.login-note{font-size:13px;color:var(--muted);line-height:1.6;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.login-page>footer{margin:0 6vw;border-top:1px solid var(--line);padding:22px 0;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.boot{padding:60px;display:grid;gap:30px}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--deep);color:#fffaf1;padding:30px 20px;display:flex;flex-direction:column}.sidebar .brand{padding:0 6px 28px;border-bottom:1px solid #805b40;margin-bottom:24px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{text-align:left;background:transparent;border:0;color:#f6e9d9;font-size:15px;display:flex;align-items:center;gap:12px;border-radius:5px;padding:13px 14px}.sidebar nav button>span{width:20px;text-align:center;font-size:21px;line-height:1}.sidebar nav button.active{background:#7d481f;color:#fff9ef;box-shadow:inset 3px 0 var(--orange)}.sidebar nav button:hover{background:#6b4024}.nav-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#dbc1a4;margin:22px 14px 6px}.nav-label:first-child{margin-top:0}.sidebar-bottom{margin-top:auto;padding:48px 10px 0;font-size:12px;line-height:1.8;color:#f2dcc3}.sidebar-bottom small{font-size:11px;color:#d2bda6}.local-dot{display:inline-block;width:6px;height:6px;background:#ffa14e;border-radius:50%;margin-right:5px}.workspace{display:flex;flex-direction:column;min-width:0}.topbar{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 44px;border-bottom:1px solid var(--line);background:#fffefa}.topbar>span{font-size:13px;color:var(--muted)}.topbar-divider{margin:0 12px;color:#c1b5a6}.account{display:flex;align-items:center;gap:12px;font-size:13px}.account .avatar{width:35px;height:35px;border-radius:50%;background:#ede2d3;color:var(--deep);display:grid;place-items:center;font-weight:700}.account strong{display:block}.account small{display:block;text-transform:capitalize;font-size:11px;color:var(--muted)}.account button{margin-left:12px;min-height:34px;padding:7px 12px;font-size:12px}.content{padding:44px;max-width:1500px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading p:last-child{margin-bottom:0}.page-heading .text-button{margin-bottom:18px;font-size:13px}.date-label{font-size:13px;color:var(--muted)}.library-intro{display:flex;gap:18px;align-items:center;max-width:660px;margin-bottom:34px}.library-intro p{font-size:15px;margin:0;color:var(--muted)}.intro-rule{display:block;width:3px;height:44px;background:var(--gold);flex-shrink:0}.course-library{display:grid;gap:22px}.course-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:24px;background:var(--paper);border:1px solid #ddd4c7;border-radius:var(--radius);padding:30px;transition:border-color .2s}.course-card:hover{border-color:#b8a28b}.course-number{font-size:34px;letter-spacing:-1.5px;font-weight:700;color:var(--gold);border-right:1px solid #c2a56a;align-self:stretch;display:flex;align-items:center}.course-copy h2{font-size:27px;margin-bottom:8px}.course-copy p{color:var(--muted);font-size:15px;margin-bottom:20px}.course-copy .eyebrow{font-size:10px;margin-bottom:12px}.progress-track{height:5px;background:#ede7de;border-radius:5px;overflow:hidden;margin-bottom:10px;max-width:520px}.progress-track>span{display:block;height:100%;background:var(--orange)}.status{font-size:11px;font-weight:600;padding:5px 8px;border-radius:3px;background:#eee9df;color:#6b5a45;white-space:nowrap}.status.active{background:#ffebdc;color:#8a3909}.status.complete{background:#e7eddf;color:#405328}.status.rest{background:#f1e7c8;color:#725014}.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;border-top:1px solid var(--line);padding-top:32px}.home-bottom p:last-child{font-size:14px;color:var(--muted);margin:0;max-width:450px}.home-bottom .eyebrow{font-size:11px}.app-footer{padding:20px 44px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.app-footer a{color:inherit}.save-status{font-size:12px;color:#5c6a43}.pilot-banner{font-size:13px;color:#6e5a40;border-left:2px solid #c3a663;padding:8px 14px;background:#f1ece2;margin-bottom:28px}.intro-card{background:var(--paper);padding:40px;border:1px solid var(--line);border-radius:var(--radius);max-width:900px}.intro-card .section-number{font-size:44px;color:var(--gold);display:block;margin-bottom:16px}.intro-card>p{max-width:650px;color:var(--muted)}.intro-card>button{margin-right:12px;margin-top:20px}.chapter-list{margin-top:32px;border-top:1px solid var(--line)}.chapter-list>div{padding:14px 0;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);font-size:14px}.chapter-list small{margin-left:auto;color:var(--muted);font-size:11px}.chapter-list span{color:var(--gold)}.exercise-meta{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--muted);margin-bottom:20px}.training-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:36px;align-items:start}.board-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;font-size:13px}.board-top>span{color:var(--muted);font-variant-numeric:tabular-nums}.board-wrap{position:relative}.chessboard{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;border:5px solid #6a4328;touch-action:none;-webkit-user-select:none;user-select:none}.square{padding:0;border:0;border-radius:0;min-height:0;aspect-ratio:1;position:relative;display:grid;place-items:center;touch-action:none;outline-offset:-3px!important}.square.light,.square.light:hover:enabled{background:#f1e4cf}.square.dark,.square.dark:hover:enabled{background:#ab8058}.square:active:enabled{transform:none}.square.picked,.square.origin{box-shadow:inset 0 0 0 4px var(--orange)}.square img{width:87%;height:87%;object-fit:contain;pointer-events:none}.square .ghost{opacity:.25}.rank,.file{position:absolute;font-size:10px;font-weight:600;pointer-events:none}.rank{left:3px;top:2px}.file{right:3px;bottom:1px}.dark .rank,.dark .file{color:#fff3df}.light .rank,.light .file{color:#795233}.drag-piece{position:fixed;width:65px;height:65px;transform:translate(-50%,-50%);pointer-events:none;z-index:99;filter:drop-shadow(0 8px 4px #0004)}.board-help{color:var(--muted);font-size:12px;margin-top:12px;line-height:1.5}.calculation{padding:18px 0}.calculation h2{font-size:30px}.calculation>p:not(.eyebrow){font-size:15px;color:var(--muted)}.calculation .primary{margin-top:8px}.source{display:block;color:var(--muted);font-size:11px;margin-top:24px;line-height:1.6}.line-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:24px 0}.line-panel>span{font-size:13px;font-weight:600}.line-panel p{font-size:14px;margin-top:14px}.moves{display:flex;list-style:none;gap:8px;flex-wrap:wrap;padding:0;min-height:24px}.moves li{font-family:Consolas,monospace;background:#eee7dc;padding:5px 9px;font-size:15px;border-radius:3px}.line-panel .actions button{font-size:12px;min-height:34px;padding:7px 10px}fieldset{padding:0;border:0;margin:26px 0}legend{font-size:13px;font-weight:600;margin-bottom:12px}.choices{display:flex;gap:10px;flex-wrap:wrap}.choices label{padding:12px 14px;border:1px solid #ddd0bf;border-radius:5px;margin:0;font-size:14px;background:#fffefa}.choices label.selected{background:#ffeddf;border-color:#b86423}.reveal{padding:20px;margin:24px 0;border-left:3px solid #89976a;background:#edf0e6}.reveal.review{background:#f3ebdc;border-color:#b69354}.reveal strong{line-height:1.5;display:block}.reveal p{font-size:14px;margin:14px 0 0}.reveal-line{padding:16px 0;font-size:14px}.reveal-line p,.extra-line p{font-family:Consolas,monospace;margin:12px 0;font-size:16px}.boundary{display:inline-block;padding:5px 8px;background:#e9edde;color:#475a2e;font-size:12px}.extra-line{padding:16px;background:#fff0e2;border-left:3px solid #ff9d55;margin-bottom:20px;font-size:13px}.extra-line>span{font-size:12px}.replay{margin:20px 0}.replay button{font-size:12px;padding:8px 10px;min-height:34px}.reading-layout{grid-template-columns:1fr;max-width:720px;background:var(--paper);border:1px solid var(--line);padding:30px;border-radius:8px}.paused-board{aspect-ratio:1;background:#eee7dc;border:5px solid #6a4328;display:flex;align-items:center;justify-content:center;flex-direction:column}.promotion{position:absolute;inset:25% 8%;background:#fffefa;border:1px solid var(--line);padding:24px;box-shadow:0 12px 60px #0003;z-index:20}.promotion>.actions{margin-top:20px}.summary-grid{display:flex;gap:32px;flex-wrap:wrap;margin:24px 0}.summary-grid>div{display:flex;flex-direction:column;gap:12px}.summary-grid strong{font-size:28px;color:var(--brown)}.summary-grid span{font-size:13px;color:var(--muted)}.search{max-width:360px;font-size:12px;margin-bottom:24px}.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px;white-space:nowrap}th{font-size:12px;background:#f1ece4;color:#67543f;font-weight:600}th,td{padding:16px 20px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}.selected-row td{background:#fff0e1}.player-name{font-weight:700}.roster-course{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;margin:4px 0}.roster-course .status{font-size:10px}.empty{padding:40px;color:var(--muted);font-size:14px;white-space:normal}.empty p{margin:0}.empty h3{color:var(--deep)}.add-user,.player-detail,.attempt-detail{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:28px 0}.add-user p{font-size:14px;max-width:650px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.course-summaries{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.course-summaries>div{border-top:2px solid var(--gold);padding-top:20px}.course-summaries p{font-size:13px;color:var(--muted);margin:12px 0}.course-summaries h3{font-size:19px}.invitation>label{margin-top:18px}.invitation small{display:block;color:var(--muted);margin-top:18px}.attempt-detail h3{margin:0}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:#fff;z-index:100;padding:12px}.history-board{max-width:500px;margin-top:24px}.move-list{font-family:Consolas,Courier New,monospace;margin:14px 0;font-size:17px;line-height:1.7;color:var(--ink)}.move-list-heading{margin-bottom:3px;font-size:14px}.move-list .moves{display:block;list-style:none;margin:0;padding:0;min-height:0}.move-pair{display:grid;grid-template-columns:minmax(64px,max-content) minmax(64px,max-content);column-gap:16px}.move-pair>span{white-space:nowrap}.compact-moves{font-size:13px;margin:6px 0;line-height:1.5}.compact-moves .move-pair{grid-template-columns:60px 60px;gap:8px}.session-filter{max-width:500px;font-size:13px}.session-filter select{display:block;margin-top:8px;width:100%;padding:10px;border:1px solid #cfc3b4;border-radius:5px;background:var(--paper);font:inherit;color:var(--ink)}.history-course{display:block;font-size:11px;color:var(--muted);margin-top:5px}.submitted-choice{font-size:13px;font-weight:600}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.review-layout .history-board{margin-top:0;width:100%}.review-mode{margin:18px 0}.review-mode button{font-size:12px}.review-mode button[aria-pressed=true]{background:var(--deep);color:#fff}.course-review{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}.course-review h2{margin-top:26px}.status.failed{background:#ffe1d5;color:#823006}.history-view td{vertical-align:top}.history-view .attempt-detail>p{margin-top:20px}.course-review .history-view{margin-top:22px}@media(max-width:850px){.review-layout{grid-template-columns:1fr}.history-board{max-width:500px}.session-filter{max-width:100%}}@media(min-width:1500px){.training-layout{grid-template-columns:minmax(0,620px) minmax(300px,1fr)}}@media(max-width:1100px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:26px 14px}.sidebar .brand{font-size:14px}.content{padding:32px}.topbar{padding:18px 32px}.topbar>span{font-size:11px}.date-label{display:none}.course-card{padding:24px;grid-template-columns:40px minmax(0,1fr);gap:20px}.course-card>.primary{grid-column:2;justify-self:start}.course-copy h2{font-size:25px}.training-layout{gap:24px;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr)}.calculation h2{font-size:25px}.calculation{padding:8px 0}.content h1{font-size:32px}}@media(max-width:850px){.training-layout{grid-template-columns:1fr}.board-wrap,.paused-board,.board-top{max-width:560px}.calculation{max-width:640px}.home-bottom{gap:24px}.login-main{gap:40px;padding:54px 32px}.login-form{padding-left:32px}.welcome h1{font-size:40px}.topbar>span{display:none}.topbar{justify-content:flex-end}.page-heading{align-items:flex-start}.course-summaries{grid-template-columns:1fr}}@media(max-width:650px){.app-shell{display:block}.sidebar{padding:18px}.sidebar .brand{padding:0;border:0;margin:0;font-size:15px}.sidebar .crest{width:32px;height:43px}.sidebar .crest img{width:108px;height:43px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:4px;margin-top:16px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar nav button{font-size:12px;padding:9px 10px;gap:6px;min-height:38px}.sidebar nav button>span{font-size:16px;width:16px}.sidebar nav button.active{box-shadow:inset 0 -2px var(--orange)}.topbar{min-height:66px;padding:12px 20px}.account{font-size:12px}.account .avatar{width:30px;height:30px}.account button{margin-left:8px}.content{padding:28px 20px}.content h1{font-size:29px}.page-heading{gap:12px;margin-bottom:24px;flex-wrap:wrap}.page-heading>.primary{font-size:13px}.course-card{padding:20px;grid-template-columns:32px minmax(0,1fr);gap:16px}.course-number{font-size:26px}.course-copy h2{font-size:22px}.course-copy .between{gap:8px}.course-copy .eyebrow{font-size:9px;margin-bottom:4px}.course-copy p{font-size:14px}.status{font-size:10px}.course-card>.primary{font-size:13px}.home-bottom{grid-template-columns:1fr;margin-top:32px}.home-bottom h3{font-size:20px}.app-footer{padding:18px 20px;flex-direction:column;font-size:10px;gap:8px}.login-page>header{padding:20px 0;margin:0 20px}.login-page .brand{font-size:15px}.login-page .crest{width:40px;height:54px}.login-page .crest img{width:137px;height:54px}.login-main{display:block;padding:32px 24px}.welcome h1{font-size:36px}.welcome>p:not(.eyebrow){font-size:17px}.welcome-piece,.login-courses{display:none}.welcome{margin-bottom:32px}.login-form{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.login-page>footer{margin:0 24px;flex-direction:column;gap:10px}.local-tag{font-size:10px;padding:6px}.form-row{grid-template-columns:1fr;gap:0}.add-user,.player-detail,.attempt-detail,.intro-card{padding:22px}.chapter-list>div{flex-wrap:wrap;font-size:13px}.chapter-list small{margin-left:24px}.eyebrow{font-size:10px}.exercise-meta{font-size:11px}.pilot-banner{font-size:12px}.source{font-size:11px}.promotion{inset:15% 3%;padding:18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.chessboard{position:relative}.board-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:#5f3418;opacity:.9}.board-arrow-number circle{fill:#fff8ea;stroke:currentColor;stroke-width:.025}.board-arrow-number text{fill:currentColor;font-size:.28px;font-weight:800}.square-label{position:absolute;top:10%;right:9%;min-width:1.1em;padding:0 .2em;border-radius:3px;background:var(--deep);color:#fff;font-size:clamp(10px,1.2vw,16px);line-height:1.3;font-weight:700}.teaching-diagrams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.teaching-diagrams.single{grid-template-columns:minmax(0,1fr)}.teaching-diagram{min-width:0}.teaching-diagram h3{margin-bottom:8px;font-size:14px;color:var(--deep)}.teaching-diagram p{margin:10px 0 0;font-size:14px;color:var(--muted);line-height:1.5}.teaching-diagrams.lesson-diagrams{grid-template-columns:minmax(0,1fr);gap:36px}.lesson-diagrams .diagram-explanation{max-width:60ch}.lesson-diagrams .diagram-explanation p{margin:0;color:var(--ink);font-size:16px;line-height:1.65}.fischer-lesson{--lesson-frame-padding:clamp(10px,2vw,24px);margin-inline:calc(-1px - var(--lesson-frame-padding));padding:var(--lesson-frame-padding);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.lesson-intro{max-width:70ch;margin-bottom:24px}.lesson-footer{margin-top:28px}.attempt-detail .fischer-lesson{margin-top:20px}.attempt-detail:not(.standalone-lesson-review) .fischer-lesson{margin-inline:0;padding:0;background:transparent;border:0}.attempt-detail.standalone-lesson-review{padding:0;border:0;background:transparent}.diagram-arrow-notes{margin:10px 0 0;padding-left:1.4em;font-size:14px;line-height:1.5}.diagram-arrow-notes li+li{margin-top:8px}.fischer-reset-feedback{max-width:270px;margin:8px 0 0;white-space:normal;font-size:13px}.course-copy .fischer-reset-button{margin-top:12px;min-height:36px;font-size:13px}.promotion-piece{display:grid;place-items:center;width:48px;min-height:48px;padding:5px}.promotion-piece img{display:block;width:36px;height:36px}.promotion-piece.with-move{width:auto;grid-template-columns:36px minmax(0,1fr);gap:6px;padding-right:10px;text-align:left}.promotion-piece[aria-pressed=true]{background:#ffeddf;border-color:#b86423}.promotion-question{margin:0}.promotion-question legend{margin-bottom:6px}.promotion-cancel{margin-top:10px}.fischer-responses{display:grid;gap:12px}.fischer-move-boards{display:grid;gap:26px;min-width:0}.fischer-move-boards section{min-width:0}.fischer-move-boards h3,.fischer-move-boards p{margin:0 0 8px}.fischer-move-boards p[role]{margin:10px 0}.plain-moves{white-space:normal;line-height:1.5}.plain-moves ol{padding-left:24px;margin:12px 0}.plain-moves summary{cursor:pointer;width:fit-content;color:var(--deep);font-size:13px}.fischer-responses label{margin:0;min-width:0;overflow-wrap:anywhere}.fischer-responses select,.frame-issue select,.frame-issue textarea{display:block;width:100%;margin-top:6px;border:1px solid #cfc3b4;border-radius:5px;background:var(--paper);color:var(--ink);padding:10px;font:inherit}.fischer-responses select,.frame-issue select{min-height:44px}.frame-issue textarea{resize:vertical}select:focus-visible,textarea:focus-visible{outline:3px solid #a04b0f;outline-offset:3px}.prefilled-answer{display:block;margin-top:6px;color:var(--muted)}.response-summary{display:grid;gap:8px;margin:12px 0}.response-summary dt{font-size:13px;color:var(--muted)}.response-summary dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}.frame-issue{margin-top:24px}.frame-issue form{margin-top:16px}.frame-issue p{margin-top:12px}.issue-list{padding:0;list-style:none}.issue-list li{border-top:1px solid var(--line);padding:16px 0;overflow-wrap:anywhere}.issue-list p{white-space:pre-wrap;margin:8px 0}@media(max-width:650px){.teaching-diagrams{gap:16px}.teaching-diagrams:not(.lesson-diagrams) .chessboard{border-width:3px}}.fischer-chapters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin:0 0 24px}.fischer-chapters button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left;min-height:58px;font-size:13px}.fischer-chapters button[aria-current=page]{background:#ffeddf;border-color:#b86423}.fischer-chapters button:disabled{opacity:1;background:#f1ece4;color:var(--muted);border-color:var(--line)}.fischer-chapters small{font-size:11px;color:var(--muted)}.fischer-chapters:has(+.fischer-frame-picker){margin-bottom:10px}.fischer-frame-picker{margin-bottom:24px;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.fischer-frame-picker p{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--deep)}.fischer-frame-numbers{display:flex;flex-wrap:wrap;gap:5px;max-height:152px;overflow-y:auto;padding:4px}.fischer-frame-numbers button{width:44px;min-height:44px;padding:0;font-size:13px;font-variant-numeric:tabular-nums}.fischer-frame-numbers button:disabled{opacity:1;background:#f1ece4;color:var(--muted);border-color:var(--line)}.fischer-frame-numbers button[aria-current=step]{border-color:#b86423}.fischer-frame-numbers button[aria-current=step]:enabled{background:#ffeddf}.frame-navigation{margin:0 0 18px}.fischer-rules .board-wrap{max-width:390px;margin:20px 0}.fischer-rules li{margin-bottom:8px;line-height:1.6}.piece-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;list-style:none;padding:0;margin:20px 0}.piece-key li{display:grid;justify-items:center;gap:3px;padding:8px 4px;border:1px solid var(--line);border-radius:5px;font-size:13px;text-transform:capitalize}.piece-images{display:flex}.piece-images img{width:28px;height:28px}.piece-rules{list-style:none;padding:0}.piece-rules li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.piece-rules strong{text-transform:capitalize}.authenticator-setup{margin:4px 0 18px;min-width:0}.authenticator-setup>svg{display:block;max-width:100%;height:auto;margin:0 auto 14px;background:#fff}.authenticator-setup>p{font-size:13px;line-height:1.5;margin:0 0 14px}.authenticator-setup input{font-family:monospace;font-size:14px;letter-spacing:.04em}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;align-items:start}.profile-card{background:#fff;border:1px solid #e6dfd7;border-radius:12px;padding:24px}.profile-card h2{margin-top:0}.profile-card form{display:grid;gap:14px}.profile-card label{display:grid;gap:6px}.profile-card input{width:100%;box-sizing:border-box}.profile-card .authenticator-setup{align-items:start;max-width:100%;overflow-wrap:anywhere}.profile-card .authenticator-setup svg{max-width:100%;height:auto}.sidebar .nav-icon{width:20px;height:20px;flex:0 0 20px}.account .avatar-button{margin-left:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:2px;border:1px solid transparent;border-radius:50%;background:transparent;display:grid;place-items:center}.account .avatar-button:hover:enabled{border-color:var(--brown);background:#f5ede3}.account .avatar-button:focus-visible{outline:3px solid #a04b0f;outline-offset:3px}.person-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;background:#eee2d1;color:var(--deep);font-size:18px;font-weight:600}.person-avatar img{width:100%;height:100%;object-fit:cover;display:block}.person-avatar-large{width:96px;height:96px;flex-basis:96px;font-size:36px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}.profile-card{border-radius:8px;border-color:var(--line);background:var(--paper);min-width:0;padding:24px}.profile-card h2,.photo-approval-section h2{font-size:23px;font-weight:600;letter-spacing:-.5px}.profile-card p{font-size:16px}.profile-card label{font-size:14px;line-height:1.5;font-weight:500;margin:0}.profile-card input:not([type=checkbox]),.profile-card select{min-height:48px;font-size:16px;max-width:100%}.profile-card button,.photo-approval-section button,.management-page button{min-height:44px}.profile-card .actions{margin:4px 0 0}.profile-card .checkbox-label{display:flex;align-items:flex-start;gap:12px;font-weight:400}.profile-card .checkbox-label input{width:18px;min-width:18px;height:18px;margin-top:3px}.profile-card>p:last-child{margin-bottom:0}.profile-card a{overflow-wrap:anywhere;text-underline-offset:4px}.security-note{border-left:3px solid var(--brown);padding-left:12px;color:var(--deep)}.security-change{margin-top:24px}.security-change>p{margin:0}.photo-editor-current,.photo-pending{display:flex;align-items:center;gap:16px;margin:24px 0}.photo-editor-current strong{font-size:18px;font-weight:500;overflow-wrap:anywhere}.photo-editor-current p,.photo-pending p{margin:8px 0 0}.review-photo{width:112px;height:112px;object-fit:cover;flex:0 0 112px;border-radius:8px;border:1px solid var(--line);background:#fff}.photo-editor input[type=file]{padding:10px 0;border:0;background:transparent}.photo-editor input[type=file]::file-selector-button{font:inherit;min-height:44px;padding:8px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px;margin-right:12px}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading h2{margin-bottom:8px}.section-heading p{margin:0}.section-heading>button{flex-shrink:0}.photo-approval-section{margin-top:32px}.photo-review-list{display:grid;gap:16px}.photo-review-row{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:24px;border:1px solid var(--line);border-radius:8px;padding:24px;background:var(--paper)}.photo-review-row h3{font-size:20px;font-weight:500;margin-bottom:8px}.photo-review-row p{margin-bottom:16px}.photo-review-row form label{display:grid;gap:8px;font-size:14px}.photo-review-row form input{max-width:100%;min-height:48px;font-size:16px}.photo-review-row .actions{margin:12px 0 0}.empty-state{padding:24px;margin:0;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--muted)}.team-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px}.team-person{display:flex;flex-direction:column;align-items:start;gap:16px;text-align:left;border-color:var(--line);padding:24px;border-radius:8px;min-height:180px;background:var(--paper)}.team-person strong{font-size:18px;font-weight:500;overflow-wrap:anywhere}.team-person>.muted{font-size:14px}.team-person .person-avatar{width:64px;height:64px;flex-basis:64px;font-size:25px}.team-person:hover:enabled{transform:translateY(-2px);background:var(--paper);border-color:#b49d84}.team-person:active:enabled{transform:translateY(0)}.team-profile{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:32px;max-width:800px}.team-profile-person{display:flex;align-items:center;gap:24px;margin:24px 0 32px}.team-profile-person h2{font-weight:500;margin-bottom:8px;overflow-wrap:anywhere}.team-profile-person p{margin:0}.chess-profile-links{display:grid;gap:12px}.chess-profile-links>a{display:grid;grid-template-columns:100px minmax(0,1fr) 20px;gap:16px;align-items:center;min-height:64px;border-top:1px solid var(--line);text-decoration:none;padding:16px 0}.chess-profile-links>a strong{font-weight:500;overflow-wrap:anywhere}.chess-profile-links>a:hover strong{text-decoration:underline;text-underline-offset:4px}.team-management-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:24px;align-items:start;margin-bottom:32px}.team-management-grid .table-wrap{min-width:0}.management-page>.table-wrap{margin-bottom:24px}.management-page td .actions{display:flex;flex-wrap:wrap;gap:8px;max-width:420px;min-width:240px}.management-page td small{white-space:normal;overflow-wrap:anywhere}.invite-manager{margin-top:32px}.team-invite-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.team-invite-form>.checkbox-label{align-self:center;min-height:48px}.team-invite-form>button{justify-self:start}.invite-manager>.table-wrap{margin-top:24px}.invite-manager .invitation{margin-top:24px}.invite-manager .invitation input{font-size:14px}.invite-manager .invitation p{margin:12px 0}.invite-manager .invitation button{margin-bottom:0}@media(max-width:1024px){.team-management-grid,.profile-grid{grid-template-columns:1fr}.team-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.sidebar .nav-icon{width:18px;height:18px;flex-basis:18px}.account .avatar-button{margin-left:0}.section-heading{flex-direction:column;gap:12px}.photo-review-row{grid-template-columns:80px minmax(0,1fr);gap:16px;padding:16px}.photo-review-row>.review-photo{width:80px;height:80px}.photo-review-row .actions{align-items:stretch;flex-direction:column}.profile-card{padding:24px}.profile-card .actions{align-items:stretch;flex-direction:column}.profile-card .actions>button{width:100%}.team-directory{grid-template-columns:1fr}.team-person{min-height:0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 16px}.team-person .person-avatar{grid-row:span 2}.team-person strong{align-self:end}.team-person>.muted{align-self:start}.team-profile{padding:24px}.team-profile-person{gap:16px;align-items:start}.team-profile-person .person-avatar-large{width:72px;height:72px;flex-basis:72px;font-size:28px}.team-profile-person h2{font-size:24px}.chess-profile-links>a{grid-template-columns:minmax(0,1fr) 20px;gap:8px}.chess-profile-links>a>span:first-child{grid-column:1}.chess-profile-links>a>strong{grid-column:1}.chess-profile-links>a>span:last-child{grid-column:2;grid-row:1/3}.team-invite-form{grid-template-columns:1fr}.team-invite-form>button{justify-self:stretch;width:100%}.photo-editor-current{align-items:start}.photo-editor-current .person-avatar-large{width:72px;height:72px;flex-basis:72px}.photo-pending{align-items:start}.photo-pending>.review-photo{width:80px;height:80px;flex-basis:80px}}@media(prefers-reduced-motion:reduce){.team-person,.avatar-button{transition:none;transform:none!important}}.profile-column{display:grid;gap:24px;align-content:start;min-width:0}.profile-card select{width:100%;border:1px solid #d0c1af;border-radius:5px;background:var(--paper);color:var(--ink);padding:12px;line-height:1.4}.invitation-empty{margin-top:24px;background:transparent;padding:16px}.photo-review-row h3,.profile-card>p{overflow-wrap:anywhere}.account>div{min-width:0}.account strong{overflow-wrap:anywhere}.photo-editor [role=status]{margin-top:16px}@media(max-width:650px){.team-management-grid table,.management-page>.table-wrap table{white-space:normal}.team-management-grid thead,.management-page>.table-wrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.team-management-grid tbody tr,.management-page>.table-wrap tbody tr{display:grid;grid-template-columns:1fr 1fr;padding:16px;gap:12px 16px;border-bottom:1px solid var(--line)}.team-management-grid tbody tr:last-child,.management-page>.table-wrap tbody tr:last-child{border:0}.team-management-grid td,.management-page>.table-wrap td{padding:0;border:0;min-width:0;overflow-wrap:anywhere}.team-management-grid td:first-child,.team-management-grid td:last-child,.management-page>.table-wrap td:first-child,.management-page>.table-wrap td:last-child{grid-column:1/-1}.team-management-grid td:first-child,.management-page>.table-wrap td:first-child{font-size:18px;font-weight:500}.team-management-grid td:nth-child(2):before{content:"Coaches: ";color:var(--muted);font-size:14px}.team-management-grid td:nth-child(3):before{content:"Players: ";color:var(--muted);font-size:14px}.team-management-grid td:last-child button{width:100%}.management-page>.table-wrap td[data-label]:before{content:attr(data-label);display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.management-page>.table-wrap td .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;min-width:0;margin:0;gap:8px}.management-page>.table-wrap td .actions button{padding:10px 8px}.account strong{max-width:160px}}.person-avatar{position:relative}.person-avatar>img{position:absolute;inset:0}.photo-loading,.photo-unavailable{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;text-align:center;padding:8px}.avatar-photo-loader{position:absolute;inset:0;padding:0}
