@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@400;500;600;700;800&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden;max-width:100vw}body{font-family:Inter,sans-serif;background:#f7fafc;color:#282828}.serif{font-family:"DM Serif Display",serif}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#d0d8ee;border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fadeUp{animation:fadeUp .4s ease both}.animate-fadeIn{animation:fadeIn .2s ease both}.animate-popIn{animation:popIn .2s ease both}.family-auth-page{min-height:100vh;padding:32px 20px;display:grid;place-items:center;background:linear-gradient(135deg,#1a2248,#2d4080)}.family-auth-card,.family-content,.family-correction{width:min(100%,480px);background:#fff;border-radius:18px;padding:32px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.family-auth-logo{width:58px;height:58px;object-fit:contain;margin-bottom:16px}.family-eyebrow{color:#d45a1a;font-size:11px;letter-spacing:.09em;font-weight:800;margin-bottom:7px}.family-auth-card h1,.family-content h1{color:#263163;font-size:30px;margin-bottom:8px}.family-muted{color:#667085;font-size:14px;line-height:1.6}.family-form{display:grid;grid-gap:9px;gap:9px;margin-top:22px}.family-correction label,.family-form label{color:#263163;font-size:13px;font-weight:700}.family-correction input,.family-correction textarea,.family-form input{width:100%;min-height:44px;border:1.5px solid #d0d8ee;border-radius:8px;padding:10px 12px;font:inherit}.family-correction textarea{min-height:100px;resize:vertical}.family-primary{min-height:44px;border:0;border-radius:8px;padding:10px 16px;background:#f26b36;color:#fff;font:inherit;font-weight:700;cursor:pointer}.family-primary:disabled{opacity:.65;cursor:wait}.family-text-button{border:0;background:transparent;color:#395caa;font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:8px 0}.family-message{color:#0f766e}.family-error,.family-message{font-size:13px;line-height:1.5;margin-top:14px}.family-error{color:#b42318}.family-help{color:#667085;font-size:12px;line-height:1.55;margin-top:20px}.family-dashboard{min-height:100vh;background:#f7fafc}.family-dashboard-header{min-height:60px;padding:0 20px;background:#263163;color:#fff;display:flex;justify-content:space-between;align-items:center}.family-brand{color:#fff;text-decoration:none;font-size:15px;font-weight:800}.family-brand span{display:block;color:#d0d8ee;font-size:9px;letter-spacing:.08em}.family-dashboard>.family-error,.family-dashboard>.family-message{display:block;width:min(100% - 40px,940px);margin:34px auto}.family-content{width:min(100% - 40px,940px);margin:32px auto;box-shadow:none}.family-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:24px}.family-child-card{display:grid;grid-gap:8px;gap:8px;border:1px solid #d0d8ee;border-radius:12px;padding:18px;background:#f8faff;text-decoration:none;color:#263163}.family-child-card span,.family-publication>span{color:#d45a1a;font-size:11px;font-weight:800;text-transform:uppercase}.family-child-card small{color:#667085;line-height:1.45}.family-profile-card,.family-publication{margin-top:18px;border:1px solid #e2e8f0;border-radius:12px;padding:18px}.family-profile-card p{margin-top:8px;color:#535376;font-size:14px}.family-publications{display:grid;grid-gap:14px;gap:14px;margin-top:20px}.family-correction h2,.family-publication h2{color:#263163;font-size:18px;margin:6px 0}.family-publication p{color:#535376;font-size:14px;line-height:1.55}.family-plan-section{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}.family-plan-section h3{color:#263163;font-size:14px;margin-bottom:6px}.family-download{display:inline-block;margin-top:14px;color:#fff;background:#395caa;padding:9px 12px;border-radius:7px;text-decoration:none;font-size:13px;font-weight:700}.family-correction{width:100%;margin-top:28px;box-shadow:none;border:1px solid #e2e8f0;display:grid;grid-gap:9px;gap:9px}@media (max-width:520px){.family-auth-card,.family-content{padding:24px 18px}.family-dashboard-header{padding:0 16px}.family-content{width:calc(100% - 24px);margin:12px auto}}.hp-page{background:#fdfbf8;color:#263163;min-height:100vh}.hp-content{max-width:860px;margin:0 auto;padding:28px 24px 60px}.hp-content nav a{color:#535376;font-weight:600;display:inline-flex;align-items:center;min-height:44px}.hp-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:26px 0}.hp-heading h1{font-size:36px;letter-spacing:-.03em;margin:8px 0;color:#263163}.hp-child-name{font-size:21px;margin:4px 0;color:#535376}.hp-house{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;background:#fff0df;color:#a4491d;font-size:52px}.hp-header-link{color:#fff;min-height:44px;display:inline-flex;align-items:center;font-weight:600}.hp-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.hp-button,.hp-page button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border:1px solid #187c70;border-radius:12px;background:#187c70;color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.hp-button:focus-visible,.hp-page a:focus-visible,.hp-page button:focus-visible,.hp-page summary:focus-visible{outline:3px solid #a4491d;outline-offset:4px}.hp-empty,.hp-error,.hp-plan-header,.hp-therapy{padding:26px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;margin:18px 0;overflow-wrap:anywhere}.hp-plan-header{background:#f0f8f5;border-color:#cee5dc}.hp-page h2{font-size:22px;margin:10px 0;line-height:1.4}.hp-plan-header p{line-height:1.65;margin:8px 0}.hp-badge{display:inline-block;padding:6px 11px;background:#fff;border:1px solid #cee5dc;border-radius:20px;color:#17695f;font-size:13px;font-weight:700}.hp-muted{color:#535376;font-size:14px;line-height:1.6}.hp-therapy{border-top:4px solid var(--hp-therapy-color,#187c70);box-shadow:0 4px 18px #26316305}.hp-therapy>header{border-bottom:1px solid #edf0f3;padding-bottom:12px}.hp-field{margin-top:24px}.hp-field h3{font-size:16px;color:#263163;margin:0 0 8px;font-weight:700}.hp-field p{font-size:17px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;color:#34344d;margin:0}.hp-history{border:1px solid #e2e8f0;border-radius:16px;padding:16px 22px;margin-top:28px;background:#fff}.hp-history summary{min-height:44px;align-content:center;cursor:pointer;font-weight:700}.hp-history a{min-height:52px;display:flex;gap:14px;align-items:center;justify-content:space-between;border-top:1px solid #e2e8f0;color:#263163;text-decoration:none;padding:12px 0}.hp-history a[aria-current=page]{font-weight:700;color:#17695f}.hp-history-notice{color:#785018;background:#fff4de;padding:12px;border-radius:8px}.hp-footer-note{font-size:14px;color:#535376;line-height:1.7;margin:24px 0}.hp-error{border-color:#e5b4b4;background:#fff8f7}.hp-error a{display:inline-flex;min-height:44px;align-items:center;margin:12px;color:#263163}.hp-loading{min-height:440px;background:#fff;padding:26px;border-radius:18px;color:#535376}.hp-loading div{height:70px;margin-top:24px;border-radius:12px;background:#f0f3f2}.family-child-card .hp-button{margin-top:16px;align-self:flex-start}.family-child-card .hp-profile-link{color:#535376;display:inline-flex;align-items:center;min-height:44px;margin-top:8px}@media (max-width:600px){.hp-content{padding:18px 16px 40px}.hp-heading h1{font-size:30px}.hp-house{width:58px;height:58px;font-size:40px}.hp-empty,.hp-error,.hp-plan-header,.hp-therapy{padding:20px}.hp-field p{font-size:16px}.hp-page .family-dashboard-header{gap:12px;padding:16px}.hp-page .family-brand{font-size:16px}}@media print{.hp-house,.hp-no-print{display:none!important}.hp-content{max-width:none;padding:0}.hp-page{background:#fff}.hp-heading{margin:0 0 15px}.hp-plan-header,.hp-therapy{box-shadow:none;border-radius:0;background:#fff;margin:12px 0;padding:14px;page-break-inside:auto;break-inside:auto}.hp-field{page-break-inside:avoid;break-inside:avoid}.hp-field p{font-size:12pt;line-height:1.55}.hp-page h2{font-size:16pt}.hp-footer-note{font-size:10pt}}