/* OTV-001 pitch dashboard. Scoped to the ECAI orbital panel. */
.otv-view{--otv-bg:#071420;--otv-panel:#0b1b2a;--otv-line:#254056;--otv-teal:#72e3da;--otv-amber:#ffca75;--otv-red:#ff777d;--otv-text:#e9f5fa;--otv-sub:#96b1c2;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;max-width:1600px;margin:0 auto;color:#e9f5fa}
.otv-view [hidden]{display:none!important}.otv-view button,.otv-view select,.otv-view input{font:inherit}.otv-view button{cursor:pointer}.otv-view button:focus-visible,.otv-view input:focus-visible,.otv-view select:focus-visible,.otv-view canvas:focus-visible{outline:2px solid var(--otv-teal);outline-offset:3px}
.otv-hero{background:radial-gradient(ellipse at 83% 5%,rgba(33,159,172,.25),transparent 52%),linear-gradient(125deg,#071320,#10273b 70%,#12273a);border-radius:17px 17px 0 0;position:relative;overflow:hidden;border:1px solid var(--otv-line);border-bottom:0;display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:24px;padding:36px 40px}
.otv-hero:after{content:'';position:absolute;right:-170px;top:-280px;width:520px;height:520px;border:1px solid rgba(114,227,218,.16);border-radius:50%;box-shadow:0 0 0 75px rgba(114,227,218,.025),0 0 0 140px rgba(114,227,218,.018);pointer-events:none}
.otv-hero-copy{position:relative;z-index:1}.otv-eyebrow,.otv-overline{color:#8ecad4;letter-spacing:.17em;font-size:10px;font-weight:800}.otv-eyebrow{display:flex;align-items:center;gap:10px}.otv-signal,.otv-live-dot{width:7px;height:7px;background:#72e3da;display:inline-block;border-radius:50%;box-shadow:0 0 0 5px rgba(114,227,218,.1)}.otv-separator{color:#5f7a91}
.otv-hero h1{font-size:clamp(30px,3.5vw,49px);letter-spacing:-.056em;line-height:1.08;font-weight:780;color:#f4fbff;margin:17px 0 13px}.otv-hero h1 span{color:#72e3da}.otv-hero p{font-size:14px;line-height:1.75;color:#acc8d5;max-width:790px;margin:0}.otv-hero p strong{color:#f1fbff;font-weight:650}.otv-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}
.otv-primary{background:linear-gradient(110deg,#76e7d9,#89ead2);border:1px solid #a0ffdf;color:#08232b;font-weight:800;min-height:39px;padding:10px 16px;border-radius:7px;box-shadow:0 7px 21px rgba(65,217,190,.13);font-size:12px!important}.otv-primary:hover{filter:brightness(1.08)}
.otv-ghost{background:#142c3e;color:#d4edf2;border:1px solid #355468;font-weight:640;min-height:39px;padding:10px 14px;border-radius:7px;font-size:12px!important}.otv-ghost:hover{background:#1c394d;border-color:#59969e}
.otv-hero-side{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.otv-hero-mark{font-size:69px;line-height:.95;letter-spacing:-.12em;font-weight:850;color:#c2fef2;text-shadow:0 0 26px rgba(114,227,218,.12)}.otv-hero-mark span{color:#4aa5b1}.otv-hero-aside{text-align:right;letter-spacing:.15em;font-size:10px;color:#90bdc7;line-height:1.65;font-weight:760}
.otv-context-bar{background:#0a1826;border:1px solid var(--otv-line);border-radius:0 0 12px 12px;color:#a6bac8;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;padding:13px 25px;font-size:10px;letter-spacing:.085em;font-weight:750;margin-bottom:18px}.otv-context-bar span{display:inline-flex;align-items:center;gap:12px}
.otv-main-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(315px,.83fr);gap:15px;align-items:stretch}.otv-card{background:#0b1928;border:1px solid #244057;border-radius:13px;min-width:0;overflow:hidden;color:#e7f1f8}.otv-card-head{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:19px 19px 15px}.otv-card-head h2{font-size:16px;letter-spacing:-.02em;font-weight:750;color:#ebf7fb;margin:6px 0 0}.otv-chip{font:700 10px ui-monospace,monospace;color:#89e5d8;border:1px solid #236b75;padding:6px 8px;background:#0b343d;border-radius:5px;white-space:nowrap}
.otv-scene-wrap{height:clamp(355px,35vw,510px);margin:0 14px;background:radial-gradient(ellipse at 50% 38%,#123147,#081624 68%,#040e18);border:1px solid #2a485c;border-radius:9px;position:relative;overflow:hidden}
#otvScene{height:100%;width:100%;display:block;touch-action:none;cursor:grab}#otvScene:active{cursor:grabbing}
.otv-scene-top,.otv-scene-bottom{pointer-events:none;position:absolute;left:15px;right:15px;display:flex;justify-content:space-between;color:#8aa8b9;font:700 10px ui-monospace,monospace;letter-spacing:.08em;gap:9px}.otv-scene-top{top:15px}.otv-scene-bottom{bottom:14px}.otv-scene-top span:nth-child(2){color:#91ecdd}.otv-scene-label{position:absolute;pointer-events:none;bottom:62px;display:flex;flex-direction:column;gap:5px;font-size:10px;color:#91aec0;letter-spacing:.09em}.otv-scene-label strong{font:760 20px ui-monospace,monospace;letter-spacing:-.02em}.otv-scene-left{left:19px}.otv-scene-left strong{color:var(--otv-teal)}.otv-scene-right{right:19px;text-align:right}.otv-scene-right strong{color:var(--otv-amber)}
.otv-timeline{padding:17px 20px 20px}.otv-timeline-top{display:flex;justify-content:space-between;font:700 11px ui-monospace,monospace;color:#8ba7b9;letter-spacing:.07em}.otv-timeline output{color:#e8fafb}.otv-timeline input[type=range]{width:100%;accent-color:#77e3d8;cursor:pointer;height:19px;padding:0;margin:8px 0 0;background:transparent;border:0}
.otv-control-card{padding:0 18px 16px}.otv-control-card .otv-card-head{padding:19px 0 14px}.otv-small{font-size:12px;line-height:1.6;color:#9bb6c7;margin:0 0 14px}.otv-control-card label{font-size:11px;font-weight:720;color:#bcd2dd;display:block;margin:14px 0 7px}.otv-control-card select,.otv-control-card input[type=number]{width:100%;border:1px solid #345467;background:#112b3d;border-radius:6px;padding:11px 12px;color:#ecf7fa;font-size:12px;min-height:41px}.otv-control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.otv-divider{border-top:1px solid #244056;margin:18px 0}.otv-result-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font:750 10px ui-monospace,monospace;color:#9cbcca;letter-spacing:.07em}.otv-status{color:#bcd2dd;padding:4px 8px;border:1px solid #446078;border-radius:4px}.otv-status.is-fail{color:#ffa0a3;background:rgba(199,75,90,.13);border-color:#ab5269}.otv-status.is-pass{color:#87e5c5;background:rgba(76,184,147,.11);border-color:#43998c}.otv-result-summary{min-height:43px;color:#d5e6ef;font-size:12px;line-height:1.6;margin:11px 0}.otv-mini-data{display:grid;grid-template-columns:1fr 1fr;gap:11px}.otv-mini-data>div{display:flex;flex-direction:column;gap:7px}.otv-mini-data span{font-size:10px;color:#859cab}.otv-mini-data strong{font:750 13px ui-monospace,monospace;color:#eaf6f9}.otv-export-head{font-size:10px;letter-spacing:.08em;font-weight:750;color:#b1cbd6}.otv-export-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.otv-export-actions button{flex:1;white-space:nowrap;min-width:100px}.otv-fine{font-size:10px;color:#83a0b3;line-height:1.6;margin:12px 0 0}
.otv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.otv-stat{background:#0d2030;border:1px solid #2a4658;border-radius:10px;padding:17px 17px 15px;min-width:0;display:flex;flex-direction:column;gap:7px}.otv-stat span{color:#86a5b7;font:750 9px ui-monospace,monospace;letter-spacing:.075em}.otv-stat strong{font:740 27px ui-monospace,monospace;letter-spacing:-.055em;color:#e5f9fd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.otv-stat:nth-child(2) strong{color:#fd8d90}.otv-stat:nth-child(3) strong{color:#e9c27f}.otv-stat .otv-hash{font-size:18px;color:#8beada}.otv-stat small{font-size:10px;color:#93adbd;line-height:1.3}
.otv-lower-grid{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(260px,.88fr) minmax(260px,.88fr);gap:14px;align-items:stretch}.otv-telemetry,.otv-findings,.otv-ecai{min-height:340px}.otv-chart-key{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px;color:#9fb7c7;font-size:10px}.otv-chart-key>span{display:inline-flex;align-items:center;gap:5px}.otv-chart-key i{height:7px;width:7px;border-radius:50%;display:inline-block}.otv-key-cyan{background:#65d8e3}.otv-key-amber{background:#f2bc73}.otv-key-red{background:#ec6d79}#otvChart{display:block;margin:8px 10px 0;width:calc(100% - 20px);height:230px}.otv-telemetry .otv-fine{margin:5px 18px 16px}
.otv-findings-list{padding:0 18px 16px;display:flex;flex-direction:column;gap:9px;font-size:12px;color:#acc2d0}.otv-finding{background:#11293a;border:1px solid #305064;border-radius:7px;padding:10px 12px}.otv-finding strong{font-size:12px;color:#f0f8fa}.otv-finding p{font-size:11px;color:#91afc0;margin:5px 0 0}.otv-finding.is-fail{border-left:3px solid #f08491}.otv-finding.is-pass{border-left:3px solid #75e0b4}.otv-analogues{display:flex;flex-direction:column;gap:9px;padding:0 17px}.otv-analogue{background:#11283a;border:1px solid #275166;border-radius:7px;padding:12px}.otv-analogue strong{display:block;font-size:12px;color:#d9eef2;margin-bottom:6px}.otv-analogue .otv-match{float:right;color:#8ce5d7;font:750 11px ui-monospace,monospace}.otv-analogue p{font-size:11px;color:#90b0c0;line-height:1.55;margin:0}.otv-ecai>.otv-small{padding:0 18px;margin-bottom:13px}.otv-next{background:#112b38;border-top:1px solid #254453;padding:15px 17px 20px;margin-top:17px}.otv-next-title{font-size:10px;color:#7ee1db;letter-spacing:.08em;font-weight:780}.otv-next p{font-size:11px;color:#a5c1cc;line-height:1.6;margin:8px 0 0}.otv-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#7695a9;font:700 10px ui-monospace,monospace;letter-spacing:.04em;padding:22px 3px 8px}
.otv-view:fullscreen{background:#061421;overflow:auto;padding:22px;max-width:none}.otv-view:fullscreen .otv-hero{padding:25px 30px}.otv-view:fullscreen .otv-hero h1{font-size:37px}.otv-view:fullscreen .otv-scene-wrap{height:49vh;max-height:640px}
@media(max-width:1150px){.otv-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr)}.otv-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.otv-ecai{grid-column:1/-1}.otv-hero{padding:31px}.otv-hero-side{display:none}.otv-hero{grid-template-columns:1fr}}
@media(max-width:820px){.otv-main-grid{grid-template-columns:1fr}.otv-lower-grid{grid-template-columns:1fr}.otv-ecai{grid-column:auto}.otv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.otv-scene-wrap{height:380px}}
@media(max-width:520px){.otv-hero{padding:22px 18px}.otv-hero h1{font-size:33px}.otv-context-bar{justify-content:flex-start;gap:12px}.otv-card-head{padding:16px}.otv-scene-wrap{height:350px;margin:0 8px}.otv-scene-label strong{font-size:17px}.otv-scene-top,.otv-scene-bottom{font-size:8px}.otv-stats{gap:8px}.otv-stat{padding:12px}.otv-stat strong{font-size:22px}.otv-card-head h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){.otv-view *{scroll-behavior:auto!important;transition:none!important}}
