@font-face{font-family:Nunito;src:url(assets/nunito.ttf) format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f7f8f2;color:#223e32;font-family:Nunito,'Arial Rounded MT Bold',Arial,sans-serif;font-size:15px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e79c32;outline-offset:4px}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #e5e9dd;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900;line-height:1.4}.brand small{display:block;font-size:7px;letter-spacing:1.1px}.brand-icon{font-size:31px;color:#2c6249;letter-spacing:-4px;padding-right:4px}.side-label{font-size:10px;letter-spacing:1.5px;color:#91a094;margin:53px 10px 15px;font-weight:900}.nav{background:none;border:0;padding:15px 14px;text-align:left;border-radius:12px;color:#6b7e70;font-weight:800;margin-bottom:7px;white-space:nowrap}.nav.active{background:#edf4df;color:#406c26}.side-bottom{margin-top:auto;background:#f6f7ef;padding:22px 18px;border-radius:18px}.side-bottom strong{font-size:18px;line-height:1.4}.side-bottom p{font-size:12px;color:#7b877d;line-height:1.6}.mini-knight{font-size:44px;color:#77a139}.course-tag{font-size:8px;letter-spacing:1px;color:#718363}.shell{margin-left:236px}header{height:88px;border-bottom:1px solid #e6eadf;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px;background:#fff}.header-label{font-weight:900;letter-spacing:1.5px;font-size:10px}.header-divider{padding:0 16px;color:#bdc5b8}.header-right{display:flex;align-items:center;gap:22px;font-weight:800}.header-right>span:first-child{color:#728645}.avatar{background:#f7e8b6;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:25px}main{max-width:1320px;margin:auto;padding:35px 42px 20px}h1,h2,h3,p{margin-top:0}h1{font-size:38px;letter-spacing:-1.3px;line-height:1.15;margin-bottom:14px}h2{font-size:25px;letter-spacing:-.6px}p{line-height:1.6}.eyebrow{font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.hero{background:#214e3d;color:white;border-radius:24px;padding:35px 34px;position:relative;min-height:286px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-copy{position:relative;z-index:1;max-width:57%}.hero .eyebrow{color:#c6df94;margin-bottom:15px}.hero p{font-size:14px;color:#d1dfd3;margin-bottom:22px;max-width:380px}.hero h1 span{color:#d7eb9a}.hero-art{position:absolute;right:0;top:0;height:100%;width:36%;background:#9bcc31;overflow:hidden;border-radius:110px 0 0 110px}.hero-art img{position:absolute;width:150%;max-width:none;left:-27%;top:-102%;}.hero-art::after{content:'';position:absolute;inset:0;box-shadow:inset 20px 0 30px #214e3d15}.primary{background:#d7ec9b;border:0;border-bottom:3px solid #a9c66e;color:#294322;padding:13px 22px;border-radius:11px;font-weight:900;display:inline-flex;gap:22px;align-items:center}.primary:hover{background:#e5f5b8}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 32px}.stat{background:white;border:1px solid #e6eadd;border-radius:15px;padding:17px 21px;display:flex;align-items:center;gap:16px}.stat-icon{height:42px;width:42px;display:grid;place-items:center;background:#f1f5e5;color:#79983e;border-radius:12px;font-size:23px}.stat strong{display:block;font-size:19px}.stat small{font-size:11px;color:#839080}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-heading h2{margin:0 0 5px}.muted{color:#80907f;font-size:12px}.pill{background:#edf2e4;border:1px solid #dae4ce;border-radius:25px;padding:7px 12px;font-size:10px;font-weight:900}.month-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:13px;margin-bottom:12px}.month-tab{flex:1;min-width:103px;padding:11px 8px;border:1px solid #e0e5d8;background:white;border-radius:10px;color:#89947f;font-size:12px;font-weight:900}.month-tab.active{background:#2b5843;border-color:#2b5843;color:#fff}.month-heading{display:flex;align-items:center;gap:11px;margin:8px 0 17px}.month-heading h3{font-size:16px;margin:0}.month-heading span{font-size:10px;color:#81916c}.session-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.session-card{background:#fff;border:1px solid #e0e7d8;border-radius:17px;padding:23px;display:flex;gap:18px;text-align:left;color:inherit;position:relative;min-height:160px;transition:transform .15s,box-shadow .15s}.session-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #233c3210;border-color:#a9c17b}.session-card .number{font-size:27px;color:#648b35;background:#f0f5e2;min-width:55px;height:58px;border-radius:13px;display:grid;place-items:center}.session-card h3{font-size:17px;line-height:1.35;margin:7px 15px 13px 0;max-width:270px}.session-card .eyebrow{font-size:9px;color:#90a17d;letter-spacing:1.1px}.card-bottom{font-size:11px;color:#809270;display:flex;gap:14px}.card-arrow{position:absolute;right:22px;bottom:24px;color:#83a050;font-size:18px}.dots{display:flex;gap:4px}.dots i{width:7px;height:7px;border-radius:50%;background:#e5eadc;display:block}.dots i.done{background:#83ad45}.note{display:flex;align-items:center;justify-content:center;gap:10px;color:#81917c;font-size:11px;padding:22px 0 0}footer{padding:25px 42px 30px;color:#97a08f;font-size:10px;display:flex;justify-content:space-between;gap:20px}.back{border:0;background:none;padding:0;margin-bottom:22px;color:#728768;font-size:12px;font-weight:800}.practice-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.practice-heading h1{font-size:29px;margin:8px 0 9px}.practice-layout{display:grid;grid-template-columns:minmax(300px,1.1fr) minmax(250px,.85fr);gap:28px;margin-top:23px}.board-shell{background:#214e3d;padding:16px 20px 12px;border-radius:18px;align-self:start;box-shadow:0 10px 30px #1b402916}.board-top{display:flex;justify-content:space-between;color:#e0ead6;font-size:12px;padding-bottom:13px}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;overflow:hidden;border-radius:5px;touch-action:manipulation}.square{padding:0;position:relative;border:0;border-radius:0;aspect-ratio:1;background:#e9eed6;display:grid;place-items:center}.square.dark{background:#83a477}.square.selected{background:#f5d366}.square.target:after{content:'';position:absolute;width:23%;height:23%;border-radius:50%;background:#264e3860;pointer-events:none}.square.last{box-shadow:inset 0 0 0 4px #e9c653}.piece{font-family:'Arial Unicode MS','Apple Symbols','DejaVu Sans',serif;font-size:clamp(25px,4.8vw,58px);line-height:1;cursor:grab;z-index:1;user-select:none;color:#263b31;text-shadow:0 2px 1px #0002}.piece.white{color:#fffef2;-webkit-text-stroke:1px #334c3e;text-shadow:0 2px 2px #0005}.coord{position:absolute;font-size:10px;font-weight:900;color:#54724b;pointer-events:none}.dark .coord{color:#eff4dc}.coord.rank{left:4px;top:2px}.coord.file{right:4px;bottom:1px}.board-bottom{text-align:center;font-size:10px;color:#d0dfc5;padding-top:12px}.puzzle-card{background:white;border:1px solid #e1e8d8;border-radius:19px;padding:25px}.puzzle-steps{display:flex;gap:9px;margin:17px 0 21px}.step{border:0;background:#f0f3e9;border-radius:50%;height:35px;width:35px;color:#819073;font-size:12px;font-weight:900}.step.current{background:#294f3c;color:white;box-shadow:0 0 0 3px #e3ebd4}.step.solved{background:#dbeab7;color:#426525}.puzzle-card h2{font-size:24px;margin-bottom:10px}.objective{font-size:14px;line-height:1.65;min-height:50px}.feedback{padding:14px 16px;background:#f4f6ed;border-radius:12px;font-size:13px;color:#677b58;line-height:1.6;min-height:74px;margin:19px 0}.feedback.good{background:#e9f5d7;color:#3c6929}.feedback.wrong{background:#fff0db;color:#92612a}.actions{display:flex;gap:9px}.secondary{border:1px solid #dce4d1;background:white;border-radius:10px;padding:10px 15px;font-size:12px;font-weight:900;color:#6e8358}.next{width:100%;justify-content:space-between;margin-top:18px}.buddy-tip{display:flex;gap:13px;align-items:center;margin:19px 0 0;padding:17px;background:#fff4d9;border:1px solid #f1e4bf;border-radius:14px;font-size:12px;color:#84724c;line-height:1.5}.buddy-tip .buddy-face{flex:0 0 50px;height:58px;border-radius:14px;background-image:url(assets/characters.jpeg);background-size:280px;background-position:-153px -153px;background-color:#9bcc31}.lesson{margin-top:19px;background:#edf1e5;border-radius:12px;padding:15px 17px;font-size:12px;line-height:1.7}.lesson summary{font-weight:900;cursor:pointer}.lesson p{margin:12px 0 0}.level{color:#91a66e;font-size:11px}dialog{border:0;border-radius:20px;padding:30px;color:#254332;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#17342788}#promotionChoices{display:flex;gap:12px}#promotionChoices button{font-size:45px;background:#edf2e0;border:0;border-radius:12px;padding:8px 18px}.text-button{border:0;background:none;color:#667954;margin-top:18px}.completion{text-align:center;background:#fff;padding:50px;border-radius:25px;border:1px solid #e0e7d6}.completion .trophy{font-size:70px}.completion h1{margin:16px 0}.completion .primary{margin-top:20px}.storage-warning{background:#fff0da;padding:8px 16px;text-align:center;font-size:12px}
@media(min-width:1500px){.hero-art img{top:-120%}.piece{font-size:62px}}@media(max-width:1050px){.sidebar{width:195px;padding:27px 16px}.shell{margin-left:195px}header{padding:0 25px}main{padding:27px 25px}.hero{padding:28px}.hero-art{width:36%}.hero-art img{width:190%;left:-50%;top:-70%}h1{font-size:32px}.practice-layout{gap:18px;grid-template-columns:minmax(270px,1fr) minmax(230px,.8fr)}.puzzle-card{padding:20px}.stat{padding:13px}.session-card{padding:18px;gap:13px}.session-card h3{font-size:15px}.session-card .number{min-width:42px;font-size:22px}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:16px 20px;border-bottom:1px solid #e3e9d8;flex-direction:row;align-items:center;justify-content:space-between}.side-label,.side-bottom,#practiceNav{display:none}.nav{margin:0;padding:10px}.shell{margin:0}header{height:62px;padding:0 20px}.header-label{display:none}.header-divider{display:none}main{padding:22px 20px}.hero{min-height:255px}.hero-art img{width:165%;left:-34%;top:-91%}.hero-copy{max-width:64%}.hero h1{font-size:30px}.hero p{font-size:12px}.practice-layout{grid-template-columns:1fr 1fr}.piece{font-size:6vw}.stat{gap:10px}.stat-icon{display:none}.stat strong{font-size:17px}.session-card{min-height:160px}footer{padding:22px 20px}.practice-heading h1{font-size:25px}}@media(max-width:620px){.hero{padding:25px;min-height:290px}.hero-copy{max-width:76%}.hero-art{opacity:.38;width:45%}.hero-art img{width:230%;left:-64%;top:-66%}.hero p{max-width:240px}.hero .primary{padding:12px 16px}.stats{gap:9px;margin:15px 0 25px}.stat{padding:12px}.stat small{font-size:10px}.stat strong{font-size:16px}.section-heading h2{font-size:22px}.section-heading .pill{display:none}.session-grid{grid-template-columns:1fr}.session-card{min-height:138px}.session-card h3{max-width:240px}.practice-layout{grid-template-columns:1fr}.piece{font-size:9vw}.practice-heading{display:block}.board-shell{padding:13px 15px 10px}.puzzle-card{padding:23px}.practice-heading h1{font-size:24px}.practice-heading .pill{display:inline-block;margin-top:6px}.puzzle-steps{margin:13px 0 18px}footer{display:block;line-height:1.8}footer span{display:block}.header-right{gap:10px;font-size:10px}.avatar{height:31px;width:31px}.brand{font-size:11px}.brand-icon{font-size:28px}.nav{font-size:11px}.completion{padding:30px 20px}.completion h1{font-size:28px}}
.header-right{gap:9px}.header-right button{font-size:11px;white-space:nowrap}.header-right .secondary{padding:8px 10px}.reward-stat{font:inherit;text-align:left;color:inherit;cursor:pointer}.intro-card{border-color:#b1c878;background:#fbfff2}.board-star{position:absolute;font-size:clamp(22px,3.5vw,42px);color:#ffd149;text-shadow:0 2px 0 #99702a,0 0 10px #fff9;z-index:2;pointer-events:none}.square:has(.board-star) .piece{opacity:.72}.piece.blocker{opacity:.65;cursor:default}.square.marked{background:#efcc62!important;box-shadow:inset 0 0 0 3px #d8a92f}.square-marker{font-size:25px;font-weight:900;color:#5a461b;pointer-events:none}.answer-form{display:flex;flex-wrap:wrap;gap:9px}.answer-form label{flex:1;min-width:75px;font-size:11px}.answer-form .primary{width:100%;justify-content:center;padding:10px}input,select{font:inherit;display:block;width:100%;border:1px solid #cad6bc;border-radius:9px;background:#fff;padding:11px;color:#294832;margin:6px 0 12px}input:focus,select:focus{outline:3px solid #d3e8a4}dialog{max-width:min(450px,calc(100vw - 32px));max-height:90vh;overflow:auto}dialog h2{line-height:1.3}dialog label{font-size:12px;display:block}#authMessage{font-size:12px;line-height:1.5;margin-bottom:15px;color:#915827}#accountDialog .text-button{display:block}#celebration{text-align:center;border:4px solid #d9b853;padding:38px 26px}#celebration h2{font-size:30px}.celebration-stars{font-size:60px;color:#e9b432;letter-spacing:15px;animation:pop .6s ease-out}.reward-points{display:inline-block;background:#e9f4ce;color:#54752a;border-radius:25px;padding:10px 18px;font-size:19px;font-weight:900;margin:0 0 14px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.badge-card{text-align:center;padding:23px 13px;background:#eef0e9;border-radius:17px;color:#87907f}.badge-card.earned{background:#fff6d8;border:1px solid #edda9a;color:#7c6023}.badge-card>div{font-size:42px}.badge-card h3{font-size:16px;margin:10px 0}.badge-card p{font-size:11px;margin:0}.board-top strong{text-transform:capitalize}@keyframes pop{from{transform:scale(.2) rotate(-15deg);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:800px){header{height:auto;min-height:75px;flex-wrap:wrap;gap:10px;padding:12px 20px}.header-right{flex-wrap:wrap}.header-right .secondary{padding:7px 9px}#rewardsNav{display:none}.sidebar .nav{white-space:normal}}@media(max-width:620px){.board-star{font-size:7vw}.header-right{gap:7px}.header-right>span:first-child{margin-right:4px}.piece{font-size:9vw}dialog h2{font-size:25px}.answer-form label{min-width:65px}footer span{font-size:10px}}
.course-switch,.opening-controls{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.opening-heading{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:12px}.opening-heading h1{font-size:28px;margin:0}.opening-layout{display:grid;grid-template-columns:minmax(280px,560px) minmax(240px,1fr);gap:25px}.opening-board{display:grid;grid-template-columns:repeat(8,1fr);width:min(100%,calc(100dvh - 260px));min-width:260px;aspect-ratio:1;border:5px solid #634b37;border-radius:4px;overflow:hidden}.opening-board .square{padding:0;aspect-ratio:1;touch-action:none;background:#f0d9b5}.opening-board .square.dark{background:#b58863}.opening-board .piece{font-size:clamp(26px,3.8vw,52px);user-select:none;pointer-events:none}.opening-board .square.selected{box-shadow:inset 0 0 0 4px #f8da62}.opening-board .coord{pointer-events:none}.opening-layout .puzzle-card{align-self:start}.answer-options{display:grid;gap:12px;margin:24px 0}.answer-options button{text-align:left;padding:16px}.checkpoint{max-width:760px;margin:22px auto}.checkpoint h1{font-size:28px}#fullOpening{margin-top:20px}.session-grid{margin-top:20px}.opening-layout details{margin-top:20px}.sidebar{overflow-y:auto}.sidebar .side-label{margin-top:25px}.sidebar .side-bottom{margin-top:20px}
@media(max-width:800px){.sidebar{flex-wrap:wrap;gap:6px}.sidebar #intermediateNav,.sidebar #openingsNav,.sidebar #certificatesNav{font-size:11px;padding:8px}.opening-layout{grid-template-columns:1fr}.opening-board{margin:auto;width:min(100%,calc(100dvh - 235px))}.opening-heading h1{font-size:23px}.opening-board .piece{font-size:clamp(24px,7vw,46px)}.opening-controls{margin:10px 0}.opening-layout .puzzle-card{padding:20px}.opening-heading{gap:8px}.opening-board .square{min-height:0}}

[hidden]{display:none!important}
.workbook-journey{margin:25px 0 30px}.workbook-cards{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:12px}.workbook-card{display:flex;gap:18px;align-items:center;border:2px solid #dce5d4;border-left:9px solid #66864f;background:#fff;border-radius:10px 20px 20px 10px;padding:24px;text-align:left;color:#284b38;min-height:180px;box-shadow:0 5px 0 #e6ebdd}.workbook-card.active{border-color:#426b36;background:#f2f8df}.workbook-card h3{font-size:26px;margin:5px 0}.workbook-card p{margin:0 0 10px;font-size:13px}.workbook-card small{font-size:10px;letter-spacing:1px}.workbook-number{font-size:32px;font-weight:900;color:#8d9f70}.workbook-arrow{text-align:center;font-size:28px;color:#809963}.workbook-card strong{font-size:13px}#intermediateWorkbook{scroll-margin-top:20px}@media(max-width:620px){.workbook-cards{grid-template-columns:1fr}.workbook-arrow{transform:rotate(90deg)}.workbook-card{min-height:155px;padding:18px}.workbook-card h3{font-size:24px}}
/* Match the original Opening Lab's rounded Nunito typography. */
.opening-heading h1{font-family:Nunito,'Trebuchet MS',sans-serif;font-size:clamp(25px,3vw,36px);font-weight:800;letter-spacing:-1.1px;line-height:1.4}.opening-layout h2{font-weight:800;line-height:1.4}.opening-layout p{font-weight:500;line-height:1.75}.opening-layout button{font-weight:700}.brand-logo{width:180px;max-width:100%;height:auto;display:block;border-radius:8px}.entry-logo{width:200px;max-width:70%;margin:0 auto 24px;display:block;border-radius:10px}.student-entry{max-width:540px;margin:20px auto}.portal-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grant-list{max-height:370px;overflow:auto}.grant-list label{display:flex;gap:10px;align-items:center;font-size:14px}.grant-list input{width:auto}.memberEdit{border-top:1px solid #d9dfd0;padding:18px 0}label{display:block;margin:12px 0}input,select,textarea{font:inherit;max-width:100%;width:100%;padding:10px;border:1px solid #c8d1c0;border-radius:8px}textarea{resize:vertical}.chat-log{max-height:450px;overflow:auto;background:#edf3e5;padding:15px;border-radius:16px;margin:15px 0}.chat-message{background:white;border-radius:12px;padding:12px;margin:12px 12% 12px 0;overflow-wrap:anywhere}.chat-message p{white-space:pre-wrap;margin:8px 0}.chat-message.mine{background:#dce9ac;margin:12px 0 12px 12%}.chat-message small{font-size:11px}.locked-note{color:#7d6540;font-size:12px}@media(max-width:800px){.portal-columns{grid-template-columns:1fr}.brand-logo{width:118px}}

.brand-logo,.entry-logo{filter:grayscale(1) brightness(.8) contrast(12);background:#fff;border-radius:0}.brand,.student-entry{background:#fff}.report-table{width:100%;border-collapse:collapse}.report-table td,.report-table th{text-align:left;padding:10px;border-bottom:1px solid #ddd}.table-scroll{overflow-x:auto}.daily-card{margin:20px 0;padding:22px;background:#fff5ce;border-radius:18px}
#stateCalendar a{display:inline-flex;margin:4px 0 14px}.puzzle-card>p>a.primary{display:inline-flex}.report-table{font-size:14px}.report-table th{white-space:nowrap}
.brand-logo,.entry-logo{clip-path:inset(0 2px 0 0)}

.lichess-ratings{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0}.lichess-ratings article{padding:18px;background:#f3f7e9;border-radius:12px}.lichess-ratings strong{text-transform:capitalize}.lichess-ratings article div{font-size:28px;font-weight:800}.actions a{display:inline-flex;align-items:center}
/* Focused management navigation follows the learner sidebar. */
#managementFolders{margin-top:10px;width:100%}#managementFolders details{margin:12px 0}#managementFolders summary{cursor:pointer;font-size:12px;font-weight:900;letter-spacing:.04em;padding:8px;color:#6e805e}#managementFolders .management-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;background:transparent;color:#45604c;padding:12px 10px 12px 20px;border-radius:10px;text-align:left;font:inherit;font-size:13px;cursor:pointer}#managementFolders .management-link.selected{background:#e7efce;color:#264a34;font-weight:900}#managementFolders .management-link:hover{background:#f0f4e8}#managementFolders .management-link span{background:#fff;border-radius:20px;padding:2px 7px;font-size:11px}.management-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.management-heading h1{margin:0;font-size:32px}.management-page>.puzzle-card{max-width:1100px}.management-filters{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:20px 0}.management-student{border:1px solid #e0e7d8;border-radius:12px;margin:10px 0;background:#fff;overflow:hidden}.management-student>summary{display:flex;align-items:center;gap:20px;cursor:pointer;padding:17px 20px;list-style:none}.management-student>summary:before{content:'▸';color:#718663}.management-student[open]>summary:before{content:'▾'}.management-student>summary>span:first-of-type{flex:1;min-width:0}.management-student small{display:block;font-size:12px;color:#77836e;font-weight:400;overflow-wrap:anywhere}.management-batch{font-size:12px;background:#f1f5e8;border-radius:8px;padding:6px 10px}.management-edit{font-size:12px;color:#69804f}.management-student form{padding:16px 20px;margin:0;border-top:1px solid #e0e7d8}.management-empty{font-size:13px;color:#75866a;padding:20px 0}.management-page .grant-list{max-height:none}@media(max-width:800px){#managementFolders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#managementFolders details{margin:0}.management-heading h1{font-size:25px}.management-filters{grid-template-columns:1fr;gap:0}.management-student>summary{gap:10px;padding:14px}.management-edit{display:none}}

.gift-icon{font-size:2.8rem;display:block;margin-bottom:12px}.gift-card{display:flex;flex-direction:column;gap:8px}.gift-card button{margin-top:auto}.gift-reminder{max-width:480px;text-align:center}.gift-reminder button{margin:6px}.gift-intro{margin-bottom:24px}#giftOffer{display:grid;gap:16px;margin-top:20px}#giftOffer label{display:grid;gap:6px}
.chapter-tile{display:flex;flex-direction:column;gap:8px;min-width:0}.chapter-tile>.session-card{width:100%;height:100%}.chapter-learn{align-self:flex-start;padding:9px 20px}.learn-dialog{max-width:620px;width:calc(100% - 32px)}.learn-dialog ul{padding-left:24px;line-height:1.75}.learn-dialog li{margin:12px 0}.learn-dialog h2{font-size:clamp(24px,4vw,34px)}

/* Shared learning-board appearance for Opening Lab and workbook sequences. */
.opening-board{border:0;border-radius:5px;outline:14px solid #214e3d;margin:16px}.opening-board .square{background:#e9eed6}.opening-board .square.dark{background:#83a477}.opening-board .square.selected{background:#f5d366}.opening-board .piece{font-size:clamp(25px,4.8vw,58px)}.chapter-learn{width:100%;justify-content:center;margin:0 0 10px;font-size:17px;padding:15px}.learn-banner{display:flex;width:100%;justify-content:center;margin:14px 0 22px;padding:17px;font-size:18px}.chapter-tile{display:flex;flex-direction:column}.chapter-tile>.session-card{flex:1}
.board{container-type:inline-size}.board .piece{font-size:10cqw}.opening-board{width:min(calc(100% - 32px),calc(100dvh - 260px));min-width:180px}
.certificate-card>div{width:100%}
.certificate-lock{display:block;font-size:1.8rem;margin-bottom:.5rem}
.certificate-unlock{display:block;width:100%;padding:14px 18px;border:1px solid #7b9876;border-radius:14px;text-align:center;font:inherit;font-weight:900;color:#183f2d;background:linear-gradient(to right,#94cf70 0%,#94cf70 var(--certificate-progress),#e0e4df var(--certificate-progress),#e0e4df 100%);text-decoration:none}
.certificate-unlock:disabled{opacity:1;cursor:not-allowed;color:#294535}
.message-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;border-radius:50%;padding:0 5px;margin-left:7px;background:#287344;color:#fff;font-size:12px;font-weight:900;vertical-align:middle}
.message-count[hidden]{display:none}
.batch-inbox{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:20px;align-items:start}
.batch-contacts,.batch-conversation{background:#fff;border:1px solid #dce5d2;border-radius:18px;padding:20px;min-width:0}
.batch-contacts h2{font-size:20px}.batch-peer{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:10px;background:#f3f6ed;padding:13px 10px;margin:7px 0;text-align:left;color:#244c37;font-weight:800;overflow-wrap:anywhere}.batch-peer.selected{background:#dceebf;box-shadow:inset 3px 0 #487d32}
.batch-conversation .chat-log{max-height:44vh;overflow:auto;overscroll-behavior:contain}.batch-conversation textarea{width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #b8c7ad;border-radius:10px;resize:vertical;margin:8px 0}.batch-conversation .chat-message p{white-space:pre-wrap;overflow-wrap:anywhere}.batch-conversation .actions{flex-wrap:wrap}
@media(max-width:700px){.batch-inbox{grid-template-columns:1fr}.batch-contacts{padding:14px}#batchContacts{display:flex;gap:8px;overflow-x:auto}.batch-peer{min-width:135px;width:auto;flex-shrink:0}.batch-conversation{padding:16px}}
