:root {
  --ink: #253142;
  --ink-accessible: #151D28;
  --parchment: #F4F0E6;
  --sage: #8FA58C;
  --coral: #C96F5B;
  --cream: #FFFDF7;
  --charcoal: #34373A;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  color: var(--charcoal);
  background: var(--parchment);
  font-synthesis: none;
  --forest: var(--ink);
  --muted: #555c60;
  --border: #c5c9be;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--parchment); min-height: 100vh; }
button, textarea { font: inherit; }
button { cursor: pointer; touch-action: manipulation; }
button:disabled { cursor: not-allowed; opacity: .5; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 18px; max-width: 1160px; margin: 0 auto; padding: 24px 32px; border-bottom: 1px solid var(--ink); background: var(--ink); color: var(--cream); border-radius: 0 0 20px 20px; }
.brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.brand-copy { min-width:0; }
.brand-tagline { margin:5px 0 0; color:var(--sage); font:italic .95rem/1.4 Georgia,serif; letter-spacing:0; }
.brand-support { display:block; margin:3px 0 0; color:var(--muted); font:400 .78rem/1.4 system-ui,sans-serif; letter-spacing:0; }
.dashboard-brand { margin-bottom:20px; color:var(--ink); text-decoration:none; gap:12px; }
.dashboard-brand .brand-logo { width:64px; height:64px; }
.dashboard-brand strong { font:650 1.4rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; }
.dashboard-brand .brand-tagline { display:block; color:var(--muted); font-size:.82rem; }
.brand-logo { display: block; width: 96px; height: 96px; object-fit: contain; background: transparent; }
header strong { font: 1.55rem Georgia, serif; letter-spacing: -.035em; }
.tag { display: inline-block; margin-left: 14px; padding: 6px 10px; border: 1px solid var(--sage); border-radius: 30px; color: var(--ink); font-size: .7rem; letter-spacing: .085em; font-weight: 650; vertical-align: middle; background: var(--sage); }
#reset { border: 1px solid var(--sage); border-radius: 30px; background: var(--cream); padding: 10px 18px; min-height: 44px; color: var(--forest); font-size: .85rem; }
#reset::before { content: '+'; margin-right: 8px; font-size: 1.05rem; }
#reset:hover:not(:disabled) { background: var(--parchment); }
main { max-width: 856px; margin: 0 auto; padding: 20px 24px 28px; }
#account-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
#account-toolbar[hidden] { display: none; }
#open-account, #close-account { min-height: 44px; padding: 10px 14px; border: 1px solid var(--sage); border-radius: 10px; background: var(--cream); color: var(--ink); font: inherit; cursor: pointer; }
#conversation-counter { font-size: .875rem; color: var(--ink); }
#account-drawer { box-sizing: border-box; position: fixed; inset: 0; margin: auto; width: min(480px, calc(100% - 32px)); height: fit-content; max-height: calc(100dvh - 48px); padding: 24px; border: 1px solid var(--sage); border-radius: 20px; background: var(--cream); color: var(--ink); box-shadow: 0 20px 70px #25314240; overflow-y: auto; }
#account-drawer::backdrop { background: #25314280; }
#account-drawer .account-panel { margin: 20px 0 0; padding: 0; border: 0; background: transparent; overflow-wrap: anywhere; }
#welcome { text-align: center; margin-bottom: 28px; }
h1 { color: var(--ink); font: 400 clamp(2.25rem, 4.8vw, 3.2rem)/1.12 Georgia, serif; letter-spacing: -.05em; margin: 0 0 18px; }
p { line-height: 1.65; }
.intro { max-width: 700px; margin: 0 auto; color: var(--muted); font-size: .95rem; line-height: 1.75; }
#connection { font-size: .78rem; color: var(--charcoal); margin: 0 4px 12px; display: flex; align-items: center; gap: 8px; }
#connection:empty { display: none; }
form { background: var(--cream); border: 1px solid var(--sage); border-radius: 20px; padding: 23px 25px 17px; box-shadow: 0 5px 10px #25314204, 0 16px 42px #25314209; transition: border-color .15s, box-shadow .15s; }
form:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px #25314220, 0 14px 40px #25314209; }
form > label { display: block; font-size: .86rem; font-weight: 650; margin-bottom: 12px; color: var(--ink); }
textarea { width: 100%; min-height: 98px; max-height: 360px; resize: vertical; border: 0; background: transparent; color: var(--charcoal); line-height: 1.65; padding: 0; outline: none; }
#question { min-height: 72px; }
.composer-example { color:#6a716b; font-size:.82rem; font-style:italic; line-height:1.55; margin:12px 0 18px; }
textarea::placeholder { color: #646b67; }
.composer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid #c5c9be; padding-top: 14px; }
.consent { display: flex; align-items: center; gap: 8px; color: var(--charcoal); font-size: .78rem; line-height: 1.5; cursor: pointer; }
.consent input { accent-color: var(--forest); width: 17px; height: 17px; flex-shrink: 0; }
#send { min-height: 44px; min-width: 100px; padding: 10px 20px; border: 1px solid var(--ink); border-radius: 30px; color: var(--ink-accessible); background: var(--coral); font-weight: 700; font-size: .88rem; transition: background .15s; }
#send:hover:not(:disabled) { background: #d38675; }
.examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.examples button { display: block; text-align: left; border: 1px solid #c5c9be; border-radius: 14px; padding: 17px 19px; color: var(--charcoal); background: #e4e8dc; font-size: .86rem; line-height: 1.55; transition: background .15s, border-color .15s, transform .15s; }
.examples button:nth-child(2), .examples button:nth-child(3) { background: var(--cream); border-color: #c5c9be; }
.examples button:hover:not(:disabled) { background: var(--cream); border-color: var(--ink); transform: translateY(-2px); }
.example-label { display: flex; justify-content: space-between; gap: 12px; color: var(--ink); font-size: .8rem; font-weight: 650; margin-bottom: 8px; }
.example-label > span { font-size: 1rem; font-weight: 400; color: var(--ink); }
.about { border-top: 1px solid #c5c9be; padding: 16px 0 0; font-size: .83rem; color: var(--muted); }
.about summary { cursor: pointer; width: fit-content; }
.about p { max-width: 740px; }
footer { margin: 18px 0 0; font-size: .74rem; color: #555c60; text-align: center; line-height: 1.7; }
#messages { display: flex; flex-direction: column; gap: 20px; }
#messages:not(:empty) { margin: 24px 0; }
@media screen {
  #guidance { max-width:780px; margin:0 auto; }
  #guidance #messages { gap:22px; }
  #guidance .bubble { padding:24px 28px; border-radius:12px; font-size:1rem; line-height:1.7; }
  #guidance .bubble.user { max-width:88%; align-self:flex-end; margin-left:0; border-radius:12px 12px 3px 12px; }
  #guidance .bubble.assistant { border-radius:12px 12px 12px 3px; }
  #guidance .bubble > small { font-size:.82rem; letter-spacing:.04em; margin-bottom:12px; }
  #guidance #chat-form { border-radius:12px; padding:22px 24px 16px; box-shadow:0 4px 18px #25314208; }
  #guidance #question { font:inherit; font-size:1rem; line-height:1.65; min-height:80px; }
  #guidance #send { border-radius:7px; }
  #guidance .guidance-result { padding:28px 30px; }
  .aba-practices { margin:16px 0 20px; padding:14px 18px; border-left:3px solid #8FA58C; background:#FFFDF7; border-radius:8px; color:#253142; }
  .aba-practices h3 { margin:0 0 6px; font-size:1rem; }
  .aba-practices p { margin:0; line-height:1.5; }
  #guidance .dsp-part { margin:24px 0; padding:0 0 0 18px; }
  #guidance .dsp-part h3 { font-size:1rem; letter-spacing:.07em; margin-bottom:12px; }
  #guidance .dsp-part li { line-height:1.65; }
  #guidance .dsp-part li + li { margin-top:10px; }
  #guidance .guidance-citation { margin-top:24px; padding-top:18px; border-top:1px solid var(--border); color:var(--muted); font-size:.875rem; line-height:1.6; }
  #guidance .guidance-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
  #guidance .guidance-actions > button { flex:1 1 170px; border-radius:7px; font-size:.875rem; line-height:1.4; min-height:48px; padding:10px 14px; }
  #guidance .guidance-actions .survey { flex:1 1 185px; margin:0; padding:10px 12px; border:1px solid var(--sage); border-radius:7px; background:var(--parchment); }
  #guidance .guidance-actions .survey > p:first-child { font-size:.82rem; margin:0 0 6px; }
  #guidance .guidance-actions .feedback-choices { margin:0; gap:8px; }
  #guidance .guidance-actions .feedback-choices button { min-width:44px; min-height:44px; border-radius:6px; }
  #guidance .guidance-actions .survey.feedback-saved { padding:0; border:0; background:transparent; }
  #guidance .guidance-actions .survey.feedback-saved > [role="status"] { font-size:.875rem; color:var(--ink); }
}
@media screen and (max-width:600px) {
  #guidance .bubble,#guidance .guidance-result { padding:20px; }
  #guidance .bubble.user { max-width:94%; }
  #guidance #chat-form { padding:18px; }
  #guidance .dsp-part { padding-left:14px; }
  #guidance .guidance-actions { flex-direction:column; align-items:stretch; }
  #guidance .guidance-actions > button,#guidance .guidance-actions .survey { flex:auto; width:100%; box-sizing:border-box; }
}
.bubble { padding: 23px 25px; background: var(--cream); border: 1px solid var(--border); border-radius: 18px 18px 18px 5px; overflow-wrap: anywhere; }
.bubble.user { color: var(--cream); background: var(--ink); border-color: var(--ink); border-radius: 18px 18px 5px 18px; margin-left: 12%; }
.bubble > small { display: block; font-size: .73rem; font-weight: 700; letter-spacing: .1em; color: var(--ink); margin-bottom: 10px; }
.bubble.user > small { color: var(--cream); }
.bubble p { margin: 0 0 13px; white-space: pre-wrap; }
.bubble p:last-child { margin-bottom: 0; }
.thinking-indicator { align-self:flex-start; display:flex; align-items:center; gap:18px; padding:20px 12px 8px; color:var(--ink); font-size:.95rem; }
.thinking-mascot { position:relative; display:block; flex-shrink:0; width:96px; height:96px; }
.thinking-mascot img { display:block; width:100%; height:100%; object-fit:contain; border-radius:18px; }
.thinking-beam { position:absolute; left:50%; top:27%; width:0; height:0; transform:rotate(var(--angle)); }
.thinking-beam:nth-child(2) { --angle:-160deg; }
.thinking-beam:nth-child(3) { --angle:-125deg; }
.thinking-beam:nth-child(4) { --angle:-90deg; }
.thinking-beam:nth-child(5) { --angle:-55deg; }
.thinking-beam:nth-child(6) { --angle:-20deg; }
.thinking-beam::after { content:''; display:block; width:9px; height:3px; border-radius:3px; background:var(--sage); transform:translateX(28px); animation:thinking-rays 1.8s ease-in-out infinite alternate; }
.thinking-beam:nth-child(odd)::after { background:var(--coral); animation-direction:alternate-reverse; }
.thinking-label { font-weight:600; animation:thinking-pulse 1.8s ease-in-out infinite; }
@keyframes thinking-rays { from { transform:translateX(28px); opacity:.5; } to { transform:translateX(39px); opacity:1; } }
@keyframes thinking-pulse { 0%,100% { opacity:.6; } 50% { opacity:1; } }
@media(prefers-reduced-motion: reduce) { .thinking-beam::after,.thinking-label { animation:none; } }
.dsp-part { border-left: 3px solid var(--coral); padding-left: 17px; margin: 22px 0; }
.dsp-part.say { border-color: var(--sage); }
.dsp-part.pivot { border-color: var(--ink); }
#new-happening { display: block; margin: 20px auto; min-height: 44px; padding: 8px 16px; border: 1px solid var(--ink); border-radius: 24px; background: var(--coral); color: var(--ink-accessible); font-weight: 650; font-size: .9rem; }
#new-happening:hover:not(:disabled) { box-shadow: 0 0 0 2px var(--sage); }
.dsp-part ul { margin: 0; padding-left: 1.2em; line-height: 1.6; }
.dsp-part li + li { margin-top: 8px; }
.video-choices { display: flex; gap: 10px; margin-top: 12px; }
.video-choices button { min-width: 72px; min-height: 44px; padding: 9px 18px; border: 1px solid var(--ink); border-radius: 24px; background: var(--cream); color: var(--ink); font-weight: 600; }
.video-choices button:first-child { background: var(--coral); color: var(--ink-accessible); }
.video-choices button:hover:not(:disabled) { box-shadow: 0 0 0 2px var(--sage); }
.dsp-part h3 { font-size: .8rem; letter-spacing: .1em; margin: 0 0 9px; }
.dsp-symbol { display: inline-block; width: .75em; height: .75em; margin-right: .6em; vertical-align: baseline; background: var(--coral); }
.say .dsp-symbol { background: var(--sage); border-radius: 50%; }
.pivot .dsp-symbol { background: var(--ink); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.sources { border-left: 3px solid var(--sage); padding-left: 16px; font-size: .83rem; border-top: 1px solid var(--border); padding-top: 15px; margin-top: 20px; }
.sources summary { cursor: pointer; }
.sources pre { white-space: pre-wrap; font: inherit; line-height: 1.7; }
.survey { border:0; background:transparent; padding:0; margin:12px 0; font-size:.87rem; }
.survey { transition:background .3s,border-color .3s,padding .3s; }
.dashboard-ranges { display:flex; flex-wrap:wrap; gap:8px; border:0; padding:0; margin:24px 0 8px; }
.dashboard-ranges legend { font-weight:600; margin-bottom:10px; }
.dashboard-ranges button,.beta-dashboard > button { border:1px solid var(--sage); border-radius:20px; padding:10px 18px; color:var(--ink); background:var(--cream); }
.dashboard-ranges button[aria-pressed="true"] { background:var(--ink); color:var(--cream); }
.metric-grid .metric-action { text-align:left; border:1px solid var(--sage); background:var(--cream); border-radius:12px; padding:18px; color:var(--ink); }
.metric-action:hover { box-shadow:0 2px 12px #25314220; }
.chart-legend { display:flex; flex-wrap:wrap; gap:10px 16px; margin:18px 0; }
.chart-legend label { display:flex; align-items:center; gap:6px; font-size:.85rem; }
.chart-legend span { padding-left:7px; }
#activity-chart { display:block; width:100%; height:340px; background:var(--cream); border-radius:12px; }
.chart-scroll { max-width:100%; overflow-x:auto; }
.dashboard-entry { padding:16px 0; border-bottom:1px solid var(--sage); overflow-wrap:anywhere; }
.dashboard-entry p,#error-chat-content p { white-space:pre-wrap; }
#copy-error-text { width:100%; padding:12px; color:var(--ink); background:var(--cream); }
.survey > .feedback-choices { opacity:1; max-height:160px; overflow:hidden; transition:opacity .25s,max-height .3s,margin .3s,visibility .3s; }
.survey.feedback-saved { border-color:transparent; background:transparent; padding:0; }
.survey.feedback-saved > .feedback-choices { opacity:0; max-height:0; margin:0; visibility:hidden; }
@media(prefers-reduced-motion:reduce) { .survey,.survey > p:first-child,.survey > .feedback-choices { transition:none; } }
a { color: var(--ink); text-underline-offset: 3px; }
.media-link { display: block; border: 1px solid var(--sage); border-radius: 12px; padding: 16px; margin-top: 20px; }
#error, #file-notice { color: var(--ink); background: var(--parchment); border: 1px solid var(--coral); border-radius: 12px; padding: 16px; }
[hidden] { display: none !important; }
@media(max-width: 600px) {
  header { padding: 16px 20px; }
  .brand { gap: 9px; }
  .brand-tagline { font-size:.82rem; max-width:230px; }
  .brand-logo { width: 64px; height: 64px; }
  header strong { font-size: 1.3rem; }
  .tag { display: block; width: fit-content; margin: 5px 0 0; font-size: .62rem; padding: 3px 7px; }
  #reset { padding: 9px 13px; font-size: .8rem; }
  main { padding: 30px 18px 24px; }
  #welcome { text-align: left; margin-bottom: 22px; }
  h1 { font-size: 2.5rem; }
  .intro { font-size: .91rem; }
  form { padding: 19px 18px 15px; border-radius: 17px; }
  .composer-bottom { gap: 10px; }
  .consent { max-width: 180px; }
  #send { min-width: 80px; padding: 10px 15px; }
  .examples { grid-template-columns: 1fr; gap: 10px; }
  .examples button { padding: 15px 17px; }
  .bubble { padding: 19px; }
  .bubble.user { margin-left: 5%; }
}
@media(prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

.account-panel { background: #FFFDF7; border: 1px solid #8FA58C; border-radius: 20px; padding: 24px; margin: 24px 0; color: #34373A; }
.account-panel h2 { color: #253142; margin-top: 0; font-family: Georgia, serif; }
.account-subtitle { display: block; margin-top: 8px; font-size: 1.2rem; font-weight: 400; line-height: 1.4; }
.account-layout.is-signed-in { display: block; margin: 24px 0; }
.account-layout.is-signed-in > .account-panel { margin: 0; padding: 22px; min-width: 0; font-size: .95rem; }
.account-layout.is-signed-in #account-title { font-size: 1.35rem; line-height: 1.25; }
.account-layout.is-signed-in .account-subtitle { font-size: 1rem; }
.account-layout.is-signed-in #allowance { overflow-wrap: anywhere; }
.beta-feedback-panel { margin: 12px 0 0; font-size: .875rem; }
.beta-feedback-panel p { margin: 0; line-height: 1.5; }
#open-beta-feedback { padding: 8px 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
#open-beta-feedback:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
#beta-feedback-form { padding: 0; border: 0; box-shadow: none; background: transparent; }
#beta-feedback-form label { display: block; margin: 16px 0 8px; }
#beta-feedback-comment { width: 100%; border: 1px solid var(--ink); border-radius: 10px; padding: 12px; background: var(--cream); color: var(--charcoal); resize: vertical; }
@media(max-width: 700px) { .account-layout.is-signed-in { grid-template-columns: 1fr; } }
.guidance-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 20px; }
.guidance-share { box-sizing: border-box; width: min(600px, calc(100% - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; padding: 24px; margin: auto; border: 1px solid var(--sage); border-radius: 16px; background: var(--cream); color: var(--ink); box-shadow: 0 20px 70px #25314240; }
.guidance-share::backdrop { background: #25314299; }
.evidence-match-row { display:flex; align-items:center; gap:8px; }
.evidence-match-row > p { margin:12px 0; font-weight:600; }
.evidence-match-info { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid var(--sage); border-radius:50%; background:var(--sage); color:var(--ink); font-size:22px; cursor:pointer; }
.evidence-match-info:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.evidence-match-scores { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; }
.evidence-match-scores dt,.evidence-match-scores dd { margin:0; padding:8px 0; border-bottom:1px solid var(--sage); }
.evidence-match-scores dd { font-weight:700; }
@media print { .evidence-match-info { display:none; } }
.guidance-share h2 { margin: 0 0 12px; font-family: Georgia, serif; }
.guidance-share a, .guidance-share button { display: inline-block; margin: 5px; padding: 10px; color: var(--ink); border: 1px solid var(--ink); border-radius: 8px; background: var(--cream); }
.guidance-actions button, .survey button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--ink); border-radius: 12px; background: var(--cream); color: var(--ink); cursor: pointer; }
.guidance-actions .action-print { background: var(--coral); color: var(--ink-accessible); }
.guidance-actions .action-feedback { background: var(--sage); color: var(--ink); }
.guidance-actions .action-friends { background: var(--ink); color: var(--cream); }
.feedback-choices { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.feedback-choices button[aria-pressed="true"] { background: var(--sage); outline: 2px solid var(--ink); }
.survey textarea { display: block; box-sizing: border-box; width: 100%; min-height: 120px; margin-top: 10px; padding: 12px; border: 1px solid var(--ink); border-radius: 8px; background: var(--cream); }
.survey textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
#print-guidance { display: none; }
@media print {
  body > :not(#print-guidance) { display: none !important; }
  body { background: white; color: #253142; }
  #print-guidance { display: block; }
  #print-guidance, #print-guidance * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #print-guidance .bubble { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
  #print-guidance .dsp-part { break-inside: avoid; }
  #print-guidance table { width: 100%; position: relative; border-collapse: collapse; }
  #print-guidance td { padding: 0; }
  #print-guidance thead { display: table-header-group; }
  #print-guidance .print-branding { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 24px; border-bottom: 1px solid #8FA58C; }
  #print-guidance .print-branding img { width: 60px; height: 60px; object-fit: contain; }
}
.share-actions a[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.account-panel label { display: block; font-size: 1rem; font-weight: 600; margin: 14px 0 6px; }
.account-panel input { box-sizing: border-box; width: 100%; border: 1px solid #637561; border-radius: 8px; padding: 12px; background: #FFFDF7; color: #253142; font: inherit; }
.account-panel fieldset { border: 0; padding: 0; margin: 0; }
.account-panel form { padding: 0; box-shadow: none; border: 0; background: transparent; }
.account-panel button, .share-actions a { display: inline-block; min-height: 44px; padding: 12px 16px; margin: 6px 4px 6px 0; border: 1px solid #253142; border-radius: 10px; background: #F4F0E6; color: #253142; font: inherit; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.account-panel #account-submit { background: #C96F5B; color: #151D28; font-weight: 700; }
.account-tabs { display:flex; flex-wrap:wrap; gap:8px 20px; }
.account-panel .account-tabs button { border:0; border-radius:0; background:transparent; padding:8px 0; margin:0; font-size:.875rem; font-weight:400; text-decoration:underline; text-underline-offset:4px; }
.account-panel button:disabled { cursor: not-allowed; opacity: .6; }
.account-note { font-size: .875rem; line-height: 1.5; }
.account-panel :focus-visible { outline: 3px solid #253142; outline-offset: 3px; }
#invite-preview { width: 100%; box-sizing: border-box; min-height: 120px; }
[hidden] { display: none !important; }
 .beta-dashboard { max-width:1100px; margin:40px auto; padding:24px; }
 .guidance-returns-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:24px; align-items:start; }
 .guidance-returns-card { background:#FFFDF7; border:1px solid #8FA58C; border-radius:16px; padding:20px; }
 .guidance-returns-card h3 { margin:0 0 16px; font-size:1rem; }
 .guidance-returns-card strong { font-size:2.5rem; color:#253142; }
 .guidance-returns-card p { font-size:.9rem; }
 @media(max-width:760px) { .guidance-returns-layout { grid-template-columns:1fr; } }
 .metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; }
 .metric-grid article { background:#FFFDF7; border:1px solid #8FA58C; padding:18px; border-radius:16px; }
 .metric-grid h3 { font-size:1rem; margin:0 0 12px; color:#253142; }
 .metric-grid strong { font-size:1.65rem; color:#253142; }
 .metric-table { overflow-x:auto; }
 .metric-table table { width:100%; border-collapse:collapse; text-align:left; }
 .metric-table th,.metric-table td { padding:12px; border-bottom:1px solid #8FA58C; }
 #intake-rows td {min-width:150px;max-width:330px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;}
 #intake-rows td:nth-child(12) {min-width:280px;}
.header-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.workspace-header { min-height:112px; padding:20px 32px; border-bottom:1px solid var(--border); border-radius:0; background:var(--parchment); color:var(--ink); }
.workspace-header .brand { color:var(--ink); text-decoration:none; gap:12px; }
.workspace-header .brand-logo { width:64px; height:64px; }
.workspace-header .brand strong { font:650 1.4rem/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; }
.workspace-header .brand-tagline { color:var(--muted); font-size:.82rem; }
.workspace-header #account-toolbar { display:flex; flex-direction:column; align-items:flex-end; gap:6px; margin:0; }
.workspace-header .header-actions { gap:10px; }
.workspace-header #reset,.workspace-header #my-guidance,.workspace-header #open-account { min-height:44px; margin:0; padding:10px 16px; border:1px solid var(--border); border-radius:7px; background:var(--cream); color:var(--ink); font:600 .875rem/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.workspace-header #reset { background:var(--coral); color:var(--ink-accessible); border-color:var(--coral); }
.workspace-header #conversation-counter { color:var(--muted); font-size:.82rem; }
.workspace-header button:hover:not(:disabled) { border-color:var(--ink); }
.workspace-header a:focus-visible,.workspace-header button:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
@media(max-width:760px) { .workspace-header { flex-wrap:wrap; padding:18px 20px; gap:18px; } .workspace-header #account-toolbar { width:100%; align-items:flex-start; } .workspace-header .header-actions { justify-content:flex-start; } }
@media(max-width:380px) { .workspace-header .header-actions { gap:6px; } .workspace-header #reset,.workspace-header #my-guidance,.workspace-header #open-account { padding:10px; } }
#my-guidance { background:#253142; color:#FFFDF7; border:1px solid #8FA58C; border-radius:30px; min-height:44px; padding:10px 18px; font-size:.85rem; }
footer { max-width:1080px; margin:24px auto; padding:0 24px 32px; }
.social-footer { margin-bottom:12px; text-align:center; }
.social-follow { display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:44px; box-sizing:border-box; padding:10px 18px; border:1px solid #8FA58C; border-radius:24px; background:#FFFDF7; color:#253142; font-size:.875rem; font-weight:600; line-height:1.5; text-decoration:none; }
.social-follow svg { flex-shrink:0; }
.social-handle { display:block; font-size:.8125rem; font-weight:400; }
.social-follow:hover { background:#F4F0E6; border-color:#253142; }
.social-follow:focus-visible { outline:3px solid #253142; outline-offset:4px; }
@media print { .social-follow { display:none; } }
#open-privacy { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; color:var(--ink); font-size:.875rem; font-weight:400; text-decoration:underline; text-underline-offset:3px; }
#open-privacy:hover { text-decoration-thickness:2px; }
#open-privacy:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
#privacy-dialog h2 { color:var(--ink); }
#privacy-dialog strong { color:var(--ink); }
#privacy-dialog a { color:var(--ink); text-underline-offset:3px; }
.saved-dialog { width:min(850px,90vw); }
.saved-row { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #8FA58C; padding:12px 0; }
.saved-row button { white-space:normal; }
#saved-content { margin-top:24px; }
#saved-content .bubble { max-width:100%; }
.saved-transcript { margin-top:24px; }
.saved-transcript summary { cursor:pointer; padding:12px; font-weight:600; }
.danger-button { color:#803923; border:1px solid #803923; background:#FFFDF7; }
#guidance-choice { padding: 14px 0 22px; }
.choice-eyebrow { color:#52644f; font-size:.75rem; letter-spacing:.16em; font-weight:700; margin:0 0 14px; }
#choice-title { color:var(--ink); font:400 clamp(2rem,5vw,2.85rem)/1.14 Georgia,serif; letter-spacing:-.035em; margin:0 0 28px; }
.guidance-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.guidance-option { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:16px; min-width:0; padding:26px; border:1px solid #c5c9be; border-radius:20px; background:var(--cream); color:var(--ink); text-decoration:none; font:inherit; box-shadow:0 7px 24px #25314206; transition:border-color .15s,transform .15s; }
.guidance-option:hover { border-color:var(--ink); transform:translateY(-2px); }
.guidance-option strong { font:400 1.4rem/1.2 Georgia,serif; }
.option-mark { display:flex; align-items:center; min-height:34px; font-size:1.1rem; letter-spacing:.12em; color:#994c3c; }
.option-description { font-size:.94rem; line-height:1.6; color:#505b60; }
.option-action { width:100%; display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding-top:18px; border-top:1px solid #d9dace; font-size:.85rem; font-weight:650; }
.evidence-option { background:#e7ecdf; }
#guidance-choice { display:flex; flex-direction:column; gap:20px; padding:0; margin:24px 0; }
#routing-question { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
#guidance-choice #choice-title { font:inherit; color:var(--ink); letter-spacing:normal; line-height:1.65; margin:0 0 16px; }
#edit-routing-question { border:0; background:transparent; text-decoration:underline; color:var(--cream); padding:8px 0 0; font-size:.85rem; }
.routing-replies { display:flex; flex-wrap:wrap; gap:10px; }
.routing-replies button { min-height:44px; padding:10px 16px; border:1px solid var(--sage); border-radius:24px; background:var(--parchment); color:var(--ink); font-size:.9rem; }
.routing-replies #choose-evidence { background:#e7ecdf; }
#guidance-choice #evidence-topic-form { border:0; border-top:1px solid var(--border); border-radius:0; padding:20px 0 0; box-shadow:none; }
#evidence-topic-form { margin-top:22px; }
#evidence-topic { width:100%; font:inherit; color:var(--ink); background:var(--cream); padding:12px; border:1px solid var(--sage); border-radius:10px; }
#evidence-topic-form button { padding:12px 20px; min-height:44px; background:var(--coral); color:var(--ink-accessible); border:1px solid var(--ink); border-radius:24px; font-weight:650; }
.evidence-option .option-mark { color:#52644f; font-size:1.7rem; }
#beta-feedback-panel { padding:18px 0; border-top:1px solid var(--border); color:var(--muted); }
#open-privacy { padding:10px 18px; border:1px solid var(--sage); border-radius:6px; background:var(--cream); color:var(--ink); font-size:.875rem; font-weight:500; text-decoration:none; box-shadow:none; }
#open-privacy:hover { background:#F4F0E6; border-color:var(--ink); }
.account-footer { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1180px; margin:0 auto; padding:26px 36px 30px; border-top:1px solid #25314222; font-size:.82rem; line-height:1.65; color:var(--charcoal); text-align:left; }
.account-footer nav { display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.account-footer a { color:var(--ink); text-underline-offset:4px; }
.account-footer .footer-brand { font-weight:650; text-decoration:none; }
.account-footer #open-privacy { display:inline-block; min-height:0; margin:0; padding:10px 14px; border:1px solid var(--sage); border-radius:6px; background:var(--cream); color:var(--ink); font:inherit; text-decoration:none; }
.account-footer a:focus-visible,.account-footer #open-privacy:focus-visible { outline:3px solid var(--ink); outline-offset:5px; }
@media(max-width:650px) { .account-footer { padding-left:20px; padding-right:20px; align-items:flex-start; flex-direction:column; } .account-footer nav { gap:16px; } }
@media(max-width:520px) { .guidance-options { grid-template-columns:1fr; gap:14px; } .guidance-option { padding:22px; gap:12px; } #choice-title { margin-bottom:22px; } }
#delete-account-form { display:grid; gap:12px; background:transparent; padding:0; box-shadow:none; }
#delete-account-form input { width:100%; box-sizing:border-box; padding:12px; border:1px solid #637561; border-radius:8px; font:inherit; background:#FFFDF7; color:#253142; }
#privacy-dialog p { font-size:1rem; line-height:1.6; }
.account-panel #account-age-label { display:flex; align-items:center; gap:10px; }
.account-panel #account-adult { width:20px; height:20px; }
#chat-form > .consent { max-width:none; font-size:.875rem; }
@media (max-width:600px) { header { flex-wrap:wrap; } .header-actions { justify-content:flex-start; } .saved-row { align-items:stretch; flex-direction:column; } }
 #signup-map{display:block;width:100%;max-width:720px;height:auto;margin-inline:auto;border:1px solid #b2bca9;border-radius:18px;background:#edf0e9;}
 .onboarding-summary table{table-layout:fixed;min-width:640px;}
 #onboarding-metrics th,#onboarding-metrics td{vertical-align:top;}
 .onboarding-summary ul{list-style:none;padding:0;margin:0;}
 .onboarding-summary li{margin:0 0 10px;overflow-wrap:anywhere;}
 .signup-dot{fill:#C96F5B;stroke:#253142;stroke-width:1;cursor:pointer;}
 .signup-dot:hover,.signup-dot:focus{fill:#253142;stroke:#C96F5B;stroke-width:2;outline:none;}
 #signup-location-list{display:flex;gap:8px;flex-wrap:wrap;max-height:220px;overflow:auto;}
 #signup-location-list button{background:#FFFDF7;color:#253142;border:1px solid #8FA58C;border-radius:18px;padding:8px 12px;}
 .map-caption{font-size:.85rem;color:#535e50;}
 #topic-request-form{display:grid;gap:14px;margin-top:16px;}
 #requested-topic{width:100%;padding:12px;border:1px solid var(--sage);border-radius:12px;background:var(--cream);color:var(--ink);font:inherit;}
 #save-topic-request,#request-topic{padding:10px 16px;border:1px solid var(--sage);border-radius:24px;background:var(--cream);color:var(--ink);}
.site-footer .footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.site-footer .footer-follow { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.site-footer .footer-follow svg { flex-shrink:0; }
.site-footer .footer-privacy,.account-footer.site-footer #open-privacy { display:inline-flex; align-items:center; min-height:44px; padding:0; margin:0; border:0; border-radius:0; background:transparent; color:#253142; font:inherit; text-decoration:underline; text-underline-offset:4px; box-shadow:none; }
.site-footer .footer-contact { display:inline-flex; align-items:center; min-height:44px; padding:0; border:0; background:transparent; color:#253142; font:inherit; text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-contact:hover { text-decoration-thickness:2px; }
.onboarding-dialog {width:min(620px,calc(100% - 32px));padding:32px;border-radius:24px;}
.onboarding-dialog h2 {font-size:1.65rem;margin-bottom:12px;}
.onboarding-dialog .onboarding-note {font-size:.82rem;line-height:1.55;color:var(--muted);margin:0 0 26px;}
.onboarding-dialog form,.onboarding-dialog form:focus-within {padding:0;border:0;box-shadow:none;background:transparent;}
.onboarding-dialog fieldset {border:0;padding:0;margin:0;min-width:0;}
.onboarding-dialog legend {font-size:1.22rem;line-height:1.35;font-weight:650;margin:0;padding:0;}
.onboarding-hint {font-size:.85rem;color:var(--muted);margin:8px 0 16px;}
.onboarding-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.onboarding-dialog .onboarding-choice {display:flex;align-items:center;gap:12px;min-height:54px;margin:0;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;font-size:.93rem;line-height:1.35;}
.onboarding-dialog .onboarding-choice:hover {border-color:#52644f;background:#f4f6f0;}
.onboarding-dialog .onboarding-choice:has(input:checked) {background:#e6ede1;border-color:#52644f;box-shadow:inset 0 0 0 1px #52644f;font-weight:600;}
.onboarding-dialog .onboarding-choice:focus-within {outline:2px solid var(--ink);outline-offset:3px;}
.onboarding-dialog .onboarding-choice input {width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#52644f;}
.onboarding-dialog .onboarding-other {display:block;margin:18px 0 0;font-size:.88rem;}
.onboarding-dialog .onboarding-other input {display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:10px;font:inherit;}
.onboarding-status {font-size:.88rem;line-height:1.4;margin:14px 0;color:#8d382a;}
.onboarding-status:empty {display:none;}
.onboarding-actions {display:flex;justify-content:space-between;gap:12px;margin-top:24px;}
.onboarding-dialog .onboarding-actions button {margin:0;min-height:48px;padding:12px 20px;border-radius:12px;font-size:.9rem;}
.onboarding-dialog .onboarding-back {border-color:transparent;background:transparent;color:var(--muted);}
.onboarding-dialog .onboarding-next {background:var(--ink);color:var(--cream);border-color:var(--ink);font-weight:600;}
.onboarding-dialog progress {display:block;width:100%;height:6px;margin-top:26px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#e7e8df;accent-color:#52644f;}
.onboarding-dialog progress::-webkit-progress-bar {background:#e7e8df;}
.onboarding-dialog progress::-webkit-progress-value {background:#52644f;border-radius:8px;}
.onboarding-dialog progress::-moz-progress-bar {background:#52644f;}
.onboarding-caption {font-size:.78rem;color:var(--muted);margin:10px 0 0;}
.focus-card {margin:16px 0;padding:20px;border:1px solid var(--sage);border-radius:14px;background:var(--cream);}
.focus-card h3 {margin:0 0 6px;}
.focus-card > p {margin:0 0 18px;font-size:.9rem;}
.focus-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.focus-group h4 {margin:0 0 10px;font-size:.85rem;color:var(--ink);}
.focus-group button {display:block;width:100%;min-height:44px;margin:0 0 8px;padding:11px 13px;border:1px solid #8fa58c80;border-radius:7px;background:#e6ede155;color:var(--ink);font:inherit;font-size:.9rem;text-align:left;white-space:normal;}
.focus-group button:hover {background:#e6ede1;border-color:var(--ink);}
.focus-group button:focus-visible {outline:3px solid var(--coral);outline-offset:2px;}
@media(max-width:600px){.focus-columns{grid-template-columns:1fr;gap:18px;}.focus-card{padding:16px;}}
@media(max-width:480px){.onboarding-dialog{padding:22px;max-height:calc(100dvh - 24px);}.onboarding-choices{grid-template-columns:1fr;}.onboarding-dialog .onboarding-note{margin-bottom:20px;}.onboarding-dialog .onboarding-actions button{padding:12px 14px;}}

.footer-feedback { border:0; padding:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.resource-product {margin-top:18px;}
.resource-product section {margin:20px 0;}
.resource-product h3 {font-size:1.05rem;margin:0 0 8px;}
.resource-product p {white-space:pre-wrap;line-height:1.6;}
.resource-followup {margin-top:20px;font-weight:600;}
.datasheet-scroll {overflow-x:auto;}
.program-datasheet {width:100%;min-width:620px;border-collapse:collapse;margin:14px 0;}
.program-datasheet th,.program-datasheet td {border:1px solid #7b898c;padding:10px;min-width:52px;height:52px;text-align:left;}
.program-datasheet thead {background:#edf2ed;}
.program-datasheet tbody th {font-weight:400;min-width:220px;}
@media print {.resource-datasheet {break-before:page;}.program-datasheet {min-width:0;}.program-datasheet td {min-width:.5in;height:.5in;}.resource-followup {display:none;}}
.survey > .feedback-choices button{min-width:44px;min-height:44px;padding:6px;border:0;background:transparent;box-shadow:none;font-size:1.25rem}
.survey > .feedback-choices button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.intake-card{margin-top:1rem;padding:1.1rem;border:1px solid #d1dbe5;border-radius:16px;background:#f7fafc}
.route-choice{margin:24px 0 8px}
.route-choice h3{margin:0 0 18px;font:400 1.5rem/1.2 Georgia,serif;letter-spacing:-.03em;color:var(--ink)}
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.route-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:220px;padding:18px 16px 30px;border:1px solid #c9c9bd;border-radius:20px 20px 34px 20px;background:var(--cream);color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}
.route-option:hover:not(:disabled){transform:translateY(-3px);border-color:var(--ink);box-shadow:0 8px 22px #25314212}
.route-option:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.route-option strong{font-size:.9rem;line-height:1.35;margin-bottom:8px}
.route-description{font-size:.77rem;line-height:1.5;color:#505951}
.route-art{display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border-radius:45% 55% 57% 43%/58% 44% 56% 42%;transform:rotate(-8deg)}
.route-art svg{width:25px;height:25px;transform:rotate(8deg)}
.route-sage{background:#f1f4eb}.route-sage .route-art{background:#dce6d3}
.route-peach{background:#fbf0e9}.route-peach .route-art{background:#f0d5c5}
.route-lavender{background:#f2eff6}.route-lavender .route-art{background:#e1d9ed}
.route-sunshine{background:radial-gradient(ellipse at 90% 15%,#ff9a23 0%,transparent 52%),radial-gradient(ellipse at 15% 90%,#ffb52e 0%,transparent 60%),linear-gradient(135deg,#fff06a,#ffd526 52%,#ffad32);border-color:#ce8614;color:#34290b}
.route-sunshine .route-art{background:#fff5a9;color:#5d390a}
.route-sunshine .route-barrel{background:none;transform:none}
.route-barrel img{display:block;width:44px;height:44px;object-fit:contain}
.route-sunshine .route-description{color:#493515}
.route-arrow{position:absolute;right:16px;bottom:12px;font-size:1.05rem}
@media(max-width:680px){.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-option{min-height:206px}}
@media(max-width:420px){.route-grid{grid-template-columns:1fr}.route-option{min-height:0;padding:16px 44px 16px 74px}.route-art{position:absolute;left:16px;top:18px;margin:0}.route-arrow{top:20px;bottom:auto}.route-description{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.route-option{transition:none}.route-option:hover:not(:disabled){transform:none}}
.intake-card>p{font-size:.9rem;color:#465969;margin:0 0 .8rem}
.intake-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.intake-options button{min-height:48px;text-align:left;padding:.8rem 1rem;border:1px solid #b9cbd7;border-radius:10px;background:white;color:#17394c;font:inherit;white-space:normal;overflow-wrap:anywhere}
.intake-options button:hover:not(:disabled),.intake-options button[aria-pressed="true"]{background:#e0f3f7;border-color:#087887;color:#054d5a}
.intake-options button:focus-visible,.intake-continue:focus-visible{outline:3px solid #087887;outline-offset:3px}
.intake-options button:disabled{opacity:.55;cursor:default}
.intake-options button.intake-recommended{background:#e2f1e8;border:2px solid #457a62;box-shadow:0 0 0 2px #457a621a;color:#173c35}
.intake-continue{margin-top:1rem;min-height:44px;padding:.65rem 1.3rem}
@media(max-width:600px){.intake-options{grid-template-columns:1fr}}
.intake-custom{display:block;width:100%;min-height:100px;margin-top:14px;padding:14px;border:1px solid #b8d0ca;border-radius:14px;font:inherit;resize:vertical;background:#fff;color:#173c35;box-sizing:border-box}
.intake-custom[hidden],.intake-continue[hidden]{display:none}
.goal-choice-card{background:linear-gradient(135deg,#f0f8f5,#f7f4eb);border-color:#c9ded3;border-radius:20px}
.goal-choice-card .intake-options button{border-radius:14px;border-color:#bfd4ca;box-shadow:0 2px 5px #173c3508;transition:background .15s,border-color .15s}
.goal-choice-card .intake-options button:hover:not(:disabled){background:#e3f1e8;border-color:#457a62;color:#173c35}
.evidence-disclosure { font-size: .85rem; line-height: 1.45; color: #525b62; }
