/* Public landing only: preserve the app's established colors and typography. */
.qsl-landing {--qsl-ease:cubic-bezier(.16,1,.3,1);}
.qsl-skip {position:fixed;top:8px;left:12px;z-index:100;padding:12px 16px;background:var(--color-bg);color:var(--color-text);transform:translateY(-180%);}
.qsl-skip:focus {transform:translateY(0);}
#landing-main {scroll-margin-top:92px;}
.qsl-login {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;font-size:13.5px;font-weight:600;white-space:nowrap;}
@media(max-width:380px) {
 .qsl-landing .qsl-header>div {flex-wrap:wrap;height:auto!important;padding-top:10px!important;padding-bottom:10px!important;}
 .qsl-landing .qsl-header .qsl-nav-right {width:100%;justify-content:flex-end;}
 .qsl-landing #landing-main,.qsl-landing #demo,.qsl-landing #measure,.qsl-landing #security {scroll-margin-top:126px;}
}
.qsl-header a[href="#access"] {min-height:44px;}
.qsl-footer-links {flex-wrap:wrap;min-width:0;max-width:100%;gap:8px 18px!important;}
.qsl-footer-links a {display:inline-flex;align-items:center;min-height:44px;padding:4px 0;white-space:nowrap;}
.qsl-footer-links>span {flex-basis:100%;line-height:1.6;overflow-wrap:anywhere;}
/* Keep visually condensed column labels available to table navigation. */
@media(max-width:600px) {
 .qsl-landing .qsl-header>div {padding-left:16px!important;padding-right:16px!important;gap:8px!important;}
 .qsl-landing .qsl-nav-right {gap:6px!important;}
 .qsl-landing .qsl-nav-right>a {font-size:12px!important;padding-left:8px!important;padding-right:8px!important;}
 .qsl-landing .qsl-footer {padding-left:22px!important;padding-right:22px!important;}
 .qsl-landing #demo .qsl-holdings-table [role="columnheader"]:nth-child(2),
 .qsl-landing #demo .qsl-holdings-table [role="columnheader"]:nth-child(4) {display:block!important;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
}
.qsl-landing h1,.qsl-landing h2 {text-wrap:balance;}
.qsl-landing a,.qsl-landing button {transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;}
.qsl-landing a:focus-visible,.qsl-landing button:focus-visible {outline:2px solid var(--color-accent-700);outline-offset:5px;}
.qsl-landing a[href="#access"]:hover {box-shadow:0 5px 18px #0003;}
.qsl-landing .qsl-hero {align-items:center!important;}
.qsl-landing .qsl-hero-copy {padding-top:64px!important;padding-bottom:48px!important;}
.qsl-landing .qsl-hero-copy>div:first-child {margin-bottom:22px!important;}
.qsl-landing .qsl-hero-copy h1 {font-size:clamp(44px,4.8vw,72px)!important;max-width:10.5em;}
.qsl-landing .qsl-hero-visual {min-width:0;}
.qsl-landing .qsl-hero-visual [data-qs-bklit] {min-height:390px;}
[data-qs-bklit] {font-family:var(--font-body);color:var(--color-text);--chart-background:var(--color-bg);--chart-foreground:var(--color-text);--chart-foreground-muted:var(--color-neutral-600);--chart-line-primary:var(--color-accent-700);--chart-line-secondary:var(--color-neutral-500);--chart-grid:var(--color-neutral-300);--chart-crosshair:var(--color-neutral-600);--chart-tooltip-background:var(--color-surface);--chart-tooltip-foreground:var(--color-text);--chart-tooltip-muted:var(--color-neutral-600);--chart-label:var(--color-neutral-600);--chart-1:var(--color-accent-700);--chart-2:var(--color-neutral-500);--popover:var(--color-surface);--popover-foreground:var(--color-text);}
.qs-bklit-header {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--color-neutral-600);margin-bottom:20px;}
.qs-sample-tag {display:inline-flex;gap:8px;align-items:center;}
.qs-sample-tag:before {content:'';width:6px;height:6px;background:var(--color-accent-700);border-radius:50%;}
.qs-bklit-value {font-family:var(--font-heading);font-size:clamp(34px,3.8vw,52px);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.05;}
.qs-bklit-result {display:flex;align-items:baseline;gap:12px;margin:12px 0 24px;color:var(--color-accent-700);font-size:19px;font-weight:700;}
.qs-bklit-result>span {font-size:12px;font-weight:500;color:var(--color-neutral-700);}
.qs-bklit-controls {display:flex;align-items:center;gap:4px;margin-bottom:10px;}
.qs-bklit-controls button {font:600 13px var(--font-body);min-width:48px;min-height:44px;padding:8px 14px;color:var(--color-neutral-700);background:transparent;border:1px solid transparent;cursor:pointer;}
.qs-bklit-controls button[aria-pressed=true] {background:var(--color-neutral-200);color:var(--color-text);border-color:var(--color-neutral-400);}
.qs-bklit-controls button:hover {border-color:var(--color-accent-700);}
.qs-bklit-controls>span {margin-left:auto;font-size:12px;color:var(--color-neutral-600);}
.qs-bklit-plot {width:100%;min-height:200px;}
.qs-bklit-legend {display:flex;gap:20px;align-items:center;margin-top:12px;font-size:12px;color:var(--color-neutral-700);}
.qs-bklit-legend>span {display:flex;gap:7px;align-items:center;}
.qs-bklit-legend i {display:inline-block;width:18px;height:2px;background:var(--color-accent-700);}
.qs-bklit-legend>span:nth-child(2) i {background:var(--color-neutral-500);}
.qs-bklit-legend small {margin-left:auto;color:var(--color-neutral-600);font-size:11px;}
.qs-chart-tip {padding:12px 14px;min-width:168px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-neutral-400);font:12px var(--font-body);box-shadow:0 8px 24px #0003;}
.qs-chart-tip strong {display:block;margin-bottom:8px;color:var(--color-neutral-600);}
.qs-chart-tip span {display:flex;justify-content:space-between;gap:20px;line-height:1.8;}
.qs-chart-fallback {color:var(--color-neutral-600);font-size:13px;margin-top:60px;}
.qsl-landing #preview h2 {max-width:22em!important;}
.qsl-landing #preview {scroll-margin-top:92px;}
.qsl-landing #demo,.qsl-landing #measure,.qsl-landing #security {scroll-margin-top:92px;}
.qsl-landing #demo button {min-height:44px;}
@media(max-width:1040px) {
 .qsl-landing .qsl-hero {gap:12px!important;}
 .qsl-landing .qsl-hero-copy {padding-right:0!important;padding-bottom:16px!important;}
 .qsl-landing .qsl-hero-visual {padding:12px 0 32px!important;}
 .qsl-landing .qsl-hero-visual [data-qs-bklit] {min-height:0;}
}
@media(max-width:600px) {
 .qsl-landing .qsl-hero-copy {padding-top:30px!important;padding-bottom:12px!important;}
 .qsl-landing .qsl-hero-copy h1 {font-size:40px!important;line-height:1.02!important;}
 .qsl-landing .qsl-hero-copy p {font-size:16px!important;line-height:1.55!important;margin-bottom:24px!important;}
 .qsl-landing .qsl-hero-copy>div:first-child {font-size:10px!important;letter-spacing:.09em!important;margin-bottom:18px!important;}
 .qsl-landing .qsl-hero-copy>div:last-child {font-size:12px!important;}
 .qsl-landing .qsl-hero-copy a {min-height:46px;height:auto!important;font-size:13px!important;padding:12px 16px!important;}
 .qsl-landing .qsl-hero-copy>div:nth-last-child(2) {gap:10px!important;flex-wrap:nowrap!important;}
 .qsl-landing .qsl-hero-visual {padding-top:20px!important;border-top:1px solid var(--color-neutral-300)!important;}
 .qs-bklit-header {font-size:11px;margin-bottom:14px;}
 .qs-bklit-value {font-size:40px;}
 .qs-bklit-result {margin-bottom:14px;gap:8px;}
 .qs-bklit-result>span {font-size:11px;}
 .qs-bklit-controls button {padding:8px 12px;}
 .qs-bklit-controls>span {font-size:11px;}
 .qs-bklit-plot {min-height:160px;}
 .qsl-landing #preview,.qsl-landing #demo,.qsl-landing #measure,.qsl-landing #security {padding-top:40px!important;margin-top:40px!important;}
 .qsl-landing #preview p {margin-bottom:26px!important;font-size:15px!important;}
 .qsl-landing #demo button {padding:12px 16px!important;font-size:12px!important;letter-spacing:.04em!important;}
 .qsl-landing #access>div {padding-top:48px!important;padding-bottom:48px!important;}
}
@media(prefers-reduced-motion:reduce) {
 .qsl-landing * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
