:root{color-scheme:dark;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;--brand-primary: #f5f5f5;--brand-primary-strong: #ffffff;--brand-primary-soft: rgba(255, 255, 255, .08);--brand-accent: #c9c9c9;--brand-surface: rgba(9, 9, 10, .96);--brand-surface-strong: #111113;--brand-border: rgba(255, 255, 255, .14);--brand-text: #f3f3f3;--brand-text-soft: #a7a7a7;--brand-shadow: rgba(0, 0, 0, .68);--brand-page: #030303;--brand-panel-muted: rgba(255, 255, 255, .055);--brand-danger: #ff7a7a;background:radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 34%),radial-gradient(circle at right center,rgba(255,255,255,.045),transparent 30%),linear-gradient(180deg,#101010 0%,var(--brand-page) 100%);color:var(--brand-text)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100%}body{min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--brand-page)}button,input,textarea{font:inherit}.chat-page{height:100vh;height:100dvh;min-height:0;overflow:hidden;padding:32px 20px}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:24px;box-shadow:0 24px 80px var(--brand-shadow);padding:28px}.login-card h1{margin:8px 0 22px;font-size:2rem}.login-form{display:grid;gap:14px}.login-error{margin:0;color:var(--brand-danger);font-weight:700}.chat-shell{width:min(100%,960px);margin:0 auto;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:28px;box-shadow:0 24px 80px var(--brand-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:calc(100vh - 64px);height:calc(100dvh - 64px);min-height:0;overflow:hidden}.chat-header,.composer{padding-inline:24px}.chat-header{padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-header h1,.settings-modal h2{margin:6px 0 8px;font-size:clamp(1.8rem,4vw,2.4rem)}.header-copy{margin:0;max-width:620px;color:var(--brand-text-soft);line-height:1.5}.eyebrow{margin:0;color:var(--brand-primary);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700}.header-actions{display:flex;align-items:flex-start;gap:12px}.mode-pill{border:1px solid transparent;padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.mode-pill--prod{background:#ffffff1a;color:var(--brand-primary-strong)}.mode-pill--test{background:#ffffff29;color:var(--brand-primary-strong)}.mode-pill:hover{transform:translateY(-1px);border-color:#ffffff47}.mode-pill:focus-visible{outline:2px solid rgba(255,255,255,.44);outline-offset:3px}.icon-button,.primary-button,.secondary-button{border:0;border-radius:14px;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease}.icon-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.icon-button{width:42px;height:42px;background:var(--brand-primary-soft);color:var(--brand-primary-strong);font-size:1.2rem}.messages-panel{padding:22px 24px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:14px;scrollbar-color:rgba(255,255,255,.44) rgba(255,255,255,.07)}.message-row{display:flex;align-items:flex-end;gap:10px;width:100%}.message-row--system{justify-content:flex-start}.message-row--user{justify-content:flex-end}.message-bubble{max-width:min(76ch,80%);padding:14px 16px;border-radius:20px;line-height:1.5;cursor:context-menu}.message-bubble p{margin:0;white-space:pre-wrap}.message-bubble .download-link{display:inline-flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;border-radius:10px;background:#00000052;border:1px solid var(--brand-border);color:var(--brand-primary-strong);font-weight:700;text-decoration:none;overflow-wrap:anywhere}.download-link__icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:34px;border-radius:5px;background:#2b2b2d;color:#fff;font-weight:800;font-size:1.1rem}.download-link__icon--excel{background:#3a3a3d}.message-bubble .download-link:hover{background:var(--brand-primary-soft)}.message-attachment{display:block;margin-top:6px;font-weight:700;overflow-wrap:anywhere}.message-bubble p+.message-attachment{margin-top:10px}.message-attachments-stack{display:grid;gap:10px}.message-bubble p+.message-attachments-stack{margin-top:10px}.message-media{display:block;width:min(320px,68vw);max-height:min(420px,56vh);border-radius:14px;background:#000;object-fit:cover}.message-bubble p+.message-media{margin-top:10px}.message-media--video{aspect-ratio:9 / 16}.audio-player{display:grid;grid-template-columns:36px minmax(150px,1fr);align-items:center;gap:10px;min-width:min(320px,72vw)}.audio-player__button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:999px;background:#00000024;color:#050505;cursor:pointer}.audio-player__button svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.audio-player__body{min-width:0}.audio-wave{display:grid;grid-template-columns:repeat(28,3px);align-items:center;gap:3px;height:30px}.audio-wave__bar{display:block;width:3px;height:calc(8px + (18px * var(--bar-scale)));border-radius:999px;background:#00000047;transform-origin:center}.audio-wave__bar--filled{background:#000c}.audio-wave--playing .audio-wave__bar{animation:audioWavePulse .9s ease-in-out infinite}.audio-wave--playing .audio-wave__bar:nth-child(3n){animation-delay:.12s}.audio-wave--playing .audio-wave__bar:nth-child(4n){animation-delay:.24s}.audio-player__times{display:flex;justify-content:space-between;gap:12px;color:#000000ad;font-size:.78rem;font-weight:800}.audio-player__error{display:block;margin-top:4px;color:#5a1010;font-size:.74rem;font-weight:800}@keyframes audioWavePulse{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1.16)}}.message-bubble--system{align-self:flex-start;background:var(--brand-panel-muted);border-bottom-left-radius:8px;color:var(--brand-text);border:1px solid rgba(255,255,255,.1)}.typing-dots{display:inline-flex;align-items:center;gap:6px;min-height:20px}.typing-dots span{width:8px;height:8px;border-radius:50%;background:var(--brand-primary-strong);opacity:.35;animation:typingPulse 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}@keyframes typingPulse{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:1}}.message-bubble--user{align-self:flex-end;background:linear-gradient(135deg,#e9e9e9,#fff);color:#050505;border-bottom-right-radius:8px}.message-delete-button{flex:0 0 auto;border:1px solid rgba(255,142,142,.22);border-radius:999px;background:#201216f5;color:var(--brand-danger);font-weight:700;padding:8px 12px;cursor:pointer;box-shadow:0 10px 24px #0003;transition:transform .18s ease,background .18s ease,border-color .18s ease}.message-delete-button:hover{background:#ff8e8e1f;border-color:#ff8e8e5c;transform:translateY(-1px)}.message-delete-button:focus-visible{outline:2px solid rgba(255,142,142,.5);outline-offset:2px}.composer{border-top:1px solid var(--brand-border);padding-top:14px;padding-bottom:18px}.file-input{display:none}.selected-file{margin-top:10px;padding:8px 12px;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-primary-soft)}.selected-file__list{display:flex;flex-wrap:wrap;gap:8px}.selected-file span{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:6px 9px;border:1px solid var(--brand-border);border-radius:999px;background:#ffffff0f;overflow-wrap:anywhere}.selected-file button{border:0;background:transparent;color:var(--brand-primary-strong);font-weight:700;cursor:pointer}.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.16);background:var(--brand-surface-strong);color:var(--brand-text);border-radius:18px;padding:14px 16px;outline:none;resize:none}.field input:focus,.field textarea:focus{border-color:#ffffff8a;box-shadow:0 0 0 3px #ffffff1a}.settings-modal__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}.composer-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:8px;width:100%}.composer-bar{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;align-items:center;gap:6px;min-width:0;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:var(--brand-surface-strong);padding:7px 8px 7px 16px}.composer-bar:focus-within{border-color:#ffffff8a;box-shadow:0 0 0 3px #ffffff1a}.composer-bar textarea{width:100%;min-height:28px;max-height:120px;border:0;outline:0;resize:none;background:transparent;color:var(--brand-text);padding:7px 4px;line-height:1.45}.composer-bar textarea::placeholder{color:var(--brand-text-soft)}.recording-indicator{display:flex;align-items:center;gap:10px;min-width:0;color:var(--brand-primary-strong);font-weight:800}.recording-indicator__dot{flex:0 0 auto;width:10px;height:10px;border-radius:999px;background:var(--brand-danger);animation:recordingDotPulse 1s ease-in-out infinite}.recording-indicator__wave{display:grid;grid-template-columns:repeat(12,3px);align-items:center;gap:4px;height:28px;min-width:80px}.recording-indicator__wave span{display:block;width:3px;height:12px;border-radius:999px;background:var(--brand-primary-strong);opacity:.72;animation:recordingWave .9s ease-in-out infinite}.recording-indicator__wave span:nth-child(2n){animation-delay:.1s}.recording-indicator__wave span:nth-child(3n){animation-delay:.2s}.recording-indicator time{margin-left:auto;color:var(--brand-text);font-variant-numeric:tabular-nums}@keyframes recordingDotPulse{0%,to{opacity:.45;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@keyframes recordingWave{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.55)}}.primary-button{background:linear-gradient(135deg,#fff,#cfcfcf);color:#050505;font-weight:800;padding:12px 18px}.secondary-button{background:var(--brand-primary-soft);color:var(--brand-primary-strong);padding:12px 18px}.secondary-button--compact{padding:10px 14px}.composer-inline-button,.composer-send-button{display:inline-grid;place-items:center;width:38px;height:38px;border:0;border-radius:999px;color:var(--brand-primary-strong);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.composer-inline-button{background:transparent}.composer-send-button{width:48px;height:48px;background:linear-gradient(135deg,#fff,#cfcfcf);color:#050505}.composer-send-button--recording{background:#ff8e8e;color:#2b0909;animation:recordingPulse 1.1s ease-in-out infinite}.composer-inline-button svg,.composer-send-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.composer-inline-button:hover,.composer-send-button:hover{transform:translateY(-1px)}.composer-inline-button:hover{background:#ffffff1f}.composer-send-button:hover{background:linear-gradient(135deg,#d9d9d9,#fff)}.composer-send-button--recording:hover{background:#faa}@keyframes recordingPulse{0%,to{box-shadow:0 0 #ff8e8e3d}50%{box-shadow:0 0 0 8px #ff8e8e00}}.composer-inline-button:focus-visible,.composer-send-button:focus-visible{outline:2px solid rgba(255,255,255,.44);outline-offset:3px}.primary-button:disabled{opacity:.6;cursor:progress}.composer-inline-button:disabled,.composer-send-button:disabled,.secondary-button:disabled,.selected-file button:disabled{opacity:.6;cursor:progress}.composer-inline-button:disabled:hover,.composer-send-button:disabled:hover{transform:none}.modal-backdrop{position:fixed;inset:0;background:#02080bb8;display:grid;place-items:center;padding:20px}.settings-modal{width:min(100%,720px);background:var(--brand-surface-strong);border:1px solid var(--brand-border);border-radius:24px;padding:24px;box-shadow:0 28px 100px var(--brand-shadow)}.camera-modal{width:min(100%,520px);background:var(--brand-surface-strong);border:1px solid var(--brand-border);border-radius:24px;padding:18px;box-shadow:0 28px 100px var(--brand-shadow)}.camera-modal__header,.camera-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-modal__header{margin-bottom:14px}.camera-preview{display:block;width:100%;aspect-ratio:3 / 4;max-height:min(68vh,640px);border:1px solid var(--brand-border);border-radius:18px;background:#000;object-fit:cover}.camera-modal__actions{margin-top:14px}.primary-button--recording{background:var(--brand-danger);color:#1a0505}.settings-modal__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.settings-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.settings-status>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid var(--brand-border);border-radius:16px;background:#ffffff0f;padding:12px 14px}.settings-status span{color:var(--brand-text-soft);font-size:.9rem;font-weight:700}.settings-status strong{color:var(--brand-primary-strong);overflow-wrap:anywhere;min-width:0;text-align:right}.field{display:grid;gap:8px;margin-top:14px}.field span,.switch-row span{color:var(--brand-text);font-weight:600}.switch-row{display:flex;gap:10px;align-items:center;margin-top:16px}.switch-row input{width:18px;height:18px}.toast-alert{position:fixed;right:24px;top:24px;z-index:20;display:inline-flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 32px));border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#0c0c0ef5;color:var(--brand-text);padding:12px 14px;box-shadow:0 18px 50px var(--brand-shadow);animation:toastIn .22s ease-out}.toast-alert__icon{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:var(--brand-primary);color:#050505;font-weight:900}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.chat-page{padding:0}.chat-shell{border-radius:0;height:100vh;height:100dvh;min-height:0}.message-bubble{max-width:92%}.message-row{gap:8px}.message-delete-button{padding:7px 10px;font-size:.9rem}.settings-modal__actions{flex-direction:column-reverse}.settings-status{grid-template-columns:1fr}.toast-alert{right:16px;left:16px;top:16px}.primary-button,.secondary-button{width:100%}}
