:root{--bg:#f8f9f5;--ink:#34443b;--muted:#88918a;--line:#e9ece5;--coral:#d98068;--green:#718e79;--white:#fff;--shadow:0 3px 18px #35443303}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .15s,transform .15s;border:0;background:none}button:hover{filter:brightness(.98)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8caa92;outline-offset:3px}a{color:inherit;text-decoration:none}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h2{font-size:17px;font-weight:600}button{min-height:36px}.app-shell{display:flex;min-height:100vh}.sidebar{width:225px;flex-shrink:0;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:36px 23px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:24px;letter-spacing:3px;font-weight:700}.brand-icon{width:45px;height:45px;background:#e28c73;color:white;border-radius:15px;display:grid;place-items:center;transform:rotate(-6deg)}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#9b9e91;font-weight:500;margin-top:3px}.student{margin:38px 0 30px;display:flex;gap:10px;align-items:center;background:#f6f7f2;padding:13px 10px;border-radius:13px}.avatar{font-size:25px}.student strong{font-size:12px;font-weight:600}.student span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.nav-label{font-size:10px;letter-spacing:2px;color:#a4aaa4;margin:0 14px 13px}.sidebar nav{display:flex;flex-direction:column;gap:9px}.sidebar nav button{display:flex;gap:13px;align-items:center;text-align:left;padding:13px 16px;border-radius:11px;color:#7d877f;font-size:13px}.sidebar nav button.active{background:#f9ede5;color:#bc745d;font-weight:600}.nav-dot{width:5px;height:5px;background:#ce8d74;border-radius:50%;margin-left:auto}.sidebar-note{margin-top:auto;position:relative;background:#f5f7ef;border-radius:14px;padding:20px 16px;overflow:hidden}.sidebar-note>span{font-size:25px;color:#b3bc91;display:block;margin-bottom:10px}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:11px;line-height:1.9;color:#899381;margin-top:9px}.note-leaves{position:absolute;bottom:-13px;right:-4px;font-size:53px;opacity:.4;transform:rotate(-15deg)}.sidebar-bottom{margin-top:22px;color:#9ba49b;display:flex;gap:7px;align-items:center;font-size:10px}.workspace{width:calc(100% - 225px);margin-left:225px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#ffffff80}.crumb{font-size:12px;color:#68796c}.crumb>span{color:#bdc5bb;margin:0 15px}.top-right{gap:23px}.sync,.top-right{display:flex;align-items:center}.sync{font-size:11px;color:#91a08e;gap:6px}.sync-dot{width:6px;height:6px;background:#8aa77b;border-radius:50%}.sync-dot.offline{background:#dab173}.grade-pill{background:#f0f2e8;border:1px solid #e8ecdf;padding:7px 12px;border-radius:20px;font-size:11px;color:#889274}main{max-width:1450px;margin:auto;padding:34px 42px 15px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{color:#a2a98e;font-size:9px;letter-spacing:2px;margin-bottom:9px}.eyebrow,h1{font-weight:600}h1{font-size:26px;letter-spacing:1px;line-height:1.6}.heading-star{font-size:32px;color:#d9b772;margin-left:15px;font-weight:400}.page-heading p{font-size:12px;color:#92988f;margin-top:8px;line-height:1.8}.primary{background:var(--coral);color:white;padding:11px 18px;display:inline-flex;gap:8px;align-items:center;justify-content:center;border-radius:10px;font-weight:500;font-size:13px;white-space:nowrap;box-shadow:0 3px 8px #b86f5010}.date-panel{border:1px solid var(--line);border-radius:15px;background:white;box-shadow:var(--shadow);margin-bottom:26px;padding:15px 20px 14px}.date-title{display:flex;align-items:center;gap:10px}.date-title>svg{color:#9aa68e}.date-title input{background:none;border:0;font-weight:600;font-size:14px;max-width:160px}.today-button{padding:3px 12px;font-size:11px;min-height:26px;border:1px solid #e5e9e1;border-radius:6px;color:#8c978b}.date-arrows{margin-left:auto;display:flex;gap:7px}.date-arrows button{min-width:32px;min-height:28px;color:#9ca69a}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:12px}.week-strip button{border-radius:11px;display:flex;align-items:center;flex-direction:column;padding:10px 3px 6px;gap:6px}.week-strip button>span{font-size:10px;color:#99a294}.week-strip strong{font-size:19px;font-weight:500}.week-strip button.selected{background:#799480;color:white}.week-strip button.selected>span{color:#e4ece1}.week-strip i{width:4px;height:4px;min-height:4px;background:transparent;border-radius:50%;margin-top:2px}.week-strip i.has-tasks{background:#d0b78e}.week-strip .selected i.has-tasks{background:white}.week-strip .complete{background:#d9e9d1;width:13px;height:13px;color:#5c7b64;margin-top:-7px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:25px}.main-column{min-width:0}.hero{background:#f4eee0;border:1px solid #ede7d6;border-radius:15px;min-height:190px;padding:29px 25px;overflow:hidden;display:flex;align-items:center}.hero,.hero>div{position:relative}.hero>div{z-index:1;max-width:75%}.hero-label{font-size:11px;color:#ad9366;display:flex;align-items:center;gap:6px;margin-bottom:12px}.hero h2{font-size:20px;color:#6b644d;line-height:1.5}.hero p{font-size:11px;color:#a49b81;line-height:1.9;margin-top:10px}.hero-badge{display:inline-flex;gap:5px;align-items:center;font-size:10px;color:#a09778;margin-top:19px}.sun-art{position:absolute;right:-10px;bottom:0;width:205px;height:170px;opacity:.95}.task-heading{justify-content:space-between;margin-top:28px;margin-bottom:17px}.task-heading,.task-heading h2{display:flex;align-items:center}.task-heading h2{gap:9px}.task-heading h2 span{font-size:10px;background:#e9ede3;border-radius:6px;padding:3px 7px;color:#8a9782}.task-heading select{border:0;background:transparent;color:#8c968d;font-size:11px;padding:6px}.filters{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:16px}.filters button{display:flex;align-items:center;gap:5px;padding:6px 10px;font-size:11px;color:#8e968c;min-height:30px;border-radius:7px}.filters button.selected{background:#e9eee5;color:#67836c}.filters button span{font-size:9px;opacity:.8;margin-left:3px}.subject-dot{height:5px;width:5px;border-radius:50%;background:currentColor!important}.c0{color:#ba7d6b;background:#f7e9e2}.c1{color:#7192ae;background:#eaf1f7}.c2{color:#9c85b3;background:#f0ebf7}.c3{color:#b29b55;background:#f8f2df}.c4{color:#7e9b81;background:#eaf1e7}.task-list{display:flex;flex-direction:column;gap:12px}.task-card{display:flex;align-items:center;gap:12px;padding:19px 16px;background:white;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);min-height:106px}.task-card.is-running{border-color:#a8bd9c;background:#fdfff9}.check-button{height:22px;min-height:22px;width:22px;min-width:22px;border:1.5px solid #dce2d7;border-radius:7px;padding:0;display:grid;place-items:center;background:white}.is-done .check-button{background:#8ea88a;border-color:#8ea88a;color:white}.is-done .task-title strong{text-decoration:line-through;color:#9aa395}.is-done .subject-icon{opacity:.6}.subject-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:15px;flex-shrink:0}.task-info{min-width:0;flex:1}.task-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.task-title strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.time-tag{font-size:10px;color:#9a8968;background:#f7f0df;padding:2px 5px;border-radius:4px;font-weight:500}.task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;font-size:9px;color:#a6ada2}.task-meta>span{display:inline-flex;gap:3px;align-items:center}.subject-text{background:none}.task-info p{font-size:10px;line-height:1.7;color:#a1a89c;margin-top:6px}.task-actions{display:flex;gap:11px;align-items:center}.timer{font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.5px;color:#88927f;text-align:right;min-width:43px}.timer small{display:block;font-size:8px;letter-spacing:0;color:#b2b9ad;margin-top:4px}.timer.running{color:#718e5d}.timer-button{border:1px solid #e2e8da;border-radius:7px;display:flex;gap:4px;align-items:center;padding:6px 9px;min-height:30px;font-size:10px;color:#8a9d7c}.timer-button.pause{background:#eff4e9;color:#718758}.icon-button{display:grid;place-items:center;color:#a2ac9c;padding:5px;min-width:30px;min-height:32px}.add-row{justify-content:center;gap:8px;border:1px dashed #d9e0d0;border-radius:10px;width:100%;color:#92a087;font-size:12px;padding:13px;margin-top:14px}.add-row,.plan-tools{display:flex;align-items:center}.plan-tools{justify-content:space-between;gap:10px;color:#aab2a2;font-size:9px;margin-top:9px}.plan-tools button{font-size:10px;color:#8f9c85}.right-column{display:flex;flex-direction:column;gap:19px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{font-size:14px}.section-heading>svg{color:#b3b99e}.section-heading>span{font-size:11px;color:#9ba690}.progress-ring{width:149px;height:149px;border-radius:50%;padding:9px;margin:23px auto 21px;transform:rotate(0deg)}.progress-ring>div{background:white;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-size:36px;font-weight:500;color:#6b826d;letter-spacing:-1px}.progress-ring strong small{font-size:14px;letter-spacing:0}.progress-ring span{font-size:9px;color:#a6ae9c;margin-top:5px}.stat-row{display:flex;text-align:center}.stat-row>div{width:50%}.stat-row>div+div{border-left:1px solid #eef0e7}.stat-row strong{font-size:20px;font-weight:500;color:#778870}.stat-row small{font-size:10px;color:#9faa96}.stat-row span{display:block;font-size:9px;color:#a0ab97;margin-top:6px}.progress-message{font-size:10px;color:#9da789;background:#f6f8f0;border-radius:7px;padding:11px 2px;text-align:center;margin-top:20px}.focus-card{text-align:center;background:#fbfcf8}.focus-card .section-heading{text-align:left}.focus-card>p{font-size:10px;color:#a3ac98;margin:13px 0}.focus-clock{font-size:40px;letter-spacing:3px;color:#7f9373;font-weight:500;font-variant-numeric:tabular-nums}.focus-hint{font-size:10px;color:#aab39d;display:block;margin-top:12px}.focus-button{display:inline-flex;align-items:center;gap:7px;color:#80976c;background:#edf3e5;border-radius:8px;padding:6px 16px;margin-top:10px}.focus-card>small{display:block;font-size:9px;margin-top:6px}.focus-tip{border-top:1px dashed #e3e8d9;color:#a8b29a;font-size:9px;line-height:1.8;padding-top:13px;margin-top:18px}.course-card>p{color:#a3ab98;font-size:9px;margin-top:10px}.course-row{display:flex;align-items:center;gap:10px;margin-top:16px}.course-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:11px}.course-row div{flex:1}.course-row strong{font-size:11px;font-weight:500;display:block}.course-row div span{display:block;font-size:9px;color:#a5ae9b;margin-top:3px}.course-row b{font-size:12px;color:#929e84;font-weight:500}.export-button{display:flex;align-items:center;justify-content:center;gap:7px;color:#9ba78c;font-size:10px}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e9ede3;color:#b1b7a9;font-size:9px;margin-top:30px;padding-top:20px;padding-bottom:10px;line-height:1.6}.empty{background:white;border:1px dashed #dde3d6;border-radius:13px;min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#94a086;gap:12px}.empty h3{font-size:14px;font-weight:500}.empty p{font-size:11px}.inline-link{padding:0;min-height:22px;display:inline-flex;align-items:center;gap:3px;font-size:9px;color:#84966b;margin-top:3px}.alert{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff0e6;border:1px solid #f0d8c2;color:#ab6b45;border-radius:10px;font-size:12px;margin-bottom:18px}.alert>span{flex:1}.alert button{font-size:11px;text-decoration:underline}.loading{min-height:250px;display:flex;align-items:center;justify-content:center;gap:12px;color:#8b9b81}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.weekly-layout{display:grid;grid-template-columns:1fr 278px;gap:25px;align-items:start}.week-row{width:100%;display:flex;align-items:center;gap:23px;padding:20px 0;border-bottom:1px solid var(--line);text-align:left}.week-row:last-child{border:0}.week-row>div:first-child{width:40px;flex-shrink:0}.week-row strong{font-size:12px;font-weight:500}.week-row span{display:block;font-size:10px;color:#9ca78f;margin-top:7px;line-height:1.8}.week-row svg{margin-left:auto;color:#a5b098}.week-summary{flex:1}.modal-backdrop{position:fixed;inset:0;background:#23352e55;backdrop-filter:blur(5px);z-index:40;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fffdfa;border-radius:20px;padding:26px;max-width:510px;width:100%;max-height:90dvh;overflow-y:auto;box-shadow:0 20px 100px #24362d30}.modal.small{max-width:420px}.modal .section-heading h2{font-size:20px}.modal>p{font-size:11px;color:#9ba38e;margin:10px 0 20px;line-height:1.9}.modal label{display:block;font-size:12px;color:#87917b;margin-top:16px}.modal input,.modal select,.modal textarea{display:block;width:100%;border:1px solid #e0e5d8;border-radius:9px;padding:11px 12px;background:white;margin-top:7px;outline-offset:1px}.modal textarea{min-height:78px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:25px}.modal-actions>button{padding:9px 15px;border-radius:8px;font-size:12px}.modal-actions .delete-link{margin-right:auto;padding-left:0;display:flex;align-items:center;gap:5px;color:#be9077}.manual-time{border-radius:10px;padding:1px 12px 12px;background:#f4f6ef;margin-top:15px}.checkbox-label{display:flex!important;align-items:center;gap:9px;font-size:12px!important;line-height:1.7}.checkbox-label input{width:17px!important;height:17px;margin:0!important;accent-color:#809876}.danger{background:#b96652!important;color:white}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);gap:10px;padding:15px 22px;border-radius:12px;background:#5b765e;color:white;box-shadow:0 10px 40px #32442f30;z-index:50}.practice-guide,.toast{display:flex;align-items:center;font-size:12px}.practice-guide{gap:20px;color:#8d9e80;background:#eef2e7;padding:16px 20px;border-radius:10px;margin-bottom:23px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.upload-placeholder{height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;background:#f7f8f3;border:1px dashed #dce3ce;border-radius:12px;margin-top:20px;color:#99a78a}.upload-placeholder h3{font-size:15px;font-weight:500}.upload-placeholder p{font-size:10px;text-align:center;padding:0 12px;line-height:1.8}.upload-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:20px 0}.upload-label{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe3ce;padding:10px 16px;min-height:40px;border-radius:9px;color:#879776;font-size:12px;cursor:pointer}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.helper{font-size:10px;color:#99a58d;line-height:1.9;margin:14px 0}.photo-preview{height:300px;background:#f5f6f1;border-radius:10px;overflow:auto;margin-top:18px;text-align:center}.photo-preview img{max-width:100%;height:auto;display:block;margin:auto}.arithmetic-input{width:100%;min-height:260px;resize:vertical;background:#f9faf6;border:1px solid #e2e8d8;border-radius:10px;padding:18px;font:17px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:#677e5c;margin:3px 0 20px}.grade-button{margin-top:18px;width:100%}.practice-message{padding:15px 18px;background:#f0f3e8;border-radius:10px;margin-top:20px;color:#859671;font-size:12px;line-height:1.9;display:flex;align-items:center;gap:10px}.result-card{margin-top:23px}.result-row{display:flex;align-items:center;gap:20px;border-top:1px solid #edf0e5;padding:16px 5px;font-size:12px}.result-row:first-of-type{margin-top:20px}.result-index{font-size:10px;color:#a7b297;width:16px}.result-row code{flex:1;font-size:16px;overflow-wrap:anywhere}.result-row strong{font-size:11px;font-weight:500}.result-row.correct strong{color:#7e9b6b}.result-row.wrong strong{color:#c47c61}.result-row.review strong{color:#b8a164}@media(min-width:1500px){.hero>div{max-width:80%}.sun-art{width:240px;right:5px}.task-card{padding:22px}.task-title strong{font-size:15px}.task-meta{font-size:10px}.task-info p{font-size:11px}}@media(max-width:1200px){.sidebar{width:195px;padding:28px 17px 20px}.workspace{margin-left:195px;width:calc(100% - 195px)}main{padding:28px 26px 15px}.topbar{padding:0 26px}.dashboard{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.task-card{gap:9px;padding:16px 12px}.task-actions{gap:7px}.task-actions .timer-button span{display:none}.task-actions .timer-button{padding:7px}.subject-icon{width:30px;height:32px;font-size:12px}.hero{padding:24px 20px}.hero h2{font-size:17px}.sun-art{width:155px;opacity:.75}.hero>div{max-width:83%}.card{padding:19px}.filters button{padding:6px 8px;font-size:10px}.weekly-layout{grid-template-columns:1fr 245px;gap:18px}}@media(max-width:1000px){.sidebar{width:80px;align-items:center;padding:27px 10px}.brand>div,.nav-dot,.nav-label,.sidebar-bottom,.sidebar-note,.student{display:none}.brand-icon{width:43px}.sidebar nav{margin-top:45px;width:100%}.sidebar nav button{font-size:0;gap:0;justify-content:center;padding:15px}.workspace{width:calc(100% - 80px);margin-left:80px}.dashboard{grid-template-columns:minmax(0,1fr) 235px}.hero h2{font-size:16px}h1{font-size:23px}.heading-star{font-size:27px}.topbar{height:65px}.page-heading p{font-size:11px}.task-card{flex-wrap:wrap}.task-info{min-width:130px}.task-actions{margin-left:auto}.timer-button span{display:inline!important}.task-actions .timer{font-size:12px}.filters{gap:2px}.weekly-layout{grid-template-columns:1fr 235px}.hero>div{max-width:100%}.sun-art{opacity:.35;right:-30px}.hero{min-height:180px}.hero-badge{margin-top:14px}}@media(max-width:760px){.sidebar{position:sticky;top:0;width:100%;height:63px;flex-direction:row;padding:10px 18px;border-right:0;border-bottom:1px solid var(--line);justify-content:space-between}.app-shell,.brand>div{display:block}.brand>div{font-size:19px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1px}.brand-icon{width:34px;height:34px;border-radius:10px}.brand-icon svg{width:22px}.brand{gap:8px}.sidebar nav{flex-direction:row;width:auto;margin:0;gap:4px}.sidebar nav button{padding:9px 11px;min-height:36px}.sidebar nav button svg{width:19px}.workspace{width:100%;margin:0}.topbar{height:45px;padding:0 20px}.crumb{font-size:10px}.grade-pill{display:none}.sync{font-size:9px}.top-right{gap:5px}main{padding:24px 18px 12px}.page-heading{gap:8px;margin-bottom:20px;align-items:flex-start}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:21px;letter-spacing:0}.heading-star{display:none}.page-heading p{font-size:10px;max-width:260px}.page-heading>.primary{padding:10px;font-size:11px;gap:4px;margin-top:20px}.page-heading>.primary svg{width:15px}.date-panel{padding:12px 10px;margin-bottom:19px}.date-title{gap:7px;padding:0 4px}.date-title input{font-size:12px;max-width:138px}.week-strip{gap:3px;margin-top:8px}.week-strip button{padding:8px 2px 6px}.week-strip button>span{font-size:8px}.week-strip strong{font-size:17px}.date-arrows{gap:0}.today-button{font-size:9px;padding:3px 8px}.dashboard{display:flex;flex-direction:column;gap:20px}.hero{min-height:164px;padding:22px}.hero h2{font-size:18px}.hero p{font-size:10px}.hero>div{max-width:85%}.sun-art{opacity:.7;width:170px;right:-20px}.hero h2{max-width:240px}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-card{grid-column:1/-1}.course-card .course-row{display:inline-flex;width:50%;padding-right:15px}.course-card .course-row b{margin-left:auto}.focus-card,.progress-card{padding:16px 12px}.section-heading h2{font-size:13px}.progress-ring{width:120px;height:120px;margin:18px auto}.progress-ring strong{font-size:30px}.stat-row strong{font-size:17px}.stat-row small,.stat-row span{font-size:8px}.progress-message{font-size:8px;padding:8px 2px}.focus-clock{font-size:32px;margin-top:30px}.focus-card>p{font-size:9px}.focus-hint{font-size:8px;margin-top:17px}.focus-tip{margin-top:26px;font-size:8px}.export-button{grid-column:1/-1}.task-card{padding:16px 12px;gap:10px}.subject-icon{display:none}.task-title strong{font-size:13px}.task-info{min-width:120px}.task-actions{gap:8px}.task-actions .timer-button span{display:none!important}.task-actions .icon-button{min-width:25px;padding:2px}.task-info p{font-size:9px}.task-meta{font-size:8px;gap:6px}.timer{min-width:37px}.filters{gap:3px}.filters button{font-size:10px;padding:6px 7px}.filters button span{margin-left:0}.plan-tools{font-size:8px;flex-wrap:wrap}.plan-tools button{font-size:9px}.task-heading{margin-top:23px}.weekly-layout{display:flex;flex-direction:column;gap:18px}.weekly-layout>.card{width:100%}.week-row{gap:15px}.practice-guide{font-size:9px;gap:7px;padding:13px 10px;justify-content:space-between}.practice-guide svg{width:12px}.practice-grid{grid-template-columns:1fr;gap:16px}.practice .card{padding:18px}.practice .section-heading,.result-row{flex-wrap:wrap}.result-row{gap:10px}.result-row code{font-size:14px;min-width:150px}.result-row strong{margin-left:auto;font-size:10px}.result-count{font-size:10px!important}.modal{padding:22px 20px}.modal-actions{gap:6px}.modal-actions>button{padding:9px 12px}.form-grid{gap:10px}footer{font-size:8px;display:block}footer span{display:block;margin-top:7px}.toast{width:calc(100% - 36px);justify-content:center;bottom:15px}.alert,.toast{font-size:11px}.alert{padding:10px}.alert button{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.learning-board{background:#fff;border:1px solid #e5eadf;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.calendar-board{padding:24px 24px 0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:21px}.calendar-date{display:flex;align-items:center;gap:10px}.calendar-date>svg{color:#97a588}.calendar-date input{font-weight:600;border:0;background:none;max-width:153px;font-size:14px}.calendar-controls{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.calendar-switch{display:flex;background:#f1f4ed;border-radius:9px;padding:3px;gap:3px}.calendar-switch button{padding:7px 13px;min-height:34px;font-size:12px;border-radius:7px;color:#859477}.calendar-switch button.selected{background:#7d9780;color:white;box-shadow:0 2px 4px #56694a14}.calendar-arrows{display:flex;gap:6px;align-items:center}.calendar-arrows>strong{font-size:11px;font-weight:500;color:#8e9a80;white-space:nowrap}.calendar-arrows button{display:grid;place-items:center;color:#97a58b;min-width:30px;min-height:35px}.calendar-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#cbd7c1 transparent;position:relative}.task-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-cell{background:#fafbf7;border:1px solid #e9eddf;border-radius:10px;min-height:203px;padding:12px 8px 10px;display:flex;flex-direction:column;text-align:left;align-items:stretch;transition:border-color .15s,background .15s}.calendar-cell.selected{background:#f0f5e9;border:2px solid #829b7e;padding:11px 7px 9px}.calendar-cell.is-today .cell-date strong{background:#819b7c;color:white;border-radius:8px;padding:2px 6px;margin-left:-2px}.cell-date{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:12px;min-height:26px}.cell-date>span{font-size:10px;color:#8f9b82;flex-basis:100%}.cell-date>strong{font-size:19px;line-height:1.4;font-weight:500}.cell-date>em{font-size:8px;font-style:normal;color:#8a9e77}.cell-tasks{display:flex;flex-direction:column;gap:6px;flex:1}.cell-task{font-size:10px;line-height:1.6;padding:5px;border-radius:5px;display:flex;gap:4px;align-items:flex-start;overflow-wrap:anywhere}.cell-task>b{font-weight:600}.cell-task small{font-size:9px;white-space:nowrap}.cell-task.done>span:last-child{text-decoration:line-through;opacity:.65}.cell-task-dot{width:4px;height:4px;flex-shrink:0;border-radius:50%;background:currentColor;margin-top:6px}.cell-task.done .cell-task-dot{width:10px;height:10px;background:none;margin-top:3px}.cell-progress{display:flex;align-items:center;gap:3px;font-size:9px;color:#9baa8b;margin-top:13px;padding-top:7px;border-top:1px dashed #dfe7d6}.cell-empty{font-size:10px;color:#b3bda7;padding-top:10px}.calendar-weekday{text-align:center;font-size:11px;color:#98a58a;padding:7px 0 9px}.task-calendar.month{gap:6px}.month .calendar-cell{min-height:155px;padding:9px 6px}.month .calendar-cell.selected{padding:8px 5px}.month .cell-date{margin-bottom:8px}.month .cell-date>strong{font-size:15px}.month .cell-task{font-size:9px;padding:3px 4px;gap:3px}.month .cell-task small{font-size:8px}.month .cell-progress{margin-top:8px;font-size:8px}.month .outside-month{background:#f7f8f4;opacity:.55}.calendar-help{font-size:10px;color:#9aa98b;line-height:1.8;padding:14px 0 17px;border-bottom:1px solid #e7ecdf}.calendar-help span{display:none}.unified-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;padding:0 24px 25px}.unified-tasks{min-width:0}.unified-tasks .task-heading{margin-top:23px;margin-bottom:15px;gap:12px}.unified-tasks .task-heading h2{font-size:17px}.unified-summary{font-size:11px;color:#94a285;margin-top:9px;line-height:1.8}.unified-workspace .right-column{padding-top:23px}.unified-workspace .task-card{box-shadow:none;background:#fcfdf9;gap:10px}.unified-workspace .task-card.is-running{background:#f3f8ed;border-color:#a9bf96}.unified-workspace .card{box-shadow:none}.tool-date{background:white;border:1px solid #e8ecdf;display:flex;align-items:center;gap:11px;padding:13px 17px;border-radius:12px;margin-bottom:23px;color:#8d9d7c}.tool-date input{border:0;font-weight:500;background:none;max-width:155px}.tool-date>span{margin-left:auto;font-size:12px}@media(max-width:1200px){.calendar-board{padding:20px 18px 0}.calendar-controls{gap:10px}.calendar-toolbar{gap:12px}.unified-workspace{grid-template-columns:minmax(0,1fr) 225px;gap:16px;padding:0 18px 20px}.task-calendar.week{min-width:770px}.task-calendar.month{min-width:650px}.unified-tasks .task-card{padding:16px 11px}.unified-tasks .subject-icon{display:none}.calendar-help span{display:inline}}@media(max-width:900px){.unified-workspace{display:block}.unified-workspace .right-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:20px}.unified-workspace .course-card,.unified-workspace .export-button{grid-column:1/-1}.unified-workspace .course-row{display:inline-flex;width:50%;padding-right:15px}.calendar-controls{width:100%;justify-content:space-between}.calendar-toolbar{gap:15px}.task-calendar.week{min-width:945px}.task-calendar.month{min-width:665px}.calendar-cell{min-height:219px}.cell-task{font-size:11px}.calendar-date{width:100%}.calendar-date input{max-width:none;font-size:15px}.calendar-date .today-button{margin-left:auto}}@media(max-width:760px){.calendar-board{padding:17px 13px 0}.learning-board{border-radius:14px}.calendar-controls{gap:8px}.calendar-switch button{font-size:11px;padding:7px 11px}.calendar-arrows>strong{font-size:10px}.calendar-arrows{gap:0}.calendar-arrows button{min-width:25px}.calendar-date input{font-size:14px;max-width:160px}.calendar-help{font-size:10px;padding:11px 0 14px}.calendar-help span{display:block}.unified-workspace{padding:0 12px 16px}.unified-tasks .task-heading h2{font-size:14px}.unified-tasks .task-heading{margin-top:18px}.unified-summary{font-size:10px}.unified-tasks .task-card{padding:15px 10px;gap:8px}.task-calendar.week{min-width:1050px}.task-calendar.month{min-width:700px}.calendar-cell .cell-date>span,.cell-task{font-size:11px}.month .cell-task{font-size:10px}.month .calendar-cell{min-height:160px}.unified-workspace .course-row{width:100%;padding:0}.unified-workspace .right-column{gap:10px}.unified-workspace .right-column .card{padding:17px 12px}}.day-agenda{border-top:1px solid #e9ede3;margin-top:16px;padding:19px 5px 1px}.agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.agenda-heading h2{font-size:14px}.agenda-heading>span{font-size:11px;color:#8b9a7d}.day-agenda ul{padding:0;margin:0;list-style:none}.day-agenda li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px dashed #edf0e6}.day-agenda li:last-child{border-bottom:0}.agenda-subject{font-size:11px;min-width:48px;text-align:center;border-radius:6px;padding:6px 8px;flex-shrink:0}.day-agenda li>div{flex:1;min-width:0}.day-agenda strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.day-agenda p{font-size:11px;line-height:1.7;color:#8f9b83;margin-top:5px;overflow-wrap:anywhere}.agenda-time{font-size:12px;color:#8b997b;white-space:nowrap}.agenda-status{font-size:10px;color:#b5ae94;width:55px;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:4px}.agenda-done .agenda-status{color:#7c9b70}.agenda-done strong{color:#8b9b81}.agenda-empty{padding:14px 0}.agenda-done strong{text-decoration:line-through}@media(max-width:760px){.day-agenda{padding:16px 4px 0;margin-top:13px}.agenda-heading h2{font-size:13px}.agenda-heading>span{font-size:9px}.day-agenda li{gap:8px;flex-wrap:wrap;padding:13px 0}.agenda-subject{font-size:10px;min-width:40px;padding:5px 7px}.day-agenda li>div{min-width:150px}.day-agenda strong{font-size:13px}.agenda-time,.day-agenda p{font-size:10px}.agenda-time{margin-left:48px}.agenda-status{font-size:10px;margin-left:auto}.agenda-done .agenda-time{margin-left:48px}}.brand{font-size:22px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1.5px}.book-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:7px 0 20px}.book-heading h2{font-size:19px}.book-heading p{color:#8a987d;font-size:12px;margin-top:9px}.book-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:24px;align-items:start}.book-tools{display:flex;gap:13px;margin-bottom:15px}.book-tools input{flex:1;min-width:0}.book-tools input,.book-tools select,.wrong-bottom select{background:white;border:1px solid #dfe5d6;border-radius:8px;padding:11px 13px;font-size:12px}.wrong-list{display:flex;flex-direction:column;gap:15px}.knowledge-subject{border-radius:5px;padding:5px 9px;font-size:11px!important}.wrong-card h3{font-size:16px;font-weight:500;margin:15px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.answer-line{padding:12px 15px;background:#f4f7ef;color:#748967;font-size:12px;line-height:1.9;white-space:pre-wrap}.answer-line span{display:block;font-size:10px;color:#a3ad96;margin-bottom:5px}.knowledge-label{display:inline-flex;gap:6px;align-items:center;background:#f7f0e5;border:1px solid #eee4d3;color:#a38e67;font-size:11px;border-radius:7px;padding:7px 10px;margin-top:14px}.wrong-note{font-size:12px;color:#91a080;line-height:1.8;margin-top:12px;white-space:pre-wrap}.wrong-bottom{border-top:1px solid #edf0e6;margin-top:17px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.wrong-bottom>span{font-size:10px;color:#a4ae97}.wrong-bottom select{font-size:11px;padding:7px 9px;color:#7d956c}.wrong-image{display:block;max-width:100%;max-height:400px;object-fit:contain;margin:15px auto}.wrong-card details summary{font-size:12px;color:#8e9e7d;cursor:pointer}.knowledge-card>p{font-size:11px;color:#94a087;line-height:1.9;margin:13px 0}.point-row{display:flex;gap:12px;align-items:center;padding:17px 0;border-top:1px solid #edf0e6}.point-row>span{font-size:13px;color:#c2caae}.point-row strong{font-size:12px;font-weight:500}.point-row small{display:block;font-size:10px;color:#9eaa8b;margin-top:6px}.knowledge-empty{padding:22px 0;font-size:12px;color:#a3ae94;line-height:2}.review-hero{background:#edf1e5;border:1px solid #e2e8d7;border-radius:14px;padding:26px 28px;display:flex;justify-content:space-between;gap:20px;align-items:center}.review-hero h2{font-size:21px;line-height:1.7;margin-top:12px;color:#71835e}.review-hero p{font-size:12px;color:#9aa687;margin-top:10px}.review-hero>svg{color:#b5c29e}.review-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:22px 0}.review-stats>div{padding:20px;border:1px solid #e7ecdf;background:white;border-radius:12px}.review-stats strong{font-size:26px;font-weight:500;color:#7d916e}.review-stats small{font-size:12px;color:#a4ae94}.review-stats span{display:block;color:#97a386;font-size:11px;margin-top:10px}.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.review-point{display:flex;align-items:center;gap:14px;border-top:1px solid #e9eddf;padding:17px 0}.review-point strong{font-size:13px;font-weight:500}.review-point p{font-size:11px;color:#9aa687;margin-top:8px}.review-steps{margin:20px 0;padding-left:20px;color:#8e9c7f;font-size:12px;line-height:2.4}.review-note-label{font-size:12px;color:#859675}.review-note-label textarea,.share-link{display:block;width:100%;border:1px solid #e0e6d5;border-radius:10px;margin-top:10px;padding:13px;background:#fcfdf8;min-height:130px;resize:vertical;font-size:13px;line-height:1.8}.review-snapshot{margin-top:22px}.snapshot-tag{display:inline-block;padding:7px 11px;background:#f0f3e8;border:1px solid #e6ebda;border-radius:7px;margin:4px 7px 4px 0;font-size:11px;color:#8d9c75}.share-link{word-break:break-all;font-size:11px;min-height:130px}.modal .upload-label{display:flex;position:relative;margin-top:12px}.modal .upload-label input{position:absolute;opacity:0;inset:0;height:100%;width:100%;margin:0;padding:0}@media(max-width:1100px){.book-layout{grid-template-columns:minmax(0,1fr) 235px}.sidebar nav button{padding:12px 14px}}@media(max-width:760px){.sidebar{height:120px!important;flex-wrap:wrap;padding:11px 18px 4px;justify-content:center;gap:6px}.brand{margin-right:auto}.brand>div{font-size:18px}.sidebar nav{width:100%;justify-content:space-between}.sidebar nav button{font-size:10px;padding:5px 7px;min-width:50px}.top-right .grade-pill{display:block;padding:4px 8px;font-size:9px;min-height:27px}.top-right{gap:8px}.topbar .crumb{display:none}.topbar{justify-content:flex-end;height:40px}.book-layout{grid-template-columns:1fr;gap:18px}.book-heading h2{font-size:16px}.book-heading p{font-size:10px}.book-heading .primary{font-size:11px;padding:10px}.review-hero{padding:22px 20px}.review-hero h2{font-size:18px}.review-hero>svg{display:none}.review-hero p{font-size:11px;line-height:1.9}.review-stats{grid-template-columns:1fr 1fr;gap:10px}.review-stats>div{padding:17px}.review-columns{grid-template-columns:1fr;gap:16px}.knowledge-card{order:-1}.knowledge-card .point-row{padding:12px 0}.review-point{gap:10px}.wrong-bottom{flex-wrap:wrap}}.task-title strong{font-size:15px}.task-meta{font-size:11px;color:#87927e}.task-info p{font-size:12px;color:#85917c}.check-button{width:30px;height:30px;min-width:30px;min-height:30px}.timer-button{min-height:40px;min-width:40px}.icon-button{min-height:40px;min-width:35px}.filters button{font-size:12px;min-height:38px}.hero p{color:#8e856d;font-size:12px}.page-heading p{color:#7e8978}.course-card>p{font-size:11px;color:#85917c}.course-row strong{font-size:12px}.course-row div span{font-size:11px;color:#89957f}.helper{font-size:12px;color:#7c8c6f}.focus-card>p,.focus-hint{font-size:11px;color:#829272}.progress-ring span,.stat-row span{font-size:11px;color:#879577}.progress-message{font-size:11px;color:#7c8d66}.inline-link{font-size:11px;min-height:30px}.modal label{font-size:13px}.modal>p{font-size:12px}.week-strip button>span{font-size:11px}.week-row strong{font-size:14px}.week-row span{font-size:12px}.week-row{min-height:90px}@media(max-width:760px){.sidebar nav button{font-size:10px;flex-direction:column;gap:3px;padding:4px 10px}.sidebar{height:69px}.task-meta{font-size:10px}.task-info p{font-size:11px}.task-title strong{font-size:14px}.task-actions{gap:3px}.task-card{gap:8px}.task-info{min-width:115px}.task-actions .icon-button{min-width:28px}.filters button{font-size:11px;padding:6px}.week-strip button>span{font-size:9px}.focus-card>p,.focus-hint,.progress-message{font-size:10px}.stat-row span{font-size:9px}.course-card>p{font-size:10px}.hero h2{max-width:230px}.hero p,.page-heading p{font-size:11px}}.pomodoro-card{--pomodoro-color:#c47c65;background:#fffaf5;text-align:center}.pomodoro-card.is-break{--pomodoro-color:#718e79;background:#f7faf4}.pomodoro-tabs{display:flex;gap:5px;background:#f2eee6;padding:4px;border-radius:10px;margin:18px 0}.pomodoro-tabs button{flex:1;min-height:36px;border-radius:7px;color:#8b8e7c;font-size:12px}.pomodoro-tabs button[aria-pressed=true]{background:white;color:var(--pomodoro-color);box-shadow:0 2px 6px #665a4010}.pomodoro-ring{border-radius:50%;width:184px;height:184px;padding:7px;margin:18px auto}.pomodoro-ring>div{background:#fffdf9;border-radius:50%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.pomodoro-ring span{color:#8d927c;font-size:11px}.pomodoro-ring strong{font-size:38px;line-height:1.2;letter-spacing:2px;color:var(--pomodoro-color);font-variant-numeric:tabular-nums;font-weight:500}.pomodoro-ring small{font-size:10px;color:#9fa18c}.pomodoro-message{font-size:11px;color:var(--pomodoro-color);line-height:1.8;margin:10px 0 16px;min-height:20px}.pomodoro-actions{display:flex;align-items:center;justify-content:center;gap:8px}.pomodoro-actions .primary{flex:1;padding:10px 8px;font-size:12px;background:var(--pomodoro-color)}.pomodoro-reset{display:flex;align-items:center;gap:4px;font-size:11px;padding:9px 6px;color:#9a9884}.pomodoro-settings{margin-top:20px;border-top:1px dashed #e6dfd0;padding-top:14px;text-align:left;color:#8d907b;font-size:11px}.pomodoro-settings summary{cursor:pointer;min-height:32px;line-height:2}.pomodoro-settings form>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.pomodoro-settings label{font-size:10px}.pomodoro-settings input{width:100%;border:1px solid #e3dfd1;border-radius:7px;background:white;padding:9px;margin-top:5px;font-size:13px}.pomodoro-settings form>button{width:100%;background:#f2eee4;border-radius:7px;margin-top:12px;font-size:11px;min-height:36px}.pomodoro-settings form>p{margin-top:8px;font-size:10px}.pomodoro-note{font-size:10px;color:#969b87;line-height:1.9;text-align:left;margin-top:15px}.unified-workspace .right-column .pomodoro-card{grid-column:1/-1}@media(max-width:1200px) and (min-width:901px){.pomodoro-ring{width:164px;height:164px}.pomodoro-ring strong{font-size:33px}}@media(max-width:900px){.pomodoro-actions,.pomodoro-note,.pomodoro-settings,.pomodoro-tabs{max-width:340px;margin-left:auto;margin-right:auto}.pomodoro-ring{width:190px;height:190px}}.calendar-cell .cell-date{padding:0;background:none;text-align:left;width:100%;color:inherit}.calendar-cell .cell-task{align-items:center;gap:5px}.calendar-check{display:grid;place-items:center;width:22px;min-width:22px;height:22px;min-height:22px;border:1.5px solid;border-radius:5px;background:#ffffffbb;padding:0;color:inherit}.calendar-check[aria-checked=true]{background:#78967d;border-color:#78967d;color:white}.cell-task-title{padding:2px 0;min-height:28px;flex:1;text-align:left;font-size:inherit;line-height:1.6;overflow-wrap:anywhere;color:inherit}.cell-task.done .cell-task-title{text-decoration:line-through;opacity:.7}.month .calendar-check{width:20px;min-width:20px;height:20px;min-height:20px}.month .cell-task{gap:5px}.cell-task-title small{white-space:normal}.calendar-cell .cell-date:focus-visible,.calendar-check:focus-visible,.cell-task-title:focus-visible{outline-offset:1px}@media(max-width:760px){.calendar-check,.month .calendar-check{width:26px;min-width:26px;height:28px;min-height:28px}.task-calendar.month{min-width:980px}.month .cell-task{font-size:11px}.month .cell-task-title{min-height:32px}}.task-name-button{padding:0;min-height:32px;text-align:left;font-size:15px;line-height:1.7;font-weight:600;overflow-wrap:anywhere}.cell-task-title:hover,.task-name-button:hover{text-decoration:underline}.is-done .task-name-button{text-decoration:line-through;color:#9aa395}@media(max-width:760px){.task-name-button{font-size:14px}}.subject-0{--subject-accent:#b6654b;--subject-bg:#fff3ed;--subject-border:#ecd1c4}.subject-1{--subject-accent:#4e7fa8;--subject-bg:#eef6ff;--subject-border:#cbddeb}.subject-2{--subject-accent:#8961a8;--subject-bg:#f7f0ff;--subject-border:#dfcfea}.subject-3{--subject-accent:#a27c22;--subject-bg:#fff9e7;--subject-border:#e9ddad}.subject-4{--subject-accent:#518467;--subject-bg:#eff8ee;--subject-border:#cfdfc9}.unified-workspace .task-card{background:var(--subject-bg,#fff);border-color:var(--subject-border,#e9ece5);border-left:5px solid var(--subject-accent,#a0b397)}.task-card .subject-text{color:var(--subject-accent);font-weight:600}.task-card .check-button,.task-card.is-done .check-button{border-color:var(--subject-accent)}.task-card.is-done .check-button{background:var(--subject-accent)}.unified-workspace .task-card.is-running{background:var(--subject-bg);box-shadow:0 0 0 2px #98ad87}.calendar-cell .c0{color:#a55b44;background:#fbe6dc}.calendar-cell .c1{color:#466f95;background:#e3f0fb}.calendar-cell .c2{color:#7c579c;background:#efe4fa}.calendar-cell .c3{color:#8a6a22;background:#faf0ca}.calendar-cell .c4{color:#4f795c;background:#e3f1df}.filters .c0{color:#b6654b}.filters .c1{color:#4e7fa8}.filters .c2{color:#8961a8}.filters .c3{color:#a27c22}.filters .c4{color:#518467}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex-shrink:0}.secondary{border:1px solid #d8e2d2;background:#fff;color:#708565;border-radius:10px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;white-space:nowrap}.daily-settings-modal{max-width:650px}.daily-settings-modal .section-heading h2{display:flex;align-items:center;gap:10px}.daily-scope{background:#f1f5e9;color:#718363;font-size:12px;line-height:1.9;padding:12px 14px;border-radius:9px;margin:15px 0}.daily-saved{color:#5b8061!important;background:#eef6ec;border-radius:8px;padding:10px 13px;margin:13px 0!important}.daily-template-list{display:flex;flex-direction:column;gap:11px;margin-top:18px}.daily-template-row{display:flex;gap:15px;align-items:center;padding:16px;border:1px solid var(--subject-border);border-left:4px solid var(--subject-accent);background:var(--subject-bg);border-radius:11px}.daily-template-main{flex:1;min-width:0}.daily-template-main strong{font-size:14px;overflow-wrap:anywhere}.daily-template-main p{font-size:11px;color:var(--subject-accent);margin-top:6px}.daily-template-main small{display:block;font-size:11px;line-height:1.8;color:#8c947f;margin-top:7px;overflow-wrap:anywhere}.daily-template-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.daily-template-controls label{display:flex;align-items:center;gap:6px;margin:0;font-size:11px}.daily-template-controls input{width:18px;height:18px;margin:0;accent-color:#718e79}.disabled-template .daily-template-main{opacity:.55}.daily-template-form h3{font-size:15px;margin-top:22px}.daily-template-form .daily-scope{font-size:11px}.daily-template-form textarea{resize:vertical}@media(max-width:1000px){.page-actions{flex-direction:column;align-items:stretch;gap:7px}}@media(max-width:760px){.page-heading{flex-wrap:wrap}.page-actions{width:100%;flex-direction:row;justify-content:flex-start}.page-actions>button{flex:1;padding:10px 9px;font-size:11px}.daily-settings-modal{padding:20px}.daily-template-row{padding:13px 10px;gap:8px;align-items:flex-start}.daily-template-controls{flex-direction:column;gap:3px}.daily-template-main small{font-size:10px}.daily-scope{font-size:11px}}.task-record-modal{max-width:620px}.task-record-modal textarea{min-height:125px;line-height:1.9}.record-counter{text-align:right;font-size:10px;color:#9ba68e;margin-top:6px}.record-photo-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.record-photo-heading h3{font-size:14px}.record-photo-heading span{font-size:11px;color:#929c86}.record-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.record-photo{border:1px solid #e3e8db;border-radius:10px;overflow:hidden;background:#f4f6ee}.record-photo>button:first-child{display:block;width:100%;height:125px;padding:0}.record-photo img{width:100%;height:100%;object-fit:cover}.record-photo .helper{padding:7px;font-size:10px}.record-remove{width:100%;justify-content:center;gap:5px;font-size:10px;color:#a27e67;background:#fffdf7;min-height:32px}.record-message,.record-remove{display:flex;align-items:center}.record-message{font-size:12px;color:#8b8465;line-height:1.8;gap:7px}.task-card .task-record-preview{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;border-top:1px dashed var(--subject-border);padding-top:8px;margin-top:8px;color:#67775e}.task-record-preview b{font-weight:500}.task-card .record-link{color:var(--subject-accent);margin-right:12px;gap:5px}.record-lightbox{position:fixed;inset:0;z-index:60;background:#17221beF;display:flex;align-items:center;justify-content:center;padding:65px 25px 25px}.record-lightbox>button{position:absolute;top:16px;right:22px;color:white;display:flex;align-items:center;gap:8px}.record-lightbox img{max-width:100%;max-height:100%;object-fit:contain}.record-lightbox .helper{color:white}@media(max-width:760px){.record-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.record-photo>button:first-child{height:115px}.task-record-modal{padding:22px 18px}.task-card .record-link{font-size:10px;min-height:32px}.record-lightbox{padding:65px 12px 20px}}.task-editor-modal{max-width:620px}.schedule-fields{padding:14px 16px;background:#f6f8f0;border:1px solid #e3e9d9;border-radius:12px;margin:17px 0}.schedule-fields>label:first-child{margin-top:0}.schedule-hint{font-size:12px;color:#77866b;line-height:1.85;margin:9px 0 14px}.schedule-weekdays{border:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 2px}.schedule-weekdays legend{font-size:12px;margin-bottom:10px}.schedule-weekdays label{display:flex;align-items:center;gap:6px;margin:0;background:white;border:1px solid #dfe6d7;border-radius:7px;padding:8px 10px;font-size:12px}.schedule-weekdays input{width:17px;height:17px;margin:0;accent-color:#718e79}.schedule-error{color:#b55e43;font-size:12px;line-height:1.8;margin-top:12px}.span-badge{font-size:10px;color:inherit;opacity:.8}@media(max-width:760px){.schedule-fields{padding:12px}.schedule-fields .form-grid{grid-template-columns:1fr}.schedule-weekdays{gap:7px}.schedule-weekdays label{padding:9px 10px}.task-editor-modal{padding:22px 18px}}.family-shell button,.family-shell input,.family-shell select,.welcome button{min-height:44px}.family-shell main{padding-bottom:40px}.family-shell h2{display:flex;align-items:center;gap:8px}.family-shell small{line-height:1.7}.family-shell .card{padding:24px}.family-shell .task-meta{font-size:12px;flex-wrap:wrap}.family-shell .task-info p{font-size:13px}.family-shell .task-name-button{font-size:16px}.family-shell .filters button{font-size:13px}.family-shell .timer small{font-size:11px}.family-shell .helper{font-size:13px;line-height:1.85}.family-shell .sidebar nav button{font-size:13px}.family-shell footer{font-size:12px}.family-shell .topbar{position:sticky;top:0;z-index:12;backdrop-filter:blur(15px);background:#f8f9f5ed}.family-summary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:16px;margin-bottom:25px}.family-summary>button,.family-summary>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px 23px;text-align:left}.family-summary small{display:block;color:var(--muted);font-size:12px}.family-summary strong{display:block;font-size:30px;font-weight:600;color:var(--green);margin-top:8px}.family-summary strong small{display:inline;font-size:13px}.family-summary .wish-title{font-size:18px;line-height:1.6}.family-summary progress{margin-top:12px;width:100%}.family-task{flex-wrap:wrap;align-items:flex-start!important}.family-task .task-info{flex:1;min-width:210px}.family-task .task-actions{flex-wrap:wrap;justify-content:flex-end;max-width:200px}.family-task .task-title{flex-wrap:wrap}.state-pill{padding:4px 9px;border-radius:20px;font-size:11px;background:#f1f3ec;color:#6c7d6c;white-space:nowrap}.state-pending{background:#fff0d5;color:#957129}.state-returned{background:#fae9e0;color:#ae6e56}.state-completed{background:#e6f1e5;color:#608064}.task-star{color:#987d3c!important;font-size:12px!important}.star-chip{background:#fff3da;padding:6px 13px;border-radius:30px;color:#967936;font-weight:600}.count-pill{margin-left:auto;border-radius:12px;padding:1px 7px;background:#edddd2;font-size:11px}.button-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:10px}.button-row .primary,.button-row .secondary{font-size:12px;padding:8px 13px}.history-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.history-row:last-child{border-bottom:0}.history-row p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:5px}.history-row small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.spaced{margin-top:25px}.inbox,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.reward-card{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.reward-card.chosen{border:2px solid #b6c6a6}.reward-card h3{font-size:17px}.reward-card p{font-size:13px;line-height:1.8;color:var(--muted);flex:1}.reward-card small{font-size:12px;color:var(--muted)}.reward-card progress{width:100%}.reward-illustration{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#f5f3e8;font-size:30px}.star-price{color:#ac8b42;font-size:20px}.badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.badge{text-align:center;padding:18px 8px;background:#f7f8f3;border-radius:13px;opacity:.65;display:flex;flex-direction:column;gap:8px}.badge.unlocked{opacity:1;background:#faf1df}.badge>span{font-size:32px}.badge>b{font-size:13px}.badge small{font-size:11px;color:#879079}.pair-code{padding:22px;background:#f5f7ef;margin-top:20px;border-radius:13px}.pair-code strong{font-size:32px;letter-spacing:7px}.pair-code p{font-size:12px;line-height:1.9}.welcome{min-height:100vh;display:grid;place-items:center;padding:24px}.welcome-card{width:min(100%,530px);padding:38px!important}.welcome .brand{margin-bottom:35px}.welcome .eyebrow{display:block}.welcome h1{font-size:26px}.welcome p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:10px}.welcome label{font-size:13px}.welcome input{min-height:48px}.role-tabs{display:flex;gap:10px;background:#f3f5ee;padding:6px;border-radius:13px;margin-top:25px}.role-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border-radius:9px;font-size:14px;color:#7b8678}.role-tabs button.active{background:white;color:#bc745d;box-shadow:0 2px 7px #35443308}.install-guide{background:#f7f8f1;padding:17px;border-radius:12px;margin-top:22px;font-size:13px;line-height:1.9;color:#7f8b76}.install-guide ol{padding-left:20px;margin:10px 0}.install-guide small{font-size:12px}.task-detail{max-width:720px}.task-detail .record-text{white-space:pre-wrap;line-height:1.9;background:#f7f8f3;border-radius:10px;padding:15px;margin:16px 0}.detail-photos{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.detail-photos img{width:110px;height:100px;object-fit:cover;border-radius:10px}.feedback-note{padding:15px;background:#f6f7ef;margin-top:13px;border-radius:10px;font-size:13px;line-height:1.8}.feedback-note small{color:#88918a;font-size:12px}.feedback-note p{white-space:pre-wrap}.full-progress{width:100%;margin-top:20px;height:12px}progress{accent-color:var(--green);height:10px;border:0}.policy-fields{border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.family-shell .toast{z-index:90}.family-shell .alert{position:sticky;top:78px;z-index:70}.family-shell .modal-backdrop{z-index:50}.family-shell .modal{max-height:90dvh;overflow-y:auto}.family-shell .review-stats span{font-size:12px}.family-shell .tool-date input{max-width:180px}.family-shell .sidebar-note p{font-size:12px}@media(max-width:1100px){.family-shell .sidebar{width:200px;padding:26px 16px}.family-shell .workspace{margin-left:200px;width:calc(100% - 200px)}.family-shell main{padding:25px 22px}.family-shell .topbar{padding:0 22px}.family-shell .unified-workspace{display:flex;flex-direction:column}.family-shell .right-column{width:100%;display:grid;grid-template-columns:1fr 1fr}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-summary{gap:10px}.family-summary>button,.family-summary>div{padding:16px}.inbox,.settings-grid{grid-template-columns:1fr}.family-shell .task-title{gap:8px}}@media(max-width:900px){.family-shell{display:block}.family-shell .sidebar{position:static;width:100%;padding:18px 16px}.family-shell .brand{font-size:23px}.family-shell .nav-label,.family-shell .sidebar .student,.family-shell .sidebar-bottom,.family-shell .sidebar-note{display:none}.family-shell .sidebar nav{display:flex;flex-direction:row;overflow-x:auto;gap:6px;margin-top:17px}.family-shell .sidebar nav button{flex-shrink:0;font-size:13px;padding:8px 12px;gap:7px}.family-shell .sidebar nav button svg{width:17px}.family-shell .workspace{width:100%;margin-left:0}.family-shell .topbar{height:58px;padding:0 16px}.family-shell .top-right{gap:14px}.family-shell main{padding:23px 16px}.family-shell .page-heading h1{font-size:24px}.family-shell .page-heading p{font-size:13px}.family-shell .family-summary{grid-template-columns:1fr 1fr}.family-summary>button{grid-column:1/-1}.family-shell .right-column{grid-template-columns:1fr}.family-shell .task-card{padding:18px 14px}.family-task .task-info{min-width:100%;width:100%}.family-task .task-actions{max-width:none;width:100%;justify-content:space-between}.family-shell .task-name-button{font-size:16px}.family-shell .task-meta{font-size:12px}.family-shell .timer{font-size:20px}.family-shell .timer small{display:block}.family-shell .card{padding:20px}.family-shell .task-heading h2{font-size:17px}.family-shell .filters button{font-size:13px;padding:8px 11px}.family-shell .review-stats{grid-template-columns:1fr 1fr}.family-shell .review-stats strong{font-size:26px}.reward-grid{grid-template-columns:1fr}.badges{grid-template-columns:1fr 1fr}.history-row{flex-wrap:wrap;gap:8px}.family-shell .modal{padding:22px 18px;max-height:88dvh}.family-shell .toast{bottom:16px;font-size:13px}.family-shell .alert{top:60px}.welcome-card{padding:25px!important}.family-shell .task-calendar.month{min-width:980px}.family-shell .calendar-check,.family-shell .month .calendar-check{min-width:44px;min-height:44px}.family-shell .cell-task-title{font-size:12px}.family-shell .review-columns{grid-template-columns:1fr}.family-shell .review-hero{gap:10px}.family-shell .section-heading small{font-size:11px}.family-shell .book-tools{flex-wrap:wrap}}.family-shell .brand>div{display:block}.family-shell .brand{font-size:22px;letter-spacing:2px}.family-shell .brand-icon{flex-shrink:0}.family-shell .calendar-check{height:28px;min-height:28px;flex-shrink:0}.family-shell .cell-task{align-items:flex-start}.family-shell .calendar-check[role=button]{min-width:24px;width:24px;min-height:44px}.family-shell .brand small{font-size:8px}progress{appearance:none;border-radius:8px;overflow:hidden;background:#edf0e9}progress::-webkit-progress-bar{background:#edf0e9;border-radius:8px}progress::-webkit-progress-value{background:#799d86;border-radius:8px}progress::-moz-progress-bar{background:#799d86;border-radius:8px}@media(min-width:600px) and (max-width:900px){.family-summary{grid-template-columns:1fr 1fr 1.2fr}.family-summary>button{grid-column:auto}.family-summary .wish-title{font-size:16px}}.family-shell .sidebar .brand{justify-content:flex-start}