.onyx-resident{padding:9px 8px 9px 0;margin-top:18px;display:flex;align-items:center;gap:4px;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg);flex-shrink:0;min-height:81px}
.onyx-size-resident{--onyx-size:68px}
.onyx-resident>div{min-width:0;flex:1}
.onyx-resident strong{font-size:12px;font-weight:500;display:block;color:var(--secondary);line-height:1.6}
.resident-state{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.6}
.onyx-resident button{font-size:9px;color:var(--orange-light);margin-top:6px;line-height:1.6;text-align:left}
.onyx-resident button:hover{text-decoration:underline}
.collapsed .onyx-resident{padding:4px 0 6px;min-height:81px;border:0;background:none;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center}
.collapsed .onyx-resident>div{flex:none;width:100%;text-align:center}.collapsed .onyx-resident strong{display:none}.collapsed .onyx-resident .resident-state{display:block;font-size:9px;line-height:1.4}.collapsed .onyx-resident button{margin-top:3px;text-align:center;width:100%}
.collapsed .onyx-resident .onyx-figure{--onyx-size:44px}
.collapsed .sidebar-bottom{margin-top:auto}
.chat-head{padding-top:10px;padding-bottom:10px}
.onyx-resident[data-phase=thinking] .onyx-sprite{animation:residentThink 3s ease-in-out infinite}
.onyx-resident[data-phase=listening] .onyx-sprite,.chat-head [data-phase=listening] .onyx-sprite{filter:drop-shadow(0 0 4px rgba(254,100,9,.3))}
.onyx-resident[data-phase=idle] .onyx-sprite{animation:residentGlow 5s ease-in-out infinite}
.onyx-ack .onyx-sprite{animation:onyxAcknowledge .36s ease-out 1!important}
#onyx-flight-host{position:fixed;inset:0;z-index:150;pointer-events:none;overflow:hidden;isolation:isolate}
#onyx-flight-host:empty{display:none}
.onyx-scrim{position:absolute;inset:0;background:rgba(0,0,0,.78);opacity:0;pointer-events:none}
.onyx-arrival{position:fixed;transform-origin:50% 50%;pointer-events:none;will-change:transform,opacity;isolation:isolate;opacity:1}
.onyx-arrival>.onyx-figure{display:block;position:absolute;inset:0;width:100%;height:100%;--onyx-size:100%;z-index:2}
.onyx-arrival .onyx-sprite{filter:drop-shadow(0 13px 20px rgba(0,0,0,.2));will-change:transform}
.onyx-arrival .onyx-floor{display:none}
.onyx-arrival-target{opacity:0!important}
.onyx-arrival.is-settling .onyx-sprite{animation:none!important;transform:none!important}
.arrival-skip{position:fixed;right:28px;top:25px;z-index:152;pointer-events:auto;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(0,0,0,.25);padding:8px 11px;font-size:11px;color:#D9DDE8;display:flex;gap:13px;align-items:center;line-height:1.6}
.arrival-skip span{border:1px solid rgba(255,255,255,.2);padding:1px 4px;border-radius:3px;font-size:9px;color:#9AA0AE}
.arrival-skip:hover{background:#252731;color:#fff}
.arrival-effects{position:absolute;inset:0;z-index:1;pointer-events:none}
.arrival-glow{position:absolute;left:8%;right:8%;top:7%;bottom:9%;border-radius:50%;background:radial-gradient(ellipse,rgba(254,100,9,.23),rgba(254,100,9,.03) 53%,transparent 70%);filter:blur(16px);animation:arrivalGlow 1s ease-out both}
.arrival-ring{position:absolute;top:8%;bottom:8%;left:8%;right:8%;border:1px solid rgba(254,100,9,.27);border-radius:50%;opacity:0;animation:arrivalRipple 1s ease-out both}
.r-two{animation-delay:.16s}
.r-three{animation-delay:.32s}
.arrival-effects>b{position:absolute;left:50%;top:45%;width:6px;height:6px;border-radius:1px;background:var(--orange);opacity:0;transform:rotate(var(--angle)) translateX(var(--distance));display:none;box-shadow:0 0 10px rgba(254,100,9,.3)}
.effect-sparkles .arrival-effects>b,.effect-halo .arrival-effects>b{display:block;animation:arrivalSpark 850ms ease-out both;animation-delay:calc(var(--i)*25ms)}
.arrival-effects>b:nth-of-type(even){background:#bcd5f5;width:4px;height:4px}
.arrival-effects>b:nth-of-type(3n){width:3px;height:9px;background:#F5DEC6}
.effect-halo .arrival-ring{border-width:2px;border-color:rgba(254,100,9,.55);animation-duration:1.25s}
.effect-halo .arrival-glow{background:radial-gradient(ellipse,rgba(254,100,9,.35),transparent 65%)}
.effect-radar .arrival-effects{transform:rotateX(24deg)}
.effect-radar .arrival-ring{opacity:.7;animation:arrivalRadar 1s ease-out both;border-color:rgba(178,207,243,.34);border-top-color:var(--orange);border-left-color:transparent}
.effect-radar .r-two{inset:15%;animation-delay:.12s}
.effect-radar .r-three{inset:24%;animation-delay:.24s}
.effect-listening .arrival-ring{border-color:rgba(188,213,245,.3);animation-duration:1s}
.effect-listening .arrival-glow{background:radial-gradient(ellipse,rgba(188,213,245,.12),rgba(254,100,9,.06),transparent 68%)}
.effect-curious .r-three,.effect-repair .r-three{display:none}
.effect-curious .arrival-ring,.effect-repair .arrival-ring{border-color:rgba(188,213,245,.2)}
.effect-steady .arrival-ring{display:none}
.effect-steady .arrival-glow{animation:none;opacity:.35;background:radial-gradient(ellipse,rgba(188,213,245,.14),transparent 67%)}
.onyx-arrival.is-settling .arrival-effects{animation:arrivalEffectsOut .18s ease-out both}
.onyx-arrival.is-settling .arrival-effects>*{animation:none!important}
.composer{transition:box-shadow .2s,border-color .2s,transform .2s}
.composer:focus-within{border-color:rgba(254,100,9,.5);box-shadow:0 0 0 3px rgba(254,100,9,.045);transform:translateY(-1px)}
.send-button{transition:transform .13s,background .13s}
.send-button:hover{transform:translateY(-1px)}
.send-button:active{transform:scale(.94)}
.btn:active:not(:disabled){transform:translateY(1px)}
#onyx-checkin-host{position:relative;z-index:67}
.onyx-checkin{position:fixed;right:26px;bottom:25px;width:425px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;padding:20px 20px 15px;animation:onyxSceneIn .2s ease-out both}
.onyx-checkin>.icon-btn{position:absolute;right:7px;top:7px;width:28px;height:28px}
.onyx-checkin>.icon-btn .icon{width:15px;height:15px}
.checkin-content{display:flex;align-items:center;gap:9px}
.onyx-size-checkin{--onyx-size:98px}
.checkin-content>div{flex:1;min-width:0;padding-right:7px}
.checkin-eyebrow{font-size:8px;letter-spacing:1.2px;color:var(--orange-light)}
.checkin-content h2{font-family:Inter,Arial,sans-serif!important;text-transform:none!important;font-size:17px;letter-spacing:0;font-weight:500;margin:8px 0 7px;line-height:1.5}
.checkin-content p{font-size:12px;line-height:1.8;color:var(--muted)}
.checkin-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:17px;padding-top:15px;border-top:1px solid var(--line-soft)}
.checkin-actions .btn{font-size:12px;min-height:37px}
.critical-demo-label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.5px;margin-bottom:13px}
.critical-demo-label .icon{width:14px;height:14px}
.critical-finding{border:1px solid #FE1F0B55;border-radius:10px;background:var(--surface);overflow:hidden;padding:20px 21px 0}
.critical-finding>.row>span:last-child{font-size:11px;color:var(--muted)}
.critical-finding h3{font-size:19px;font-weight:500;line-height:1.5;margin:18px 0 11px}
.critical-finding>p{font-size:12px;color:var(--muted);line-height:1.8}
.critical-evidence{padding:17px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg);margin:20px 0}
.critical-evidence strong{font-size:13px;font-weight:500;line-height:1.7}
.critical-evidence p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:8px}
.critical-finding>.evidence{margin:0 -21px;padding-left:21px;padding-right:21px}
.critical-sample-text{padding:15px 0;font-size:13px;color:var(--muted);line-height:1.9}
.clarify-choices{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.clarify-choices .btn{font-size:13px}
.state-demo-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:13px}
html[data-onyx-critical=true] .onyx-sprite{animation:none!important;transition:none!important;filter:brightness(.7) saturate(.78)!important;transform:none!important}
html[data-onyx-critical=true] .onyx-working .typing-dots span{animation:none!important}
html[data-onyx-motion=still] .onyx-sprite,html[data-onyx-motion=still] .onyx-ack .onyx-sprite,html[data-onyx-motion=still] .onyx-checkin{animation:none!important;transition:none!important;transform:none!important}
html[data-onyx-motion=still] .composer:focus-within{transform:none}
html[data-theme=light] .onyx-resident{background:#fff}
@keyframes arrivalRipple{0%{opacity:0;transform:scale(.78)}20%{opacity:.7}100%{opacity:0;transform:scale(1.23)}}
@keyframes arrivalGlow{0%{opacity:0;transform:scale(.85)}35%{opacity:1}100%{opacity:.55;transform:scale(1.06)}}
@keyframes arrivalSpark{0%{opacity:0;transform:rotate(var(--angle)) translateX(calc(var(--distance)*.55)) scale(.5)}25%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--angle) + 10deg)) translateX(calc(var(--distance)*1.25)) scale(.8)}}
@keyframes arrivalRadar{0%{opacity:0;transform:rotate(-25deg) scale(.85)}35%{opacity:.7}100%{opacity:.25;transform:rotate(35deg) scale(1.05)}}
@keyframes arrivalEffectsOut{to{opacity:0}}
@keyframes residentGlow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 3px rgba(254,100,9,.16))}}
@keyframes residentThink{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg)}}
@keyframes onyxAcknowledge{0%,100%{filter:brightness(1);transform:none}40%{filter:brightness(1.14);transform:translateY(-1px)}}
@media(max-width:1200px){.onyx-resident{margin-top:12px}}
@media(max-width:950px){.onyx-checkin{width:390px}.onyx-resident .resident-state{font-size:9px}}
@media(max-width:700px){.onyx-checkin{right:12px;bottom:15px;width:350px;max-width:calc(100vw - 105px);padding:21px 15px 15px}.checkin-content{flex-direction:column;align-items:flex-start;gap:0}.checkin-content>.onyx-figure{align-self:center;--onyx-size:78px}.checkin-content h2{font-size:16px}.checkin-content p{font-size:12px}.checkin-actions{flex-wrap:wrap}.checkin-actions .btn{font-size:11px;flex:1;white-space:normal;padding:8px;line-height:1.5}.arrival-skip{right:14px;top:15px;font-size:10px}.critical-finding{padding:17px 15px 0}.critical-finding h3{font-size:17px}.critical-finding>.evidence{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.clarify-choices{flex-direction:column}.clarify-choices .btn{font-size:12px;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){#onyx-flight-host{display:none!important}.onyx-sprite,.onyx-ack .onyx-sprite,.onyx-checkin{animation:none!important;transition:none!important;transform:none!important}.composer:focus-within,.send-button:hover,.send-button:active{transform:none!important}}
.arrival-caption{position:fixed;left:50%;transform:translateX(-50%);width:min(680px,88vw);text-align:center;color:#fff;pointer-events:none;animation:captionIn .25s ease-out both;z-index:2;text-shadow:0 3px 24px #000;line-height:1.3}
.arrival-caption span{display:block;font:500 clamp(23px,3vw,38px)/1.3 Tomorrow,Inter,sans-serif;color:#ff9b57;margin-bottom:9px}
.arrival-caption strong{display:block;font:500 clamp(19px,2.5vw,30px)/1.4 Inter,sans-serif;letter-spacing:-.5px}
.arrival-caption.is-leaving{opacity:0;transition:opacity .18s ease-out;animation:none}
@keyframes captionIn{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.collapsed .onyx-resident{margin-top:auto}
.collapsed .chat-first-navigation .sidebar-bottom{margin-top:20px}
