:root{color-scheme:dark;--bg:#0b1215;--panel:#121e23;--line:#2b3b42;--ink:#ebf3ef;--muted:#9aaeb3;--accent:#c4f071}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}header,footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 4vw;border-bottom:1px solid var(--line)}header>span,.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--muted)}.brand{font-size:23px;font-weight:700;color:var(--ink);text-decoration:none}main{max-width:1600px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;padding:6vh 4vw;min-height:76vh}.intro{align-self:center}h1{font-size:clamp(38px,4.5vw,72px);line-height:1.07;letter-spacing:-.055em;font-weight:500}em{font-style:normal;color:var(--accent)}.lede{color:var(--muted);font-size:19px}button,input,textarea,select{font:inherit}button{cursor:pointer;padding:11px 17px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:transparent}button:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.45;cursor:wait}#starters{display:grid;gap:9px;margin:28px 0}#starters button{text-align:left}#starters button:after{content:' ↗';float:right;color:var(--accent)}.notice{font-size:12px;color:var(--muted);max-width:430px}.conversation{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;height:69vh;min-height:470px}.conversation-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}#transcript{flex:1;overflow:auto;padding:20px 0;white-space:pre-wrap}.welcome{color:var(--muted)}.message{padding:14px 17px;border-radius:12px;max-width:95%;background:#1d3037;margin:12px 0}.message.user{margin-left:auto;background:#34453a}.message small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px;text-transform:uppercase;letter-spacing:.1em}#chat{display:flex;gap:8px}input,textarea,select{min-width:0;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:12px}#send{background:var(--accent);color:var(--bg);font-weight:700;white-space:nowrap}.voice-bar{display:flex;align-items:center;gap:15px;margin-top:15px}.voice-bar span,footer{font-size:12px;color:var(--muted)}#captions{font-size:13px;color:var(--muted);min-height:20px;margin:0}footer{border-top:1px solid var(--line);border-bottom:0}dialog{max-width:540px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:28px}dialog::backdrop{background:#000b}label{display:block;margin:15px 0}textarea{height:130px}.check{display:flex;align-items:center;gap:12px;font-size:13px}.check input{width:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.operator{display:block;max-width:1100px}.card{padding:20px;border:1px solid var(--line);border-radius:12px;margin:15px 0}.badge{color:#f4c17b}pre{white-space:pre-wrap}@media(max-width:850px){main{grid-template-columns:1fr;padding-top:20px}.intro h1{font-size:42px}.conversation{height:65vh}header>span,footer>span{display:none}}

.thinking{min-width:92px;width:max-content}
.thinking-dots{display:inline-flex;gap:5px;align-items:center;height:20px}
.thinking-dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dc-think 1.15s infinite ease-in-out}
.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}
@keyframes dc-think{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-4px);opacity:1}}
@media (prefers-reduced-motion:reduce){.thinking-dots i{animation:none;opacity:.7}}
.record-consent{display:flex;gap:12px;align-items:flex-start;margin:20px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer}
.record-consent input{width:auto;margin-top:4px;accent-color:var(--accent)}
.record-consent strong{display:block;font-size:14px;margin-bottom:3px}
.record-consent small{display:block;color:var(--muted);font-size:12px;line-height:1.4}
.record-consent:has(input:checked){border-color:var(--accent)}
.voice-bar[hidden]{display:none}

.website-link{color:var(--accent);text-underline-offset:4px}.website-link:hover{text-decoration-thickness:2px}.website-link:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

.mobile-recording{display:none}
@media(max-width:850px){
 .hosted header{padding:12px 4vw;gap:12px}
 .hosted header .brand{font-size:21px}
 .hosted header button{padding:8px 12px}
 .hosted main{gap:24px;padding:12px 4vw 24px;min-height:0}
 .hosted .conversation{order:-1;height:calc(100svh - 96px);min-height:390px;padding:14px;scroll-margin-top:12px}
 .hosted .conversation-head{gap:8px;flex-shrink:0}
 .hosted .conversation-head #status{min-width:0;overflow-wrap:anywhere}
 .hosted #end{white-space:nowrap;padding:8px 10px}
 .hosted .mobile-recording{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin:12px 0 0}
 .hosted .mobile-recording a{color:var(--accent);text-underline-offset:3px}
 .hosted .mobile-recording a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
 .hosted .conversation #starters{margin:12px 0 0;gap:6px;flex-shrink:0}
 .hosted .conversation #starters button{padding:8px 10px;font-size:14px}
 .hosted #transcript{min-height:80px;padding:12px 0;overscroll-behavior:contain}
 .hosted #chat{flex-shrink:0}
 .hosted #question{padding:10px}
 .hosted #send{padding:10px 12px}
 .hosted .intro h1{font-size:32px;margin:12px 0}
 .hosted .intro .lede{font-size:16px}
 .hosted footer{padding:16px 4vw}
}
