/* TP-COMPOUNDS-V1
   Higher-order Tanner Phillips instruments composed from semantic primitives.
*/

/* TOPOLOGY --------------------------------------------------------------- */
.tp-topology{position:relative;min-height:320px;padding:24px;overflow:hidden}
.tp-topology__plane{position:relative;min-height:260px}
.tp-topology__link{position:absolute;height:1px;transform-origin:left center;background:var(--tp-struct)}
.tp-topology__link[data-state="active"]{background:rgba(53,255,149,.58)}
.tp-topology__link[data-state="analysis"]{background:rgba(139,92,246,.58)}
.tp-topology__node{position:absolute;min-width:112px;padding:10px 12px;border:1px solid var(--tp-struct);border-radius:4px;background:#0b0e12;font:500 9px/1.35 "Roboto Mono",monospace}
.tp-topology__node b{display:block;color:var(--tp-frost);font-weight:600}.tp-topology__node small{color:var(--tp-ghost)}
.tp-topology__node[data-state="active"]{border-color:rgba(53,255,149,.48)}.tp-topology__node[data-state="analysis"]{border-color:rgba(139,92,246,.48)}

/* EVENT STREAM ----------------------------------------------------------- */
.tp-event-stream{overflow:hidden}
.tp-event{display:grid;grid-template-columns:110px 120px 1fr auto;gap:12px;align-items:start;padding:11px 14px;border-bottom:1px solid rgba(35,41,48,.72);font:500 9px/1.45 "Roboto Mono",monospace}
.tp-event:last-child{border-bottom:0}.tp-event__time{color:var(--tp-ghost)}.tp-event__kind{color:var(--tp-green)}.tp-event__body{color:var(--tp-steel)}.tp-event__state{color:var(--tp-frost)}
.tp-event[data-tone="analysis"] .tp-event__kind{color:#bba7ff}.tp-event[data-tone="discovery"] .tp-event__kind{color:#ed91ff}

/* TIMELINE --------------------------------------------------------------- */
.tp-timeline{position:relative}
.tp-timeline::before{content:"";position:absolute;left:14px;top:10px;bottom:10px;width:1px;background:var(--tp-struct)}
.tp-timeline__item{position:relative;padding:0 0 20px 38px}
.tp-timeline__item:last-child{padding-bottom:0}
.tp-timeline__item::before{content:"";position:absolute;left:10px;top:5px;width:7px;height:7px;border:1px solid var(--tp-steel);border-radius:50%;background:var(--tp-void)}
.tp-timeline__item[data-state="active"]::before{border-color:var(--tp-green);background:rgba(53,255,149,.18)}
.tp-timeline__item[data-state="analysis"]::before{border-color:var(--tp-violet);background:rgba(139,92,246,.18)}
.tp-timeline__item small{display:block;color:var(--tp-ghost);font:500 8px/1.3 "Roboto Mono",monospace;letter-spacing:.1em}
.tp-timeline__item b{display:block;margin:3px 0;color:var(--tp-frost);font:600 12px/1.4 "Roboto Mono",monospace}.tp-timeline__item p{margin:0;color:var(--tp-steel);font-size:12px}

/* EVIDENCE LEDGER -------------------------------------------------------- */
.tp-ledger{width:100%;border-collapse:collapse;font-family:"Roboto Mono",monospace}
.tp-ledger th,.tp-ledger td{padding:10px 12px;border-bottom:1px solid var(--tp-struct);text-align:left;vertical-align:top}
.tp-ledger th{color:var(--tp-ghost);font-size:8px;letter-spacing:.12em;font-weight:500}.tp-ledger td{color:var(--tp-steel);font-size:9px}.tp-ledger tr:last-child td{border-bottom:0}
.tp-ledger__id{color:var(--tp-frost)!important}.tp-ledger__verified{color:var(--tp-green)!important}.tp-ledger__unknown{color:#ed91ff!important}

/* NODE DOSSIER ----------------------------------------------------------- */
.tp-dossier{display:grid;grid-template-columns:220px 1fr;min-height:260px}
.tp-dossier__identity{padding:18px;border-right:1px solid var(--tp-struct);background:#0b0e12}
.tp-dossier__identity strong{display:block;color:var(--tp-frost);font:600 18px/1.15 Inter,sans-serif}.tp-dossier__identity small{color:var(--tp-ghost);font:500 8px/1.4 "Roboto Mono",monospace;letter-spacing:.1em}
.tp-dossier__body{padding:18px}.tp-dossier__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tp-dossier__fact{padding:10px;border:1px solid var(--tp-struct);border-radius:4px}.tp-dossier__fact small{display:block;color:var(--tp-ghost);font:500 8px/1.3 "Roboto Mono",monospace}.tp-dossier__fact b{color:var(--tp-frost);font:500 10px/1.4 "Roboto Mono",monospace}

/* RELATIONSHIP GRAPH ----------------------------------------------------- */
.tp-relationship-graph{position:relative;overflow:hidden}
.tp-relationship-graph__edge{stroke:rgba(53,255,149,.34);stroke-width:1.3;vector-effect:non-scaling-stroke}
.tp-relationship-graph__edge[data-tone="analysis"]{stroke:rgba(139,92,246,.50)}
.tp-relationship-graph__edge[data-tone="discovery"]{stroke:rgba(225,71,255,.42)}

/* QUERY SURFACE ---------------------------------------------------------- */
.tp-query{display:flex;align-items:stretch;border:1px solid var(--tp-struct);border-radius:var(--tp-radius);background:#0b0e12;overflow:hidden}
.tp-query__label{display:flex;align-items:center;padding:0 12px;border-right:1px solid var(--tp-struct);color:var(--tp-green);font:600 9px/1 "Roboto Mono",monospace}
.tp-query input{flex:1;min-width:0;padding:12px;border:0;outline:0;background:transparent;color:var(--tp-frost);font:12px/1.4 "Roboto Mono",monospace}
.tp-query input::placeholder{color:var(--tp-ghost)}.tp-query button{padding:0 14px;border:0;border-left:1px solid var(--tp-struct);background:rgba(53,255,149,.04);color:var(--tp-frost);font:600 9px/1 "Roboto Mono",monospace;cursor:pointer}
.tp-query button:hover,.tp-query button:focus-visible{background:rgba(53,255,149,.09);color:var(--tp-green)}

/* COMMAND SURFACE -------------------------------------------------------- */
.tp-command{background:#07090b}
.tp-command__line{display:flex;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid var(--tp-struct);font:12px/1.4 "Roboto Mono",monospace}
.tp-command__prompt{color:var(--tp-green)}.tp-command__input{color:var(--tp-frost);flex:1}.tp-command__meta{color:var(--tp-ghost);font-size:8px}
.tp-command__output{margin:0;padding:14px;color:var(--tp-steel);font:11px/1.6 "Roboto Mono",monospace;white-space:pre-wrap}

/* FINDING INSPECTOR ------------------------------------------------------ */
.tp-finding{display:grid;grid-template-columns:180px 1fr}
.tp-finding__summary{padding:18px;border-right:1px solid var(--tp-struct);background:#0b0e12}
.tp-finding__summary small{display:block;color:var(--tp-ghost);font:500 8px/1.3 "Roboto Mono",monospace;letter-spacing:.1em}
.tp-finding__summary strong{display:block;margin:5px 0 16px;color:var(--tp-frost);font:600 16px/1.2 Inter,sans-serif}
.tp-finding__detail{padding:18px}.tp-finding__detail h4{margin:0 0 8px;color:var(--tp-frost);font:600 13px/1.3 Inter,sans-serif}.tp-finding__detail p{margin:0;color:var(--tp-steel);font-size:12.5px;line-height:1.7}
.tp-finding__confidence{display:inline-flex;padding:4px 6px;border:1px solid rgba(139,92,246,.3);border-radius:3px;color:#cbbdff;font:500 8px/1 "Roboto Mono",monospace}

/* EXISTING GLASSCASTLE SEMANTIC MAPPINGS -------------------------------- */
.ukc-bands{--tp-compound-kind:"timeline"}
.diamond-shape{--tp-compound-kind:"relationship-graph"}

@media(max-width:760px){
  .tp-event{grid-template-columns:86px 1fr}.tp-event__body,.tp-event__state{grid-column:2}
  .tp-dossier,.tp-finding{grid-template-columns:1fr}.tp-dossier__identity,.tp-finding__summary{border-right:0;border-bottom:1px solid var(--tp-struct)}
}
@media(max-width:520px){
  .tp-dossier__facts{grid-template-columns:1fr}
  .tp-ledger{display:block;overflow-x:auto}
}

/* COMPOUND SEMANTIC MARKERS ---------------------------------------------- */
.tp-compound--timeline{--tp-compound-kind:"timeline"}
.tp-compound--relationship{--tp-compound-kind:"relationship-graph"}
.tp-compound--topology{--tp-compound-kind:"topology"}
.tp-compound--event-stream{--tp-compound-kind:"event-stream"}
.tp-compound--ledger{--tp-compound-kind:"evidence-ledger"}
.tp-compound--dossier{--tp-compound-kind:"node-dossier"}
.tp-compound--query{--tp-compound-kind:"query-surface"}
.tp-compound--command{--tp-compound-kind:"command-surface"}
.tp-compound--finding{--tp-compound-kind:"finding-inspector"}
