@font-face{font-family:LocalSerif;src:local('Georgia')}*{box-sizing:border-box}html{background:#f7f5ef;color:#252d29;font-family:Arial,sans-serif;line-height:1.6}body{margin:0}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ba7845;outline-offset:4px}.shell{max-width:1500px;margin:auto;display:grid;grid-template-columns:258px 1fr;min-height:100dvh}aside{padding:40px 24px;border-right:1px solid #dedfd4;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font:28px Georgia,serif;line-height:1.1}.brand-icon{display:grid;place-items:center;width:48px;height:50px;background:#254c40;color:#fff;border-radius:13px;font-size:39px}.brand small{display:block;font:10px Arial,sans-serif;margin-top:8px;color:#67756b}.brand span:last-child{white-space:nowrap}nav{display:grid;gap:7px;margin-top:56px}nav a{display:flex;gap:16px;align-items:center;text-decoration:none;padding:12px 15px;border-radius:9px;font-size:14px;color:#626b63}nav a span{font-size:23px;width:24px}nav a.active{background:#e5ebdf;color:#254c40;font-weight:700}.aside-note{margin-top:auto;padding:24px 10px;color:#6f796f;font:18px/1.6 Georgia,serif}.aside-note span{display:block;font:10px Arial,sans-serif;letter-spacing:1px;margin-top:20px}.workspace{min-width:0;padding:0 52px}header{height:95px;border-bottom:1px solid #dedfd4;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.7px;color:#687368}header a{font-size:13px;letter-spacing:0;text-decoration:none}main{max-width:980px;margin:42px auto 70px}footer{border-top:1px solid #dedfd4;padding:20px 0 28px;color:#70796f;font-size:11px}.eyebrow{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:#637568;font-weight:700;margin-bottom:12px}h1,h2,h3,p{margin:0 0 16px}h1{font:46px/1.15 Georgia,serif;letter-spacing:-1.2px}h2{font:29px/1.25 Georgia,serif}h3{font:22px/1.3 Georgia,serif}.muted{color:#697469}.intro{max-width:630px;color:#697469;margin:18px 0 28px}.hero{background:#254c40;color:#f7f3e9;border-radius:16px;padding:36px;display:grid;grid-template-columns:1fr 160px;gap:24px;margin:30px 0}.hero .eyebrow{color:#cad5bb}.hero h2{font-size:36px}.hero p{color:#d0dacd;max-width:440px;font-size:14px}.hero-art{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font:120px Georgia,serif;color:#a8ba91}.hero-art:after{content:'';position:absolute;border:1px solid #758d71;border-radius:100%;width:150px;height:150px}.btn{border:1px solid #254c40;border-radius:8px;background:#254c40;color:#fff;padding:12px 19px;min-height:46px;display:inline-flex;justify-content:center;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:600}.btn.light{background:#ebefdc;color:#254c40;border-color:transparent}.btn.secondary{background:transparent;color:#254c40;border-color:#cdd4c6}.btn.danger{color:#913d30;border-color:#dbbdb3;background:transparent}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{border:1px solid #dcdfd2;background:#fffef9;border-radius:12px;padding:25px}.card h3{margin-bottom:12px}.card p{font-size:14px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:36px 0 18px}.section-head h2{margin:0;font-size:25px}.text-link{font-size:13px;color:#3b604d;text-decoration:none}.stat{font:38px Georgia,serif;display:block;color:#254c40}.note{border-left:3px solid #bf8958;background:#efe9dd;padding:15px 18px;border-radius:0 8px 8px 0;font-size:13px;margin:22px 0}.pill{display:inline-block;border-radius:30px;padding:4px 10px;font:11px Arial,sans-serif;background:#e9eddf;color:#46614a}.pill.pending{background:#eeeae0;color:#756e61}.pill.due{background:#f0e0cb;color:#855c34}.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #e5e6dd}.row:last-child{border:0}.row p{margin:4px 0;font-size:13px;color:#6d766a}.row a{text-decoration:none}.row strong{font-weight:500}.number{font:24px Georgia,serif;color:#88967b;min-width:36px}.row-main{flex:1}details.module{border-bottom:1px solid #dbdfd2;margin:0}summary{cursor:pointer;list-style:none;min-height:64px;padding:19px 0;display:flex;gap:15px;align-items:center}summary::-webkit-details-marker{display:none}summary:after{content:'＋';margin-left:auto;color:#75846e}details[open]>summary:after{content:'−'}.module-title{flex:1;font-size:16px}.module small{display:block;color:#76806f;font-size:12px}.module .topics{padding:0 0 20px 45px}.topic{margin-bottom:15px;font-size:14px}.topic .pill{margin-left:6px}.topic ul{margin:8px 0;color:#727b6b;font-size:12px}.lesson{max-width:690px;margin:auto}.lesson h1{font-size:38px}.lesson-copy{font-size:18px;line-height:1.85}.lesson-copy h2{margin-top:30px}.progress-track{height:4px;border-radius:4px;background:#e2e5d8;margin:24px 0}.progress-track i{display:block;height:100%;background:#67825b;border-radius:4px}.chain{display:grid;gap:10px;margin:24px 0}.chain div{padding:15px 18px;border:1px solid #d7decd;border-radius:10px}.chain small{display:block;text-transform:uppercase;letter-spacing:1px;font-size:10px;color:#6a795e}.chain div+div:before{content:'↓';display:block;color:#8b9b7c}.question{font-size:22px;line-height:1.45;margin:26px 0}.options{display:grid;gap:11px}.option{text-align:left;background:#fffef9;border:1px solid #cdd5c4;padding:15px 17px;border-radius:9px;min-height:52px;color:#303c30}.option.selected{background:#e4ebdb;border:2px solid #4e704a;padding:14px 16px}.feedback{margin-top:24px;background:#e9efdf;border:1px solid #cdd9bd;padding:22px;border-radius:10px}.feedback.wrong{background:#f3e8db;border-color:#dec9b0}.feedback h3{font-size:22px}.feedback p{margin-bottom:8px}.recall{width:100%;min-height:150px;border:1px solid #c8d2bf;border-radius:8px;padding:16px;background:#fffef9;resize:vertical}label{display:block;margin-bottom:8px}.source-list{font-size:12px;color:#67705f;overflow-wrap:anywhere}.source-list li{margin-bottom:12px}.timeline{border-left:2px solid #c8d2ba;padding-left:25px;margin:30px 0}.timeline article{position:relative;margin-bottom:30px}.timeline article:before{position:absolute;content:'';left:-31px;top:8px;width:9px;height:9px;background:#66815a;border-radius:50%}.timeline strong{font:23px Georgia,serif}.empty{padding:30px 0;color:#65705e}input[type=search]{width:100%;padding:13px;border:1px solid #cbd3c0;border-radius:8px;background:#fffef9}#notice:not(:empty){position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#253e30;color:white;padding:14px 22px;border-radius:8px;z-index:5;max-width:90vw}.review-item{display:block;text-decoration:none}.skill{font-size:12px;color:#67815c}button.link{background:none;border:0;text-decoration:underline;color:#3f654b;min-height:44px}dl{margin:20px 0}dt{font-weight:bold;margin-top:20px}dd{margin:5px 0;color:#66705e}.checklist{padding-left:20px}.checklist li{margin-bottom:10px}@media(min-width:1200px){main{margin-top:52px}}@media(max-width:950px){.shell{grid-template-columns:210px 1fr}.workspace{padding:0 28px}aside{padding:30px 14px}.brand{font-size:24px}.brand small{font-size:8px}h1{font-size:40px}.hero{padding:26px;grid-template-columns:1fr 90px}.hero-art{font-size:80px}.hero-art:after{width:100px;height:100px}}@media(max-width:700px){.shell{display:block}aside{height:auto;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:4;background:#fafbf4;border:0;border-top:1px solid #d9dfcd;padding:4px 5px calc(5px + env(safe-area-inset-bottom))}.brand,.aside-note{display:none}nav{display:flex;justify-content:space-around;margin:0;gap:1px}nav a{flex:1;flex-direction:column;gap:0;font-size:9px;padding:5px 2px;border-radius:7px;min-height:54px}nav a span{font-size:22px;text-align:center}.workspace{padding:0 20px}header{height:62px;letter-spacing:1px;font-size:8px}header a{font-size:12px}main{margin:28px auto 40px}h1{font-size:36px}h2{font-size:27px}.intro{font-size:14px;margin-bottom:22px}.hero{padding:24px;margin-top:24px;grid-template-columns:1fr}.hero h2{font-size:30px}.hero-art{display:none}.grid{grid-template-columns:1fr;gap:14px}.card{padding:21px}.section-head{margin-top:28px}.section-head h2{font-size:24px}.lesson h1{font-size:31px}.lesson-copy{font-size:17px}.module-title{font-size:14px}.module .topics{padding-left:12px}footer{padding-bottom:95px}.actions .btn{flex:1}.question{font-size:20px}.row{flex-wrap:wrap}.row .btn{font-size:12px}#notice:not(:empty){bottom:90px}.hero .actions .btn{flex:none;width:100%}}@media(prefers-reduced-motion:no-preference){main{animation:appear .2s ease-out}@keyframes appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

input[type=file]{max-width:100%;width:100%;font-size:13px} .card{min-width:0;overflow-wrap:anywhere}

.workspace{padding-top:var(--tg-content-top,0px)}@media(max-width:700px){aside{padding-bottom:calc(5px + max(env(safe-area-inset-bottom),var(--tg-content-bottom,0px)))}}
