:root{--ivory:#f7f2e8;--paper:#fffdf8;--ink:#25231f;--muted:#716c62;--line:#ded5c7;--coral:#f97316;--coral-dark:#ea580c;--verdigris:#0d9488;--serif:"Songti SC","Noto Serif SC",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.65}.parent-header{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(20px,5vw,72px);border-bottom:1px solid rgba(71,60,42,.13);background:rgba(247,242,232,.9);backdrop-filter:blur(14px)}.parent-brand{min-width:0;display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}.parent-brand img{width:70px;height:70px;object-fit:contain;mix-blend-mode:multiply}.parent-brand span{display:grid}.parent-brand strong{font-family:var(--serif);font-size:19px;letter-spacing:.06em}.parent-brand small{color:var(--muted);font-size:12px}.parent-back{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:border-color .15s ease,color .15s ease}.parent-back:hover{border-color:var(--coral);color:var(--coral-dark)}.parent-back-group{display:flex;align-items:center;gap:8px}.parent-account{display:flex;align-items:center;gap:8px}.parent-account label{color:var(--muted);font-size:12px}.parent-account select,.parent-account button{height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-size:13px}.parent-account button{border-color:var(--ink);background:var(--ink);color:#fff;cursor:pointer}.parent-shell{width:min(1100px,calc(100% - 40px));margin:0 auto;padding:clamp(64px,9vw,120px) 0 96px}.parent-intro{max-width:760px;margin-bottom:clamp(54px,8vw,96px)}.eyebrow,.area-kicker{margin:0 0 14px;color:var(--verdigris);font-size:11px;font-weight:800;letter-spacing:.16em}.parent-intro h1{max-width:700px;margin:0;font-family:var(--serif);font-size:clamp(22px,3.4vw,38px);font-weight:600;line-height:1.3;letter-spacing:-.02em;white-space:nowrap}.parent-intro>p:last-child{max-width:600px;margin:24px 0 0;color:var(--muted);font-size:16px}.notice{margin:-54px 0 42px;padding:13px 16px;border-left:3px solid var(--coral);background:#fff9f2;color:#6d493d}.parent-area{display:grid;grid-template-columns:76px minmax(0,1fr);gap:28px;padding:44px 0;border-top:1px solid var(--line)}.parent-area-priority{padding:54px clamp(20px,5vw,54px);border:1px solid var(--line);background:var(--paper)}.parent-area-priority+.parent-area-priority{margin-top:18px}.area-index{padding-top:5px;color:var(--coral);font-family:var(--serif);font-size:15px}.area-copy h2{margin:0 0 22px;font-family:var(--serif);font-size:clamp(27px,4vw,42px);font-weight:600;line-height:1.2}.area-content{color:var(--muted)}.area-content p{max-width:700px;margin:0}.empty-copy{color:#938c80}.goal-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.goal-list span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#4e4a43;font-size:13px}.plan-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;font-size:13px}.practice-card{color:var(--ink)}.practice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.practice-heading small{color:var(--coral-dark);font-weight:800;letter-spacing:.08em}.practice-heading h3{margin:3px 0 0;font-family:var(--serif);font-size:25px}.practice-minutes{flex:0 0 auto;color:var(--verdigris);font-size:13px}.practice-content{margin:14px 0 18px!important;color:#524d45}.practice-tool{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-radius:4px;background:var(--verdigris);color:#fff;text-decoration:none}.practice-tool b{white-space:nowrap}.practice-card details{margin-top:14px;border-bottom:1px solid var(--line)}.practice-card summary{padding:12px 0;cursor:pointer;color:var(--verdigris);font-weight:700}.practice-card details p{padding:0 0 14px}.practice-response{display:grid;gap:13px;margin-top:22px}.practice-response label{display:grid;gap:6px;color:#5e584f;font-size:13px}.practice-response select,.practice-response textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;font:inherit}.practice-response button{width:max-content;padding:11px 18px;border:0;border-radius:4px;background:var(--coral);color:#fff;font:inherit;font-weight:800;cursor:pointer}.text-action{display:inline-flex;gap:9px;margin-top:16px;color:var(--coral-dark);font-weight:800;text-decoration:none}.text-action:hover{text-decoration:underline}.submitted-note{padding:14px 16px;border-left:3px solid var(--verdigris);background:#edf5f1;color:#355d55}
@media(max-width:700px){.parent-header{align-items:flex-start;padding:10px 16px}.parent-brand img{width:56px;height:56px}.parent-brand small{display:none}.parent-account label{display:none}.parent-shell{width:min(100% - 28px,1100px);padding-top:58px}.parent-intro{margin-bottom:52px}.parent-area,.parent-area-priority{grid-template-columns:1fr;gap:12px;padding:34px 18px}.parent-area:not(.parent-area-priority){padding-inline:4px}.area-index{padding:0}.area-copy h2{font-size:29px}.practice-heading{display:block}.practice-minutes{display:block;margin-top:6px}.practice-tool{align-items:flex-start;flex-direction:column}.practice-response button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.practice-deadline{margin:10px 0 0!important;color:var(--coral-dark);font-size:13px;font-weight:700}.practice-stoprule{margin:0 0 16px!important;padding:10px 14px;border-left:3px solid var(--coral);background:#fff6ef;color:#6d493d;font-size:13px}.practice-feedback{margin-top:10px;padding:14px 16px;border-left:3px solid var(--coral);background:#fff9f2;color:#6d493d}.practice-feedback-hint{margin-top:10px;color:#938c80;font-size:13px}
.parent-history{margin-top:18px;padding:34px clamp(20px,5vw,54px);border:1px solid var(--line);background:rgba(255,253,248,.72)}.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.history-head h2{margin:0;font-family:var(--serif);font-size:clamp(25px,3.5vw,36px);font-weight:600;line-height:1.2}.history-sync{padding-top:4px;color:var(--muted);font-size:12px;white-space:nowrap}.history-content{margin-top:22px}.history-list{display:grid;gap:10px}.history-item{padding:14px 16px;border:1px solid var(--line);background:var(--paper)}.history-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.history-item-title{font-family:var(--serif);font-size:18px;color:var(--ink)}.history-item-date{color:var(--muted);font-size:12px;white-space:nowrap}.history-item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;color:var(--muted);font-size:12px}.history-badge{padding:2px 8px;border-radius:999px;background:#edf5f1;color:var(--verdigris);font-weight:700}.history-badge.pending{background:#fff6ef;color:var(--coral-dark)}.history-item-detail{margin:8px 0 0;color:#5e584f;font-size:13px;white-space:pre-wrap}.history-item-evidence{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);color:#5e584f;font-size:13px;line-height:1.7;white-space:pre-wrap}.history-empty{margin:0;color:var(--muted);font-size:13px}@media(max-width:700px){.parent-history{padding:28px 18px}.history-head{display:block}.history-sync{display:block;margin-top:6px}.history-item-head{display:block}.history-item-date{display:block;margin-top:4px}}

.ph-loading-overlay{position:fixed;inset:0;background:rgba(255,255,255,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:2000}.ph-loading-overlay[hidden]{display:none}.ph-loading-spinner{width:42px;height:42px;border:4px solid #e8f0ec;border-top-color:#0d9488;border-radius:50%;animation:phSpin .9s linear infinite}@keyframes phSpin{to{transform:rotate(360deg)}}.ph-loading-text{font-size:13px;color:#5b6b63;font-weight:500;letter-spacing:.04em}.ph-loading-progress-track{width:min(260px,60vw);height:6px;border-radius:99px;background:#ccfbf1;overflow:hidden}.ph-loading-progress-bar{width:0%;height:100%;border-radius:99px;background:linear-gradient(90deg,#0d9488,#14b8a6);transition:width .35s ease}

.history-list{gap:12px}.history-day-group{border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}.history-day-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;cursor:pointer;list-style:none;color:var(--ink)}.history-day-group summary::-webkit-details-marker{display:none}.history-day-group summary::after{content:"▾";color:var(--muted);transition:transform .18s ease}.history-day-group[open] summary::after{transform:rotate(180deg)}.history-day-label{font-family:var(--serif);font-size:17px;font-weight:600}.history-day-count{color:var(--muted);font-size:12px}.history-day-body{padding:0 14px 14px;display:grid;gap:10px}.history-day-body .history-item{border:1px solid var(--line);border-radius:8px;background:#fff}.history-month-divider{display:flex;align-items:center;gap:10px;margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.history-month-divider::before,.history-month-divider::after{content:"";flex:1;border-top:1px dashed var(--line)}
.parent-back[hidden]{display:none}
.message-panel{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.message-panel[hidden]{display:none}.message-list{display:grid;gap:10px;max-height:260px;overflow-y:auto;margin-bottom:12px;padding-right:2px}.message-bubble{max-width:82%;padding:10px 13px;border-radius:12px;border:1px solid var(--line);background:#fff}.message-bubble p{margin:0;font-size:13.5px;white-space:pre-wrap;word-break:break-word}.message-bubble small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.message-bubble.from-parent{margin-left:auto;background:#edf5f1;border-color:#d4e4da}.message-bubble.from-therapist{margin-right:auto}.message-form{display:grid;gap:10px}.message-form textarea{width:100%;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);font:inherit;font-size:13.5px}.message-form textarea:focus{outline:2px solid var(--verdigris);outline-offset:1px}.message-form button{justify-self:end;padding:8px 18px;border:none;border-radius:999px;background:var(--verdigris);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.message-form button:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.message-bubble{max-width:92%}}
