@font-face{font-family:'Host Grotesk';src:url('/assets/fonts/host-grotesk-latin.woff2?v=fonts-1') format('woff2');font-style:normal;font-weight:300 800;font-display:swap;unicode-range:U+20-7E,U+A0-FF,U+2000-206F,U+2190-21FF,U+2018-201D,U+AB,U+BB,U+B7,U+2022,U+2026,U+20AC}@font-face{font-family:Alexandria;src:url('/assets/fonts/alexandria-ar.woff2?v=fonts-1') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+20-7E,U+A0-FF,U+600-6FF,U+750-77F,U+8A0-8FF,U+FB50-FDFF,U+FE70-FEFF,U+2000-206F,U+2190-21FF,U+2018-201D,U+AB,U+BB,U+B7,U+2022,U+2026,U+20AC,U+61C,U+640}
*{box-sizing:border-box} :root{--dur-breath:1300ms;--dur-stagger:150ms;--color-void:#000000;--color-bone:#ffffff;--color-ash:#9a9a9a;--color-silver:#bdbdbd;--color-iris:#8052ff;--color-iris-text:#9b7bff;--color-iris-hover:#7a4df0;--color-iris-active:#6f47e6;--color-amber:#ffb829;--color-verdant:#15846e;--particle-iris:#8052ff;--particle-amber:#ffb829;--particle-verdant:#15846e;--particle-cyan:#51d4e2;--particle-pink:#ed79b4;--particle-cream:#f4ecdc;--particle-violet:#b9a4ff;--color-surface-0:#000000;--color-surface-1:#0b0b0b;--color-surface-2:#131313;--color-surface-3:#202020;--color-line-faint:#161616;--color-line:#242424;--color-line-strong:#333333;--color-overlay:#000000ba;--color-surface-user:#241d3d;--color-danger:#ffb7ad;--color-danger-surface:#511923;--color-danger-line:#824151;--radius-sm:12px;--radius-lg:24px;--radius-pill:9999px;--radius-bubble:20px 20px 5px 20px;--radius-circle:50%;--focus-color:var(--color-amber);--focus-width:2px;--focus-offset:5px;--font-latin:'Host Grotesk', Arial, sans-serif;--font-arabic:Alexandria, 'Host Grotesk', sans-serif;--text-floor:12px;--text-body-marketing:18px;--text-body-product:16px;--text-label:14px;--text-caption:12px;--leading-marketing:1.75;--leading-arabic:1.95;--weight-heading:400;--weight-label:600;--weight-body:300;--tracking-display:-0.04em;--tracking-heading:-0.035em;--tracking-label:0.025em;--tracking-brand:-0.025em;--tracking-tight:-0.01em;--tracking-ar:0;--weight-ar-heading:400;--weight-ar-label:500;--weight-ar-body:300;--dur-fast:80ms;--dur-base:180ms;--dur-slow:240ms;--dur-enter:140ms;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-inout:cubic-bezier(.4,0,.2,1);--space-3:6px;--space-6:12px;--space-9:18px;--space-12:24px;--space-15:30px;--space-18:36px;--space-30:60px;--space-48:96px;--space-60:120px;--page-max:1280px;--gutter:clamp(24px,5.4vw,84px);--dur-fast:80ms;--dur-base:180ms;--dur-slow:240ms;--dur-enter:140ms;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-inout:cubic-bezier(.4,0,.2,1);;color-scheme:dark;--bg:#000;--ink:#fff;--muted:#9a9a9a;--violet:#8052ff;--amber:#ffb829;--line:var(--color-line)}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Host Grotesk',Alexandria,sans-serif;font-size:var(--text-body-product);line-height:1.65}html[lang=ar] body{font-family:Alexandria,'Host Grotesk',sans-serif}html[lang=ar] .auth-intro h1,html[lang=ar] #empty-state h1{letter-spacing:0;line-height:1.45}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}button{color:var(--ink)}.hidden{display:none!important}.topbar{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-line-faint)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;direction:ltr;font-size:22px;letter-spacing:var(--tracking-brand)}.top-actions{display:flex;gap:14px;align-items:center}.quiet,#language{background:none;border:0;padding:10px 12px;min-height:44px;color:#bdbdbd}.quiet:hover,#language:hover{color:#fff}.primary{background:var(--violet);color:#fff;border:0;min-height:50px;padding:12px 24px;border-radius:999px;transition:background var(--dur-base),transform var(--dur-base)}.primary:hover{background:var(--color-iris-hover);transform:translateY(-1px)}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;max-width:1200px;margin:0 auto;padding:9vh 35px 80px;align-items:center}.eyebrow{color:var(--amber);font-size:12px;letter-spacing:var(--tracking-label)}.auth-intro h1{font-weight:400;line-height:1.18;font-size:clamp(46px,5.7vw,76px);letter-spacing:var(--tracking-display);margin:24px 0}.auth-intro p{max-width:390px;color:#bdbdbd;font-size:17px;line-height:1.9}.back-link{display:inline-block;margin-top:25px;text-decoration:none;color:#9a9a9a}.auth-box{max-width:430px;width:100%;justify-self:center}.segmented{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:32px}.segmented button{background:none;border:0;border-bottom:2px solid transparent;padding:14px 0;color:var(--muted);min-height:48px}.segmented button.selected{border-bottom-color:var(--violet);color:#fff}.auth-box h2{font-size:28px;font-weight:400;margin:0 0 12px}.muted{color:var(--muted);font-size:13px}.auth-box label,dialog form>label{display:block;margin-top:20px;margin-bottom:7px}input:not([type=checkbox]),textarea{width:100%;background:var(--color-surface-1);border:1px solid var(--color-line-strong);border-radius:12px;color:#fff;padding:12px 15px;min-height:48px}input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 1000px var(--color-surface-2) inset}small{font-size:var(--text-floor);color:var(--muted)}.password-wrap{position:relative;direction:ltr}.password-wrap input{padding-right:72px}.password-wrap button{position:absolute;right:1px;top:2px;font-size:12px}.check-row{display:flex!important;align-items:flex-start;gap:10px;font-size:12px;line-height:1.9}.check-row input{margin-top:7px;accent-color:var(--violet)}.disclosure{font-size:var(--text-floor);color:var(--color-ash);line-height:1.8;padding:12px 0}.error{color:var(--color-danger);font-size:13px;min-height:1.5em}.auth-box .primary{width:100%;margin-top:8px}.chat-layout{display:grid;grid-template-columns:260px minmax(0,1fr);height:calc(100dvh - 88px)}#sidebar{border-inline-end:1px solid var(--color-surface-3);padding:28px 18px 20px;display:flex;flex-direction:column;overflow-y:auto}.new-session{border:1px solid var(--color-line-strong);border-radius:24px;background:none;padding:12px;min-height:48px}#sidebar h2{font-size:var(--text-floor);font-weight:400;color:var(--color-ash);letter-spacing:var(--tracking-heading);margin:30px 12px 15px}#session-list{display:flex;flex-direction:column;gap:6px}.session-item{border:0;color:var(--color-ash);background:none;display:block;width:100%;text-align:start;font-size:12px;border-radius:12px;padding:12px}.session-item.active{background:var(--color-surface-1);color:var(--color-iris-text)}.sidebar-bottom{margin-top:auto;padding-top:32px;color:var(--color-ash);font-size:var(--text-floor);line-height:1.8}.sidebar-bottom a{display:inline-block;margin-inline-end:14px}.sidebar-bottom button{font-size:var(--text-floor);padding-inline:0}.conversation{display:flex;flex-direction:column;min-height:0;min-width:0}.conversation-bar{height:54px;min-height:54px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;font-size:var(--text-floor);color:var(--color-ash)}.availability{display:flex;gap:8px;align-items:center}.availability i{height:5px;width:5px;border-radius:50%;background:#15846e}#messages{overflow-y:auto;flex:1;scroll-behavior:smooth;padding:25px max(5%,calc((100% - 800px)/2));overscroll-behavior:contain}.message{max-width:92%;margin-bottom:30px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-body-product);line-height:1.95}.message.user{background:var(--color-surface-user);border:1px solid var(--color-surface-2);border-radius:20px 20px 5px 20px;padding:14px 20px;margin-inline-start:auto;width:fit-content;max-width:85%}.message.assistant{margin-inline-end:auto;padding:0 4px}.message.user{margin-left:auto;margin-right:0}.message.assistant{margin-left:0;margin-right:auto}.message .who{display:block;color:var(--color-iris-text);font-size:var(--text-floor);margin-bottom:7px}.message audio{display:block;margin-top:12px;max-width:100%;height:36px}.thinking{display:flex;gap:5px;align-items:center;color:var(--color-ash);font-size:12px}.thinking i{width:5px;height:5px;background:#8052ff;border-radius:50%;animation:breath var(--dur-breath) ease-in-out infinite}.thinking i:nth-child(2){animation-delay:var(--dur-stagger)}.thinking i:nth-child(3){animation-delay:calc(var(--dur-stagger)*2)}#empty-state{max-width:520px;margin:4vh auto;text-align:center}#empty-state h1{font-size:34px;font-weight:400;letter-spacing:var(--tracking-brand);margin:12px 0}#empty-state p{color:var(--color-ash)}.orb{width:110px;height:110px;margin:auto;color:var(--color-iris-text)}.orb svg{width:100%;height:100%;filter:none}.suggestions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:35px}.suggestions button{padding:11px 16px;border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);background:none;color:#bdbdbd;font-size:12px;min-height:44px}.suggestions button:hover{border-color:#8052ff;color:#fff}.composer-area{padding:6px max(5%,calc((100% - 800px)/2)) 20px;background:#000}.composer-area>.error:empty,.composer-area>.muted:empty{display:none}#chat-form{display:flex;align-items:flex-end;border:1px solid var(--color-line);padding:8px;border-radius:var(--radius-lg);background:var(--color-surface-2);gap:6px}#message-input{resize:none;max-height:180px;min-height:44px;background:none;border:0;border-radius:0;padding:11px;font-size:14px;line-height:1.7}.icon-button,.send-button{width:44px;height:44px;min-width:44px;border:0;border-radius:50%;display:grid;place-items:center;background:none;color:var(--color-ash)}.send-button{background:var(--violet);color:#fff}.icon-button svg,.send-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}.icon-button.recording{background:var(--color-danger-surface);color:var(--color-danger)}.composer-meta{display:flex;justify-content:space-between;gap:14px;margin-top:10px;font-size:var(--text-floor);color:var(--color-ash);align-items:center}.audio-option{display:flex;gap:7px;align-items:center;white-space:nowrap}.audio-option input{accent-color:var(--violet)}dialog{background:var(--color-surface-1);color:#fff;border:1px solid var(--color-line-strong);border-radius:24px;max-width:540px;width:calc(100% - 36px);max-height:88dvh;padding:28px;overflow:auto}dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-weight:400}.danger-zone{border-top:1px solid var(--color-line-strong);margin-top:35px;padding-top:20px;font-size:12px}.danger-zone summary{color:var(--color-danger);cursor:pointer}.danger{background:var(--color-danger-surface);border:1px solid var(--color-danger-line);padding:12px 18px;border-radius:24px;margin-top:15px}dialog form .primary{margin-top:18px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes breath{50%{opacity:.3;transform:translateY(-3px)}}@media(max-width:800px){.topbar{height:72px;padding:0 20px}.auth-layout{gap:40px;grid-template-columns:1fr;padding:40px 24px}.auth-intro h1{font-size:46px;letter-spacing:var(--tracking-display)}.auth-intro h1 br{display:initial}.auth-intro p{font-size:15px}.back-link{margin-top:10px}.auth-box{max-width:500px}.chat-layout{height:calc(100dvh - 72px);grid-template-columns:1fr}#sidebar{display:none;position:fixed;top:72px;bottom:0;inset-inline-start:0;width:265px;background:var(--color-surface-1);z-index:10;box-shadow:10px 0 80px #000}#sidebar.open{display:flex}.top-actions{gap:3px}.top-actions button{font-size:12px;padding:8px}.conversation-bar{padding:0 20px}.availability{font-size:var(--text-floor)}#messages{padding:20px}#empty-state{margin:3vh auto}#empty-state h1{font-size:27px}.message{font-size:14px;max-width:100%}.composer-area{padding:5px 14px max(14px,env(safe-area-inset-bottom))}.auth-box input,dialog input,#message-input{font-size:16px}.composer-meta{font-size:var(--text-floor)}.composer-meta>span{max-width:52%;text-align:end}.brand{font-size:19px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
/* Spec alignment: flat black, no shadows, blur or decorative dividers. */
.topbar{border-bottom:0}#sidebar{border-inline-end:0}.orb svg{filter:none}dialog::backdrop{backdrop-filter:none}#sidebar{box-shadow:none}.message.user{border:0}

/* Motion pass — @frontend-motion-designer (findings §7.6.1). Same three rules as site.css.
   The product surface previously had ONE animation in total (the thinking dots). */
button,input,textarea,a,summary{transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.send-button,.icon-button,.primary,.new-session,.suggestions button,.session-item,.quiet,#language{transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.send-button:active,.icon-button:active,.primary:active,.new-session:active,.suggestions button:active,.session-item:active{transform:scale(.95);transition-duration:var(--dur-fast)}
/* Arriving messages used to appear with no feedback at all. */
@keyframes message-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.message{animation:message-in var(--dur-enter) var(--ease-out) both}
/* Mobile drawer: display:none/.open could not animate, and its shadow was removed by the
   spec pass, so a #0b0b0b panel on #000 had no legible edge. Entrance + scrim (visual only). */
@keyframes drawer-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@keyframes drawer-in-rtl{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes overlay-in{from{opacity:0}to{opacity:1}}
@media(max-width:800px){
  #sidebar.open{animation:drawer-in var(--dur-slow) var(--ease-out)}
  html[dir=rtl] #sidebar.open{animation-name:drawer-in-rtl}
  body:has(#sidebar.open)::after{content:"";position:fixed;inset:72px 0 0 0;background:var(--color-overlay);z-index:9;pointer-events:none;animation:overlay-in var(--dur-base) var(--ease-out)}
}
@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
dialog[open]{animation:dialog-in var(--dur-slow) var(--ease-out)}
.brand-logo{width:36px;height:36px;flex-shrink:0;display:block}
