/* src/style.css */
@keyframes pulse {
  to {
    opacity: .25;
    transform: translateY(-.2rem);
  }
}
@keyframes source-panel-in {
  from {
    opacity: 0;
    transform: translateX(2rem);
  }
}
@keyframes modal-layer-in {
  from {
    opacity: 0;
  }
}
@keyframes auth-modal-in {
  from {
    opacity: 0;
    transform: translateY(.75rem) scale(.97);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  min-block-size: 100%;
}
button,
textarea {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
:root:not(#\#) {
  --ink: rgb(43, 55, 66);
  --navy: rgb(88, 107, 124);
  --navy-soft: rgb(108, 125, 139);
  --cream: white;
  --paper: white;
  --citation: rgb(0 61 106);
  --citation-hover: rgb(24, 90, 137);
  color: var(--ink);
  background: var(--navy);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-synthesis: none;
}
body:not(#\#) {
  overflow: hidden;
}
button:not(#\#) {
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  transition:
    color 150ms ease,
    background-color 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease,
    opacity 150ms ease,
    transform 150ms ease;
}
button:not(.citation):active:not(#\#) {
  transform: translateY(.06rem);
}
button:focus-visible:not(#\#),
a:focus-visible:not(#\#),
textarea:focus-visible:not(#\#) {
  outline: 2px solid rgb(51, 122, 176);
  outline-offset: 2px;
}
a:not(#\#) {
  transition:
    color 150ms ease,
    background-color 150ms ease,
    opacity 150ms ease;
}
svg:not(#\#) {
  display: block;
  inline-size: 1.25rem;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}
.shell:not(#\#):not(#\#) {
  display: grid;
  grid-template-columns: 17.5rem minmax(0, 1fr);
  block-size: 100dvb;
  overflow: hidden;
  background: var(--paper);
}
.shell.with-source:not(#\#):not(#\#) {
  grid-template-columns: 17.5rem minmax(25rem, 1fr) minmax(24rem, 32rem);
}
.sidebar:not(#\#):not(#\#) {
  z-index: 4;
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  padding: 1.4rem 1rem 1rem;
  color: var(--ink);
  background: rgb(218, 226, 234);
  border-inline-end: 1px solid rgb(187, 198, 207);
}
.brand-row:not(#\#):not(#\#) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: .45rem;
}
.brand:not(#\#):not(#\#) {
  display: flex;
  gap: .65rem;
  align-items: center;
  color: var(--ink);
  font-family: Georgia, serif;
  font-size: 1.25rem;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.brand:not(#\#):not(#\#) b {
  color: var(--navy);
  font-weight: 500;
}
.new-chat:not(#\#):not(#\#) {
  display: flex;
  gap: .65rem;
  align-items: center;
  justify-content: center;
  min-block-size: 2.85rem;
  margin-block: 1.7rem 1.6rem;
  color: white;
  background: var(--navy);
  border-radius: 2rem;
  box-shadow: 0 8px 24px rgba(0, 6, 18, 0.22);
  font-size: .9rem;
  font-weight: 600;
}
@media (color-gamut: p3) {
  .new-chat:not(#\#):not(#\#) {
    box-shadow: 0 8px 24px color(display-p3 0.00195 0.02157 0.07476 / 0.22);
  }
}
.new-chat:hover:not(#\#):not(#\#) {
  background: rgb(77, 96, 112);
}
.chat-list:not(#\#):not(#\#) {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .3rem;
  min-block-size: 0;
  overflow: auto;
}
.chat-list:not(#\#):not(#\#) > p {
  margin: 0 0 .45rem;
  padding-inline: .65rem;
  color: rgb(93, 107, 119);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.chat-list:not(#\#):not(#\#) button {
  display: grid;
  gap: .2rem;
  inline-size: 100%;
  padding: .7rem .75rem;
  border-radius: .7rem;
  text-align: start;
  transition: background-color 150ms ease, color 150ms ease;
}
.chat-list:not(#\#):not(#\#) button:hover {
  background: rgb(200, 211, 220);
}
.chat-list:not(#\#):not(#\#) button.active {
  background: rgb(188, 201, 213);
}
.chat-list:not(#\#):not(#\#) span {
  overflow: hidden;
  font-size: .86rem;
  font-weight: 580;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-list:not(#\#):not(#\#) small {
  color: rgb(104, 115, 125);
  font-size: .7rem;
}
.library-note:not(#\#):not(#\#) {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-block: 1rem .7rem;
  padding: .8rem;
  background: rgb(238, 235, 226);
  border: 1px solid rgb(187, 198, 207);
  border-radius: .75rem;
}
.library-note:not(#\#):not(#\#) div {
  grid-row: span 2;
  margin-inline-end: .65rem;
  color: var(--navy);
}
.library-note:not(#\#):not(#\#) strong {
  font-size: .76rem;
}
.library-note:not(#\#):not(#\#) span {
  margin-block-start: .16rem;
  color: rgb(104, 115, 125);
  font-size: .65rem;
}
.sidebar:not(#\#):not(#\#) footer {
  display: flex;
  gap: .3rem;
}
.sidebar:not(#\#):not(#\#) footer button {
  display: flex;
  flex: 1;
  gap: .4rem;
  align-items: center;
  justify-content: center;
  padding: .55rem;
  color: rgb(82, 95, 107);
  font-size: .71rem;
}
.sidebar:not(#\#):not(#\#) footer svg {
  inline-size: 1rem;
}
.conversation:not(#\#):not(#\#) {
  view-transition-name: conversation;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-inline-size: 0;
  min-block-size: 0;
  overflow: hidden;
  background: var(--paper);
}
.topbar:not(#\#):not(#\#) {
  display: flex;
  align-items: center;
  min-block-size: 4.65rem;
  padding-inline: 2rem;
  background: rgba(250, 252, 254, 0.92);
  border-block-end: 1px solid rgb(210, 216, 222);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.topic:not(#\#):not(#\#) {
  display: grid;
  gap: .2rem;
  min-inline-size: 0;
}
.topic:not(#\#):not(#\#) strong {
  overflow: hidden;
  font-family: Georgia, serif;
  font-size: 1rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.google-button:not(#\#):not(#\#) {
  display: flex;
  gap: .55rem;
  align-items: center;
  margin-inline-start: auto;
  padding: .55rem .85rem;
  background: white;
  border: 1px solid rgb(217, 211, 203);
  border-radius: .7rem;
  box-shadow: 0 2px 8px rgba(52, 44, 35, 0.06);
  font-size: .8rem;
  font-weight: 600;
}
.google-button:hover:not(#\#):not(#\#) {
  background: rgb(252, 248, 241);
  border-color: rgb(192, 182, 166);
  box-shadow: 0 .25rem .8rem rgba(52, 44, 35, 0.1);
}
.account:not(#\#):not(#\#) {
  display: flex;
  gap: .35rem;
  align-items: center;
  margin-inline-start: auto;
}
.account:not(#\#):not(#\#) .google-button {
  margin-inline-start: 0;
}
.account-menu:not(#\#):not(#\#) {
  inset: 4.2rem 2rem auto auto;
  min-inline-size: 12rem;
  margin: 0;
  padding: .45rem;
  background: white;
  border: 1px solid rgb(217, 211, 203);
  border-radius: .7rem;
  box-shadow: 0 .6rem 2rem rgba(56, 43, 29, 0.14);
  opacity: 0;
  transform: translateY(-.35rem) scale(.98);
  transition:
    display 150ms allow-discrete,
    overlay 150ms allow-discrete,
    opacity 150ms ease,
    transform 150ms ease;
}
.account-menu:popover-open:not(#\#):not(#\#) {
  opacity: 1;
  transform: none;
}
@starting-style {
  .account-menu:popover-open:not(#\#):not(#\#) {
    opacity: 0;
    transform: translateY(-.35rem) scale(.98);
  }
}
.account-menu:not(#\#):not(#\#) strong {
  display: block;
  overflow: hidden;
  padding: .45rem .55rem .6rem;
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-menu:not(#\#):not(#\#) button {
  display: flex;
  gap: .5rem;
  align-items: center;
  inline-size: 100%;
  padding: .55rem;
  border-radius: .45rem;
  font-size: .75rem;
  text-align: start;
}
.account-menu:not(#\#):not(#\#) button:hover {
  background: rgb(229, 236, 243);
}
.account-menu:not(#\#):not(#\#) svg {
  inline-size: 1rem;
}
.google-button:not(#\#):not(#\#) svg {
  inline-size: 1.05rem;
  stroke: none;
}
.user-chip:not(#\#):not(#\#) img,
.user-chip:not(#\#):not(#\#) i {
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border-radius: 50%;
}
.user-chip:not(#\#):not(#\#) img {
  object-fit: cover;
}
.user-chip:not(#\#):not(#\#) i {
  display: grid;
  place-items: center;
  background: rgb(212, 228, 241);
  color: rgb(48, 69, 86);
  font-style: normal;
}
.messages:not(#\#):not(#\#) {
  min-block-size: 0;
  overflow: auto;
  padding: 2.25rem max(1.5rem, calc((100% - 48rem) / 2)) 1rem;
  scroll-behavior: smooth;
}
.user-message:not(#\#):not(#\#) {
  display: flex;
  justify-content: flex-end;
  margin-block: 0 2.2rem;
}
.user-message:not(#\#):not(#\#) p {
  max-inline-size: 34rem;
  margin: 0;
  padding: .8rem 1.05rem;
  color: var(--cream);
  background: var(--navy-soft);
  border-radius: 1.15rem 1.15rem .25rem;
  font-size: .93rem;
  line-height: 1.55;
}
.answer:not(#\#):not(#\#) {
  margin-block-end: 2rem;
}
.answer-body:not(#\#):not(#\#) {
  max-inline-size: 44rem;
}
.answer-body:not(#\#):not(#\#) > p,
.answer-body:not(#\#):not(#\#) li,
.answer-body:not(#\#):not(#\#) blockquote {
  font-family: Georgia, serif;
  font-size: 1.03rem;
  line-height: 1.72;
}
.answer-body:not(#\#):not(#\#) > p {
  margin: 0 0 1rem;
}
.answer-body:not(#\#):not(#\#) h1,
.answer-body:not(#\#):not(#\#) h2,
.answer-body:not(#\#):not(#\#) h3,
.answer-body:not(#\#):not(#\#) h4 {
  margin: 1.5rem 0 .7rem;
  font-family: Georgia, serif;
  line-height: 1.25;
}
.answer-body:not(#\#):not(#\#) h1 {
  font-size: 1.45rem;
}
.answer-body:not(#\#):not(#\#) h2 {
  font-size: 1.28rem;
}
.answer-body:not(#\#):not(#\#) h3,
.answer-body:not(#\#):not(#\#) h4 {
  font-size: 1.12rem;
}
.answer-body:not(#\#):not(#\#) ul,
.answer-body:not(#\#):not(#\#) ol {
  margin: .4rem 0 1.15rem;
  padding-inline-start: 1.5rem;
}
.answer-body:not(#\#):not(#\#) li {
  margin-block: .3rem;
}
.answer-body:not(#\#):not(#\#) li > p {
  margin: 0;
}
.answer-body:not(#\#):not(#\#) blockquote {
  margin: 1rem 0;
  padding: .7rem 1rem;
  background: rgb(237, 242, 247);
  border-inline-start: 3px solid rgb(126, 146, 164);
}
.answer-body:not(#\#):not(#\#) pre {
  overflow: auto;
  padding: .85rem 1rem;
  background: rgb(222, 230, 236);
  border-radius: .6rem;
}
.answer-body:not(#\#):not(#\#) code {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Consolas,
    monospace;
  font-size: .86em;
}
.answer-body:not(#\#):not(#\#) :not(pre) > code {
  padding: .12rem .28rem;
  background: rgb(222, 230, 236);
  border-radius: .25rem;
}
.answer-body:not(#\#):not(#\#) a {
  color: rgb(24, 90, 137);
  text-decoration-thickness: .08em;
  text-underline-offset: .14em;
}
.answer-body:not(#\#):not(#\#) .citation {
  display: inline;
  padding: 0;
  color: var(--citation);
  background: none;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
  text-align: start;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.answer-body:not(#\#):not(#\#) .citation:hover {
  color: var(--citation-hover);
}
.markdown-table:not(#\#):not(#\#) {
  overflow: auto;
  margin-block: 1rem;
}
.markdown-table:not(#\#):not(#\#) table {
  inline-size: 100%;
  border-collapse: collapse;
}
.markdown-table:not(#\#):not(#\#) th,
.markdown-table:not(#\#):not(#\#) td {
  padding: .55rem .65rem;
  border: 1px solid rgb(211, 201, 185);
  text-align: start;
}
.source-list:not(#\#):not(#\#) {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-block: 1.4rem .9rem;
}
.source-list:not(#\#):not(#\#) > span {
  flex-basis: 100%;
  color: rgb(118, 106, 89);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.source-list:not(#\#):not(#\#) button {
  display: flex;
  gap: .5rem;
  align-items: center;
  max-inline-size: 18rem;
  padding: .42rem .6rem;
  background: white;
  border: 1px solid rgb(206, 213, 220);
  border-radius: 2rem;
  text-align: start;
  transition: border-color 160ms, background 160ms;
}
.source-list:not(#\#):not(#\#) button:hover {
  background: rgb(242, 246, 249);
  border-color: rgb(141, 161, 179);
}
.source-list:not(#\#):not(#\#) i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 1.4rem;
  block-size: 1.4rem;
  color: rgb(127, 82, 29);
  background: rgb(219, 230, 240);
  border-radius: 50%;
  font-size: .65rem;
  font-style: normal;
  font-weight: 700;
}
.source-list:not(#\#):not(#\#) button > span {
  display: flex;
  gap: .4rem;
  align-items: baseline;
  min-inline-size: 0;
}
.source-list:not(#\#):not(#\#) strong {
  overflow: hidden;
  font-family: Georgia, serif;
  font-size: .75rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.source-list:not(#\#):not(#\#) small {
  flex: 0 0 auto;
  color: rgb(125, 111, 95);
  font-size: .62rem;
}
.pending:not(#\#):not(#\#) {
  align-items: center;
}
.typing:not(#\#):not(#\#) {
  display: flex;
  gap: .25rem;
}
.typing:not(#\#):not(#\#) i {
  inline-size: .35rem;
  block-size: .35rem;
  background: rgb(124, 100, 73);
  border-radius: 50%;
  animation: pulse 900ms infinite alternate;
}
.typing:not(#\#):not(#\#) i:nth-child(2) {
  animation-delay: 180ms;
}
.typing:not(#\#):not(#\#) i:nth-child(3) {
  animation-delay: 360ms;
}
.composer-wrap:not(#\#):not(#\#) {
  padding: .8rem max(1.5rem, calc((100% - 48rem) / 2)) 1.2rem;
  background: linear-gradient(transparent, var(--paper) 22%);
}
.composer:not(#\#):not(#\#) {
  padding: .85rem 1rem .65rem;
  background: white;
  border: 1px solid rgb(171, 185, 199);
  border-radius: 1.35rem;
  box-shadow: 0 16px 40px rgba(11, 35, 59, 0.1);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}
.composer:focus-within:not(#\#):not(#\#) {
  border-color: rgb(158, 120, 78);
  box-shadow: 0 10px 35px rgba(100, 62, 14, 0.12);
}
.composer:not(#\#):not(#\#) textarea {
  display: block;
  resize: none;
  inline-size: 100%;
  min-block-size: 1.7rem;
  max-block-size: 10rem;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: .91rem;
  line-height: 1.6;
  transition: color 150ms ease;
}
.composer:not(#\#):not(#\#) textarea::placeholder {
  color: rgb(150, 142, 130);
  opacity: 1;
  transition: color 150ms ease, opacity 150ms ease;
}
.composer:not(#\#):not(#\#) textarea:focus::placeholder {
  opacity: .62;
}
.composer-actions:not(#\#):not(#\#) {
  display: flex;
  align-items: center;
  margin-block-start: .65rem;
}
.composer-actions:not(#\#):not(#\#) > span {
  color: rgb(143, 132, 118);
  font-size: .65rem;
}
.send:not(#\#):not(#\#) {
  display: grid;
  place-items: center;
  inline-size: 2.15rem;
  block-size: 2.15rem;
  margin-inline-start: auto;
  color: var(--cream);
  background: var(--navy);
  border-radius: 50%;
}
.send:hover:not(#\#):not(#\#) {
  background: rgb(67, 88, 106);
  box-shadow: 0 .3rem .9rem rgba(28, 48, 65, 0.18);
}
.send:not(#\#):not(#\#) svg {
  inline-size: 1rem;
}
.empty-state:not(#\#):not(#\#) {
  display: grid;
  place-items: center;
  max-inline-size: 40rem;
  margin: 9vh auto 0;
  margin: 9vb auto 0;
  text-align: center;
}
.empty-state:not(#\#):not(#\#) h1 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(1.7rem, 4vw, 2.3rem);
  font-size: clamp(1.7rem, 4vi, 2.3rem);
  font-weight: 500;
}
.empty-state:not(#\#):not(#\#) > p {
  max-inline-size: 31rem;
  margin: .8rem 0 1.8rem;
  color: rgb(116, 103, 86);
  line-height: 1.6;
}
.suggestions:not(#\#):not(#\#) {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: center;
}
.suggestions:not(#\#):not(#\#) button {
  padding: .7rem .9rem;
  background: transparent;
  border: 1px solid rgba(132, 155, 180, 0.4);
  border-radius: 2rem;
  font-family: Georgia, serif;
  font-size: .78rem;
  transition:
    background-color 150ms ease,
    border-color 150ms ease,
    transform 150ms ease;
}
.suggestions:not(#\#):not(#\#) button:hover {
  background: rgb(219, 230, 240);
  border-color: rgba(97, 119, 143, 0.55);
}
.source-panel:not(#\#):not(#\#) {
  z-index: 3;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-inline-size: 0;
  background: white;
  border-inline-start: 1px solid rgb(206, 213, 220);
  box-shadow: -12px 0 35px rgba(52, 44, 35, 0.06);
  animation: source-panel-in 220ms ease-out;
}
.source-panel:not(#\#):not(#\#) > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.25rem 1.25rem 1rem;
  background: white;
  border-block-end: 1px solid rgb(213, 220, 225);
}
.source-panel:not(#\#):not(#\#) header div {
  display: grid;
  gap: .3rem;
  min-inline-size: 0;
}
.source-panel:not(#\#):not(#\#) header span {
  color: rgb(126, 111, 91);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.source-panel:not(#\#):not(#\#) header strong {
  overflow: hidden;
  font-family: Georgia, serif;
  font-size: .95rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.icon-button:not(#\#):not(#\#) {
  display: grid;
  place-items: center;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  padding: 0;
  border-radius: .6rem;
}
.icon-button:hover:not(#\#):not(#\#) {
  background: rgb(232, 224, 211);
}
.source-meta:not(#\#):not(#\#) {
  display: flex;
  gap: .45rem;
  align-items: center;
  padding: .6rem 1rem;
  border-block-end: 1px solid rgb(221, 226, 230);
}
.source-meta:not(#\#):not(#\#) span {
  padding: .28rem .5rem;
  color: rgb(74, 87, 99);
  background: rgb(230, 236, 242);
  border-radius: .35rem;
  font-size: .65rem;
  font-weight: 600;
}
.source-meta:not(#\#):not(#\#) button {
  margin-inline-start: auto;
  color: rgb(114, 96, 74);
}
.source-meta:not(#\#):not(#\#) a {
  margin-inline-start: auto;
  color: rgb(114, 96, 74);
}
.source-meta:not(#\#):not(#\#) svg {
  inline-size: 1rem;
}
.document:not(#\#):not(#\#) {
  position: relative;
  min-block-size: 0;
  overflow: hidden;
  background: white;
}
.document:not(#\#):not(#\#) iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: 0;
  background: white;
  border: 0;
}
.text-preview:not(#\#):not(#\#) {
  overflow: auto;
  inline-size: 100%;
  block-size: 100%;
  margin: 0;
  padding: 2rem;
  background: white;
  font-family: Georgia, serif;
  font-size: .92rem;
  line-height: 1.7;
  white-space: pre-wrap;
}
.text-preview:not(#\#):not(#\#) mark {
  color: inherit;
  background: rgba(229, 215, 175, 0.65);
  border-radius: .12rem;
  scroll-margin-block: 40vh;
  scroll-margin-block: 40vb;
}
.page-number:not(#\#):not(#\#) {
  margin-block-end: 2.6rem;
  color: rgb(141, 133, 121);
  font-family: Georgia, serif;
  font-size: .7rem;
  text-align: center;
}
.document:not(#\#):not(#\#) h2 {
  margin: 0 0 1.8rem;
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
}
.document:not(#\#):not(#\#) p,
.document:not(#\#):not(#\#) mark {
  font-family: Georgia, serif;
  font-size: .92rem;
  line-height: 1.75;
}
.document:not(#\#):not(#\#) p {
  margin: 0 0 1.25rem;
  text-align: justify;
}
.document:not(#\#):not(#\#) blockquote {
  position: absolute;
  z-index: 1;
  inset: .75rem .75rem auto;
  max-block-size: 8rem;
  overflow: auto;
  margin: 0;
  padding: 1.7rem 1rem .75rem;
  background: rgba(250, 252, 254, 0.92);
  border: 1px solid rgb(193, 204, 214);
  border-radius: .55rem;
  box-shadow: 0 .35rem 1.2rem rgba(38, 47, 55, 0.1);
  -webkit-backdrop-filter: blur(.5rem);
  backdrop-filter: blur(.5rem);
  scroll-margin: 2rem;
}
.document:not(#\#):not(#\#) blockquote:only-child {
  margin-block-end: 0;
}
.document:not(#\#):not(#\#) blockquote i {
  position: absolute;
  inset-block-start: .55rem;
  inset-inline-start: 1.2rem;
  color: rgb(85, 101, 116);
  font-family:
    ui-sans-serif,
    system-ui,
    sans-serif;
  font-size: .58rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.document:not(#\#):not(#\#) mark {
  color: inherit;
  background: transparent;
}
.source-panel:not(#\#):not(#\#) > footer {
  display: flex;
  align-items: center;
  padding: .8rem 1.25rem;
  background: rgb(251, 248, 242);
  border-block-start: 1px solid rgb(219, 211, 198);
}
.source-panel:not(#\#):not(#\#) footer span {
  display: flex;
  gap: .45rem;
  align-items: center;
  color: rgb(126, 111, 91);
  font-size: .65rem;
}
.source-panel:not(#\#):not(#\#) footer svg {
  inline-size: .9rem;
}
.source-panel:not(#\#):not(#\#) footer a {
  margin-inline-start: auto;
  padding: .48rem .7rem;
  color: white;
  background: rgb(118, 74, 17);
  border-radius: .5rem;
  font-size: .68rem;
  font-weight: 600;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.mobile-menu:not(#\#):not(#\#),
.mobile-brand:not(#\#):not(#\#),
.close-menu:not(#\#):not(#\#),
.scrim:not(#\#):not(#\#) {
  display: none;
}
.modal-layer:not(#\#):not(#\#) {
  position: fixed;
  z-index: 10;
  display: grid;
  place-items: center;
  inset: 0;
  padding: 1rem;
  background: rgba(25, 16, 5, 0.42);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  animation: modal-layer-in 180ms ease-out;
}
.auth-modal:not(#\#):not(#\#) {
  position: relative;
  display: grid;
  inline-size: min(25rem, 100%);
  padding: 2.2rem;
  background: rgb(255, 253, 249);
  border: 1px solid rgb(222, 214, 201);
  border-radius: 1.25rem;
  box-shadow: 0 1.5rem 4rem rgba(31, 19, 6, 0.22);
  text-align: center;
  animation: auth-modal-in 220ms cubic-bezier(.2, .8, .2, 1);
}
.auth-close:not(#\#):not(#\#) {
  position: absolute;
  inset-block-start: .7rem;
  inset-inline-end: .7rem;
}
.auth-modal:not(#\#):not(#\#) h2 {
  margin: 1rem 0 .45rem;
  font-family: Georgia, serif;
  font-size: 1.45rem;
}
.auth-modal:not(#\#):not(#\#) > p {
  margin: 0 0 1.5rem;
  color: rgb(116, 103, 86);
  font-size: .82rem;
  line-height: 1.55;
}
.auth-google:not(#\#):not(#\#),
.guest-button:not(#\#):not(#\#) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-block-size: 2.8rem;
  border-radius: .7rem;
  font-size: .82rem;
  font-weight: 600;
}
.auth-google:not(#\#):not(#\#) {
  gap: .65rem;
  min-block-size: 2.8rem;
  background: white;
  border: 1px solid rgb(209, 201, 188);
  box-shadow: 0 2px 8px rgba(52, 44, 35, 0.06);
}
.auth-google:not(#\#):not(#\#) > div {
  margin-inline: auto;
}
.auth-google:not(#\#):not(#\#) svg {
  inline-size: 1.15rem;
  stroke: none;
}
.auth-divider:not(#\#):not(#\#) {
  display: flex;
  gap: .7rem;
  align-items: center;
  margin-block: .9rem;
  color: rgb(141, 133, 121);
  font-size: .65rem;
}
.auth-divider:not(#\#):not(#\#)::before,
.auth-divider:not(#\#):not(#\#)::after {
  flex: 1;
  block-size: 1px;
  background: rgb(224, 218, 208);
  content: "";
}
.guest-button:not(#\#):not(#\#) {
  background: rgb(240, 231, 214);
}
.guest-button:hover:not(#\#):not(#\#) {
  background: rgb(230, 217, 193);
}
.auth-modal:not(#\#):not(#\#) small {
  margin-block-start: 1rem;
  color: rgb(141, 133, 121);
  font-size: .6rem;
  line-height: 1.45;
}
.app-loading:not(#\#):not(#\#) {
  display: grid;
  gap: 1rem;
  place-content: center;
  place-items: center;
  block-size: 100dvb;
  color: rgb(116, 103, 86);
  font-size: .8rem;
}
.error-toast:not(#\#):not(#\#) {
  position: fixed;
  z-index: 8;
  inset-block-end: 7rem;
  inset-inline-start: 50%;
  max-inline-size: min(28rem, calc(100% - 2rem));
  padding: .7rem 1rem;
  color: rgb(251, 248, 241);
  background: rgb(133, 47, 40);
  border-radius: .65rem;
  box-shadow: 0 .5rem 1.5rem rgba(68, 36, 31, 0.18);
  font-size: .75rem;
  transform: translateX(-50%);
}
@media (max-width: 72rem) {
  .shell.with-source:not(#\#):not(#\#) {
    grid-template-columns: 15rem minmax(22rem, 1fr) minmax(22rem, 28rem);
  }
  .shell:not(#\#):not(#\#),
  .shell.with-source:not(#\#):not(#\#) {
    grid-template-columns: 15rem minmax(0, 1fr);
  }
  .shell.with-source:not(#\#):not(#\#) .source-panel {
    position: fixed;
    inset: 0 0 0 auto;
    inline-size: min(31rem, 86vw);
    inline-size: min(31rem, 86vi);
  }
}
@media (max-width: 48rem) {
  .shell:not(#\#):not(#\#),
  .shell.with-source:not(#\#):not(#\#) {
    grid-template-columns: minmax(0, 1fr);
  }
  .sidebar:not(#\#):not(#\#) {
    position: fixed;
    inset: 0 auto 0 0;
    inline-size: min(19rem, 86vw);
    inline-size: min(19rem, 86vi);
    transform: translateX(-105%);
    transition: transform 180ms ease;
  }
  .sidebar.open:not(#\#):not(#\#) {
    transform: none;
  }
  .scrim:not(#\#):not(#\#) {
    position: fixed;
    z-index: 3;
    display: block;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    background: rgba(17, 10, 3, 0.4);
  }
  .close-menu:not(#\#):not(#\#),
  .mobile-menu:not(#\#):not(#\#) {
    display: grid;
  }
  .topbar:not(#\#):not(#\#) {
    gap: .55rem;
    min-block-size: 4rem;
    padding-inline: .8rem;
  }
  .topic:not(#\#):not(#\#) {
    display: none;
  }
  .user-chip:not(#\#):not(#\#) span {
    display: none;
  }
  .account-menu:not(#\#):not(#\#) {
    inset: 3.7rem .8rem auto auto;
  }
  .mobile-brand:not(#\#):not(#\#) {
    display: block;
    color: rgb(59, 35, 0);
    font-family: Georgia, serif;
    -webkit-text-decoration: none;
    text-decoration: none;
  }
  @media (color-gamut: p3) {
    .mobile-brand:not(#\#):not(#\#) {
      color: color(display-p3 0.21697 0.14163 0.02521);
    }
  }
  .mobile-brand:not(#\#):not(#\#) span {
    color: rgb(134, 83, 20);
  }
  .google-button:not(#\#):not(#\#) {
    padding: .5rem;
  }
  .google-button:not(#\#):not(#\#) span {
    display: none;
  }
  .messages:not(#\#):not(#\#) {
    padding: 1.4rem 1rem .5rem;
  }
  .answer-body:not(#\#):not(#\#) > p {
    font-size: .98rem;
  }
  .composer-wrap:not(#\#):not(#\#) {
    padding: .6rem .75rem max(.5rem, env(safe-area-inset-bottom));
  }
  .composer-actions:not(#\#):not(#\#) > span,
  .disclaimer:not(#\#):not(#\#) {
    display: none;
  }
  .source-panel:not(#\#) {
    inline-size: 100% !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  *:not(#\#),
  *:not(#\#)::before,
  *:not(#\#)::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
  :not(#\#)::view-transition-old(conversation),
  :not(#\#)::view-transition-new(conversation) {
    animation: none !important;
  }
}
/*# sourceMappingURL=style.css.map */
