/* Penn conversation workspace. All colors come from Gentoo's shared tokens. */
.session-state [data-session-label] { width:auto;height:auto;background:none; }
.output-tools { padding:4px 0 12px;margin-bottom:10px;border-bottom:1px solid var(--gl-border); }
.output-tools > span { display:block;margin-bottom:8px;color:var(--gl-brand-grey);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.output-tools > div { display:flex;gap:6px;flex-wrap:wrap; }
.output-tools button,.document-actions button { min-height:34px;padding:7px 11px;border:1px solid var(--gl-border);border-radius:999px;background:var(--gl-brand-paper);color:var(--gl-brand-strong);font:inherit;font-size:12px;cursor:pointer; }
.output-tools button:hover,.document-actions button:hover { border-color:var(--gl-brand);background:var(--gl-brand-soft); }
.output-tools button:focus-visible,.document-actions button:focus-visible,.gentoo-followup:focus-visible { outline:3px solid var(--gl-brand);outline-offset:2px; }
.output-tools button:disabled,.document-actions button:disabled { opacity:.5;cursor:wait; }
.penn-document { padding:22px;border:1px solid var(--gl-border);border-radius:18px;background:var(--gl-brand-paper);color:var(--gl-brand-strong); }
.penn-document h3 { font-size:23px;margin:0 0 12px; }
.penn-document h4 { margin:20px 0 8px;font-size:14px; }
.penn-document p,.penn-document li { font-size:13px;line-height:1.65; }
.penn-document ul { padding-left:18px; }
.penn-document li + li { margin-top:7px; }
.penn-document details { margin-top:18px;border-top:1px solid var(--gl-border);padding-top:15px; }
.penn-document summary { cursor:pointer;font-size:12px;font-weight:700; }
.penn-investment { margin-top:18px;padding:18px;border-left:3px solid var(--gl-brand);background:var(--gl-surface); }
.penn-investment > strong { display:block;font-size:18px;margin-bottom:8px; }
.document-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:20px; }
.document-library { padding:20px 0;border-bottom:1px solid color-mix(in srgb,var(--gl-surface) 20%,transparent); }
.document-library label { display:block;font-size:12px;font-weight:700;margin-bottom:10px; }
.document-library select { width:100%;min-height:40px;padding:8px;border-radius:8px;color:var(--gl-brand-strong);background:var(--gl-surface); }
.document-library button,.gentoo-followup { margin-top:12px;padding:10px 14px;min-height:40px;border:1px solid var(--gl-brand);border-radius:10px;background:var(--gl-brand-soft);color:var(--gl-brand-strong);font:inherit;font-size:12px;font-weight:700;cursor:pointer; }
.document-library p { margin:10px 0 0;font-size:11px;line-height:1.6; }
.penn-error { padding:14px;border:1px solid var(--gl-border);border-radius:10px;background:var(--gl-brand-paper); }
.penn-error button { padding:9px 14px;border:0;border-radius:8px;background:var(--gl-brand-strong);color:var(--gl-surface);cursor:pointer; }
.document-status { color:var(--gl-brand-grey); }
.penn-thinking { color:var(--gl-brand-grey); }
@media(max-width:560px) {
  .penn-document { padding:15px; }
  .output-tools button { font-size:11px;padding:6px 9px;min-height:44px;min-width:44px; }
  .document-actions button,.document-library button,.gentoo-followup { min-height:44px; }
  .conversation { max-height:calc(100dvh - 330px); }
  .composer-footer > span { max-width:200px; }
}
