[hidden] { display: none !important; }
.calculation-result { margin:16px 0; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.calculation-result h3 { margin:0 0 8px; font-size:15px; }
.calculation-value { font-family:ui-monospace,monospace; overflow-wrap:anywhere; }
.logo { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
.logo img { object-fit:contain; }
.hero-emblem { position:absolute; width:240px; height:240px; object-fit:contain; top:50%; left:50%; transform:translate(-50%,-50%); }
.brand-beacon { position:fixed; right:24px; bottom:24px; width:78px; height:78px; padding:7px; border-radius:25px; background:#10171e; pointer-events:none; z-index:2; isolation:isolate; box-shadow:0 0 22px #40aaff24; overflow:hidden; }
.brand-beacon::before { content:""; position:absolute; inset:-30px; background:conic-gradient(from 0deg,transparent 12%,#3479ff 28%,#92edff 37%,transparent 51%,#227bff 77%,transparent 92%); z-index:-2; }
.brand-beacon::after { content:""; position:absolute; inset:2px; border-radius:23px; background:#10171e; z-index:-1; }
.brand-beacon img { display:block; width:100%; height:100%; object-fit:contain; }
.not-found { max-width:680px; margin:65px auto; text-align:center; }
.not-found .lede { margin:20px auto; }
.not-found .actions { justify-content:center; }
.confused-wolf { position:relative; width:190px; margin:0 auto 28px; }
.confused-wolf img { transform:rotate(-12deg); filter:drop-shadow(0 0 22px #69baff24); }
.confused-wolf span { position:absolute; right:0; top:-20px; color:#9adeff; font-size:62px; font-weight:500; transform:rotate(12deg); }
@media(prefers-reduced-motion:no-preference) { .brand-beacon::before { animation:kestra-orbit 8s linear infinite; } }
@keyframes kestra-orbit { to { transform:rotate(360deg); } }
@media(max-width:700px) {
 .site-head { flex-wrap:wrap; }
 .brand-beacon { width:48px; height:48px; right:12px; bottom:12px; border-radius:16px; padding:5px; }
 .brand-beacon::after { border-radius:14px; }
 [data-page="workspace"] .brand-beacon { display:none; }
 .hero-emblem { width:210px; height:210px; }
 .not-found { margin:40px auto; }
}
button:disabled { opacity: .55; cursor: wait; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline: 2px solid var(--violet); outline-offset: 3px; }
.text-button { background:none; border:0; padding:0; color:var(--mute); font-size:13px; }
.status { white-space: pre-wrap; min-height: 1.5em; color:var(--gold); }
.full { width:100%; margin-top:16px; justify-content:center; }
.small-heading { font-size:18px; margin-top:28px; }
.history { display:grid; gap:6px; max-height:45vh; overflow-y:auto; }
.history button { background:transparent; border:1px solid var(--line); border-radius:8px; padding:10px; text-align:left; overflow-wrap:anywhere; }
.history button[aria-current="true"] { border-color:var(--violet); }
.chat-panel { min-width:0; }
.chat-log { display:flex; flex-direction:column; overflow-wrap:anywhere; }
.bubble p { margin:8px 0; }
.bubble pre { max-width:100%; overflow:auto; background:var(--bg); padding:12px; border-radius:8px; }
.bubble a { text-decoration:underline; color:var(--violet); }
.bubble table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; }
.bubble td,.bubble th { border:1px solid var(--line); padding:8px; }
.bubble .message-label { display:block; font-size:12px; color:var(--mute); margin-bottom:6px; }
.bubble .message-state { color:var(--gold); font-size:12px; }
.composer textarea { flex:1; min-width:0; resize:vertical; min-height:64px; background:#0f1118; border:1px solid var(--line); border-radius:16px; padding:12px; }
.composer-actions { display:flex; flex-direction:column; gap:8px; }
.auth-main { max-width:560px; margin:48px auto; }
.auth-title { font-size:36px; }
.auth-form { display:grid; gap:16px; margin-top:24px; }
.auth-form label { display:block; margin-bottom:6px; color:var(--mute); }
.auth-form input { width:100%; min-height:44px; border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:var(--bg); }
.auth-form .btn { justify-self:start; }
.admin-users { margin-top:24px; }
.user-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.user-actions { display:flex; flex-wrap:wrap; gap:8px; }
.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; }
.provider-controls { display:grid; gap:8px; margin-top:18px; }
.provider-controls label { color:var(--mute); font-size:12px; }
.provider-controls select { width:100%; min-width:0; min-height:44px; padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--bg); font-size:12px; }
.provider-note { color:var(--mute); font-size:12px; margin:0 0 8px; overflow-wrap:anywhere; }
.local-nav { align-items:center; }
.local-nav a.auth-link { display:inline-flex; align-items:center; min-height:42px; padding:0 16px; border:1px solid var(--violet); border-radius:999px; color:var(--ink); font-weight:600; }
.local-nav a.auth-link-primary { background:var(--violet); color:#120e1c; }
.auth-cta { min-height:50px; padding:0 24px; font-size:15px; }
.btn.ghost.auth-cta { border-color:var(--violet); }
.email-status { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.settings-main { max-width:760px; margin:40px auto; }
.onboarding-main { max-width:620px; margin:40px auto; }
.preferences-form,.preferences-form fieldset { display:grid; gap:16px; }
.preferences-form fieldset { min-width:0; border:0; padding:0; margin:0 0 24px; }
.preferences-form legend { font-size:21px; padding:0 0 16px; }
.preferences-form label,.memory-item label { display:block; color:var(--mute); margin-bottom:6px; }
.preferences-form input:not([type="checkbox"]),.preferences-form select,.preferences-form textarea,.memory-item textarea { width:100%; min-width:0; min-height:44px; border:1px solid var(--line); border-radius:10px; background:var(--bg); padding:10px 12px; }
.preferences-form textarea,.memory-item textarea { resize:vertical; }
.preferences-form .btn { justify-self:start; }
.checkbox-field { display:flex; align-items:center; gap:10px; }
.checkbox-field input { width:20px; height:20px; accent-color:var(--violet); }
.checkbox-field label { margin:0; }
.memory-panel { margin:24px 0; }
.memory-list { display:grid; gap:18px; margin:24px 0; }
.memory-item { min-width:0; padding-top:18px; border-top:1px solid var(--line); }
.memory-item .actions { margin-top:10px; }
.tool-suggestions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.tool-suggestions .btn { white-space:normal; text-align:left; }
.research-sources { min-width:0; margin:20px 0; overflow-wrap:anywhere; }
.research-sources h3 { font-size:17px; }
.research-source { margin:12px 0; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.research-source a { color:var(--violet); text-decoration:underline; }
.source-metadata { font-size:12px; color:var(--mute); }
.research-source summary { cursor:pointer; color:var(--gold); }
@keyframes kestra-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) {
  [data-page="home"] .hero > div:first-child > * { animation:kestra-enter .65s ease-out both; }
  [data-page="home"] .hero h1 { animation-delay:.08s; }
  [data-page="home"] .hero .lede { animation-delay:.15s; }
  [data-page="home"] .hero .actions { animation-delay:.22s; }
  [data-page="home"] .filament { animation:kestra-enter .85s .12s ease-out both; }
  [data-page="home"] #models .model { animation:kestra-enter .55s .20s ease-out both; }
  [data-page="home"] #models .model:nth-child(2) { animation-delay:.26s; }
  [data-page="home"] #models .model:nth-child(3) { animation-delay:.32s; }
  [data-page="home"] #models .model:nth-child(4) { animation-delay:.38s; }
  [data-page="home"] .actions .btn { transition:transform .18s ease,box-shadow .18s ease; }
  [data-page="home"] .actions .btn:hover { transform:translateY(-2px); box-shadow:0 6px 24px rgba(201,182,255,.12); }
}
@media(max-width:480px) { .wrap { padding-left:14px; padding-right:14px; } .panel { padding:12px; } .composer { flex-direction:column; } .composer-actions { flex-direction:row; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.chatgpt-handoff { margin:20px 0; }
.chatgpt-handoff summary { cursor:pointer; color:var(--violet); }
#chatgpt-transfer { width:100%; margin-top:12px; background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:12px; }
