:root{color:#263b33;font-synthesis:none;background:#f7f8f4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #b99543}input,textarea,select{color:#263b33;background:#fff;border:1px solid #d8dfd6;border-radius:9px;outline:none;width:100%;padding:12px}input:focus,textarea:focus,select:focus{border-color:#426b56;box-shadow:0 0 0 3px #426b5615}textarea{resize:vertical}label{margin:20px 0 8px;font-size:13px;font-weight:600;display:block}label input,label textarea,label select{margin-top:9px;display:block}h1,h2,h3,p{margin:0}small{color:#7b877f;font-size:12px;line-height:1.6}.muted{color:#78857b;line-height:1.8}.eyebrow{letter-spacing:1.8px;color:#78857b;margin-bottom:14px;font-size:11px}.primary{color:#fff;white-space:nowrap;background:#284f40;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:13px 20px;font-weight:600;display:inline-flex}.primary:hover{background:#1c3b2e}.icon{color:#849087;border-radius:7px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon:hover{background:#eaf0e9}.text-button{color:#3f6c50;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.shell{min-height:100vh;display:flex}.sidebar{background:#eef1ea;border-right:1px solid #e2e6df;flex-direction:column;width:230px;padding:36px 23px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;display:flex}.brand-icon{color:#fff;background:#2d5342;border-radius:12px 12px 12px 3px;place-items:center;width:44px;height:48px;display:grid}.brand strong{letter-spacing:2px;font-size:23px;display:block}.brand small{letter-spacing:3px;font-size:9px}.sidebar-note{color:#8a958b;margin:35px 7px 40px;font-family:Georgia,Songti SC,serif;font-size:14px;line-height:1.9}nav{gap:10px;display:grid}nav button{color:#7c887e;border-radius:8px;align-items:center;gap:13px;padding:14px;font-size:14px;font-weight:500;display:flex}nav button.active{color:#2d5540;background:#dce6d9}nav button span{background:#f5f8f1;border-radius:5px;margin-left:auto;padding:2px 6px;font-size:11px}.sidebar-bottom{border-top:1px solid #dbe1d7;align-items:center;gap:10px;margin-top:auto;padding-top:25px;display:flex}.avatar{background:#dbe3d5;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.sidebar-bottom strong{font-size:13px;display:block}.sidebar-bottom .icon{margin-left:auto}.main{flex:1;min-width:0;margin-left:230px}.topbar{color:#8b958d;border-bottom:1px solid #e6eae3;justify-content:space-between;align-items:center;height:77px;padding:0 48px;font-size:12px;display:flex}.topbar>span{align-items:center;gap:13px;display:flex}.sync{color:#728572;align-items:center;gap:7px;font-size:12px;display:flex}.content{max-width:1250px;margin:auto;padding:44px 48px}.heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}h1{letter-spacing:1px;margin-bottom:12px;font-family:Georgia,Songti SC,Noto Serif SC,serif;font-size:31px;font-weight:600}.heading .muted{font-size:13px}.stats{background:#fcfcf8;border:1px solid #e1e6dc;border-radius:12px;grid-template-columns:repeat(3,1fr);margin-bottom:33px;padding:24px 0;display:grid}.stats>div{border-right:1px solid #e5e9df;gap:7px;padding:0 28px;display:grid}.stats>div:last-child{border:0}.stats span{color:#7d887d;font-size:12px}.stats strong{font-family:Georgia,serif;font-size:36px;font-weight:400}.stats .amber{color:#b98139}.task-panel{background:#fff;border:1px solid #e2e7dd;border-radius:12px;overflow:hidden}.panel-head{border-bottom:1px solid #edf0e9;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}h2{font-size:16px;font-weight:600}.filters{background:#f3f5ef;border-radius:7px;gap:4px;padding:3px;display:flex}.filters button{color:#889184;border-radius:5px;padding:7px 12px;font-size:12px}.filters .selected{color:#335640;background:#fff;box-shadow:0 1px 4px #203c3010}.task-row{border-bottom:1px solid #edf0e9;align-items:center;gap:16px;padding:23px 24px;display:flex}.task-row:last-child{border-bottom:0}.task-row:hover{background:#fcfdf9}.check{color:#c4cec0;flex-shrink:0;place-items:center;width:23px;padding:0;display:grid}.check.done{color:#fff;background:#6e8e6b;border-radius:50%;height:22px}.task-body{text-align:left;flex:1;min-width:0;padding:0}.task-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.tag{color:#7e8e7a;background:#f0f2ed;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:400}.tag.teaching{color:#72865c;background:#edf3e7}.tag.classroom{color:#b28e53;background:#fbf2e5}.tag.meeting{color:#678aa0;background:#eaf1f5}.task-notes{color:#9aa194;text-overflow:ellipsis;white-space:nowrap;margin-top:9px;font-size:12px;display:block;overflow:hidden}.task-meta{color:#8e998a;flex-wrap:wrap;gap:20px;margin-top:12px;font-size:11px;display:flex}.task-meta>span{align-items:center;gap:5px;display:flex}.task-meta .overdue{color:#b17f43}.footnote{text-align:center;color:#9da695;margin-top:22px;font-size:11px}.empty{text-align:center;color:#a0ae97;padding:62px 20px}.empty svg{margin-bottom:16px}.empty h3{color:#5c7157;margin-bottom:10px;font-size:17px}.empty p{margin-bottom:18px;font-size:13px}.notice{background:#f4f2e5;border:1px solid #e8e3cd;border-radius:9px;margin:16px 0;padding:14px 16px;font-size:13px;line-height:1.8}.notice p{margin-bottom:8px}.error{color:#9d413a}.notice.error{background:#fff0eb;border-color:#eddbd4}.notification{border-bottom:1px solid #edf0e9;align-items:flex-start;gap:14px;padding:25px;display:flex}.notification:last-child{border:0}.notification h3{margin-bottom:8px;font-size:15px}.notification p{color:#859080;margin-bottom:7px;font-size:13px}.notification .text-button{white-space:nowrap;margin-left:auto}.notification-dot{background:#dce1d8;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:6px}.notification-dot.unread{background:#c59b50}.editor{color:#304637;border:1px solid #dce4d6;border-radius:16px;width:min(540px,100vw - 24px);max-height:90dvh;padding:30px;box-shadow:0 24px 120px #1e32252b}.editor::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c352b55}.editor-head{justify-content:space-between;align-items:center;display:flex}.editor h2{font-size:23px}.editor .eyebrow{margin-bottom:7px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.editor-actions{justify-content:space-between;align-items:center;gap:20px;margin-top:26px;display:flex}.editor-actions .primary{margin-left:auto}.danger{color:#ac5b4b;font-size:13px}.notice pre{white-space:pre-wrap;font-family:inherit;font-size:12px}.loading{place-items:center;min-height:100vh;display:grid}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-story{background:#e8eee2;padding:70px 15%;position:relative;overflow:hidden}.login-story>.eyebrow{margin-top:100px;display:block}.login-story h1{font-size:44px;line-height:1.6}.login-story p{color:#829178;margin-top:24px;font-size:14px;line-height:2}.paper-decoration{color:#87916c;background:#faf9ef;border-left:3px solid #bdc8a5;width:220px;margin:60px auto 0;padding:35px;font-family:Georgia,Songti SC,serif;font-size:20px;line-height:2;transform:rotate(-8deg);box-shadow:0 6px 20px #5260440a}.login-form{width:min(360px,80%);margin:auto}.login-form h2{margin-bottom:14px;font-size:26px}.login-form .primary{width:100%;margin-top:24px;margin-bottom:15px}.login-form>small{text-align:center;display:block}.login-form>.error{margin-top:14px;font-size:13px}@media (width<=900px){.sidebar{width:185px;padding:28px 15px}.main{margin-left:185px}.content{padding:30px 24px}.topbar{padding:0 24px}.heading{align-items:flex-start}h1{font-size:25px}.stats>div{padding:0 18px}.stats small{font-size:10px}.login-story{padding:45px 12%}.login-story h1{font-size:32px}}@media (width<=650px){.shell{display:block}.sidebar{width:100%;padding:20px;display:block;position:static}.sidebar-note,.sidebar-bottom{display:none}.brand strong{font-size:20px}.brand-icon{width:35px;height:38px}.sidebar nav{margin-top:18px;display:flex}.sidebar nav button{flex:1;padding:10px}.main{margin-left:0}.topbar{height:52px;padding:0 20px}.content{padding:27px 17px}.heading{display:block}.heading .primary{margin-top:20px}.stats{margin-bottom:24px;padding:18px 0}.stats>div{padding:0 13px}.stats strong{font-size:30px}.stats small{display:none}.panel-head{padding:15px}.task-row{gap:12px;padding:20px 14px}.task-meta{gap:10px}.task-title{font-size:14px}.filters button{padding:6px 9px}.notification{padding:20px 14px}.notification .text-button{font-size:11px}.login-page{display:block}.login-story{padding:30px 10%}.login-story>.eyebrow{margin-top:30px}.login-story h1{font-size:26px;line-height:1.5}.login-story p,.paper-decoration{display:none}.login-form{padding:40px 0}.editor{padding:23px}}
