.chat-demo{display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;min-width:0;min-height:0;height:clamp(420px,58svh,520px);margin:0;border:1px solid var(--rule);background:var(--surface);font-size:14px;line-height:1.6}
.chat-demo-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--rule)}
.chat-demo-header strong{display:block;font-size:14px;font-weight:600;line-height:1.5}
.chat-demo-header p{color:var(--muted);font-size:11px;margin-top:4px}
.chat-demo-transcript{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;padding:24px 20px;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.chat-demo-user{max-width:88%;margin:0 0 28px auto;padding:12px 16px;background:var(--bg-hover);border-radius:12px}
.chat-demo-user p,.chat-demo-assistant p{font-size:14px;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}
.chat-demo-assistant{max-width:96%;color:var(--ink)}
.chat-demo-role{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-bottom:12px}
.chat-demo-role img{width:auto;height:24px;object-fit:contain}
.chat-demo-thinking{color:var(--muted);font-size:13px}
.chat-demo-thinking:not([hidden]){display:block;margin-bottom:8px}
.chat-demo-assistant+.chat-demo-user{margin-top:28px}
.chat-demo-attachments:not([hidden]){display:grid;gap:8px;margin-top:12px}
.chat-demo-attachment{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid var(--rule);border-radius:6px;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.chat-demo-attachment>span:last-child{min-width:0}
.chat-demo-filetype{flex-shrink:0;font-size:10px;font-weight:600;color:var(--muted)}
.chat-demo-composer{min-height:98px;display:grid;grid-template-rows:auto 24px;gap:8px;margin:0 16px 16px;padding:12px 16px;background:var(--raised);border:1px solid var(--rule);border-radius:12px}
.chat-demo-composer-copy{position:relative;min-height:0}
.chat-demo-composer-text{display:block;min-height:42px;overflow:visible;font-size:14px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.chat-demo-placeholder{position:absolute;inset:0;color:var(--muted);font-size:14px;pointer-events:none}
.chat-demo[data-chat-phase=typing] .chat-demo-placeholder{display:none}
.chat-demo[data-chat-phase=typing] .chat-demo-composer-text::after{content:"";display:inline-block;height:1em;width:1px;margin-left:2px;background:var(--ink);vertical-align:-.1em}
.chat-demo-composer-tools{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}
.chat-demo-send{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--canvas)}
.chat-demo:focus-visible{outline:2px solid var(--focus);outline-offset:5px}
.chat-demo-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:900px){.chat-demo{max-width:680px}}
@media(max-width:760px){
  .chat-demo{height:clamp(340px,60svh,440px)}
  .chat-demo-header{padding:12px}
  .chat-demo-transcript{padding:16px 12px}
  .chat-demo-user{max-width:96%;margin-bottom:16px;padding:10px 12px}
  .chat-demo-user p,.chat-demo-assistant p{line-height:1.5}
  .chat-demo-assistant{max-width:100%}
  .chat-demo-assistant+.chat-demo-user{margin-top:20px}
  .chat-demo-role{margin-bottom:12px;gap:12px}
  .chat-demo-composer{min-height:46px;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto;align-items:end;margin:0 10px 10px;padding:10px;gap:8px}
  .chat-demo-composer-text{min-height:24px}
  .chat-demo-composer-tools>svg{display:none}
  .chat-demo-composer-tools{justify-content:flex-end}
}

@media(min-width:901px) and (max-width:1100px){.chat-demo-header{padding:12px 16px}.chat-demo-transcript{padding:16px}.chat-demo-user{margin-bottom:18px;padding:10px 12px}.chat-demo-user p,.chat-demo-assistant p{font-size:13px;line-height:1.55}}
@media(min-width:901px){
  .story-hero{height:min(calc(100svh - 89px), 900px);min-height:520px;grid-template-rows:minmax(0,1fr)}
  .story-hero>.chat-demo{align-self:stretch;height:auto}
}
@media(min-width:1800px) and (min-height:1100px){.story-hero{height:760px}}
@media(min-width:1800px){.chat-demo-user p,.chat-demo-assistant p,.chat-demo-composer-text{font-size:16px}.story-hero .origin-note{font-size:18px}}
.assistant-name{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.assistant-icon{display:block;flex-shrink:0;object-fit:contain}
.chat-demo-header strong,.keyword-analysis-header strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.assistant-options{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:24px;color:var(--secondary);font-size:14px}

.assistant-compatibility{gap:20px 32px;margin-top:32px;font-size:16px;color:var(--ink)}
.assistant-compatibility .assistant-name{gap:10px}
.assistant-recommended{font-size:11px;font-weight:550;color:var(--orange);border:1px solid var(--rule);border-radius:var(--control-radius);padding:2px 6px;margin-left:2px}
.assistant-review-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:24px}
@media(max-width:760px){.assistant-compatibility{gap:20px 24px;margin-top:24px}}

.content-workflow.assistant-spotlight{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:64px;padding:80px 0 88px}
.assistant-primary h2{font-size:clamp(38px,4vw,52px);line-height:1.12;max-width:none}
.assistant-primary h2 .assistant-name{gap:14px;margin-top:8px}
.assistant-primary>p{font-size:17px;line-height:1.65;color:var(--secondary);max-width:40ch;margin-top:24px}
.assistant-primary>.assistant-recommended{display:inline-block;margin:20px 0 0;padding:4px 8px;font-size:12px}
.assistant-secondary{border-left:1px solid var(--rule);padding:24px 0 24px 40px}
.assistant-secondary>p{font-size:16px;color:var(--secondary)}
.assistant-secondary .assistant-options{font-size:22px;gap:24px 32px;color:var(--ink)}
.assistant-secondary .assistant-name{gap:12px}
@media(max-width:760px){
 .content-workflow.assistant-spotlight{grid-template-columns:minmax(0,1fr);gap:32px;padding:48px 0}
 .assistant-primary h2{font-size:40px}
 .assistant-primary h2 .assistant-icon{width:36px;height:36px}
 .assistant-primary>p{font-size:16px;margin-top:20px}
 .assistant-secondary{border-left:0;border-top:1px solid var(--rule);padding:28px 0 0}
 .assistant-secondary .assistant-options{font-size:20px}
}
