/* Shared, static help content: app reading panel and website explainer. */
.companion-purpose-dialog.app-dialog{width:min(800px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border-radius:22px}
.companion-purpose-dialog[open]{display:flex;flex-direction:column}
#companion-help.companion-purpose-dialog{padding:0}
.companion-help-header{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;padding:24px 28px 18px;border-bottom:1px solid var(--app-line);background:var(--app-surface);flex-shrink:0}
.companion-help-header .eyebrow{margin:0 0 6px}
.companion-help-header h2{font-family:Arial,Helvetica,sans-serif;font-size:26px;letter-spacing:-.035em;line-height:1.2;margin:0}
.companion-help-header .app-dialog-close{float:none;flex:0 0 44px;width:44px;height:44px;margin:0;font-size:28px}
#companion-help .companion-help-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
#companion-help .companion-help-header>div{display:contents}
#companion-help .companion-help-header .eyebrow{grid-column:1;grid-row:1;font-size:11px;line-height:1.4;letter-spacing:.12em;margin:0}
#companion-help .companion-help-header .app-dialog-close{grid-column:2;grid-row:1}
#companion-help .companion-help-header h2{grid-column:1/-1;grid-row:2;font-size:26px}
.companion-help-scroll{padding:24px 28px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scroll-padding:16px}
.companion-help-purpose{max-width:66ch;margin-bottom:28px}
.companion-help-purpose h3{font-size:23px;line-height:1.3;margin:0 0 14px;letter-spacing:-.03em}
.companion-purpose-dialog p{color:var(--app-ink);font-size:16px;line-height:1.65}
.companion-section-title{font-size:14px!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:700;letter-spacing:.04em!important;text-transform:uppercase;margin:0 0 18px}
.companion-rhythm{list-style:none;padding:0!important;margin:0;counter-reset:rhythm;display:grid;gap:0}
.companion-rhythm li{position:relative;padding:0 0 20px 44px;counter-increment:rhythm}
.companion-rhythm li::before{content:counter(rhythm,decimal-leading-zero);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--app-soft,#e6ebdb);color:var(--app-ink,#234434);font:700 12px/1 Arial,sans-serif;border:1px solid var(--app-line,#c5d0ba)}
.companion-rhythm :is(h3,h4){font:700 16px/1.4 Arial,Helvetica,sans-serif!important;letter-spacing:normal!important;margin:0 0 5px!important}
.companion-rhythm p{margin:0!important;font-size:15px!important;line-height:1.6!important}
.companion-example{padding:18px 20px;border-left:3px solid var(--app-green,#2d6047);border-radius:0 12px 12px 0;background:var(--app-soft,#e6ebdb);font-size:15px!important;margin:4px 0 30px}
.companion-faq details{border-bottom:1px solid var(--app-line,#c5d0ba)}
.companion-faq summary{font:700 16px/1.5 Arial,Helvetica,sans-serif;cursor:pointer;padding:18px 28px 18px 0;position:relative;list-style:none;color:var(--app-ink,#234434);min-height:48px}
.companion-faq summary::-webkit-details-marker{display:none}
.companion-faq summary::after{content:'+';position:absolute;right:0;top:17px;font:400 22px/1.2 Arial,sans-serif}
.companion-faq details[open] summary::after{content:'−'}
.companion-faq details>div{padding:0 8px 20px 0}
.companion-faq p{margin:0 0 10px;font-size:15px!important;line-height:1.7!important}
.companion-faq p:last-child{margin-bottom:0}
.companion-faq a,.companion-help-note a,.companion-help-link{text-decoration:underline!important;text-underline-offset:4px;overflow-wrap:anywhere}
.companion-source-link{font-size:13px!important}
.companion-help-note{font-size:13px!important;line-height:1.6!important;color:var(--app-muted,#526550)!important;margin:24px 0 0}
.companion-help-footer{flex-shrink:0;display:flex;gap:12px 24px;align-items:center;justify-content:space-between;padding:16px 28px;border-top:1px solid var(--app-line);background:var(--app-surface)}
.app-purpose-note{display:flex;align-items:center;justify-content:space-between;gap:16px 26px;padding:20px 24px;margin:0 0 24px;border:1px solid var(--app-line);border-radius:16px;background:var(--app-surface);color:var(--app-ink)}
html[data-palette="sand"] .app-purpose-note{--app-surface:#f4ecde;--app-ink:#304334;--app-muted:#52634d;--app-line:#c3c5ae;background:linear-gradient(120deg,#f8f1df,#e8e7cf)}
.app-purpose-note h2{font:700 17px/1.35 Arial,Helvetica,sans-serif;margin:0 0 6px;letter-spacing:-.02em}
.app-purpose-note p{font-size:14px;line-height:1.6;max-width:65ch;margin:0;color:var(--app-ink)}
.app-purpose-note button{flex-shrink:0;max-width:100%;text-align:left}
.companion-explainer{--app-ink:#234434;--app-muted:#526550;--app-soft:#e6ebdb;--app-line:#c5d0ba;--app-green:#2d6047;color:var(--app-ink);background:#f5f2e8}
.companion-explainer .companion-purpose-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,88px);align-items:start}
.companion-explainer h2{max-width:20ch;font-size:clamp(32px,3.4vw,48px);line-height:1.12;margin-bottom:24px}
.companion-explainer p{font-size:16px;line-height:1.75;color:#344f3d;max-width:66ch}
.companion-explainer .eyebrow{color:#355741!important}
.companion-help-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;color:#29583f;font-size:14px;font-weight:700}
.companion-hero-help{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:#fff7df!important;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.companion-help-section{background:#edf0e6;border-block:1px solid #d1d9c8;scroll-margin-top:160px}
.companion-help-web{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:start}
.companion-help-web-intro .btn{margin-right:16px;margin-bottom:12px}
.companion-explainer :focus-visible{outline:3px solid #355f40;outline-offset:4px}
@media(max-width:850px){.companion-explainer .companion-purpose-grid,.companion-help-web{grid-template-columns:1fr}.companion-help-web-intro h2{max-width:26ch}}
@media(max-width:600px){.app-purpose-note{flex-direction:column;align-items:stretch;padding:18px 20px;gap:8px}.companion-help-header{padding:18px 18px 14px;gap:12px}.companion-help-header h2{font-size:22px}.companion-help-scroll{padding:20px 18px}.companion-help-footer{padding:12px 18px;gap:8px;flex-wrap:wrap}.companion-help-footer .btn{flex:1}.companion-help-footer .app-text-link{font-size:12px}.companion-faq summary{font-size:15px}.companion-rhythm li{padding-left:40px}}
@media(prefers-reduced-motion:reduce){.companion-purpose-dialog *{scroll-behavior:auto;transition:none;animation:none}}
@media(max-width:600px){
  #companion-help .companion-help-header{gap:8px 12px}
  #companion-help .companion-help-header h2{font-size:22px}
  #companion-help .companion-help-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;justify-items:stretch}
  #companion-help .companion-help-footer .btn{width:100%;min-height:48px}
  #companion-help .companion-help-footer .app-text-link{justify-content:center;min-height:44px}
}
