/* Standalone offline simulation, inheriting the site's approved visual system. */
.demo-languages{display:inline-flex;gap:4px}.demo-languages button{min-width:36px;min-height:44px}.demo-languages [aria-pressed=true]{border-color:var(--red);color:var(--red)}
.demo-page{padding-top:20px;max-width:860px}
.demo-intro{margin-bottom:14px}.demo-intro .tag{margin:0 0 4px;font-size:11px}.demo-intro h1{font-size:clamp(22px,2.4vw,28px);line-height:1.15;margin:0 0 6px;max-width:40ch}.demo-intro .intro-text{margin:0;color:var(--muted);font-size:14px;max-width:70ch}
.demo-page button:focus-visible,.demo-page a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.chat-frame{border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:420px;max-height:760px}
.chat-frame-header{flex:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--tint);font-size:12px;flex-wrap:wrap}
.simulation-label{font-weight:600}.simulation-label::before{content:'◇';color:var(--red);margin-right:8px}
.chat-frame-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.chat-frame-controls button{font:500 12px Arial,sans-serif;border:0;background:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:5px;padding:6px 8px;min-height:32px}.chat-frame-controls button:hover{color:var(--ink)}
.chat-frame-controls .narration-toggle{min-height:44px;padding:6px 10px}.narration-toggle[aria-pressed="true"]{color:var(--red,#bd272a)}
.chat-thread{flex:1;min-height:0;overflow-y:auto;padding:12px 24px 32px;display:flex;flex-direction:column;gap:10px}
.chat-turn{display:none;padding-top:40px;flex-shrink:0}.chat-turn.shown{display:block}.chat-turn:first-child{margin-top:auto}
.chat-bubble{max-width:72ch;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}.chat-bubble.revealed{opacity:1;transform:translateY(0)}
.chat-question{margin-left:auto}.chat-question p{background:var(--tint);border:1px solid var(--line);padding:13px 16px;margin:0;font-size:15px;line-height:1.6}
.chat-answer{display:flex;gap:10px;align-items:flex-start;margin-top:18px}.chat-answer .brigitte-box{font-size:15px;margin-top:4px;flex:none}.chat-answer p{margin:0;font-size:15px;line-height:1.65;max-width:68ch}.chat-answer strong{color:var(--red)}
.chat-typing{display:none;gap:4px;margin:18px 0 0 25px;padding:2px 0}.chat-turn.typing .chat-typing{display:flex}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:chat-typing-bounce 1s infinite}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}
.chat-working{display:none;align-items:center;gap:8px;margin:18px 0 0 25px;font-size:13px;color:var(--muted)}.chat-turn.working .chat-working{display:flex}.chat-working .brigitte-box{font-size:13px;animation:chat-pulse 1.4s ease-in-out infinite}
.chat-document{margin:22px 0 0 25px;padding:16px 18px;border:1px solid var(--line);background:var(--paper);max-width:62ch;opacity:0;transition:opacity .2s}.chat-document:not(.revealed){display:none}.chat-document.revealed{display:block;opacity:1}
.chat-document h3{font-size:16px;font-weight:600;margin:0 0 10px}
.email-meta{font-size:13px;color:var(--muted);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.email-block{display:none;font-size:14px;line-height:1.65;margin:0 0 10px;color:var(--ink)}.email-block.revealed{display:block;animation:chat-reveal .3s ease}.email-block:last-child{margin-bottom:0}
.chat-table{width:100%;border-collapse:collapse;font-size:13px}
.chat-table th{text-align:left;font-size:10px;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:0 10px 8px 0;border-bottom:1px solid var(--line)}
.chat-table td{padding:8px 10px 8px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}
.chat-table-row{display:none}.chat-table-row.revealed{display:table-row;animation:chat-reveal .3s ease}
.chat-table-row td:first-child{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.chat-table-row td:last-child{color:var(--muted);font-size:11px;white-space:nowrap}
.chat-table strong{color:var(--red)}
.chat-list{list-style:none;margin:0;padding:0;font-size:14px}
.chat-list-row{display:none;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}.chat-list-row.revealed{display:flex;animation:chat-reveal .3s ease}.chat-list-row:last-child{border-bottom:0}.chat-list-row span:last-child{color:var(--muted);white-space:nowrap}
.document-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.open-document{font:500 13px Arial,sans-serif;border:1px solid var(--ink);background:none;color:var(--ink);padding:9px 14px;min-height:40px;cursor:pointer}
.validate-send{font:500 13px Arial,sans-serif;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:9px 14px;min-height:40px;cursor:pointer}
.sent-state{font-size:13px;font-weight:600;color:var(--ink)}
.chat-composer-row{flex:none;border-top:1px solid var(--line);background:var(--tint);padding:16px 24px;display:grid;gap:12px}
.chat-composer{border:1px solid var(--line);background:var(--surface);padding:12px 14px;font-size:14px;color:var(--muted)}
.replay-chips{display:flex;gap:8px;flex-wrap:wrap}.replay-chips button{font:500 13px Arial,sans-serif;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 13px;min-height:40px;cursor:pointer}.replay-chips button:hover{border-color:var(--ink)}
.chat-footer{margin-top:14px;font-size:12px;color:var(--muted)}
.document-sheet{position:fixed;inset:0;background:#00000055;display:flex;justify-content:flex-end;z-index:50}.document-sheet[hidden]{display:none}
.document-sheet-inner{width:min(460px,100%);height:100%;background:var(--surface);padding:28px;overflow:auto;box-shadow:-8px 0 24px #00000022}
.document-sheet-close{font-size:22px;line-height:1;border:0;background:none;color:var(--ink);cursor:pointer;min-width:44px;min-height:44px;float:right}
.document-sheet-body h3{font-size:20px;margin:36px 0 16px}
.demo-caveat{margin:18px 0 0;font-size:13px;line-height:1.7;max-width:90ch;color:var(--muted)}
.demo-bottom{margin-top:26px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.demo-bottom p{font-size:14px;color:var(--muted)}.no-script{padding:24px;border:1px solid var(--line);font-size:16px}
@media(max-width:760px){.demo-page{padding-top:16px}.demo-intro{margin-bottom:10px}.demo-intro h1{font-size:21px}.chat-frame{height:calc(100vh - 170px);min-height:380px;max-height:none}.chat-frame-header{padding:10px 16px;font-size:11px}.chat-frame-controls button{padding:5px}.chat-thread{padding:8px 16px 20px}.chat-thread{grid-template-columns:minmax(0,1fr)}.chat-question,.chat-answer{max-width:100%;box-sizing:border-box}.chat-document{margin-left:0;max-width:100%;box-sizing:border-box}.chat-table{table-layout:fixed}.chat-table-row td:first-child,.chat-table-row td:last-child{white-space:normal;word-break:break-word}.chat-composer-row{padding:16px}.replay-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.replay-chips button{flex:none}.demo-bottom{gap:8px}.demo-bottom .cta{width:100%}.document-sheet-inner{width:100%;padding:20px}}
@media(prefers-reduced-motion:reduce){.chat-bubble{transition:none}.chat-document{transition:none}.email-block.revealed,.chat-table-row.revealed,.chat-list-row.revealed{animation:none}.chat-typing,.chat-working{display:none!important}}
@keyframes chat-typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
@keyframes chat-pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes chat-reveal{from{opacity:0}to{opacity:1}}
