/* Homepage and inline assistant share the existing Roadbook tokens. */
.home-page .header-search { min-width:44px; justify-content:center; padding:0 10px; }
.home-page .header-search span,.home-page .header-search kbd { display:none; }
.home-page main { min-height:65vh; }
.home-page .hm [hidden] { display:none!important; }
.zh-q__inner { max-width:784px; margin:auto; padding:28px 32px; display:flex; flex-direction:column; gap:14px; }
.zh-trust { align-self:center; color:var(--hm-muted); font:400 12px/1.5 var(--hm-sans); text-align:center; }
.zh-trust span { color:var(--signal); padding-inline:6px; }
.zh-q h1 { text-align:center; font:750 clamp(32px,3.6vw,52px)/1.06 var(--hm-sans); letter-spacing:-.035em; }
.zh-q h1 span { display:block; color:var(--signal); }
.zh-lede { max-width:600px; margin:0 auto!important; text-align:center; color:var(--hm-muted); font-size:18px; line-height:1.5; }
.zh-q .hm-prompt { margin:4px 0 0; }
.home-page .hm-prompt textarea { min-height:48px; max-height:160px; width:100%; resize:none; font-size:18px; }
.home-page .hm-prompt textarea:focus-visible { outline:none; box-shadow:none; }
.zh-prompt-label { color:var(--paper); font:600 14px/1.4 var(--hm-sans); }
.home-page .hm-prompt-top { position:relative; }
.zh-hint { position:absolute; inset:4px 0 auto; pointer-events:none; color:var(--hm-muted2); font:400 18px/1.4 var(--hm-sans); }
.zh-hint-caret { display:inline-block; width:1px; height:1em; margin-left:2px; background:var(--signal); vertical-align:-.12em; animation:zh-caret 1s steps(1) infinite; }
@keyframes zh-caret { 50% { opacity:0; } }
.home-page .hm-prompt-bar { justify-content:space-between; }
.home-page .hm-car { border:1px solid var(--hm-line); font:500 14px/1.3 var(--hm-sans); min-height:44px; min-width:0; overflow-wrap:anywhere; text-align:left; }
.home-page .hm-car span { min-width:0; overflow-wrap:anywhere; }
.zh-fine { text-align:center; color:var(--hm-muted); font-size:12px; line-height:1.5; }
.zh-fine a { text-decoration:underline; }
.hm .zh-open { display:inline-flex; align-items:center; min-height:44px; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.zh-directory,.zh-sources { padding-block:64px; }
.zh-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 40px; margin:0; padding:0; list-style:none; }
.zh-map>li { padding:22px 0; border-top:1px dashed #b9b9b1; }
.zh-map h3 { margin-bottom:12px!important; font:750 22px/1.2 var(--hm-sans); letter-spacing:-.02em; }
.zh-map h3 a:hover { text-decoration:underline; }
.zh-map ul { display:grid; margin:0; padding:0; list-style:none; }
.zh-map ul a { display:flex; align-items:center; min-height:44px; padding:8px 0; color:#3e4248; font-size:16px; line-height:1.35; }
.zh-map ul a:hover { text-decoration:underline; text-underline-offset:3px; }
.zh-src { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:48px; align-items:start; }
.zh-src__text { display:flex; flex-direction:column; gap:16px; }
.zh-src__text h2 { font:750 clamp(30px,3.4vw,44px)/1.1 var(--hm-sans); letter-spacing:-.03em; }
.zh-src__text p { color:var(--hm-muted); font-size:16px; line-height:1.55; }
.zh-src__text p a { color:var(--paper); text-decoration:underline; }
.zh-src__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; padding:0; list-style:none; border:1px solid var(--hm-a3); border-radius:20px; overflow:hidden; background:var(--hm-a3); }
.zh-src__list li { display:flex; flex-direction:column; gap:8px; padding:22px; background:var(--asphalt); }
.zh-src__list li:last-child { grid-column:span 2; }
.zh-src__list b { font-size:17px; }
.zh-src__list span { color:var(--hm-muted); font-size:14px; line-height:1.5; }
.zh-src__list a:hover { text-decoration:underline; }
/* Keep the verified, expiring current-selection pipeline; restyle its cards. */
.zh-current .hm-sec { padding-block:56px; background:var(--asphalt); color:var(--paper); }
.zh-current .hm-kicker { color:var(--hm-muted); }
.zh-current .hm-now-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.zh-current .hm-now { position:relative; min-height:0; background:var(--hm-a2); color:var(--paper); border:1px solid var(--hm-a3); border-radius:16px; padding:22px; }
.zh-current .hm-now-art { height:auto; min-height:0; padding:0; background:none; overflow:visible; }
.zh-current .hm-now-art picture,.zh-current .hm-now-art img { display:none; }
.zh-current .hm-tag { position:static; display:inline-flex; margin:0 0 12px; font-size:11px; }
.zh-current .hm-now-body { padding:0; gap:12px; }
.zh-current .hm-now h3 { font-size:20px; }
.zh-current .hm-now p { color:var(--hm-muted); font-size:15px; }
.zh-current .hm-now .hm-btn { justify-content:flex-start; align-self:flex-start; padding:10px 0 0; min-height:44px; border:0; border-radius:0; background:transparent; color:var(--paper); text-decoration:underline; }
.zh-current .hm-now .hm-btn::after { content:""; position:absolute; inset:0; border-radius:16px; }
.zh-current .hm-now:focus-within { outline:2px solid var(--signal); outline-offset:3px; }
/* Inline conversation. One form moves between the hero and the composer. */
.ha-layout { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; }
.ha-main { min-width:0; }
.ha-sidebar-head,.ha-history-row { display:flex; align-items:center; gap:8px; }
.ha-history-item { flex:1; min-width:0; }
.ha-history-list .ha-history-delete { flex:none; width:auto; min-width:44px; padding-inline:8px!important; }
.ha-sidebar-car { font-size:13px; color:var(--hm-muted); padding-block:12px; }
.ha-applicability { font-size:13px; color:var(--hm-ink2); }
.ha-status { padding:12px; color:var(--hm-muted); }
.ha-sources { display:grid; gap:8px; }
.ha-thinking { color:var(--hm-ink2); }
.ha-sidebar { display:none; background:var(--hm-a2); border-right:1px solid var(--hm-line); padding:20px; min-width:0; }
.ha-sidebar button,.ha-toolbar button,.ha-return button { min-height:44px; border:1px solid var(--hm-line); border-radius:8px; padding:8px 12px; color:var(--paper); background:transparent; font:500 14px/1.4 var(--hm-sans); }
.ha-history-list { display:grid; gap:8px; list-style:none; margin:18px 0; padding:0; }
.ha-history-list button { width:100%; text-align:left; overflow-wrap:anywhere; }
.ha-history-list .ha-history-item { display:-webkit-box; -webkit-box-orient:vertical; -webkit-box-pack:center; -webkit-line-clamp:2; height:44px; padding-block:0; line-height:21px; overflow:hidden; }
.ha-history-list button[aria-current] { border-color:var(--signal); }
.ha-dialog { min-width:0; display:flex; flex-direction:column; min-height:calc(100dvh - 76px); }
.ha-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 24px; border-bottom:1px solid var(--hm-line); }
.ha-toolbar h2 { font-size:18px; flex:1; }
.ha-log { flex:1; width:100%; max-width:824px; margin:0 auto; padding:28px 32px; display:flex; flex-direction:column; gap:20px; overflow-wrap:anywhere; }
.ha-log .hm-msg-bot { padding:20px; background:var(--paper); color:var(--asphalt); border-radius:16px; }
.ha-log .hm-msg-user { border:1px solid var(--hm-line); }
.ha-log .hm-msg-text { white-space:pre-wrap; }
.ha-log .hm-src { flex-wrap:wrap; overflow-wrap:anywhere; }
.ha-log .hm-msg-thinking { color:var(--hm-ink2); }
.ha-composer { position:sticky; bottom:0; z-index:10; width:100%; max-width:824px; margin:0 auto; padding:12px 32px max(16px,env(safe-area-inset-bottom)); background:var(--asphalt); }
.ha-composer .hm-prompt { margin:0; }
.ha-return { display:flex; justify-content:center; gap:8px; min-width:0; text-align:center; font-size:14px; }
.ha-return .ha-continue { min-width:0; max-width:360px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ha-return .ha-all-history { flex:none; }
.ha-return a,.ha-return button { color:var(--paper); }
.ha-choices { display:flex; flex-wrap:wrap; gap:8px; }
.ha-choices button { min-height:44px; padding:10px 14px; border:1px solid var(--asphalt); border-radius:8px; background:#fff; color:var(--asphalt); font-size:14px; }
body[data-home-dialog] .site-footer,body[data-home-dialog] .tabbar { display:none; }
body[data-home-dialog] { padding-bottom:0; }
.ha-car-picker { --hm-sans:var(--ui-sans); width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--asphalt); font:16px/1.5 var(--hm-sans); }
.ha-car-picker::backdrop { background:rgba(0,0,0,.65); }
.ha-car-picker h2 { font:700 25px/1.2 var(--hm-sans); margin-bottom:14px; }
.ha-picker-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0; }
.ha-picker-fields label { display:flex; flex-direction:column; gap:6px; font-size:14px; }
.ha-picker-fields input,.ha-picker-fields select { min-width:0; width:100%; min-height:44px; border:1px solid #989a93; border-radius:6px; padding:8px; background:#fff; color:var(--asphalt); font:16px var(--hm-sans); }
.ha-car-picker button { min-height:44px; padding:10px 14px; margin:4px; border:1px solid var(--asphalt); border-radius:8px; background:var(--asphalt); color:var(--paper); font:600 14px var(--hm-sans); }
.ha-car-picker [data-error] { color:#a32112; }
@media(min-width:1200px) {
  [data-home-state="dialog"] .ha-layout,[data-home-state="return"] .ha-layout { grid-template-columns:250px minmax(0,1fr); }
  [data-home-state="dialog"] .ha-sidebar,[data-home-state="return"] .ha-sidebar { display:block; }
  .ha-history-toggle { display:none!important; }
  .ha-history-close { display:none; }
}
@media(max-width:1050px) { .zh-map { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; } }
@media(max-width:1199px) {
  [data-home-history-open] .ha-sidebar { display:block; border-bottom:1px solid var(--hm-line); }
}
@media(max-width:760px) {
  .zh-q__inner { padding:20px 16px 24px; gap:12px; }
  .zh-trust { font-size:11px; }
  .zh-q h1 { font-size:32px; }
  .zh-lede { font-size:15px; line-height:1.45; }
  .zh-q .hm-prompt { padding:12px; margin-top:0; gap:10px; }
  .home-page .hm-prompt textarea { font-size:17px; min-height:44px; }
  .zh-hint { font-size:17px; }
  .home-page .hm-prompt-bar { flex-wrap:nowrap; gap:8px; padding-top:10px; }
  .home-page .hm-car { padding:0 8px; gap:6px; font-size:13px; }
  .home-page .hm-btn-lg { flex:none; padding:0 14px; min-height:44px; font-size:14px; }
  .zh-fine { font-size:11px; }
  .zh-directory,.zh-sources { padding-block:40px; }
  .zh-map { grid-template-columns:minmax(0,1fr); }
  .zh-map>li { padding-block:18px; }
  .zh-map h3 { font-size:21px; }
  .zh-src { grid-template-columns:minmax(0,1fr); gap:24px; }
  .zh-src__list { grid-template-columns:minmax(0,1fr); }
  .zh-src__list li:last-child { grid-column:auto; }
  .zh-current .hm-now-grid { grid-template-columns:minmax(0,1fr); }
  .zh-current .hm-sec { padding-block:40px; }
  .ha-dialog { min-height:calc(100dvh - 68px); }
  .ha-log { padding:16px; }
  .ha-log .hm-msg-bot { padding:16px; }
  .ha-composer { padding:8px 12px max(12px,env(safe-area-inset-bottom)); }
  .ha-toolbar { padding:8px 16px; }
  .ha-picker-fields { grid-template-columns:minmax(0,1fr); }
  .home-page .cookie-note { inset-inline:8px; bottom:calc(78px + env(safe-area-inset-bottom)); width:auto; max-height:140px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:10px; border-radius:10px; font-size:11px; }
  .home-page .cookie-note__copy strong { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .home-page .cookie-note p { margin:0; }
  .home-page .cookie-note__actions { width:auto; display:flex; flex-wrap:nowrap; gap:6px; }
  .home-page .cookie-note .cookie-note__btn { min-height:44px; padding:8px; font-size:11px; }
  body[data-home-dialog] .cookie-note { bottom:calc(var(--ha-composer-height, 174px) + 10px + env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { .home-page * { scroll-behavior:auto; } .zh-hint-caret { animation:none; } }
