/* Portfolio theme shared by the supplied, unmodified visualization engines. */
:root{color-scheme:light;--paper:#f7f7f7;--ink:#131313;--muted:#797979;--hair:#d0d0d0;--font:Helvetica,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
button,input,select{font-family:var(--font);accent-color:var(--ink)}
button{font-size:11px;font-weight:400;letter-spacing:.035em;border:1px solid var(--hair);border-radius:0;background:var(--paper);color:var(--ink);padding:6px 10px;cursor:pointer}
button:hover{color:#000;border-color:#131313;background:#ededed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px solid #555;outline-offset:2px}
button[hidden]{display:none}
#tool-demo{height:100%;padding:12px 16px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.demo-header{display:flex;align-items:center;gap:12px;flex-shrink:0;border-bottom:1px solid var(--hair)}
.case-tabs{display:flex;gap:16px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin}
.case-tabs button{flex-shrink:0;background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;color:var(--muted);line-height:1.5}
.case-tabs button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.demo-header>.details-toggle{flex-shrink:0;margin-bottom:4px}
.demo-error{font-size:13px;line-height:1.6}
#tool-demo .citation-network{--cn-paper:var(--paper);--cn-ink:var(--ink);--cn-mute:var(--muted);--cn-hair:var(--hair);--cn-font:var(--font);height:100%;grid-template-columns:minmax(0,1fr) 300px;gap:20px}
.network-demo #viewer{flex:1;min-height:220px;position:relative}
#tool-demo .cn-graph{height:100%;min-height:220px;border-top:0}
#tool-demo .cn-panel{height:100%;overflow-y:auto;overscroll-behavior:contain}
#tool-demo .cn-h{font-weight:400;letter-spacing:.08em;border-top:1px solid var(--hair)}
#tool-demo .cn-about p{font-size:12px}
#tool-demo .citation-network button{font:400 11px var(--font);letter-spacing:.035em;border-color:var(--hair);padding:5px 8px}
#tool-demo .citation-network button:hover{background:#ededed;color:#131313;border-color:#131313}
#tool-demo .citation-network .cn-primary,#tool-demo .citation-network .cn-seg button.on{background:#131313;color:#f7f7f7;border-color:#131313}
#tool-demo .cn-tabs button{border-bottom-width:1px;border-bottom-color:transparent}
#tool-demo .cn-tabs button.on{border-bottom-color:#131313}
#tool-demo .cn-status{font-weight:400;letter-spacing:.035em}
#tool-demo .cn-caption{max-width:95%;font-size:10px}
#tool-demo .cn-row select{min-width:0;max-width:70%}
#tool-demo .cn-stats b{font-weight:400}
.network-demo .details-toggle{display:none}
.simplex-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;flex:1;min-height:0}
#tool-demo .tetra-simplex{--ts-paper:var(--paper);--ts-ink:var(--ink);--ts-mute:var(--muted);--ts-hair:var(--hair);--ts-font:var(--font)}
#tool-demo .ts-plot svg{height:clamp(150px,calc(100dvh - 155px),360px);width:100%;margin:0}
#tool-demo .ts-legend{margin-top:6px;font-size:10px}
#tool-demo .ts-sub-line{font-size:10px}
#tool-demo .ts-threshold{margin-top:10px}
.case-info h2{font-size:10px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--hair);padding-top:8px;margin:0 0 8px}
.case-info p,.case-info dl{font-size:12px;line-height:1.5;margin:0 0 14px}
.case-info dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px}
.case-info dt{color:var(--ink)}
.case-info dd{margin:0;color:var(--muted);font-variant-numeric:tabular-nums}
.formula{font-size:11px;line-height:1.5;padding:10px 0;border-block:1px solid var(--hair);overflow-wrap:anywhere}
.stats{display:flex;gap:20px;margin-top:12px;font-size:10px;color:var(--muted)}
.stats b{display:block;font-weight:400;font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums}
.sample-note{font-size:10px!important;color:var(--muted);margin-top:12px!important}
@media(max-width:860px){
 #tool-demo .citation-network{grid-template-columns:minmax(0,1fr);gap:0}
 .network-demo .details-toggle{display:block}
 #tool-demo .cn-panel{display:none;position:absolute;z-index:3;right:0;top:0;width:min(320px,100%);height:100%;padding:12px;background:var(--paper);border:1px solid var(--hair)}
 #tool-demo.show-details .cn-panel{display:block}
}
@media(max-width:480px){
 #tool-demo{padding:10px;gap:8px}
 .case-tabs{gap:12px}
 .demo-header{gap:8px}
 .simplex-stage{grid-template-columns:minmax(0,1fr);gap:20px}
 #tool-demo .ts-plot svg{height:200px}
 #tool-demo .cn-toolbar{flex-wrap:wrap;gap:4px}
 #tool-demo .cn-status{font-size:9px}
}
