
/* QENOVRA Decision Health: view-only animated visualization, not an execution signal. */
.qh-shell{--qh-ink:#effdef;--qh-muted:#9bb7ac;position:relative;overflow:hidden;margin:0 0 19px;padding:22px;border:1px solid #365746;border-radius:22px;background:linear-gradient(124deg,#0b1a18 0%,#10231f 46%,#10251c 100%);box-shadow:0 16px 65px #04140f5a,inset 0 1px #ffffff10;isolation:isolate}
.qh-shell::before{content:"";position:absolute;inset:-10% -15%;background:radial-gradient(ellipse at 45% 42%,#3b925a22,transparent 41%),radial-gradient(ellipse at 86% 12%,#dabc4420,transparent 30%);z-index:-1;pointer-events:none}
.qh-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.qh-title-row small{font-size:10px;letter-spacing:.22em;color:#92d7b4;font-weight:750}
.qh-title-row h2{margin:5px 0 4px;font-size:clamp(20px,2.1vw,29px);font-weight:760;letter-spacing:-.025em}
.qh-title-row p{color:var(--qh-muted);font-size:12px;margin:0;line-height:1.6}
.qh-real-tag{font-size:10px;letter-spacing:.08em;padding:8px 11px;border:1px solid #53744a;border-radius:99px;color:#c3e9af;background:#21412a9c}
.qh-body{display:grid;grid-template-columns:minmax(190px,1fr) minmax(300px,1.6fr) minmax(210px,1fr);gap:18px;align-items:stretch;margin-top:20px}
.qh-box{padding:17px;border-radius:15px;background:#0a1c18b8;border:1px solid #ffffff13;min-width:0}
.qh-mini-heading{font-size:11px;color:#86b7a0;letter-spacing:.12em;font-weight:720;margin-bottom:13px}
.qh-value{font-size:clamp(23px,3vw,39px);line-height:1;font-weight:770;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#e8ffe8}
.qh-detail{font-size:11px;line-height:1.6;color:var(--qh-muted);margin:8px 0 14px}
.qh-kicker{font-size:11px;color:#d9c67a;margin:13px 0 6px}
.qh-evidence{display:grid;gap:9px}
.qh-evidence .qh-line{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #d2fff114;padding-bottom:8px;font-size:11px}
.qh-evidence .qh-line span{color:#a5bfb2}.qh-evidence .qh-line strong{font-size:11px;max-width:56%;text-align:right;color:#e4efdf;overflow-wrap:anywhere}
.qh-middle{display:flex;align-items:center;justify-content:center;min-height:310px;position:relative;overflow:hidden;border-radius:17px;background:radial-gradient(circle at 50% 43%,#173b32bb,#08171444 61%);border:1px solid #47776342}
.qh-middle::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#bedbb909 1px,transparent 1px),linear-gradient(90deg,#bedbb909 1px,transparent 1px);background-size:31px 31px;mask-image:radial-gradient(ellipse,#000,transparent 80%);pointer-events:none}
.qh-orb{position:relative;width:min(78%,280px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 30px #54d77c32)}
.qh-orbit{position:absolute;border-radius:50%;inset:1%;border:1px solid #b4e2a552;transform:rotate(-30deg) scaleY(.62);box-shadow:0 0 28px #3bb66a22}
.qh-orbit.a{animation:qh-spin 12s linear infinite}.qh-orbit.b{inset:9%;border-color:#b6b56383;transform:rotate(35deg) scaleY(.62);animation:qh-spin-reverse 16s linear infinite}
.qh-orbit.c{inset:18%;border-color:#61bdb062;transform:rotate(86deg) scaleY(.65);animation:qh-spin 10s linear infinite}
.qh-seed{width:52%;aspect-ratio:1;border-radius:40% 60% 55% 45%;background:conic-gradient(from 60deg,#a8e4a5,#207c6e,#dcb94e,#a6f1bb,#1d7564,#a8e4a5);box-shadow:inset -20px -19px 32px #05392e9e,inset 18px 11px 30px #fff7a032,0 0 34px #73dd8d66;filter:saturate(1.1);animation:qh-breathe 5.5s ease-in-out infinite, qh-morph 11s ease-in-out infinite}
.qh-center-label{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;text-shadow:0 2px 16px #001f17}
.qh-center-label strong{font-size:14px;font-weight:900;letter-spacing:.07em;color:#f6ffe7}.qh-center-label span{font-size:10px;color:#e6f9d3}
.qh-lens-caption{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.08em;color:#a8cabb}
.qh-shell[data-state="offline"] .qh-orb{filter:saturate(.3) brightness(.65)}.qh-shell[data-state="offline"] .qh-orbit{animation-play-state:paused}
.qh-step{display:flex;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid #ffffff14}
.qh-step:last-child{border:0}
.qh-status-dot{width:10px;height:10px;margin-top:4px;border-radius:50%;background:#57695b;border:2px solid #8e9b8f;box-shadow:0 0 0 4px #53705a20;flex:none}
.qh-step[data-state="verified"] .qh-status-dot{background:#a6f7a9;border-color:#b1f5ab;box-shadow:0 0 0 4px #7ed58c2a}
.qh-step[data-state="waiting"] .qh-status-dot{background:#d1b35c;border-color:#d9c372}
.qh-step b{display:block;color:#e0f7e5;font-size:12px}.qh-step small{display:block;font-size:10px;color:#9bb8a8;margin-top:3px;overflow-wrap:anywhere}
.qh-foot{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #cce6c01c;margin-top:18px;padding-top:13px;color:#9db7a7;font-size:11px}
.qh-foot b{font-weight:650;color:#cef0cf}
@keyframes qh-spin{from{transform:rotate(0deg) scaleY(.62)}to{transform:rotate(360deg) scaleY(.62)}}
@keyframes qh-spin-reverse{from{transform:rotate(360deg) scaleY(.62)}to{transform:rotate(0deg) scaleY(.62)}}
@keyframes qh-breathe{0%,100%{transform:scale(.95) rotate(-7deg)}50%{transform:scale(1.07) rotate(8deg)}}
@keyframes qh-morph{0%,100%{border-radius:40% 60% 55% 45%}50%{border-radius:62% 38% 42% 58%}}
@media(max-width:1050px){.qh-body{grid-template-columns:1fr 1.3fr}.qh-box.qh-right{grid-column:1/-1}.qh-middle{min-height:260px}}
@media(max-width:680px){.qh-shell{padding:15px}.qh-body{grid-template-columns:1fr}.qh-middle{min-height:275px;grid-row:1}.qh-box.qh-right{grid-column:auto}.qh-title-row h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.qh-orbit,.qh-seed{animation:none!important}}


/* V3: moving real-data satellites. No synthetic trading values. */
.qh-middle{min-height:390px;isolation:isolate}
.qh-orb{width:min(62%,255px);z-index:3;filter:drop-shadow(0 0 35px #75e6a52f)}
.qh-grid-waves{position:absolute;inset:-20%;pointer-events:none;background:repeating-radial-gradient(circle at 50% 47%,transparent 0,transparent 36px,#9df5b20c 37px,#9df5b20c 38px,transparent 39px,transparent 69px);opacity:.65;transform:perspective(350px) rotateX(36deg)}
.qh-scan{position:absolute;inset:-35%;pointer-events:none;background:conic-gradient(from 0deg at 50% 47%,transparent 0deg,transparent 310deg,#60e7b316 337deg,#79ddbd46 357deg,transparent 360deg);mask-image:radial-gradient(ellipse at center,transparent 8%,black 21%,transparent 70%);animation:qh-radar-turn 13s linear infinite}
.qh-data-orbit,.qh-orbiting-particles{position:absolute;inset:0;pointer-events:none}
.qh-data-orbit{z-index:5}
.qh-data-node{position:absolute;top:47%;left:50%;width:104px;min-height:45px;margin:-22px 0 0 -52px;padding:7px 9px;background:linear-gradient(138deg,#17392eec,#0a221ced);border:1px solid #8adb9e5c;border-radius:10px;box-shadow:0 2px 20px #030f0eb8,inset 0 1px #e5ffe31b;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;will-change:transform;animation:qh-data-revolve 32s linear infinite}
.qh-data-node:nth-child(2){animation-delay:-8s;border-color:#cdbd726c}
.qh-data-node:nth-child(3){animation-delay:-16s;border-color:#85e3d288}
.qh-data-node:nth-child(4){animation-delay:-24s;border-color:#92d0ba68}
.qh-data-node small{color:#a6cbb6;font-size:8px;letter-spacing:.12em;font-weight:720}
.qh-data-node strong{font-size:10px;max-width:92px;line-height:1.25;color:#e4ffee;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qh-data-node i{position:absolute;bottom:-5px;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:#9fffbb;box-shadow:0 0 11px #85fabba9}
.qh-data-node.qh-ticked{box-shadow:0 0 30px #7eebb24f,inset 0 1px #d5ffe93c}
.qh-orbiting-particles{z-index:4}
.qh-orbiting-particles i{position:absolute;left:50%;top:47%;height:5px;width:5px;margin:-2px 0 0 -2px;border-radius:50%;background:#c9f9c2;box-shadow:0 0 10px 3px #9cfcd480;animation:qh-photon-spin 14s linear infinite}
.qh-orbiting-particles i:nth-child(2){animation-delay:-2.3s;background:#f6df8c}
.qh-orbiting-particles i:nth-child(3){animation-delay:-4.6s}
.qh-orbiting-particles i:nth-child(4){animation-delay:-6.9s;background:#91e5db}
.qh-orbiting-particles i:nth-child(5){animation-delay:-9.2s}
.qh-orbiting-particles i:nth-child(6){animation-delay:-11.5s;background:#f6df8c}
.qh-live-rail{position:absolute;left:15px;right:15px;bottom:37px;z-index:7;display:flex;align-items:center;gap:7px;border:1px solid #a2eeaf26;border-radius:7px;background:#051b17dc;padding:7px 8px;height:31px;overflow:hidden}
.qh-live-pin{flex-shrink:0;color:#c0ffac;font-size:8.5px;letter-spacing:.08em;font-weight:800;border-right:1px solid #a2eeaf35;padding-right:8px}
.qh-live-mask{overflow:hidden;min-width:0;flex:1;white-space:nowrap}
.qh-live-tape{display:flex;gap:40px;width:max-content;white-space:nowrap;animation:qh-marquee 30s linear infinite;color:#b1dec0;font:500 9.5px/1.2 ui-monospace,Consolas,monospace}
.qh-live-tape span{flex:none}
.qh-lens-caption{bottom:13px;letter-spacing:.1em;font-size:9px;color:#7da899}
.qh-shell[data-state="offline"] .qh-data-node,.qh-shell[data-state="offline"] .qh-orbiting-particles i,.qh-shell[data-state="offline"] .qh-scan{animation-play-state:paused;filter:saturate(.3)}
@keyframes qh-data-revolve{from{transform:rotate(0deg) translateX(150px) rotate(0deg)}to{transform:rotate(360deg) translateX(150px) rotate(-360deg)}}
@keyframes qh-photon-spin{from{transform:rotate(0) translateX(112px)}to{transform:rotate(360deg) translateX(112px)}}
@keyframes qh-radar-turn{to{transform:rotate(360deg)}}
@keyframes qh-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1120px){.qh-middle{min-height:350px}.qh-data-node{animation-name:qh-data-revolve-narrow}@keyframes qh-data-revolve-narrow{from{transform:rotate(0) translateX(124px) rotate(0)}to{transform:rotate(360deg) translateX(124px) rotate(-360deg)}}}
@media(max-width:680px){.qh-middle{min-height:350px}.qh-data-node{width:89px;margin-left:-44px;animation-name:qh-data-revolve-mobile}.qh-data-node strong{font-size:9px;max-width:80px}.qh-orb{width:61%}.qh-live-rail{bottom:37px}@keyframes qh-data-revolve-mobile{from{transform:rotate(0) translateX(107px) rotate(0)}to{transform:rotate(360deg) translateX(107px) rotate(-360deg)}}}
@media(prefers-reduced-motion:reduce){.qh-data-node,.qh-orbiting-particles i,.qh-scan,.qh-live-tape{animation:none!important}.qh-data-node:nth-child(1){transform:translateX(118px)}.qh-data-node:nth-child(2){transform:translateX(-118px)}.qh-data-node:nth-child(3){transform:translateY(107px)}.qh-data-node:nth-child(4){transform:translateY(-107px)}}


/* Selected quant-task cash + task-owned holdings only. Never account-wide. */
.qh-middle{min-height:455px}
.qh-asset-live{position:absolute;z-index:9;left:12px;right:12px;top:10px;min-height:62px;border:1px solid #81dfaa5c;border-radius:12px;padding:8px 11px 7px;background:linear-gradient(100deg,#091d1cfa,#154035eb 56%,#102a26f0);box-shadow:0 8px 25px #051710a8,inset 0 1px #cdffe329;color:#e9ffec;pointer-events:none}
.qh-asset-title{display:flex;justify-content:space-between;align-items:center;gap:6px;color:#b3d8c3;font:650 9px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.09em}
.qh-asset-title span:last-child{letter-spacing:0;font-size:9px;color:#a0bba9}
.qh-led{display:inline-block;width:6px;height:6px;margin-right:4px;vertical-align:1px;border-radius:50%;background:#97e5ab;box-shadow:0 0 9px #80f5a3}
.qh-asset-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:5px}
.qh-asset-summary strong{font:750 clamp(14px,1.75vw,22px)/1.05 ui-sans-serif,"Segoe UI",sans-serif;letter-spacing:-.02em;color:#effff1;font-variant-numeric:tabular-nums}
.qh-asset-summary>span{font-size:10px;line-height:1.3;color:#d0dbd1;text-align:right;font-variant-numeric:tabular-nums}
.qh-asset-live[data-trend=up] .qh-asset-summary>span{color:#99ffb3}
.qh-asset-live[data-trend=down] .qh-asset-summary>span{color:#ff9b99}
.qh-asset-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;color:#a2c2af;font-size:9px}
.qh-asset-bottom svg{width:102px;height:17px;flex:0 0 102px;overflow:visible}
.qh-asset-bottom polyline{fill:none;stroke:#a6e9ad;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qh-asset-live[data-trend=down] polyline{stroke:#f48d88}
.qh-asset-live[data-trend=unknown] .qh-led{background:#d2b769;box-shadow:0 0 7px #ecce8760}
.qh-data-node{top:54%}
.qh-orbiting-particles i{top:54%}
@media(max-width:1120px){.qh-middle{min-height:425px}.qh-asset-summary strong{font-size:18px}}
@media(max-width:680px){.qh-middle{min-height:420px}.qh-asset-live{left:9px;right:9px;padding:8px}.qh-asset-title{font-size:8px}.qh-asset-summary{flex-wrap:wrap;gap:4px}.qh-asset-summary strong{font-size:17px}.qh-asset-summary span{font-size:9px}.qh-asset-bottom svg{width:75px;flex-basis:75px}.qh-data-node{top:55%}.qh-orbiting-particles i{top:55%}}

/* Current task status and cash displayed together with the changing task value. */
.qh-task-foot{margin-top:6px;padding-top:5px;border-top:1px solid #b3ffbc1c;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:9px;color:#a9ccaf;font-variant-numeric:tabular-nums}
.qh-task-foot span:last-child{color:#c2eec9;text-align:right}
.qh-asset-live{min-height:91px}
@media(max-width:680px){.qh-asset-live{min-height:105px}.qh-asset-title span:first-child{letter-spacing:.02em}.qh-task-foot{font-size:8.5px}}

