:root{color:#22342d;font-synthesis:none;--bg:#f4f6f3;--panel:#fff;--ink:#22342d;--muted:#64766b;--border:#e2e8e1;--accent:#256e53;--soft:#e9f2e9;--shadow:0 8px 30px #223c2910;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f6f3;font-family:Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-weight:400}:root[data-theme=dark]{--bg:#14221c;--panel:#1d3026;--ink:#e5eee7;--muted:#a2b4a7;--border:#31473a;--accent:#78c5a0;--soft:#294936;--shadow:0 8px 30px #0002;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--accent)}button{color:inherit;background:0 0;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:3px solid #70ae8b}input,select{border:1px solid var(--border);background:var(--panel);color:var(--ink);border-radius:10px;min-width:0;padding:12px 14px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0;padding:0}input[type=range]{width:100%;accent-color:var(--accent);padding:0}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-1.5px;font-size:34px;font-weight:650;line-height:1.35}h2{letter-spacing:-.5px;font-size:23px;font-weight:600;line-height:1.5}h3{font-size:18px;font-weight:600;line-height:1.5}h4{font-size:16px;font-weight:600}p{color:var(--muted);font-size:14px;line-height:1.85}strong{font-weight:600}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{grid-template-columns:224px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{color:#d2dfd6;z-index:30;background:#153e35;flex-direction:column;width:224px;padding:31px 19px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{text-align:left;color:#f6faf5;align-items:center;gap:12px;padding:0 14px;display:flex}.brand>span:last-child{letter-spacing:3px;font-size:26px;font-weight:600}.brand small{letter-spacing:2.8px;color:#9ab5a5;margin-top:3px;font-size:9px;font-weight:500;display:block}.brand-mark{width:40px;height:40px;display:block;position:relative}.brand-mark i{border-radius:50%;width:27px;height:27px;position:absolute;box-shadow:0 3px 4px #0002}.brand-mark i:first-child{background:#d5b77f;top:2px;left:0}.brand-mark i:last-child{background:#fcfcf5;bottom:1px;right:0}.sidebar-label{letter-spacing:1.5px;color:#83a397;margin:45px 15px 16px;font-size:10px}.sidebar nav{gap:7px;display:grid}.sidebar nav button,.sidebar-bottom>button{text-align:left;color:#b4ccbd;border-radius:10px;align-items:center;gap:13px;min-height:48px;padding:14px;font-size:14px;transition:background .18s,color .18s;display:flex;position:relative}.sidebar nav button:hover,.sidebar-bottom>button:hover{color:#fff;background:#ffffff0c}.sidebar nav button.active,.sidebar-bottom>button.active{color:#1d5140;background:#e1efe3;font-weight:600}.nav-dot{background:#44885d;border-radius:50%;width:5px;height:5px;position:absolute;right:15px}.sidebar-bottom{margin-top:auto}.sidebar-tip{background:#ffffff04;border:1px solid #8dad981c;border-radius:12px;margin:26px 0 23px;padding:19px 16px}.sidebar-tip>svg{color:#a0bba8}.sidebar-tip p{color:#d4e3d7;margin:12px 0 10px;font-size:14px;line-height:1.8}.sidebar-tip>span{letter-spacing:.4px;color:#91ad9d;font-size:10px}.sidebar-bottom>button{width:100%;margin-bottom:21px}.sidebar-footer{border-top:1px solid #cce6d320;align-items:center;gap:11px;padding:19px 8px 0;display:flex}.avatar{color:#dce8d9;background:#476854;border-radius:50%;place-items:center;width:35px;height:35px;font-size:14px;display:grid}.sidebar-footer strong{font-size:12px}.sidebar-footer small{color:#8eac9a;margin-top:5px;font-size:9px;display:block}.app-main{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;height:78px;padding:0 42px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:16px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink)}.topbar-actions{align-items:center;gap:18px;display:flex}.local-status{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.user-level{color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;padding:9px 12px;font-size:11px;display:flex}.icon-button{border:1px solid var(--border);background:var(--panel);border-radius:8px;place-items:center;width:36px;height:36px;display:grid}main{max-width:1500px;margin:auto;padding:34px 42px 54px}.main-footer{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;padding:20px 42px;font-size:10px;display:flex}.main-footer span:last-child{align-items:center;gap:6px;display:flex}.mobile-nav{display:none}.eyebrow{letter-spacing:1.7px;color:var(--accent);align-items:center;gap:7px;font-size:10px;font-weight:600;line-height:1.6;display:flex}.eyebrow>span:last-child:not(:first-child){letter-spacing:1px;margin-left:auto}.small-star{font-size:22px;line-height:1}.button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 18px;font-size:12px;font-weight:600;line-height:1.5;transition:background .18s,transform .18s;display:inline-flex}.button.primary{background:var(--accent);color:#fff;box-shadow:0 4px 8px #256e5315}.button.primary:hover:enabled{background:#1c5b43;transform:translateY(-1px)}[data-theme=dark] .button.primary{color:#142c20}.button.secondary{background:var(--panel);border:1px solid var(--border);color:var(--ink)}.button.secondary:hover:enabled{background:var(--soft)}.button.full{width:100%}.button.large{min-height:48px;padding:14px 22px;font-size:13px}.button-row{gap:10px;margin-top:18px;display:flex}.button-row .button{flex:1}.text-button{color:var(--accent);align-items:center;gap:7px;min-height:34px;padding:8px 0;font-size:12px;line-height:1.5;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.pill{background:var(--soft);color:var(--accent);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:500;line-height:1.5;display:inline-flex}.pill.accent{color:#46805a;background:#edf4e9}.section-title{justify-content:space-between;align-items:center;gap:15px;margin:30px 0 20px;display:flex}.section-title h2{font-size:21px}.section-title .eyebrow{letter-spacing:2px;margin-bottom:5px;font-size:9px}.section-meta{color:var(--muted);font-size:11px}.icon-square{background:var(--soft);width:48px;height:48px;color:var(--accent);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.hero{background:#edf2eb;border:1px solid #e4eae0;border-radius:20px;grid-template-columns:minmax(310px,.85fr) minmax(380px,1.15fr);align-items:center;height:420px;min-height:383px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;padding:31px 0 40px 36px;position:relative}.hero .eyebrow{color:#61896d;font-size:10px}.hero h1{letter-spacing:-2.2px;color:#224331;margin-top:18px;font-size:43px;font-weight:650;line-height:1.48}.title-dot{color:#6d987b}.hero-copy>p{color:#7a8e7d;margin-top:16px;font-size:13px;line-height:2}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:25px;display:flex}.hero-actions .text-button{color:#56765d;font-size:11px}.hero-meta{color:#8d9f8e;gap:20px;margin-top:22px;font-size:10px;display:flex}.hero-meta span{align-items:center;gap:5px;display:flex}.hero-board{align-self:stretch;min-width:0;padding:0 18px 0 0;position:relative}.hero-board .board-shell{height:100%;min-height:0}.hero-board .three-canvas{aspect-ratio:auto;height:100%;min-height:0}.hero-board .board-status,.hero-board .board-toolbar>span{display:none}.hero-board .board-toolbar{z-index:5;background:0 0;padding:0;position:absolute;top:14px;right:15px}.hero-board .board-toolbar button{background:#ffffff70}.hero-board .render-badge{display:none}.floating-note{pointer-events:none;background:#ffffffec;border:1px solid #fff;border-radius:10px;align-items:center;gap:10px;padding:12px 17px;display:flex;position:absolute;bottom:25px;right:32px;box-shadow:0 10px 35px #355a2620}.floating-icon{color:#658451;background:#eef4e8;border-radius:9px;place-items:center;width:33px;height:33px;display:grid}.floating-note strong{color:#36553c;font-size:11px;display:block}.floating-note small{color:#96a38f;margin-top:5px;font-size:9px;display:block}.progress-overview{border:1px solid var(--border);background:var(--panel);border-radius:12px;grid-template-columns:1.55fr 1fr .55fr .55fr;align-items:center;gap:30px;margin-top:22px;padding:22px 24px;display:grid}.progress-caption{align-items:center;gap:13px;display:flex}.progress-caption .eyebrow{letter-spacing:1px;color:var(--muted);margin-bottom:5px;font-size:9px}.progress-caption strong{white-space:nowrap;font-size:12px}.progress-meter>div:first-child{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:10px;display:flex}.progress-meter strong{color:var(--ink);font-size:17px}small{font-weight:400}.progress-meter small,.overview-stat small{color:var(--muted);font-size:10px}.progress-track,.quiz-progress{background:var(--soft);border-radius:5px;height:5px;overflow:hidden}.progress-track>span,.quiz-progress>span{background:#649b76;border-radius:5px;height:100%;transition:width .3s;display:block}.overview-stat{text-align:center;border-left:1px solid var(--border);gap:5px;display:grid}.overview-stat strong{font-size:21px;font-weight:600}.overview-stat>span{color:var(--muted);font-size:10px}.stage-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:5px;margin-bottom:24px;display:flex;overflow-x:auto}.stage-tabs button{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;padding:11px 13px 13px;font-size:11px}.stage-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.stage-list{gap:30px;display:grid}.stage-section{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:22px}.stage-section.recommended{border-color:#b7d0b6}.stage-heading{align-items:center;gap:14px;margin-bottom:20px;display:flex}.stage-index{color:#819180;background:#f0f3ee;border-radius:10px;place-items:center;width:43px;height:43px;font-size:17px;font-weight:500;display:grid}.recommended .stage-index{color:#5b8352;background:#e6f0df}.stage-heading h3{font-size:16px}.title-row{align-items:center;gap:12px;display:flex}.stage-heading p{margin-top:4px;font-size:11px}.stage-count{white-space:nowrap;color:var(--muted);margin-left:auto;font-size:10px}.lesson-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.lesson-card{border:1px solid var(--border);text-align:left;background:var(--panel);border-radius:11px;padding:0;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.lesson-card:hover{box-shadow:var(--shadow);border-color:#9ebe9e;transform:translateY(-3px)}.lesson-visual{background:#f3f3ed;justify-content:center;align-items:center;height:120px;display:flex;position:relative;overflow:hidden}.lesson-visual .mini-board{filter:drop-shadow(5px 8px 4px #725a4020);border-radius:5px;width:125px;height:125px;transform:rotate(-10deg)translateY(9px)}.lesson-tag{color:#798570;background:#ffffffdc;border:1px solid #ffffffd9;border-radius:4px;padding:4px 6px;font-size:8px;position:absolute;top:10px;left:10px}.lesson-card-body{padding:14px 14px 12px}.lesson-order{letter-spacing:1.2px;color:var(--muted);font-size:8px}.lesson-card h4{letter-spacing:.1px;margin-top:7px;font-size:13px}.lesson-card-footer{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.lesson-card-footer>span:first-child{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.lesson-play{background:var(--soft);width:25px;height:25px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.completed .lesson-card-footer>svg{color:var(--accent)}.opening-callout{border:1px solid var(--border);background:var(--panel);border-radius:14px;align-items:center;gap:20px;margin-top:30px;padding:28px;display:flex}.opening-callout>.icon-square{width:65px;height:65px}.opening-callout h2{margin:6px 0;font-size:20px}.opening-callout p{font-size:12px}.opening-callout>.button{margin-left:auto}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:3px 0 28px;display:flex}.page-heading .eyebrow{margin-bottom:10px}.page-heading p{margin-top:10px;font-size:13px}.back-link{color:var(--muted);align-items:center;gap:7px;min-height:28px;margin:0 0 24px;padding:0;font-size:11px;display:flex}.back-link:hover{color:var(--accent)}.workbench{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.board-shell{background:#edf0e9;border-radius:17px;min-width:0;position:relative;overflow:hidden}.board-status{color:#82937d;z-index:1;pointer-events:none;letter-spacing:.5px;justify-content:space-between;font-size:9px;display:flex;position:absolute;top:18px;left:22px;right:22px}.board-status>span:first-child{align-items:center;gap:7px;display:flex}.live-dot{background:#649e72;border-radius:50%;width:5px;height:5px;display:inline-block}.three-canvas{aspect-ratio:1;touch-action:none;height:auto;min-height:360px}.three-canvas canvas{width:100%;height:100%;display:block}.board-toolbar{color:#84947e;justify-content:space-between;align-items:center;gap:5px;padding:0 20px 16px;font-size:9px;display:flex}.board-toolbar>div{align-items:center;gap:6px;display:flex}.board-toolbar button{color:#65825e;background:#ffffff74;border:1px solid #c4d0bd66;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.board-toolbar button:hover,.board-toolbar button.active{background:#dce9d1}.render-badge{align-items:center;gap:4px;padding:0 4px;font-size:9px;display:flex}.board-fallback{padding:0 20px 15px;font-size:10px}.accessible-board{width:1px;height:1px;position:absolute;bottom:0;left:0;overflow:hidden}.accessible-board:focus-visible{outline-offset:0;z-index:10;background:#fff;width:calc(100% - 24px);height:30px;bottom:12px;left:12px}.accessible-board:focus-visible .sr-only:first-child{clip:auto!important;width:auto!important;height:auto!important;padding:5px!important;position:static!important;overflow:visible!important}.lesson-panel{background:var(--panel);border:1px solid var(--border);border-radius:15px;min-height:440px;padding:27px 25px}.lesson-panel h2{margin:14px 0 19px;font-size:23px}.lesson-panel>p{margin:13px 0 17px;font-size:13px;position:relative}.lesson-panel>p .paragraph-number{color:#8c9b82;margin-right:7px;font-size:9px;font-weight:600}.lesson-panel>.button{margin-top:20px}.steps-strip{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;margin-bottom:27px;padding-bottom:22px;display:flex}.steps-strip>div{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.steps-strip>div>span{border:1px solid var(--border);border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.steps-strip .current{color:var(--accent);font-weight:600}.steps-strip .current>span{background:var(--accent);color:#fff;border-color:var(--accent)}.steps-strip .finished>span{background:var(--soft);border-color:var(--soft);color:var(--accent)}.demo-controls{justify-content:space-between;align-items:center;margin-top:24px;display:flex}.demo-controls>span{color:var(--muted);font-size:10px}.tip,.takeaway{background:var(--soft);color:var(--accent);border-radius:9px;margin-top:16px;padding:15px;font-size:12px;line-height:1.9}.takeaway strong{font-size:11px}.takeaway p{color:var(--accent);margin-top:5px;font-size:12px}.feedback{border-radius:9px;margin:16px 0;padding:16px;font-size:12px;line-height:1.8}.feedback.success{background:var(--soft);color:var(--accent)}.feedback.retry{color:#876440;background:#fbf0e8}.feedback p{color:inherit;margin-top:6px;font-size:12px}.lesson-complete{text-align:center;flex-direction:column;align-items:center;display:flex}.lesson-complete>svg{color:var(--accent);margin:5px 0 18px}.lesson-complete>.eyebrow{font-size:9px}.lesson-complete h2{margin:12px 0}.lesson-complete>p{font-size:12px}.lesson-complete>.button{margin-top:16px}.lesson-complete>.text-button{margin-top:10px}.lesson-complete .takeaway{text-align:left}.quiz .eyebrow{justify-content:space-between}.quiz-progress{margin:12px 0 22px}.quiz h2{margin:18px 0;font-size:21px;line-height:1.7}.answer-list{gap:10px;display:grid}.answer{text-align:left;border:1px solid var(--border);border-radius:10px;align-items:center;gap:11px;padding:13px;font-size:12px;line-height:1.7;display:flex}.answer-letter{border:1px solid var(--border);width:25px;height:25px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:10px;display:grid}.answer.chosen{background:var(--soft);border-color:#78a884}.answer.correct{background:var(--soft);color:var(--accent);opacity:1;border-color:#6e9c7a}.answer.incorrect{opacity:1;color:#94694c;background:#fbf1e9;border-color:#c3977a}.answer>svg{flex-shrink:0;margin-left:auto}.quiz>.text-button{margin-top:15px}.quiz>.button{margin-top:25px}.quiz-workspace{border:1px solid var(--border);background:var(--panel);border-radius:16px;max-width:620px;margin:30px auto 60px;padding:32px}.result-card,.empty-state{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:15px;flex-direction:column;align-items:center;padding:50px 25px;display:flex}.result-card>svg,.empty-state>svg{color:var(--accent);margin:6px 0 24px}.result-card h2{margin:15px;font-size:45px}.result-card>p,.empty-state>p{max-width:500px;margin:12px 0 20px}.result-card>.button-row{min-width:280px}.practice-feature{background:#edf3e8;border:1px solid #dbe7d7;border-radius:15px;align-items:center;gap:21px;margin:25px 0 40px;padding:27px;display:flex}.practice-feature h2{color:#264a33;margin:5px 0 9px;font-size:22px}.practice-feature p{color:#7e917c;font-size:12px}.practice-feature>.button{margin-left:auto}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.exam-card{text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:12px;align-items:center;gap:18px;padding:21px;transition:border-color .2s;display:flex}.exam-card:hover{border-color:#8eb496}.exam-number{color:#a4b29e;font-size:23px;font-weight:400}.exam-card h3{font-size:15px}.exam-card p{margin-top:4px;font-size:10px}.exam-arrow,.exam-complete{color:var(--accent);margin-left:auto}.practice-topics{flex-wrap:wrap;gap:10px;display:flex}.practice-topics>button{border:1px solid var(--border);background:var(--panel);border-radius:9px;align-items:center;gap:9px;padding:12px 15px;font-size:11px;display:flex}.practice-topics>button:hover{background:var(--soft)}.notice{background:var(--soft);border:1px solid var(--border);color:var(--accent);border-radius:11px;align-items:center;gap:17px;margin-bottom:26px;padding:18px 23px;font-size:12px;line-height:1.7;display:flex}.notice span{color:var(--muted);font-size:11px}.opening-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;display:grid}.opening-card{border:1px solid var(--border);text-align:left;background:var(--panel);border-radius:14px;padding:0;transition:transform .2s,box-shadow .2s;overflow:hidden}.opening-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.opening-preview{background:#edf0e8;place-items:center;min-height:240px;padding:22px;display:grid;position:relative}.opening-preview .mini-board{transform:rotate(-5deg);box-shadow:7px 10px 14px #6d543e1a}.opening-number{color:#7f9579;font-size:12px;position:absolute;top:16px;left:18px}.learned-mark{color:var(--accent);position:absolute;top:14px;right:16px}.opening-description{padding:22px}.opening-description>.eyebrow{letter-spacing:1px;color:var(--muted);font-size:9px}.opening-description .title-row{justify-content:space-between;margin:7px 0 11px}.opening-description h2{font-size:22px}.opening-description p{min-height:54px;font-size:11px}.opening-description .pill{margin-top:16px}.opening-note{min-height:72px;font-size:13px!important}.move-timeline{flex-wrap:wrap;gap:5px;margin:21px 0;display:flex}.move-timeline>button{border:1px solid var(--border);min-width:43px;color:var(--muted);border-radius:7px;place-items:center;gap:6px;padding:8px 5px;font-size:9px;display:grid}.move-timeline>button.played{background:var(--soft);border-color:#9eba9e}.move-timeline small{font-size:8px}.stone-dot{border-radius:50%;flex-shrink:0;width:19px;height:19px;display:inline-block;box-shadow:0 2px 3px #0002}.stone-dot.color-1{background:radial-gradient(circle at 34% 25%,#4c5755,#15221d 70%);border:1px solid #23312c}.stone-dot.color-2{background:radial-gradient(circle at 30% 25%,#fff,#ecece6 80%);border:1px solid #d5ddd1}.playback{justify-content:center;align-items:center;gap:12px;margin:25px 0 20px;display:flex}.playback>button{width:34px;height:36px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.playback>button:hover{background:var(--soft)}.playback>.play-button{background:var(--accent);color:#fff;border-radius:50%;width:44px;height:44px}.caution{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.caution strong{color:var(--muted);font-size:11px}.caution p{margin-top:6px;font-size:11px}.source-link{text-align:center;color:var(--muted);text-underline-offset:3px;margin-top:17px;font-size:9px;display:block}.flat-board{aspect-ratio:1;background:#dec08a;border-radius:7px;margin:50px 32px 22px;padding:22px;box-shadow:0 8px #bb945b,0 17px 25px #29412220}.flat-grid{width:100%;height:100%;display:grid}.intersection{aspect-ratio:1;border-radius:50%;place-items:center;min-width:0;padding:0;display:grid;position:relative}.intersection:before,.intersection:after{content:"";pointer-events:none;background:#86693e;position:absolute}.intersection:before{width:100%;height:1px;top:50%;left:0}.intersection:after{width:1px;height:100%;top:0;left:50%}.intersection>span{z-index:1;border-radius:50%;width:91%;height:91%;position:relative}.intersection.stone-1>span{background:radial-gradient(circle at 35% 23%,#4d5653,#15221e 70%);box-shadow:0 3px 3px #0003}.intersection.stone-2>span{background:radial-gradient(circle at 35% 23%,#fff,#eeeee6 80%);box-shadow:0 3px 3px #0002}.intersection:hover{background:#426e2e20}.intersection.selected>span,.intersection.hint>span{outline-offset:-5px;outline:2px solid #3e8669}.intersection.dead>span{opacity:.45}.intersection.hint:not(.stone-1):not(.stone-2)>span{background:#b5d89b80;outline:3px solid #3b8760;width:50%;height:50%}.settings-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px}.settings-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.settings-side{gap:20px;display:grid}.section-heading{flex-wrap:wrap;align-items:center;gap:13px;margin-bottom:23px;display:flex}.section-heading h2{font-size:19px}.section-heading p{margin-top:6px;font-size:11px}.section-heading>.pill{margin-left:auto}.privacy-note{background:var(--soft);color:var(--accent);border-radius:10px;gap:13px;margin-bottom:23px;padding:17px;display:flex}.privacy-note>svg{flex-shrink:0;margin-top:2px}.privacy-note p{color:var(--accent);font-size:11px;line-height:1.9}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.full-field{grid-column:1/-1}.field{color:var(--ink);flex-direction:column;gap:9px;margin-top:8px;font-size:12px;font-weight:500;display:flex}.field>span{color:var(--muted);font-size:10px;font-weight:400}.field>input,.field>select{width:100%;min-height:43px;font-size:12px}.secret-input{border:1px solid var(--border);border-radius:10px;display:flex;overflow:hidden}.secret-input>input{border:0;border-radius:0;flex:1;min-width:0;font-size:12px}.secret-input>button{min-width:48px;padding:0 12px}.check-label{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;margin:19px 0 7px;font-size:11px;line-height:1.8;display:flex}.check-label>span{color:var(--muted);font-size:9px}.inline-feedback{background:var(--soft);color:var(--accent);border-radius:8px;margin-top:16px;padding:12px 14px;font-size:11px;line-height:1.9}.settings-card details{border-top:1px solid var(--border);color:var(--muted);margin-top:24px;padding-top:18px;font-size:11px}summary{cursor:pointer;color:var(--accent)}details p{margin-top:12px;font-size:11px}.danger{color:#a66150}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 0;font-size:12px;display:flex}.toggle-row input{cursor:pointer;width:33px;height:18px}.settings-side h2{margin-bottom:7px;font-size:19px}.settings-side .field{margin-top:19px}.settings-side .settings-card>p{margin:16px 0;font-size:11px}.settings-side .settings-card>.text-button{margin-top:13px}.local-note{text-align:center;border:1px dashed var(--border);color:var(--accent);border-radius:14px;padding:27px}.local-note h3{margin:10px 0;font-size:14px}.local-note p{font-size:11px}.setup-layout{grid-template-columns:1.25fr 1fr;gap:28px;display:grid}.setup-card>.section-title{margin:0 0 25px}.setup-card>.field{margin:22px 0 11px}.segmented{gap:9px;display:flex}.segmented>button{border:1px solid var(--border);border-radius:9px;flex:1;gap:7px;padding:15px 8px;font-size:19px;display:grid}.segmented>button>span{color:var(--muted);font-size:10px}.segmented>button.active,.opponent-options>button.active,.color-options>button.active{background:var(--soft);color:var(--accent);border-color:#76a785}.opponent-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.opponent-options>button{border:1px solid var(--border);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:9px;padding:19px 16px;display:flex}.opponent-options strong{font-size:12px}.opponent-options small{color:var(--muted);font-size:10px}.setup-card .form-grid{margin-top:21px}.color-options{gap:10px;display:flex}.color-options>button{border:1px solid var(--border);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:10px;padding:12px 10px;font-size:12px;display:flex}.form-help{margin:20px 0;font-size:10px;line-height:1.9}.setup-preview{text-align:center;background:#edf2e9;border:1px solid #e0e8dc;border-radius:16px;flex-direction:column;align-items:center;padding:34px 28px;display:flex}.setup-preview .mini-board{border-radius:7px;max-width:100%;height:auto;margin-bottom:36px;transform:perspective(800px)rotateX(17deg)rotate(-7deg);box-shadow:6px 13px #c5a775,10px 23px 24px #53412615}.setup-preview h2{color:#315039;letter-spacing:-1px;margin:12px 0 15px;font-size:30px;line-height:1.65}.setup-preview p{color:#88947f;max-width:260px;font-size:12px}.setup-preview .eyebrow{color:#789068;font-size:9px}.saved-games{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.saved-game{background:var(--panel);border:1px solid var(--border);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:15px;display:flex}.saved-game .mini-board{flex-shrink:0;width:65px;height:65px}.saved-game h3{font-size:12px}.saved-game p{margin-top:5px;font-size:9px}.saved-game>svg{color:var(--accent);flex-shrink:0;margin-left:auto}.players{border-bottom:1px solid var(--border);justify-content:space-between;gap:15px;padding-bottom:20px;display:flex}.players>div{align-items:center;gap:9px;display:flex}.players>div>.stone-dot{width:28px;height:28px}.players span:not(.stone-dot){font-size:12px;font-weight:600}.players small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.players .live-dot{margin-left:5px}.game-stats{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:12px;padding:21px 0;display:grid}.game-stats>div{text-align:center;gap:7px;display:grid}.game-stats span{color:var(--muted);font-size:9px}.game-stats strong{font-size:23px;font-weight:500}.turn-status{align-items:center;gap:12px;padding:20px 0;display:flex}.turn-status .stone-dot{width:26px;height:26px}.turn-status strong{font-size:13px}.turn-status span:not(.stone-dot){color:var(--muted);margin-top:5px;font-size:10px;display:block}.turn-status>svg{color:var(--accent)}.game-panel .toggle-row{padding:17px 0;font-size:10px}.coach-note{margin:24px 0 15px}.coach-note .eyebrow{letter-spacing:1px;font-size:8px}.coach-note p{margin-top:9px;font-size:11px}.game-bottom{border-top:1px solid var(--border);justify-content:space-between;padding-top:13px;display:flex}.game-bottom .text-button{font-size:10px}.muted{color:var(--muted)}.selection-info{text-align:center;font-size:10px!important}.score-table{background:var(--soft);border-radius:10px;margin-top:20px;padding:17px}.score-table>div{align-items:center;gap:9px;font-size:12px;display:flex}.score-table strong{margin-left:auto;font-size:22px}.score-table small{color:var(--muted);margin:6px 0 14px;padding-left:28px;font-size:10px;display:block}.score-table p{border-top:1px solid var(--border);padding-top:10px;font-size:10px}.branch-list{gap:7px;margin:17px 0;font-size:11px;display:grid}.branch-list>span{color:var(--muted)}.branch-list>button{border:1px solid var(--border);color:var(--accent);border-radius:7px;padding:9px}.records-list{gap:17px;display:grid}.record-row{background:var(--panel);border:1px solid var(--border);border-radius:14px;align-items:center;gap:21px;padding:22px;display:flex}.record-row h3{font-size:17px}.record-row p{margin:6px 0 11px;font-size:11px}.record-row .mini-board{flex-shrink:0}.record-actions{gap:11px;margin-left:auto;display:flex}.modal-scrim{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#0a211960;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:18px;width:100%;max-width:450px;padding:32px;box-shadow:0 20px 80px #0002}.modal>svg{color:var(--accent);margin-bottom:13px}.modal>p{margin:16px 0 22px;font-size:13px}.toast{background:var(--panel);border:1px solid var(--border);z-index:120;border-radius:12px;align-items:center;gap:10px;max-width:80vw;padding:14px 18px;font-size:12px;display:flex;position:fixed;bottom:28px;left:calc(50% + 90px);transform:translate(-50%);box-shadow:0 7px 35px #0002}.toast>svg{color:var(--accent);flex-shrink:0}.toast>button{margin-left:10px;font-size:18px}.loading{justify-content:center;align-items:center;gap:15px;padding:80px;display:flex}.spin{animation:1.2s linear infinite spin}.page-enter{animation:.3s ease-out enter}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-theme=dark] .hero,[data-theme=dark] .practice-feature,[data-theme=dark] .setup-preview{background:#253b2b;border-color:#354c3c}[data-theme=dark] .hero h1,[data-theme=dark] .practice-feature h2,[data-theme=dark] .setup-preview h2{color:#deebdc}[data-theme=dark] .hero-copy>p,[data-theme=dark] .practice-feature p,[data-theme=dark] .setup-preview p{color:#9aaf98}[data-theme=dark] .board-shell,[data-theme=dark] .opening-preview{background:#243b2c}[data-theme=dark] .stage-index{color:#a3b69e;background:#314737}[data-theme=dark] .lesson-visual{background:#304132}[data-theme=dark] .lesson-tag{color:#b5c9af;background:#1c3025;border-color:#354c39}@media (width>=1600px){main{padding-top:43px}.hero{height:460px;min-height:430px}.hero-copy{padding-left:46px}.hero h1{font-size:50px}.hero-board .three-canvas{min-height:0}.lesson-visual{height:144px}.lesson-visual .mini-board{width:140px;height:140px}}@media (width<=1240px){.app-shell{grid-template-columns:194px minmax(0,1fr)}.sidebar{width:194px;padding:28px 13px 16px}.topbar{padding:0 28px}main{padding:27px 28px 44px}.main-footer{padding:20px 28px}.hero{grid-template-columns:minmax(280px,.95fr) minmax(300px,1.05fr)}.hero-copy{padding-left:28px}.hero h1{font-size:37px}.hero-actions{gap:12px}.hero-actions>.button{padding:12px 16px}.hero-actions>.text-button{font-size:10px}.hero-board{padding:0}.progress-overview{gap:18px;padding:20px}.progress-caption{gap:9px}.progress-caption strong{font-size:11px}.progress-overview .icon-square{width:40px;height:40px}.lesson-grid{gap:11px}.lesson-card-body{padding:12px 10px}.lesson-card h4{font-size:12px}.stage-section{padding:19px}.workbench{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);gap:19px}.lesson-panel{padding:24px 21px}.lesson-panel h2{font-size:21px}.opening-grid{gap:15px}.opening-preview{min-height:215px}.opening-preview .mini-board{width:170px;height:170px}.opening-description{padding:18px}.settings-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:18px}.settings-card{padding:23px}.opening-callout{gap:15px;padding:22px}.opening-callout h2{font-size:17px}.opening-callout .button{padding:11px 13px;font-size:11px}.saved-games{grid-template-columns:1fr}.saved-game{max-width:none}.saved-game .mini-board{width:75px;height:75px}}@media (width<=1024px){.app-shell{grid-template-columns:170px minmax(0,1fr)}.sidebar{width:170px;padding:25px 11px 15px}.brand{gap:8px;padding:0 9px}.brand>span:last-child{font-size:23px}.brand-mark{width:34px;height:36px}.brand-mark i{width:24px;height:24px}.sidebar nav button,.sidebar-bottom>button{gap:9px;padding:13px 10px;font-size:12px}.sidebar-label{margin-left:8px;font-size:9px}.sidebar-tip{padding:16px 12px}.sidebar-tip p{font-size:12px}.sidebar-tip>span{font-size:8px}.sidebar-footer{gap:7px;padding-left:4px}.sidebar-footer small{font-size:8px}main{padding:25px 24px 40px}.topbar{height:68px;padding:0 24px}.local-status{display:none}.hero{grid-template-columns:1fr 1fr;height:360px;min-height:342px}.hero-copy{padding:25px 0 25px 24px}.hero h1{letter-spacing:-1px;font-size:32px}.hero-copy>p{margin-top:11px;font-size:11px}.hero .eyebrow{font-size:8px}.hero-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:19px}.hero-meta{gap:10px;margin-top:13px;font-size:8px}.hero-meta svg{width:13px}.hero-board .three-canvas,.hero-board .board-shell{min-height:0}.floating-note{padding:10px;bottom:24px;right:18px}.floating-note strong{font-size:9px}.floating-note small{font-size:8px}.floating-icon{width:27px;height:27px}.progress-overview{grid-template-columns:1.5fr 1fr .6fr;gap:16px}.progress-overview>.overview-stat:last-child,.progress-caption .icon-square{display:none}.progress-caption strong{white-space:normal;line-height:1.8}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lesson-visual{height:130px}.lesson-visual .mini-board{width:140px;height:140px}.lesson-card h4{font-size:14px}.lesson-card-body{padding:15px}.workbench{grid-template-columns:1fr}.lesson-panel{min-height:0}.three-canvas{min-height:0;max-height:650px}.opening-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opening-callout{flex-wrap:wrap}.opening-callout .button{margin:0 0 0 auto}.opening-callout>.icon-square{width:50px;height:50px}.settings-layout{grid-template-columns:1fr}.settings-side{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-side .local-note{grid-column:1/-1}.setup-layout{grid-template-columns:1fr}.setup-preview{display:none}.page-heading h1{font-size:30px}.page-heading .button{font-size:11px}.exam-card{gap:12px;padding:17px}.exam-card h3{font-size:13px}.practice-feature{flex-wrap:wrap;gap:14px;padding:22px}.practice-feature h2{font-size:19px}.practice-feature>.button{margin-left:auto}.record-row{flex-wrap:wrap;gap:15px;padding:18px}.record-actions{margin-left:auto}.notice{display:block}.notice span{margin-top:7px;display:block}.toast{left:calc(50% + 65px)}}@media (width<=720px){.app-shell{display:block}.sidebar{display:none}.app-main{width:100%}.topbar{height:61px;padding:0 20px}.breadcrumb{gap:10px;font-size:10px}.topbar-actions{gap:10px}.user-level{padding:8px 10px;font-size:9px}.icon-button{width:32px;height:32px}.topbar-actions .icon-button{background:0 0;border:0}main{padding:22px 18px 36px}.main-footer{gap:15px;padding:18px 18px 92px;font-size:9px}.main-footer span:last-child{display:none}.mobile-nav{background:var(--panel);border-top:1px solid var(--border);padding:8px 4px max(8px, env(safe-area-inset-bottom));z-index:40;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 20px #15332105}.mobile-nav>button{color:var(--muted);flex-direction:column;align-items:center;gap:5px;min-height:48px;padding:5px 3px;font-size:9px;display:flex}.mobile-nav>button.active{color:var(--accent)}.hero{border-radius:15px;flex-direction:column;align-items:stretch;height:auto;display:flex}.hero-copy{padding:26px 25px 0}.hero h1{letter-spacing:-1.5px;margin-top:14px;font-size:38px;line-height:1.45}.hero-copy>p{margin-top:13px;font-size:12px;line-height:1.85}.hero .eyebrow{font-size:9px}.hero-actions{flex-flow:wrap;align-items:center;gap:15px}.hero-actions>.text-button{font-size:10px}.hero-meta{gap:19px;margin-top:16px;font-size:9px}.hero-board{min-height:315px;max-height:360px;margin-top:-8px;padding:0}.hero-board .three-canvas{aspect-ratio:auto;height:340px;min-height:315px;max-height:360px}.hero-board .board-shell{min-height:315px}.hero-board .board-toolbar{top:28px;right:15px}.floating-note{bottom:17px;right:21px}.floating-note strong{font-size:10px}.floating-note small{font-size:9px}.progress-overview{grid-template-columns:1.2fr 1fr;gap:17px;margin-top:17px;padding:20px 18px}.progress-overview>.overview-stat{display:none}.progress-caption .eyebrow{font-size:8px}.progress-caption strong{font-size:11px}.progress-meter strong{font-size:17px}.section-title{margin:27px 0 17px}.section-title h2{font-size:20px}.section-meta{text-align:right;max-width:105px;font-size:9px}.stage-tabs{gap:2px;margin-bottom:20px}.stage-tabs button{padding:10px 11px 12px;font-size:10px}.stage-list{gap:22px}.stage-section{border-radius:12px;padding:16px 13px}.stage-heading{gap:10px;margin-bottom:16px}.stage-index{border-radius:8px;width:34px;height:34px;font-size:14px}.stage-heading h3{font-size:14px}.stage-heading .title-row{flex-wrap:wrap;gap:6px}.stage-heading .pill{padding:3px 6px;font-size:8px}.stage-heading p{font-size:9px}.stage-count{margin-top:4px;font-size:8px}.lesson-grid{gap:11px}.lesson-visual{height:111px}.lesson-visual .mini-board{width:122px;height:122px}.lesson-tag{padding:3px 5px;font-size:7px;top:8px;left:8px}.lesson-card-body{padding:12px 11px}.lesson-order{font-size:7px}.lesson-card h4{margin-top:7px;font-size:12px}.lesson-card-footer{margin-top:12px}.lesson-card-footer>span:first-child{font-size:8px}.lesson-play{width:23px;height:23px}.opening-callout{gap:13px;padding:20px}.opening-callout>.icon-square{width:43px;height:43px}.opening-callout>div{flex:1;min-width:230px}.opening-callout h2{font-size:16px}.opening-callout p{font-size:10px}.opening-callout .eyebrow{font-size:8px}.opening-callout>.button{width:100%;margin:3px 0 0}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:23px}.page-heading h1{letter-spacing:-1px;font-size:28px}.page-heading .eyebrow{margin-bottom:10px;font-size:8px}.page-heading p{margin-top:10px;font-size:12px}.page-heading>.pill{font-size:9px}.back-link{margin-bottom:18px}.steps-strip{gap:6px;margin-bottom:18px;padding-bottom:17px}.steps-strip>div{gap:5px;font-size:8px}.steps-strip>div>span{width:21px;height:21px;font-size:9px}.workbench{gap:18px}.board-shell{border-radius:13px}.three-canvas{aspect-ratio:1;height:auto;min-height:0;max-height:none}.board-status{font-size:8px;top:14px;left:16px;right:16px}.board-toolbar{padding:0 14px 13px;font-size:8px}.board-toolbar button{width:44px;height:44px}.board-toolbar>div{gap:4px}.lesson-panel{border-radius:13px;padding:23px 20px}.lesson-panel h2{font-size:21px}.lesson-panel>p{font-size:12px}.lesson-panel>.button{margin-top:18px}.quiz h2{font-size:20px}.answer{padding:13px 12px;font-size:12px}.quiz-workspace{margin-top:20px;padding:23px 20px}.practice-feature{align-items:flex-start;gap:13px;padding:20px}.practice-feature .icon-square{width:42px;height:42px}.practice-feature>div:nth-child(2){flex:1;min-width:220px}.practice-feature h2{font-size:18px}.practice-feature p{font-size:11px}.practice-feature>.button{width:100%;margin:3px 0 0}.exam-grid{grid-template-columns:1fr;gap:11px}.exam-card{padding:19px}.exam-card h3{font-size:14px}.exam-card p{font-size:10px}.practice-topics{gap:8px}.practice-topics>button{padding:10px 12px;font-size:10px}.opening-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.opening-preview{min-height:155px;padding:13px}.opening-preview .mini-board{width:124px;height:124px}.opening-number{font-size:9px;top:9px;left:10px}.opening-description{padding:15px 13px}.opening-description>.eyebrow{letter-spacing:.5px;font-size:7px}.opening-description h2{font-size:18px}.opening-description .title-row{gap:5px;margin:6px 0 8px}.opening-description .title-row>svg{width:17px}.opening-description p{min-height:71px;font-size:10px;line-height:1.85}.opening-description .pill{margin-top:12px;font-size:8px}.notice{padding:16px 18px;font-size:11px}.notice span{font-size:10px}.settings-card{padding:22px 20px}.section-heading{gap:11px}.section-heading h2{font-size:18px}.section-heading p{font-size:10px}.section-heading>.pill{margin-left:0;font-size:8px}.privacy-note{gap:10px;padding:14px}.privacy-note p{font-size:10px}.privacy-note>svg{width:19px}.settings-layout{gap:20px}.settings-side{grid-template-columns:1fr}.settings-side .local-note{grid-column:auto}.field{font-size:11px}.field>input,.field>select{font-size:12px}.form-grid{gap:15px}.settings-card .button-row{flex-wrap:wrap;gap:8px}.settings-card .button{padding:11px 13px;font-size:11px}.setup-card{padding:24px 21px}.segmented>button{padding:14px 5px;font-size:18px}.segmented>button>span{font-size:9px}.opponent-options>button{padding:17px 13px}.opponent-options strong{font-size:11px}.opponent-options small,.form-help{font-size:9px}.players{padding-bottom:18px}.players>div>.stone-dot{width:26px;height:26px}.game-stats{padding:18px 0}.game-stats strong{font-size:22px}.play-page .page-heading{margin-bottom:18px}.play-page .page-heading>.button{min-height:38px;padding:9px 12px}.record-row{gap:15px;padding:17px}.record-row .mini-board{width:75px;height:75px}.record-row h3{font-size:14px}.record-row p{font-size:10px}.record-actions{justify-content:flex-end;width:100%;margin-top:4px}.record-actions .button{flex:1;font-size:11px}.flat-board{margin:46px 25px 24px;padding:17px}.toast{width:max-content;max-width:calc(100vw - 30px);padding:13px 15px;font-size:11px;bottom:87px;left:50%}.modal{padding:27px 23px}.playback>button{width:44px;height:44px}.modal h2{font-size:22px}.result-card h2{font-size:43px}.empty-state h2{font-size:21px}}.variation-controls .button-row{flex-wrap:wrap}.variation-controls .button{white-space:normal;min-width:120px}.demo-controls+input[type=range]{margin-top:14px}.coach-question{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.coach-question textarea{resize:vertical;width:100%;min-height:82px;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:12px;line-height:1.8}.coach-question .button{margin-top:12px}.advice-text{white-space:pre-wrap;color:inherit;overflow-wrap:anywhere;margin-top:9px;font-size:12px}.update-notice{bottom:86px}.board-loupe{pointer-events:none;background:#fffdf5eb;border:1px solid #fff;border-radius:10px;align-items:center;gap:8px;padding:9px;display:flex;position:absolute;bottom:58px;left:16px;box-shadow:0 4px 20px #14281b12}.board-loupe>span{color:#34553d;padding-right:4px;font-size:13px}.board-loupe small{color:#86957b;margin-top:5px;font-size:8px;display:block}.board-shell{border:1px solid #fff3;box-shadow:0 24px 64px #213b2920,inset 0 1px #fff8}.board-shell.scene-bamboo{background:#a2b298}.board-shell.scene-room{background:#a1937e}.board-shell.scene-night{background:#25353f}.board-shell.scene-night .board-status,.board-shell.scene-night .board-toolbar{color:#dce7e9}.board-status{color:#304c3e;background:#ffffffd9;border-radius:8px;gap:24px;width:fit-content;padding:8px 11px}.board-shell.scene-night .board-status{background:#1e303de0}.board-appearance{gap:6px;display:flex}.board-appearance select{color:#304238;background:#fffdf4ee;max-width:86px;padding:5px 8px;font-size:11px}.hero-board .board-shell{box-shadow:none;border:0;border-radius:0}.hero .hero-copy{padding-left:38px}.hero .hero-board{padding-right:0}.hero .hero-board .three-canvas{min-height:400px}.hero .floating-note{box-shadow:0 12px 36px #142e2b30}.hero{box-shadow:0 14px 45px #1939280a}.lesson-view>.coach-inline,.page-enter>.coach-inline{float:right;margin-bottom:10px}.settings-card>.field{margin-top:14px}.challenge-hub,.study-library{margin:28px 0 42px}.challenge-hub .section-title,.study-library .section-title{flex-wrap:wrap;gap:16px}.challenge-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.challenge-card{border:1px solid var(--border);background:var(--panel);text-align:left;border-radius:16px;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.challenge-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 18px 36px #213b2915}.challenge-index{letter-spacing:-3px;color:var(--soft);font-size:52px;font-weight:650;line-height:1;position:absolute;top:9px;right:16px}.challenge-card h3{margin:18px 0 10px;font-size:21px}.challenge-card p{min-height:68px;font-size:12px}.challenge-card>div{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding-top:16px;font-size:11px;display:flex}.challenge-card strong{color:var(--accent);align-items:center;gap:8px;display:flex}.challenge-stats{color:var(--muted);flex-wrap:wrap;gap:14px;margin:22px 0;font-size:12px;display:flex}.challenge-result{background:var(--panel);border:1px solid var(--border);border-radius:20px;flex-direction:column;align-items:flex-start;gap:18px;padding:48px;display:flex}.challenge-result>svg{color:var(--accent)}.challenge-result>strong{color:var(--accent);letter-spacing:-4px;font-size:72px;line-height:1}.challenge-result>strong small{letter-spacing:0;color:var(--muted);font-size:21px}.urgent{color:#b54933}.study-filters{flex-direction:column;gap:18px;margin:18px 0;display:flex}.study-filters>input{max-width:440px}.study-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.study-card{text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:16px;grid-template-columns:124px minmax(0,1fr) 22px;align-items:center;gap:20px;padding:20px;transition:transform .2s,border-color .2s;display:grid}.study-card:hover{border-color:var(--accent);transform:translateY(-3px)}.study-card>svg:first-child{width:100%;height:auto}.study-card h3{margin:8px 0}.study-card p{font-size:12px}.study-card small,.study-origin{color:var(--muted);margin-top:12px;font-size:11px;display:block}.study-source-note{margin-top:20px;font-size:12px}.study-comment{white-space:pre-wrap;margin:16px 0 22px}.study-branches{flex-direction:column;gap:8px;margin:20px 0;display:flex}.study-questions{background:var(--soft);border-radius:12px;margin:24px 0;padding:18px}.study-questions p{margin-top:8px;font-size:12px}.archive-panel .full{margin-top:12px}.archive-panel .check-label{margin:16px 0 8px}.archive-key-note{font-size:11px}.archive-upload{cursor:pointer;position:relative}.archive-upload input[type=file]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.archive-upload:focus-within{outline-offset:3px;outline:3px solid #70ae8b}.archive-preview{background:var(--soft);border-radius:12px;margin-top:16px;padding:18px}.archive-preview p{margin-top:8px;font-size:12px}.archive-status{margin-top:14px;font-size:12px}.coach-launch{z-index:42;color:#f6fff9;background:#174f3e;border:1px solid #81b09b66;border-radius:14px;align-items:center;gap:10px;padding:14px 19px;transition:transform .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #142e2b35}.coach-launch:hover{transform:translateY(-3px)}.coach-launch span{text-align:left;font-size:13px;font-weight:600}.coach-launch small{color:#b8d6c6;text-overflow:ellipsis;white-space:nowrap;max-width:170px;margin-top:4px;font-size:9px;font-weight:400;display:block;overflow:hidden}.coach-drawer{background:var(--panel);width:min(440px,100vw - 32px);height:min(760px,100dvh - 48px);color:var(--ink);z-index:44;border:1px solid var(--border);border-radius:18px;flex-direction:column;animation:.25s ease-out coach-enter;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 24px 90px #142e2b50}@keyframes coach-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.coach-drawer>header{color:#f5fff7;background:#174f3e;align-items:center;gap:12px;padding:20px;display:flex}.coach-drawer>header>div{flex:1}.coach-drawer>header small{color:#bcd6c8;margin-top:5px;font-size:10px;display:block}.coach-drawer>header .icon-button{color:#fff}.coach-context{background:var(--soft);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;font-size:11px;display:flex}.coach-context>span,.coach-context small{color:var(--muted)}.coach-context strong{flex:1;font-size:12px}.coach-messages{overscroll-behavior:contain;flex:1;min-height:0;padding:20px;overflow-y:auto}.coach-welcome{padding:8px 0 20px}.coach-welcome p{margin:12px 0;font-size:12px}.coach-message{background:var(--soft);overflow-wrap:anywhere;border-radius:12px;margin:0 0 16px;padding:14px 16px}.coach-message.user{background:var(--bg);border:1px solid var(--border);margin-left:36px}.coach-message small{color:var(--muted);margin-bottom:8px;font-size:9px;display:block}.coach-message p{color:var(--ink);white-space:pre-wrap;font-size:13px;line-height:1.8}.coach-message .text-button{margin-top:10px;font-size:10px}.coach-thinking{align-items:center;gap:8px;font-size:12px;display:flex}.coach-compose{border-top:1px solid var(--border);padding:16px 20px 20px}.coach-prompts{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.coach-prompts button{background:var(--soft);color:var(--accent);border-radius:6px;padding:6px 9px;font-size:10px}.coach-compose textarea{resize:vertical;width:100%;min-height:66px;max-height:150px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px;font-size:13px}.coach-compose .button-row{justify-content:space-between;margin-top:10px}.coach-compose .button{padding:10px 16px;font-size:12px}.coach-error{color:#b54933;margin-top:8px;font-size:11px}@media (width<=1100px){.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.study-grid{grid-template-columns:1fr}}@media (width<=700px){.challenge-grid{grid-template-columns:1fr}.challenge-card{padding:20px}.challenge-card p{min-height:0}.challenge-result{padding:28px}.study-card{grid-template-columns:88px minmax(0,1fr) 16px;gap:12px;padding:16px}.study-card h3{font-size:15px}.study-card p{font-size:11px}.coach-launch{padding:11px 14px;bottom:83px;right:14px}.coach-drawer{width:calc(100vw - 16px);height:calc(100dvh - 96px);bottom:76px;right:8px}.coach-drawer>header{padding:15px}.board-toolbar{flex-wrap:wrap}.hero .hero-copy{padding-left:24px}.hero .hero-board .three-canvas{min-height:280px}}@media (prefers-reduced-motion:reduce){.coach-drawer{animation:none}.challenge-card:hover,.study-card:hover,.coach-launch:hover{transform:none}}:root[data-motion=reduced] .coach-drawer{animation:none}:root[data-motion=reduced] .challenge-card,:root[data-motion=reduced] .study-card{transition:none}.flat-board .intersection span{color:#f8fffa;place-items:center;font-size:12px;font-weight:600;display:grid}.flat-board .intersection.stone-2 span{color:#163c30}.material-walnut .flat-board{background-color:#a38462}.material-slate .flat-board{background-color:#abb7b7}.study-card h3,.page-heading h1{overflow-wrap:anywhere}
