:root {
    --bg: #050610;
    --panel: rgba(8, 10, 24, 0.92);
    --card: rgba(14, 16, 32, 0.95);
    --border: rgba(160, 40, 128, 0.15);
    --text: #e2e8f0;
    --dim: rgba(226, 232, 240, 0.6);
    --cyan: #00e5ff;
    --violet: #7c3afd;
    --aurora: #00ff9d;
    --rose: #f43f5e;
    --gold: #f59e0b;
    --mag: #a02880;
    --grad: linear-gradient(135deg, #a02880 0%, #7c3afd 100%);
    transition:
      --bg 1.4s ease,
      --panel 1.4s ease,
      --card 1.4s ease,
      --rose 1.2s ease,
      --cyan 1.2s ease,
      --violet 1.2s ease,
      --aurora 1.2s ease;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    background: var(--bg);
    color: var(--text);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    overflow: hidden;
    height: 100vh;
}

.card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.card-header {
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid var(--border);
    font-weight: bold;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.02);
}

/* GLASS SCROLLBARS */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:10px;border:1px solid rgba(255,255,255,0.2)}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.2)}
.hidden{display:none!important}
#identity-gate{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center}
.auth-card{background:var(--card);border:1px solid var(--border);padding:3rem;width:420px;max-width:95vw;text-align:center}
.auth-logo{font-size:3rem;color:var(--rose);margin-bottom:1rem}.auth-logo i{filter:drop-shadow(0 0 20px rgba(244,63,94,.4))}
.auth-title{font-family:'JetBrains Mono',monospace;font-size:1.4rem;letter-spacing:.15em;color:var(--rose);margin-bottom:.3rem}
.auth-subtitle{font-size:.85rem;color:var(--dim);margin-bottom:1.5rem}
.mesh-input-box{text-align:left;margin-bottom:1rem}
.mesh-input-box label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.15em;color:var(--dim);display:block;margin-bottom:.4rem}
.mesh-input{width:100%;background:rgba(0,0,0,.4);border:1px solid var(--border);color:var(--text);padding:.7rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.85rem;outline:none;transition:.3s}
.mesh-input:focus{border-color:var(--rose);box-shadow:0 0 15px rgba(244,63,94,.15)}
.auth-btn{width:100%;padding:.8rem;background:var(--grad);border:none;color:#fff;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.8rem;letter-spacing:.1em;cursor:pointer;margin-top:.5rem;transition:.3s}
.auth-btn:hover{box-shadow:0 0 30px rgba(244,63,94,.3)}
.preview-mode-btn,.switch-btn{width:100%;padding:.6rem;background:transparent;border:1px solid var(--border);color:var(--dim);font-family:'JetBrains Mono',monospace;font-size:.65rem;cursor:pointer;margin-top:.5rem;transition:.3s}
.preview-mode-btn:hover,.switch-btn:hover{border-color:var(--rose);color:var(--rose)}
/* PHARMA TAB */
.pharma-grid{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;margin-top:1.5rem;align-items:start}
@media(max-width:800px){.pharma-grid{grid-template-columns:1fr}}
.pharma-sidebar{display:flex;flex-direction:column;gap:1.5rem}
.pharma-search{background:var(--card);border:1px solid var(--border);padding:1.5rem}
.pharma-prop{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:.65rem;border-bottom:1px solid rgba(255,255,255,.05);padding:.5rem 0}
.pharma-prop .val{color:var(--aurora)}
.pharma-main{background:var(--card);border:1px solid var(--border);height:500px;position:relative}
.viewer_3dmol{width:100%;height:100%;position:absolute;inset:0}
.lipinski-card{background:var(--card);border:1px solid var(--border);padding:1.5rem}
.lipinski-rule{display:flex;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.65rem;margin-top:.5rem}
.lipinski-rule i{width:12px;text-align:center}
.lipinski-pass{color:var(--aurora)}
.lipinski-fail{color:var(--rose)}
.auth-toast{padding:.6rem 1rem;background:rgba(244,63,94,.15);border:1px solid rgba(244,63,94,.3);color:var(--rose);font-size:.75rem;margin-top:1rem}
.auth-security-footer{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.2em;color:var(--dim);margin-top:1.5rem}
.bg-scanline{position:fixed;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(244,63,94,.008) 2px,rgba(244,63,94,.008) 4px)}
.bg-glow{position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,.05),transparent 70%);pointer-events:none;z-index:0}
.dashboard{display:grid;grid-template-rows:auto 1fr;height:100vh;overflow:hidden;position:relative;z-index:1}
.top-nav{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:rgba(14,10,26,.95);border-bottom:1px solid var(--border);backdrop-filter:blur(20px)}
.nav-brand{display:flex;align-items:center;gap:.8rem}
.brand-logo{width:36px;height:36px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:1rem;color:#fff;border-radius:50%}
.brand-title{font-size:.75rem;font-weight:700;font-family:'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.brand-title .badge{font-size:.45rem;background:rgba(255,255,255,.08);color:var(--rose);padding:2px 6px;margin-left:6px;border-radius:3px;font-family:'JetBrains Mono',monospace;vertical-align:middle;letter-spacing:.1em;border:1px solid rgba(255,255,255,.1)}
.brand-sub{font-size:.52rem;color:var(--dim);font-family:'JetBrains Mono',monospace;letter-spacing:.06em}
.nav-status{display:flex;align-items:center;gap:.8rem}
.status-pill{display:flex;align-items:center;gap:.4rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.08em;padding:.3rem .7rem;border:1px solid var(--border);color:var(--dim)}
.status-pill .dot{width:5px;height:5px;border-radius:50%;background:var(--rose);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1;box-shadow:0 0 6px var(--rose)}}
.btn-nav{padding:.4rem .9rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.08em;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:.3s}
.btn-nav:hover{border-color:var(--rose);color:var(--rose)}
.btn-nav.primary{background:var(--grad);border-color:transparent;color:#fff}
.content{display:grid;grid-template-columns:300px 1fr;overflow:hidden}
.sidebar{background:var(--panel);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;padding:1rem;min-height:0}
.card{background:var(--card);border:1px solid var(--border);margin-bottom:1rem}
.card-header{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.1em;color:var(--rose)}
.card-body{padding:1rem}
.param-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.8rem}
.param-row .label{color:var(--dim);font-size:.75rem}
.param-row .val{font-family:'JetBrains Mono',monospace;font-size:.75rem}
.val.hi{color:var(--rose)}.val.ok{color:var(--aurora)}.val.warn{color:var(--gold)}
.range-ctrl{margin-top:.8rem}
.range-ctrl label{font-size:.65rem;color:var(--dim);display:flex;justify-content:space-between;margin-bottom:.3rem}
.range-ctrl input[type=range]{width:100%;accent-color:var(--rose)}
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-top:1px solid rgba(255,255,255,.03)}
.toggle-row .lbl{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--dim)}
.toggle-row .lbl i{width:16px;text-align:center;font-size:.7rem}
.sw{position:relative;width:36px;height:20px}
.sw input{opacity:0;width:0;height:0}
.sw .sl{position:absolute;inset:0;background:rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:.3s}
.sw .sl::before{content:'';position:absolute;width:14px;height:14px;left:3px;bottom:3px;background:#555;border-radius:50%;transition:.3s}
.sw input:checked+.sl{background:rgba(244,63,94,.25)}
.sw input:checked+.sl::before{transform:translateX(16px);background:var(--rose)}
.shard-viz{display:flex;gap:2px;height:60px;align-items:flex-end}
.shard-bar{flex:1;background:var(--grad);min-height:4px;border-radius:1px 1px 0 0;animation:shard-pulse 1.5s ease-in-out infinite alternate}
@keyframes shard-pulse{from{opacity:.4}to{opacity:1}}
.app-header {
    height: 70px;
    background: rgba(5, 6, 16, 0.85);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
    z-index: 100;
}

.brand { display: flex; align-items: center; gap: 1rem; }
.logo-orb {
    width: 38px;
    height: 38px;
    background: var(--grad);
    border-radius: 50%;
    box-shadow: 0 0 20px rgba(6, 182, 212, 0.4);
}

.logo-orb.pulse { animation: orb-pulse 3s infinite; }
@keyframes orb-pulse {
    0% { box-shadow: 0 0 10px rgba(6, 182, 212, 0.4); transform: scale(1); }
    50% { box-shadow: 0 0 30px rgba(6, 182, 212, 0.6); transform: scale(1.05); }
    100% { box-shadow: 0 0 10px rgba(6, 182, 212, 0.4); transform: scale(1); }
}

.brand-text h1 { font-size: 1.1rem; font-weight: 800; letter-spacing: -0.02em; color: var(--text); }
.brand-text p { font-size: 0.6rem; color: var(--dim); margin-top: -2px; font-weight: 500; }
.badge { background: rgba(59, 130, 246, 0.1); color: #3b82f6; padding: 2px 8px; border-radius: 12px; font-size: 0.55rem; font-weight: 800; text-transform: uppercase; margin-left: 6px; }

.hrv-monitor-wrap { flex: 1; margin: 0 3rem; position: relative; height: 50px; }
.hrv-monitor-wrap canvas { width: 100%; height: 100%; filter: drop-shadow(0 0 10px rgba(6, 182, 212, 0.2)); }
.hrv-label { position: absolute; top: -12px; left: 0; font-size: 0.45rem; font-weight: 800; color: var(--dim); letter-spacing: 0.1em; }

.header-actions { display: flex; align-items: center; gap: 1rem; }
.btn-icon { background: none; border: none; color: var(--dim); font-size: 1.1rem; cursor: pointer; transition: 0.2s; }
.btn-icon:hover { color: var(--text); transform: scale(1.1); }
.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--rose);border-bottom-color:var(--rose);background:rgba(255,255,255,.04)}
.tab-bar{display:flex;align-items:stretch;gap:0;background:rgba(8,10,24,.98);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}
.tab-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.06em;color:var(--dim);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:.2s;line-height:1}
.main-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.content{display:grid;grid-template-columns:300px 1fr;overflow:hidden;min-height:0}
.tab-content{display:none;flex:1;overflow-y:auto;padding:1.5rem;min-height:0}.tab-content.active{display:flex;flex-direction:column}
/* HRV / MANDALA HERO */
.hrv-wrap{background:rgba(0,0,0,.3);border:1px solid var(--border);position:relative;min-height:600px;flex:1;margin-bottom:0;overflow:hidden}
.mandala-hero-wrap{height:420px;position:relative}
.mandala-hero-wrap #mandala-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hrv-overlay-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hrv-wrap canvas{width:100%;height:100%}
.hrv-hud{position:absolute;top:1rem;left:1rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(255,255,255,.85);line-height:1.8;z-index:3;text-shadow:0 0 8px rgba(0,0,0,.9)}
.hrv-badge{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.4rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.2);padding:.3rem .6rem;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);z-index:3}
.hrv-badge .dot{width:5px;height:5px;border-radius:50%;background:var(--rose);animation:blink 2s infinite}
.viz-strip{display:flex;gap:1px;background:rgba(244,63,94,.06);border:1px solid var(--border)}
.viz-strip-item{flex:1;padding:.8rem 1rem;background:var(--card);text-align:center}
.viz-strip-item .num{font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:700;color:var(--rose)}
.viz-strip-item .lbl{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.15em;color:var(--dim);margin-top:.2rem}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.detail-card{background:var(--card);border:1px solid var(--border);padding:1.5rem;position:relative;overflow:hidden}
.detail-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad)}
.detail-card h3{font-size:.9rem;margin-bottom:.5rem;color:var(--rose)}
.detail-card p{font-size:.8rem;color:var(--dim);line-height:1.6}
/* DRIVE STYLES */
.storage-bar{width:100%;height:6px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden;margin-top:.5rem}
.storage-fill{height:100%;background:var(--grad);width:0%;transition:width .5s}
.shard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.5rem 0}
.shard-card{background:var(--card);border:1px solid var(--border);padding:1rem;text-align:center}
.shard-card .icon{font-size:1.2rem;margin-bottom:.5rem;color:var(--rose)}
.shard-card .num{font-family:'JetBrains Mono',monospace;font-size:1.5rem;font-weight:700}
.shard-card .label{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.15em;color:var(--dim);margin-top:.3rem}
.file-list{background:var(--card);border:1px solid var(--border)}
.file-list-header{padding:.7rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--dim);border-bottom:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between}
.file-empty{padding:3rem;text-align:center;color:var(--dim);font-size:.8rem}
.file-empty i{font-size:2rem;margin-bottom:1rem;display:block;opacity:.3}
/* SIM */
.sim-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.sim-panel{background:var(--card);border:1px solid var(--border);padding:1.5rem}
.sim-panel h3{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--rose);margin-bottom:1rem;letter-spacing:.1em}
.sim-input-row{display:flex;gap:.5rem;margin-bottom:.8rem}
.sim-input{flex:1;background:rgba(0,0,0,.4);border:1px solid var(--border);color:var(--text);padding:.5rem .8rem;font-family:'JetBrains Mono',monospace;font-size:.75rem;outline:none}
.sim-input:focus{border-color:var(--rose)}
.sim-btn{padding:.5rem 1rem;background:var(--grad);border:none;color:#fff;font-family:'JetBrains Mono',monospace;font-size:.65rem;font-weight:700;cursor:pointer}
.sim-output{background:rgba(0,0,0,.5);border:1px solid var(--border);padding:1rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--rose);line-height:1.8;min-height:200px;white-space:pre-wrap}
/* SEC MONITOR */
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}
.sec-card{background:var(--card);border:1px solid var(--border);padding:1.5rem;text-align:center;position:relative;overflow:hidden}
.sec-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.sec-card:nth-child(1)::before{background:linear-gradient(90deg,var(--rose),var(--violet))}
.sec-card:nth-child(2)::before{background:linear-gradient(90deg,var(--violet),var(--cyan))}
.sec-card:nth-child(3)::before{background:linear-gradient(90deg,var(--aurora),var(--cyan))}
.sec-card .val{font-family:'JetBrains Mono',monospace;font-size:2rem;font-weight:700;margin-bottom:.3rem}
.sec-card .lbl{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.15em;color:var(--dim)}
.sec-card .desc{font-size:.75rem;color:var(--dim);margin-top:.5rem;line-height:1.5}
/* MOLECULE TABLE */
.mol-table{width:100%;border-collapse:collapse;margin-top:1rem}
.mol-table th{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-align:left;padding:.7rem;border:1px solid var(--border);background:rgba(244,63,94,.04);color:var(--rose)}
.mol-table td{font-size:.78rem;padding:.7rem;border:1px solid rgba(255,255,255,.04);color:var(--dim)}
.mol-table tr:hover td{background:rgba(244,63,94,.02)}
.app-footer{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;border-top:1px solid var(--border);background:rgba(14,10,26,.95);font-family:'JetBrains Mono',monospace;font-size:.5rem;color:var(--dim)}
.footer-lock{display:flex;align-items:center;gap:.4rem;color:var(--rose)}
.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9000;display:flex;flex-direction:column;gap:.5rem}
.toast{padding:.7rem 1.2rem;background:var(--card);border:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--text);animation:toast-in .3s ease;box-shadow:0 10px 30px rgba(0,0,0,.5)}
@keyframes toast-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
#processing-overlay{position:fixed;inset:0;z-index:8000;background:rgba(8,4,16,.95);display:none;align-items:center;justify-content:center;flex-direction:column;gap:1rem}
#processing-overlay.active{display:flex}
.proc-hex{width:60px;height:60px;border:2px solid var(--rose);border-radius:50%;animation:spin 2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.proc-text{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--rose);letter-spacing:.15em}
.proc-sub{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--dim)}
@media(max-width:900px){.content{grid-template-columns:1fr}.sidebar{display:none}.tab-btn{font-size:.55rem;padding:.5rem}}
.drive-lockout{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:1rem}
.drive-lockout i{font-size:3rem;color:var(--gold);opacity:.5}
.drive-lockout h3{font-size:1.1rem;color:var(--gold)}
.drive-lockout p{font-size:.82rem;color:var(--dim);max-width:400px;line-height:1.6}
.sig-box{background:rgba(0,0,0,.4);border:1px solid var(--border);padding:.6rem .8rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--rose);word-break:break-all;margin-top:.5rem}
.sig-btns{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}
.btn-mini{padding:.3rem .6rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:.3s}
.btn-mini:hover{border-color:var(--rose);color:var(--rose)}
.timeline{margin-top:1rem;border-left:2px solid var(--border);padding-left:1rem}
.timeline-item{position:relative;padding-bottom:1rem}
.timeline-item::before{content:'';position:absolute;left:-1.35rem;top:.2rem;width:8px;height:8px;border-radius:50%;background:var(--rose)}
.timeline-item .ts{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:var(--dim)}
.timeline-item .ev{font-size:.75rem;color:var(--text);margin-top:.2rem}
.drive-toolbar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}
.drive-search{flex:1;min-width:180px;background:rgba(0,0,0,.4);border:1px solid var(--border);color:var(--text);padding:.5rem .8rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;outline:none}
.drive-search:focus{border-color:var(--rose)}
.cat-pills{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem}
.cat-pill{padding:.25rem .6rem;font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.08em;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:.3s}
.cat-pill:hover,.cat-pill.active{border-color:var(--rose);color:var(--rose);background:rgba(244,63,94,.05)}
.tree-file{padding:.25rem .5rem .25rem 1rem;font-size:.7rem;color:var(--dim);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.02)}
.tree-file:hover{background:rgba(244,63,94,.02)}
.tree-file .f-meta{display:flex;gap:.8rem;align-items:center;font-family:'JetBrains Mono',monospace;font-size:.55rem}
.tree-file .f-cat{color:var(--rose)}
.tree-file .f-tier{color:var(--gold)}
.tree-file .f-del{color:var(--rose);cursor:pointer;opacity:.4;transition:.2s}
.tree-file .f-del:hover{opacity:1}
.tree-file.selected{background:rgba(244,63,94,.06);border-left:2px solid var(--rose)}
.f-check{width:13px;height:13px;cursor:pointer;accent-color:var(--rose);flex-shrink:0;margin-right:.3rem}
.select-all-check{width:13px;height:13px;cursor:pointer;accent-color:var(--rose)}
.bulk-bar{display:none;padding:.5rem 1rem;background:rgba(244,63,94,.06);border:1px solid rgba(244,63,94,.25);margin-bottom:.6rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.bulk-bar.active{display:flex}
.bulk-count{color:var(--rose);font-weight:700}
.bulk-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.btn-bulk{padding:.25rem .7rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.06em;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:.3s}
.btn-bulk:hover{border-color:var(--rose);color:var(--rose);background:rgba(244,63,94,.05)}
.btn-bulk.danger:hover{border-color:var(--rose);color:#fff;background:rgba(244,63,94,.2)}
.btn-bulk.cyan{border-color:rgba(0,229,255,.3);color:var(--cyan)}
.btn-bulk.cyan:hover{background:rgba(0,229,255,.08)}
.folder-dl{margin-left:.4rem;color:var(--cyan);opacity:.5;cursor:pointer;font-size:.7rem;transition:.2s;padding:0 .2rem}
.folder-dl:hover{opacity:1}
.drive-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:.55rem;color:var(--dim);flex-wrap:wrap;gap:.5rem}
.drive-docs-overlay{position:fixed;inset:0;z-index:7000;background:rgba(5,10,15,.92);display:none;align-items:center;justify-content:center}
.drive-docs-overlay.active{display:flex}
.drive-docs-card{background:var(--card);border:1px solid var(--border);padding:2rem;max-width:700px;max-height:80vh;overflow-y:auto;width:95vw}
.drive-docs-card h2{font-size:1.1rem;color:var(--rose);margin-bottom:1rem}
.drive-docs-card h3{font-size:.85rem;color:var(--rose);margin-top:1.2rem;margin-bottom:.4rem}
.drive-docs-card p,.drive-docs-card li{font-size:.78rem;color:var(--dim);line-height:1.7}
.drive-docs-card code{font-family:'JetBrains Mono',monospace;font-size:.7rem;background:rgba(244,63,94,.06);padding:.1rem .3rem;color:var(--rose)}
.drive-docs-card ul{padding-left:1.2rem;margin:.3rem 0}
.drive-docs-close{position:absolute;top:1.5rem;right:1.5rem;color:var(--dim);cursor:pointer;font-size:1.2rem}
/* BIO-SYNC */
.biosync-panel{margin-top:1.5rem;border:1px solid var(--border);background:var(--card);overflow:hidden}
.biosync-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.04);background:rgba(244,63,94,.03)}
.biosync-header h3{font-family:'JetBrains Mono',monospace;font-size:.75rem;letter-spacing:.1em;color:var(--rose);display:flex;align-items:center;gap:.6rem}
.biosync-header .solas-badge{font-size:.5rem;padding:.2rem .5rem;border:1px solid rgba(244,63,94,.3);color:var(--gold);letter-spacing:.12em}
.biosync-controls{display:flex;gap:.5rem}
.biosync-toggle{padding:.35rem .7rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:.3s;display:flex;align-items:center;gap:.4rem}
.biosync-toggle:hover{border-color:var(--rose);color:var(--rose)}
.biosync-toggle.active{border-color:var(--rose);color:var(--rose);background:rgba(244,63,94,.08)}
.biosync-toggle .indicator{width:6px;height:6px;border-radius:50%;background:#555;transition:.3s}
.biosync-toggle.active .indicator{background:var(--rose);box-shadow:0 0 6px var(--rose)}
.biosync-body{display:grid;grid-template-columns:1fr 1fr;gap:0}
.biosync-feed{position:relative;background:#000;aspect-ratio:4/3;overflow:hidden;border-right:1px solid rgba(255,255,255,.04)}
.biosync-feed video{width:100%;height:100%;object-fit:cover}
.biosync-feed canvas{position:absolute;inset:0;width:100%;height:100%}
.biosync-feed .feed-label{position:absolute;top:.5rem;left:.5rem;font-family:'JetBrains Mono',monospace;font-size:.5rem;color:var(--rose);letter-spacing:.12em;background:rgba(0,0,0,.6);padding:.2rem .5rem}
.biosync-feed .feed-status{position:absolute;bottom:.5rem;right:.5rem;font-family:'JetBrains Mono',monospace;font-size:.5rem;display:flex;align-items:center;gap:.3rem;color:var(--dim);background:rgba(0,0,0,.6);padding:.2rem .5rem}
.biosync-feed .feed-status .dot{width:5px;height:5px;border-radius:50%;background:var(--rose);animation:blink 2s infinite}
.biosync-audio{position:relative;background:rgba(0,0,0,.3);display:flex;flex-direction:column}
.biosync-audio canvas{flex:1;width:100%}
.biosync-audio .audio-label{position:absolute;top:.5rem;left:.5rem;font-family:'JetBrains Mono',monospace;font-size:.5rem;color:var(--violet);letter-spacing:.12em;background:rgba(0,0,0,.6);padding:.2rem .5rem}
.biosync-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.04)}
.biosync-metric{padding:.8rem;text-align:center;border-right:1px solid rgba(255,255,255,.03)}
.biosync-metric:last-child{border-right:none}
.biosync-metric .bm-val{font-family:'JetBrains Mono',monospace;font-size:1.2rem;font-weight:700;color:var(--rose)}
.biosync-metric .bm-lbl{font-family:'JetBrains Mono',monospace;font-size:.45rem;letter-spacing:.15em;color:var(--dim);margin-top:.2rem}
.biosync-off{display:flex;align-items:center;justify-content:center;color:var(--dim);font-family:'JetBrains Mono',monospace;font-size:.7rem;min-height:200px;flex-direction:column;gap:.5rem}
.biosync-off i{font-size:1.5rem;opacity:.3}
/* BREATHING COACH */
.breath-coach{margin-top:1.5rem;border:1px solid var(--border);background:var(--card);padding:1.5rem;text-align:center}
.breath-coach-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.breath-coach-header h3{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--rose);letter-spacing:.1em}
.breath-circle-container{position:relative;width:180px;height:180px;margin:0 auto}
.breath-circle{width:180px;height:180px;border-radius:50%;border:2px solid var(--rose);display:flex;align-items:center;justify-content:center;transition:transform 5s ease-in-out;box-shadow:0 0 30px rgba(244,63,94,.1)}
.breath-circle.inhale{transform:scale(1.4);border-color:var(--aurora);box-shadow:0 0 40px rgba(0,255,157,.15)}
.breath-circle.exhale{transform:scale(0.7);border-color:var(--violet);box-shadow:0 0 40px rgba(124,58,237,.15)}
.breath-label{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--text)}
.breath-timer{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:var(--dim);margin-top:.8rem}
/* COHERENCE FIELD INDICATOR */
.coherence-field-indicator{display:flex;align-items:center;justify-content:center;padding:.45rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);border-top:1px solid rgba(255,255,255,.06);margin-top:0}
.cfi-label{font-family:'JetBrains Mono',monospace;font-size:.48rem;letter-spacing:.2em;color:rgba(255,255,255,.35);animation:blink 4s infinite}
/* MANDALA UI overlay classes (now inside hrv-wrap) */
.mandala-ui{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font:12px/1.35 'JetBrains Mono',monospace;color:rgba(245,250,255,.82);user-select:none;z-index:4}
.mandala-pill{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.45);box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.10);backdrop-filter:blur(12px)}
.mandala-pill b{color:rgba(255,255,255,.95)}
.mandala-btns{display:flex;gap:8px}
.mandala-btns button{border:0;cursor:pointer;padding:7px 14px;border-radius:999px;color:rgba(255,255,255,.95);background:linear-gradient(135deg,rgba(255,65,186,.85),rgba(90,230,255,.85),rgba(255,220,110,.85));box-shadow:0 10px 28px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.18);font:11px/1 'JetBrains Mono',monospace;letter-spacing:.3px;transition:transform .15s ease}
.mandala-btns button:active{transform:translateY(1px) scale(.99)}
.mandala-kbd{display:inline-flex;align-items:center;padding:2px 7px;border-radius:10px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);color:rgba(245,250,255,.6);font-size:10px}
/* SESSION HISTORY */
.session-panel{margin-top:1.5rem;border:1px solid var(--border);background:var(--card)}
.session-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.04)}
.session-header h3{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--rose);letter-spacing:.1em}
.session-list{max-height:200px;overflow-y:auto}
.session-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid rgba(255,255,255,.02);font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--dim)}
.session-item:hover{background:rgba(244,63,94,.02)}
.session-item .s-date{color:var(--text)}
.session-item .s-score{color:var(--rose);font-weight:700}
/* OBSERVER PROFILE */
.observer-card{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}
.obs-stat{text-align:center;padding:.5rem}
.obs-stat .os-val{font-family:'JetBrains Mono',monospace;font-size:1.1rem;font-weight:700;color:var(--rose)}
.obs-stat .os-lbl{font-family:'JetBrains Mono',monospace;font-size:.4rem;letter-spacing:.15em;color:var(--dim);margin-top:.2rem}
.obs-rank{grid-column:1/-1;text-align:center;padding:.5rem;border-top:1px solid rgba(255,255,255,.04);font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--gold)}
/* IMHOTEP RING */
.imhotep-ring{position:relative;width:100%;aspect-ratio:1;margin:0 auto}
.imhotep-ring canvas{width:100%;height:100%}
/* BIO MODE */
body.bio-mode{--bg:#041a12;--panel:#0a1f14;--card:#0f2a1a;--border:rgba(0,255,157,.12);--rose:#00ff9d;--violet:#00e5ff;--text:#c8f5e0;--dim:rgba(200,245,224,.4);--accent:var(--aurora);--grad:linear-gradient(135deg,#00ff9d,#00e5ff)}
body.bio-mode .biosync-toggle.active{border-color:var(--aurora);color:var(--aurora);background:rgba(0,255,157,.08)}
body.bio-mode .biosync-toggle.active .indicator{background:var(--aurora);box-shadow:0 0 6px var(--aurora)}

/* BIO-ARENA */
.arena-wrap{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;height:calc(100vh - 180px)}
.arena-library{background:var(--card);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}
.arena-lib-header{padding:1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.arena-lib-scroll{flex:1;overflow-y:auto;padding:.5rem}
.arena-item{padding:.8rem;border:1px solid transparent;cursor:pointer;transition:.2s;margin-bottom:.4rem;background:rgba(255,255,255,.02)}
.arena-item:hover{border-color:var(--rose);background:rgba(244,63,94,.05)}
.arena-item.selected{border-color:var(--rose);background:rgba(244,63,94,.1)}
.arena-comparison-grid{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}
.arena-column{min-width:300px;background:var(--card);border:1px solid var(--border);display:flex;flex-direction:column}
.arena-col-header{padding:1rem;background:rgba(244,63,94,.05);border-bottom:1px solid var(--border);position:relative}
.arena-col-body{padding:1rem;flex:1;display:flex;flex-direction:column;gap:1.5rem}
.arena-metric-row{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:.65rem;border-bottom:1px solid rgba(255,255,255,.05);padding:.5rem 0}
.arena-metric-row .val{color:var(--aurora)}
.resonance-map{height:60px;background:rgba(0,0,0,.3);border:1px solid var(--border);margin-top:.5rem;position:relative;overflow:hidden}
.resonance-map .bar{position:absolute;inset:0;background:linear-gradient(90deg, var(--rose), var(--violet), var(--cyan));opacity:.6}
.arena-actions{display:flex;gap:.5rem;margin-bottom:1.5rem}
.btn-arena-act{padding:.6rem 1.2rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}
.btn-arena-act:hover{border-color:var(--rose);color:var(--rose)}
.btn-arena-act.active{background:var(--grad);border-color:transparent;color:#fff}

/* MATRIX TABLE STYLES */
#arena-matrix-table{min-width:100%; border-collapse: separate; border-spacing: 0; margin-top: 0;}
#arena-matrix-table th, #arena-matrix-table td{
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.05);
    font-family: 'JetBrains Mono', monospace;
    font-size: .7rem;
    text-align: center;
    white-space: nowrap;
}
#arena-matrix-table thead th{
    background: rgba(14,10,26,.95);
    color: var(--rose);
    position: sticky;
    top: 0;
    z-index: 10;
}
#arena-matrix-table td:first-child, #arena-matrix-table th:first-child{
    position: sticky;
    left: 0;
    background: var(--card);
    z-index: 5;
    text-align: left;
    border-right: 2px solid var(--border);
}
#arena-matrix-table tr:hover td{
    background: rgba(244,63,94,.04);
}
#arena-matrix-table td{ color: var(--dim); }
#arena-matrix-table .highlight-green{ color: var(--aurora); }
#arena-matrix-table .highlight-violet{ color: var(--violet); }

/* HEATMAP STYLES */
.heatmap-cell{
    transition: transform .2s, box-shadow .2s;
    cursor: crosshair;
}
.heatmap-cell:hover{
    transform: scale(1.1);
    z-index: 2;
    box-shadow: 0 0 10px rgba(244,63,94,0.5);
    border-color: rgba(255,255,255,0.5) !important;
}
#arena-3d-align-viewer canvas{
    border-radius: 4px;
}

/* EXPERT MODE SWITCH */
.sw { position: relative; display: inline-block; width: 34px; height: 18px; }
.sw input { opacity: 0; width: 0; height: 0; }
.sl { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(255,255,255,0.05); transition: .4s; border-radius: 18px; border: 1px solid var(--border); }
.sl:before { position: absolute; content: ""; height: 12px; width: 12px; left: 2px; bottom: 2px; background-color: var(--dim); transition: .4s; border-radius: 50%; }
input:checked + .sl { background-color: rgba(244,63,94,0.2); border-color: var(--rose); }
input:checked + .sl:before { transform: translateX(16px); background-color: var(--rose); }

/* MINI 3D THUMBS */
/* Phase 18 Animations */
@keyframes scanline-flux {
    0% { transform: translateY(-100%); opacity: 0; }
    50% { opacity: 0.1; }
    100% { transform: translateY(100%); opacity: 0; }
}
.bg-scanline {
    animation: scanline-flux 8s linear infinite;
    background: linear-gradient(to bottom, transparent, var(--aurora), transparent);
    height: 100px;
    z-index: 100;
    pointer-events: none;
}

@keyframes shard-pulse {
    0%, 100% { filter: brightness(1) drop-shadow(0 0 5px var(--cyan)); }
    50% { filter: brightness(1.5) drop-shadow(0 0 15px var(--cyan)); }
}
.shard-bar { animation: shard-pulse 2s ease-in-out infinite; }

.tab-content { transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform: translateY(10px); opacity: 0; }
.tab-content.active { transform: translateY(0); opacity: 1; }

@keyframes row-slide {
    from { opacity: 0; transform: translateX(-10px); }
    to { opacity: 1; transform: translateX(0); }
}
.ehr-card, .file-row, .param-row { animation: row-slide 0.3s ease-out forwards; }
.mini-3d-thumb {
    width: 60px;
    height: 60px;
    background: radial-gradient(circle, rgba(244,63,94,0.1) 0%, transparent 70%);
    border: 1px dashed rgba(255,255,255,0.1);
    border-radius: 4px;
    margin: 0 auto .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rose);
    transition: all .3s;
}
.mini-3d-thumb:hover {
    border-color: var(--rose);
    background: radial-gradient(circle, rgba(244,63,94,0.2) 0%, transparent 80%);
    transform: scale(1.05);
}

/* ENTERPRISE CLINIC UI */
.clinic-pane-grid { display: grid; grid-template-columns: 320px 1fr 380px; gap: 1rem; padding: 1rem; height: calc(100vh - 180px); overflow: hidden; }
.ehr-card { background: rgba(0,255,157,0.02); border: 1px solid var(--border); border-radius: 4px; display: flex; flex-direction: column; overflow: hidden; height: 100%; }
.ehr-header { background: rgba(0,255,157,0.05); padding: .8rem 1.2rem; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }
.ehr-body { padding: 1.2rem; flex: 1; overflow-y: auto; }
.ehr-stat-strip { display: flex; gap: 1rem; margin-bottom: 1.5rem; background: rgba(0,0,0,.2); padding: .8rem; border-radius: 8px; border: 1px solid rgba(255,255,255,0.05); }
.ehr-stat-item { flex: 1; text-align: center; border-right: 1px solid var(--border); }
.ehr-stat-item:last-child { border-right: none; }
.ehr-stat-item .val { font-family: 'JetBrains Mono', monospace; font-size: 1.1rem; color: var(--aurora); font-weight: bold; }
.ehr-stat-item .lbl { font-size: .55rem; color: var(--dim); text-transform: uppercase; margin-top: .2rem; }

.diag-tag { padding: 2px 8px; border-radius: 12px; font-size: .55rem; font-weight: bold; text-transform: uppercase; border: 1px solid transparent; display: inline-block; }
.diag-tag.stable { background: rgba(0,255,157,0.1); color: var(--aurora); border-color: var(--aurora); }
.diag-tag.warn { background: rgba(245,158,11,0.1); color: var(--gold); border-color: var(--gold); }
.diag-tag.critical { background: rgba(244,63,94,0.1); color: var(--rose); border-color: var(--rose); }

.clinic-note { background: rgba(255,255,255,0.03); border: 1px solid var(--border); padding: 1rem; margin-bottom: 1rem; border-left: 3px solid var(--violet); }
.clinic-note h4 { font-size: .75rem; color: var(--text); margin-bottom: .4rem; }
.clinic-note p { font-size: .65rem; color: var(--dim); line-height: 1.5; }

.patient-avatar { width: 48px; height: 48px; background: var(--grad); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: #fff; margin-right: .8rem; flex-shrink: 0; box-shadow: 0 0 15px rgba(124,58,237,0.3); }

.btn-primary {
    background: var(--grad);
    border: none;
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(6, 182, 212, 0.3);
}

.btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 15px -3px rgba(6, 182, 212, 0.4);
    filter: brightness(1.1);
}

.btn-primary:active { transform: scale(0.98); }

.clinic-sub-nav {
    display: flex;
    gap: 0.8rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.3);
    border-bottom: 1px solid var(--border);
}

.clinic-sub-btn {
    background: white;
    border: 1px solid var(--border);
    color: var(--dim);
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.65rem;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
}

.clinic-sub-btn:hover {
    border-color: var(--cyan);
    color: var(--cyan);
    background: rgba(6, 182, 212, 0.05);
}

.clinic-sub-btn.active {
    background: var(--mag);
    color: white;
    border-color: var(--mag);
    box-shadow: 0 4px 10px -2px rgba(160, 40, 128, 0.4);
}

/* Neural Chat Styles */
#neural-chat-wrap.minimized { height: 40px !important; overflow: hidden; }
#neural-chat-wrap { transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.chat-msg { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; padding: 0.6rem; border-radius: 4px; max-width: 85%; line-height: 1.4; position: relative; animation: row-slide 0.3s ease-out; margin-bottom: 0.5rem; }
.chat-msg.user { align-self: flex-end; background: rgba(0, 229, 255, 0.1); border: 1px solid var(--cyan); color: var(--cyan); }
.chat-msg.spu { align-self: flex-start; background: rgba(124, 58, 237, 0.1); border: 1px solid var(--violet); color: var(--violet); }
.chat-msg.system { align-self: center; background: transparent; color: var(--dim); font-size: 0.55rem; text-align: center; border: none !important; opacity: 0.7; max-width: 100%; }
.chat-msg.spu::after { content: 'SPU'; position: absolute; top: -10px; left: 0; font-size: 0.45rem; color: var(--violet); font-weight: bold; opacity: 0.6; }
.chat-msg.user::after { content: 'OBSERVER'; position: absolute; top: -10px; right: 0; font-size: 0.45rem; color: var(--cyan); font-weight: bold; opacity: 0.6; }

/* Neural Narratives Module */
.neural-header {
    border-color: var(--violet) !important;
}

.neural-mode-btn {
    border-radius: 2px;
    letter-spacing: .5px;
}
.neural-mode-btn.active {
    background: rgba(124, 58, 237, 0.15) !important;
    box-shadow: 0 0 12px rgba(124, 58, 237, 0.2);
}
.neural-mode-btn[data-mode="nt"].active {
    background: rgba(0, 229, 255, 0.12) !important;
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.2);
}

.bridge-card {
    background: rgba(124, 58, 237, 0.05);
    border: 1px solid rgba(124, 58, 237, 0.2);
    border-left: 3px solid var(--violet);
    padding: 1.2rem;
    border-radius: 4px;
    animation: row-slide 0.4s ease-out;
}

.neural-grid {
    animation: fadeIn 0.8s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

#neural-ego-input {
    min-height: 90px;
    font-size: .82rem;
    padding: 1rem;
    line-height: 1.5;
}

#neural-archetypes .cat-pill.active {
    background: rgba(124, 58, 237, 0.15);
    border-color: var(--violet);
    color: var(--violet);
}

#neural-archetypes .cat-pill i {
    margin-right: .3rem;
    font-size: .55rem;
}

.btn-primary i {
    margin-right: 0.5rem;
}

.journal-entry {
    padding: .6rem;
    border-bottom: 1px solid rgba(255,255,255,0.03);
    transition: background .2s;
}
.journal-entry:hover {
    background: rgba(124, 58, 237, 0.04);
}
.journal-entry:last-child {
    border-bottom: none;
}

/* ─── EEG LAB ────────────────────────────────────────────── */
.eeg-header-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;padding:.8rem 1rem;background:rgba(0,0,0,.3);border:1px solid rgba(0,255,157,.12)}
.eeg-status-dot{width:8px;height:8px;border-radius:50%;background:var(--dim);animation:blink 2s infinite}
.eeg-status-dot.active{background:var(--aurora)}
.eeg-signal-panel{border:1px solid var(--border);background:rgba(0,0,0,.4);margin-bottom:1rem}
.eeg-panel-hdr{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;color:var(--aurora);border-bottom:1px solid var(--border);background:rgba(0,0,0,.5)}
.eeg-signal-footer{display:flex;align-items:center;gap:1.5rem;padding:.4rem 1rem;font-family:'JetBrains Mono',monospace;font-size:.55rem;color:var(--dim);border-top:1px solid rgba(255,255,255,.04)}
.eeg-signal-footer b{color:var(--text)}
.eeg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.eeg-col{display:flex;flex-direction:column;gap:1rem}
.eeg-luna-arch{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.8rem;background:rgba(0,0,0,.3);border:1px solid rgba(0,229,255,.12)}
.luna-stage{font-family:'JetBrains Mono',monospace;font-size:.58rem;color:var(--dim);background:rgba(255,255,255,.04);padding:.3rem .8rem;border-radius:4px;border:1px solid rgba(255,255,255,.06);text-align:center;min-width:200px}
.luna-stage.active{color:var(--cyan);border-color:rgba(0,229,255,.3);background:rgba(0,229,255,.06)}
.luna-arrow{font-size:.8rem;color:var(--dim)}
.eeg-context-chip{display:flex;align-items:center;gap:.5rem;font-family:'JetBrains Mono',monospace;font-size:.58rem;padding:.4rem .8rem;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.2);color:var(--violet)}
.eeg-chat-log{flex:1;overflow-y:auto;min-height:180px;max-height:260px;padding:.5rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:.4rem}
.eeg-chat-msg{font-size:.7rem;line-height:1.55;padding:.5rem .7rem;border-radius:4px}
.eeg-chat-msg.system{background:rgba(255,255,255,.04);color:var(--dim);font-family:'JetBrains Mono',monospace;font-size:.58rem}
.eeg-chat-msg.user{background:rgba(124,58,237,.12);color:var(--text);text-align:right}
.eeg-chat-msg.ai{background:rgba(0,255,157,.06);color:var(--aurora)}
@media(max-width:1000px){.eeg-grid{grid-template-columns:1fr}}
