:root{color:#273a31;font-synthesis:none;--forest:#18382e;--ink:#263b31;--muted:#748075;--line:#e2e6da;--paper:#fffefa;--accent:#b76742;--sage:#82966f;background:#f6f7f1;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button{color:inherit}a{color:#3c6c50}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #c17c4c}button{border:0}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button svg{pointer-events:none}a{text-underline-offset:3px}.muted{color:var(--muted)}.full{width:100%}.centered{justify-content:center;margin-left:auto;margin-right:auto}.green-dot{background:#91ad6b;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.eyebrow{letter-spacing:1.75px;color:#7e8c76;font-size:10px;font-weight:650;line-height:1.5}.small-label{letter-spacing:1px;color:#95a08e;font-size:9px;font-weight:650}.app-shell{grid-template-columns:208px minmax(0,1fr);min-height:100vh;display:grid}.skip-link{z-index:100;background:#fff;border-radius:5px;padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.sidebar{color:#bac8b9;background:#192e27;border-right:1px solid #2c4135;flex-direction:column;height:100dvh;padding:32px 19px 20px;display:flex;position:sticky;top:0}.brand{color:#f1f2e6;letter-spacing:-1.5px;text-align:left;background:0 0;align-items:center;gap:9px;padding:0 8px;font:38px Georgia,serif;display:flex}.brand-mark{place-items:center;width:35px;height:43px;display:grid;transform:rotate(-4deg)}.brand-mark .piece{width:43px;height:43px}.brand-period{color:#a9be8b}.nav-caption{letter-spacing:1.25px;color:#859b88;margin:18px 8px 33px;font-size:7.5px;font-weight:600}.sidebar nav{flex-direction:column;gap:7px;display:flex}.nav-item{text-align:left;color:#a6b8a7;background:0 0;border-radius:7px;align-items:center;gap:12px;min-height:44px;padding:12px 13px;font-size:12px;font-weight:550;display:flex;position:relative}.nav-item:hover{color:#fff;background:#263d30}.nav-item.active{color:#e8eddb;background:#344a36}.nav-item.active:before{content:"";background:#c2ce9c;border-radius:5px;width:2px;height:16px;position:absolute;left:0}.nav-count{color:#b7c6a8;background:#38513b;border-radius:4px;margin-left:auto;padding:2px 5px;font-size:10px}.nav-item.active .nav-count{color:#e7edda;background:#4d6546}.sidebar-focus{border-top:1px solid #304137;margin:38px 8px 0;padding:24px 2px 0}.focus-heading{color:#8da781;letter-spacing:1.1px;align-items:center;gap:8px;font-size:7px;font-weight:700;display:flex}.sidebar-focus h3{color:#e5eadc;margin:18px 0 12px;font:24px/1.25 Georgia,serif}.sidebar-focus p{color:#8da18f;font-size:11px;line-height:1.7}.sidebar-focus button{color:#c1d4ad;background:0 0;align-items:center;gap:8px;padding:16px 0;font-size:10px;display:flex}.sidebar-bottom{margin-top:auto;padding-top:30px}.local-profile{border-top:1px solid #304137;align-items:center;gap:9px;padding:20px 6px 14px;display:flex}.profile-monogram{color:#d6e0bf;background:#3e523b;border:1px solid #5e7259;border-radius:50%;place-items:center;width:31px;height:31px;font:14px Georgia,serif;display:grid}.local-profile div{flex:1}.local-profile strong{color:#d2ddc9;font-size:10px;font-weight:500;display:block}.local-profile small{color:#8da18f;margin-top:3px;font-size:8px;display:block}.about-link{color:#8ba08d;background:0 0;align-items:center;gap:6px;margin:5px 7px 0;font-size:9px;display:flex}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#f9faf5;justify-content:space-between;align-items:center;height:65px;padding:0 35px;display:flex}.breadcrumbs{color:#8a9587;align-items:center;gap:12px;font-size:10px;display:flex}.breadcrumbs>span{color:#c1c8b9}.breadcrumbs strong{color:#41533f;font-weight:550}.topbar-right{align-items:center;gap:20px;display:flex}.topbar-right>span{color:#8b9686;align-items:center;gap:7px;font-size:9px;display:flex}.icon-button{color:#6b7e67;background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;display:inline-flex}.icon-button:hover:not(:disabled){color:#284930;background:#e9eedf}.mobile-menu{display:none}.main-content{outline:none;max-width:1220px;margin:auto;padding:31px 32px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;max-width:932px;margin:0 auto 27px;display:flex}.page-heading h1{letter-spacing:-1.1px;color:#283d30;margin:7px 0 9px;font:36px/1.2 Georgia,Times New Roman,serif}.page-description{color:#83907b;font-size:11px;line-height:1.6}.quiet-chip{white-space:nowrap;color:#78856e;background:#f0f3e9;border:1px solid #dfe6d4;border-radius:5px;align-items:center;gap:7px;padding:8px 10px;font-size:9px;display:inline-flex}.heading-action>.button{min-height:36px;font-size:10px}.play-layout{grid-template-columns:minmax(0,1fr) 282px;gap:26px;max-width:932px;margin:0 auto;display:grid}.board-column{min-width:0}.board-card{background:var(--paper);border:1px solid #e2e6d9;border-radius:9px;padding:0 13px;box-shadow:0 3px 9px #263b2505}.player-row{align-items:center;gap:9px;height:62px;display:flex}.player-avatar{color:#647a51;background:#e3eacb;border:1px solid #dbe2c7;border-radius:8px;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.player-avatar.human{background:#ede9dc;border-color:#e6e0cf}.player-avatar .piece{filter:none;width:30px;height:30px}.player-info{flex:1}.player-info strong{font-size:11px;font-weight:650;display:block}.player-info span{color:#94a089;margin-top:4px;font-size:8px;display:block}.player-clock{font-variant-numeric:tabular-nums;color:#8b9680;background:#f6f7ef;border:1px solid #e6e9dc;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-width:66px;padding:7px 9px;font-size:14px;display:flex}.player-clock.running{color:#3d5637;background:#e9eedb;border-color:#dbe4c8}.board-with-eval{gap:8px;min-width:0;display:flex;position:relative}.chessboard{aspect-ratio:1;border-radius:3px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 1px 1px #00000009}.square{aspect-ratio:1;isolation:isolate;border-radius:0;justify-content:center;align-items:center;width:100%;min-width:0;padding:3px;display:flex;position:relative}.square.light{background:#e9eddb}.square.dark{background:#8fa57c}.square.light.last-move{background:#e3d69b}.square.dark.last-move{background:#bac27d}.square.selected{box-shadow:inset 0 0 0 3px #718249;background:#c5c86a!important}.square.in-check{background:radial-gradient(circle,#e68a78 5%,#cf8765 45%,#a8ab7b 90%)}.square:not([aria-disabled=true]):hover{filter:brightness(1.03)}.square:focus-visible{outline-offset:-4px;z-index:3;outline:3px solid #bd6d48}.piece{pointer-events:none;filter:drop-shadow(0 2px 1px #25311e40);z-index:1;width:90%;max-width:66px;height:90%;max-height:66px}.coordinate{z-index:2;opacity:.8;pointer-events:none;font-size:9px;font-weight:600;line-height:1;position:absolute}.coordinate.rank{top:5px;left:5px}.coordinate.file{bottom:4px;right:5px}.square.dark .coordinate{color:#f3f4df}.square.light .coordinate{color:#7b8e68}.move-target{z-index:2;pointer-events:none;background:#23472740;border-radius:50%;width:25%;height:25%;position:absolute}.capture-target{pointer-events:none;z-index:2;border:4px solid #37533755;border-radius:50%;position:absolute;inset:3px}.board-toolbar{justify-content:space-between;align-items:center;height:47px;padding:0 3px;display:flex}.board-toolbar>div{gap:6px;display:flex}.game-status{letter-spacing:.1px;color:#7b8c70;font-size:10px}.game-status.thinking:after{content:"…";animation:1s infinite pulse}.lesson-callout{background:#f0f2e7;border:1px solid #e3e8d7;border-radius:7px;align-items:center;gap:12px;margin-top:2px;padding:17px 15px;display:flex}.callout-icon{color:#7e9564;background:#e3e9d4;border:1px solid #d6dfc3;border-radius:7px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.lesson-callout strong{font-size:11px;font-weight:600}.lesson-callout p{color:#8b967e;margin-top:5px;font-size:9px;line-height:1.6}.lesson-callout .text-button{white-space:nowrap;margin-left:auto;font-size:9px}.text-button{color:#5c7847;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:28px;padding:6px 0;font-size:11px;font-weight:600;display:inline-flex}.text-button:hover:not(:disabled){color:#263d29}.button{border-radius:5px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:11px 15px;font-size:11px;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:#fafbef;background:#34573d;border:1px solid #34573d;box-shadow:0 2px 3px #314b2610}.button.primary:hover:not(:disabled){background:#284831}.button.secondary{color:#5a7050;background:#fcfdf7;border:1px solid #dce4d0}.button.secondary:hover:not(:disabled){background:#eef2e4}.button.toggled{background:#ece5d2}.card{background:var(--paper);border:1px solid #e2e6d9;border-radius:8px}.card-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-heading h2{font-size:12px;font-weight:600}.play-aside{flex-direction:column;gap:17px;min-width:0;display:flex}.game-setup{padding:19px 17px}.segmented{background:#f0f2e8;border:1px solid #e9ecdf;border-radius:5px;gap:3px;margin-top:17px;padding:3px;display:flex}.segmented button{color:#8a967e;background:0 0;border-radius:3px;flex:1;padding:8px 4px;font-size:9px;font-weight:550}.segmented button.active{color:#516b43;background:#fffefa;box-shadow:0 1px 3px #2c3b2712}.bot-portrait{color:#6f8750;background:#f0f2df;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;height:109px;margin:17px 0 14px;display:flex;position:relative;overflow:hidden}.bot-portrait>svg{z-index:1;stroke-width:1.1px;transform:rotate(-12deg)}.bot-portrait>span{letter-spacing:2px;color:#8c9d70;text-transform:uppercase;z-index:1;margin-top:2px;font-size:8px}.portrait-orbit{border:1px solid #dde5c8;border-radius:50%;width:155px;height:155px;position:absolute;transform:translate(85px,-39px)}.portrait-orbit:before{content:"";border:1px solid #dde5c8;border-radius:50%;width:155px;height:155px;position:absolute;transform:translate(-167px,88px)}.bot-portrait.brook{color:#618b7f;background:#e7efec}.bot-portrait.flint{color:#a78363;background:#f0e8dc}.bot-description h3{align-items:center;gap:8px;font:19px Georgia,serif;display:flex}.bot-description h3>span{color:#97a188;border-left:1px solid #dce3d2;padding-left:8px;font:8px/1.4 ui-sans-serif,system-ui,sans-serif}.bot-description p{color:#89947e;min-height:31px;margin-top:8px;font-size:9px;line-height:1.65}.bot-choices{gap:5px;margin:14px 0 16px;display:flex}.bot-choices button{color:#839176;background:#fbfcf6;border:1px solid #e4e9d9;border-radius:5px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 2px 7px;font-size:9px;display:flex}.bot-choices button span{color:#a0a98f;font-size:7px}.bot-choices button.chosen{color:#556b40;background:#f0f4e5;border-color:#98ab7b}.bot-choices button.chosen span{color:#829966}.setup-options{gap:9px;margin-bottom:15px;display:flex}.setup-options label{color:#8b967d;flex-direction:column;flex:1;gap:6px;font-size:8px;display:flex}.setup-options select{color:#617453;background:#fafbf5;border:1px solid #e1e6d6;border-radius:4px;width:100%;min-width:0;padding:8px 6px;font-size:9px}.game-setup>.primary{justify-content:space-between;padding-inline:13px;font-size:10px}.setup-note{color:#a0a98f;text-align:center;margin-top:9px;font-size:8px;line-height:1.5}.local-description{color:#7a8b68;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;min-height:250px;padding:26px 0;display:flex}.local-description>.piece{width:60px;height:75px}.local-description h3{text-align:center;width:100%;margin-top:14px;font:19px Georgia,serif}.local-description p{text-align:center;color:#849279;max-width:200px;margin-top:10px;font-size:10px;line-height:1.6}.move-card{padding:17px 15px 0}.moves-scroll{scrollbar-width:thin;min-height:117px;max-height:180px;margin-top:12px;overflow:auto}.move-pair{font-variant-numeric:tabular-nums;border-radius:4px;grid-template-columns:32px 1fr 1fr;padding:7px 9px;font-size:10px;display:grid}.move-pair:nth-child(2n){background:#f6f7ee}.move-pair>span{color:#a0a98f}.move-pair strong{color:#6c7d60;font-weight:500}.move-pair strong.latest{color:#385b39;font-weight:650}.empty-moves{color:#abb69b;flex-direction:column;align-items:center;padding:13px 0 15px;display:flex}.empty-moves p{text-align:center;color:#87977a;margin:9px 0 6px;font:14px/1.4 Georgia,serif}.empty-moves>span{color:#a6af98;font-size:8px}.move-card-actions{border-top:1px solid #edf0e4;justify-content:space-between;margin-top:9px;padding:7px 0;display:flex}.move-card-actions button{font-size:9px}.inline-error{color:#9a4d37;background:#faeee6;border:1px solid #ead2c3;border-radius:6px;justify-content:space-between;align-items:center;gap:15px;max-width:932px;margin:0 auto 18px;padding:13px;font-size:11px;line-height:1.6;display:flex}.inline-error button{color:#89432c;white-space:nowrap;background:#fff5ec;border:1px solid #ddbda5;border-radius:4px;padding:6px;font-size:10px}.promotion-options{gap:10px;margin:20px 0;display:flex}.promotion-options button{background:#eff2e6;border:1px solid #dbe4cc;border-radius:6px;flex-direction:column;flex:1;align-items:center;padding:10px 3px;display:flex}.promotion-options .piece{height:75px;max-height:75px}.promotion-options span{color:#6e815d;font-size:10px}.workspace-footer{color:#a0aa92;border-top:1px solid #e3e7d9;justify-content:space-between;align-items:center;max-width:932px;margin:33px auto 0;padding:17px 0 22px;font-size:8px;display:flex}.workspace-footer button{color:#96a489;background:0 0;align-items:center;gap:7px;font-size:8px;display:flex}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#142a245a;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.dialog{background:#fffefa;border:1px solid #dce3cf;border-radius:12px;width:min(100%,450px);max-height:calc(100dvh - 40px);padding:25px;overflow:auto;box-shadow:0 24px 85px #12251e30}.dialog.wide{width:min(100%,600px)}.dialog>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dialog h2{letter-spacing:-.5px;font:25px/1.2 Georgia,serif}.dialog-intro{color:#7c8c70;margin:10px 0 17px;font-size:12px;line-height:1.8}.dialog .muted{font-size:11px;line-height:1.8}.dialog-actions{justify-content:space-between;align-items:center;gap:15px;margin-top:17px;display:flex}.field-label{color:#6f805e;margin-bottom:8px;font-size:10px;font-weight:600;display:block}.pgn-input{resize:vertical;color:#4e6743;background:#f9fbf4;border:1px solid #dce4d0;border-radius:6px;width:100%;height:220px;padding:13px;font:11px/1.8 ui-monospace,monospace;display:block}.field-error{color:#a05134;margin-top:14px;font-size:11px;line-height:1.6}.toast{z-index:70;color:#eef2e6;background:#2a4934;border:1px solid #486642;border-radius:8px;align-items:center;gap:10px;max-width:calc(100vw - 35px);padding:14px 17px;font-size:12px;display:flex;position:fixed;bottom:24px;left:calc(50% + 104px);transform:translate(-50%);box-shadow:0 6px 25px #1a32232b}.toast button{color:#d1ddc3;background:0 0;margin-left:8px;display:flex}.about-brand{letter-spacing:-2px;color:#37563a;margin:10px 0 18px;font:44px Georgia,serif}.about-detail{border-top:1px solid #e3e8d8;margin-top:15px;padding-top:15px}.about-detail>strong{color:#5f7650;font-size:11px}.about-detail>p{color:#8a967e;margin-top:6px;font-size:11px;line-height:1.7}.puzzle-board{padding:13px}.puzzle-board-heading{color:#8b967c;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;font-size:10px;display:flex}.puzzle-level{color:#6a8355;background:#eef3e3;border:1px solid #dae4c9;border-radius:4px;padding:6px 9px;font-size:9px}.puzzle-feedback{color:#8b987c;align-items:center;gap:10px;min-height:55px;padding:17px 3px;font-size:11px;line-height:1.7;display:flex}.puzzle-feedback.success{color:#4f7841}.puzzle-controls{justify-content:space-between;gap:10px;margin-top:2px;display:flex}.puzzle-lesson{text-align:center;padding:23px 21px}.lesson-number{letter-spacing:1.7px;color:#9aa68a;font-size:8px}.lesson-emblem{color:#8ba16c;background:#edf1df;border:1px solid #e1e8d1;border-radius:50%;place-items:center;width:78px;height:78px;margin:21px auto;display:grid}.puzzle-lesson>h2{letter-spacing:-.4px;font:25px Georgia,serif}.puzzle-theme{color:#95a184;margin-top:8px;font-size:10px}.lesson-divider{background:#e6ebdc;height:1px;margin:22px 0}.puzzle-lesson>p:not(.puzzle-theme){color:#849475;margin-bottom:22px;font-size:11px;line-height:1.85}.puzzle-lesson .centered{margin-top:9px;font-size:9px}.hint-panel{color:#99783f;text-align:left;background:#f5efdd;border:1px solid #e8dec2;border-radius:5px;margin-bottom:15px;padding:13px;font-size:10px;line-height:1.8}.hint-panel p{margin-top:5px;font-size:10px}.puzzle-collection{padding:18px 13px}.puzzle-collection .card-heading{margin:0 5px 10px}.puzzle-collection .card-heading>svg{color:#9dae86}.collection-item{text-align:left;background:0 0;border-radius:4px;align-items:center;gap:8px;width:100%;padding:10px 5px;display:flex}.collection-item.active{background:#eff3e5}.collection-item:hover{background:#f2f5eb}.collection-item>span:nth-child(2){flex:1}.collection-item strong{font-size:10px;font-weight:500;display:block}.collection-item small{color:#a0ab90;margin-top:4px;font-size:8px;display:block}.collection-item>svg{color:#a7b196}.collection-dot{color:#9aa98a;background:#fafbf4;border:1px solid #e0e7d2;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;font-size:8px;display:grid}.collection-dot.complete{color:#fff;background:#6f8a51;border-color:#6f8a51}.review-empty,.review-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:932px;min-height:530px;margin:0 auto;padding:55px 25px;display:flex}.empty-review-art{color:#7e9b60;background:#eef3e2;border:1px solid #e1e9cf;border-radius:24px;place-items:center;width:105px;height:105px;margin:0 auto 30px;display:grid;position:relative;transform:rotate(-6deg)}.empty-review-art>svg{stroke-width:1.1px;transform:rotate(6deg)}.art-dot{background:#c3d4a2;border:4px solid #fffefa;border-radius:50%;width:13px;height:13px;position:absolute}.art-dot.one{top:-3px;right:-5px}.art-dot.two{background:#d5b989;border-width:2px;width:10px;height:10px;bottom:10px;left:-6px}.review-empty h2{letter-spacing:-.9px;margin:11px 0 16px;font:36px/1.2 Georgia,serif}.review-empty>p:not(.eyebrow){color:#8c9a7e;font-size:12px;line-height:1.8}.empty-actions{justify-content:center;align-items:center;gap:11px;margin:25px 0 35px;display:flex}.review-promises{color:#96a787;border-top:1px solid #e7eddb;justify-content:center;gap:22px;padding-top:20px;font-size:9px;display:flex}.review-promises span{align-items:center;gap:6px;display:flex}.review-loading h2{margin:12px 0;font:32px Georgia,serif}.review-loading>p:not(.eyebrow){color:#879877;font-size:12px;line-height:1.6}.loading-mark{color:#7b985e;background:#edf2e0;border-radius:50%;place-items:center;width:90px;height:90px;margin-bottom:25px;animation:2s infinite pulse;display:grid}.progress-track{background:#e9eedf;border-radius:20px;height:6px;overflow:hidden}.progress-track>span{background:#8aab68;border-radius:20px;height:100%;transition:width .3s;display:block}.review-loading>.progress-track{width:min(300px,100%);margin-top:30px}.review-loading .progress-label{margin:11px 0 25px;font-size:10px!important}.review-board-heading{color:#6f825f;justify-content:space-between;align-items:center;gap:10px;margin:0 3px 10px;font-size:11px;display:flex}.review-board-heading small{color:#adb89b;margin:0 7px;font-size:9px}.review-board{padding:10px}.review-board .chessboard{flex:1;min-width:0}.eval-bar{background:#34473d;border-radius:3px;flex-shrink:0;width:16px;position:relative;overflow:hidden}.eval-bar>div{background:#e9eddc;width:100%;transition:height .3s;position:absolute;bottom:0}.eval-bar>span{color:#4c5c3d;font-size:7px;font-weight:700;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.review-navigation{color:#748568;justify-content:space-between;align-items:center;gap:10px;padding:10px 3px;font-size:10px;display:flex}.review-navigation>div{gap:4px;display:flex}.review-navigation>strong{text-align:right;font-variant-numeric:tabular-nums;width:43px;font-size:11px}.review-navigation>span{min-width:86px}.position-slider{accent-color:#7a945a;width:100%;height:3px;margin:2px 0 14px;display:block}.review-graph{cursor:pointer;background:#fffefa;border:1px solid #e1e7d5;border-radius:6px;padding:8px;overflow:hidden}.review-graph>svg{width:100%;height:auto;display:block}.graph-legend{color:#a7b295;justify-content:space-between;padding:5px;font-size:7px;display:flex}.graph-legend>span:nth-child(2){letter-spacing:1px;font-size:6px}.score-card{padding:17px}.score-pair{grid-template-columns:1fr 1fr;margin:24px 0 17px;display:grid}.score-pair>div{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.score-pair>div+div{border-left:1px solid #e7ecdd}.score-pair strong{letter-spacing:-1px;color:#47623b;font:33px Georgia,serif}.score-pair small{color:#99a68a;font-size:9px}.score-piece{color:#6b7e58;margin-bottom:5px;font-size:18px;line-height:1}.score-card>p{text-align:center;color:#9aa58c;font-size:8px;line-height:1.7}.move-insight{padding:19px 16px}.classification{color:#6d8a4e;white-space:nowrap;background:#edf3e1;border-radius:3px;padding:4px 6px;font-size:8px;font-weight:600}.classification.blunder{color:#ae573d;background:#fae7df}.classification.mistake{color:#b27e35;background:#fbedd9}.classification.inaccuracy{color:#ac943f;background:#f6f0d5}.classification.best,.classification.excellent{color:#6b8b4c;background:#e9f1df}.classification.good{color:#7b8d5f;background:#eef2e2}.move-insight>h3{letter-spacing:-.6px;margin:18px 0 12px;font:36px Georgia,serif}.move-insight>p{color:#879779;margin-bottom:20px;font-size:11px;line-height:1.8}.move-insight>.button{justify-content:space-between;margin-top:8px;font-size:10px}.analysis-note{color:#a4ae95;border-top:1px solid #e9edde;align-items:center;gap:5px;margin-top:18px;padding-top:13px;font-size:7px;display:flex}.analysis-note .green-dot{width:4px;height:4px}.review-moves{padding:17px 14px}.review-moves-scroll{scrollbar-width:thin;max-height:230px;margin-top:12px;overflow:auto}.review-moves-scroll>button{text-align:left;background:0 0;border-radius:4px;grid-template-columns:30px 1fr 8px 42px;align-items:center;gap:7px;width:100%;padding:8px 7px;font-size:10px;display:grid}.review-moves-scroll>button:nth-child(2n){background:#f6f8ed}.review-moves-scroll>button.selected{background:#e7eed8}.review-moves-scroll>button>span:first-child{color:#a0ad8d;font-size:9px}.review-moves-scroll strong{color:#627a50;font-weight:500}.review-moves-scroll small{color:#93a281;text-align:right;font-size:8px}.classification-dot{background:#94ab77;border-radius:50%;width:5px;height:5px}.classification-dot.blunder{background:#d17b59}.classification-dot.mistake{background:#d2a564}.classification-dot.inaccuracy{background:#c4b56c}.learning-moments{margin:27px 0 0}.learning-moments>h2{letter-spacing:-.3px;margin:8px 0 15px;font:25px Georgia,serif}.moment{text-align:left;background:#fffefa;border:1px solid #e2e8d6;border-radius:6px;align-items:center;gap:12px;width:100%;margin-top:7px;padding:15px 11px;display:flex}.moment.selected{background:#f0f4e5;border-color:#c9d8b3}.moment-number{color:#acb89a;font:20px Georgia,serif}.moment>span:nth-child(2){flex:1}.moment strong{font-size:11px;font-weight:550;display:block}.moment small{color:#9aa88a;margin-top:4px;font-size:9px;line-height:1.6;display:block}.moment>svg{color:#a6b494}.calm-empty{color:#89a16b;background:#f1f5e7;border:1px solid #dee8cf;border-radius:6px;align-items:center;gap:10px;padding:17px;font-size:11px;line-height:1.8;display:flex}.library-card,.progress-layout,.progress-stats{max-width:932px;margin-left:auto;margin-right:auto}.library-heading{border-bottom:1px solid #e7ecdc;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.library-heading>h2{font-size:13px;font-weight:600}.library-heading>h2>span{color:#9caa88;background:#f1f4e7;border-radius:4px;margin-left:7px;padding:3px 7px;font-size:10px}.search-field{color:#9cab88;background:#fafcf4;border:1px solid #e1e7d4;border-radius:5px;align-items:center;gap:7px;padding:8px 10px;display:flex}.search-field input{color:#5f784c;background:0 0;border:0;outline:none;width:140px;font-size:10px}.search-field input::placeholder{color:#a4b293}.large-empty{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:75px 25px 90px;display:flex}.empty-emblem{color:#a0b581;background:#f0f4e4;border:1px solid #e1e8d3;border-radius:50%;place-items:center;width:80px;height:80px;margin-bottom:6px;display:grid}.large-empty>h2{letter-spacing:-.5px;font:28px Georgia,serif}.large-empty>p{color:#94a482;max-width:340px;font-size:11px;line-height:1.8}.storage-footnote{color:#a1ad92;justify-content:center;align-items:center;gap:7px;margin:20px auto;font-size:9px;display:flex}.library-list{padding:0 20px 15px}.library-table-head{color:#a1af8f;letter-spacing:1px;border-bottom:1px solid #e8edde;grid-template-columns:2fr 1.5fr .7fr 100px;gap:15px;padding:17px 0 9px;font-size:8px;display:grid}.library-row{border-bottom:1px solid #edf0e5;grid-template-columns:2fr 1.5fr .7fr 100px;align-items:center;gap:15px;padding:17px 0;display:grid}.library-row:last-child{border:0}.game-name{align-items:center;gap:11px;display:flex}.small-board-icon{background:#e8eedb;border:1px solid #dce6cb;border-radius:5px;flex-shrink:0;place-items:center;width:35px;height:35px;display:grid}.small-board-icon .piece{width:31px;height:31px}.game-name strong{font-size:11px;font-weight:600;display:block}.game-name small{color:#a0ad90;margin-top:4px;font-size:8px;display:block}.library-result,.library-date{color:#8c9c7c;font-size:9px;line-height:1.6}.library-row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.library-row-actions .text-button{font-size:9px}.progress-stats{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px;display:grid}.progress-stat{color:#91a574;flex-direction:column;align-items:flex-start;gap:12px;padding:25px;display:flex}.progress-stat strong{color:#46633a;font:39px Georgia,serif}.progress-stat span{color:#94a583;font-size:10px}.progress-layout{grid-template-columns:1.5fr 1fr;gap:22px;display:grid}.practice-map{padding:30px}.practice-map>h2{letter-spacing:-.5px;margin:9px 0 11px;font:27px/1.3 Georgia,serif}.practice-map>p:not(.eyebrow){color:#98a989;font-size:10px;line-height:1.8}.theme-progress{margin:27px 0}.theme-progress>div:first-child{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.theme-progress strong{color:#7a9067;font-size:10px;font-weight:500}.theme-progress span{color:#a4b293;font-size:9px}.practice-map .button{margin-top:5px}.next-step-card{background:#e9eedb;border:1px solid #dce6c7;border-radius:8px;padding:27px}.next-step-art{color:#91aa6c;justify-content:center;align-items:center;height:90px;margin-bottom:22px;display:flex}.next-step-art>svg{stroke-width:1.1px;transform:rotate(-13deg)}.next-step-card>h2{letter-spacing:-.4px;margin:10px 0 15px;font:28px/1.3 Georgia,serif}.next-step-card>p:not(.eyebrow){color:#8a9d74;font-size:11px;line-height:1.85}.next-step-card>.button{justify-content:space-between;width:100%;margin-top:22px;font-size:10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width>=1600px){.play-layout{grid-template-columns:minmax(0,610px) 300px;max-width:940px}.page-heading,.workspace-footer{max-width:940px}.main-content{padding-top:40px}.player-row{height:66px}}@media (width<=1120px){.app-shell{grid-template-columns:178px minmax(0,1fr)}.sidebar{padding:28px 12px 17px}.brand{font-size:33px}.nav-caption{letter-spacing:.9px;font-size:6px}.nav-item{gap:9px;padding-inline:11px;font-size:11px}.nav-item>svg{width:18px}.sidebar-focus{margin-top:30px}.main-content{padding:26px 22px 0}.topbar{padding-inline:23px}.play-layout{grid-template-columns:minmax(0,1fr) 246px;gap:19px}.page-heading h1{font-size:31px}.page-description{font-size:10px}.page-heading .quiet-chip{font-size:8px}.bot-description h3{font-size:18px}.bot-description h3>span{font-size:7px}.game-setup{padding:17px 14px}.bot-description p{font-size:9px}.lesson-callout{gap:8px;padding:13px 11px}.lesson-callout p,.lesson-callout .text-button{font-size:8px}.callout-icon{width:31px;height:31px}.lesson-callout strong{font-size:10px}.toast{left:calc(50% + 89px)}.puzzle-lesson{padding:22px 16px}.puzzle-lesson>h2{font-size:22px}}@media (width<=880px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{align-items:center;padding:27px 10px}.brand{padding:0}.brand>span:not(.brand-mark),.nav-caption,.nav-item>span,.sidebar-focus,.local-profile,.about-link{display:none}.sidebar nav{gap:11px;width:100%;margin-top:45px}.nav-item{justify-content:center;padding:13px 5px}.nav-item svg{width:22px}.sidebar-bottom{display:none}.main-content{padding:25px 21px 0}.play-layout{grid-template-columns:minmax(0,1fr) 229px;gap:17px}.page-heading{align-items:flex-start}.heading-action>.quiet-chip{display:none}.page-heading h1{font-size:30px}.page-description{font-size:10px}.board-card{padding-inline:9px}.player-row{height:54px}.player-avatar{width:30px;height:30px}.player-clock{min-width:53px;padding:6px;font-size:11px}.player-info span{font-size:7px}.game-setup{padding:15px 12px}.card-heading h2{font-size:11px}.bot-portrait{height:95px}.bot-description p{font-size:8px}.bot-choices{gap:4px}.bot-choices button,.setup-options select{font-size:8px}.lesson-callout{flex-wrap:wrap}.lesson-callout .text-button{min-height:20px;margin-left:40px;padding:0}.topbar{height:59px}.toast{left:calc(50% + 38px)}.progress-layout{grid-template-columns:1fr}.review-promises{gap:14px;font-size:8px}.review-layout{grid-template-columns:minmax(0,1fr) 220px}.moment{gap:8px;padding:12px 9px}.moment small{font-size:8px}.moment .classification,.library-table-head{display:none}.library-row{grid-template-columns:1fr 100px;gap:10px}.library-row .library-result{grid-column:1}.library-row .library-date{text-align:right;grid-area:2/2}.library-row-actions{grid-area:1/2}.game-name strong{font-size:10px}.progress-stat{padding:22px 17px}.progress-stat span{font-size:9px}.coordinate{font-size:8px}.review-empty h2{font-size:32px}}@media (width<=700px){.app-shell{display:block}.sidebar{z-index:30;background:#1b352a;width:100%;height:auto;padding:10px 15px;display:none;position:fixed;inset:59px 0 auto;box-shadow:0 6px 15px #10251d24}.sidebar.mobile-open{display:block}.sidebar .brand{display:none}.sidebar nav{grid-template-columns:repeat(5,1fr);gap:6px;margin:0;display:grid}.sidebar .nav-item{flex-direction:column;gap:8px;padding:10px 0;font-size:9px;display:flex}.sidebar .nav-item>span:not(.nav-count){font-size:8px;display:block}.sidebar .nav-item.active:before{width:16px;height:2px;top:0;left:calc(50% - 8px)}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f9faf5ed;justify-content:flex-start;gap:11px;padding:0 15px;position:sticky;top:0}.mobile-menu{color:#516c43;display:flex}.breadcrumbs{flex:1;gap:8px;font-size:9px}.topbar-right{gap:5px}.topbar-right>span{display:none}.main-content{padding:24px 18px 0}.page-heading{align-items:center;gap:10px;margin-bottom:23px}.page-heading h1{letter-spacing:-.9px;margin:8px 0 10px;font-size:31px;line-height:1.15}.eyebrow{letter-spacing:1.3px;font-size:8px}.page-description{max-width:310px;font-size:10px;line-height:1.7}.heading-action .button{min-height:33px;padding:9px;font-size:9px}.heading-action .button>svg{width:14px}.play-layout{flex-direction:column;gap:24px;max-width:520px;display:flex}.page-heading{max-width:520px}.board-column{width:100%}.board-card{padding:0 10px}.player-row{height:56px}.player-info strong{font-size:11px}.player-info span{font-size:8px}.player-clock{min-width:59px;padding:7px;font-size:12px}.player-avatar{width:32px;height:32px}.square{padding:2px}.piece{width:92%;height:92%}.coordinate{font-size:8px}.board-toolbar{height:46px}.game-status{font-size:10px}.lesson-callout{flex-wrap:nowrap;gap:10px;padding:15px 12px}.lesson-callout .text-button{text-align:left;min-width:55px;max-width:65px;margin:0 0 0 auto;font-size:8px;line-height:1.6}.lesson-callout strong{font-size:10px}.lesson-callout p{max-width:240px;font-size:9px}.callout-icon{width:33px;height:33px}.play-aside{gap:18px}.game-setup{padding:21px}.card-heading h2{font-size:13px}.segmented button{padding:10px;font-size:11px}.bot-portrait{height:130px}.bot-description h3{font-size:23px}.bot-description h3>span{font-size:9px}.bot-description p{min-height:0;margin-top:10px;font-size:11px}.bot-choices{gap:8px;margin-top:18px}.bot-choices button{gap:5px;padding:12px 3px;font-size:11px}.bot-choices button span{font-size:9px}.setup-options{gap:12px}.setup-options label{font-size:10px}.setup-options select{padding:10px;font-size:11px}.game-setup>.primary{min-height:43px;font-size:12px}.setup-note{font-size:9px}.move-card{padding:20px 17px 0}.empty-moves>span{font-size:10px}.empty-moves p{font-size:16px}.move-pair{padding:9px;font-size:12px}.move-card-actions button{font-size:11px}.workspace-footer{gap:10px;max-width:520px;margin-top:29px;padding-bottom:22px;font-size:7px}.workspace-footer button{white-space:nowrap;font-size:7px}.toast{width:max-content;max-width:calc(100vw - 24px);font-size:11px;bottom:16px;left:50%}.dialog{padding:22px}.dialog h2{font-size:23px}.dialog-intro{font-size:11px}.puzzle-board{padding:10px}.puzzle-board-heading{margin-bottom:12px;font-size:9px}.puzzle-feedback{min-height:64px;font-size:11px}.puzzle-controls>.button{font-size:11px}.puzzle-lesson{padding:26px}.puzzle-lesson>h2{font-size:28px}.puzzle-theme{font-size:11px}.puzzle-lesson>p:not(.puzzle-theme){font-size:12px}.puzzle-lesson .centered{font-size:10px}.puzzle-collection{padding:21px 17px}.collection-item{gap:12px;padding:12px 6px}.collection-item strong{font-size:12px}.collection-item small{font-size:10px}.collection-dot{width:29px;height:29px;font-size:10px}.puzzle-lesson .full,.puzzle-lesson .hint-panel{font-size:12px}.puzzle-lesson .hint-panel p{font-size:11px}.review-empty,.review-loading{max-width:520px;min-height:530px;padding:40px 22px}.review-empty h2{font-size:29px;line-height:1.25}.review-empty>p:not(.eyebrow){font-size:11px}.review-promises{flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:0;font-size:10px}.empty-actions{flex-direction:column;gap:9px;width:100%;margin:23px 0 26px}.empty-actions>.button{width:100%;font-size:12px}.empty-review-art{width:90px;height:90px;margin-bottom:25px}.desktop-break{display:none}.review-empty .eyebrow{letter-spacing:1.15px;font-size:7px}.review-layout{gap:23px}.review-board{padding:9px}.review-board-heading{font-size:11px}.review-navigation{padding:11px 2px;font-size:11px}.review-navigation .icon-button{width:32px}.position-slider{height:4px;margin-top:7px}.learning-moments{margin-top:27px}.learning-moments>h2{font-size:27px}.moment strong{font-size:12px}.moment small{font-size:10px}.moment .classification{font-size:7px;display:block}.moment>svg{display:none}.moment{gap:11px;padding:15px 12px}.moment-number{font-size:21px}.score-card{padding:20px}.score-pair{margin:22px 0}.score-pair strong{font-size:40px}.score-pair small{font-size:11px}.score-card>p{font-size:10px}.move-insight{padding:21px}.move-insight p{font-size:12px}.move-insight>.button{min-height:43px;font-size:12px}.classification{padding:5px 7px;font-size:10px}.analysis-note{font-size:9px}.review-moves{padding:21px 17px}.review-moves-scroll>button{grid-template-columns:35px 1fr 8px 45px;padding:10px;font-size:12px}.review-moves-scroll>button>span:first-child,.review-moves-scroll small{font-size:10px}.eval-bar{width:13px}.eval-bar>span{font-size:6px}.library-heading{flex-direction:column;align-items:stretch;padding:19px}.library-heading h2{font-size:14px}.search-field{padding:10px}.search-field input{width:100%;font-size:11px}.library-row{grid-template-columns:1fr auto;gap:8px;padding:18px 0}.library-list{padding-inline:16px}.library-row-actions{gap:3px}.library-row-actions .text-button{font-size:10px}.game-name{gap:8px}.game-name strong{font-size:11px}.game-name small{font-size:8px}.library-row .library-result,.library-row .library-date{font-size:9px}.storage-footnote{font-size:8px;line-height:1.6}.large-empty{padding:55px 22px 65px}.large-empty h2{font-size:26px}.large-empty p{font-size:11px}.progress-stats{gap:9px;max-width:520px;margin-bottom:17px}.progress-stat{gap:12px;padding:16px 12px}.progress-stat>svg{width:21px}.progress-stat>strong{font-size:32px}.progress-stat>span{font-size:8px;line-height:1.6}.progress-layout{flex-direction:column;gap:17px;max-width:520px;display:flex}.practice-map{padding:23px}.practice-map>h2{font-size:26px}.practice-map>p:not(.eyebrow),.theme-progress strong{font-size:11px}.theme-progress span{font-size:10px}.next-step-card{padding:26px}.next-step-card h2{font-size:30px}.next-step-card p:not(.eyebrow),.next-step-card>.button{font-size:12px}.local-description{min-height:200px}.small-label{font-size:8px}}@media (width<=370px){.main-content{padding-inline:12px}.page-heading h1{font-size:28px}.page-heading .heading-action .button{padding:7px;font-size:8px}.lesson-callout{gap:8px}.callout-icon{display:none}.lesson-callout .text-button{max-width:70px}.dialog{padding:19px}.puzzle-controls .button{padding:10px;font-size:10px}.moment .classification{display:none}}.review-settings{flex-wrap:wrap;align-items:end;gap:18px;margin-bottom:24px;padding:20px;display:flex}.review-settings label{gap:7px;font-size:12px;font-weight:600;display:grid}.review-settings select,.review-moves select{color:#344338;background:#fffef9;border:1px solid #d7ddcf;border-radius:7px;max-width:100%;padding:10px}.review-settings>span{color:#71806c;align-items:center;gap:7px;margin-left:auto;font-size:12px;display:flex}.review-overview{grid-template-columns:1.6fr 1fr;gap:24px;margin-bottom:28px;display:grid}.review-overview>.card{padding:24px}.review-overview h2{margin:12px 0;font-family:Georgia,serif;font-size:27px;font-weight:400}.review-overview p{color:#72806d;font-size:13px;line-height:1.7}.phase-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.phase-cards>div{background:#f1f3e9;border-radius:8px;gap:8px;padding:12px;display:grid}.phase-cards strong{font-size:12px}.phase-cards span,.phase-cards small{color:#71806c;font-size:11px}.review-plan{background:#edf1e4}.coach-panel{margin-top:25px;padding:26px}.coach-panel h3{margin:12px 0;font:28px/1.25 Georgia,serif}.coach-panel h4{margin:24px 0 8px;font-size:16px}.coach-panel p,.coach-facts{color:#66735f;font-size:13px;line-height:1.8}.coach-facts{padding-left:21px}.coach-facts li{margin-bottom:9px}.coach-habit{background:#f0f3e8;border-left:3px solid #819766;margin:20px 0;padding:15px 18px}.coach-habit strong{font-size:12px}.coach-habit p{margin-bottom:0}.candidate-line{border-bottom:1px solid #e5e9df;padding:13px 0}.candidate-line>div:first-child{justify-content:space-between;gap:10px;font-size:12px;display:flex}.candidate-line>div:first-child span{color:#77836e}.line-moves{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.line-moves button{color:#3c5238;background:#f6f7ef;border:1px solid #dce2d2;border-radius:5px;min-height:36px;padding:7px 10px;font-size:12px}.line-moves button:hover,.line-moves button:focus-visible{background:#dfe8d2}.coach-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.coach-panel details{margin-top:20px;font-size:13px}.coach-panel summary{cursor:pointer;padding:10px 0}.coach-disclosure{border-top:1px solid #e5e9df;padding-top:15px;font-size:11px!important}.exploration{border-top:1px solid #e5e9df;margin-top:24px}.exploration>.board-with-eval{max-width:440px;margin:auto}.explore-result{background:#edf2e2;padding:10px}.variation-banner{background:#edf2e2;padding:12px 15px;font-size:12px;line-height:1.7}.variation-banner button{margin-left:10px}.pattern-card{padding:22px}.pattern-card h2{font:24px Georgia,serif}.pattern-card p{color:#74816d;font-size:12px;line-height:1.7}.pattern-row{border-bottom:1px solid #e1e6d9;justify-content:space-between;gap:10px;padding:12px 0;font-size:12px;display:flex}.pattern-row span{color:#7c8774}.review-plan .button:disabled{opacity:.5}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1000px){.review-overview{grid-template-columns:1fr}.coach-panel .card-heading{flex-wrap:wrap;gap:12px}}@media (width<=700px){.review-settings{gap:14px;padding:16px}.review-settings label{flex:140px}.review-settings>span{margin-left:0}.review-overview{gap:16px}.review-overview>.card,.coach-panel{padding:18px}.phase-cards{gap:6px}.phase-cards>div{padding:9px}.coach-panel h3{font-size:24px}.coach-actions>.button{justify-content:center;width:100%}.candidate-line>div:first-child{flex-wrap:wrap}.review-moves .card-heading{flex-wrap:wrap;gap:12px}}.line-preview{max-width:330px;margin:18px auto 8px}.line-preview-controls{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.line-preview-controls .button{min-height:38px;padding:5px 14px}.line-moves button[aria-pressed=true]{background:#dce8cb;border-color:#7e956e}.tactical-evidence{margin:22px 0}.tactic-card{background:#f6f8f0;border:1px solid #dce3d2;border-radius:9px;margin:12px 0;padding:16px}.tactic-context{letter-spacing:.07em;text-transform:uppercase;color:#718165;font-size:10px}.tactic-card h5{margin:9px 0;font-size:15px}.tactic-card p{margin:9px 0}.coach-question{background:#f6efe1;border-radius:8px;margin-top:20px;padding:16px}.coach-question strong{font-size:12px}.coach-question p{margin-bottom:0}.real-game-select{color:#344338;background:#fffef9;border:1px solid #d7ddcf;border-radius:7px;width:100%;padding:12px}.tactic-card .text-button{min-height:40px}.tactic-board{max-width:330px;margin:16px auto 4px}.tactic-board p{text-align:center;font-size:11px;line-height:1.5}.position-comparison{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.position-comparison>div{min-width:0}.position-comparison strong{margin-bottom:8px;display:block}.positional-evidence{margin:24px 0}@media (width<=560px){.position-comparison{grid-template-columns:1fr}}.strategy-evidence{margin:24px 0}.strategy-warning{background:#faf1e6;border-left:3px solid #ab6b42;padding:10px 14px}.plan-steps{padding-left:22px;line-height:1.7}.phone-tabs,.phone-heading{display:none}@media (width<=700px){html{scroll-padding-top:76px;scroll-padding-bottom:100px}body{overscroll-behavior-y:none;background:#f4f5ee}.app-shell{min-height:100dvh}.sidebar{display:none!important}.topbar{height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;z-index:25;background:#f4f5eef2;border-bottom:0;justify-content:space-between}.topbar .breadcrumbs{display:none}.phone-heading{align-items:center;gap:13px;display:flex}.phone-wordmark{letter-spacing:-1px;color:#264b38;font:25px Georgia,serif}.phone-wordmark>span{color:#8a9d6f}.phone-heading h1{letter-spacing:0;border-left:1px solid #d5ddcd;margin:0;padding-left:13px;font:600 16px/1.2 Inter,ui-sans-serif,system-ui,sans-serif}.topbar-right .icon-button{color:#3b573c;background:#e8eddf;border-radius:50%;width:44px;height:44px}.main-content{padding:4px 12px calc(98px + env(safe-area-inset-bottom));max-width:560px}.phone-tabs{z-index:40;min-height:calc(76px + env(safe-area-inset-bottom));padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffef9f7;border-top:1px solid #dce3d5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #203a2510}.phone-tabs button{color:#667661;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;font-size:11px;font-weight:600;display:flex}.tab-icon{border-radius:20px;place-items:center;width:50px;height:30px;display:grid}.phone-tabs .active{color:#214b34}.phone-tabs .active .tab-icon{background:#dce8cd}.phone-tabs .active svg{stroke-width:2px}.workspace-footer{display:none}.page-heading{justify-content:flex-end;margin:4px 0 14px}.page-heading>div:first-child,.page-heading:not(.has-action),.route-play .page-heading,.route-puzzles .page-heading{display:none}.heading-action,.heading-action>.button{width:100%}.heading-action>.button{background:#e5eddb;border-color:#d8e2cd;border-radius:14px;min-height:46px;font-size:14px}.play-layout{gap:16px}.board-card{border-radius:18px;padding-inline:8px;overflow:hidden;box-shadow:0 4px 16px #203a2508}.chessboard{border-radius:8px}.player-row{height:52px}.player-info strong{font-size:14px}.player-info span{font-size:11px}.player-clock{min-width:64px;font-size:16px}.board-toolbar{height:52px}.board-toolbar .icon-button{width:44px;height:44px}.game-status{font-size:13px}.button{border-radius:12px;min-height:46px;font-size:14px}.text-button{min-height:44px;font-size:13px}.icon-button{min-width:44px;min-height:44px}.lesson-callout{border-radius:16px;gap:8px;padding:12px}.lesson-callout strong{font-size:13px}.lesson-callout p{font-size:12px;line-height:1.5}.lesson-callout .text-button{min-width:72px;max-width:80px;min-height:44px;font-size:12px}.callout-icon{display:none}.card{border-radius:18px}.card-heading h2{font-size:16px}.game-setup{padding:18px}.bot-portrait{height:80px;margin:12px 0}.bot-description h3{font-size:22px}.bot-description p{font-size:14px}.bot-description h3>span{font-size:11px}.segmented button,.bot-choices button{min-height:44px;font-size:13px}.setup-options select,.review-settings select{min-height:44px;font-size:16px}.setup-options label{font-size:13px}.setup-note{font-size:12px}.review-settings{border-radius:16px;gap:12px;margin-bottom:14px;padding:14px}.review-settings label{font-size:13px}.review-settings>span{font-size:12px}.review-overview{gap:12px;margin-bottom:16px}.review-overview>.card{padding:16px}.review-overview h2{font-size:22px}.review-overview p{font-size:13px}.phase-cards small,.phase-cards span{font-size:11px}.review-board-heading{flex-wrap:wrap;gap:6px;font-size:13px}.review-navigation{font-size:14px}.review-navigation .icon-button{width:44px}.position-slider{min-height:24px;margin-block:4px}.coach-panel{padding:16px}.coach-panel .quiet-chip{font-size:11px}.coach-panel .eyebrow{letter-spacing:.4px;font-size:11px}.coach-panel h3{font:600 21px/1.3 ui-sans-serif,system-ui,sans-serif}.coach-panel p,.coach-panel li{font-size:15px;line-height:1.65}.tactic-context{letter-spacing:.03em;font-size:11px}.tactic-card{border-radius:14px;padding:14px}.tactic-card h5{font-size:16px}.coach-question,.coach-habit{border-radius:14px}.line-moves button{min-height:44px;font-size:14px}.candidate-line>div:first-child{font-size:13px}.puzzle-board-heading{padding-inline:4px;font-size:12px}.puzzle-feedback{min-height:56px;font-size:14px}.puzzle-controls .button{font-size:13px}.puzzle-lesson{padding:20px}.puzzle-lesson>h2{font:600 23px/1.3 ui-sans-serif,system-ui,sans-serif}.puzzle-lesson>p:not(.puzzle-theme),.puzzle-theme,.puzzle-lesson .hint-panel p{font-size:15px}.collection-item{min-height:56px}.collection-item strong{font-size:14px}.collection-item small{font-size:12px}.search-field input,.pgn-input{font-size:16px}.library-row .game-name strong{font-size:14px}.library-row .game-name small,.library-row .library-result,.library-row .library-date,.storage-footnote,.progress-stat>span{font-size:12px}.practice-map>p:not(.eyebrow),.theme-progress strong,.next-step-card p:not(.eyebrow){font-size:14px}.dialog-backdrop{z-index:80;align-items:flex-end;padding:12px 0 0}.dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 16px);padding:22px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;margin:0}.dialog h2{font:600 23px/1.3 ui-sans-serif,system-ui,sans-serif}.dialog p,.dialog-intro{font-size:15px;line-height:1.6}.dialog label{font-size:13px}.dialog-actions .button{min-height:48px;font-size:14px}.dialog input,.dialog textarea,.dialog select{font-size:16px}.toast{z-index:90;bottom:calc(90px + env(safe-area-inset-bottom));border-radius:14px;font-size:13px}}.phone-fold,.phone-fold-body{display:contents}.phone-fold-toggle{display:none}@media (width<=700px){.phone-fold{margin-bottom:12px;display:block}.phone-fold-toggle{color:#3a553c;text-align:left;background:#edf1e5;border:1px solid #dce3d3;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:11px 16px;font-size:14px;font-weight:600;display:flex}.phone-fold-body{display:none}.phone-fold.is-open>.phone-fold-body{padding-top:10px;display:block}.phone-fold.is-open>.phone-fold-toggle svg{transform:rotate(90deg)}.review-navigation{top:calc(62px + env(safe-area-inset-top));z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f5eef5;border-bottom:1px solid #dce3d3;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;display:grid;position:sticky}.review-navigation>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.review-navigation>div{gap:0;display:flex}.review-navigation>strong{font-size:12px}.puzzle-lesson .lesson-emblem,.puzzle-lesson .lesson-number,.puzzle-lesson .lesson-divider{display:none}.puzzle-lesson>h2{margin:0 0 6px}.puzzle-lesson .puzzle-theme{margin:0 0 12px}}.install-launch{border:1px solid var(--border,#d9ddd5);min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:650;display:inline-flex}.install-launch:hover{background:#e8eee5}.install-intro{align-items:center;gap:16px;margin:8px 0 22px;display:flex}.install-intro img{border-radius:16px;flex:none}.install-intro strong{font-size:20px}.install-intro p{margin:7px 0 0;font-size:14px;line-height:1.6}.offline-status{background:#f3eee1;border-radius:12px;align-items:center;gap:10px;padding:14px;font-size:14px;line-height:1.5;display:flex}.offline-status svg{flex:none}.offline-status.is-ready{color:#284e35;background:#e9f0e4}.install-primary{width:100%;margin:8px 0}.install-note{color:#64695e;font-size:13px;line-height:1.65}@media (width<=700px){.topbar-right .install-launch span{display:inline}.install-launch{padding:0 10px}}.game-home{max-width:900px;margin:0 auto;padding:8px 0 18px;animation:.32s ease-out screen-in}.home-welcome{margin-bottom:25px}.home-kicker{letter-spacing:1.4px;color:#778c68;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.home-welcome h2{letter-spacing:-1.6px;margin:13px 0;font:48px/1.12 Georgia,serif}.home-welcome h2 em{color:#79915e;font-style:normal}.home-welcome>p{color:#7c8876;font-size:14px;line-height:1.6}.home-play-card{isolation:isolate;color:#fffbea;background:radial-gradient(at 90% 20%,#456b46 0,#0000 65%),linear-gradient(120deg,#183b2e,#203e2c);border:1px solid #3d5940;border-radius:25px;min-height:310px;padding:35px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #1e3d2a18,inset 0 1px #ffffff18}.home-play-copy{z-index:2;position:relative}.home-pill{letter-spacing:1.2px;color:#d5e3b4;font-size:9px;font-weight:700}.home-play-card h3{letter-spacing:-.8px;margin:18px 0 12px;font:38px/1.15 Georgia,serif}.home-play-card p{color:#c0cfb6;margin-bottom:22px;font-size:13px;line-height:1.65}.home-play-button{color:#243d2a;background:#e3edc0;border-radius:13px;gap:12px;min-height:49px;padding:12px 19px;font-size:14px;box-shadow:0 4px #8da574,0 8px 20px #0c201b35}.home-play-button:hover{background:#f0f7d7;transform:translateY(-1px)}.home-play-button:active{transform:translateY(3px);box-shadow:0 1px #8da574}.home-chess-art{pointer-events:none;width:50%;height:100%;position:absolute;top:0;right:0}.art-board{background:conic-gradient(#ffffff0b 25%,transparent 0 50%,#ffffff0b 0 75%,transparent 0) 0 0/85px 85px;border:1px solid #adc48a22;border-radius:25px;width:360px;height:280px;position:absolute;bottom:-105px;right:-60px;transform:rotate(-26deg)skew(10deg)}.art-orbit{border:1px solid #c3df9929;border-radius:50%;width:260px;height:260px;position:absolute;top:18px;right:20px;box-shadow:0 0 0 25px #b1d18b04,0 0 0 50px #b1d18b04}.hero-knight{filter:drop-shadow(10px 19px 8px #071d1c66);width:205px;height:240px;animation:6s ease-in-out infinite knight-float;position:absolute;top:38px;right:53px;transform:rotate(-10deg)}.hero-knight .piece{filter:none;width:100%;max-width:none;height:100%;max-height:none}.hero-pawn{opacity:.55;filter:drop-shadow(4px 10px 4px #071d1c55);width:90px;height:95px;position:absolute;bottom:25px;right:8px;transform:rotate(9deg)}.hero-pawn .piece{width:100%;max-width:none;height:100%;max-height:none}.art-spark{color:#d9e8a5;font-size:25px;animation:4s ease-in-out infinite spark-breathe;position:absolute}.spark-one{top:33px;right:30px}.spark-two{font-size:20px;animation-delay:1s;bottom:59px;right:248px}.home-resume{text-align:left;color:#314b34;background:#fbfcf6;border:1px solid #dbe3d0;border-radius:17px;align-items:center;gap:13px;width:100%;margin:15px 0;padding:17px 19px;display:flex;box-shadow:0 3px #e5e9dc}.resume-icon{color:#6b8358;background:#e6edda;border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.home-resume>span:nth-child(2){flex:1}.home-resume strong{font-size:14px;display:block}.home-resume small{color:#829075;margin-top:4px;font-size:11px;line-height:1.5;display:block}.home-mode-grid{grid-template-columns:1fr 1fr;gap:17px;margin-top:20px;display:grid}.home-mode{text-align:left;background:#fcfdf7;border:1px solid #dde4d2;border-radius:22px;padding:24px;transition:transform .18s,box-shadow .18s;position:relative;box-shadow:0 4px #e3e8d9}.home-mode:hover{transform:translateY(-3px);box-shadow:0 7px #e3e8d9}.home-mode:active{transform:translateY(2px);box-shadow:0 1px #e3e8d9}.mode-icon{color:#687e48;background:#e7edcd;border-radius:15px;place-items:center;width:50px;height:50px;margin-bottom:18px;display:grid;box-shadow:inset 0 1px #fff}.review-mode{background:#f7f3e9;border-color:#e9e1cc;box-shadow:0 4px #e8e1d0}.review-mode .mode-icon{color:#977b43;background:#eee0bd}.mode-title{letter-spacing:-.3px;color:#304331;justify-content:space-between;align-items:center;gap:8px;font-size:20px;font-weight:650;display:flex}.home-mode p{color:#7d876e;margin:10px 0 16px;font-size:14px;line-height:1.55}.home-mode small{color:#7d8c6a;font-size:11px;font-weight:600}.home-practice-pick{border-bottom:1px solid #e0e5d8;align-items:center;gap:15px;margin-top:24px;padding:21px 0 22px;display:flex}.practice-pick-icon{color:#7c925e;background:#e8eddd;border:1px solid #d9e2cb;border-radius:16px;flex:0 0 48px;place-items:center;height:48px;display:grid}.home-practice-pick>div:nth-child(2){flex:1}.home-practice-pick .home-kicker{letter-spacing:.7px;font-size:9px}.home-practice-pick h3{color:#3f5739;margin:6px 0;font-size:16px}.home-practice-pick p{color:#87927b;font-size:12px;line-height:1.5}.home-library-link{color:#64775a;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:19px 0;font-size:13px;display:flex}.home-library-link span{align-items:center;gap:10px;display:flex}.home-footnote{color:#919b85;justify-content:center;align-items:center;gap:6px;margin:12px 0;font-size:11px;display:flex}.opponent-list{gap:11px;margin:22px 0;display:grid}.opponent-choice{text-align:left;color:#3c5035;background:#f7f9f1;border:1px solid #e0e5d7;border-radius:16px;align-items:center;gap:13px;min-height:76px;padding:13px;transition:background .2s,box-shadow .2s,transform .2s;display:flex}.opponent-choice.is-chosen{background:#e9f0db;border-color:#8da56f;box-shadow:0 0 0 2px #9eb98233}.opponent-choice:active{transform:scale(.985)}.bot-token{color:#6d8650;background:#dce8c4;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:grid;box-shadow:inset 0 1px #fffa}.bot-token.brook{color:#547f71;background:#d9e6e0}.bot-token.flint{color:#96755a;background:#ebe1d6}.opponent-choice>span:nth-child(2){flex:1}.opponent-choice strong{font-size:17px;display:block}.opponent-choice small{color:#849178;margin-top:5px;font-size:12px;display:block}.strength-pips{align-items:flex-end;gap:4px;height:21px;display:flex}.strength-pips i{background:#dde3d3;border-radius:3px;width:5px;height:9px;display:block}.strength-pips i:nth-child(2){height:15px}.strength-pips i:nth-child(3){height:21px}.strength-pips i.filled{background:#859e69}.setup-lead{color:#7e8b74;margin:8px 0 19px;font-size:14px;line-height:1.6}.start-game-button{margin-top:22px}.friend-setup{flex-wrap:wrap;justify-content:center;gap:10px;padding:25px;display:flex}.friend-setup .piece{width:65px;height:65px}.friend-setup p{text-align:center;color:#7d8c71;width:100%;font-size:14px;line-height:1.6}.install-device-switch{background:#edf0e5;border-radius:13px;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0;padding:5px;display:grid}.install-device-switch button{color:#7b8970;background:0 0;border-radius:10px;min-height:43px;font:600 13px ui-sans-serif,system-ui,sans-serif}.install-device-switch button[aria-pressed=true]{color:#3e5738;background:#fffefa;box-shadow:0 2px 5px #243d2510}.install-steps{counter-reset:install;margin:16px 0;padding:0;list-style:none}.install-steps li{counter-increment:install;color:#758169;min-height:42px;padding:3px 0 17px 40px;font-size:14px;line-height:1.65;position:relative}.install-steps li:before{content:counter(install);color:#6d8453;background:#e6edd8;border-radius:50%;place-items:center;width:27px;height:27px;font-size:12px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.install-steps strong{color:#43583b}.offline-launch{color:#587540;background:#edf3e3;border-color:#d0dec1}.dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.dialog>header{z-index:3;background:#fffefa;padding-block:5px;position:sticky;top:-25px}.phone-wordmark{text-align:left;background:0 0;padding:0}.topbar-right{gap:12px}.thinking-dots{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}.thinking-dots i{background:#8ba06f;border-radius:50%;width:5px;height:5px;animation:1s infinite think-dot}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}.active-player .player-avatar{box-shadow:0 0 0 3px #d2dfbd55}.active-player .player-clock{border-color:#a8bd8e}.coach-hint-card{background:#eef3e4;border:1px solid #dce4ce;border-radius:15px;align-items:center;gap:12px;margin:8px 0 14px;padding:14px 16px;display:flex}.coach-hint-card>svg{color:#849764;flex:none}.coach-hint-card>div{flex:1}.coach-hint-card strong{color:#49603d;font-size:13px}.coach-hint-card p{color:#7e8b70;margin:5px 0 0;font-size:12px;line-height:1.6}.coach-hint-card .text-button{white-space:nowrap;font-size:12px}.hint-result{animation:.25s ease-out screen-in}.hint-result strong{font-size:15px}.route-home .workspace-footer{display:none}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes knight-float{0%,to{transform:translateY(0)rotate(-10deg)}50%{transform:translateY(-8px)rotate(-7deg)}}@keyframes spark-breathe{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:.9;transform:scale(1.1)}}@keyframes think-dot{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (width<=700px){.game-home{padding:7px 4px 14px}.home-welcome{margin-bottom:21px}.home-welcome h2{letter-spacing:-1px;font-size:34px}.home-welcome>p{font-size:13px}.home-kicker{font-size:9px}.home-play-card{border-radius:23px;min-height:255px;padding:25px 22px}.home-play-card h3{margin:16px 0 10px;font-size:29px}.home-play-card p{max-width:175px;font-size:12px;line-height:1.6}.home-pill{letter-spacing:.8px;font-size:8px}.home-play-button{gap:8px;min-height:48px;padding:10px 15px;font-size:14px}.home-chess-art{width:43%}.hero-knight{width:135px;height:165px;top:64px;right:0}.hero-pawn{width:65px;height:70px;bottom:18px;right:-14px}.art-orbit{width:180px;height:180px;top:45px;right:-28px}.art-board{background-size:58px 58px;width:230px;height:210px;bottom:-75px;right:-60px}.spark-one{font-size:19px;top:44px;right:18px}.spark-two{font-size:16px;bottom:47px;right:126px}.home-mode-grid{gap:12px;margin-top:17px}.home-mode{border-radius:19px;padding:18px 15px}.mode-icon{border-radius:13px;width:43px;height:43px;margin-bottom:15px}.mode-title{align-items:flex-start;font-size:16px}.mode-title>svg{display:none}.home-mode p{margin:9px 0 14px;font-size:13px}.home-mode small{font-size:10px;line-height:1.5;display:block}.home-resume{gap:10px;padding:14px}.home-resume strong{font-size:13px}.home-resume small{font-size:11px}.home-practice-pick{gap:11px;margin-top:14px;padding-block:19px}.home-practice-pick h3{font-size:15px}.home-practice-pick p{font-size:12px}.practice-pick-icon{flex-basis:41px;height:41px}.home-library-link{font-size:13px}.dialog>header{top:-22px}.coach-hint-card{gap:9px;padding:12px}.coach-hint-card .text-button{min-width:67px}.coach-hint-card strong{font-size:13px}.phone-wordmark{min-height:44px}.phone-tabs button{min-width:0}.topbar-right{gap:7px}}@media (width<=350px){.home-play-card{padding:23px 18px}.hero-knight{width:115px;right:-17px}.home-play-card p{max-width:165px}.home-welcome h2{font-size:31px}.home-mode{padding:16px 12px}.mode-title{font-size:15px}.phone-heading{gap:8px}.phone-heading h1{padding-left:8px}.topbar{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.game-home,.hero-knight,.art-spark,.thinking-dots i,.hint-result{animation:none!important}.home-play-button,.home-mode,.opponent-choice{transition:none!important}.home-mode:hover,.home-play-button:hover{transform:none}}@media (pointer:coarse){.square,.phone-tabs button,.home-mode,.opponent-choice,.home-play-button{-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}}@media (width<=700px){.game-home .home-welcome{display:none}.game-home{padding-top:4px}}
