[data-vovry-lab]{--vl-bg:#F5F6F7;--vl-card:#FFF;--vl-text:#17242D;--vl-muted:#5B6E79;--vl-line:#E8EDEF;--vl-accent:#206B7A;--vl-soft:#EAF3F5;--vl-safe-top:max(var(--safe-top,0px),env(safe-area-inset-top,0px));--v-sb-progress-surface:var(--vl-bg);color:var(--vl-text)}
:root[data-theme="dark"] [data-vovry-lab]{--vl-bg:#11171B;--vl-card:#1A2329;--vl-text:#EBF0F2;--vl-muted:#A1ADB5;--vl-line:#2C3942;--vl-accent:#8DCBD6;--vl-soft:#233D46;--vl-profit-color:#54CE98;--vl-loss-color:#FF8E9A}
:root .v-sb-progress[data-vovry-lab]{background:var(--vl-bg);color:var(--vl-text)}
:root[data-vovry-display-mode="standalone"] [data-vovry-lab]{--vl-safe-top:max(var(--safe-top,0px),env(safe-area-inset-top,0px),44px);--v-sb-progress-header-space:calc(var(--vl-safe-top) + 82px)}
:root[data-vovry-display-mode="standalone"] [data-vovry-lab] .v-sb-progress-top{padding-top:calc(16px + var(--vl-safe-top));background:var(--vl-bg)}
/* Keep the fixed Lab header clear of iOS chrome even when JS display-mode detection is unavailable. */
:root [data-vovry-lab] .v-sb-progress-top{padding-top:calc(16px + var(--vl-safe-top))}
@media (display-mode:standalone) and (max-width:767px),(display-mode:fullscreen) and (max-width:767px){:root [data-vovry-lab]{--vl-safe-top:max(var(--safe-top,0px),env(safe-area-inset-top,0px),44px)}}
[data-vovry-lab] [hidden]{display:none!important}
[data-vovry-lab] :is(button,input,select,a){font:inherit}
.vl-entry:focus-visible,[data-vovry-lab] :is(button,a,input,select):focus-visible{outline:2px solid var(--vl-accent);outline-offset:3px}
:root [data-vovry-lab] .v-sb-progress-top{grid-template-columns:44px minmax(0,1fr) auto;gap:10px;background:var(--vl-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
:root [data-vovry-lab] .v-sb-back{width:44px;height:44px;border:0;background:var(--vl-card);color:var(--vl-text);box-shadow:none}
:root [data-vovry-lab] .v-sb-brand h1{font-size:23px;color:var(--vl-text);line-height:1.25}
:root [data-vovry-lab] .v-sb-brand .eyebrow{color:var(--vl-muted);font-size:10px}
:root [data-vovry-lab] .v-sb-brain-dot{display:none}
:root [data-vovry-lab] .v-sb-card{background:var(--vl-card);color:var(--vl-text);box-shadow:none;border:1px solid var(--vl-line);border-radius:18px}
:root [data-vovry-lab] .v-sb-card.is-featured{background:var(--vl-card)}
:root [data-vovry-lab] .v-sb-card.is-featured::after{display:none}
:root [data-vovry-lab] .v-sb-card-title{color:var(--vl-text)}
:root [data-vovry-lab] .v-sb-card-summary{color:var(--vl-muted)}
.vl-entry{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:14px 18px;margin:10px 0 18px;border:1px solid var(--vl-line);border-radius:18px;background:var(--vl-card);color:var(--vl-text);text-align:left;cursor:pointer}
.vl-entry svg,[data-vovry-lab] .vl-card svg{width:25px;height:25px;fill:none;stroke:var(--vl-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.vl-entry-label{display:grid;gap:5px;min-width:0;flex:1}.vl-entry-label strong{font-size:16px}.vl-entry-label small{font-size:12px;color:var(--vl-muted);overflow-wrap:anywhere}.vl-chevron{color:var(--vl-muted);font-size:24px}
[data-vovry-lab] .vl-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;gap:4px;width:100%;padding:3px;background:var(--vl-soft);border-radius:12px}
[data-vovry-lab] .vl-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 14px;border:0;border-radius:12px;background:var(--vl-soft);color:var(--vl-accent);cursor:pointer;text-decoration:none;line-height:1.3;overflow-wrap:anywhere;text-align:center}
[data-vovry-lab] .vl-tabs .vl-button{font-size:14px;padding:10px 5px;min-width:0;background:transparent;color:var(--vl-muted)}
[data-vovry-lab] .vl-tabs [aria-selected="true"]{background:var(--vl-card);color:var(--vl-accent);font-weight:650}
[data-vovry-lab] .vl-panel{display:grid;gap:14px;padding-top:12px}
[data-vovry-lab] .vl-card{padding:20px;border-radius:18px;background:var(--vl-card);border:1px solid var(--vl-line);overflow-wrap:anywhere;line-height:1.65}
[data-vovry-lab] .vl-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
[data-vovry-lab] .vl-card h2{font-size:19px;margin:0;flex:1;min-width:0;line-height:1.4}
[data-vovry-lab] .vl-card p{font-size:14px;margin:12px 0}
[data-vovry-lab] .vl-muted,[data-vovry-lab] .vl-empty{color:var(--vl-muted)}
[data-vovry-lab] .vl-empty{padding:32px 12px;text-align:center;font-size:14px}
[data-vovry-lab] .vl-badge{border-radius:8px;padding:4px 8px;font-size:12px;background:var(--vl-soft);color:var(--vl-accent)}
[data-vovry-lab] .vl-card>.vl-button{display:flex;margin-top:18px;width:fit-content}
[data-vovry-lab] .vl-search{display:flex;gap:8px;padding:12px 0}
[data-vovry-lab] .vl-search input,[data-vovry-lab] .vl-status{min-width:0;min-height:44px;border:1px solid var(--vl-line);border-radius:12px;padding:10px 12px;background:var(--vl-card);color:var(--vl-text);font-size:16px}
[data-vovry-lab] .vl-search input{width:100%;flex:1}
[data-vovry-lab] .vl-more{margin:18px auto;display:flex}
@media(prefers-reduced-motion:reduce){[data-vovry-lab]{transition:none!important}}

/* Experiment forms and sealed reports use the same Lab surfaces. */
[data-vovry-lab] .vl-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
[data-vovry-lab] .vl-button:active{opacity:.72}
[data-vovry-lab] .vl-button:disabled{opacity:.5;cursor:not-allowed}
[data-vovry-lab] .vl-actions [aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--vl-accent)}
[data-vovry-lab] .vl-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
[data-vovry-lab] .vl-form>:is(h2,p,fieldset,.vl-feedback,.vl-button,.vl-preview,.vl-details){grid-column:1/-1}
[data-vovry-lab] .vl-field{display:grid;gap:7px;min-width:0;font-size:14px}
[data-vovry-lab] .vl-field :is(input,select),[data-vovry-lab] .vl-indicator-choices select{width:100%;box-sizing:border-box;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--vl-line);border-radius:12px;background:var(--vl-card);color:var(--vl-text);font-size:16px}
[data-vovry-lab] .vl-presets{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0;border:0;min-width:0}
[data-vovry-lab] .vl-check{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;background:var(--vl-soft);border-radius:10px;font-size:14px}
[data-vovry-lab] .vl-check input{width:18px;height:18px;accent-color:var(--vl-accent)}
[data-vovry-lab] .vl-feedback{font-size:14px;line-height:1.5;overflow-wrap:anywhere;scroll-margin:150px 0 110px}
[data-vovry-lab] .vl-feedback:empty{display:none}
[data-vovry-lab] .vl-feedback small,[data-vovry-lab] .vl-indicator-panel small{display:block;overflow-wrap:anywhere}
[data-vovry-lab] .vl-details{margin:12px 0;max-width:100%}
[data-vovry-lab] .vl-details summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;color:var(--vl-accent)}
[data-vovry-lab] .vl-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;padding:12px;border-radius:12px;background:var(--vl-soft);font-size:12px;line-height:1.6;user-select:text}
[data-vovry-lab] .vl-card h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
[data-vovry-lab] .vl-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
[data-vovry-lab] .vl-metrics dt{font-size:12px;color:var(--vl-muted)}
[data-vovry-lab] .vl-metrics dd{margin:5px 0;font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
[data-vovry-lab] [data-sign="positive"]{color:var(--profit-color,var(--vl-profit-color,#16825c))}
[data-vovry-lab] [data-sign="negative"]{color:var(--loss-color,var(--vl-loss-color,#c44955))}
[data-vovry-lab] .vl-card svg.vl-report-plot,[data-vovry-lab] .vl-report-plot{display:block;width:100%;height:auto;min-height:100px;color:var(--vl-accent)}
[data-vovry-lab] .vl-report-section{border-bottom:1px solid var(--vl-line);padding:12px 0}
.vl-indicator-panel[data-vovry-lab]{position:fixed;z-index:1700;inset:auto 16px max(100px,env(safe-area-inset-bottom));max-width:520px;margin-left:auto;max-height:65dvh;overflow:auto;padding:18px;border:1px solid var(--vl-line);border-radius:18px;background:var(--vl-card);box-shadow:0 14px 50px #0003;overscroll-behavior:contain}
.vl-indicator-panel h2{font-size:18px;margin:0 0 14px}.vl-indicator-panel .vl-status{width:100%}
.vl-indicator-guide{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--vl-muted)}
.vl-indicator-choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.vl-indicator-choices .vl-field{width:100%}
.vl-indicator-legend[data-vovry-lab]{position:absolute;z-index:5;top:6px;left:10px;right:74px;display:flex;gap:8px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;pointer-events:none;font-size:11px;color:var(--vl-muted)}
.vl-indicator-legend[data-vovry-lab][hidden],.vl-indicator-pane[data-vovry-lab][hidden]{display:none}
.vl-indicator-legend-item{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:6px;background:var(--vl-bg)}
.vl-indicator-legend-item::before{content:"";width:12px;border-top:2px solid var(--vl-indicator-color);flex:none}
.vl-indicator-pane[data-vovry-lab]{position:absolute;inset:auto 0 0 0;height:var(--vl-indicator-pane-height,120px);z-index:4;background:var(--vl-bg);border-top:1px solid var(--vl-line);overflow:hidden}
.vl-indicator-pane-label{position:absolute;z-index:2;top:5px;left:8px;padding:3px 6px;border-radius:6px;background:var(--vl-bg);font-size:11px;font-weight:650;color:var(--vl-accent);pointer-events:none}
@media(max-width:480px){[data-vovry-lab] .vl-form{grid-template-columns:minmax(0,1fr)}[data-vovry-lab] .vl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}[data-vovry-lab] .vl-card{padding:16px}.vl-indicator-panel[data-vovry-lab]{inset-inline:10px;padding:14px}}
@media(prefers-reduced-motion:no-preference){[data-vovry-lab] .vl-button{transition:opacity 120ms ease}}
