#orpharma-chat{box-sizing:border-box;padding:0;width:min(780px,calc(100% - 32px));height:min(780px,calc(var(--chat-viewport-height,100dvh) - 24px));max-height:calc(var(--chat-viewport-height,100dvh) - 24px);position:fixed;top:calc(var(--chat-viewport-top,0px) + var(--chat-viewport-height,100dvh)/2);left:50%;right:auto;bottom:auto;margin:0;transform:translate(-50%,-50%);border:1px solid #ffffff20;border-radius:14px;color:#ede8f7;background:#06070a;box-shadow:0 32px 100px #08081580;font-family:inherit;overflow:hidden;color-scheme:dark}
#orpharma-chat::backdrop{background:#10102285;backdrop-filter:blur(9px)}
#orpharma-chat .chat-shell{position:relative;isolation:isolate;display:flex;flex-direction:column;height:100%;padding:0 28px;overflow:hidden}
#chat-orb{position:absolute;inset:0;width:100%;height:100%;z-index:0;touch-action:none;cursor:grab}#chat-orb.dragging{cursor:grabbing}#chat-orb:focus-visible{outline:1px solid #ae95e9;outline-offset:-5px}
.chat-header{display:flex;align-items:center;justify-content:space-between;min-height:62px;flex-shrink:0;pointer-events:none}.chat-header h2{margin:0;font-weight:500;line-height:1.4;font-family:inherit!important;font-size:12px!important;letter-spacing:.13em;color:#ede8f7}.chat-header button{pointer-events:auto}
#chat-close{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:transparent;color:#bbb0cc;font-size:26px;cursor:pointer}
.chat-orb-space{position:relative;flex:0 0 220px;min-height:0;margin:0 -28px;overflow:hidden;border-bottom:1px solid #ffffff08;isolation:isolate}.orb-fallback{position:absolute;pointer-events:none;width:100px;height:100px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e3ccff,#67509d 35%,#221539 75%);box-shadow:0 0 60px 30px #7653c947}.orb-loaded .orb-fallback{display:none}
.chat-log{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#55457c transparent;padding:24px 12px 28px;display:flex;flex-direction:column;gap:28px;text-align:left;scroll-padding-block:24px}.chat-log:has(> :only-child){justify-content:center}.chat-log:has(> :only-child) .chat-message{text-align:center}
.chat-message{width:100%;margin-inline:auto;font-size:18px;line-height:1.75;flex-shrink:0;overflow-wrap:anywhere;color:#eee8f8;max-width:640px}.chat-message p{margin:0;white-space:pre-wrap}.chat-message.user{color:#c2b8d0;font-size:14px;padding-top:20px;border-top:1px solid #ffffff14}.chat-message.error{color:#ffb9c6}.chat-message audio[hidden]{display:none}
.chat-composer{flex-shrink:0;min-width:0}
#chat-form{height:60px;position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:7px 0;border:0;border-top:1px solid #ffffff24;background:transparent}#chat-form:focus-within{border-color:#c3a8f2}
#chat-input{min-width:0;flex:1;resize:none;border:0;outline:none;padding:4px;background:none;color:#f3f0ff;font:inherit;font-size:16px;line-height:1.6}#chat-input::placeholder{color:#a498b6}
#chat-send{width:44px;height:44px;flex:none;border:1px solid #b5a5ff60;border-radius:50%;background:#a78ac811;color:#d9c4f5;font-size:25px;cursor:pointer}
#chat-status{height:36px;overflow:auto;margin:0;padding:4px 0;color:#c4b6d9;font-size:12px;line-height:1.5}.chat-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 0;color:#b0a4c0;font-size:12px;line-height:1.5;flex-shrink:0}.chat-footer span{min-width:0}.chat-footer a{color:#ccb6ed;white-space:nowrap;font-size:12px}
#orpharma-chat button:disabled{opacity:.4;cursor:default}#orpharma-chat button:focus-visible,#orpharma-chat a:focus-visible{outline:2px solid #c5b4ff;outline-offset:2px}#orpharma-chat .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){#orpharma-chat{width:calc(100% - 16px);height:min(780px,calc(var(--chat-viewport-height,100dvh) - 16px));max-height:calc(var(--chat-viewport-height,100dvh) - 16px);border-radius:12px}#orpharma-chat .chat-shell{padding:0 18px}.chat-orb-space{flex-basis:200px;margin-inline:-18px}.chat-message{font-size:16px}.chat-footer{font-size:11px}.chat-log{padding:18px 2px 24px;gap:24px}}
@media(max-height:620px){.chat-orb-space{flex-basis:96px}.chat-header{min-height:48px}.chat-log{padding-block:12px;gap:20px}#chat-status{height:30px}#chat-form{height:54px}.chat-footer{display:none}}

#chat-audio-toggle{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;color:#aaa0b7;background:transparent;cursor:pointer}#chat-audio-toggle[aria-pressed="true"]{color:#e1ceff;background:#a78ac81a}#chat-audio-toggle[aria-pressed="false"] .speaker-waves,#chat-audio-toggle[aria-pressed="true"] .speaker-muted{display:none}.chat-replay{display:block;margin:8px 0 0;padding:4px 8px;min-height:32px;border:0;background:none;color:#c6b0e4;font:inherit;font-size:12px;cursor:pointer}#orpharma-chat[data-audio="off"] .chat-replay{display:none}

.chat-suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px 0 12px;flex-shrink:0}.chat-suggestions[hidden]{display:none}.chat-suggestions button{min-height:36px;max-width:100%;padding:7px 12px;border:1px solid #aa91cf45;border-radius:18px;background:#a78ac80d;color:#ddd2ee;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}.chat-suggestions button:hover{background:#a78ac82b;border-color:#baa4de}@media(max-height:620px){.chat-suggestions{gap:4px;padding:4px 0 8px}.chat-suggestions button{padding:5px 10px}}

.chat-orb-space::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#06070a 0%,transparent 22%,transparent 78%,#06070a 100%)}
#chat-log:focus-visible{outline:1px solid #ae95e9;outline-offset:-2px}
#orpharma-chat.compact-viewport .chat-header{min-height:44px}
#orpharma-chat.compact-viewport .chat-orb-space{flex-basis:64px}
#orpharma-chat.compact-viewport .chat-log{padding-block:10px;gap:18px}
#orpharma-chat.compact-viewport .chat-message{font-size:15px}
#orpharma-chat.compact-viewport #chat-form{height:54px}
#orpharma-chat.compact-viewport #chat-status{height:30px}
#orpharma-chat.compact-viewport .chat-footer,#orpharma-chat.compact-viewport .chat-suggestions{display:none}

.chat-log::-webkit-scrollbar{width:6px}.chat-log::-webkit-scrollbar-thumb{background:#55457c;border-radius:4px}.chat-log::-webkit-scrollbar-track{background:transparent}
