/* Verum Frontier shell — chrome, text-tab lenses, docked inspect, chat. No CDN. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../static/fonts/Inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

html,body.vf{height:100%;margin:0;overflow:hidden;background:#080a09;color:#edf1eb;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
body.vf{display:flex;flex-direction:column;min-height:100dvh}

.vf .skip{position:absolute;left:-9999px;top:auto}
.vf .skip:focus{left:12px;top:12px;z-index:100;background:#101511;padding:8px 12px;border:1px solid #4a554d}

/* —— Chrome —— */
.vf-top{flex:0 0 auto;border-bottom:1px solid #1f2621;background:linear-gradient(180deg,#0d100e 0%,#080a09 100%);padding:10px 14px 0;z-index:5}
.vf-top__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:nowrap;padding-bottom:6px;min-width:0}
.vf-mark{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#edf1eb;min-width:0;flex:0 0 auto}
.vf-mark__word{font-weight:600;font-size:1.05rem;letter-spacing:-.02em;line-height:1.1}
.vf-mark__sub{font-size:.72rem;font-weight:500;color:#a0aaa3;letter-spacing:.01em}
.vf-data{margin:0;font-size:.7rem;color:#8a948d;font-variant-numeric:tabular-nums;text-align:right;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
.vf-data__short{display:none}
.vf-data__full{display:inline}

/* —— Lens strip: quiet text tabs (not pills) —— */
.vf-lenses{display:flex;gap:0;overflow-x:auto;padding:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-bottom:1px solid #1f2621}
.vf-lenses::-webkit-scrollbar{height:3px}
.vf-lens{flex:0 0 auto;appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:#8a948d;font:500 .8rem/1.2 Inter,system-ui,sans-serif;padding:10px 12px 9px;border-radius:0;cursor:pointer;white-space:nowrap;margin-bottom:-1px;transition:color .15s,border-color .15s,text-shadow .15s}
.vf-lens:hover{color:#edf1eb}
.vf-lens[aria-pressed="true"]{color:#c3dec0;border-bottom-color:#c3dec0;text-shadow:0 0 18px rgba(195,222,192,.35)}
.vf-lens:focus-visible{outline:2px solid #c3dec0;outline-offset:2px}
.vf-lens-q{margin:0;padding:10px 2px 12px;font-size:.78rem;line-height:1.45;color:#a0aaa3;min-height:1.45em}
.vf-lens-q:empty{display:none}

/* —— Shell grid —— */
.vf-shell{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);min-height:0;overflow:hidden}
.vf-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:8px 12px 10px}
.vf-cmd-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}
.vf-rail-hidden,.vf-finding{display:none!important}
.vf-controls{flex:0 0 auto;margin-bottom:6px}
.vf-controls .ctl{gap:6px}
.vf-main .stage{flex:1 1 auto;min-width:0;min-height:0;margin:0;display:flex;flex-direction:column}
.vf-main .stage__box{flex:1 1 auto;min-height:220px;height:auto!important;border:1px solid #1f2621;border-radius:10px;overflow:hidden;background:#080a09;box-shadow:inset 0 0 40px rgba(195,222,192,.03);position:relative}
.vf-main .stage__cv{width:100%;height:100%;display:block;touch-action:none}
.vf-main .showing{flex:0 0 auto;margin:6px 0 0;font-size:.72rem;color:#8a948d}
.vf-hint{margin:4px 0 0;font-size:.68rem;color:#5d665f}

/* —— Chat rail —— */
.vf-chat{display:flex;flex-direction:column;border-left:1px solid #1f2621;background:#0d100e;min-height:0;min-width:0}
.vf-chat__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #1f2621}
.vf-chat__title{margin:0;font:600 .85rem/1 Inter,system-ui,sans-serif;color:#edf1eb;letter-spacing:-.01em}
.vf-chat__toggle{display:none;appearance:none;border:1px solid #303832;background:#101511;color:#c3dec0;font:500 .75rem/1 Inter,system-ui,sans-serif;padding:7px 10px;border-radius:6px;cursor:pointer}
.vf-chat__body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.vf-thread{flex:1 1 auto;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.vf-msg{max-width:100%;font-size:.8rem;line-height:1.45;border-radius:8px;padding:9px 11px;border:1px solid #1f2621}
.vf-msg--user{align-self:flex-end;background:#18201a;border-color:#303832;color:#edf1eb}
.vf-msg--system{align-self:stretch;background:transparent;border-style:dashed;color:#a0aaa3;font-size:.74rem}
.vf-msg--answer{align-self:stretch;background:#101511;color:#dfe5dd}
.vf-msg--answer b{display:block;font-size:.68rem;font-weight:600;letter-spacing:.02em;color:#8a948d;margin:0 0 4px}
.vf-msg--answer .vf-block + .vf-block{margin-top:10px;padding-top:10px;border-top:1px solid #1f2621}
.vf-msg--scope{align-self:stretch;background:#0d1511;border-color:#2a4034;color:#c3dec0;font-size:.74rem}
.vf-lens{display:flex;gap:8px;padding:10px 12px 0;flex:0 0 auto}
.vf-lens__in{flex:1 1 auto;min-width:0;appearance:none;border:1px solid #303832;background:#080a09;color:#edf1eb;border-radius:8px;padding:10px 12px;font:400 .85rem/1.2 Inter,system-ui,sans-serif}
.vf-lens__in::placeholder{color:#5d665f}
.vf-lens__in:focus{outline:none;border-color:#4a554d;box-shadow:0 0 0 2px rgba(226,176,154,.2)}
.vf-lens__go{flex:0 0 auto;appearance:none;border:1px solid #e2b09a;background:transparent;color:#e2b09a;font:600 .8rem/1 Inter,system-ui,sans-serif;padding:0 14px;border-radius:8px;cursor:pointer}
.vf-lens__out{margin:8px 12px 0;padding:8px;border:1px solid #303832;border-radius:10px;background:#080a09;max-height:280px;overflow:auto}
.vf-lens__out[hidden]{display:none}
.vf-lens__spec{margin:0 0 6px;font-size:.68rem;color:#8a948d}
.vf-lens__svg{width:100%;height:auto;display:block}
.vf-lens__card{margin-top:6px}
.vf-lens__make{appearance:none;border:1px solid #e2b09a;background:#e2b09a;color:#14110f;font:600 .75rem/1 Inter,system-ui,sans-serif;padding:6px 10px;border-radius:8px;cursor:pointer}
.vf-ask{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #1f2621;flex:0 0 auto}
.vf-ask__in{flex:1 1 auto;min-width:0;appearance:none;border:1px solid #303832;background:#080a09;color:#edf1eb;border-radius:8px;padding:10px 12px;font:400 .85rem/1.2 Inter,system-ui,sans-serif}
.vf-ask__in::placeholder{color:#5d665f}
.vf-ask__in:focus{outline:none;border-color:#4a554d;box-shadow:0 0 0 2px rgba(195,222,192,.12)}
.vf-ask__go{flex:0 0 auto;appearance:none;border:1px solid #c3dec0;background:#c3dec0;color:#0d100e;font:600 .8rem/1 Inter,system-ui,sans-serif;padding:0 14px;border-radius:8px;cursor:pointer}
.vf-ask__go:hover{filter:brightness(1.05)}
.vf-chat__credit{margin:0;padding:0 12px 10px;font-size:.65rem;color:#5d665f}

@media (max-width:820px){
  body.vf{overflow:hidden;height:100dvh}
  .vf-shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
  .vf-main{min-height:0;padding:6px 8px 4px}
  .vf-hint,.vf-main .showing{display:none}
  .vf-controls{margin-bottom:4px}
  .vf-controls .ctl span{display:none}
  .vf-main .stage__box{min-height:0;border-radius:8px}
  .vf-chat{border-left:0;border-top:1px solid #1f2621;max-height:38dvh}
  .vf-chat.is-collapsed{max-height:none}
  .vf-chat.is-collapsed .vf-chat__body{display:none}
  .vf-chat__toggle{display:inline-flex}
  .vf-data__full{display:none}
  .vf-data__short{display:inline}
  .vf-top__row{gap:8px;padding-bottom:4px}
  .vf-top{padding:8px 10px 0}
  .vf-lens{padding:8px 10px 7px;font-size:.74rem}
  .vf-lens-q{padding:8px 2px 10px;font-size:.72rem}
}
@media (max-width:420px){
  .vf-mark__sub{display:none}
  .vf-main .stage__box{border-radius:8px}
}
@media (min-width:1280px){
  .vf-shell{grid-template-columns:minmax(0,1fr) 360px}
  .vf-top{padding-left:18px;padding-right:18px}
}

/* —— Applied lens chip —— */
.vf-msg--lens,.vf-chip{align-self:stretch;background:#0d1511;border-color:#2a4034;color:#c3dec0;font-size:.74rem;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.vf-chip__tag{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8a948d}
.vf-chip__gaps{color:#a0aaa3;font-size:.7rem}

/* —— Ontology gap tags in answers —— */
.vf-block--twin .vf-gap{margin:0 0 6px;line-height:1.4}
.vf-block--twin .vf-gap:last-child{margin-bottom:0}
.vf-gap-tag{display:inline-block;font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:.62rem;font-weight:500;color:#8a948d;background:#080a09;border:1px solid #1f2621;border-radius:4px;padding:1px 5px;vertical-align:baseline;letter-spacing:0}
.vf-gap__plain{color:#dfe5dd}

/* —— Demand queue (under Perspective) —— */
.vf-demand{flex:0 0 auto;border-top:1px solid #1f2621;background:#0a0c0b;max-height:42%;display:flex;flex-direction:column;min-height:0}
.vf-demand__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid #1f2621}
.vf-demand__title{margin:0;font:600 .78rem/1 Inter,system-ui,sans-serif;color:#edf1eb;letter-spacing:-.01em}
.vf-demand__toggle{appearance:none;border:1px solid #303832;background:#101511;color:#a0aaa3;font:500 .68rem/1 Inter,system-ui,sans-serif;padding:5px 8px;border-radius:5px;cursor:pointer}
.vf-demand__toggle:hover{color:#edf1eb}
.vf-demand__body{overflow:auto;padding:8px 12px 10px;min-height:0}
.vf-demand__body[hidden]{display:none!important}
.vf-demand__hint{margin:0 0 8px;font-size:.65rem;color:#5d665f;line-height:1.35}
.vf-demand__empty{margin:0;font-size:.72rem;color:#8a948d}
.vf-demand__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.vf-demand__row{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 8px;padding:7px 8px;border:1px solid #1f2621;border-radius:7px;background:#0d100e}
.vf-demand__rank{grid-row:1 / span 2;align-self:center;font:600 .65rem/1 "JetBrains Mono",ui-monospace,monospace;color:#c3dec0;opacity:.85}
.vf-demand__label{font-size:.74rem;color:#edf1eb;line-height:1.3}
.vf-demand__meta{font-size:.65rem;color:#8a948d;grid-column:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width:820px){
  .vf-demand{max-height:28%}
  .vf-chat:not(.is-collapsed){max-height:48dvh}
  .vf-chat .vf-thread{max-height:22dvh}
}

/* ===================================================== Verum v3 (entity-first OSINT UX) */
/* —— Fixed selection toolbar: history, selection, ± degree, actions. Never overlapped by the panel. —— */
.vf-tool{flex:0 0 auto;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:6px 8px;margin:0 0 6px;border:1px solid #1f2621;border-radius:9px;background:#0d100e;min-height:40px;position:relative;z-index:7}
.vf-tool__nav{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.vf-tool__pos{font:500 .66rem/1 "JetBrains Mono",ui-monospace,monospace;color:#5d665f;min-width:2.4em}
.vf-tool__sel{flex:1 1 180px;min-width:0;font-size:.76rem;color:#dfe5dd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-tool__sel b{font-weight:600;color:#edf1eb}
.vf-tool__none{color:#8a948d}
.vf-tool__hint{color:#5d665f}
.vf-tool__deg{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.vf-tool__deg button{appearance:none;padding:6px 9px;font:500 .72rem/1 Inter,system-ui,sans-serif;background:#101511;border:1px solid #303832;border-radius:6px;color:#edf1eb;cursor:pointer;white-space:nowrap}
.vf-tool__deg button:hover:not(:disabled){border-color:#4a554d}
.vf-tool__deg button:disabled{opacity:.38;cursor:default}
.vf-tool__deg .stage__degn{font-size:.7rem;color:#a0aaa3;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
.vf-tool__deg .stage__degn:empty{display:none}
.vf-tool__acts{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.vtb{appearance:none;display:inline-flex;align-items:center;gap:4px;padding:6px 9px;font:500 .72rem/1 Inter,system-ui,sans-serif;background:#101511;border:1px solid #303832;border-radius:6px;color:#dfe5dd;cursor:pointer;white-space:nowrap}
.vtb:hover:not(:disabled){border-color:#4a554d;color:#edf1eb}
.vtb:disabled{opacity:.38;cursor:default}
.vtb:focus-visible,.vf-pbtn:focus-visible,.kc:focus-visible,.kb:focus-visible{outline:2px solid #c3dec0;outline-offset:1px}
.vtb--icon{padding:6px 8px}
.vtb--primary:not(:disabled){background:#c3dec0;border-color:#c3dec0;color:#0d100e;font-weight:600}
.vtb[aria-pressed="true"]{border-color:#c3dec0;color:#c3dec0}
.vf-tool__view{display:none}
.vf-controls .ctl>span{font-size:.68rem;color:#8a948d}

/* —— Stage + docked profile panel —— */
.vf-stagewrap{flex:1 1 auto;display:flex;gap:8px;min-height:0;min-width:0;position:relative}
.vf-main .panel{
  display:none;position:relative;flex:0 0 340px;width:340px;max-width:44%;margin:0!important;
  overflow:auto;padding:0 12px 12px!important;border:1px solid #303832!important;border-radius:10px!important;
  background:#0d100e!important;box-shadow:none;z-index:6;max-height:none;scrollbar-width:thin
}
.vf-main .panel.is-open{display:block}
.vf-main .panel.is-collapsed{flex-basis:44px;width:44px;overflow:hidden;padding:0!important}
.vf-main .panel.is-collapsed #panel-body,.vf-main .panel.is-collapsed .vf-panel-title,.vf-main .panel.is-collapsed #panel-back,.vf-main .panel.is-collapsed #panel-pin,.vf-main .panel.is-collapsed .panel__x{display:none}
.vf-main .panel.is-collapsed .vf-panel-bar{flex-direction:column;justify-content:flex-start;padding:8px 4px;border:0}
.vf-main .panel.is-collapsed #panel-collapse{writing-mode:vertical-rl;padding:10px 5px}
.vf-panel-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:4px;margin:0 -12px 8px;padding:8px 10px;background:#0d100e;border-bottom:1px solid #1f2621}
.vf-panel-title{flex:1 1 auto;min-width:0;font-size:.74rem;color:#edf1eb;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-panel-title span{font-weight:500;color:#8a948d;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}
.vf-pbtn,.vf-panel-collapse{appearance:none;flex:0 0 auto;border:1px solid #303832;background:#101511;color:#a0aaa3;font:500 .68rem/1 Inter,system-ui,sans-serif;padding:5px 7px;border-radius:5px;cursor:pointer;white-space:nowrap}
.vf-pbtn:hover:not(:disabled),.vf-panel-collapse:hover{color:#edf1eb;border-color:#4a554d}
.vf-pbtn:disabled{opacity:.38;cursor:default}
.vf-pbtn[aria-pressed="true"]{border-color:#d6b879;color:#d6b879}
.vf-main .panel__x{float:none;margin:0;font-size:17px;padding:2px 6px;color:#a0aaa3}
.vf-main .panel__x:hover{color:#edf1eb}
.vf-main .panel__list{max-height:180px}

/* panel content */
.pp{display:flex;align-items:center;gap:10px;margin:2px 0 6px}
.pp__who{display:flex;flex-direction:column;gap:2px;min-width:0}
.pp__who b{font-size:.98rem;line-height:1.2;color:#edf1eb}
.pp__who>span:last-child{font-size:.72rem;color:#8a948d}
.av{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:50%;overflow:hidden;background:#101511}
.av--org{border-radius:9px}
.av__mono{position:absolute;inset:0;display:grid;place-items:center;border:1.5px solid #4a554d;border-radius:inherit;font:600 .9rem/1 Inter,system-ui,sans-serif;letter-spacing:.02em;background:#101511}
.av__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;background:#fff}
.av--org .av__img{object-fit:contain;background:#f4f4f2}
.av.has-img .av__mono{visibility:hidden}
.etype{display:inline-block;align-self:flex-start;font:600 .58rem/1 Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;border-radius:4px;border:1px solid #303832;color:#cfd6cd;background:#101511}
.etype--organization{color:#e0c59a;border-color:#4d4330}
.etype--fund{color:#c0afdb;border-color:#41394f}
.etype--school{color:#a2c3dc;border-color:#33434f}
.vf-tool__sel .etype{vertical-align:1px;margin-right:2px}
.pgroup{margin:14px 0 4px;padding:6px 0 0;border-top:1px solid #303832;font:600 .66rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#c3dec0}
.psrc{margin:6px 0 2px;font-size:.68rem;line-height:1.45;color:#8a948d}
.psrc b{color:#dfe5dd;font-weight:600}
.srcl{margin:0 0 4px;font-size:.64rem;color:#8a948d;line-height:1.4}
.srcb{display:inline-block;font:600 .55rem/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#d6b879;border:1px solid #4d4330;border-radius:3px;padding:2px 4px;margin-right:2px;font-style:normal;vertical-align:1px}
.psec{margin:0 0 4px}
.panel__acts button.is-primary{background:#c3dec0;color:#0d100e;border-color:#c3dec0;font-weight:600}

/* —— Compact key (always visible, no long list) —— */
.vf-key{flex:0 0 auto;margin:6px 0 0;padding:6px 8px;border:1px solid #1f2621;border-radius:9px;background:#0b0d0c;font-size:.7rem;color:#a0aaa3}
.key__head{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin:0 0 5px}
.key__t{font:600 .6rem/1 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#5d665f;flex:0 0 auto}
.key__t .srcb{margin-left:4px;text-transform:uppercase}
.vf-key .seg{padding:2px;gap:2px}
.vf-key .seg button{padding:4px 8px;font:500 .68rem/1 Inter,system-ui,sans-serif;border:0;border-radius:5px;background:transparent;color:#8a948d;cursor:pointer}
.vf-key .seg button[aria-pressed="true"]{background:#c3dec0;color:#0d100e}
.key__dist{flex:1 1 120px;display:flex;height:8px;min-width:80px;border-radius:4px;overflow:hidden;background:#1f2621}
.key__dist i{display:block;height:100%;min-width:2px}
.key__dist i.is-off{opacity:.18}
.key__acts{display:flex;gap:3px;flex:0 0 auto}
.kb{appearance:none;border:1px solid #303832;background:#101511;color:#a0aaa3;font:500 .64rem/1 Inter,system-ui,sans-serif;padding:4px 7px;border-radius:5px;cursor:pointer}
.kb:hover{color:#edf1eb;border-color:#4a554d}
.kb--reset{border-color:#4d4330;color:#d6b879}
.key__grid,.key__chips{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.key__grid{grid-template-columns:repeat(auto-fill,minmax(134px,1fr));margin-bottom:5px}
.key__row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.key__chips{display:flex;flex-wrap:wrap;gap:3px;margin-right:6px}
.kc{appearance:none;position:relative;display:flex;align-items:center;gap:5px;width:100%;padding:4px 6px 6px;border:1px solid #1f2621;border-radius:6px;background:#0d100e;color:#dfe5dd;font:500 .68rem/1.1 Inter,system-ui,sans-serif;cursor:pointer;text-align:left;overflow:hidden}
.key__chips .kc{width:auto;padding:4px 6px}
.kc:hover{border-color:#4a554d}
.kc.is-off{opacity:.4}
.kc.is-off .kc__l{text-decoration:line-through;text-decoration-color:#5d665f}
.kc__sw{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#8a948d}
.kc__sw--hollow{background:transparent;border:1.5px solid #a0aaa3;width:8px;height:8px}
.kc__sw--gap{background:transparent;border:1.5px dashed #e07a6a;width:8px;height:8px}
.kc__sh{flex:0 0 auto;width:10px;height:10px;background:var(--sw,#8a948d)}
.kc__sh--person{border-radius:50%}
.kc__sh--organization{border-radius:2px}
.kc__sh--fund{transform:rotate(45deg) scale(.82);border-radius:1px}
.kc__sh--school{background:transparent;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--sw,#8a948d)}
.kc__ln{flex:0 0 auto;width:16px;height:0}
.kc__l{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.key__chips .kc__l{flex:0 1 auto}
.kc__n{flex:0 0 auto;font-weight:600;font-variant-numeric:tabular-nums;color:#edf1eb}
.kc__bar{position:absolute;left:6px;right:6px;bottom:2px;height:2px;background:#161b17;border-radius:1px;overflow:hidden}
.kc__bar i{display:block;height:100%}
.kc__only{display:none;flex:0 0 auto;font-size:.58rem;color:#c3dec0;border:1px solid #2a4034;border-radius:3px;padding:1px 3px}
.kc:hover .kc__only,.kc:focus-visible .kc__only{display:inline-block}
.kc:hover .kc__n{display:none}
.vf-sources{flex:0 0 auto;margin:5px 0 0;font-size:.66rem;line-height:1.4;color:#8a948d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-sources:empty{display:none}
.vf-sources b{font-weight:600;color:#d6b879;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;margin-right:4px}

/* —— Ask mode + Send an agent —— */
.vf-ask__mode{margin:-4px 12px 6px;font-size:.64rem;color:#5d665f;min-height:1em}
.vf-ask__mode:empty{display:none}
.vf-ask__mode.is-offline{color:#d6b879}
.vf-ask__mode.is-online{color:#c3dec0}
.vf-block--skip{color:#d6b879}
.vf-send{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:4px}
.vf-demand__row .vf-send{grid-column:2}
.vf-send__btn{appearance:none;border:1px solid #2a4034;background:#0d1511;color:#c3dec0;font:500 .64rem/1 Inter,system-ui,sans-serif;padding:4px 7px;border-radius:5px;cursor:pointer}
.vf-send__btn:hover:not(:disabled){border-color:#c3dec0}
.vf-send__btn:disabled{opacity:.5;cursor:wait}
.vf-send__rcpt{appearance:none;border:0;background:transparent;padding:0;font:400 .62rem/1.35 "JetBrains Mono",ui-monospace,monospace;color:#8a948d;text-align:left;cursor:pointer}
.vf-send__rcpt[hidden]{display:none}
.vf-send__rcpt[data-status="dispatched"]{color:#a2c3dc}
.vf-send__rcpt[data-status="resolved"]{color:#c3dec0}
.vf-send__rcpt[data-status="rejected"],.vf-send__rcpt[data-err]{color:#e07a6a}
.vf-send__rcpt[data-status="unknown"]{color:#d6b879}

@media (max-width:820px){
  .vf-tool{gap:4px 6px;padding:4px 5px;margin-bottom:4px}
  .vf-tool__sel{order:5;flex:1 1 100%;font-size:.7rem}
  .vf-tool__hint{display:none}
  .vf-tool__deg button,.vtb{padding:6px 7px;font-size:.68rem}
  .vf-tool__deg .stage__degn{max-width:90px}
  .vf-tool__view{display:inline-flex}
  #tool-panel{display:none}
  .vf-controls{display:none}
  .vf-controls.is-open{display:flex}
  .vf-stagewrap{display:block}
  .vf-main .stage{height:100%}
  .vf-main .panel{position:absolute;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:58%;flex:none;border-radius:12px 12px 8px 8px!important;box-shadow:0 -10px 30px rgba(0,0,0,.55);background:rgba(13,16,14,.98)!important}
  .vf-main .panel.is-collapsed{width:auto;max-height:42px;padding:0 12px!important}
  .vf-main .panel.is-collapsed .vf-panel-bar{flex-direction:row;padding:7px 10px;border-bottom:0}
  .vf-main .panel.is-collapsed .vf-panel-title,.vf-main .panel.is-collapsed .panel__x{display:block}
  .vf-main .panel.is-collapsed #panel-collapse{writing-mode:horizontal-tb;padding:5px 7px}
  .vf-key{padding:4px 5px;margin-top:4px}
  .key__head{gap:4px 6px;margin-bottom:3px}
  .key__head>.key__t{display:none}
  .key__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-bottom:3px}
  .kc{padding:3px 4px 5px;font-size:.6rem;gap:3px}
  .kc__only{display:none!important}
  .kc:hover .kc__n{display:inline}
  .key__row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px}
  .key__row::-webkit-scrollbar{display:none}
  .key__chips{flex-wrap:nowrap}
  .key__chips .kc{white-space:nowrap}
  .vf-sources{display:none}
}
/* desktop vertical budget: one-line caption / hint, one-row controls */
.vf-main .showing{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.vf-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-controls{gap:6px 12px;flex-wrap:wrap}
.vf-controls .seg button{padding:4px 8px;font-size:.7rem}
.vf-main .stage__box{min-height:160px}
.vf-controls .ctl{gap:4px}
.vf-controls .ctl>span{font-size:.6rem;letter-spacing:.04em}
@media (min-width:821px){
  .vf-controls{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .vf-controls::-webkit-scrollbar{display:none}
  .vf-controls .ctl{flex:0 0 auto}
  .vf-tool{flex-wrap:nowrap}
  .vf-tool__sel{flex:1 1 0}
  .vf-tool__deg .stage__degn{max-width:170px}
}
@media (min-width:821px) and (max-height:900px){ .vf-hint{display:none} .vf-lens-q{padding:6px 2px 8px} }
@media (max-width:820px){ .vf-tool__sel{flex:1 1 120px;order:5} }
.vf-main .stage__hover{width:max-content;max-width:min(280px,calc(100% - 12px))}

/* —— Verum v3.1: WebGL layer, generic research profile, gaps as elements, live updates —— */
.stage__gl{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;border-radius:inherit}
.srcq{display:block;margin-top:2px;font:400 10.5px var(--mono,ui-monospace,monospace);color:#6f7a72;line-height:1.4}
.srcq a{color:#8a948d;text-decoration:underline;text-decoration-color:rgba(138,148,141,.35)}
.srcq a:hover{color:#dfe5dd}
.prows--twin li q{display:block;margin:3px 0 1px;padding-left:8px;border-left:2px solid #2a332d;color:#b9c2ba;font-size:12px;line-height:1.45;quotes:none}
.prows--twin li.is-hi{background:rgba(150,200,190,.08);outline:1px solid rgba(150,200,190,.35);outline-offset:2px;border-radius:4px}
.prows--twin li.is-ev q{border-left-color:#96c8be;color:#e6ece5}
.prows--gaps li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.prows--gaps li>b{flex:1 1 100%;font-weight:500}
#pn-gaps.is-hi .psec{outline:1px solid rgba(224,197,154,.5);outline-offset:3px;border-radius:6px}
.twin-none{margin:4px 0 8px}
.newmark{margin-left:6px;padding:0 6px;border-radius:9px;border:1px solid rgba(150,220,200,.5);color:#96dcc8;font-size:.62rem;font-weight:600;letter-spacing:.02em}
.live-pill{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border-radius:16px;background:rgba(8,10,9,.92);border:1px solid rgba(150,220,200,.45);color:#cfe9e1;font-size:12px}
.live-pill[hidden]{display:none}
.live-pill button{border:1px solid rgba(150,220,200,.45);background:transparent;color:#96dcc8;border-radius:12px;padding:2px 10px;font:inherit;cursor:pointer}
.prows--twin li q.q--lead{border-left-color:#3a463e;color:#dfe5dd;font-size:12.5px;margin-top:0}
/* v3.2: Sources menu (source-specific lenses out of the primary row) */
.vf-lens--menu{color:#7d877f}
.vf-lens--menu[aria-expanded="true"]{color:#edf1eb}
.vf-lensmenu{position:fixed;z-index:60;background:#111613;border:1px solid #2a332d;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.5);padding:4px;display:flex;flex-direction:column}
.vf-lensmenu[hidden]{display:none}
.vf-lens--item{text-align:left;border-bottom:0;border-radius:6px;padding:9px 10px;white-space:normal}
.vf-lens--item:hover{background:#18201b}
.vf-lens--item[aria-pressed="true"]{border-bottom:0;background:#18201b}
.twd b{font-weight:600}

/* Verum v3.3: object-level taxonomy in panels and key */
.rchips { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 2px 0; }
.rchip { --rc: #8a948d; display: inline-flex; align-items: center; gap: 4px; padding: 1px 7px 1px 6px; border-radius: 9px; font-size: 11.5px; line-height: 18px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-left: 3px solid var(--rc); color: #dfe5df; white-space: nowrap; }
.rchip--past { opacity: 0.72; border-left-style: dotted; }
.rchip i { font-style: normal; color: #9aa59d; font-size: 10.5px; }
.rchip .pf { font-size: 11.5px; padding: 0 3px; }
.prows--roles li > span { display: block; }
.tconf { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 8px; font-size: 10.5px; line-height: 16px; letter-spacing: .02em;
  color: #c9d1cb; border: 1px solid rgba(201,209,203,0.35); vertical-align: 1px; }
.tconf--high { color: #9fe0b0; border-color: rgba(159,224,176,0.45); }
.tconf--med { color: #e6d39a; border-color: rgba(230,211,154,0.4); }
.tconf--low { color: #c9b8a0; border-color: rgba(201,184,160,0.35); }
.tconf--inferred { color: #f3b8a8; border: 1px dashed rgba(243,184,168,0.7); }
.colr--rs { margin-left: 6px; }
.tags--depth dd .vf-gap-tag { margin-left: 4px; }
/* v3.4 Demand: server queue + offline section + per-gap server receipts */
.vf-demand__sec{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.vf-demand__sub{margin:0;font-size:.7rem;color:#b9c2bb;line-height:1.35}
.vf-demand__sub b{color:#edf1eb;font-weight:600}
.vf-demand__when{color:#6f7a72}
.vf-demand__more{margin:0;font-size:.65rem;color:#8a948d}
.vf-demand__sec--offline .vf-demand__sub{color:#d6b879}
.vf-demand__sec--offline .vf-demand__sub b{color:#e8c98a}
.vf-demand__st{grid-row:1 / span 2;align-self:center;font:600 .58rem/1 "JetBrains Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em;padding:3px 5px;border-radius:5px;border:1px solid #2a332d;color:#c9d2cb}
.vf-demand__st--pending{color:#d6b879;border-color:rgba(214,184,121,.4)}
.vf-demand__st--dispatched{color:#a2c3dc;border-color:rgba(162,195,220,.4)}
.vf-demand__st--resolved{color:#c3dec0;border-color:rgba(195,222,192,.4)}
.vf-demand__row--srv .vf-demand__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-gaprc{font:400 .62rem/1.35 "JetBrains Mono",ui-monospace,monospace;color:#8a948d}
.vf-gaprc[data-status="dispatched"]{color:#a2c3dc}
.vf-gaprc[data-status="resolved"]{color:#c3dec0}
.vf-gaprc[data-status="offline"]{color:#d6b879}
.vf-gaprc[data-status="rejected"]{color:#e07a6a}
.tags__note--second{display:block;opacity:.72;font-size:.92em;margin-top:2px}
.prows--products{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.prows--products li{display:flex;flex-direction:column}
.prows--products li span{color:#8a948d;font-size:.92em}
.vf-ask__via{display:inline-block;margin:0 0 4px;padding:1px 6px;border:1px solid rgba(138,148,141,.45);border-radius:9px;font-size:.78em;color:#8a948d;letter-spacing:.02em}

/* —— v3.4 rail = the chat: no Perspective header, thread fills, Demand is a compact row, Ask pinned at the bottom —— */
.vf-chat__head{display:none}
.vf-chat__body{height:100%}
.vf-thread:not(:empty) + .vf-chat__empty{display:none}
.vf-chat__empty{flex:0 0 auto;padding:0 12px 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.vf-chat__empty p{margin:0 0 2px;width:100%;font-size:.72rem;color:#8a948d}
.vf-try{appearance:none;border:1px solid #2a4034;background:#0d1511;color:#c3dec0;font:500 .72rem/1.2 Inter,system-ui,sans-serif;padding:6px 9px;border-radius:14px;cursor:pointer}
.vf-try:hover{border-color:#4a6a56;color:#edf1eb}
.vf-demand{max-height:none;border-top:1px solid #1f2621}
.vf-demand.is-open{max-height:55%}
button.vf-demand__head{appearance:none;width:100%;border:0;border-bottom:1px solid transparent;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:8px 12px;display:flex;align-items:center;gap:8px}
.vf-demand.is-open button.vf-demand__head{border-bottom-color:#1f2621}
button.vf-demand__head:hover .vf-demand__chev{color:#edf1eb}
.vf-demand__count{flex:1 1 auto;min-width:0;font-size:.7rem;color:#a0aaa3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vf-demand__chev{flex:0 0 auto;font-size:.66rem;color:#8a948d;border:1px solid #303832;border-radius:5px;padding:3px 7px}
.vf-ask__mode{margin:0;padding:0 12px 8px;font-size:.66rem;color:#8a948d}
.vf-ask__mode:empty{display:none}
.vf-ctx{flex:0 0 auto;margin:3px 0 0;font-size:.68rem;color:#6f7a72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.vf-ctx.is-open{white-space:normal}
.vf-ctx:empty{display:none}

@media (max-width:820px){
  /* the rail becomes a bottom sheet: collapsed it is a handle plus the Ask input; open it holds the thread and Demand */
  .vf-shell{grid-template-rows:minmax(0,1fr)}
  .vf-main{padding-bottom:calc(108px + env(safe-area-inset-bottom, 0px))}
  .vf-ctx{display:none}
  .vf-chat,.vf-chat:not(.is-collapsed){position:fixed;left:0;right:0;bottom:0;z-index:30;max-height:72dvh;border-top:1px solid #303832;border-radius:14px 14px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.45);padding-bottom:env(safe-area-inset-bottom, 0px)}
  .vf-chat.is-collapsed{max-height:none}
  .vf-chat__head{display:block;padding:0;border-bottom:1px solid #1f2621}
  .vf-chat__toggle{display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:14px 14px 0 0;background:transparent;padding:10px 14px 8px;position:relative}
  .vf-chat__grip{position:absolute;left:50%;top:4px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:#3a443d}
  .vf-chat__tl{font-weight:600;color:#edf1eb}
  .vf-chat__badge{margin-left:auto;font-size:.68rem;color:#a0aaa3}
  .vf-chat__body{height:auto;min-height:0}
  .vf-chat.is-collapsed .vf-chat__body{display:flex}
  .vf-chat.is-collapsed .vf-thread,.vf-chat.is-collapsed .vf-chat__empty,.vf-chat.is-collapsed .vf-demand,.vf-chat.is-collapsed .vf-ask__mode,.vf-chat.is-collapsed .vf-lens,.vf-chat.is-collapsed .vf-lens__out{display:none}
  .vf-chat:not(.is-collapsed) .vf-thread{max-height:none;min-height:18dvh}
  .vf-demand.is-open{max-height:34dvh}
  .vf-ask{padding:8px 10px}
}

/* —— v3.4 floating key card (corner pill), condensed view controls —— */
.vf-keybtn{position:absolute;left:10px;bottom:10px;z-index:5;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:16px;border:1px solid #303832;background:rgba(13,16,14,.92);color:#edf1eb;font:600 .72rem/1 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.vf-keybtn:hover,.vf-keybtn.is-open{border-color:#c3dec0}
.vf-keybtn__sw{width:10px;height:10px;border-radius:50%;background:conic-gradient(#e8836b 0 25%,#c3dec0 0 50%,#8fb5d9 0 75%,#d6b879 0)}
.vf-keybtn__mode{font-weight:500;color:#a0aaa3}
.vf-keycard{position:absolute;left:10px;bottom:46px;z-index:6;width:min(460px,calc(100% - 20px));max-height:calc(100% - 60px);overflow:auto;padding:8px 10px 10px;border:1px solid #303832;border-radius:12px;background:rgba(11,13,12,.97);box-shadow:0 12px 34px rgba(0,0,0,.5);scrollbar-width:thin}
.vf-keycard[hidden]{display:none}
.vf-keycard__top{display:flex;align-items:baseline;gap:8px;margin:0 0 6px}
.vf-keycard__top b{font-size:.78rem;color:#edf1eb}
.vf-keycard__sub{flex:1 1 auto;font-size:.64rem;color:#6f7a72}
.vf-keycard__x{appearance:none;border:0;background:transparent;color:#a0aaa3;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 2px}
.vf-keycard .vf-key{margin:0;padding:0;border:0;background:transparent}
.vf-keycard .key__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.vf-keycard .vf-controls{display:flex;flex-wrap:wrap;gap:6px 10px;margin:8px 0 0;padding-top:8px;border-top:1px solid #1f2621}
.vf-keycard .vf-controls .ctl{flex:0 0 auto}
.vf-main .vf-key{margin:0}

/* —— v3.4 hover preview card —— */
.vf-main .stage__hover{max-width:min(290px,calc(100% - 12px));padding:9px 11px;border-radius:10px;border-color:#303832;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.stage__hover.is-touch{pointer-events:auto;cursor:pointer}
.hv{display:flex;gap:9px;align-items:center;margin:0 0 6px}
.hv .av{flex:0 0 auto;width:34px;height:34px}
.hv__t{min-width:0;display:flex;flex-direction:column}
.stage__hover .hv__t b{font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage__hover .hv__r{font-size:11.5px;color:#c3dec0}
.hv__ties{list-style:none;margin:0 0 5px;padding:0;font-size:11.5px;color:#dfe5dd}
.hv__ties li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv__ties i{font-style:normal;color:#8a948d}
.hv__none{margin:0 0 5px;font-size:11.5px;color:#8a948d}
.hv__f{margin:0;font-size:11px;color:#8a948d}
.hv__go{margin:3px 0 0;font-size:10.5px;color:#6f7a72}

/* —— v3.4 view trail (breadcrumbs beside Back / Forward) —— */
.vf-tool__sel{flex:0 1 200px}
.vf-trail{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:6px}
.vf-trail__br{flex:0 0 auto;max-width:130px;appearance:none;border:1px solid #303832;background:#101511;color:#a0aaa3;font:500 .66rem/1 Inter,system-ui,sans-serif;padding:4px 6px;border-radius:5px}
.vf-trail__br[hidden]{display:none}
.vf-trail__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.vf-trail__list::-webkit-scrollbar{display:none}
.vf-crumb{display:inline-flex;align-items:center;flex:0 0 auto}
.vf-crumb + .vf-crumb::before{content:"›";color:#3f4943;padding:0 3px;font-size:.72rem}
.vf-crumb__b{appearance:none;border:0;background:transparent;color:#8a948d;font:500 .68rem/1.2 Inter,system-ui,sans-serif;padding:3px 5px;border-radius:5px;cursor:pointer;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vf-crumb__b:hover{color:#edf1eb;background:#141a16}
.vf-crumb--ask .vf-crumb__b{color:#a2c3dc}
.vf-crumb.is-cur .vf-crumb__b{color:#0d100e;background:#c3dec0;font-weight:600}
.vf-crumb__m{appearance:none;border:1px solid #303832;background:#101511;color:#c3dec0;font:600 .7rem/1 Inter,system-ui,sans-serif;padding:2px 6px;margin-left:3px;border-radius:5px;cursor:pointer}
.vf-trail__in{width:150px;appearance:none;border:1px solid #4a554d;background:#080a09;color:#edf1eb;font:500 .68rem/1.2 Inter,system-ui,sans-serif;padding:3px 5px;border-radius:5px}
.vf-trail__note{flex:0 0 auto;font-size:.64rem;color:#c3dec0}
.vf-trail__note:empty{display:none}
.vf-trail__menu{position:fixed;z-index:80;display:flex;flex-direction:column;min-width:190px;padding:4px;border:1px solid #303832;border-radius:8px;background:#111613;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.vf-trail__menu button{appearance:none;border:0;background:transparent;color:#dfe5dd;text-align:left;font:500 .74rem/1.2 Inter,system-ui,sans-serif;padding:7px 9px;border-radius:5px;cursor:pointer}
.vf-trail__menu button:hover,.vf-trail__menu button:focus-visible{background:#1a221d;outline:none}

@media (max-width:820px){
  .vf-trail{order:6;flex:1 1 100%}
  .vf-crumb__b{max-width:120px}
  .vf-keybtn{left:8px;bottom:8px}
  .vf-keycard{left:6px;right:6px;bottom:42px;width:auto;max-height:calc(100% - 52px)}
  .vf-keycard .key__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vf-keycard .vf-controls{display:flex}
  .vf-keycard .vf-controls .ctl span{display:inline}
}
/* two-row toolbar: Back / Forward + view trail on top, selection · degree · actions below */
.vf-trail{flex:1 1 calc(100% - 150px)}
.vf-tool{gap:5px 10px;padding:5px 8px}
.vf-tool__sel{flex:1 1 160px}
@media (max-width:820px){
  .vf-tool__view{display:none}
  .vf-tool__sel:has(.vf-tool__none){display:none}
  .vf-trail{order:0;flex:1 1 calc(100% - 110px)}
  .vf-tool__deg .stage__degn{display:none}
}
@media (min-width:821px){ .vf-tool{flex-wrap:wrap} .vf-tool__sel{flex:1 1 160px} }
@media (max-width:820px){
  .vf-trail{flex:1 1 150px}
  .vf-keycard .key__row,.vf-keycard .key__chips,.vf-keycard .key__head{flex-wrap:wrap;overflow:visible}
  .vf-keycard .seg{flex-wrap:wrap}
}
.vf-keycard .vf-controls .ctl{flex-wrap:wrap;max-width:100%;min-width:0}
.vf-keycard .vf-controls .seg{flex-wrap:wrap;max-width:100%}
@media (max-width:820px){
  .vf-keybtn{top:8px;bottom:auto}
  .vf-keycard{top:44px;bottom:auto;max-height:calc(100% - 52px)}
}
.vf-trail__list{min-width:90px}
.vf-trail__note{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){ .vf-trail__br{max-width:84px} }

/* —— v3.5 label rule: one line under the canvas naming the label metric —— */
.vf-labelrule{margin:2px 0 0;min-width:0}
.vf-labelrule button{appearance:none;border:0;background:transparent;padding:0;max-width:100%;font:500 .66rem/1.4 "JetBrains Mono",ui-monospace,monospace;color:#8a948d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;text-align:left;display:block}
.vf-labelrule button:hover{color:#c3dec0}
.vf-keycard .ctl--labels{flex:1 1 100%}
.vf-keycard .vf-controls .seg button:disabled{opacity:.4;cursor:default}

/* Engine foundry: stage rail and provenance overlay. Events are not twin facts. */
.vf-foundry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 2px 10px;border-top:1px solid #1f2621}
.vf-foundry[hidden]{display:none}
.vf-foundry-rail{display:flex;gap:0;list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0}
.vf-foundry-rail li{display:flex;align-items:center}
.vf-foundry-rail li + li::before{content:"";width:18px;height:1px;background:#2c3830;margin:0 2px}
.vf-foundry-rail button{appearance:none;border:1px solid #243028;background:#101511;color:#c5d0c8;font:500 .75rem/1 Inter,system-ui,sans-serif;padding:6px 10px;border-radius:999px;cursor:pointer}
.vf-foundry-rail button b{font-variant-numeric:tabular-nums;color:#c3dec0;margin-left:4px}
.vf-foundry-rail button[aria-pressed="true"]{border-color:#c3dec0;color:#edf1eb;box-shadow:0 0 16px rgba(195,222,192,.25)}
#foundry-play{appearance:none;border:1px solid #c3dec0;background:transparent;color:#c3dec0;font:600 .75rem/1 Inter,system-ui,sans-serif;padding:7px 12px;border-radius:999px;cursor:pointer}
#foundry-status{margin:0;flex:1 1 180px;font-size:.72rem;color:#8a948d}
.vf-foundry-graph{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
.vf-foundry-graph.is-off{display:none}
.vf-foundry-band{fill:rgba(8,10,9,.9);stroke:#243028}
.vf-foundry-pill{fill:#101511;stroke:#243028}
.vf-foundry-node{fill:#101511;stroke:#c3dec0;stroke-width:1.5}
.vf-foundry-node.is-source{stroke:#8fb3dc}
.vf-foundry-node.is-capture{stroke:#e9d758}
.vf-foundry-graph g.is-live .vf-foundry-node{animation:vf-pulse 1.4s ease-out 1}
.vf-foundry-link{stroke:#8a948d;stroke-width:1.25}
.vf-foundry-label{fill:#edf1eb;font:600 12px Inter,system-ui,sans-serif}
@keyframes vf-pulse{0%{stroke-width:3;opacity:1}100%{stroke-width:1;opacity:.85}}
#foundry-demand .vf-demand__row{margin:0 0 6px}
@media (max-width:820px){
  .vf-foundry{align-items:stretch}
  .vf-foundry-rail{overflow-x:auto}
}

/* Query state stays beside the main graph, including while the mobile chat is collapsed. */
.vf-query-status{flex:0 0 auto;white-space:normal;overflow-wrap:anywhere;font:inherit;color:inherit;margin:0;padding:0}
.vf-query-status[hidden]{display:none}
.vf-query-status[data-state="unavailable"],.vf-query-status[data-state="partial"]{font-weight:600}

/* Native hidden state must take precedence over shared flex/grid components. */
.vf [hidden]{display:none!important}
#investigation-bar{flex:none;font-size:inherit}
#investigation-bar p{margin-block:0}
#investigation-task-form{display:flex;flex-wrap:wrap}
#investigation-task{min-width:0;flex:1}
