:root {
  --sidebar-width:264px;
  --ink:#f7f3ea;
  --paper:#101923;
  --panel:#182431;
  --panel-2:#223140;
  --line:#3a4a5b;
  --muted:#aeb9c5;
  --wine:#8b1e3f;
  --rose:#d998ae;
  --blue:#243b4a;
  --good:#9acfae;
  --bad:#f1a0a0;
  --shadow:0 16px 44px #05090d80;
  color:var(--ink);
  background:var(--paper);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:dark
}
.app-shell.anonymous,.app-shell.boot-pending {
  grid-template-columns:minmax(0,1fr)
}
.app-shell.anonymous .sidebar,.app-shell.anonymous .topbar,.app-shell.anonymous .sidebar-toggle,.app-shell.boot-pending .sidebar,.app-shell.boot-pending .topbar,.app-shell.boot-pending .sidebar-toggle {
  display:none
}
.app-shell.anonymous .workspace,.app-shell.boot-pending .workspace {
  grid-template-rows:minmax(0,1fr)
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  font-size:15px;
  line-height:1.58
}
.app-shell {
  display:grid;
  grid-template-columns:var(--sidebar-width) minmax(0,1fr);
  min-height:100dvh;
  height:100dvh;
  overflow:hidden
}
.sidebar {
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:24px 16px 14px;
  background:#0c151e;
  border-right:1px solid var(--line)
}
.brand {
  display:block;
  margin:0 7px 6px
}
.brand img {
  display:block;
  width:142px;
  max-width:100%;
  height:auto
}
.primary,.quiet,.icon-text,.tool,.tab,button {
  min-height:35px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:8px;
  background:none;
  color:inherit;
  font:inherit;
  cursor:pointer
}
.primary {
  background:var(--wine);
  font-weight:700
}
.primary:hover {
  background:#a12b4e
}
.wide {
  width:100%;
  text-align:left
}
.search {
  display:flex;
  align-items:center;
  gap:6px;
  margin:15px 0 9px;
  padding:0 8px;
  border:1px solid var(--line);
  border-radius:3px;
  background:var(--panel)
}
.search input {
  min-width:0;
  flex:1;
  border:0;
  background:transparent
}
.conversation-list {
  min-height:0;
  flex:1;
  overflow:auto
}
.conversation-row {
  display:block;
  width:100%;
  padding:9px 7px;
  text-align:left;
  border-radius:0;
  border-bottom-color:color-mix(in srgb,var(--line) 65%,transparent)
}
.conversation-row:hover,.conversation-row[aria-current="page"] {
  background:var(--panel-2)
}
.conversation-row strong,.conversation-row small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis
}
.conversation-row strong {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  max-height:2.7em;
  font-size:.88rem;
  line-height:1.32
}
.conversation-row small {
  margin-top:3px;
  white-space:nowrap;
  font-size:.78rem
}
.conversation-row small,.muted,.meta {
  color:var(--muted);
  font-size:.86em
}
.side-footer {
  display:grid;
  gap:2px;
  padding-top:10px;
  border-top:1px solid var(--line)
}
.icon-text {
  text-align:left;
  color:var(--muted)
}
.workspace {
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:54px minmax(0,1fr);
  background:
    radial-gradient(760px 560px at var(--pointer-x,84%) var(--pointer-y,4%),#8b1e3f52 0%,transparent 69%),
    radial-gradient(680px 460px at 8% 92%,#243b4a9c 0%,transparent 72%),
    linear-gradient(110deg,#101923 0%,#13212d 100%)
}
.topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  border-bottom:1px solid var(--line)
}
.topbar-brand {
  flex:none;
  display:block;
  width:92px;
  margin-left:48px
}
.topbar-brand img {
  display:block;
  width:100%;
  height:auto
}
#crumb {
  margin-left:16px;
  margin-right:auto
}
.top-actions {
  display:flex;
  margin-left:auto;
  align-items:center;
  gap:10px
}
.profile {
  display:grid;
  place-items:center;
  width:32px;
  min-height:32px;
  padding:0;
  border-radius:50%;
  border-color:var(--line);
  background:var(--panel-2)
}
main {
  min-width:0;
  min-height:0;
  overflow:auto;
  scrollbar-gutter:stable
}
#view {
  min-width:0;
  width:min(100%,1080px);
  height:100%;
  min-height:100%;
  margin:auto;
  padding:38px 44px 88px
}
.eyebrow {
  font-size:11px;
  font-weight:750;
  letter-spacing:.13em;
  color:var(--rose)
}
.study,.landing {
  min-height:calc(100dvh - 54px);
  display:grid;
  align-content:center;
  position:relative;
  isolation:isolate
}
.study {
  width:min(100%,900px);
  min-height:100%;
  margin:auto;
  padding:28px 0;
  gap:22px
}
.study h1,.page-title,.landing h1 {
  margin:0 0 14px;
  font-family:inherit;
  font-size:clamp(2.75rem,5vw,3.75rem);
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.045em
}
.study p,.landing p {
  max-width:650px;
  color:var(--muted);
  font-size:1.05rem
}
.composer {
  margin-top:28px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel);
  box-shadow:var(--shadow)
}
.composer.sticky {
  width:100%;
  flex-shrink:0;
  margin-top:0;
  padding:12px;
  background:color-mix(in srgb,var(--panel) 92%,#101923)
}
.composer textarea {
  display:block;
  width:100%;
  min-height:82px;
  max-height:min(240px,28dvh);
  padding:7px;
  border:0;
  outline:0;
  resize:vertical;
  background:transparent;
  color:var(--ink);
  font-family:inherit;
  font-size:1rem;
  line-height:1.55
}
.composer textarea:focus-visible { outline:0 }
.composer-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.conversation {
  width:100%;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  margin:auto
}
.conversation-head {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
  padding-bottom:17px;
  border-bottom:1px solid var(--line)
}
.conversation .page-title {
  font-size:clamp(1.35rem,2.7vw,2.45rem);
  line-height:1.12;
  overflow-wrap:anywhere
}
.conversation-body {
  min-height:0;
  flex:1;
  overflow:auto;
  padding:0 14px 18px 0;
  margin-bottom:20px;
  scrollbar-gutter:stable;
  overscroll-behavior-y:contain
}
.question-original summary,.sources-menu summary,.journey-summary summary {
  cursor:pointer
}
.message {
  margin:0 0 38px
}
@media (min-width:801px) {
  .app-shell:not(.anonymous):not(.boot-pending):not(.sidebar-collapsed) .topbar-brand {
    display:none
  }
}
.message-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:9px
}
.message-head.sources-head {
  justify-content:flex-end
}
.message-label {
  margin:0;
  color:var(--rose);
  font-size:11px;
  font-weight:750;
  letter-spacing:.13em
}
.question-text {
  font-family:inherit;
  font-size:1.08rem;
  line-height:1.6
}
.answer {
  max-width:100%;
  width:100%;
  font-size:1.08rem;
  line-height:1.78;
  overflow-wrap:break-word;
  text-align:justify;
  text-align-last:start;
  hyphens:auto
}
.answer p,.answer ul,.answer ol,.answer blockquote {
  margin:0 0 1.05em
}
.answer li {
  padding-left:.25em;
  margin:.6em 0
}
.answer li p {
  margin:.55em 0
}
.answer li::marker {
  color:var(--rose);
  font-weight:650
}
.answer-table-wrap {
  max-width:100%;
  margin:1.25em 0;
  overflow:auto;
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--panel) 88%,#101923)
}
.answer-table-wrap table {
  width:100%;
  min-width:420px;
  border-collapse:collapse;
  font-size:.93em;
  line-height:1.55
}
.answer-table-wrap th,.answer-table-wrap td {
  padding:.7em .85em;
  border:1px solid var(--line);
  text-align:left;
  vertical-align:top
}
.answer-table-wrap th {
  color:var(--ink);
  background:var(--panel-2);
  font-weight:700
}
.answer h2,.answer h3 {
  margin:1.6em 0 .55em;
  font-family:inherit;
  line-height:1.2
}
.answer blockquote {
  padding:.2em 0 .2em 1em;
  border-left:2px solid var(--rose);
  color:var(--muted)
}
.citation {
  padding:.05em .35em;
  border:1px solid color-mix(in srgb,var(--rose) 50%,transparent);
  border-radius:.42em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  background:color-mix(in srgb,var(--wine) 30%,transparent);
  color:var(--ink);
  font:inherit;
  cursor:pointer
}
.citation-source {
  white-space:nowrap
}
.citation-fallback {
  color:var(--muted);
  border-bottom:0;
  background:transparent
}
.message-tools {
  display:flex;
  gap:4px;
  justify-content:flex-end;
  margin-top:18px
}
.tool,.quiet,.icon-text {
  color:var(--muted)
}
.tool:hover,.quiet:hover,.icon-text:hover {
  background:var(--panel-2);
  color:var(--ink)
}
.sources-menu {
  position:relative;
  flex:none
}
.sources-menu summary {
  list-style:none;
  padding:5px 0;
  color:var(--ink);
  font-size:.86rem;
  font-weight:700
}
.sources-menu summary::-webkit-details-marker {
  display:none
}
.sources-arrow {
  padding-left:5px;
  color:var(--rose)
}
.sources-menu[open] .sources-arrow {
  display:inline-block;
  transform:rotate(180deg)
}
.sources-list {
  position:absolute;
  right:0;
  z-index:9;
  width:min(320px,75vw);
  padding:6px;
  border:1px solid var(--line);
  background:var(--panel);
  box-shadow:var(--shadow)
}
.source-item {
  display:flex;
  justify-content:space-between;
  width:100%;
  gap:10px;
  text-align:left;
  border-radius:2px
}
.source-item:hover {
  background:var(--panel-2)
}
.journey-summary {
  margin-top:15px
}
.journey-summary summary {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
  font-size:.9rem;
  list-style:none
}
.journey-summary summary::-webkit-details-marker {
  display:none
}
.journey-summary summary::before {
  content:"›";
  display:inline-block;
  color:var(--rose);
  font-size:1.1em;
  line-height:1;
  transition:transform .16s ease
}
.journey-summary[open] summary::before {
  transform:rotate(90deg)
}
.journey-steps {
  margin:8px 0 0;
  padding-left:20px;
  color:var(--muted);
  font-size:.88rem
}
.journey-step {
  padding:2px 0
}
.journey-step > small {
  display:block;
  margin-top:3px
}
.journey-running {
  display:flex;
  gap:8px;
  align-items:center;
  margin:14px 0;
  color:var(--muted);
  font-size:.9rem
}
.journey-running::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--rose)
}
.waiting {
  max-width:620px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  padding:12px 14px;
  border-left:2px solid var(--rose);
  background:color-mix(in srgb,var(--panel) 86%,transparent)
}
.waiting-status {
  margin:0;
  font-family:inherit;
  font-size:.94rem;
  font-weight:600;
  line-height:1.4
}
.limitations {
  margin:14px 0;
  padding:8px 12px;
  border-left:2px solid var(--rose);
  color:var(--muted);
  background:color-mix(in srgb,var(--panel) 78%,black)
}
.drawer {
  position:fixed;
  z-index:51;
  top:0;
  right:0;
  bottom:0;
  width:min(520px,92vw);
  display:flex;
  flex-direction:column;
  border-left:1px solid var(--line);
  background:var(--panel);
  box-shadow:var(--shadow)
}
.drawer-backdrop {
  position:fixed;
  z-index:50;
  inset:0;
  background:#05090d99
}
.drawer header,.modal header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  border-bottom:1px solid var(--line)
}
.drawer-content {
  overflow:auto;
  padding:22px
}
.source-quote {
  padding:14px;
  border:1px solid var(--line);
  background:var(--paper);
  white-space:pre-wrap
}
.source-toggle {
  position:fixed;
  z-index:29;
  right:0;
  top:75px;
  border-color:var(--line);
  border-right:0;
  background:var(--panel)
}
.source-match {
  background:color-mix(in srgb,var(--rose) 35%,transparent)
}
.landing {
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:clamp(34px,7vw,100px);
  width:min(100%,1120px);
  margin:auto;
  padding:clamp(20px,4vw,48px);
  background:
    linear-gradient(125deg,#182431e8,#1824319c),
    radial-gradient(560px 360px at var(--pointer-x,78%) var(--pointer-y,20%),#d998ae40,transparent 72%);
  box-shadow:var(--shadow)
}
.landing-logo {
  display:block;
  width:min(360px,100%);
  height:auto;
  margin-bottom:42px
}
.landing-cta {
  display:inline-block;
  margin-top:12px;
  text-decoration:none
}
.landing-example {
  align-self:center;
  padding:28px;
  border-top:2px solid var(--rose);
  background:var(--panel);
  box-shadow:var(--shadow)
}
.landing-example h2 {
  font-family:inherit;
  font-size:1.65rem;
  font-weight:650;
  line-height:1.18
}
.sidebar-toggle {
  position:fixed;
  z-index:15;
  top:13px;
  left:calc(var(--sidebar-width) - 24px);
  width:28px;
  min-height:28px;
  padding:0;
  border-radius:50%;
  border-color:var(--line);
  background:var(--panel)
}
.sidebar-resizer {
  position:fixed;
  z-index:16;
  top:0;
  bottom:0;
  left:calc(var(--sidebar-width) - 4px);
  width:8px;
  cursor:col-resize;
  touch-action:none
}
.sidebar-resizer::after {
  content:"";
  position:absolute;
  inset:0 3px;
  background:transparent;
  transition:background .14s ease
}
.sidebar-resizer:hover::after,.sidebar-resizer:focus-visible::after { background:var(--rose) }
.sidebar-resizer:focus-visible { outline:0 }
.app-shell:not(.anonymous):not(.boot-pending).sidebar-collapsed {
  grid-template-columns:0 minmax(0,1fr)
}
.app-shell:not(.anonymous):not(.boot-pending).sidebar-collapsed .sidebar {
  visibility:hidden;
  padding-inline:0;
  border:0
}
.app-shell:not(.anonymous):not(.boot-pending).sidebar-collapsed .sidebar-toggle {
  left:8px
}
.app-shell.sidebar-collapsed .sidebar-resizer,.app-shell.anonymous .sidebar-resizer,.app-shell.boot-pending .sidebar-resizer { display:none }
.modal-backdrop {
  position:fixed;
  inset:0;
  z-index:40;
  background:#05090d99
}
.modal {
  position:fixed;
  z-index:41;
  top:50%;
  left:50%;
  width:min(620px,calc(100vw - 30px));
  max-height:calc(100dvh - 32px);
  display:flex;
  flex-direction:column;
  transform:translate(-50%,-50%);
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  box-shadow:var(--shadow)
}
.modal .body {
  min-height:0;
  overflow:auto;
  padding:22px 24px
}
.modal footer {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:14px 24px 18px;
  border-top:1px solid var(--line)
}
input,textarea,select {
  padding:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--paper);
  color:var(--ink);
  font:inherit
}
.field {
  display:grid;
  gap:5px;
  margin:12px 0;
  color:var(--muted)
}
.modal .field input,.modal .field textarea,.modal .field select { width:100% }
.admin-layout {
  display:grid;
  grid-template-columns:185px minmax(0,1fr);
  gap:28px
}
.admin-nav {
  display:grid;
  align-content:start;
  gap:2px;
  padding-right:16px;
  border-right:1px solid var(--line)
}
.admin-nav button {
  text-align:left;
  color:var(--muted)
}
.admin-nav button[aria-current="page"] {
  border-left:2px solid var(--rose);
  background:var(--panel-2);
  color:var(--ink)
}
.panel {
  margin:14px 0;
  padding:18px;
  border:1px solid var(--line);
  background:var(--panel)
}
.columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px
}
.table-wrap {
  overflow:auto;
  border:1px solid var(--line)
}
table {
  width:100%;
  min-width:620px;
  border-collapse:collapse
}
th,td {
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top
}
th {
  background:var(--panel-2);
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:.07em
}
.record,.instruction-text {
  max-height:58vh;
  overflow:auto;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  padding:14px;
  background:var(--paper);
  border:1px solid var(--line)
}
.tabs {
  display:flex;
  gap:3px;
  overflow:auto;
  margin:16px 0;
  border-bottom:1px solid var(--line)
}
.tab {
  flex:none;
  border-radius:0;
  color:var(--muted)
}
.tab[aria-selected="true"] {
  border-bottom:2px solid var(--rose);
  color:var(--ink)
}
.skip {
  position:fixed;
  z-index:100;
  top:-100px;
  left:8px;
  padding:8px;
  background:var(--ink);
  color:var(--paper)
}
.skip:focus {
  top:8px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--rose);
  outline-offset:3px
}
@media (prefers-reduced-motion:no-preference) {
  html[data-motion="true"] .workspace,html[data-motion="true"] .landing,html[data-motion="true"] .study {
    transition:background .24s ease,box-shadow .24s ease
  }
  html[data-motion="true"] .composer,html[data-motion="true"] .landing-cta,html[data-motion="true"] .source-item {
    transition:transform .16s ease,background .16s ease,border-color .16s ease
  }
  html[data-motion="true"] .landing-cta:hover,html[data-motion="true"] .composer:focus-within {
    transform:translateY(-2px)
  }
}
@media (max-width:800px) {
  .app-shell {
    grid-template-columns:0 minmax(0,1fr)
  }
  /* The fixed mobile sidebar is outside grid flow. */
  .workspace {
    grid-column:1 / -1
  }
  .sidebar {
    position:fixed;
    z-index:20;
    inset:0 auto 0 0;
    width:min(88vw,330px);
    visibility:hidden;
    padding:24px 16px 14px;
    border-right:1px solid var(--line);
    box-shadow:var(--shadow);
    transform:translateX(-100%);
    transition:transform .18s ease,visibility 0s linear .18s
  }
  .app-shell:not(.anonymous):not(.boot-pending):not(.sidebar-collapsed) .sidebar {
    visibility:visible;
    transform:translateX(0);
    transition:transform .18s ease
  }
  .sidebar-toggle {
    z-index:21;
    left:8px
  }
  .sidebar-resizer { display:none }
  .topbar {
    padding:0 14px 0 50px
  }
  .topbar-brand {
    width:78px;
    margin-left:0
  }
  .top-actions {
    margin-left:auto;
    gap:6px
  }
  .top-actions #usage {
    display:none
  }
  #view {
    padding:27px 18px 58px
  }
  .landing {
    grid-template-columns:1fr;
    align-content:center;
    gap:30px
  }
  .landing-logo {
    width:260px;
    margin-bottom:28px
  }
  .landing-example {
    padding:20px
  }
  .conversation-head {
    display:block
  }
  .conversation-actions {
    margin-top:14px
  }
  .answer {
    font-size:1rem;
    line-height:1.72;
    text-align:start;
    hyphens:manual
  }
  .admin-layout {
    grid-template-columns:1fr;
    gap:16px
  }
  .admin-nav {
    display:flex;
    overflow:auto;
    padding:0 0 8px;
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .admin-nav button {
    white-space:nowrap
  }
  .columns {
    grid-template-columns:1fr
  }
  .modal {
    width:calc(100vw - 20px)
  }
  .source-toggle {
    top:64px
  }
  .study {
    min-height:100%;
    padding:24px 0
  }
  .conversation {
    min-height:0
  }
  .composer.sticky {
    margin-top:0
  }
}
@media (max-width:430px) {
  .top-actions .deployment-banner {
    display:none
  }
  .page-title {
    font-size:2rem
  }
  .composer-footer {
    align-items:start;
    flex-direction:column
  }
  .sources-list {
    width:min(300px,calc(100vw - 36px))
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important
  }
}
html[data-motion="false"] .workspace {
  background:linear-gradient(110deg,#101923 0%,#13212d 100%)
}
html[data-motion="false"] .landing,html[data-motion="false"] .study {
  background:var(--panel)
}
@media (forced-colors:active) {
  * {
    forced-color-adjust:auto
  }
  .citation {
    border-bottom-color:LinkText
  }
}

/* Student workspace: the reading area and composer share one column. */
main:has(.view-conversation) { display:flex;flex-direction:column;overflow:hidden }
#view.view-conversation { width:min(100%,1200px);height:auto;min-height:0;flex:1;padding:22px 36px max(12px,env(safe-area-inset-bottom)) }
#view.view-study { padding-bottom:28px }
.conversation-toolbar { display:flex;justify-content:flex-end;min-height:35px;flex-shrink:0;margin-bottom:10px;position:relative;z-index:10 }
.conversation .message:last-child { margin-bottom:0 }
.conversation-head { flex-shrink:0 }
.conversation-head>div { min-width:0;width:100% }
.conversation .page-title { font-size:clamp(2rem,3.2vw,2.5rem);text-wrap:pretty;letter-spacing:-.025em }
.study h1 { margin:0;text-wrap:balance }
.study .composer { margin:0 }
.composer:focus-within { border-color:var(--rose);box-shadow:0 0 0 1px #d998ae33,var(--shadow) }
.composer-footer { justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent) }
.primary:hover,.primary:focus-visible { border-color:var(--rose);background:#a12b4e;box-shadow:0 0 0 1px #d998ae40 }
.primary:active,.tool:active,.quiet:active,.icon-text:active,.tab:active { transform:translateY(1px) }
.tool:focus-visible,.quiet:focus-visible,.icon-text:focus-visible,.tab:focus-visible { border-color:var(--rose);background:var(--panel-2) }
.conversation-row:hover,.conversation-row:focus-visible { border-left-color:var(--rose);color:var(--ink) }
.sidebar>.deployment-banner { margin:0 7px 24px;font-size:.66rem;letter-spacing:.02em }
.answer h2,.answer h3,.answer-table-wrap,.answer li:has(>ul),.answer li:has(>ol) { text-align:start;hyphens:manual }
.answer h2,.answer h3 { text-wrap:pretty }
.answer-table-wrap td { overflow-wrap:break-word }
.answer-table-wrap th { letter-spacing:.02em }
.citation { line-height:1.55;text-decoration:none;hyphens:manual;transition:background .14s,border-color .14s }
.citation:hover,.citation:focus-visible { background:var(--wine);border-color:var(--rose);outline:2px solid transparent }
.citation:focus-visible { outline-color:var(--rose);outline-offset:2px }
.citation-source { white-space:normal }
.citation-fallback { border:0 }
.source-quote { color:var(--ink);line-height:1.8;white-space:pre-wrap }
.selected-article { padding-bottom:18px }
.selected-article+.selected-article { border-top:1px solid var(--line);padding-top:18px }
.selected-article p { margin:0 0 8px }
.source-external { display:inline-flex;color:var(--rose);margin-bottom:20px;text-underline-offset:4px }
.suggested-questions { display:grid;gap:6px }
.suggestion { display:flex;align-items:baseline;gap:14px;text-align:left;padding:10px 12px;border:1px solid transparent;border-bottom-color:color-mix(in srgb,var(--line) 55%,transparent);border-radius:4px }
.suggestion small { min-width:60px;color:var(--rose);font-size:.72rem }
.suggestion:hover,.suggestion:focus-visible { background:#22314099;border-color:var(--line) }
.suggestion span { text-wrap:pretty }
.quota-entry { display:grid;gap:4px;text-align:left;width:100%;padding:10px 7px;font-size:.84rem }
.quota-entry:hover { background:var(--panel-2) }
.quota-entry progress { width:100%;height:7px;accent-color:var(--rose) }
.profile-picture { width:30px;height:30px;border-radius:50%;object-fit:cover }
.profile-initial { display:grid;place-items:center;background:var(--panel-2) }
.account-menu { position:fixed;inset:60px 18px auto auto;margin:0;min-width:210px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow) }
.account-menu::backdrop { background:transparent }
.account-menu>strong { display:block;padding:6px 10px 12px;font-size:.85rem;color:var(--muted) }
.account-menu-item { display:block;width:100%;padding:9px 10px;border-radius:10px;text-align:left }
.account-menu-item:hover,.account-menu-item:focus-visible { background:var(--panel-2) }
.account-signout { border-top:1px solid var(--line);margin-top:5px }
.popover-fallback { z-index:45 }
.account-avatar { display:grid;width:64px;height:64px;border-radius:50%;object-fit:cover;font-size:1.8rem }
.usage-counts { display:flex;flex-wrap:wrap;gap:26px;margin:8px 0 22px }
.usage-counts dt { color:var(--muted);font-size:.84rem }
.usage-counts dd { margin:0;font-size:1.8rem;font-variant-numeric:tabular-nums }
.usage-chart { display:flex;align-items:flex-end;gap:4px;height:110px;margin:24px 0 10px;padding:10px 0;border-bottom:1px solid var(--line) }
.usage-bar { display:block;flex:1;min-width:4px;max-width:35px;height:max(2px,var(--bar-size,0%));background:var(--rose);border-radius:3px 3px 0 0 }
.usage-data { margin-top:16px }
.usage-data table { min-width:0 }
.usage-data summary { cursor:pointer;color:var(--muted) }
.form-status { color:var(--muted);min-height:1.5em;font-size:.85rem }
.form-status:empty { display:none }
.account-panel textarea { width:100%;resize:vertical }
.account-panel { display:grid;gap:16px }
.account-panel>.tabs { margin:0 }
.account-pane { display:grid;gap:16px }
.account-pane .field { margin:0 }
.account-pane input { width:100% }
.account-pane>.primary { justify-self:end;width:auto }
.modal-close { display:grid;place-items:center;width:38px;min-height:38px;padding:0;border-radius:50%;font-size:1.3rem;line-height:1 }
.modal-close:hover,.modal-close:focus-visible { background:var(--panel-2);border-color:var(--rose) }
.modal header h2 { margin:0;font-family:inherit;font-size:1.2rem;line-height:1.2 }
.copy-preview { position:fixed;left:-10000px;top:0;width:800px;pointer-events:none }
.thumb-icon { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block }
.thumb-down { transform:rotate(180deg) }
.feedback-button[aria-pressed="true"] { color:var(--rose);border-color:var(--rose) }
.message-tools .tool { min-width:36px;min-height:36px }
.export-options { display:grid;gap:8px }
.export-options a { text-decoration:none }
.export-options>* { text-align:left }
.export-format { display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-weight:650 }
.export-format:hover,.export-format:focus-visible { border-color:var(--rose);background:var(--panel-2) }
.export-md { border-left:3px solid #8fb4d8 }.export-docx { border-left:3px solid #7dace8 }.export-pdf { border-left:3px solid #e29ba8 }
.feedback-record { padding:20px 0;border-bottom:1px solid var(--line) }
.feedback-record h2 { margin:0 0 8px;font-size:1.1rem }
.feedback-actions { display:flex;gap:10px }
.audit-metrics { margin-top:24px;padding-top:16px;border-top:1px solid var(--line) }
.metrics-list { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;max-width:640px }
.metrics-list dt { color:var(--muted) }
.metrics-list dd { margin:0;font-variant-numeric:tabular-nums }
* { scrollbar-width:thin;scrollbar-color:#667789 transparent }
*::-webkit-scrollbar { width:10px;height:10px }
*::-webkit-scrollbar-track { background:transparent }
*::-webkit-scrollbar-thumb { background:#667789;border:3px solid transparent;border-radius:8px;background-clip:padding-box }
*::-webkit-scrollbar-thumb:hover { background-color:var(--rose) }
@media (max-width:800px) {
  #view.view-conversation { padding:14px 16px max(10px,env(safe-area-inset-bottom)) }
  .topbar #crumb { display:none }
  .composer-footer { align-items:flex-end }
  .conversation-body { margin-bottom:16px;padding-right:8px }
  .conversation-toolbar { margin-bottom:6px }
  .composer.sticky { padding:8px }
  .composer textarea { min-height:62px;max-height:24dvh }
  .suggestion { align-items:start;gap:8px }
  .suggestion small { min-width:52px }
  .answer-table-wrap table { min-width:0;width:100%;table-layout:auto }
}
@media (forced-colors:active) { * { scrollbar-color:auto }.citation { border:1px solid LinkText } }
