/* Castlance Quality v21 — verified theme parity + compact management */

/* ---------- PUBLIC: light theme must actually be light ---------- */
html[data-theme="light"] body.castlance-public-v8 :is(.labs,.download-hero,.release-section,.requirements-section,.release-callout,.final-cta){
  background:#f3f6fa!important;background-color:#f3f6fa!important;color:#142238!important;
}
html[data-theme="light"] body.castlance-public-v8 .labs{border-color:#d7e2ed!important}
html[data-theme="light"] body.castlance-public-v8 .labs :is(h1,h2,h3,h4,b,strong,.labs-top h2){color:#142238!important;-webkit-text-fill-color:#142238!important}
html[data-theme="light"] body.castlance-public-v8 .labs :is(p,small,.labs-top p){color:#63778e!important;-webkit-text-fill-color:#63778e!important}
html[data-theme="light"] body.castlance-public-v8 .labs .lab{background:#fff!important;background-color:#fff!important;border-color:#d7e2ed!important;box-shadow:0 10px 28px rgba(20,45,75,.06)!important}
html[data-theme="light"] body.castlance-public-v8 .labs .lab.live{background:#f5fbf9!important;border-color:#b9e7d8!important}
html[data-theme="light"] body.castlance-public-v8 .labs .lab :is(h3){color:#142238!important;-webkit-text-fill-color:#142238!important}
html[data-theme="light"] body.castlance-public-v8 .labs .lab p{color:#647a91!important;-webkit-text-fill-color:#647a91!important}
html[data-theme="light"] body.castlance-public-v8 .labs .roadmap{background:#eef4fb!important;border-color:#ccdae8!important;color:#315a7d!important;-webkit-text-fill-color:#315a7d!important}

/* Download & demo page/section. No dark panel may survive in light mode. */
html[data-theme="light"] body.castlance-public-v8 .download-hero{background:linear-gradient(180deg,#f7faff 0%,#eef3f8 100%)!important}
html[data-theme="light"] body.castlance-public-v8 .download-hero :is(h1,h2,h3,b,strong){color:#142238!important;-webkit-text-fill-color:#142238!important}
html[data-theme="light"] body.castlance-public-v8 .download-hero :is(p,small,.platform-foot,.download-intro p){color:#62778f!important;-webkit-text-fill-color:#62778f!important}
html[data-theme="light"] body.castlance-public-v8 .download-hero :is(.download-platform,.os-detect,.release-meta span){background:#fff!important;background-color:#fff!important;border-color:#d7e2ed!important;color:#142238!important}
html[data-theme="light"] body.castlance-public-v8 .download-hero .release-meta b{color:#142238!important;-webkit-text-fill-color:#142238!important}
html[data-theme="light"] body.castlance-public-v8 .download-hero .platform-icon{background:#eaf1ff!important;color:#245fd8!important;-webkit-text-fill-color:#245fd8!important}

/* Home download/demo callout, release center and final CTA: real light cards. */
html[data-theme="light"] body.castlance-public-v8 :is(.try-card,.release-callout-box,.final-box){
  background:#fff!important;background-image:none!important;border:1px solid #d7e2ed!important;color:#142238!important;box-shadow:0 12px 34px rgba(20,45,75,.07)!important
}
html[data-theme="light"] body.castlance-public-v8 :is(.try-card,.release-callout-box,.final-box) :is(h1,h2,h3,h4,b,strong){color:#142238!important;-webkit-text-fill-color:#142238!important}
html[data-theme="light"] body.castlance-public-v8 :is(.try-card,.release-callout-box,.final-box) :is(p,small){color:#64798f!important;-webkit-text-fill-color:#64798f!important}
html[data-theme="light"] body.castlance-public-v8 :is(.try-card,.release-callout-box,.final-box) .eyebrow,
html[data-theme="light"] body.castlance-public-v8 .final-box>div>span{color:#2f67e8!important;-webkit-text-fill-color:#2f67e8!important}
html[data-theme="light"] body.castlance-public-v8 :is(.try-card,.release-callout-box,.final-box) .btn.white{background:#f7f9fc!important;color:#17304f!important;-webkit-text-fill-color:#17304f!important;border:1px solid #cbd9e7!important}

/* Floating hero badges had dark text on dark surfaces. */
html[data-theme="light"] body.castlance-public-v8 .floating{background:#fff!important;border-color:#d6e1ec!important;color:#142238!important}
html[data-theme="dark"] body.castlance-public-v8 .floating{background:#12243a!important;border-color:#32485f!important;color:#f2f7fb!important}
html[data-theme] body.castlance-public-v8 .floating b{color:inherit!important;-webkit-text-fill-color:inherit!important}
html[data-theme] body.castlance-public-v8 .floating span{color:var(--c16-muted)!important;-webkit-text-fill-color:var(--c16-muted)!important}
html[data-theme="dark"] body.castlance-public-v8 .floating span{color:#9fb3c8!important;-webkit-text-fill-color:#9fb3c8!important}

/* Reference rail: v16 left animation-play-state:paused on not-ready tracks. Force running. */
html[data-theme] body.castlance-public-v8 .cast-logo-marquee-v20 .cast-logo-track-v20{
  animation-name:castLogoRailV21!important;animation-duration:26s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-play-state:running!important;transform:translate3d(0,0,0);will-change:transform!important
}
html[data-theme] body.castlance-public-v8 .cast-logo-marquee-v20 .cast-logo-track-v20:not(.is-ready),
html[data-theme] body.castlance-public-v8 .cast-logo-marquee-v20:hover .cast-logo-track-v20{animation-play-state:running!important}
@keyframes castLogoRailV21{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:640px){html[data-theme] body.castlance-public-v8 .cast-logo-marquee-v20 .cast-logo-track-v20{animation-duration:21s!important}}

/* ---------- ADMIN: management sections should not create an endless page ---------- */
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-accordion{display:block;margin:12px 0;border:1px solid var(--a16-line)!important;border-radius:14px;background:var(--a16-surface)!important;overflow:hidden;box-shadow:var(--a16-shadow)!important}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;color:var(--a16-text)!important;font-weight:900}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-accordion>summary::-webkit-details-marker{display:none}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-accordion>summary:after{content:"+";display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--a16-surface2);border:1px solid var(--a16-line);color:var(--a16-text);font-size:18px}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-accordion[open]>summary:after{content:"−"}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-accordion>summary small{margin-left:auto;color:var(--a16-muted)!important;font-weight:700}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-body{padding:14px;border-top:1px solid var(--a16-line);background:var(--a16-surface2)}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-body>.grid2{margin:0!important;align-items:start!important}
html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-body .mini-list{max-height:520px;overflow:auto;overscroll-behavior:contain;padding-right:4px}
html[data-admin-theme] body.castlance-admin-v8 .showcase-intro{margin-bottom:10px!important}
@media(max-width:760px){html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-body{padding:10px}html[data-admin-theme] body.castlance-admin-v8 .admin-showcase-body>.grid2{grid-template-columns:1fr!important}}

/* ---------- PORTAL: compact folds, consistent geometry ---------- */
html[data-theme] body.castlance-portal-v8 .portal-fold{padding:0!important;overflow:hidden!important;background:var(--c16-surface)!important;border:1px solid var(--c16-line)!important;border-radius:14px!important;box-shadow:var(--c16-shadow)!important}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;min-height:64px;color:var(--c16-text)!important}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary::-webkit-details-marker{display:none}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary span{min-width:0}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary small{display:block;margin-bottom:3px;color:var(--c16-brand)!important;-webkit-text-fill-color:var(--c16-brand)!important;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary b{display:block;color:var(--c16-text)!important;-webkit-text-fill-color:var(--c16-text)!important;font-size:16px}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary em{font-style:normal;flex:0 0 auto;min-width:42px;padding:6px 9px;border-radius:999px;background:var(--c16-surface2);border:1px solid var(--c16-line);color:var(--c16-text)!important;text-align:center;font-size:11px;font-weight:900}
html[data-theme] body.castlance-portal-v8 .portal-fold-summary:after{content:"+";font-size:19px;color:var(--c16-muted);margin-left:2px}
html[data-theme] body.castlance-portal-v8 .portal-fold[open]>.portal-fold-summary:after{content:"−"}
html[data-theme] body.castlance-portal-v8 .portal-fold-body{padding:0 17px 17px;border-top:1px solid var(--c16-line)}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-desc{margin:14px 0 4px!important;color:var(--c16-muted)!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-progress{height:8px;margin:13px 0 15px;background:var(--c16-surface2)!important;border:1px solid var(--c16-line)!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-steps{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-step{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;min-height:68px!important;padding:10px!important;background:var(--c16-surface2)!important;border:1px solid var(--c16-line)!important;border-radius:11px!important;box-shadow:none!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-step>span{min-width:0!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-step strong{display:block!important;color:var(--c16-text)!important;-webkit-text-fill-color:var(--c16-text)!important;font-size:10px!important;line-height:1.25!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-step small{display:block!important;margin-top:3px!important;color:var(--c16-muted)!important;-webkit-text-fill-color:var(--c16-muted)!important;font-size:8px!important}
html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-note{margin:12px 0 0!important;padding:10px 12px!important;border-radius:10px!important;background:var(--c16-surface2)!important;border:1px solid var(--c16-line)!important;color:var(--c16-muted)!important;-webkit-text-fill-color:var(--c16-muted)!important}
html[data-theme] body.castlance-portal-v8 .portal-fold-body>.list{max-height:420px;overflow:auto;overscroll-behavior:contain;padding-top:12px}
@media(max-width:900px){html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-steps{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){html[data-theme] body.castlance-portal-v8 .portal-fold-summary{padding:13px 14px;min-height:58px}html[data-theme] body.castlance-portal-v8 .portal-fold-body{padding:0 13px 13px}html[data-theme] body.castlance-portal-v8 .portal-setup-fold .setup-steps{grid-template-columns:1fr!important}}
