/* Nora is a persistent colleague in supported investigations. */
body.nora-enabled { padding-bottom:7rem; }
/* A modal is promoted above Nora's dock, so it can use the viewport rather
   than reserving dock space. This keeps the final-case controls reachable. */
body.nora-enabled dialog { max-height:calc(100dvh - 1rem); }
body.nora-enabled #chief-dialog { height:min(46rem,calc(100dvh - 1rem)); overflow:hidden; }
.demo-chief-chat-card { display:flex; flex-direction:column; height:100%; min-height:0; gap:.65rem; padding:clamp(.8rem,2vw,1.25rem); }
.demo-chief-header { display:flex; align-items:flex-start; justify-content:space-between; gap:.7rem; }
.demo-chief-header .chief-close { position:static; flex-shrink:0; margin:0; }
.demo-chief-chat-card > p { padding:0; }
.demo-chief-chat-card .chief-history { flex:1; min-height:4rem; max-height:none; margin:0; }
.demo-chief-chat-card #chief-form { flex-shrink:0; gap:.45rem; }
.demo-chief-chat-card select { display:block; width:100%; min-height:2.5rem; padding:.4rem .6rem; background:#10191a; border:1px solid var(--line); color:var(--paper); }
.demo-chief-chat-card select,.demo-chief-chat-card textarea { font-weight:400; line-height:1.45; }
.demo-chief-chat-card #chief-argument { min-height:4rem; max-height:7rem; resize:vertical; }
.demo-chief-chat-card .chief-status:empty { display:none; }
body.nora-enabled #iris-tablet-launcher,body.nora-enabled #chat-iris,body.nora-enabled #chat-iris-inline,body.nora-enabled #archive { display:none !important; }
#nora-companion { --nora-teal:#a7e6d6; --nora-ink:#102322; background:transparent; border:0; color:#f4f1e9; inset:auto .9rem .9rem auto; margin:0; max-width:calc(100vw - 1.8rem); overflow:visible; padding:0; position:fixed; width:24rem; z-index:100; font:400 .9rem/1.5 Arial,sans-serif; }
#nora-companion { pointer-events:none; }
.nora-panel,.nora-dock { pointer-events:auto; }
#nora-companion[hidden] { display:none !important; }
#nora-companion:popover-open { display:block; }
#nora-companion button,#nora-companion textarea { font:inherit; }
#nora-companion button { cursor:pointer; }
#nora-companion button:focus-visible,#nora-companion input:focus-visible,#nora-companion textarea:focus-visible { outline:3px solid #dfb976; outline-offset:3px; }
#nora-companion button:disabled { cursor:wait; opacity:.6; }
.nora-dock { align-items:center; background:#122827; border:1px solid #57776b; border-radius:3rem; box-shadow:0 .5rem 2rem #0009; color:#fff; display:flex; gap:.75rem; justify-self:end; margin-left:auto; padding:.35rem 1.1rem .35rem .35rem; text-align:left; }
.nora-dock img { border-radius:50%; height:3.4rem; object-fit:cover; object-position:50% 24%; width:3.4rem; }
.nora-dock strong,.nora-dock small { display:block; }
.nora-dock strong { font-size:.95rem; }
.nora-dock small { color:var(--nora-teal); font-size:.7rem; }
.nora-availability { width:.45rem; height:.45rem; background:#a7e6d6; border-radius:50%; display:inline-block; margin-right:.3rem; }
.nora-panel { background:linear-gradient(160deg,#1c3330,#111b1b 65%); border:1px solid #66877a; border-radius:1rem; box-shadow:0 1rem 4rem #000b; display:grid; grid-template-rows:auto minmax(0,1fr) auto; height:min(42rem,calc(100dvh - 7rem)); margin-bottom:.65rem; overflow:hidden; }
.nora-panel[hidden] { display:none; }
.nora-top,.nora-composer { background:#142523; min-width:0; }
.nora-header { align-items:center; background:#203a35; display:grid; gap:.8rem; grid-template-areas:"portrait identity help close"; grid-template-columns:auto minmax(0,1fr) auto auto; padding:1rem; }
.nora-header img { width:3.4rem; height:4.2rem; object-fit:cover; object-position:50% 20%; border-radius:.45rem; }
.nora-header img { grid-area:portrait; }
.nora-identity { grid-area:identity; min-width:0; }
.nora-header h2 { color:#f5f2e9; font:600 1.25rem/1.1 Georgia,serif; margin:0 0 .2rem; }
#nora-companion h2 { opacity:1; animation:none; transform:none; }
.nora-header p { color:var(--nora-teal); font-size:.75rem; margin:0; }
.nora-header-actions { grid-area:help; margin:0; flex-wrap:nowrap; }
.nora-header-actions button { white-space:nowrap; }
.nora-close { border:0; background:transparent; color:#fff; font-size:1.5rem !important; grid-area:close; margin:0; padding:.3rem .5rem; }
.nora-settings { padding:.65rem 1rem; border-top:1px solid #ffffff15; }
.nora-settings label { display:flex; font-weight:600; justify-content:space-between; }
.nora-settings input { accent-color:var(--nora-teal); display:block; margin:.65rem 0; padding:0; width:100%; }
.nora-settings p { color:#c5d7ce; font-size:.73rem; margin:.25rem 0 0; }
.nora-workspace { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:.85rem 1rem; }
.nora-welcome { color:#c5d7ce; font-size:.76rem; margin:0 0 .8rem; }
.nora-message { padding:.65rem .8rem; margin:.55rem 0; border-radius:.5rem; background:#ffffff08; white-space:pre-wrap; overflow-wrap:anywhere; }
.nora-message.detective { border-left:2px solid #be9e63; background:#352f2480; }
.nora-message small { color:var(--nora-teal); display:block; font-size:.65rem; font-weight:bold; margin-bottom:.25rem; text-transform:uppercase; letter-spacing:.08em; }
.nora-context,.nora-evidence { background:#a7e6d610; border:1px solid #a7e6d650; border-radius:.6rem; padding:.7rem; margin-bottom:.7rem; }
.nora-context { background:#d8b67512; border-color:#d8b67570; }
.nora-context p { color:#fff8e6; font:600 .9rem/1.35 Georgia,serif; margin:.2rem 0 0; }
.nora-context small { color:#e5c47e; font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; }
.nora-evidence p { margin:.2rem 0 .55rem; }
.nora-evidence small { color:var(--nora-teal); font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; }
.nora-actions { display:flex; flex-wrap:wrap; gap:.4rem; margin:.4rem 0 .7rem; }
.nora-actions button,.nora-evidence button { background:#1e3933; border:1px solid #648c7b; border-radius:.35rem; color:#e8f4ed; padding:.45rem .6rem; font-size:.75rem !important; text-align:left; }
.nora-toxicology-action { background:#1e3933; border:1px solid #82ded7; border-radius:.35rem; color:#e8f4ed; cursor:pointer; display:grid; font-size:.78rem; gap:.35rem; margin-top:.8rem; padding:.65rem .7rem; text-align:left; }
.nora-toxicology-action small { color:#82ded7; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.nora-toxicology-action span { color:#fff; font-size:.72rem; font-weight:700; }
.nora-toxicology-action:hover,.nora-toxicology-action:focus-visible { background:#285147; outline:2px solid #82ded7; outline-offset:2px; }
.nora-workspace summary { color:#c4ddcf; cursor:pointer; font-size:.78rem; padding:.35rem 0; }
#nora-form { display:grid; grid-template-columns:1fr auto; gap:.45rem; padding:.7rem 1rem .35rem; border-top:1px solid #ffffff18; }
#nora-question { background:#0e1c1b; border:1px solid #647c70; border-radius:.5rem; color:#fff; min-height:3.3rem; max-height:7rem; padding:.65rem; resize:vertical; width:100%; box-sizing:border-box; }
#nora-send { background:#b9dfce; border:0; border-radius:.5rem; color:#102a20; padding:.6rem .8rem; font-weight:bold !important; }
#nora-status { color:#dbd3b7; font-size:.75rem; margin:0; padding:0 1rem .6rem; }
#nora-status:empty { display:none; }
@media (max-width:600px) { #nora-companion { inset:auto .55rem .55rem auto; max-width:calc(100vw - 1.1rem); width:24rem; } .nora-panel { height:calc(100dvh - 6rem); } .nora-dock img { width:2.7rem; height:2.7rem; } #nora-question { font-size:16px !important; } .nora-header { padding:.7rem 1rem; } .nora-header img { height:3.1rem; width:2.5rem; } .nora-settings { padding:.5rem 1rem; } }
@media (max-width:420px) { .nora-header { grid-template-areas:"portrait identity close" "help help help"; grid-template-columns:auto minmax(0,1fr) auto; } .nora-header-actions { justify-self:start; } }
