@import url("/fonts/readability/fonts.css");
*{box-sizing:border-box}html{background:#f4efe6;color:#182e40;font-family:Manrope,system-ui,sans-serif}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #98664f;outline-offset:3px}button{cursor:pointer;border:0;border-radius:12px;background:#203d50;color:white;font-weight:700;padding:13px 20px;min-height:46px}button:disabled{opacity:.5;cursor:not-allowed}button span{margin-left:18px}a{color:#203d50}.shell{width:min(1120px,100%);padding:30px 28px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #d4c8b6;padding-bottom:25px}.brand{text-decoration:none;font-weight:800;letter-spacing:.14em;font-size:14px}.brand span{display:block;font-size:10px;letter-spacing:.26em;margin-top:4px}.badge,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em}.badge{padding:9px 12px;border-radius:99px;background:#e5d5be;color:#523d21}.intro{padding:38px 0 28px;max-width:650px;transition:padding .2s}.intro h1{font:500 clamp(30px,5vw,50px)/1.13 Playfair,Georgia,serif;margin:12px 0}.intro p:last-child{line-height:1.8;color:#52616b;font-size:14px;max-width:490px}.layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:start}h2{font:500 25px/1.35 Playfair,Georgia,serif;margin:12px 0 20px}.steps{list-style:none;padding:0}.steps li{border-top:1px solid #d4c8b6;padding:16px 0;font-size:11px;color:#746b60}.steps strong{font-size:14px;color:#203d50;padding-left:12px}.steps span{display:block;margin:6px 0 0 28px;font-size:12px}.muted,.note,.footnote,details p,.crisis p{color:#58636a;font-size:12px;line-height:1.8}.crisis{border-top:1px solid #d4c8b6;margin-top:20px;padding-top:20px}.crisis strong{font-size:13px}.crisis a{display:block;padding:4px 0;font-weight:650}.room{border:1px solid #ddd2c2;background:#fffdf8;box-shadow:0 15px 50px #342b2110;border-radius:22px;overflow:hidden;min-width:0}.room-head{display:flex;align-items:center;gap:11px;padding:20px;border-bottom:1px solid #e6ded2}.avatar{display:grid;place-items:center;background:#eee1d0;border-radius:50%;color:#6f4f3c;width:42px;height:42px;flex-shrink:0;font-size:25px}.room-head strong{font-size:14px}.room-head small{display:block;color:#66717a;font-size:10px;max-width:280px;line-height:1.7;margin-top:3px}.remaining{margin-left:auto;font-size:10px;white-space:nowrap;color:#674b31}.consent{padding:22px;display:grid;gap:15px}.consent h2{margin:0}.consent>label:first-of-type{font-size:13px}.consent select{width:100%;padding:11px;background:#f8f3eb;border:1px solid #cabbab;border-radius:9px;color:#182e40}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8}.check input{width:19px;height:19px;accent-color:#263f51;flex-shrink:0}.note{margin:0;background:#f5ece5;padding:12px;border-radius:9px}.messages{display:flex;flex-direction:column;gap:20px;padding:22px;max-height:min(54dvh,600px);min-height:70px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.messages:empty{display:none}.msg{display:flex;gap:8px;max-width:94%;align-self:flex-start;line-height:1.85;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.msg::before{content:'✧';display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:#e9dcc9;font-size:17px}.msg p{margin:0;border-radius:3px 15px 15px 15px;padding:13px 16px;background:#f1eae0}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg.user::before{content:'Bạn';font-size:9px;background:#dcc2b6;color:#4d3428}.msg.user p{background:#243d50;color:#fff;border-radius:15px 3px 15px 15px}.notice{font-size:12px;padding:0 22px;line-height:1.75;color:#7c4635;min-height:21px}.toolbar{padding:0 16px;display:flex;justify-content:space-between;gap:8px}.quiet{color:#594b40;background:transparent;font-size:11px;padding:9px 6px;min-height:40px}.composer{margin:0 18px 10px;padding:12px;background:#f7f2e9;border:1px solid #d6cabc;border-radius:13px}.composer textarea{background:none;border:0;resize:vertical;max-height:150px;min-height:60px;width:100%;font-size:14px;line-height:1.7;color:#172f42}.send-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.send-row>span{font-size:10px;color:#66625c}.send-row button{padding:10px 18px}.footnote{font-size:10px;text-align:center;padding:0 16px}.hidden{display:none!important}.started .intro{padding:15px 0}.started .intro h1,.started .intro p:last-child{display:none}footer{padding:24px 0 8px;color:#6b675e;font-size:11px;text-align:center;letter-spacing:.1em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}details summary{font-size:12px;cursor:pointer;min-height:40px;padding:10px 0}.admin-panel{max-width:680px;margin:35px auto;padding:25px;background:#fffdf8;border:1px solid #d7ccbd;border-radius:18px}.admin-panel input[type=password]{width:100%;padding:13px;margin:10px 0;border:1px solid #cabbab;border-radius:8px}.admin-panel button{margin:8px 5px 8px 0}.danger{background:#8d3d36}.admin-data{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;padding:15px;background:#f4eee5}.admin-panel .check{margin:14px 0}@media(max-width:720px){.shell{padding:18px 14px}.badge{font-size:8px;padding:8px}.brand{font-size:11px}.intro{padding:25px 3px 18px}.intro h1{font-size:37px}.layout{display:flex;flex-direction:column;gap:18px}.layout aside{width:100%}.steps{display:flex;gap:10px;margin:0}.steps li{flex:1;padding:10px 0;font-size:8px}.steps strong{display:block;padding:4px 0 0;font-size:12px}.steps span{display:none}.layout aside>h2{font-size:20px;margin:4px 0 12px}.layout aside>.muted{display:none}.crisis{margin:0;padding:0;border:0}.crisis>strong{font-size:11px}.crisis>p{margin:5px 0;font-size:10px}.crisis a{display:inline;padding:4px 7px 4px 0}.layout aside details{margin-bottom:8px}.layout aside details p{font-size:11px}.room{width:100%;border-radius:16px}.room-head{padding:14px 11px;gap:8px}.room-head small{font-size:9px}.room-head strong{font-size:12px}.avatar{width:31px;height:31px;font-size:21px}.remaining{font-size:9px}.messages{padding:18px 10px;max-height:48dvh;gap:16px}.msg{font-size:13px;max-width:100%;gap:6px}.msg p{padding:11px 12px}.composer{margin:0 10px 10px}.composer textarea{font-size:16px}.started .intro{display:none}.started .layout aside .steps,.started .layout aside .eyebrow{display:none}.started .layout aside>h2{font-size:16px;margin:0}.started .layout aside .crisis>p:last-child{display:none}.started .layout{gap:10px}.started .messages{max-height:52dvh}.consent{padding:18px 14px}.admin-panel{padding:18px}}@media(max-width:350px){.shell{padding:14px 9px}.badge{font-size:7px;letter-spacing:.08em}.room-head small{max-width:155px}.remaining{font-size:8px}.msg{font-size:12px}.msg::before{width:22px;height:22px}}

/* Warm conversation refinement. Copied into the existing stylesheet at build. */
.intro{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);column-gap:44px;align-items:center}.intro .eyebrow{grid-column:1}.intro h1{grid-column:1}.intro>p:last-of-type{grid-column:1;line-height:1.8;max-width:500px;color:#495862;font-size:14px}.journey-portrait{grid-column:2;grid-row:1/4;margin:0;min-width:0}.journey-portrait img{width:100%;height:220px;object-fit:cover;display:block;border-radius:80px 18px 18px 18px}.journey-portrait figcaption{font-size:9px;line-height:1.7;color:#565c60;margin-top:8px}.journey-portrait a{color:#354f61}.steps .current{border-color:#93674f;background:#eadace;padding-left:10px;border-radius:0 12px 12px 0}.step-status{font-size:11px;line-height:1.7;color:#5b4234}.consent-receipt{margin:8px 20px 0;border-bottom:1px solid #ddd2c2}.consent-receipt p{margin-top:0}.typing{padding:10px 22px;color:#665146;font-size:12px}.typing span{letter-spacing:3px;display:inline-block;animation:breathe 1s ease-in-out infinite alternate}.notice{color:#703d2c}.footnote,.room-head small{color:#555e64}.started .intro .journey-portrait{display:none}.started .intro{display:block}.started .intro>p:last-of-type{display:none}.messages{scroll-padding-block:18px}.composer{scroll-margin-bottom:20px}.composer textarea{resize:none;overflow-y:auto;min-height:64px}.check input{margin-top:2px}.step-status{min-height:36px}.room-head>div:nth-child(2){min-width:0}.remaining{font-variant-numeric:tabular-nums}@keyframes breathe{to{opacity:.35;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.typing span{animation:none}.intro{transition:none}}@media(max-width:720px){.intro{grid-template-columns:1fr;gap:0}.intro .eyebrow,.intro h1,.intro>p:last-of-type{grid-column:1}.journey-portrait{grid-column:1;grid-row:auto;margin-top:8px}.journey-portrait img{height:170px;border-radius:42px 12px 12px 12px}.intro h1{font-size:34px;margin:8px 0}.journey-portrait figcaption{font-size:9px}.steps li{min-width:0}.steps .current{padding-left:8px}.started .layout aside .steps{display:flex}.started .layout aside .step-status{display:block;margin:6px 0;font-size:10px;min-height:0}.started .layout aside details{margin:0}.started .messages{max-height:calc(var(--viewport-height,100dvh)*.42);min-height:90px}.consent-receipt{margin:5px 13px 0}.room-head{flex-wrap:wrap}.room-head .remaining{margin-left:auto}.send-row button{min-width:102px;min-height:46px}.toolbar{flex-wrap:wrap}.composer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.crisis{padding-bottom:6px}.msg{font-size:14px}.msg::before{width:26px;height:26px}.room-head small{font-size:10px}.badge{letter-spacing:.08em;white-space:nowrap}.shell{overflow-wrap:anywhere}}
@media(max-width:350px){.shell{padding:14px 10px}.brand{font-size:10px}.badge{font-size:7px;padding:7px}.intro h1{font-size:31px}.messages{padding-inline:10px}.room-head .remaining{flex-basis:100%;margin-left:39px;white-space:normal}.steps strong{font-size:11px}.composer textarea{font-size:16px}.journey-portrait img{height:145px}}

#stop{color:#8f2d2d;border:1px solid #8f2d2d}#report{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:.8rem} .owner-room .check{color:#213d4b}


/* Presentation only: no visibility changes to auth panels or safety controls. */
:root {
  --bg: #FBF8F3;
  --card: #FFFFFF;
  --border: #ECE6DC;
  --input-border: #D9D1C4;
  --text: #2B2A28;
  --text-soft: #3F3C38;
  --muted: #5E5A55;
  --accent: #A64B40;
  --accent-hover: #8A3C33;
  --selected-bg: #FBF1EE;
  --alert-bg: #FDF1EE;
  --alert-title: #7A3229;
  --sans: 'Be Vietnam Pro', sans-serif;
  --serif: 'Lora', serif;
  /* Map existing presentation variables to the requested palette. */
  --paper: var(--bg);
  --white: var(--card);
  --ink: var(--text);
  --line: var(--border);
  --taupe: var(--text-soft);
  --rose: var(--alert-title);
}

html { background: var(--bg); color: var(--text); font-size: 18px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 400 18px/1.7 var(--sans);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden], .hidden { display: none !important; }
button, input, select, textarea { font-family: var(--sans); }
a { color: var(--text-soft); text-underline-offset: .18em; }
a:hover { color: var(--text); }
p, li { overflow-wrap: anywhere; }
p { margin-block: 16px; }
h1, .intro h1, .room-top h1 {
  font: 600 34px/1.3 var(--serif);
  letter-spacing: normal;
  margin-block: 16px;
}
h2, aside h2, .layout aside > h2, .count-lock-check h2, .count-owner-panel h2 {
  font: 600 24px/1.3 var(--serif);
  margin-block: 16px;
}
h3, .count-review-box h3 { font: 600 21px/1.4 var(--serif); color: var(--text); }
.brand { font: 600 24px/1.3 var(--serif); letter-spacing: normal; color: var(--text); }
.brand span { font: 500 13px/1.7 var(--sans); letter-spacing: .08em; }
.owner-room .brand span { font: 600 18px/1.3 var(--serif); letter-spacing: normal; }
.eyebrow, .badge, .pill, .bubble strong {
  font: 600 13px/1.7 var(--sans);
  letter-spacing: .08em;
  color: var(--text-soft);
}
.badge, .pill {
  max-width: 100%;
  background: var(--selected-bg);
  border: 1px solid var(--border);
  padding: 8px 12px;
  border-radius: 12px;
  white-space: normal;
}
header, main, footer {
  width: calc(100% - 32px);
  max-width: 680px;
  margin-inline: auto;
}
header { flex-wrap: wrap; gap: 16px; padding-block: 24px; border-color: var(--border); }
.shell { width: calc(100% - 32px); max-width: 680px; margin-inline: auto; padding: 24px 0; }
.shell > header, .shell > footer { width: 100%; max-width: 680px; }
.entrance, .workspace, .layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.entrance { min-height: 0; padding-block: 32px; }
.intro { display: block; max-width: 680px; padding: 32px 0 24px; }
.intro > p:last-of-type, .intro p:last-child, .lead { max-width: 680px; font-size: 18px; line-height: 1.7; color: var(--text-soft); }
.journey-portrait { margin: 24px 0 0; }
.journey-portrait img { height: 220px; border-radius: 16px; }
.journey-portrait figcaption, .journey-portrait a { color: var(--muted); }
.room-top { display: block; padding-block: 24px; }
.room-top > button { margin-top: 16px; }

.login-box, aside, .conversation, .room, .count-lock-check, .count-owner-panel, .admin-panel, .safety, .crisis {
  min-width: 0;
  max-width: 680px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 24px 20px;
  box-shadow: none;
}
.room, aside, .conversation { width: 100%; }
.admin-panel { margin: 24px auto; }
.count-lock-check, .count-owner-panel { margin-block: 24px; }
.count-review-box, .consent, .usage { border-color: var(--border); }
.room .consent { padding: 20px 0; }
label, .check, .consent label, .consent > label:first-of-type, .owner-room .check {
  color: var(--text);
  font-size: 18px;
  line-height: 1.7;
}
label { font-weight: 500; }
.check, .consent label, .count-owner-consent { gap: 12px; font-weight: 400; }
input:not([type='checkbox']):not([type='radio']), select, textarea,
.consent select, .composer textarea, .admin-panel input[type='password'] {
  width: 100%;
  min-width: 0;
  background: var(--bg);
  color: var(--text);
  border: 1.5px solid var(--input-border);
  border-radius: 12px;
  font: 400 17px/1.7 var(--sans);
  padding: 14px 16px;
  box-shadow: none;
}
input:not([type='checkbox']):not([type='radio']), select { min-height: 52px; }
textarea, .composer textarea { min-height: 128px; max-height: 280px; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
input[type='checkbox'], .check input { width: 22px; height: 22px; flex: 0 0 22px; margin-top: 4px; accent-color: var(--accent); }
#journey, .journey-choice, .journey-button { min-height: 64px; border: 1.5px solid var(--input-border); }
#journey:has(option:checked), .journey-choice[aria-pressed='true'], .journey-button[aria-selected='true'] {
  background: var(--selected-bg);
  border: 2px solid var(--accent);
  color: var(--text);
}
button {
  min-height: 52px;
  max-width: 100%;
  padding: 13px 20px;
  border: 1px solid var(--accent);
  border-radius: 12px;
  background: var(--accent);
  color: #FFFFFF;
  font: 600 17px/1.5 var(--sans);
  letter-spacing: normal;
  white-space: normal;
  overflow-wrap: anywhere;
}
button:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
button span { margin-left: 8px; }
button.outline, button.quiet, button.danger, #stop {
  min-height: 52px;
  background: var(--card);
  color: var(--text);
  border: 1.5px solid var(--input-border);
  font-size: 17px;
  padding: 13px 16px;
}
button.danger, #stop { border-color: var(--accent); color: var(--alert-title); }
button.outline:hover, button.quiet:hover, button.danger:hover, #stop:hover { background: var(--selected-bg); }
button:disabled, button.outline:disabled, button.quiet:disabled, button.danger:disabled, #stop:disabled {
  opacity: 1;
  color: var(--muted);
  background: var(--border);
  border-color: var(--input-border);
  cursor: not-allowed;
}
input:disabled, select:disabled, textarea:disabled { opacity: 1; color: var(--muted); -webkit-text-fill-color: var(--muted); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.caption, .muted, .note, .footnote, small, figcaption, details p, .crisis p,
.remaining, .send-row > span, .usage p, .usage .caption, .room-top p, .welcome p,
.step-status, .session-stats, #report, #usage, .admin-data, pre, dt, dd,
.count-lock-check > p, .count-owner-panel p, .count-owner-response dd, .count-owner-response dt, .count-lock-results dt, .count-lock-results dd {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}
.count-owner-panel code, .count-owner-panel samp { color: var(--text); font: 500 17px/1.7 var(--sans); }
.note { background: var(--selected-bg); padding: 16px; border-radius: 12px; }
.notice, #chat-status, #login-status, .count-owner-warning { color: var(--alert-title); font-size: 15px; line-height: 1.7; }
.count-owner-warning { background: var(--alert-bg); border-color: var(--accent); }
.count-owner-panel form, .count-lock-check > p, .safety p { max-width: 680px; }
.count-lock-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.count-owner-response { grid-template-columns: minmax(0, 1fr); }
.count-lock-results dd { color: var(--text); }

.room-head, .chat-heading { padding: 0 0 20px; border-color: var(--border); gap: 12px; flex-wrap: wrap; }
.room-head strong, .chat-heading { font-size: 18px; line-height: 1.7; color: var(--text); }
.room-head small, .chat-heading #connection { font-size: 15px; line-height: 1.7; color: var(--muted); max-width: 100%; }
.room-head .remaining { margin-left: auto; font-size: 15px; color: var(--muted); }
.avatar { width: 44px; height: 44px; font-size: 26px; background: var(--selected-bg); color: var(--text-soft); }
.messages, .started .messages { padding: 24px 0; gap: 20px; max-height: min(64dvh, 640px); scroll-padding-block: 20px; }
.bubble, .msg { font-size: 18px; line-height: 1.7; color: var(--text); max-width: 100%; }
.msg { gap: 10px; }
.msg p { padding: 16px; border-radius: 12px; background: var(--bg); color: var(--text); }
.msg.user p, .bubble.user { background: var(--selected-bg); color: var(--text); border: 1px solid var(--border); border-radius: 12px; padding: 16px; }
.msg::before, .msg.user::before { width: 36px; height: 36px; font-size: 15px; background: var(--border); color: var(--text-soft); }
.msg::before { font-size: 22px; }
.bubble.assistant { border-color: var(--input-border); padding-left: 16px; }
.welcome { margin: 24px auto; max-width: 100%; }
.composer { margin: 12px 0; padding: 0; background: transparent; border: 0; border-radius: 0; }
.composer-actions, .send-row { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 12px; align-items: center; }
.send-row > span { flex: 1 1 120px; }
.send-row button { min-width: 128px; min-height: 52px; flex: 1 1 128px; padding: 13px 20px; }
.toolbar { padding: 0; gap: 12px; flex-wrap: wrap; }
.toolbar > button { flex: 1 1 140px; }
.notice, .footnote, .typing { padding-inline: 0; }
.typing, .typing span { font-size: 15px; color: var(--muted); opacity: 1; animation: none; }
.consent-receipt { margin: 20px 0; border-color: var(--border); }
.footnote { text-align: left; }
details summary { min-height: 52px; font-size: 18px; line-height: 1.7; padding-block: 12px; color: var(--text-soft); }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.steps li { min-height: 64px; padding: 12px 8px; font-size: 13px; color: var(--muted); border: 1.5px solid var(--input-border); border-radius: 12px; }
.steps strong { display: block; padding: 4px 0 0; font-size: 15px; line-height: 1.5; color: var(--text); }
.steps span { margin: 6px 0 0; font-size: 15px; color: var(--muted); }
.steps .current { padding: 12px 8px; border: 2px solid var(--accent); border-radius: 12px; background: var(--selected-bg); }
.started .layout aside > h2 { font-size: 24px; }
.started .layout aside .step-status { font-size: 15px; }
.crisis, .safety { margin-block: 24px; background: var(--alert-bg); border: 1.5px solid var(--accent); padding: 24px 20px; }
.crisis > strong, .safety summary { color: var(--alert-title); font-size: 18px; font-weight: 600; }
.crisis a { display: block; padding-block: 8px; min-height: 44px; color: var(--text-soft); font-size: 18px; }
.crisis p { margin-block: 12px; }
footer, footer span { font-size: 15px; line-height: 1.7; letter-spacing: normal; color: var(--muted); padding-block: 24px; }
.shell footer { padding-block: 24px 0; }
.admin-data, #report { background: var(--bg); color: var(--text-soft); border-radius: 12px; padding: 16px; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 480px) {
  header { padding-block: 20px; }
  .brand { font-size: 23px; }
  .intro, .entrance { padding-block: 24px; }
  .room-head > div:nth-child(2) { flex: 1; }
  .room-head .remaining { flex-basis: 100%; margin-left: 0; white-space: normal; }
  .journey-portrait img { height: 180px; }
  .steps span { display: none; }
  .layout aside details p { font-size: 15px; }
  .crisis > strong { font-size: 18px; }
  .crisis > p { font-size: 15px; }
  .composer-actions > button { width: 100%; }
  .count-lock-results { grid-template-columns: minmax(0, 1fr); }
}


/* Readable photo attribution in the public room. */
.journey-portrait figcaption, .journey-portrait figcaption a { font-size: 15px; line-height: 1.7; color: var(--muted); }

/* Customer entrance: optional imagery and support follow the consent form. */
.intro { display:block; padding:20px 0 16px; }
.intro h1 { font-size:30px; margin:8px 0; }
.intro h1 br { display:none; }
.intro > p:last-of-type { margin:8px 0; font-size:18px; }
.intro .eyebrow { margin:0; }
.journey-photo-details summary { font-size:15px; min-height:44px; padding:8px 0; }
.journey-portrait { max-width:420px; margin:8px 0; }
.layout { display:flex; flex-direction:column; gap:24px; }
.layout > .room, .layout > aside { width:100%; }
.layout aside { padding-top:8px; }
.layout aside > .eyebrow, .layout aside > h2 { margin:4px 0 12px; }
.room-help { display:flex; flex-wrap:wrap; gap:4px 20px; margin:4px 0 12px; }
.room-help a { font-size:15px; min-height:44px; display:inline-flex; align-items:center; }
.consent { gap:14px; }
.consent h2 { font-size:24px; }
.conversation-rhythm { margin-top:20px; }
.conversation-rhythm .steps { margin:0; }
.conversation-rhythm .steps span { display:none; }
.conversation-rhythm .step-status { min-height:0; margin:10px 0 4px; }
.conversation-rhythm > .muted { display:none; }
body:not(.started) .conversation-rhythm, body:not(.started) .composer,
body:not(.started) .toolbar, body:not(.started) .footnote { display:none; }
.started .intro { display:none; }
.started .layout aside .crisis > p:last-child { display:block; }
#chat-privacy, #safety-guide { scroll-margin-top:20px; }
@media(max-width:480px){
 header { padding:12px 0; gap:10px; }
 .brand { font-size:19px; }
 .badge { white-space:normal; max-width:150px; font-size:13px; letter-spacing:.04em; }
 .intro { padding:16px 0 12px; }
 .intro h1 { font-size:28px; }
 .intro > p:last-of-type { font-size:15px; line-height:1.7; }
 .intro .eyebrow { display:none; }
 .room { padding:20px 16px; }
 .room-head { padding-bottom:12px; }
 .room-help { margin-bottom:4px; gap:4px 14px; }
 .consent { padding:0; }
 .check { font-size:15px; line-height:1.7; }
 .note { padding:12px; }
}
