/* Shell only: no tool geometry, engines, or approved dark surfaces are rewritten. */
body.vc-workspace { --workspace-offset:var(--sidebar-width); }
:root[data-sidebar=closed] body.vc-workspace { --workspace-offset:0px; }
.vc-workspace main,.vc-workspace .site-footer,.vc-workspace .workspace-topbar { width:calc(100% - var(--workspace-offset)); margin-left:var(--workspace-offset); transition:width 220ms ease,margin-left 220ms ease; }
.vc-workspace .site-header { transition:transform 220ms ease,visibility 0s; }
:root[data-sidebar=closed] .vc-workspace .site-header { transform:translateX(-100%); visibility:hidden; transition:transform 220ms ease,visibility 0s linear 220ms; }
.vc-workspace .workspace-topbar { position:sticky; top:0; z-index:70; justify-content:center; min-height:64px; padding:8px 18px; gap:14px; background:linear-gradient(120deg,#111d31,#101a2d); border-bottom:1px solid #31425c; }
.vc-workspace .workspace-topbar nav { gap:8px; flex-wrap:nowrap; }
.vc-workspace .workspace-topbar a { min-height:44px; border:1px solid transparent; transition:background 160ms,box-shadow 160ms,transform 80ms; }
.vc-workspace .workspace-topbar a:hover { border-color:#426382; box-shadow:0 0 14px #66d9ff20; }
.vc-workspace .workspace-topbar a:active { transform:translateY(2px); box-shadow:inset 0 2px 5px #01061580; }
.vc-workspace .workspace-topbar .shell-button { display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; min-height:44px; padding:8px; border:1px solid #4d6b90; border-radius:9px; background:linear-gradient(#2a405c,#20324c); color:#a2e1ff; box-shadow:inset 0 1px 0 #c0ddff20,0 3px 0 #070e20; cursor:pointer; transition:box-shadow 160ms,transform 80ms,border-color 160ms; }
.vc-workspace .workspace-topbar .shell-button:hover { border-color:#9cddff; box-shadow:0 0 18px #56caff40,0 3px 0 #070e20; }
.vc-workspace .workspace-topbar .shell-button:active { transform:translateY(2px); box-shadow:inset 0 2px 5px #02081788; }
.vc-workspace .workspace-topbar .theme-toggle { color:#c0a6ff; }
:root:not([data-theme=light]) .theme-sun,:root[data-theme=light] .theme-moon { display:none; }
.vc-workspace .workspace-topbar :focus-visible { outline:3px solid #bfa3ff; outline-offset:3px; }
@media(max-width:820px) {
 body.vc-workspace { --workspace-offset:0px; }
 .vc-workspace .site-header { position:fixed; top:64px; bottom:0; width:min(280px,calc(100vw - 36px)); height:calc(100dvh - 64px); max-height:none; border-right:1px solid #31425c; border-bottom:0; box-shadow:16px 0 40px #02061755; }
 .vc-workspace .header-inner { display:block; padding:24px 18px; }
 .vc-workspace .site-nav { max-height:none; overflow:visible; }
 .vc-workspace .brand { margin-bottom:18px; }
 .vc-workspace .brand .brand-title { font-size:29px; }
 .vc-workspace .brand .brand-signature { font-size:11px; }
 .vc-workspace .brand-orbit { height:90px; top:-17px; }
 .vc-workspace .workspace-topbar { padding:8px; gap:8px; }
 .vc-workspace .workspace-topbar nav { gap:2px; }
 .vc-workspace .workspace-topbar a { padding:8px 9px; font-size:12px; }
}
@media(max-width:360px) { .vc-workspace .workspace-topbar { gap:5px; } .vc-workspace .workspace-topbar a { padding-inline:6px; font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .vc-workspace main,.vc-workspace .site-footer,.vc-workspace .site-header,.vc-workspace .workspace-topbar,.vc-workspace .workspace-topbar :is(a,button) { transition:none; } }

/* A short document still ends at the viewport; the scene keeps its approved size. */
body.vc-workspace { display:flex; flex-direction:column; min-height:100dvh; }
.vc-workspace .workspace-topbar,.vc-workspace .site-footer { flex:none; }
.vc-workspace main { flex:1 0 auto; align-content:start; }
.vc-hub-home.vc-workspace main { display:flex; flex-direction:column; justify-content:center; }
.vc-hub-home.vc-workspace main>.hub-intro,.vc-hub-home.vc-workspace main>.hub-scene { width:100%; flex:none; }
.vc-workspace .site-header .header-inner { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; flex-wrap:nowrap; gap:0; min-height:100%; padding:26px 18px 18px; }
.vc-workspace .site-header .brand { flex:none; align-self:flex-start; margin-bottom:0; }
.vc-workspace .site-header .site-nav { flex:0 0 auto; order:0; width:100%; max-height:none; overflow:visible; }
.vc-workspace .sidebar-footnote { order:1; flex-shrink:0; margin-top:auto; padding-top:28px; font-size:11px; color:#9db4cf; }
.vc-workspace .sidebar-footnote::before { content:""; display:block; height:1px; margin-bottom:18px; background:linear-gradient(90deg,#405773,#243550); }
.vc-workspace .sidebar-footnote p { display:flex; align-items:center; gap:9px; margin:0 0 3px; color:#dce8f8; }
.vc-workspace .sidebar-footnote svg { color:#71dbff; flex:none; }
.vc-workspace .sidebar-footnote>span { display:block; padding-left:27px; font-size:10px; }
.vc-workspace .sidebar-footnote small { display:block; margin-top:14px; font-size:10px; }
.vc-workspace .site-footer { padding:18px 30px 22px; border-top:1px solid #293b55; background:linear-gradient(120deg,#0c1425,#0a1120); }
.vc-workspace .site-footer .footer-inner { display:flex; flex-direction:column; flex-wrap:nowrap; justify-content:center; align-items:center; gap:7px; margin-inline:auto; text-align:center; }
.vc-workspace .footer-mark { display:flex; align-items:center; gap:9px; color:#bb8eff; }
.vc-workspace .footer-mark span { display:block; width:34px; height:1px; background:#65d5ff; box-shadow:0 0 8px #65d5ff30; }
.vc-workspace .footer-mark span:last-child { background:#bc90ff; }
.vc-workspace .footer-brand { margin:0; font-size:14px; font-weight:650; color:#d5e3f8; }
.vc-workspace .footer-note { margin:0; font-size:11px; color:#91a9c8; }
.vc-workspace .site-footer .footer-links { justify-content:center; width:100%; margin-top:8px; padding-top:12px; border-top:1px solid #293b55; gap:20px; font-size:11px; }
.vc-workspace .footer-links a { padding:5px 0; }
.vc-workspace .footer-links a:hover { color:#9bdfff; }
@media(max-width:820px) { .vc-workspace .site-footer { padding:18px 18px 32px; } }

@media(prefers-reduced-motion:reduce) { :root[data-sidebar=closed] .vc-workspace .site-header { transition:none; } }

/* A brief identity-color frame highlights the whole expanded category. */
.vc-workspace .site-nav details[data-category-id] { position:relative; }
.vc-workspace .site-nav details[data-neon-pulse] { outline:1px solid var(--category-neon); outline-offset:2px; animation:sidebar-category-neon 3s ease-out forwards; }
.vc-workspace .site-nav details[data-category-id="imagenes"] { --category-neon:var(--category-imagenes); }
.vc-workspace .site-nav details[data-category-id="pdf"] { --category-neon:var(--category-pdf); }
.vc-workspace .site-nav details[data-category-id="texto"] { --category-neon:var(--category-texto); }
.vc-workspace .site-nav details[data-category-id="media"] { --category-neon:var(--category-media); }
.vc-workspace .site-nav details[data-category-id="negocio"] { --category-neon:var(--category-negocio); }
.vc-workspace .site-nav details[data-category-id="trabajo"] { --category-neon:var(--category-trabajo); }
.vc-workspace .site-nav details[data-category-id] summary .sidebar-icon { color:var(--category-neon); }
@keyframes sidebar-category-neon {
  0%,16%,34%,52% { outline-color:var(--category-neon); box-shadow:0 0 8px color-mix(in srgb,var(--category-neon) 75%,transparent),0 0 18px color-mix(in srgb,var(--category-neon) 42%,transparent); }
  8%,24%,42%,60% { outline-color:color-mix(in srgb,var(--category-neon) 65%,transparent); box-shadow:0 0 3px color-mix(in srgb,var(--category-neon) 44%,transparent),0 0 8px color-mix(in srgb,var(--category-neon) 20%,transparent); }
  100% { outline-color:transparent; box-shadow:none; }
}
@media(prefers-reduced-motion:reduce) {
  .vc-workspace .site-nav details[data-neon-pulse] { animation:none; outline-color:var(--category-neon); box-shadow:0 0 8px color-mix(in srgb,var(--category-neon) 55%,transparent); }
}
