/* Extend the portal's existing Livvy design and shared colour tokens. */
.livvy-v92 { height:calc(100dvh - 108px); min-height:650px; }
.livvy-v92 .livvy-shell { display:flex; flex-direction:column; }
.livvy-v92 .livvy-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px 18px 10px; background:var(--p-surface,#fff); }
.livvy-v92 .livvy-toolbar label { font-size:14px; font-weight:600; }
.livvy-v92 .livvy-toolbar select { min-width:200px; max-width:100%; min-height:42px; border:1px solid var(--p-divider,#d9e0ed); border-radius:9px; background:var(--p-surface,#fff); color:var(--p-text,#172033); padding:8px 30px 8px 10px; font:inherit; font-size:14px; }
.livvy-v92 .livvy-allowance { margin-left:auto; font-size:13px; color:var(--p-text-2,#475467); }
.livvy-v92 .livvy-toolbar .btn { font-size:13px; min-height:38px; }
.livvy-v92 .livvy-mode-hint { padding:0 18px 12px; font-size:14px; line-height:1.5; color:var(--p-text-2,#475467); border-bottom:1px solid var(--p-divider,#d9e0ed); }
.livvy-v92 .livvy-thread { flex:1; min-height:170px; }
.livvy-v92 .livvy-bubble { font-size:16px; max-width:100%; }
.livvy-v92 .livvy-message-label { font-size:12px; font-weight:650; margin-bottom:6px; opacity:.8; }
.livvy-v92 .livvy-body h3 { font-size:17px; line-height:1.4; margin:16px 0 8px; color:inherit; }
.livvy-v92 .livvy-body h3:first-child { margin-top:0; }
.livvy-v92 .livvy-body a, .livvy-v92 .livvy-sources a { color:var(--p-accent,#3157bf); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.livvy-v92 .mine .livvy-body a { color:inherit; }
.livvy-v92 .livvy-body code, .livvy-v92 .livvy-pre { font-size:14px; }
.livvy-v92 .livvy-pre code { padding:0; background:transparent; color:inherit; white-space:pre; }
.livvy-v92 .livvy-time { font-size:12px; }
.livvy-v92 .livvy-intro { max-width:680px; }
.livvy-v92 .livvy-intro > p { font-size:16px; }
.livvy-v92 .livvy-suggestion b { font-size:14px; }
.livvy-v92 .livvy-suggestion small { display:block; margin-top:4px; font-size:12px; font-weight:400; }
.livvy-v92 .livvy-caveat { font-size:13px !important; }
.livvy-v92 button:disabled, .livvy-v92 select:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.livvy-v92 button:focus-visible, .livvy-v92 select:focus-visible, .livvy-v92 a:focus-visible { outline:3px solid var(--p-accent,#3157bf); outline-offset:3px; }
.livvy-v92 .livvy-input-label { font-size:14px; font-weight:600; }
.livvy-v92 .livvy-composer-main textarea { font-size:16px; line-height:1.5; min-height:54px; max-height:160px; resize:vertical; }
.livvy-v92 .livvy-composer-main .btn { min-height:42px; font-size:14px; }
.livvy-v92 .livvy-hint { font-size:12px; line-height:1.5; }
.livvy-v92 .livvy-availability { padding:12px 18px; background:#edf3ff; color:#23437f; font-size:14px; line-height:1.5; border-bottom:1px solid #d7e5ff; }
.livvy-v92 .livvy-progress { align-self:flex-start; padding:10px 14px; font-size:14px; color:var(--p-text-2,#475467); }
.livvy-v92 .livvy-error b { font-size:14px; }
.livvy-v92 .livvy-error p { font-size:14px; }
.livvy-v92 .livvy-error .btn { margin-top:8px; }
.livvy-v92 .livvy-sources { margin-top:16px; padding-top:12px; border-top:1px solid var(--p-divider,#d9e0ed); font-size:14px; }
.livvy-v92 .livvy-sources ul { list-style:none; margin:8px 0 0; padding:0; display:grid; gap:7px; }
.livvy-v92 .livvy-note { font-size:13px; line-height:1.5; color:var(--p-text-2,#475467); margin:10px 0 0; }
.livvy-v92 .livvy-image { margin:14px 0 0; max-width:560px; }
.livvy-v92 .livvy-image img { display:block; width:100%; height:auto; border-radius:10px; background:#eef1f6; }
.livvy-v92 .livvy-image figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-top:10px; font-size:13px; }
.livvy-v92 .livvy-google-suggestions { display:block; width:100%; height:140px; border:0; margin-top:14px; background:#fff; }
.livvy-v92 .livvy-table-wrap { overflow-x:auto; max-width:100%; margin:12px 0; }
.livvy-v92 .livvy-table-wrap table { width:100%; border-collapse:collapse; font-size:14px; }
.livvy-v92 .livvy-table-wrap th, .livvy-v92 .livvy-table-wrap td { border:1px solid var(--p-divider,#d9e0ed); padding:8px; text-align:left; vertical-align:top; min-width:100px; }
.livvy-v92 .livvy-table-wrap th { background:var(--p-surface-2,#f4f6fa); }
@media(max-width:700px) {
  .livvy-v92 { height:auto; min-height:calc(100dvh - 90px); }
  .livvy-v92 .livvy-shell { min-height:580px; }
  .livvy-v92 .livvy-thread { max-height:62dvh; padding:18px 12px; }
  .livvy-v92 .livvy-toolbar { gap:8px; padding:12px; }
  .livvy-v92 .livvy-toolbar select { flex:1; min-width:150px; }
  .livvy-v92 .livvy-allowance { margin-left:0; flex:1; }
  .livvy-v92 .livvy-mode-hint { padding:0 12px 12px; }
  .livvy-v92 .livvy-row { gap:7px; }
  .livvy-v92 .livvy-avatar { width:26px; height:26px; }
  .livvy-v92 .livvy-bubble { padding:12px; }
  .livvy-v92 .livvy-suggestions { grid-template-columns:1fr; }
  .livvy-v92 .livvy-composer { padding:12px; }
  .livvy-v92 .page-hero { gap:12px; flex-wrap:wrap; }
}

.livvy-google{padding:20px;margin-bottom:20px}.livvy-google h2{margin:0 0 12px;font-size:20px}.livvy-google-row{display:flex;gap:12px;margin:8px 0}.livvy-google-row input{flex:1;min-width:0;border:1px solid #c8cddd;border-radius:10px;padding:12px 14px;font:inherit;background:#fff;color:#182033}.livvy-google small{color:#647084}.livvy-google-row input:focus-visible{outline:3px solid #716bff;outline-offset:2px}@media(max-width:600px){.livvy-google-row{flex-direction:column}.livvy-google-row button{width:100%}}
/* V99: viewport-fitted workspace, compact controls, separate search panel. */
.livvy-page.livvy-v92{min-height:0;height:calc(100dvh - 140px);gap:8px;overflow:hidden;font-size:14px}
.livvy-v92 .page-hero{flex:none;padding:0;margin:0;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.livvy-v92 .page-hero h1{font-size:24px;margin:0;line-height:1.2}.livvy-v92 .page-hero p{font-size:13px;margin:2px 0}.livvy-v92 .page-hero .eyebrow{display:none}
.livvy-tabs{display:flex;gap:8px;flex:none}.livvy-tabs .btn{padding:7px 14px;min-height:34px;font-size:14px}.livvy-tabs [aria-pressed=true]{background:#eeedff;border-color:#6960db;color:#4037a4}
.livvy-v92 .livvy-shell,.livvy-v92 .livvy-google-panel{flex:1;min-height:0;overflow:hidden;margin:0}
.livvy-v92 [hidden]{display:none!important}.livvy-google-panel iframe{display:block;width:100%;height:100%;border:0;background:white}
.livvy-v92 .livvy-toolbar{padding:8px 12px;gap:8px;flex:none}.livvy-v92 .livvy-toolbar select{min-height:34px;padding:5px 26px 5px 8px}.livvy-v92 .livvy-toolbar .btn{min-height:32px;padding:5px 10px}
.livvy-v92 .livvy-mode-hint{font-size:12px;padding:0 12px 7px;flex:none}.livvy-v92 .livvy-availability{padding:8px 12px;font-size:13px;flex:none}
.livvy-v92 .livvy-thread{min-height:0;max-height:none;overflow:auto;padding:12px;gap:12px;flex:1}
.livvy-v92 .livvy-row{gap:8px}.livvy-v92 .livvy-avatar{width:28px;height:28px;flex:0 0 28px}.livvy-v92 .livvy-bubble{font-size:14px;line-height:1.5;padding:10px 12px;max-width:100%}.livvy-v92 .livvy-body p{margin:0 0 8px}.livvy-v92 .livvy-body h3{font-size:16px;margin:10px 0 6px}
.livvy-v92 .livvy-intro{padding:8px 0;max-width:700px}.livvy-v92 .livvy-intro-mark{display:none}.livvy-v92 .livvy-intro h2{font-size:19px}.livvy-v92 .livvy-intro>p{font-size:14px;margin-bottom:10px}.livvy-v92 .livvy-suggestions{gap:8px}.livvy-v92 .livvy-suggestion{padding:10px;min-height:0}.livvy-v92 .livvy-caveat{margin:8px 0 0}
.livvy-v92 .livvy-composer{flex:none;padding:8px 12px;gap:4px}.livvy-v92 .livvy-composer-main{padding:6px;gap:8px}.livvy-v92 .livvy-composer-main textarea{font-size:16px;min-height:40px;max-height:100px;line-height:1.4}.livvy-v92 .livvy-input-label{font-size:12px}.livvy-v92 .livvy-hint{font-size:11px}
@media(max-width:700px){.livvy-v92 .page-hero h1{font-size:22px}.livvy-v92 .page-hero p{display:none}.livvy-v92 .livvy-toolbar select{min-width:120px}.livvy-v92 .livvy-suggestions{grid-template-columns:1fr 1fr}.livvy-v92 .livvy-toolbar .livvy-allowance{font-size:12px}.livvy-v92 .livvy-thread{padding:10px}}

/* V100: compact Google search, results in a separate browser tab. */
.livvy-google-quick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none;margin:0}.livvy-google-quick label{font-size:13px;font-weight:600}.livvy-google-quick input{flex:1;min-width:120px;padding:8px 10px;border:1px solid #c8cddd;border-radius:8px;font:inherit;font-size:16px}.livvy-google-quick .btn{min-height:34px;padding:7px 12px;font-size:13px}.livvy-google-quick small{font-size:11px;color:#647084}.livvy-google-quick input:focus-visible{outline:3px solid #716bff;outline-offset:2px}@media(max-width:700px){.livvy-google-quick small{flex-basis:100%}.livvy-google-quick label{display:none}}

/* V101: give conversation space priority; avoid shared hero decoration. */
.livvy-page.livvy-v92{min-height:680px;overflow:visible;gap:12px}
.livvy-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:0 2px}
.livvy-heading h1{font-size:24px;line-height:1.25;margin:0}.livvy-heading p{font-size:14px;line-height:1.5;margin:4px 0 0;color:#647084}.livvy-heading .eyebrow{display:none}
.livvy-heading .btn{font-size:13px;min-height:36px;padding:8px 12px}
.livvy-search-drawer{flex:none;border:1px solid #dbe0eb;border-radius:10px;background:white;padding:10px 14px}.livvy-search-drawer summary{font-size:14px;font-weight:600;cursor:pointer}.livvy-search-drawer[open] .livvy-google-quick{margin-top:10px}
.livvy-v92 .livvy-shell{min-height:550px;flex:1}.livvy-v92 .livvy-thread{min-height:300px;padding:18px 20px;gap:16px}
.livvy-v92 .livvy-toolbar{padding:12px 16px;gap:10px}.livvy-v92 .livvy-mode-hint{padding:0 16px 10px;font-size:13px}
.livvy-v92 .livvy-bubble{font-size:15px;line-height:1.6;padding:14px 16px}.livvy-v92 .livvy-row{max-width:min(900px,100%)}
.livvy-v92 .livvy-composer{padding:12px 16px}.livvy-v92 .livvy-composer-main textarea{min-height:46px}.livvy-v92 .livvy-hint{font-size:12px}
@media(max-width:700px){.livvy-page.livvy-v92{min-height:680px}.livvy-heading{flex-wrap:wrap;gap:8px}.livvy-heading h1{font-size:22px}.livvy-v92 .livvy-thread{padding:14px 12px}.livvy-v92 .livvy-bubble{padding:12px}.livvy-v92 .livvy-toolbar{padding:10px 12px}}
