:root{--ink:#263b32;--muted:#788278;--green:#416c50;--green-dark:#2c523b;--soft:#e9f0e3;--paper:#fafbf6;--line:#e4e8df;--orange:#aa6e39;--orange-bg:#fbf0df;--blue:#507384;--blue-bg:#e9f1f4;--red:#a75845;--red-bg:#f9ebe5;--radius:24px;--shadow:0 10px 35px #293e2c05}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #9db787}svg{flex-shrink:0}.icon{vertical-align:middle;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:22px;height:22px;display:inline-block}.app-shell{grid-template-columns:224px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#f3f5ee;flex-direction:column;height:100vh;padding:34px 22px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:1px;align-items:center;gap:11px;padding:0 12px;font-size:21px;font-weight:750;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:14px;place-items:center;width:39px;height:39px;display:grid}.brand small{letter-spacing:2px;color:var(--muted);font-size:10px;font-weight:500;line-height:1.1;display:block}.sidebar .day-note{color:#8b9287;margin:26px 12px 15px;font-size:12px}.nav{gap:7px;display:grid}.nav-link{color:#798377;text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:13px;min-height:50px;padding:14px 15px;font-weight:600;display:flex}.nav-link:hover{background:#e9ede2}.nav-link.active{color:var(--green-dark);background:#e1e9d9}.nav-link .count{background:#d0ddc3;border-radius:7px;margin-left:auto;padding:1px 6px;font-size:11px}.sidebar-bottom{margin-top:auto}.mini-sheep{color:var(--muted);border-top:1px solid #e0e6d8;align-items:center;gap:10px;margin:24px 10px 0;padding-top:20px;font-size:12px;display:flex}.mini-sheep svg{width:44px;height:50px}.prototype-link{text-align:center;color:#85917e;margin-top:20px;font-size:12px;display:block}.main{width:100%;max-width:1500px;margin:0 auto;padding:30px 44px 40px}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:40px;margin-bottom:37px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.top-actions{align-items:center;gap:15px;display:flex}.demo-pill{letter-spacing:1px;color:#7a8671;border:1px solid #d8dfd2;border-radius:7px;padding:4px 9px;font-size:11px}.role-btn{border:1px solid var(--line);color:#5c6e5d;background:#fff;border-radius:24px;align-items:center;gap:7px;min-height:42px;padding:8px 13px;font-size:13px;display:flex}.avatar{background:#d9e2cc;border-radius:50%;place-items:center;width:31px;height:31px;font-size:14px;font-weight:700;display:grid}.heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:2px;color:#829078;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:34px;font-weight:700;line-height:1.4}h2{letter-spacing:-.4px;font-size:21px;line-height:1.4}h3{font-size:17px}p.sub{color:var(--muted);margin-top:7px;font-size:14px}.date-pill{color:#8b947f;align-items:center;gap:9px;font-size:13px;display:flex}.btn{background:var(--green);color:#fff;white-space:nowrap;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:13px 20px;font-size:14px;font-weight:650;transition:background .2s,transform .2s;display:inline-flex}.btn:hover{background:var(--green-dark);transform:translateY(-1px)}.btn.secondary{color:#526d49;background:#edf1e8}.btn.secondary:hover{background:#e1e9d9}.btn.outline{color:#62755d;background:#fff;border:1px solid #dce4d7}.btn.ghost{color:#72846a;background:0 0}.btn.warm{color:#9b703e;background:#f2e4d0}.btn.danger{background:var(--red-bg);color:var(--red)}.btn.large{border-radius:16px;min-height:62px;padding:17px 27px;font-size:18px}.btn.small{border-radius:10px;min-height:37px;padding:9px 13px;font-size:12px}.btn.full{width:100%}.inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.small{font-size:12px}.text-link{color:var(--green);background:0 0;border:0;align-items:center;gap:7px;min-height:36px;padding:8px 0;font-size:13px;font-weight:600;display:inline-flex}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:27px}.grid-main{grid-template-columns:minmax(0,1fr) 285px;gap:22px;display:grid}.stack{align-content:start;gap:20px;display:grid}.hero-card{background:#ecf1e6;border-color:#e0e7d8;padding:30px;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;border:1px solid #dbe4d2;border-radius:50%;width:290px;height:290px;position:absolute;top:-90px;right:-85px}.hero-top{z-index:1;align-items:center;gap:8px;margin-bottom:23px;display:flex;position:relative}.label{color:#728664;background:#fff;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600}.dot{background:#799e61;border-radius:50%;width:6px;height:6px}.subject{border-radius:12px;flex-shrink:0;place-items:center;width:43px;height:46px;font-size:17px;font-weight:700;display:inline-grid}.subject.math{color:#738957;background:#e8eddf}.subject.chinese{color:#ac8657;background:#f5eadb}.subject.english{color:#718fa0;background:#e7eef2}.task-title{align-items:center;gap:12px;margin-bottom:20px;display:flex}.task-title h2{font-size:28px}.task-title p{color:#839078;margin-top:2px;font-size:12px}.req-list{gap:12px;margin:18px 0 26px;display:grid}.req-item{align-items:center;gap:12px;font-size:15px;display:flex}.req-icon{color:#82946f;border:1px solid #d0dbc3;border-radius:8px;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.req-item.done{color:#9aa293}.req-item.done .req-icon{background:#e8eedf}.req-item.done span:last-child{text-decoration:line-through}.hero-bottom{justify-content:space-between;align-items:center;gap:15px;margin-top:23px;display:flex}.hero-bottom .estimate{text-align:right;color:#849277;font-size:12px}.hero-bottom .estimate strong{color:#6c805d;font-size:16px;display:block}.companion{text-align:center;background:#f8f4e9;border-color:#eee8d9;padding:22px 20px;position:relative;overflow:hidden}.companion .sheep-art{width:175px;height:145px;margin:6px auto 5px}.companion p{color:#938a70;font-size:13px;line-height:1.8}.companion h3{color:#7e795d;margin-bottom:6px;font-size:17px}.companion .eyebrow{color:#a3a084;font-size:10px}.note-card{background:#fffdf8;border:1px solid #e8e2d5;border-radius:20px;padding:20px}.note-icon{color:#a78455;align-items:center;gap:8px;margin-bottom:10px;display:flex}.note-card p{color:#958776;font-size:12px;line-height:1.8}.note-card .text-link{color:#a78455}.section-title{justify-content:space-between;align-items:center;gap:15px;margin:29px 0 15px;display:flex}.section-title h2{font-size:18px}.section-title span{color:#8c9583;font-size:12px}.task-list{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden}.task-row{border-bottom:1px solid #edf0e8;align-items:center;gap:15px;padding:21px 23px;transition:background .2s;display:flex}.task-row:last-child{border:0}.task-row:hover{background:#fcfdf8}.task-body{flex:1;min-width:0}.task-body h3{font-size:16px;font-weight:600}.task-body p{color:#92998c;margin-top:4px;font-size:12px}.task-body .status{margin-top:7px}.status{white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:inline-flex}.status.amber{color:#a07a44;background:#fcf0df}.status.blue{color:#718c99;background:#eaf1f4}.status.red{color:#b7775c;background:#faeae3}.status.gray{color:#939b8b;background:#f1f2ed}.row-arrow{color:#91a087}.course-strip{color:#8b987d;border:1px dashed #d8dfd1;border-radius:15px;align-items:center;gap:13px;margin-top:22px;padding:16px 19px;font-size:13px;display:flex}.course-strip strong{color:#637959;margin-right:7px}.course-strip .text-link{white-space:nowrap;margin-left:auto}.footer-note{letter-spacing:.4px;color:#9aa28f;justify-content:center;align-items:center;gap:7px;margin-top:28px;font-size:11px;display:flex}.notice{background:var(--orange-bg);color:#9a794b;border-radius:14px;align-items:center;gap:10px;margin:16px 0;padding:13px 17px;font-size:13px;line-height:1.7;display:flex}.notice.blue{background:var(--blue-bg);color:#688391}.notice.green{background:var(--soft);color:#718463}.notice .text-link{flex-shrink:0;margin-left:auto}.columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.wide-grid{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:22px;display:grid}.field{gap:8px;margin-bottom:19px;display:grid}.field label{color:#697b60;font-size:13px;font-weight:600}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fcfdf8;border:1px solid #dce4d4;border-radius:12px;min-height:49px;padding:13px}.field textarea{resize:vertical;min-height:145px;line-height:1.9}.check-label{cursor:pointer;background:#fff;border:1px solid #e1e6db;border-radius:13px;align-items:flex-start;gap:12px;margin:11px 0;padding:16px;display:flex}.check-label input{accent-color:var(--green);flex-shrink:0;width:21px;height:21px;margin:1px 0}.check-label strong{font-weight:600}.check-label p{color:#8b9584;margin-top:4px;font-size:12px}.divider{background:var(--line);height:1px;margin:22px 0}.tabs{background:#edf1e7;border-radius:13px;flex-wrap:wrap;gap:7px;width:fit-content;margin-bottom:24px;padding:5px;display:flex}.tabs button{color:#87957d;background:0 0;border:0;border-radius:9px;min-height:39px;padding:9px 17px;font-size:13px}.tabs button.active{color:#516d43;background:#fff;font-weight:650;box-shadow:0 2px 8px #394d2c08}.paper{color:#827660;background:#fffcf4;border:1px solid #e9e3d5;border-radius:14px;padding:24px;line-height:2.1;position:relative}.paper h3{color:#6f6854;border-bottom:1px solid #e9e0cc;margin-bottom:12px;padding-bottom:10px}.paper .hand{font-size:16px}.paper small{color:#a69e8d;font-size:11px}.diff-row{border-bottom:1px solid var(--line);padding:18px 0}.diff-row:last-child{border:0}.diff-values{flex-wrap:wrap;align-items:center;gap:12px;margin-top:9px;font-size:13px;display:flex}.old{color:#ad917e;text-decoration:line-through}.new{color:#6c825a;background:#edf2e7;border-radius:7px;padding:4px 9px}.timer-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:24px;display:grid}.timer-card{text-align:center;background:#eef3e8;flex-direction:column;justify-content:center;align-items:center;min-height:480px;padding:40px 25px;display:flex}.timer-orbit{background:#f5f8ee;border:5px solid #d9e3cd;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:278px;height:278px;margin:15px auto 25px;display:flex;position:relative;box-shadow:inset 0 0 0 10px #eef3e8}.timer-orbit:before{content:"";background:#8da477;border:4px solid #edf3e6;border-radius:50%;width:13px;height:13px;position:absolute;top:29px;right:35px}.timer-number{letter-spacing:1px;color:#426143;font-variant-numeric:tabular-nums;font-family:ui-serif,Georgia,serif;font-size:67px;line-height:1.25}.timer-caption{color:#8c9c7e;margin-top:9px;font-size:12px}.timer-card .status{margin-bottom:5px}.timer-actions{gap:11px;display:flex}.mini-requirement{border-bottom:1px solid var(--line);align-items:start;gap:10px;padding:14px 0;display:flex}.mini-requirement:last-child{border:0}.mini-requirement .num{color:#a0ad92;width:20px;font-family:Georgia,serif;font-size:19px}.hint-box{color:#8b8168;background:#f8f6ee;border-radius:15px;margin:20px 0;padding:17px;font-size:13px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:21px}.stat-card .value{color:#526e46;font-size:31px;font-weight:650;line-height:1.5}.stat-card .value small{font-size:13px;font-weight:400}.stat-card .label-text{color:#89927f;font-size:12px}.action-card{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:17px;margin-bottom:14px;padding:23px;display:flex}.action-card .action-number{color:#8d9f7e;background:#edf1e7;border-radius:12px;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:20px;display:grid}.action-card .action-copy{flex:1}.action-card p{color:#909987;margin-top:4px;font-size:12px}.timeline{border-left:1px solid #dbe3d2;margin:10px 0 0 9px;padding-left:24px}.timeline-item{padding:0 0 22px;position:relative}.timeline-item:before{content:"";background:#a1b58b;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:-29px}.timeline-item time{color:#99a18f;font-size:11px}.timeline-item p{margin-top:5px;font-size:13px}.bar-chart{border-bottom:1px solid var(--line);align-items:end;gap:20px;height:180px;margin:20px 0 0;padding:15px 6px 25px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:7px;height:100%;display:flex;position:relative}.bar-col .bar{background:#c9d7bc;border-radius:6px 6px 0 0;width:100%;max-width:40px;min-height:4px}.bar-col span{color:#98a18b;font-size:10px}.bar-col .day{position:absolute;bottom:-23px}.legend{color:#89967d;gap:18px;margin-top:20px;font-size:11px;display:flex}.legend i{background:#c9d7bc;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.result-summary{background:#f3f6ed;border-radius:16px;margin:15px 0;padding:20px;font-size:14px}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:19px 0;display:flex}.setting-row p{color:#929b87;margin-top:4px;font-size:12px}.toggle{background:#dce2d4;border:0;border-radius:30px;align-items:center;width:47px;min-width:47px;height:28px;padding:4px;display:flex}.toggle:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;box-shadow:0 1px 4px #0001}.toggle.on{background:#7e9a68}.toggle.on:before{transform:translate(19px)}.state-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.state-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px}.state-card p{color:#8a9681;margin:10px 0 16px;font-size:12px;line-height:1.8}.state-card h3{font-size:15px}.empty{text-align:center;padding:60px 25px}.empty .empty-symbol{color:#8ca076;background:#edf2e6;border-radius:30px;place-items:center;width:80px;height:80px;margin:0 auto 24px;display:grid}.empty h2{margin-bottom:10px}.empty p{color:#8a967d;max-width:420px;margin:0 auto 24px;font-size:14px}.page-center{max-width:800px;margin:0 auto}.steps{gap:8px;margin-bottom:30px;display:flex}.step{background:#e2e8da;border-radius:4px;flex:1;height:4px}.step.active{background:#8ba175}.onboarding{text-align:center;background:#f1f5eb;flex-direction:column;justify-content:center;align-items:center;min-height:500px;padding:48px;display:flex}.onboarding .sheep-art{width:200px;height:170px;margin-bottom:18px}.onboarding p{color:#819073;max-width:430px;margin:18px auto 27px;line-height:1.9}.onboard-cards{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;margin:25px 0;display:grid}.onboard-cards>div{color:#6c815a;background:#fff;border-radius:14px;padding:18px 12px;font-size:13px}.onboard-cards b{margin-bottom:7px;font-family:Georgia,serif;font-size:24px;display:block}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#23322155;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.modal{background:#fcfdf8;border-radius:25px;width:100%;max-width:580px;max-height:90vh;padding:30px;overflow-y:auto;box-shadow:0 25px 100px #12231833}.modal h2{margin-bottom:8px;font-size:22px}.modal p.sub{margin-bottom:20px}.modal-close{float:right;color:#81916f;background:#edf1e6;border:0;border-radius:50%;place-items:center;width:33px;height:33px;display:grid}.modal-buttons{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.radio-group{gap:8px;margin:20px 0;display:grid}.radio-label{background:#fff;border:1px solid #e0e6d8;border-radius:12px;align-items:center;gap:12px;padding:14px;font-size:14px;display:flex}.radio-label input{accent-color:var(--green)}#toast{color:#f6f8f0;z-index:200;opacity:0;pointer-events:none;text-align:center;background:#334c39;border-radius:14px;max-width:90%;padding:14px 22px;font-size:13px;transition:all .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);box-shadow:0 8px 30px #21341b22}#toast.show{opacity:1;transform:translate(-50%)}.route-chip{color:#9ba58c;margin-top:6px;font-size:10px;display:block}.table-scroll{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:#8b977e;white-space:nowrap;background:#f4f6ee;padding:13px 14px;font-weight:500}.data-table td{border-bottom:1px solid var(--line);padding:16px 14px}.phone-only{display:none}.sticky-note{color:#a38760;background:#fcf6e9;border:1px solid #eee4d3;border-radius:13px;margin:20px 0;padding:15px 18px;font-size:12px}.completion-head{text-align:center;margin:25px 0}.completion-head .sheep-art{width:150px;height:140px}.completion-head h1{font-size:29px}.complete-list{gap:13px;margin:25px 0;display:grid}.complete-row{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:11px;padding:18px;display:flex}.complete-row .icon{color:#8fa477}.complete-row .status{margin-left:auto}.role-banner{color:#a0a894;text-align:center;margin-top:10px;font-size:11px}.notice.offline{color:#9c765b;background:#f5e9df}.alert-list{color:#8b947d;gap:9px;font-size:12px;display:grid}.alert-entry{background:#f4f6ee;border-radius:9px;padding:10px 13px}.sound-status{align-items:center;gap:9px;display:flex}.sound-status .dot{background:#a9ac9c}.sound-status.ready .dot{background:#779766}.roadmap-tag{color:#8b9880;border:1px dashed #cfd8c4;border-radius:6px;padding:4px 8px;font-size:10px}.cover-leaf{color:#8fa379;margin-bottom:15px;font-size:32px}.parent-hero{background:#eef2e8;border:1px solid #dfe6d5}.screen-counter{color:#8e9a81;font-size:12px}.mobile-brand{display:none}.audit-note{color:#78896b;background:#edf2e7;border-radius:13px;margin:15px 0;padding:15px;font-size:12px}.mode-button{display:none}.sound-pill{color:#8c987f;background:0 0;border:0;align-items:center;gap:5px;padding:8px;font-size:12px;display:flex}.subject-tabs{flex-wrap:wrap;gap:10px;margin:17px 0;display:flex}.subject-tabs button{border:1px solid var(--line);color:#8c9780;background:#fff;border-radius:11px;padding:11px 18px}.subject-tabs button.active{color:#607c4c;background:#eef3e6;border-color:#8ea775}.detail-head{align-items:center;gap:15px;display:flex}.detail-head .subject{width:54px;height:58px;font-size:23px}.metric-note{color:#a2aa99;margin-top:14px;font-size:11px;line-height:1.7}.prototype-route{display:block}.prototype-route:hover{border-color:#9eb28b;box-shadow:0 5px 20px #30452a0a}.word-break{overflow-wrap:anywhere}body.compact-mode .main{max-width:1300px}.screen-only{color:#8e9b81;border:1px dashed #d9e2d1;border-radius:9px;margin:20px 0;padding:9px 13px;font-size:11px}.progress-line{background:#e5ebdf;border-radius:4px;height:5px;margin-top:18px;overflow:hidden}.progress-line div{background:#93ac7f;border-radius:4px;height:100%}.plan-item{border-bottom:1px solid var(--line);align-items:start;gap:18px;padding:22px 0;display:flex}.plan-time{color:#70865f;min-width:63px;font-family:Georgia,serif;font-size:22px}.plan-body{flex:1}.plan-body p{color:#929c88;margin-top:4px;font-size:12px}.pill-button{color:#7a8c6a;background:#fff;border:1px solid #dce3d4;border-radius:20px;min-height:36px;padding:7px 12px;font-size:12px}.selected-profile{background:#f0f5e9;border-color:#91aa7a}.profile-card{text-align:center;border:1px solid var(--line);cursor:pointer;border-radius:20px;min-height:180px;padding:25px}.profile-card.selected-profile{background:#f0f5e9;border-color:#91aa7a}.profile-card .avatar{width:60px;height:60px;margin:0 auto 12px;font-size:24px}.sound-warning{color:#987d5d;margin:13px 0;font-size:12px}@media (min-width:1500px){.main{padding:38px 64px 45px}.grid-main{grid-template-columns:1fr 320px}.hero-card{padding:35px}.companion .sheep-art{height:160px}.task-row{padding:23px 27px}}@media (max-width:1180px){.app-shell{grid-template-columns:182px 1fr}.sidebar{padding:28px 13px}.brand{gap:8px;padding:0 8px;font-size:18px}.brand-mark{width:33px;height:35px}.main{padding:27px}.grid-main{grid-template-columns:minmax(0,1fr) 245px;gap:17px}.hero-card{padding:25px}.card{padding:23px}.task-title h2{font-size:25px}.btn.large{padding:15px 22px;font-size:16px}.timer-number{font-size:59px}.timer-orbit{width:235px;height:235px}.timer-card{min-height:450px;padding:28px 17px}.state-grid{grid-template-columns:repeat(2,1fr)}.top-actions{gap:9px}.sound-pill span{display:none}.stat-card{padding:17px}.stat-card .value{font-size:26px}}@media (max-width:900px){.app-shell{grid-template-columns:88px 1fr}.sidebar{padding:25px 10px}.brand{justify-content:center;padding:0}.brand>span:last-child,.sidebar .day-note{display:none}.nav{gap:12px;margin-top:35px}.nav-link{text-align:center;flex-direction:column;gap:5px;padding:10px 4px;font-size:10px}.nav-link .count,.mini-sheep{display:none}.prototype-link{padding:0 6px;font-size:10px;line-height:1.8}.main{padding:27px 25px}.grid-main{grid-template-columns:minmax(0,1fr) 214px;gap:17px}.companion{padding:20px 13px}.companion .sheep-art{width:150px;height:125px}.companion h3{font-size:15px}.companion p{font-size:12px}.note-card{padding:17px}.hero-card{padding:23px}.heading{margin-bottom:22px}h1{font-size:30px}.topbar{margin-bottom:28px}.timer-layout{grid-template-columns:1fr}.timer-card{min-height:380px}.timer-orbit{width:230px;height:230px}.timer-layout>.stack{grid-template-columns:1fr 1fr}.timer-layout>.stack>.card{grid-column:1/-1}.wide-grid{grid-template-columns:1fr}.stat-grid{gap:10px}.stat-card{padding:15px}.stat-card .value{font-size:24px}.state-grid{gap:12px}.action-card{padding:20px}.task-row{padding:18px}.date-pill{font-size:12px}.columns{gap:16px}}@media (max-width:700px){.app-shell{display:block}.sidebar{z-index:50;width:100%;height:auto;padding:5px 7px max(7px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f7f9f1f5;border-top:1px solid #dfe6d5;border-right:0;position:fixed;top:auto;bottom:0}.brand,.sidebar-bottom{display:none}.nav{justify-content:space-around;gap:2px;margin:0;display:flex}.nav-link{border-radius:12px;flex:1;gap:3px;min-width:55px;padding:8px 12px;font-size:10px}.nav-link .icon{width:20px;height:20px}.main{padding:19px 19px 105px}.topbar{gap:10px;margin-bottom:26px}.breadcrumbs{font-size:11px}.top-actions{gap:6px}.role-btn{min-height:36px;padding:6px 10px;font-size:11px}.role-btn .icon{width:16px;height:16px}.demo-pill{letter-spacing:0;padding:3px 6px;font-size:9px}.top-actions>.avatar,.sound-pill{display:none}.heading{align-items:start;gap:12px;margin-bottom:21px}h1{font-size:28px}.heading p.sub{font-size:12px;line-height:1.8}.eyebrow{font-size:10px}.date-pill{display:none}.grid-main{grid-template-columns:1fr;gap:17px}.grid-main>.stack{grid-template-columns:1fr 1fr;gap:13px}.hero-card{padding:25px}.hero-top{margin-bottom:20px}.hero-card .task-title h2{font-size:25px}.hero-bottom{margin-top:22px}.companion{min-height:195px;padding:15px 12px}.companion .sheep-art{width:115px;height:85px;margin:0 auto}.companion .eyebrow{margin:0;font-size:8px}.companion h3{font-size:14px}.companion p{font-size:11px;line-height:1.6}.note-card{border-radius:20px;flex-direction:column;justify-content:center;padding:17px 14px;display:flex}.note-card .note-icon{gap:6px;font-size:13px}.note-card p{font-size:11px}.note-card .text-link{font-size:11px;line-height:1.4}.note-icon .icon{width:19px;height:19px}.hero-bottom .estimate strong{font-size:14px}.hero-bottom .estimate{font-size:10px}.btn.large{min-height:56px;padding:15px 25px;font-size:16px}.req-item{font-size:14px}.task-row{gap:12px;padding:19px 16px}.task-body h3{font-size:14px}.task-body p{font-size:11px}.task-row>.status{font-size:10px}.task-row .subject{width:35px;height:40px;font-size:15px}.subject-tabs button{padding:10px 14px;font-size:12px}.course-strip{align-items:start;gap:8px;padding:14px 13px;font-size:11px}.course-strip .icon{width:19px;height:19px}.course-strip .text-link{min-height:20px;padding:0;font-size:11px}.course-strip strong{display:block}.footer-note{margin-top:24px;font-size:9px}.section-title{margin-top:24px}.section-title h2{font-size:17px}.section-title span{font-size:10px}.columns,.wide-grid{grid-template-columns:1fr}.card{padding:22px}.timer-card{min-height:420px;padding:24px 16px}.timer-layout>.stack{grid-template-columns:1fr}.timer-orbit{width:245px;height:245px}.timer-number{font-size:61px}.timer-actions{gap:9px}.timer-actions .btn{padding:12px 17px;font-size:13px}.timer-layout{gap:17px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:18px}.stat-card .value{font-size:28px}.action-card{align-items:start;gap:11px;padding:17px}.action-card .action-number{width:31px;height:33px;font-size:17px}.action-card h3{font-size:14px}.action-card p{font-size:11px}.action-card .btn{min-height:36px;padding:9px 10px;font-size:11px}.notice{align-items:start;padding:12px 14px;font-size:11px}.notice .icon{width:17px;height:17px}.notice .text-link{min-height:20px;padding:0;font-size:11px}.state-grid{grid-template-columns:1fr}.onboarding{min-height:500px;padding:30px 20px}.onboarding .sheep-art{height:150px}.onboarding h1{font-size:26px}.onboard-cards{gap:8px}.onboard-cards>div{padding:15px 7px;font-size:11px}.modal-overlay{align-items:center;padding:14px}.modal{max-height:90vh;padding:23px}.modal-buttons .btn{flex:1;padding:12px 15px;font-size:12px}.modal h2{font-size:20px}.modal-close{width:29px;height:29px}.tabs{gap:3px;width:100%}.tabs button{flex:1;padding:9px 12px;font-size:12px}.small{font-size:11px}.screen-counter{font-size:10px}.bar-chart{gap:12px}.complete-row{gap:9px;padding:14px;font-size:13px}.complete-row .status{font-size:10px}.plan-item{gap:12px}.plan-time{min-width:53px;font-size:20px}.heading>.btn{min-height:38px;padding:9px 12px;font-size:11px}.phone-only{display:block}.mobile-brand{align-items:center;gap:7px;display:flex}.mobile-brand strong{font-size:13px}.prototype-nav-mobile{color:#8b997d;font-size:11px}.role-banner{font-size:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.nav-link>span{white-space:nowrap}.brand small{letter-spacing:1.2px;font-size:8px}.hero-card{align-self:start;min-height:402px}.grid-main>.stack{gap:17px}.companion .sheep-art{height:125px}.companion{padding-top:19px;padding-bottom:19px}.req-item.done>span:last-child{text-decoration:line-through}@media (max-width:700px){.hero-card{min-height:0}.companion .sheep-art{height:85px}}.demo-pill,.role-btn{white-space:nowrap;flex-shrink:0}@media (max-width:700px){.breadcrumbs>span{display:none}.breadcrumbs:after{content:"作业安排";letter-spacing:1px;font-size:13px;font-weight:650}.breadcrumbs{gap:7px}.breadcrumbs .icon{width:20px;height:20px}.topbar{min-height:37px}.companion h3{font-size:13px}.companion .eyebrow{letter-spacing:1.2px}}.voice-panel{text-align:left;background:#f7f9f2;border:1px solid #dce5d3;border-radius:16px;min-width:0;max-width:100%;margin:18px 0;padding:18px}.voice-panel strong{align-items:center;gap:6px;font-size:14px;display:flex}.voice-panel .voice-runtime{color:#6c805d;overflow-wrap:anywhere;margin:12px 0;font-size:12px;line-height:1.8}.voice-panel .metric-note{margin:10px 0 0;font-size:11px;line-height:1.7}.voice-panel .sheep-quote{color:#4f6f43;margin:17px 0;font-size:17px;line-height:1.9}.voice-error{background:#fff9ed;border-color:#ecdfc5}.voice-error .voice-runtime{color:#94764c}.companion-actions{justify-content:center}.companion>.voice-panel{width:100%}.voice-panel .inline{flex-wrap:wrap;gap:8px}.voice-panel .between{flex-wrap:wrap;align-items:center;gap:10px}@media (max-width:700px){.page-center>.companion{padding:25px 18px!important}.voice-panel{padding:15px}.voice-panel .sheep-quote{font-size:15px}.voice-panel .btn{min-height:44px}.companion-actions{gap:10px}.companion-actions>.btn{width:100%}}.main,.card,.stack,.columns>*,.grid-main>*,form,fieldset,label{min-width:0}.sub,.metric-note,.task-body p,.plan-body p,.footer-note{color:#596954}.sub{margin-top:10px;line-height:1.8}.metric-note{font-size:12px}.btn{white-space:normal;justify-content:center;align-items:center;gap:9px;min-height:46px;display:inline-flex}.btn:disabled{opacity:.55}.form-stack{gap:18px;display:grid}.form-stack h2{margin-top:5px}.form-stack label,.workspace-toolbar label{color:#40533c;flex-direction:column;gap:8px;font-size:14px;display:flex}.form-stack input:not([type=checkbox]),.form-stack textarea,.form-stack select,.workspace-toolbar select{width:100%;min-width:0;max-width:100%;color:var(--ink);background:#fff;border:1px solid #cbd6c1;border-radius:11px;min-height:46px;padding:12px;font-size:16px}.form-stack textarea{resize:vertical;line-height:1.7}.form-stack small{color:#596954;line-height:1.7}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.checkbox-line{align-items:center;gap:12px;min-height:46px;line-height:1.7;flex-direction:row!important;display:flex!important}.checkbox-line input{width:24px;height:24px;accent-color:var(--green);flex:0 0 24px}.low-priority{margin-top:24px}.notice{flex-wrap:wrap;gap:12px;margin-block:18px;font-size:14px;line-height:1.8}.notice>span:first-child{flex:1;min-width:0}.notice.danger,.notice.offline{color:#8a392b;background:#faeae2}.notice.amber{color:#79522e;background:#fbf1df}.notice .text-link{white-space:normal;flex-shrink:0}.icon-button{border:1px solid var(--line);width:44px;min-height:44px;color:var(--green);background:#fff;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.workspace-toolbar{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;display:flex}.workspace-toolbar label{min-width:160px}.native-date{pointer-events:none;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #cbd6c1;border-radius:11px;min-width:160px;min-height:46px;padding:10px 14px;display:block;position:relative}.native-date input{opacity:0;cursor:pointer;pointer-events:auto;width:100%;height:100%;position:absolute;inset:0}.native-date:focus-within{outline:3px solid #9db787}.native-date>span{pointer-events:none}.requirements{gap:17px;margin:24px 0;padding:0;list-style:none;display:grid}.requirements li{align-items:flex-start;gap:12px;font-size:16px;display:flex}.requirements li>div{overflow-wrap:anywhere;min-width:0}.requirements p{color:#596954;margin-top:7px;font-size:13px}.req-check{width:24px;min-width:24px;height:24px;color:var(--green);background:#f6f8f1;border:1px solid #c5d1bb;border-radius:7px;place-items:center;display:grid}.req-check.checked{background:#dfead5}.task-list{gap:12px;display:grid}.task-with-order{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:8px;display:flex}.task-with-order .task-row{border:0;flex:1;min-width:0;margin:0}.order-actions{gap:6px;padding-right:12px;display:flex}.task-row{min-width:0;margin-block:12px}.task-body{overflow-wrap:anywhere;min-width:0}.task-body .difference,.difference{color:#855b30;font-size:13px}.task-row>.status{white-space:normal;text-align:center;flex-shrink:0;max-width:180px}.original-card{background:#f6f5e9;align-self:start}.original-card h3{margin-top:18px}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6ee;border-left:3px solid #b8c7a9;border-radius:8px;max-width:100%;margin:18px 0;padding:18px;font-family:inherit;font-size:15px;line-height:1.9}.inset-panel{background:#f7f9f2;border:1px solid #d4deca;border-radius:15px;margin-top:22px;padding:20px}.requirement-editor{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 135px auto;align-items:end;gap:14px;padding-bottom:20px;display:grid}.requirement-editor textarea{min-height:80px}.warning-list{color:#7e5a36;margin:20px 0;padding-left:22px;line-height:2}.audit-entry{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:20px 0}.audit-entry p{white-space:pre-wrap;margin:10px 0}.audit-entry small{color:#596954}.change-comparison{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.change-comparison>div{overflow-wrap:anywhere;background:#f5f7ef;border-radius:12px;padding:16px}.change-comparison>div:last-child{background:#eef4e7}.change-comparison small{color:#596954}.change-comparison p{margin-top:6px;line-height:1.8}.parent-hero h2{align-items:center;gap:10px;display:flex}.parent-hero .between{flex-wrap:wrap;gap:20px}.stat-grid .stat-card{display:block}.stat-grid .value{margin-bottom:8px;display:block}.stat-card p{color:#596954;font-size:13px}.companion-full{padding:40px!important}.companion-full .sheep-art{width:260px;height:220px}.companion-full .sheep-quote{color:#426139;max-width:550px;margin:22px auto;font-size:20px}.sheep-portrait svg{max-width:100%}.completion-head .sheep-portrait{max-width:170px;margin:auto}.empty>.sheep-portrait{max-width:200px;margin:auto}.timer-orbit{text-align:center;place-items:center;margin:25px auto;display:grid}.timer-number{font-variant-numeric:tabular-nums}.timer-card>.status{align-self:center}.timer-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0;display:flex}.timer-layout>.stack .card{display:grid}.photo-preview{object-fit:contain;background:#f1f4ea;border-radius:12px;width:100%;height:auto;max-height:360px}details>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.invite-code{background:#eff4e7;border:1px dashed #9aac89;border-radius:12px;padding:18px}.invite-code p{margin-top:12px;font-size:13px;line-height:1.8}.state-card h3{margin-top:15px}.auth-layout{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1250px;min-height:100vh;margin:auto;padding:60px;display:grid}.auth-intro .sheep-portrait{max-width:360px;margin:30px auto}.auth-intro h1{margin-top:18px;font-size:44px}.auth-intro p{color:#596954;font-size:17px;line-height:1.9}.auth-card{padding:36px}.auth-card .tabs{margin:24px 0}.skip-link{z-index:200;border:2px solid var(--green);background:#fff;padding:12px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:15px}.status.green{color:#3d6031;background:#e3edd9}.between{justify-content:space-between;align-items:center;gap:14px;display:flex}.form-stack button{justify-self:start}.form-stack .btn.large{justify-self:stretch}.card .section-title:first-child{margin-top:0}.text-link{align-items:center;gap:6px;min-height:44px;font-size:14px;display:inline-flex}.main h1,.main h2,.main h3{overflow-wrap:anywhere}.voice-panel p{color:#4b6243;line-height:1.8}@media (max-width:1180px){.requirement-editor{grid-template-columns:minmax(0,1fr) 110px}.requirement-editor>.btn{grid-column:1/-1;justify-self:start}.auth-layout{gap:30px;padding:35px}.auth-intro h1{font-size:36px}.form-grid{grid-template-columns:1fr}.hero-card{min-height:390px}}@media (max-width:900px){.columns{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr;max-width:600px}.auth-intro{text-align:center}.auth-intro .sheep-portrait{max-width:180px;margin:15px auto}.auth-intro h1{font-size:32px}.auth-intro h1 br{display:none}.auth-intro p{font-size:14px}.workspace-toolbar{gap:12px}.task-with-order{flex-wrap:wrap}.order-actions{justify-content:flex-end;width:100%;padding-bottom:12px}.companion-full .sheep-art{height:180px}}@media (max-width:700px){.main{padding-inline:16px}.topbar,.top-actions{gap:8px}.role-btn{white-space:normal;overflow-wrap:anywhere;max-width:180px;overflow:hidden}.heading{flex-wrap:wrap;gap:14px}.heading>.btn{min-height:44px;font-size:14px}.heading p.sub{font-size:14px}.grid-main>.stack{grid-template-columns:1fr}.grid-main .companion{display:none}.note-card p{font-size:14px}.task-row{flex-wrap:wrap}.task-row>.status{margin-left:47px}.task-body h3{font-size:16px}.task-body p{font-size:13px}.task-row>.status,.status{font-size:12px}.change-comparison{grid-template-columns:1fr}.stat-card p{font-size:13px}.form-stack label{font-size:15px}.form-actions .btn{min-height:46px}.btn.small{font-size:14px}.requirement-editor{grid-template-columns:1fr}.requirement-editor>.btn{grid-column:auto}.auth-layout{padding:24px 16px}.auth-card{padding:23px}.auth-intro{padding-top:15px}.auth-intro h1{font-size:28px}.auth-intro .eyebrow{font-size:10px}.workspace-toolbar label{flex:1;min-width:130px}.native-date{min-width:130px}.workspace-toolbar>.btn{margin-left:auto}.voice-panel .form-actions{gap:10px}.companion-full .sheep-quote{font-size:17px}.notice{font-size:14px}.course-strip{flex-wrap:wrap;font-size:14px}.course-strip .text-link{font-size:14px}.nav-link{min-height:55px;padding-inline:4px}.nav-link>span{font-size:11px}.form-stack button{max-width:100%}.card{padding:22px}.columns{gap:18px}}.timeline-preview{margin-top:28px}.timeline-segment{background:#f4f7ef;border-left:3px solid #86a473;border-radius:0 10px 10px 0;gap:4px;margin:12px 0;padding:13px 16px;display:grid}.timeline-segment>span:first-child{color:#4d6944;font-variant-numeric:tabular-nums;font-size:13px}.timeline-segment.rest{background:#eef4f5;border-color:#819ea6}.timeline-segment.course,.timeline-segment.prepare{background:#fbf3e7;border-color:#c1955e}
