:root{color:#222a27;font-synthesis:none;background:#f5f1e8;font-family:Tahoma,Arial,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,textarea{font:inherit}.site-header nav{align-items:center;gap:18px;display:flex}.text-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:8px}input{font:inherit;direction:ltr;border:1px solid #bdc6c1;border-radius:10px;width:100%;padding:12px 14px}select{font:inherit;background:#fff;border:1px solid #bdc6c1;border-radius:10px;width:100%;padding:12px 14px}.login-page,.state-page{background:#f5f1e8;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #2837321f;border-radius:22px;width:min(100%,440px);padding:42px}.login-card h1{margin:0 0 12px}.login-card form{gap:18px;margin-top:28px;display:grid}.login-card label{gap:8px;font-weight:600;display:grid}.login-note{color:#707975;margin-top:24px;font-size:.82rem}.auth-error{color:#9b3030;margin:0}.observation-editor{margin-top:24px}.observation-editor label{gap:12px;line-height:1.9;display:grid}.father-responses{border-color:#bac8c2!important}.response-review{border-top:1px solid #daddda;padding:20px 0}.response-review:first-of-type{border-top:0}.response-review h3{margin:0 0 8px;font-size:1rem}.response-label{color:#66716c;margin:0 0 8px;font-size:.88rem}.response-text{white-space:pre-wrap;background:#f5f6f3;border-radius:10px;margin:0;padding:16px}.empty-state{color:#727b77}.app{background:radial-gradient(circle at 12% 5%,#ffffffbf,#0000 28%),#f5f1e8;min-height:100vh}.tone-rafa{--accent:#286f68;--soft:#dfece8}.tone-maha{--accent:#5c526f;--soft:#e9e4ee;background-color:#f3f0ec}.tone-father{--accent:#34433e;--soft:#e3e5df;background:#f2f1ed}.site-header{border-bottom:1px solid #20302b1f;justify-content:space-between;align-items:center;max-width:1160px;height:76px;margin:auto;padding:0 28px;display:flex}.brand{font-family:Tahoma,Arial,system-ui,sans-serif;font-weight:700}.site-header nav{color:#59635f;font-size:.92rem}main{max-width:1160px;margin:auto;padding:54px 28px 96px}.hero{max-width:760px;margin-bottom:60px}.eyebrow{color:var(--accent,#4d665e);letter-spacing:.04em;margin:0 0 14px;font-size:.82rem;font-weight:700}h1,h2,h3{font-family:Tahoma,Arial,system-ui,sans-serif;line-height:1.55}.hero h1{letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(2.35rem,6vw,4.8rem);line-height:1.35}.hero>p:last-child{color:#5d6662;max-width:590px;font-size:1.15rem;line-height:2}.people-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.person{background:#ffffff94;border:1px solid #2837321f;border-radius:22px;flex-direction:column;align-items:flex-start;min-height:285px;padding:28px;display:flex}.person .number{opacity:.65;border:1px solid;border-radius:999px;padding:4px 11px;font-size:.78rem}.person h2{margin:34px 0 4px;font-size:1.65rem}.person p{color:#65706b;margin:0 0 28px}.person .button{margin-top:auto}.person.unavailable{opacity:.62}.status{margin-top:auto;font-size:.85rem}.button{color:#fff;cursor:pointer;background:#2f413b;border:0;border-radius:11px;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;font-weight:600;display:inline-flex}.button.primary{background:var(--accent,#2f413b)}.button.ghost{color:#46534e;background:0 0;border:1px solid #bcc3bf}.button:disabled{opacity:.35;cursor:default}.landing-card{background:#ffffffb3;border:1px solid #2837321f;border-radius:28px;max-width:720px;margin:4vh auto;padding:clamp(34px,7vw,72px)}.week-chip{color:var(--accent);background:var(--soft);border-radius:999px;padding:6px 14px;display:inline-block}.landing-card h1{margin:28px 0 10px;font-size:clamp(2.5rem,7vw,4.5rem)}.story-name{color:#626b67;margin-bottom:42px;font-size:1.25rem}.time-note{color:#727b77;max-width:520px;margin:28px 0 0;font-size:.92rem;line-height:1.9}.roadmap-text-link{width:fit-content;color:var(--accent);margin-top:20px;font-weight:700;display:block}.roadmap-page{max-width:920px;margin:auto}.roadmap-heading{margin-bottom:42px}.roadmap-heading h1{margin:0 0 28px;font-size:clamp(2.2rem,6vw,4rem)}.roadmap-switcher{flex-wrap:wrap;gap:8px;display:flex}.roadmap-switcher a{border:1px solid #c8ceca;border-radius:999px;padding:8px 18px}.roadmap-switcher a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.roadmap-phase{margin-top:64px}.roadmap-phase>h2{margin-bottom:30px;font-size:1.35rem}.roadmap-timeline{gap:18px;padding-right:34px;display:grid;position:relative}.roadmap-timeline:before{content:"";background:#d1d6d2;width:2px;position:absolute;top:8px;bottom:8px;right:11px}.roadmap-milestone{background:#ffffffc7;border:1px solid #d7dcd8;border-radius:16px;grid-template-columns:32px 1fr;gap:16px;padding:24px;display:grid;position:relative}.milestone-marker{z-index:1;background:#eef0ed;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:relative}.milestone-meta{color:#68716d;justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.milestone-content h3{margin:8px 0;font-size:1.05rem}.milestone-progress{color:var(--accent);margin-top:8px;font-size:.82rem;font-weight:700;display:inline-block}.milestone-content>p{color:#59645f;margin:4px 0 0;line-height:1.8}.milestone-content .milestone-timing,.current-timing{color:var(--accent);font-size:.82rem;font-weight:700}.timing-due_soon,.timing-overdue{color:#8a4c32!important}.timing-not_open{color:#68716d!important}.state-completed{background:#eef6f2;border-color:#8fb3a8}.state-completed .milestone-marker{color:#fff;background:#397065}.state-in_progress{border:2px solid var(--accent);background:color-mix(in srgb, var(--soft) 55%, white);box-shadow:0 8px 30px #2d463e14}.current-label{background:var(--accent);color:#fff;border-radius:999px;margin-top:8px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-block}.state-in_progress .milestone-marker{background:var(--accent);color:#fff}.state-available{border-color:#aebbb5}.state-locked{opacity:.66}.milestone-link{display:block}.father-roadmap-detail{border-top:1px solid #dde1de;grid-template-columns:minmax(120px,.35fr) 1fr;gap:8px 18px;margin:20px 0 0;padding-top:18px;font-size:.88rem;line-height:1.8;display:grid}.father-milestone-actions{grid-column:2;margin-top:4px}.father-roadmap-disclosure summary,.milestone-open-link{color:var(--accent);cursor:pointer;font-size:.86rem;font-weight:700}.milestone-open-link{margin-bottom:12px;display:inline-block}.father-roadmap-disclosure summary{width:fit-content}.child-journey-home{max-width:940px;margin:auto}.child-journey-heading{text-align:center;margin-bottom:32px}.child-journey-heading h1{margin:0;font-size:clamp(2.4rem,7vw,4.4rem)}.journey-preview{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;margin:0 0 28px;padding:0;list-style:none;display:grid}.journey-node{background:#ffffff8c;border:1px solid #d4d9d5;border-radius:14px;flex-direction:column;gap:4px;min-height:126px;padding:16px;display:flex}.journey-node.is-current{border:2px solid var(--accent);background:color-mix(in srgb, var(--soft) 60%, white);transform:translateY(-6px)}.journey-node-icon{font-size:.9rem}.journey-node>span:not(.journey-node-icon){color:#59645f;font-size:.88rem}.journey-node small{color:#6d7672;margin-top:auto}.journey-node.state-locked{opacity:.62}.journey-length{max-width:760px;margin:-6px auto 34px}.journey-length-meta{color:#6b7570;justify-content:space-between;gap:16px;margin-bottom:10px;font-size:.76rem;display:flex}.journey-length-track{background:#d9ddd9;border-radius:999px;height:5px;position:relative}.journey-length-fill{border-radius:inherit;background:var(--accent);width:0;position:absolute;inset:0}.journey-length-position{background:var(--accent);width:13px;height:13px;box-shadow:0 0 0 1px var(--accent);border:3px solid #fff;border-radius:50%;position:absolute;top:50%;transform:translate(50%,-50%)}.current-lesson-card{text-align:center;border:1px solid color-mix(in srgb, var(--accent) 36%, transparent);background:#ffffffd1;border-radius:24px;max-width:680px;margin:0 auto;padding:clamp(28px,6vw,54px)}.current-lesson-card h2{margin:14px 0 6px;font-size:clamp(2rem,5vw,3.3rem)}.current-lesson-card .roadmap-text-link{margin:18px auto 0}.current-timing{margin:-24px 0 24px}.current-state-label{color:var(--accent);margin:14px 0 0;font-weight:700}.child-journey-home>.time-note{text-align:center;margin:22px auto 0}.child-submission-summary{background:#ffffff8c;border:1px solid #d8ddda;border-radius:15px;max-width:680px;margin:20px auto 0;padding:18px 22px}.child-submission-summary h2{margin:0 0 13px;font-size:.92rem}.child-submission-summary dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.child-submission-summary dl div{text-align:center;color:#65706b;background:#ffffffa6;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:9px 8px;font-size:.78rem;display:flex}.child-submission-summary dd{color:#222a27;margin:0;font-size:1rem;font-weight:700}.child-submission-summary>p,.submission-summary>p{color:#747d79;margin:12px 0 0;font-size:.74rem}.father-roadmap-detail dt{color:#6b7570}.father-roadmap-detail dd{margin:0}.flow-shell{max-width:780px;margin:auto}.flow-meta{color:#69736f;justify-content:space-between;margin-bottom:12px;font-size:.86rem;display:flex}.progress{background:#d9ddd9;border-radius:99px;height:4px;overflow:hidden}.progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.flow-card{background:#ffffffc7;border:1px solid #2837321c;border-radius:24px;min-height:480px;margin:26px 0 22px;padding:clamp(30px,7vw,64px)}.flow-card h1{margin:0 0 24px;font-size:clamp(2.2rem,6vw,3.7rem)}.flow-card h2{margin:0 0 24px;font-size:clamp(1.45rem,4vw,2.15rem)}.lead,.story-text,.supporting,.task-text{font-size:1.08rem;line-height:2.15}.story-text{white-space:pre-wrap}.decision{border-right:4px solid var(--accent);margin-top:80px;padding:28px 30px 28px 0}.answer-box{margin-top:32px}.answer-box h3{margin:0 0 12px;font-size:1rem}textarea{resize:vertical;color:#202925;background:#fff;border:1px solid #bdc6c1;border-radius:13px;outline:none;width:100%;padding:18px;line-height:1.9}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.save-state{color:#747d79;margin-top:8px;font-size:.78rem;display:block}.save-state.saved{color:#397065}.flow-actions{justify-content:space-between;gap:12px;display:flex}.finish-note{color:var(--accent);border-top:1px solid #d8ddda;margin-top:42px;padding-top:24px;font-weight:700}.father-home,.father-page{max-width:900px;margin:auto}.father-home>h1,.father-heading h1{margin:8px 0 16px;font-size:clamp(2rem,5vw,3.7rem)}.father-links{grid-template-columns:1fr 1fr;gap:16px;margin-top:48px;display:grid}.father-dashboard-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:42px;display:grid}.father-dashboard-card{background:#ffffffc7;border:1px solid #d1d7d3;border-radius:18px;padding:26px}.father-dashboard-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.father-dashboard-card h2{margin:0;font-size:1.35rem}.dashboard-position{color:#68716d;white-space:nowrap;font-size:.78rem}.workflow-status{border:1px solid #0000;border-radius:999px;width:fit-content;margin:.25rem 0 .75rem;padding:.42rem .72rem;font-weight:750;display:inline-flex}.workflow-idle,.workflow-complete{color:#17603a;background:#e9f7ef;border-color:#9fd2b3}.workflow-attention{color:#8a4300;background:#fff0dc;border-color:#f2c48a}.workflow-overdue{color:#8b1e1e;background:#fdecec;border-color:#e7aaaa}.workflow-continue{color:#725500;background:#fff8cf;border-color:#ead66b}.father-progress-track{background:#d9ddd9;border-radius:999px;height:5px;margin:24px 0;overflow:hidden}.father-progress-track span{background:var(--accent);height:100%;display:block}.dashboard-metrics{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.dashboard-metrics div{background:#f3f4f1;border-radius:12px;padding:14px}.dashboard-metrics dt{color:#68716d;font-size:.76rem}.dashboard-metrics dd{margin:5px 0 0;font-size:1.15rem;font-weight:700}.assessment-summary{border-top:1px solid #dde1de;margin-top:22px;padding-top:18px}.assessment-summary h3{margin:0 0 12px;font-size:.92rem}.assessment-summary>div{flex-wrap:wrap;gap:8px;display:flex}.assessment-summary span{background:#eef0ed;border-radius:999px;padding:7px 10px;font-size:.76rem}.assessment-summary strong{margin-inline-start:5px}.submission-summary{border-top:1px solid #dde1de;margin-top:18px;padding-top:16px}.submission-summary h3{margin:0 0 10px;font-size:.92rem}.submission-summary>div{gap:7px;display:grid}.submission-summary span{color:#68716d;justify-content:space-between;font-size:.78rem;display:flex}.submission-summary strong{color:#222a27}.dashboard-timing{background:#f3f4f1;border-radius:12px;gap:5px;margin-top:18px;padding:15px;font-size:.8rem;display:grid}.dashboard-timing h3{margin:0 0 3px;font-size:.86rem}.dashboard-timing span{color:#68716d}.dashboard-actions{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.dashboard-actions .button{min-height:42px;padding:9px 14px;font-size:.8rem}.father-link{background:#fff;border:1px solid #d8dcda;border-radius:16px;flex-direction:column;gap:12px;padding:26px;display:flex}.father-link span{color:#69726e;font-size:.9rem}.father-heading{margin-bottom:52px}.father-heading>a{color:#66706c;font-size:.88rem}.father-sections{gap:18px;display:grid}.father-sections section{background:#ffffffc7;border:1px solid #daddda;border-radius:16px;padding:clamp(24px,5vw,42px)}.father-sections h2{color:#33443e;margin:0 0 20px;font-size:1.25rem}.father-sections p,.father-sections li{line-height:2}.father-sections ol{padding-right:24px}.caution{background:#f4eee0;border-right:3px solid #8b6d32;margin-top:26px;padding:20px;line-height:2}.not-found{text-align:center;padding:100px 0}@media (width<=760px){main{padding:38px 18px 72px}.site-header{padding:0 18px}.people-grid,.father-links,.father-dashboard-grid{grid-template-columns:1fr}.person{min-height:230px}.hero{margin-bottom:42px}.flow-card{min-height:430px}.journey-preview{scroll-snap-type:x mandatory;padding:8px 2px 14px;display:flex;overflow-x:auto}.journey-node{scroll-snap-align:center;flex:0 0 165px}.journey-node.is-current{scroll-margin-inline:35vw}.journey-length-meta span:last-child{display:none}.current-lesson-card{text-align:right}.current-lesson-card .roadmap-text-link{margin-right:0}.child-submission-summary dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
