:root{--ink:#26372e;--muted:#798179;--green:#365b44;--lime:#e2ebbc;--line:#e7e9e1;--paper:#f7f8f2}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #86a663}a{color:inherit;text-decoration:none}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #dce0d6;border-radius:9px;max-width:100%;padding:11px}input:focus,select:focus,textarea:focus{outline:2px solid #92aa79}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{letter-spacing:-1.6px;font-size:37px;font-weight:750;line-height:1.2}h1>span{color:#92a66a}h2{letter-spacing:-.5px;font-size:19px;font-weight:750}h3{font-size:17px;font-weight:700}p{color:var(--muted);line-height:1.6}small{color:var(--muted);font-size:11px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:24px;max-width:1320px;height:84px;margin:auto;padding:0 48px;display:flex}.brand{letter-spacing:-1.6px;align-items:center;font-family:Manrope,sans-serif;font-size:30px;font-weight:800;display:flex}.brandicon{background:var(--green);color:#f1f3de;border-radius:11px;place-items:center;width:39px;height:39px;margin-right:10px;display:grid}.branddot{color:#91a76d}.classpill{border:1px solid var(--line);background:#fff;border-radius:25px;align-items:center;gap:10px;margin-left:auto;padding:10px 15px;font-size:12px;display:flex}.greendot{background:#6b8d63;border-radius:100%;flex-shrink:0;width:7px;height:7px;display:inline-block}.divider{color:#d9ddd3;margin:0 2px}.iconbutton{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.iconbutton:hover{background:#eff1e9}main{max-width:1320px;margin:auto;padding:37px 48px 0}.intro{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.eyebrow{letter-spacing:1.5px;color:#7c8a70;margin-bottom:9px;font-size:10px;font-weight:700}.intro p{margin-top:11px;font-size:14px}.date{color:#707c71;text-transform:capitalize;align-items:center;gap:10px;padding-top:22px;font-size:12px;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.sectionhead{justify-content:space-between;align-items:center;gap:15px;display:flex}.schedule>.sectionhead{padding:22px 25px 17px}.heading{align-items:center;gap:13px;display:flex}.heading h2{font-size:17px}.heading p{margin-top:4px;font-size:12px}.softicon{color:#65764d;background:#f2f4e9;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.textbutton{color:#597146;align-items:center;gap:7px;padding:7px 0;font-size:12px;font-weight:600;display:inline-flex}.schedulebody{grid-template-columns:1fr 245px;gap:25px;padding:0 24px 23px;display:grid}.tablewrap{overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;text-align:center;width:100%;font-size:11px}th{color:#7e867c;font-weight:500}thead th{height:38px}thead th button{width:100%;font-size:11px;font-weight:600}tbody td{padding:5px}tbody th{width:48px;padding:6px 0;line-height:1.2}tbody th span{color:#53624f;font-size:12px}tbody th small{margin-top:2px;font-size:9px;display:block}.timehead{letter-spacing:1px;width:48px;font-size:9px}.lesson{border-radius:6px;justify-content:center;align-items:center;min-height:35px;padding:5px;font-size:10px;font-weight:550;line-height:1.2;display:flex}.focusday{background:#f6f8ef}.tinybadge{letter-spacing:1px;color:#799352;margin-top:2px;font-size:6px;display:block}.emptylesson{color:#cbd2c4}.tone0{color:#826b9b;background:#f0eaf7}.tone1{color:#597ea6;background:#e8eef9}.tone2{color:#a1844e;background:#f9eedb}.tone3{color:#b17b68;background:#f8eae5}.tone4{color:#7a9154;background:#e8f0df}.tone5{color:#588879;background:#e4f1ed}.setupnote{color:#8b9384;padding:12px 0 0;font-size:11px}.setupnote button{color:#567747;text-decoration:underline}.bag{background:#f1f4e5;border-radius:12px;flex-direction:column;padding:19px 18px;display:flex}.bagtop{color:#6e8156;align-items:center;gap:10px;margin-bottom:13px;display:flex}.bagtop span{letter-spacing:1.2px;font-size:8px}.bag h3{letter-spacing:-.5px;font-size:17px}.bag>p{margin-top:5px;font-size:11px}.bagitems{padding:12px 0}.bagitems label{align-items:center;gap:9px;margin-bottom:9px;font-size:12px;display:flex}.bagitems input{accent-color:#5b7642;width:15px;height:15px;margin:0}.checked{opacity:.6;text-decoration:line-through}.bagempty{font-size:12px}.bagfooter{color:#869473;border-top:1px solid #dce4c9;justify-content:space-between;margin-top:auto;padding-top:12px;font-size:9px;display:flex}.bagfooter span{color:#758e4f}.tabs{gap:12px;padding:27px 0 29px;display:flex}.tabs>button{border:1px solid var(--line);text-align:left;color:#7b8377;background:#fff;border-radius:12px;flex:1;align-items:center;gap:12px;padding:18px 21px;font-size:14px;font-weight:600;display:flex}.tabs>button.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 4px 8px #365b4410}.count{color:#7f8978;background:#f0f2eb;border-radius:6px;justify-content:center;align-items:center;min-width:21px;height:20px;font-size:10px;display:inline-flex}.active .count{color:#ecf0e4;background:#ffffff20}.tabarrow{margin-left:auto}.tabtitle{margin-bottom:22px}.tabtitle h2{letter-spacing:-.8px;font-size:24px}.primary{background:var(--green);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px 17px;font-size:12px;font-weight:600;display:inline-flex}.primary:hover{background:#294832}.homegrid{grid-template-columns:1.08fr 1fr;gap:21px;display:grid}.calhead{justify-content:space-between;align-items:center;padding:22px 23px;display:flex}.calhead h3{text-transform:capitalize}.calhead>div{align-items:center;gap:10px;display:flex}.calhead>div:has(.eyebrow){display:block}.calhead .eyebrow{font-size:9px}.weeklabels{text-align:center;color:#939b8a;grid-template-columns:repeat(7,1fr);padding:6px 20px 12px;font-size:9px;display:grid}.calendar{grid-template-columns:repeat(7,1fr);gap:3px;padding:0 20px 18px;display:grid}.calendar button{border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:43px;font-size:12px;display:flex;position:relative}.calendar button:hover{background:#f0f3e7}.calendar button.muted{color:#cbd0c4}.calendar button.today{color:#4a733e;background:#f0f3e6;font-weight:700}.calendar button.selected{background:var(--green);color:#fff}.dots{gap:3px;height:4px;display:flex}.dot{background:#87a476;border-radius:50%;width:4px;height:4px;display:inline-block}.calendarlegend{border-top:1px solid var(--line);color:#99a18f;justify-content:space-between;padding:14px 23px;font-size:10px;display:flex}.calendarlegend span{align-items:center;gap:6px;display:flex}.daypanel{flex-direction:column;display:flex}.roundcount{color:#8a927e;background:#f3f4ec;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:200px;padding:32px 25px;display:flex}.emptyicon{color:#819364;background:#f1f4e8;border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.empty h3{margin:15px 0 7px;font-size:16px}.empty p{max-width:270px;font-size:12px}.empty .textbutton{margin-top:12px}.manualnote{border-top:1px solid var(--line);background:#fafbf6;gap:10px;margin-top:auto;padding:16px 23px;display:flex}.manualnote .greendot{background:#a7b38f;margin-top:5px}.manualnote b{color:#79846c;font-size:10px;font-weight:500}.manualnote p{color:#9da590;max-width:340px;margin-top:3px;font-size:10px;line-height:1.5}.task{border-top:1px solid #f0f2e9;gap:12px;padding:17px 23px;display:flex}.checkbox{border:1px solid #cdd6c3;border-radius:5px;flex-shrink:0;place-items:center;width:19px;height:19px;margin-top:4px;display:grid}.completed .checkbox{color:#fff;background:#6d8651}.completed p{opacity:.5;text-decoration:line-through}.task p{color:#65705c;white-space:pre-wrap;margin:8px 0 4px;font-size:12px}.subject{border-radius:5px;padding:4px 8px;font-size:9px;display:inline-block}.taskactions{gap:12px;margin-top:7px;display:flex}.taskactions button{color:#929c87;padding:0;font-size:10px}.bottomgrid{grid-template-columns:1.08fr 1fr;gap:21px;margin-top:21px;display:grid}.next{padding:22px 23px}.next h3{justify-content:space-between;font-size:15px;display:flex}.next>p{padding-top:25px;padding-bottom:25px;font-size:12px}.next>button{text-align:left;align-items:center;gap:14px;width:100%;margin-top:17px;padding:0;display:flex}.next>button>span:nth-child(2){flex:1;min-width:0}.next b{font-size:12px;font-weight:500}.next small{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;display:block;overflow:hidden}.nextdate{text-align:center;background:#f5f6ef;border-radius:8px;width:37px;padding:7px;font-size:17px;font-weight:600}.nextdate small{margin-top:0;font-size:9px;font-weight:400}.tip{background:#e8edda;border:1px solid #e3e9d6;border-radius:16px;padding:25px 28px;position:relative;overflow:hidden}.tip .eyebrow{letter-spacing:1px;font-size:8px}.tip h3{letter-spacing:-.6px;margin:12px 0;font-size:21px;line-height:1.35}.tip p{color:#869375;font-size:11px}.tip>svg{color:#a8b58e;position:absolute;bottom:27px;right:35px;transform:rotate(12deg)}footer{border-top:1px solid var(--line);color:#a4ab9a;align-items:center;gap:17px;margin-top:38px;padding:28px 0;font-size:10px;display:flex}footer .brand{color:#718060;font-size:23px}footer>span:last-child{align-items:center;gap:8px;margin-left:auto;display:flex}.lightpill{color:#7d8e65;background:#ebefdf;border-radius:20px;padding:8px 12px;font-size:11px}.subjectnav{gap:8px;margin-bottom:20px;padding-bottom:3px;display:flex;overflow:auto}.subjectnav button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px;font-size:12px}.subjectnav button.active{color:#506c35;background:#e3ebd0;border-color:#c9d8ac}.drawgrid{grid-template-columns:330px 1fr;gap:22px;display:grid}.drawcontrols{padding:25px}.drawcontrols>p{margin:7px 0 20px;font-size:12px}form>label{flex-direction:column;gap:8px;margin:16px 0;font-size:12px;font-weight:500;display:flex}form>label textarea{resize:vertical;min-height:100px}.drawcontrols .sectionhead{margin-top:22px;font-size:12px}.numbers{grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0;display:grid}.numbers button{color:#657c48;background:#eff4e4;border:1px solid #cddab8;border-radius:7px;height:35px;font-size:12px}.numbers button.excluded{color:#b8b8b8;background:#fafafa;border-color:#eee;text-decoration:line-through}.wide{width:100%;margin-top:17px}.results>.empty{min-height:330px}.drawresult{border-top:1px solid var(--line);padding:16px 23px}.drawresult .sectionhead b{font-size:11px}.groups{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.group{background:#f6f8f0;border:1px solid #edf0e4;border-radius:10px;padding:13px}.group>span{letter-spacing:1px;color:#8c9a78;font-size:8px}.group>div{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.group b{background:#e6edda;border-radius:6px;padding:7px 9px;font-size:14px;font-weight:600}.filetoolbar{justify-content:space-between;gap:15px;padding:20px;display:flex}.search{color:#8d997d;background:#f7f8f3;border-radius:8px;flex:1;align-items:center;gap:10px;max-width:350px;padding-left:12px;display:flex}.search input{background:0 0;border:none;width:100%}.filetoolbar select{font-size:12px}.fileempty{min-height:290px}.filefooter{border-top:1px solid var(--line);color:#9ba58c;padding:16px 22px;font-size:11px}.filerow{border-top:1px solid var(--line);align-items:center;gap:16px;padding:17px 22px;display:flex}.filerow>div{flex:1;min-width:0}.filerow b{overflow-wrap:anywhere;font-size:13px;font-weight:500;display:block}.filerow small{margin-top:5px;display:block}.filerow .emptyicon{width:42px;height:42px}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#18271966;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:480px;max-height:90dvh;padding:27px;overflow:auto;box-shadow:0 20px 80px #18271930}.modal.large{width:940px}.modal h2{font-size:20px}.modal .hint{font-size:11px}.edittable{min-width:750px}.edittable td{padding:4px}.edittable input,.edittable select{width:100%;padding:8px 3px;font-size:10px}.edittable th{height:35px}.uploadzone{text-align:center;color:#7f9367;background:#f7f9f0;border:1px dashed #b9c6a7;border-radius:12px;align-items:center;gap:15px;padding:28px 15px;display:flex}.uploadzone span,.uploadzone input{font-size:11px}.toast{color:#fff;z-index:30;background:#304f38;border-radius:12px;max-width:90%;padding:15px 23px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 30px #19352333}.alert{background:#fff0de;border-radius:9px;margin-bottom:20px;padding:14px}.alert button{margin-left:10px;text-decoration:underline}@media (width>=1500px){main{padding-top:45px}.intro{margin-bottom:35px}.schedulebody{gap:30px}.lesson{min-height:38px}.calendar button{height:46px}}@media (width<=1000px){main{padding:28px 24px 0}.topbar{padding:0 24px}.schedulebody{grid-template-columns:1fr 210px;gap:15px;padding:0 16px 17px}.lesson{font-size:9px}.tip>svg{opacity:.4;right:12px}.intro h1{font-size:31px}.date{font-size:10px}.drawgrid{grid-template-columns:290px 1fr}.groups{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.topbar{gap:9px;height:72px;padding:0 18px}.brand{font-size:26px}.brandicon{width:32px;height:32px;margin-right:7px}.classpill{gap:5px;padding:8px 10px;font-size:10px}.classpill .divider{display:none}.topbar>.iconbutton{width:30px}main{padding:25px 16px 0}.intro{margin-bottom:22px;display:block}.intro h1{letter-spacing:-1.1px;font-size:29px}.intro p{font-size:12px}.date{padding-top:15px;font-size:11px}.schedule>.sectionhead{padding:17px 16px}.heading{gap:8px}.heading h2{font-size:14px}.heading p{font-size:10px}.heading .softicon{display:none}.sectionhead .textbutton{font-size:10px}.schedulebody{display:block}.tablewrap table{min-width:540px}.bag{margin-top:17px;padding:15px}.bagtop{margin-bottom:8px}.bag h3{font-size:16px}.bagitems{flex-wrap:wrap;gap:10px;padding:12px 0;display:flex}.bagitems label{margin:0}.bagfooter{font-size:10px}.bagempty{font-size:11px}.tabs{gap:7px;padding:20px 0}.tabs>button{justify-content:center;gap:7px;padding:14px 10px;font-size:11px}.tabs>button svg{width:17px}.tabarrow{display:none}.count{min-width:17px;height:17px;font-size:9px}.tabs button:nth-child(2){flex:1.25}.tabtitle{align-items:flex-end;gap:10px}.tabtitle h2{font-size:21px}.tabtitle .eyebrow{letter-spacing:1px;font-size:8px}.tabtitle .primary{gap:5px;max-width:132px;padding:11px;font-size:10px}.homegrid,.bottomgrid,.drawgrid{grid-template-columns:1fr;gap:15px}.daypanel .empty{min-height:200px}.calendar button{height:42px}.tip{min-height:190px}.tip>svg{opacity:1;right:30px}.bottomgrid{margin-top:15px}.groups{grid-template-columns:repeat(2,1fr)}footer{flex-wrap:wrap;gap:12px;margin-top:25px;padding:22px 0;font-size:9px}footer>span:last-child{width:100%;margin-left:0}.modal{max-height:90dvh;padding:20px}.modal h2{font-size:17px}.overlay{padding:12px}.lightpill{font-size:9px}.filetoolbar{gap:8px;padding:15px}.filetoolbar select{max-width:120px;font-size:10px}.search input{min-width:0;font-size:12px}.filerow{gap:9px;padding:14px}.filerow b{font-size:11px}.filerow small{font-size:9px}.filerow .iconbutton{width:28px}.filerow .emptyicon{width:32px;height:38px}.edittable{min-width:750px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.secondary{color:#4f6f3a;background:#f2f6e9;border:1px solid #c7d3b9;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font-size:12px;font-weight:600;display:inline-flex}.tasktopactions{gap:9px;display:flex}.cvpanel{padding-top:19px}.cvintro{align-items:center;gap:15px;margin-bottom:23px;display:flex}.cvintro p{margin-top:5px;font-size:12px}.cvpanel fieldset{border:0;min-width:0;margin:0;padding:0}.cvfields{grid-template-columns:1fr 1fr;gap:17px;display:grid}.cvpanel label{flex-direction:column;gap:8px;margin:13px 0;font-size:12px;display:flex}.cvpanel summary{cursor:pointer;color:#6c8155;padding:10px 0;font-size:12px}.cvadvanced{background:#f7f9f1;border-radius:9px;margin:5px 0;padding:0 12px}.cvprivacy{background:#f1f5e8;border-radius:10px;gap:10px;margin:15px 0;padding:14px;display:flex}.cvprivacy svg{color:#75895e;flex-shrink:0}.cvprivacy p{font-size:11px}.cv-error{color:#83502b;background:#fff0e5;border:1px solid #ebcdb7;border-radius:9px;margin-top:13px;padding:13px;font-size:12px;line-height:1.7}.cv-error a{text-decoration:underline;display:block}.cvsuccess{color:#57763b;background:#eaf3de;border-radius:10px;align-items:center;gap:12px;margin-bottom:18px;padding:14px;font-size:13px;display:flex}.cvsuccess p{margin-top:4px;font-size:11px}.cvreviewhead{margin:5px 0}.cvreviewhead label{flex-direction:row;align-items:center}.cvreviewhead input{accent-color:#5c7842}.cvlesson{border:1px solid var(--line);border-radius:12px;margin-top:17px;padding:20px}.cvlesson h3{font-size:15px}.cvlesson .eyebrow{font-size:9px;display:block}.cvlesson details>p{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f8f3;border-radius:7px;padding:13px;font-size:12px}.cvlesson textarea{resize:vertical;width:100%;min-height:90px}.cvlesson .primary{margin-top:12px}.cvlesson .lightpill{align-items:center;gap:5px;display:flex}.cvlesson fieldset:disabled{opacity:.65}.cvpanel>.alert{font-size:12px}.cvpanel .hint{font-size:11px}@media (width<=720px){.tasktopactions{flex-direction:column}.tasktopactions .secondary{padding:10px;font-size:10px}.cvfields{grid-template-columns:1fr;gap:0}.cvlesson{padding:14px}.cvreviewhead{align-items:flex-start}.cvreviewhead label{max-width:220px;font-size:11px}.cvintro h3{font-size:15px}.cvintro p{font-size:11px}}.lesson{flex-direction:column;gap:4px;height:100%;min-height:43px}.lesson b{font-size:10px;font-weight:550}.lesson small{color:inherit;opacity:.8;font-size:8px}td[rowspan="2"] .lesson{min-height:96px}.schedule table tbody td{height:53px}.breaknote{color:#7a8963;margin-top:7px;font-size:10px;display:block}.edittable td input{margin-top:4px;font-size:9px}@media (width<=720px){.schedule .tablewrap table{min-width:650px}.lesson b{font-size:9px}.lesson small{font-size:8px}}.pastelabel{flex-direction:column;gap:9px;font-size:12px;display:flex}.pastelabel textarea{resize:vertical;min-height:280px;line-height:1.6}.pastesummary{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.pastesummary>div{background:#f2f6e9;border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex}.pastesummary strong{font-family:Manrope,sans-serif;font-size:23px}.pastesummary span{color:#7e8c6e;font-size:10px}.pastepanel .pastecheck{flex-direction:row;flex:1;align-items:center;gap:12px;margin:0}.pastecheck input{accent-color:#52733e;flex-shrink:0;width:18px;height:18px}.pastecheck h3{font-size:13px}.pastetag{color:#818679;white-space:nowrap;background:#f2f2ee;border-radius:20px;align-items:center;gap:4px;padding:7px 9px;font-size:9px;display:flex}.pastetag.explicit{color:#638143;background:#e8f2da}.pastetag.review{color:#a67b2f;background:#fcf1db}.pastewarning{color:#957039;background:#fff6e6;border-radius:7px;margin:9px 0;padding:10px 12px;font-size:11px;line-height:1.6}.pasteactions{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding:20px 0 6px;display:flex;position:sticky;bottom:-27px}.pasteactions>span{color:#748464;font-size:12px}.importdone{background:#f8faf4}.pastepanel>.sectionhead .textbutton{flex-shrink:0}.pastepanel .hint{font-size:11px}@media (width<=720px){.pastesummary{grid-template-columns:repeat(2,1fr)}.pastecheck h3{font-size:11px}.cvlesson>.sectionhead{flex-wrap:wrap;align-items:flex-start}.pasteactions{bottom:-20px}.pasteactions .primary{font-size:11px}.pastepanel>.sectionhead{flex-direction:column;align-items:flex-start}}.accountbar{background:#e8edda;justify-content:flex-end;align-items:center;gap:15px;padding:8px 24px;font-size:12px;display:flex}.accountbar button{text-decoration:underline}.login{max-width:500px;padding-top:8vh}.login>.card{padding:32px}.login h1{margin-bottom:15px}.login .hint{margin-top:20px;font-size:12px}
