:root{font-family:Noto Sans SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#1e2a24;background:#f5f7f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1e2a24;--muted: #718078;--faint: #a7b1aa;--line: #dce4dd;--line-strong: #c8d3ca;--surface: #ffffff;--surface-soft: #f0f5ef;--surface-warm: #fffaf1;--accent: #2f735e;--accent-dark: #205544;--accent-soft: #e3f1e9;--coral: #df755e;--coral-soft: #fff0e9;--blue: #4779ad;--shadow: 0 12px 30px rgba(30, 58, 43, .07);--shadow-lift: 0 18px 45px rgba(30, 58, 43, .14)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7f3}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(71,121,173,.28);outline-offset:2px}.app-shell{min-height:100vh;background:linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px) 0 0 / 34px 34px,#f5f7f3}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 34px;background:#ffffffeb;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-lockup,.topbar-actions,.toolbar-actions,.child-switcher,.calendar-controls,.homework-meta,.card-actions,.voice-controls,.attachment-actions,.card-footer-actions,.completion-action,.settings-section-heading,.toggle-row,.calendar-legend,.file-pill,.status-label{display:flex;align-items:center}.brand-lockup{gap:11px}.brand-mark,.loading-mark{width:39px;height:39px;display:grid;place-items:center;color:#fff;background:var(--accent);border-radius:11px;box-shadow:0 8px 14px #2f735e2e}.brand-name,.brand-caption,.eyebrow,.toolbar-summary,.homework-source,.form-note,.settings-note,.section-kicker,.safety-note ul,.empty-state p,.child-intro p,.child-empty p{margin:0}.brand-name{font-weight:800;line-height:1.1;letter-spacing:0}.brand-caption{color:var(--muted);font-size:11px;margin-top:4px}.topbar-actions{gap:9px}.workspace{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:31px 0 52px}.workspace-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px}.workspace-toolbar h1,.child-intro h1,.day-column-heading h2,.calendar-heading h2,.panel-heading h2,.error-screen h1{color:var(--ink);letter-spacing:0;line-height:1.16}.workspace-toolbar h1,.child-intro h1{margin:6px 0 7px;font-size:clamp(27px,3vw,37px)}.eyebrow,.section-kicker{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em}.toolbar-summary{color:var(--muted);font-size:13px}.inline-icon{vertical-align:-3px;margin-left:6px}.toolbar-actions{gap:12px;justify-content:flex-end;flex-wrap:wrap}.child-switcher{gap:6px;flex-wrap:wrap}.child-chip,.soft-button,.primary-button,.today-button,.ai-button,.complete-button,.text-button,.date-strip-arrow{border:1px solid transparent;transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease}.child-chip{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted);background:#ffffffc2;border-color:var(--line);border-radius:8px;font-size:13px;font-weight:700}.child-chip:hover,.child-chip.is-active{color:var(--accent-dark);border-color:#9dc4af;background:var(--accent-soft)}.child-avatar{width:24px;height:24px;display:inline-grid;place-items:center;flex:0 0 auto;color:#fff;border-radius:50%;font-size:12px;font-weight:800}.child-switcher-compact .child-chip:first-child{display:none}.child-switcher-compact .child-chip{background:#ffffffa3}.primary-button,.soft-button,.today-button,.ai-button,.complete-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:8px;font-size:13px;font-weight:800;white-space:nowrap}.primary-button{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 7px 16px #2f735e29}.primary-button:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-1px)}.soft-button,.today-button{color:#365248;background:#f4f7f3;border-color:var(--line)}.soft-button:hover,.today-button:hover{color:var(--accent-dark);background:var(--accent-soft);border-color:#a8cab6}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;padding:0;color:#5b6a62;background:#fff;border:1px solid var(--line);border-radius:8px;transition:background .16s ease,color .16s ease,border-color .16s ease}.icon-button:hover{color:var(--accent-dark);background:var(--accent-soft);border-color:#a8cab6}.subtle-icon{width:30px;height:30px;background:transparent;border-color:transparent}.danger-icon:hover{color:#b44b4b;background:#fff0ef;border-color:#f0c6c0}.workspace-grid{min-height:650px;display:grid;grid-template-columns:minmax(470px,.94fr) minmax(480px,1.06fr);background:#ffffffbd;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.calendar-column{padding:30px 30px 24px;border-right:1px solid var(--line);background:#fafcf9cc}.day-column{min-width:0;padding:30px 30px 36px;background:#ffffffe0}.calendar-heading,.day-column-heading,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.calendar-heading h2,.day-column-heading h2,.panel-heading h2{margin:8px 0 0;font-size:23px}.calendar-controls{gap:5px}.calendar-controls .icon-button{width:34px;height:34px}.today-button{min-height:34px;padding:0 10px;font-size:12px}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{margin-top:31px;color:var(--muted);font-size:12px;font-weight:800;text-align:center}.calendar-grid{gap:6px;margin-top:8px}.calendar-day{min-width:0;aspect-ratio:1 / .94;display:flex;align-items:center;flex-direction:column;gap:4px;padding:8px 4px 5px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:9px;position:relative}.calendar-day:hover{background:#eef5ef;border-color:#cce0d1}.calendar-day.is-selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 16px #2f735e29}.calendar-day.is-muted{color:#adb8b0}.calendar-day.is-selected.is-muted{color:#fff}.day-number{font-size:14px;font-weight:800;line-height:1}.day-count{min-width:20px;height:19px;display:inline-grid;place-items:center;padding:0 5px;color:#a34c36;background:#ffe7db;border-radius:6px;font-size:10px;font-weight:900}.calendar-day.is-selected .day-count{color:var(--accent-dark);background:#d6f0df}.day-count.is-complete{color:#267150;background:#dff2e6}.day-markers{display:flex;gap:3px;min-height:5px}.day-markers i,.legend-dot,.subject-dot{display:inline-block;border-radius:50%}.day-markers i{width:5px;height:5px}.calendar-legend{gap:16px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:11px}.calendar-legend span:not(.calendar-legend-note){display:inline-flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px}.pending-dot{background:var(--coral)}.complete-dot{background:var(--accent)}.calendar-legend-note{margin-left:auto;color:var(--faint)}.day-column-heading{align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.add-day-button{color:var(--accent);background:var(--accent-soft);border-color:#c0dfc9}.homework-list,.child-homework-list{display:grid;gap:14px;padding-top:20px}.subject-homework-pager{min-width:0;display:grid;gap:12px}.subject-tabs{min-width:0;display:flex;gap:8px;overflow-x:auto;padding:1px 1px 3px;scrollbar-width:thin}.subject-tab{min-height:38px;display:inline-flex;align-items:center;flex:0 0 auto;gap:7px;padding:0 11px;color:#4f6058;background:#f8fbf7;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:900;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.subject-tab:hover{color:var(--accent-dark);background:var(--accent-soft);border-color:#b5d8c1}.subject-tab.is-active{color:var(--ink);background:#fff;border-color:#8fbea2;box-shadow:0 6px 16px #2f735e1a}.subject-tab.is-complete{color:#267150;background:var(--accent-soft);border-color:#bdddc7}.subject-tab-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.subject-tab strong{min-width:27px;padding:3px 6px;color:inherit;background:#ffffffad;border-radius:5px;font-size:10px}.subject-task-pager{min-width:0;display:grid;gap:10px;touch-action:pan-y}.subject-task-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px;padding:9px;background:#f8fbf8;border:1px solid #e2ebe3;border-radius:9px}.pager-arrow{background:#fff}.subject-task-position{min-width:0;display:grid;gap:2px;justify-items:center;text-align:center}.subject-task-position span,.subject-task-position small{font-size:10px;font-weight:900}.subject-task-position strong{max-width:100%;color:var(--ink);font-size:14px;overflow-wrap:anywhere}.subject-task-position small{color:#267150}.subject-task-dots{display:flex;justify-content:center;gap:6px}.pager-dot{width:9px;height:9px;padding:0;background:#d5ddd7;border:1px solid transparent;border-radius:999px;transition:width .16s ease,background .16s ease,border-color .16s ease}.pager-dot.is-complete{background:#8fc8a3}.pager-dot.is-active{width:24px;background:var(--accent);border-color:var(--accent-dark)}.subject-task-card{min-width:0}.homework-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 5px 17px #21342a0b}.homework-card.is-done{border-color:#c7dfcf}.homework-card-heading{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px 8px}.homework-meta,.card-actions{gap:7px}.subject-dot{width:8px;height:8px}.subject-label{color:#50635a;font-size:11px;font-weight:900}.person-label,.status-label{min-height:22px;padding:0 7px;color:var(--muted);background:#f3f6f3;border-radius:5px;font-size:10px;font-weight:800}.status-label{gap:4px;color:#277150;background:var(--accent-soft)}.homework-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 15px 14px}.homework-title-row h3{max-width:100%;margin:0;color:var(--ink);font-size:17px;line-height:1.35;overflow-wrap:anywhere}.homework-source{max-width:54ch;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.voice-controls{gap:3px;flex:0 0 auto}.voice-controls-compact .voice-button{width:32px;min-width:32px;padding:0}.voice-text{min-width:0;display:flex;align-items:flex-start;gap:8px}.voice-text>:first-child{min-width:0;flex:1}.voice-button{color:var(--blue);background:#eef5fb;border-color:#d4e3f0}.voice-button:hover{color:#2c5f91;background:#e2effb;border-color:#bcd4ea}.card-summary{display:flex;justify-content:space-between;gap:10px;padding:10px 15px;color:var(--muted);background:#fafcf9;border-top:1px solid #edf1ed;font-size:11px}.homework-card-body{padding:0 15px 15px}.guidance-section{margin-top:1px;padding:15px 0 4px;border-top:1px solid var(--line);scroll-margin-top:96px}.source-requirements{padding:11px 12px;background:#f7faf7;border:1px solid #e2ebe3;border-radius:7px}.source-requirements-text{margin:0;color:var(--ink);font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.source-requirements-list{display:grid;gap:8px;margin-top:6px}.source-requirements-line{align-items:flex-start}.guidance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.guidance-heading>div{min-width:0}.guidance-goal{margin:6px 0 0;color:var(--ink);font-size:14px;font-weight:800;line-height:1.55}.guidance-heading .voice-text{align-items:flex-start}.materials-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:13px;color:var(--muted);font-size:11px}.material-chip{padding:5px 8px;color:#657c66;background:#eef5e8;border-radius:5px;font-weight:800}.steps-list{display:grid;gap:8px;margin-top:15px}.requirement-groups{display:grid;gap:14px;margin-top:15px}.requirement-group{display:grid;gap:7px}.requirement-heading{display:grid;gap:3px;padding:0 2px}.requirement-number{color:var(--accent);font-size:10px;font-weight:900}.requirement-heading strong{color:var(--ink);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.requirement-text-row{align-items:flex-start}.requirement-text-row>strong{flex:1;min-width:0}.requirement-group .steps-list{margin-top:0}.step-row{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:9px;padding:10px;background:#f8faf8;border:1px solid #e8eee9;border-radius:8px;cursor:pointer}.step-row:hover{background:#f0f7f1;border-color:#cae0cf}.step-row input{position:absolute;opacity:0;pointer-events:none}.step-check{width:20px;height:20px;display:grid;place-items:center;color:var(--accent)}.step-content{min-width:0}.step-text-row{min-width:0;display:flex;align-items:flex-start;gap:8px}.step-copy{min-width:0;display:grid;flex:1;gap:2px;cursor:pointer}.step-number{color:var(--accent);font-size:10px;font-weight:900}.step-content strong{color:var(--ink);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.step-content small{color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}.generated-card-image{display:grid;gap:10px;margin:12px 0}.generated-image-panel{max-width:420px;margin:0;display:grid;gap:6px}.generated-image-panel img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border:1px solid rgba(42,59,43,.14);border-radius:8px;background:#f7f1e3}.generated-image-panel figcaption{color:#6e6a5f;font-size:.82rem}.generated-image-button{width:fit-content}.step-content .generated-image-panel{margin-top:8px}.step-text-row>.voice-controls{flex:0 0 auto}.step-row.is-complete{background:#eff8f1;border-color:#cce4d2}.step-row.is-complete strong{color:#6b7c71;text-decoration:line-through}.safety-note{margin-top:13px;padding:10px 12px;color:#895b3e;background:var(--surface-warm);border:1px solid #f3dfc8;border-radius:7px;font-size:11px;line-height:1.55}.safety-note ul{padding-left:17px;margin-top:4px}.encouragement{margin:14px 0 0;color:#42745b;font-size:12px;font-weight:800;line-height:1.6}.encouragement-row{margin-top:14px}.encouragement-row .encouragement{margin-top:0}.image-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 0 2px}.image-strip a{width:66px;height:66px;flex:0 0 auto;overflow:hidden;display:block;position:relative;background:#edf1ee;border:1px solid var(--line);border-radius:7px}.image-strip img{width:100%;height:100%;display:block;object-fit:cover}.image-strip span{position:absolute;left:4px;bottom:4px;padding:2px 4px;color:#fff;background:#1e2a24b8;border-radius:3px;font-size:9px}.card-footer-actions{justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px solid #edf1ed}.complete-button{min-height:34px;padding:0 10px;color:#3e6f53;background:#f0f7f0;border-color:#c9dfcd;font-size:11px}.complete-button:hover,.complete-button.is-done{color:#fff;background:var(--accent);border-color:var(--accent)}.completion-action{gap:7px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.small-note-input,.field input,.field textarea,.field select,.child-setting-row input,.child-setting-row select,.new-child-form input,.new-child-form select{width:100%;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:7px}.small-note-input{width:145px;height:34px;padding:0 9px;font-size:11px}.ai-action-row{display:flex;align-items:center;gap:9px;padding:10px 15px 13px;border-top:1px solid #edf1ed}.ai-progress-panel{display:flex;align-items:flex-start;gap:9px;margin:0 15px 10px;padding:10px 11px;color:#2d6f59;background:#eef8f2;border:1px solid #cfe6d7;border-radius:8px}.ai-progress-panel svg{flex:0 0 auto;margin-top:1px}.ai-progress-panel strong,.ai-progress-panel span{display:block}.ai-progress-panel strong{font-size:12px}.ai-progress-panel span{margin-top:2px;color:#5f7469;font-size:11px;line-height:1.45}.ai-button{min-height:32px;color:#7f5c2d;background:#fff5dd;border-color:#f1dfb6;font-size:11px}.ai-button:hover{color:#6f4b20;background:#ffedc2;border-color:#eacb87}.ai-disclaimer{color:var(--faint);font-size:10px}.empty-state{min-height:360px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:30px;color:var(--muted);text-align:center}.empty-state h3,.empty-state h2{margin:14px 0 6px;color:var(--ink);font-size:18px}.empty-state p{max-width:280px;line-height:1.7;font-size:12px}.empty-calendar-icon,.error-icon{width:54px;height:54px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:50%}.empty-state .soft-button{margin-top:20px}.empty-guidance{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:13px;color:#7d6439;background:#fff8e9;border:1px solid #f3e3be;border-radius:8px}.empty-guidance svg{flex:0 0 auto;margin-top:2px}.empty-guidance strong{font-size:12px}.empty-guidance p{margin:4px 0 0;font-size:11px;line-height:1.5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:#18251e52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor-panel,.settings-panel{width:min(560px,100%);height:100%;overflow-y:auto;padding:30px 32px;background:#fcfdfb;box-shadow:var(--shadow-lift);animation:panel-in .18s ease-out}.settings-panel{width:min(640px,100%)}@keyframes panel-in{0%{transform:translate(18px);opacity:.55}to{transform:translate(0);opacity:1}}.panel-heading h2{display:flex;align-items:center;gap:7px;max-width:440px;font-size:22px}.editor-form,.settings-form{display:grid;gap:19px;margin-top:29px}.field,.range-field{display:grid;gap:7px}.field>span,.range-field>span{color:#4c6256;font-size:12px;font-weight:900}.field input,.field select{height:43px;padding:0 12px}.field textarea{min-height:150px;padding:11px 12px;resize:vertical;line-height:1.65}.field input::placeholder,.field textarea::placeholder,.new-child-form input::placeholder{color:#adb7b0}.field-grid,.ai-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ai-settings-column{display:grid;gap:12px;padding:14px;background:#f8fbf8;border:1px solid var(--line);border-radius:8px}.ai-column-heading{display:grid;gap:3px}.ai-column-heading strong{color:var(--ink);font-size:13px}.ai-column-heading span{color:var(--muted);font-size:11px}.ai-test-button{width:100%}.ai-test-status{display:flex;align-items:flex-start;gap:5px;margin:-2px 0 0;font-size:11px;line-height:1.45}.ai-test-status.is-success{color:#2f765e}.ai-test-status.is-error{color:#b44b4b}.voice-selection-field{display:grid;gap:8px}.saved-voice-summary{display:grid;gap:5px;min-width:0;padding:10px 12px;color:#315b49;background:#f1f8f3;border:1px solid #cfe6d7;border-radius:7px;overflow-wrap:anywhere}.saved-voice-summary-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;min-width:0}.saved-voice-summary-label{color:#4c6256;font-size:11px;font-weight:900}.saved-voice-summary strong{min-width:0;color:var(--ink);font-size:13px;font-weight:900}.saved-voice-summary small{color:var(--muted);font-size:10px;font-weight:700}.saved-voice-pending{margin:0;color:#8b6b37;font-size:11px;line-height:1.5}.voice-selector{display:grid;gap:10px}.cloud-voice-panel{display:grid;gap:9px}.voice-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.voice-list-heading span,.system-voice-details summary span{color:#4c6256;font-size:12px;font-weight:900}.voice-list-heading small,.system-voice-details summary small{min-width:0;color:var(--muted);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aid-voice-list,.system-voice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.aid-voice-list{max-height:min(340px,42vh);overflow:auto;padding-right:3px}.voice-choice{min-width:0;min-height:56px;display:grid;gap:3px;padding:8px 10px;text-align:left;color:#365248;background:#f8fbf8;border:1px solid var(--line);border-radius:8px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.voice-choice:hover{background:var(--accent-soft);border-color:#a8cab6}.voice-choice.is-selected{background:#edf7f1;border-color:var(--accent);box-shadow:0 0 0 2px #438b6b1f}.voice-choice-title,.voice-choice-detail{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-choice-title{font-size:13px;font-weight:900;line-height:18px}.voice-choice-detail{color:var(--muted);font-size:11px;font-weight:700;line-height:16px}.system-voice-details{border:1px solid var(--line);border-radius:8px;background:#fff}.system-voice-details summary{min-height:41px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:0 11px;cursor:pointer}.system-voice-details summary::marker{color:var(--muted)}.system-voice-list{padding:0 10px 10px}.voice-preview-button{justify-self:start;min-height:36px}.voice-status{margin:-2px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.attachment-actions{gap:8px;flex-wrap:wrap}.file-queue{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.file-pill{max-width:100%;gap:5px;padding:6px 8px;color:#5c6f62;background:#f0f5ef;border:1px solid var(--line);border-radius:6px;font-size:11px}.file-pill button{width:19px;height:19px;display:grid;place-items:center;flex:0 0 auto;padding:0;color:var(--muted);background:transparent;border:0}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:5px}.form-note,.settings-note{color:var(--muted);font-size:11px;line-height:1.6}.settings-section{display:grid;gap:14px;padding-bottom:21px;border-bottom:1px solid var(--line)}.settings-section-heading{justify-content:space-between;gap:16px;color:var(--accent)}.settings-section-heading h3{margin:5px 0 0;color:var(--ink);font-size:16px}.range-field strong{color:var(--accent);margin-left:4px}.range-field input{width:100%;accent-color:var(--accent)}.toggle-row{align-items:flex-start;gap:10px;cursor:pointer}.toggle-row input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}.toggle-row span{display:grid;gap:3px}.toggle-row strong{color:var(--ink);font-size:12px}.toggle-row small{color:var(--muted);font-size:11px;line-height:1.5}.children-settings-list{display:grid;gap:7px}.child-setting-row{min-height:51px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:8px 10px;background:#f7faf7;border:1px solid var(--line);border-radius:8px}.child-setting-name{min-width:0;display:grid;gap:3px;margin-right:auto}.child-setting-name strong{font-size:12px}.child-setting-name small{color:var(--muted);font-size:10px}.child-setting-row>input,.child-setting-row>select{flex:1 1 115px;height:34px;min-width:0;padding:0 7px;font-size:11px}.new-child-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 112px auto;gap:8px}.new-child-form input,.new-child-form select{height:38px;padding:0 9px;font-size:12px}.text-button{padding:5px;color:var(--blue);background:transparent;border:0;font-size:11px;font-weight:800}.text-button:hover{color:var(--accent-dark)}.settings-footer{padding-top:0}.toast{position:fixed;top:91px;left:50%;z-index:70;max-width:min(420px,calc(100% - 32px));padding:11px 16px;color:#286047;background:#e6f3e9;border:1px solid #b9ddc1;border-radius:8px;box-shadow:var(--shadow);font-size:12px;font-weight:800;transform:translate(-50%);animation:toast-in .18s ease-out}.toast-error{color:#914b42;background:#fff0eb;border-color:#f0c9c1}@keyframes toast-in{0%{transform:translate(-50%,-8px);opacity:0}to{transform:translate(-50%);opacity:1}}.loading-screen,.error-screen{min-height:100vh;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:13px;padding:24px;color:var(--muted);text-align:center}.loading-screen p,.error-screen p{margin:0;font-size:13px}.error-icon{width:54px;height:54px;display:grid;place-items:center;color:#a45845;background:var(--coral-soft);border-radius:50%}.error-screen h1{margin:3px 0 0;font-size:24px}.access-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px) 0 0 / 34px 34px,#f5f7f3}.access-panel{width:min(420px,100%);padding:34px;background:#ffffffeb;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.access-mark{width:51px;height:51px;display:grid;place-items:center;margin-bottom:22px;color:#fff;background:var(--accent);border-radius:14px}.access-panel h1{margin:9px 0 8px;color:var(--ink);font-size:26px}.access-copy{margin:0;color:var(--muted);font-size:12px;line-height:1.75}.access-panel form{display:grid;gap:12px;margin-top:25px}.access-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:20px;padding:4px;background:#f0f5ef;border:1px solid var(--line);border-radius:9px}.access-tabs button{min-height:34px;color:var(--muted);background:transparent;border:0;border-radius:7px;font-size:12px;font-weight:900}.access-tabs button.is-active{color:#fff;background:var(--accent);box-shadow:0 5px 12px #2f735e24}.access-field{display:grid;gap:7px}.access-field span{display:inline-flex;align-items:center;gap:5px;color:#4c6256;font-size:12px;font-weight:900}.access-field input{width:100%;height:45px;padding:0 12px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:7px}.access-submit{width:100%;margin-top:3px}.access-error{margin:0;color:#a14d42;font-size:11px;font-weight:800}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.child-workspace{width:min(940px,calc(100% - 40px));margin:0 auto;padding:42px 0 68px}.child-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:25px;border-bottom:1px solid var(--line)}.child-intro h1{margin-bottom:6px}.child-intro>div>p:last-child{color:var(--muted);font-size:13px}.child-date-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:10px 14px;color:var(--accent-dark);background:var(--accent-soft);border:1px solid #cae4d2;border-radius:8px;font-size:13px;font-weight:900}.date-strip-arrow{padding:3px 0;color:var(--accent);background:transparent;border:0;font-size:11px;font-weight:800}.date-strip-arrow:hover{color:var(--accent-dark)}.child-homework-list{max-width:720px;margin:0 auto;padding-top:22px}.is-child-pager{gap:14px}.is-child-pager .subject-tabs{justify-content:flex-start}.is-child-pager .subject-tab{min-height:43px;padding:0 13px;font-size:13px}.is-child-pager .subject-task-toolbar{grid-template-columns:42px minmax(0,1fr) 42px;padding:10px}.is-child-pager .subject-task-position strong{font-size:16px}.is-child-card{border-color:#c6dfcf;box-shadow:0 10px 25px #2f735e14}.is-child-card .homework-title-row h3{font-size:20px}.is-child-card .homework-card-body{padding-left:18px;padding-right:18px}.is-child-card .step-row{padding:13px}.is-child-card .step-content strong{font-size:14px}.is-child-card .ai-action-row{display:none}.child-empty{min-height:300px;color:var(--accent)}@media(max-width:1060px){.workspace{width:min(100% - 36px,900px)}.workspace-grid{grid-template-columns:1fr}.calendar-column{border-right:0;border-bottom:1px solid var(--line)}.calendar-grid{max-width:640px}}@media(max-width:720px){.topbar{height:68px;padding:0 16px}.brand-caption{display:none}.brand-mark{width:35px;height:35px}.brand-name{font-size:14px}.topbar-actions .soft-button{min-height:34px;padding:0 9px;font-size:11px}.topbar-actions .icon-button{width:34px;height:34px}.access-screen{min-width:0;padding:16px}.access-panel{width:100%;max-width:calc(100vw - 32px);min-width:0;padding:27px 22px}.workspace{width:100%;padding:24px 0 42px}.workspace-toolbar{display:block;padding:0 16px;margin-bottom:19px}.workspace-toolbar h1,.child-intro h1{font-size:28px}.toolbar-actions{align-items:stretch;justify-content:stretch;margin-top:17px}.toolbar-actions .child-switcher{flex:1;min-width:0}.toolbar-actions .primary-button{flex:0 0 auto}.workspace-grid{display:block;border-right:0;border-left:0;border-radius:0}.calendar-column,.day-column{padding:22px 16px}.calendar-heading h2,.day-column-heading h2{font-size:21px}.calendar-grid{gap:3px}.calendar-day{aspect-ratio:1 / 1;padding-top:8px}.calendar-legend-note{width:100%;margin-left:0}.day-column{min-height:420px}.subject-tabs{margin-right:-2px;padding-bottom:5px}.subject-tab{min-height:37px;padding:0 10px}.subject-task-toolbar{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;padding:8px}.homework-title-row{gap:9px}.homework-title-row h3{font-size:16px}.card-footer-actions{align-items:stretch}.completion-action{width:100%;margin-left:0;justify-content:space-between}.small-note-input{flex:1;width:auto}.ai-action-row{align-items:flex-start;flex-direction:column;gap:5px}.generated-image-panel{max-width:100%}.editor-panel,.settings-panel{padding:23px 18px 29px}.panel-heading h2{font-size:19px}.field-grid{grid-template-columns:1fr;gap:17px}.ai-settings-grid,.aid-voice-list,.system-voice-list{grid-template-columns:1fr}.form-footer{align-items:stretch;flex-direction:column}.form-footer .primary-button{width:100%}.new-child-form{grid-template-columns:1fr}.new-child-form .soft-button{width:100%}.child-workspace{width:min(100% - 32px,720px);padding-top:28px}.child-intro{align-items:flex-start;flex-direction:column;gap:16px}.child-intro .child-switcher{width:100%}.child-intro .child-chip{flex:1;justify-content:center}.child-date-strip{margin-top:15px}}@media(max-width:420px){.child-chip{padding:0 8px;font-size:11px}.toolbar-actions .child-switcher{gap:4px}.toolbar-actions .child-chip:first-child{display:none}.toolbar-actions .child-chip{flex:1;justify-content:center;padding:0 6px}.homework-card-heading,.homework-title-row,.homework-card-body,.ai-action-row{padding-left:12px;padding-right:12px}.homework-title-row{flex-direction:column}.voice-controls-compact{align-self:flex-start}.step-text-row,.requirement-text-row,.source-requirements-line{flex-wrap:wrap}.step-text-row>.voice-controls,.requirement-text-row>.voice-controls,.source-requirements-line>.voice-controls{margin-left:auto}}
