/* NatalZen: calm graphite, a clear hierarchy, progressive disclosure. */
body.natalzen-body{background:#f7f8fa;color:#454c56}
.nz-app{--ink:#454c56;--muted:#68717c;--line:#e2e6eb;--paper:#f7f8fa;--accent:#65707d;--soft:#eef1f4;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}
.nz-app [hidden]{display:none!important}
.nz-app h1,.nz-app h2,.nz-app h3,.nz-app h4{color:var(--ink);letter-spacing:-.025em;line-height:1.25}
.nz-app h1,.nz-app .nz-title{font-size:clamp(30px,4vw,44px)!important;letter-spacing:-.035em}
.nz-app h2{font-size:clamp(23px,3vw,31px)}
.nz-app p{overflow-wrap:break-word}
.nz-app a:focus-visible,.nz-app button:focus-visible,.nz-app summary:focus-visible{outline:3px solid #9ca7b4;outline-offset:4px}
.nz-top{background:#ffffffed;backdrop-filter:blur(12px);box-shadow:0 3px 15px #454c5605}
.nz-top .nz-shell{min-height:74px}
.nz-brand-image{filter:brightness(0) saturate(100%) invert(30%) sepia(10%) saturate(577%) hue-rotate(177deg) brightness(93%) contrast(88%)}
.nz-nav{gap:16px}.nz-nav a{font-weight:550;white-space:nowrap}.nz-nav a[aria-current=page]{color:#65707d}
.nz-app .nz-btn{background:#4b535e;border-color:#4b535e;border-radius:13px;min-height:46px;box-shadow:none;transition:background .15s,box-shadow .15s}
.nz-app .nz-btn:hover{background:#59636f;transform:none;box-shadow:0 4px 12px #454c5614}
.nz-app .nz-btn.alt{background:#fff;color:#4b535e!important;border-color:#d9dfe6}
.nz-app .nz-btn.alt:hover{background:#f1f4f7;border-color:#bdc8d2}
.nz-app button:disabled{opacity:.6;cursor:wait;transform:none}
.nz-app .nz-card{border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 5px 24px #454c5605;transition:box-shadow .18s}
.nz-app .nz-card:hover{transform:none}
.nz-app a.nz-card:hover{border-color:#c1cad4;box-shadow:0 8px 24px #454c560d}
.nz-app .nz-section{padding:28px 0}
.nz-app .nz-page-head{padding:30px 0 14px}
.nz-app .nz-page-head p,.nz-app .nz-card p{color:var(--muted)}
.nz-app .nz-mini{font-size:13px;line-height:1.6}
.nz-app .nz-credit-bar{background:#f0f3f5;border-bottom:1px solid var(--line);padding:6px 0}
.nz-credit-bar .nz-shell{min-height:38px}
.nz-credit-bar .nz-btn{background:transparent!important;min-height:34px;padding:6px 12px;font-weight:550}
.nz-app .nz-symbol{background:#eef1f4;color:#65707d}
.nz-breadcrumb{display:flex;gap:10px;align-items:center;padding-top:18px;padding-bottom:4px;font-size:13px;color:var(--muted)}
.nz-breadcrumb a:hover{color:#65707d;text-decoration:underline}
.nz-app .nz-start-layout{gap:32px;align-items:start;padding-top:20px}
.nz-app .nz-start-copy h1{font-size:clamp(30px,4vw,44px)}
.nz-app .nz-start-copy>p{font-size:16px;max-width:55ch}
.nz-app .nz-start-chart{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}
.nz-app .nz-start-chart h2{font-size:24px}
.nz-app .nz-chart-controls button[aria-pressed=true]{background:#58616d;border-color:#58616d;color:#fff}
.nz-app .nz-chart-controls button{min-height:42px}
.nz-app .nz-chart-layouts{background:#fff;border-radius:16px}
.nz-app .nz-chart-graphic svg text{fill:#53606c}
.nz-chart-saved-note{padding:12px 16px;background:#eef1f4;border-radius:12px;font-size:13px!important}
.nz-chart-saved-note a{color:#65707d;text-decoration:underline}
.nz-app #nz-chart-live{padding-top:0;padding-bottom:30px}
.nz-app #nz-chart-live>.nz-card{padding:26px}
.nz-chart-profile{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:16px 0 20px;border-bottom:1px solid var(--line);margin-bottom:14px}
.nz-chart-profile b{font-size:16px}.nz-chart-profile span{font-size:13px;color:var(--muted)}.nz-chart-profile a{font-size:13px;color:#65707d;text-decoration:underline;margin-left:auto}
.nz-explorer-tabs{display:flex;gap:5px;flex-wrap:wrap;background:#edf0f4;border:1px solid var(--line);border-radius:15px;padding:5px;margin:22px 0 24px;scroll-margin-top:105px}
.nz-explorer-tabs button{flex:1;min-width:120px;min-height:45px;border:0;border-radius:11px;background:transparent;color:#68717c;padding:10px 12px;font-size:14px;font-weight:650}
.nz-explorer-tabs button[aria-selected=true]{background:#fff;color:#454c56;box-shadow:0 2px 8px #454c5610}
.nz-explorer-welcome{padding:20px;background:#f3f5f7;border:1px solid #e1e6eb;border-radius:16px;margin:0 0 22px}
.nz-explorer-welcome h3{margin:0 0 10px;font-size:22px}
.nz-explorer-welcome p{max-width:82ch;margin-bottom:8px}
.nz-explorer-panels [role=tabpanel]{scroll-margin-top:110px;min-width:0}
.nz-explorer-panels .nz-guide-intro{margin-top:0;background:#fff}
.nz-explorer-panels #nz-advanced-chart{margin-top:0;padding-top:0;border-top:0}
.nz-app .nz-advanced-section{padding:20px;background:#fff;border-color:var(--line);border-radius:16px}
.nz-app .nz-advanced-section>summary{font-size:17px;align-items:center;list-style:none}
.nz-advanced-section>summary:after{content:'+';font-size:23px;color:#89939e}.nz-advanced-section[open]>summary:after{content:'−'}
.nz-advanced-section>summary span{padding:4px 9px;border-radius:20px;background:#eef1f4;color:#65707d;font-size:11px;white-space:nowrap;margin-left:auto}
.nz-advanced-section>p,.nz-advanced-explanation>p{max-width:88ch;font-size:14px;line-height:1.7}
.nz-app .nz-chart-reading[open]{background:#f6f8fa}
.nz-app .nz-chart-reading summary{min-height:35px;font-size:15px}
.nz-app .nz-chart-reading p{line-height:1.75}
.nz-app .nz-chart-composer{background:#f6f8fa;border:1px solid var(--line);border-radius:17px;padding:20px;margin-top:20px}
.nz-app .nz-chat-message.assistant{background:#f1f4f7;color:#454c56;border-radius:17px}
.nz-app .nz-chat-message.user{background:#eef1f4;color:#454c56;border-radius:17px}
.nz-app .nz-chat-message div{max-width:85ch}
.nz-app .nz-chat-thread{max-height:none}
.nz-app .nz-calendar-banner{background:#eef1f4;border:1px solid #dce2e8;padding:24px}
.nz-app .nz-calendar-orbit{background:#dfe5eb;color:#65707d}
.nz-app .nz-calendar-tabs{background:#edf0f4;border-radius:15px;padding:5px}
.nz-app .nz-calendar-tabs button{border-radius:11px;color:#68717c;min-height:44px}
.nz-app .nz-calendar-tabs button[aria-selected=true]{background:#fff;color:#454c56;box-shadow:0 2px 8px #454c5610}
.nz-app .nz-calendar-activity,.nz-app .nz-calendar-bio details{background:#f5f7f9;border:1px solid #e8ecf0}
.nz-calendar-name small{color:#68717c}.nz-calendar-times{color:#596976}
.nz-app .nz-field input,.nz-app .nz-field select,.nz-app .nz-field textarea{border-color:#d5dde5;border-radius:12px;min-height:48px}
.nz-app .nz-field input:focus,.nz-app .nz-field textarea:focus,.nz-app .nz-field select:focus{outline:2px solid #9ca7b4;outline-offset:2px}
.nz-app .nz-foot{background:#f1f4f6;border-top:1px solid var(--line);margin-top:32px}
.nz-side details{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.nz-side summary{cursor:pointer;font-size:13px;font-weight:650;margin-bottom:4px}
.nz-mobile-dock{display:none}
.nz-job-status{padding:16px;background:#f3f5f7;border:1px solid #dce2e8;border-radius:14px;margin:16px 0}
.nz-job-status progress{width:100%;height:10px;accent-color:#73808e;display:block;margin:10px 0}
.nz-job-status p{margin:7px 0;font-size:14px}
@media(max-width:950px){.nz-nav{background:#fff;padding:18px;border-radius:0 0 18px 18px;max-height:calc(100dvh - 100px);overflow:auto}.nz-nav a{padding:8px}.nz-nav-admin{display:none}.nz-side{display:none}.nz-app .nz-start-layout{gap:22px}.nz-app .nz-top .nz-shell{min-height:68px}}
@media(max-width:700px){.nz-app{font-size:15px}.nz-app .nz-shell{padding-left:16px;padding-right:16px}.nz-app .nz-card{padding:19px;border-radius:17px}.nz-app #nz-chart-live>.nz-card{padding:17px}.nz-app .nz-start-layout{grid-template-columns:1fr}.nz-app .nz-start-chart{padding:14px}.nz-app .nz-chart-controls{margin:8px 0}.nz-app .nz-chart-controls button{flex:1;padding:9px 7px;font-size:11px}.nz-explorer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:relative;scroll-margin-top:125px}.nz-explorer-tabs button{min-width:0;font-size:13px}.nz-chart-profile{display:grid;gap:6px}.nz-chart-profile a{margin-left:0}.nz-app .nz-advanced-section>summary{flex-wrap:wrap;gap:8px}.nz-advanced-section>summary b{flex:1;min-width:60%}.nz-advanced-section>summary span{margin-left:0}.nz-mobile-dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:45;border-top:1px solid #dfe5ea;background:#fffffff5;backdrop-filter:blur(12px);padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.nz-mobile-dock a{display:flex;align-items:center;flex-direction:column;gap:3px;font-size:11px;color:#6d7783;border-radius:10px;padding:4px;min-height:48px}.nz-mobile-dock a[aria-current=page]{color:#65707d;background:#eef1f4}.nz-mobile-dock .nz-icon{width:21px;height:21px}.nz-app:has(.nz-mobile-dock){padding-bottom:80px}.nz-credit-bar .nz-mini{display:none}.nz-app .nz-breadcrumb{padding-top:12px;font-size:12px}.nz-app .nz-actions{gap:8px}.nz-app .nz-actions .nz-btn{flex:1;font-size:13px;padding:11px 12px}.nz-app .nz-photo-head{grid-template-columns:1fr}.nz-app .nz-page-photo{max-height:160px;width:100%;object-fit:cover;border-radius:16px}.nz-app .nz-section{padding:22px 0}.nz-app .nz-top .nz-shell{min-height:64px}.nz-app .nz-nav{top:64px}}
@media(prefers-reduced-motion:reduce){.nz-app *{scroll-behavior:auto!important;transition:none!important}}

/* Day indicators use graphite intensity and retain explicit state labels. */
.nz-app .nz-level-4{background:#778592}
.nz-app .nz-calendar-stars{color:#778592}
.nz-app .nz-advanced-status{color:#65707d}
.nz-app input[type=checkbox],.nz-app input[type=radio]{accent-color:#65707d}
