/* VTS v50.31 — non-destructive premium hardening.
   Design-only finishing layer: no product capability is hidden or removed. */
:root{
  --v531-border:rgba(17,24,39,.075);
  --v531-border-strong:rgba(17,24,39,.13);
  --v531-shadow:0 18px 46px rgba(15,23,42,.075);
  --v531-shadow-float:0 28px 76px rgba(8,12,20,.18);
  --v531-purple:#5d54f6;
  --v531-purple-2:#4b43df;
}

/* Studio — preserve every existing control, improve hierarchy only. */
body.v22-studio.v531-non-destructive .topbar{
  border-bottom-color:var(--v531-border)!important;
}
body.v22-studio.v531-non-destructive .topbar .brand,
body.v22-studio.v531-non-destructive .top-actions :is(.btn,.icon-btn,.command-trigger,.v484-more),
body.v22-studio.v531-non-destructive :is(.readiness-pill,.usage-pill,.save-state){
  border-color:var(--v531-border)!important;
}
body.v22-studio.v531-non-destructive .publish-btn,
body.v22-studio.v531-non-destructive .stage-add-button,
body.v22-studio.v531-non-destructive .v528-author-tool.is-primary{
  background:linear-gradient(180deg,#6a62ff 0%,var(--v531-purple-2) 100%)!important;
}
body.v22-studio.v531-non-destructive .workspace{
  align-items:stretch!important;
}
body.v22-studio.v531-non-destructive .sidebar,
body.v22-studio.v531-non-destructive .inspector{
  border-color:var(--v531-border)!important;
  box-shadow:var(--v531-shadow)!important;
}
body.v22-studio.v531-non-destructive .viewer{
  border-color:rgba(17,24,39,.085)!important;
  box-shadow:0 30px 78px rgba(8,12,20,.21)!important;
}
body.v22-studio.v531-non-destructive .stage-context,
body.v22-studio.v531-non-destructive .viewer-controls,
body.v22-studio.v531-non-destructive .v528-author-dock{
  box-shadow:0 18px 46px rgba(0,0,0,.20)!important;
}
body.v22-studio.v531-non-destructive .v528-author-dock{
  position:absolute!important; left:16px!important; top:50%!important; z-index:38!important; transform:translateY(-50%)!important;
  display:flex!important; flex-direction:column!important; gap:5px!important; width:60px!important; padding:6px!important; border-radius:20px!important;
  border:1px solid rgba(255,255,255,.10)!important; background:rgba(8,12,18,.64)!important;
  backdrop-filter:blur(18px) saturate(125%)!important; pointer-events:auto!important;
}
body.v22-studio.v531-non-destructive .v528-author-tool{
  position:relative!important; width:46px!important; min-height:46px!important; display:grid!important; place-items:center!important; padding:0!important;
  border:0!important; border-radius:14px!important; background:transparent!important; color:rgba(255,255,255,.74)!important; pointer-events:auto!important;
}
body.v22-studio.v531-non-destructive .v528-author-tool svg{width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
body.v22-studio.v531-non-destructive .v528-author-divider{height:1px!important;margin:2px 5px!important;background:rgba(255,255,255,.10)!important}
body.v22-studio.v531-non-destructive .scene-row{
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease!important;
}
body.v22-studio.v531-non-destructive .scene-row.active{
  border-color:rgba(93,84,246,.20)!important;
  background:linear-gradient(90deg,#f0efff 0%,#fafaff 100%)!important;
}
body.v22-studio.v531-non-destructive .stage-context-menu{
  border-color:var(--v531-border)!important;
  box-shadow:var(--v531-shadow-float)!important;
}
body.v22-studio.v531-non-destructive .stage-context-actions button{
  box-shadow:0 4px 16px rgba(15,23,42,.025)!important;
}
body.v22-studio.v531-non-destructive .stage-context-actions button:hover,
body.v22-studio.v531-non-destructive .stage-context-actions button:focus-visible{
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
body.v22-studio.v531-non-destructive .form-section,
body.v22-studio.v531-non-destructive .v515-route-card,
body.v22-studio.v531-non-destructive .inspector-preview,
body.v22-studio.v531-non-destructive .theme-card{
  border-color:var(--v531-border)!important;
}
body.v22-studio.v531-non-destructive .inspector-scroll,
body.v22-studio.v531-non-destructive .scene-list{
  scrollbar-width:thin;
  scrollbar-color:rgba(95,105,125,.28) transparent;
}

/* Dashboard — premium density, no feature removal. */
body.v47-dashboard.v531-non-destructive .v47-sidebar,
body.v47-dashboard.v531-non-destructive .v47-topbar,
body.v47-dashboard.v531-non-destructive :is(.v47-continue,.v47-panel,.v47-card,.v47-media-card,.v47-folder-card,.v47-create,.v48-import-dialog){
  border-color:var(--v531-border)!important;
}
body.v47-dashboard.v531-non-destructive .v47-media-card,
body.v47-dashboard.v531-non-destructive .v471-start-grid button{
  transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease!important;
}
body.v47-dashboard.v531-non-destructive .v47-media-card:hover,
body.v47-dashboard.v531-non-destructive .v471-start-grid button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 22px 46px rgba(15,23,42,.09)!important;
}

/* Creator / publish — same material language. */
body.creator-v22.v531-non-destructive :is(.uc-steps,.uc-stage,.uc-inspector,.uc-timeline,.uc-card,.uc-analytics-card,.uc-list-item,.uc-point-row),
body.pc-page.v531-non-destructive :is(.pc-card,.pc-tabs,.pc-section-card){
  border-color:var(--v531-border)!important;
}
body.creator-v22.v531-non-destructive .uc-btn.primary,
body.pc-page.v531-non-destructive .pc-btn.primary{
  background:linear-gradient(180deg,#6a62ff 0%,var(--v531-purple-2) 100%)!important;
}

/* Public player — scene stays dominant; touch targets remain intact. */
body.v11-tour.v531-non-destructive :is(.tour-brand,.tour-actions,.scene-toast,.route-hint,.guided-status,.route-intelligence-status,.v12-journey-bar,.v12-scene-drawer,.intro-card,.accessibility-panel,.info-card,.exhibit-public-card,.guided-choice article){
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 24px 66px rgba(0,0,0,.26)!important;
}
body.v11-tour.v531-non-destructive .marker-main{
  min-width:44px!important;
  min-height:44px!important;
}
body.v11-tour.v531-non-destructive .marker-disc{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
}

@media(max-width:860px){
  body.v22-studio.v531-non-destructive .publish-btn{min-height:44px!important}
  body.v22-studio.v531-non-destructive .v484-mobile-dock button{min-height:50px!important}
  body.v22-studio.v531-non-destructive .v528-author-dock{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  body.v531-non-destructive *{transition-duration:.001ms!important;animation-duration:.001ms!important}
}

/* Dashboard: close legacy dark-hero text conflicts on the now light Continue card. */
body.v47-dashboard.v531-non-destructive .v47-continue-copy h2,
body.v47-dashboard.v531-non-destructive #continueTitle{
  color:#151d2d!important;
  text-shadow:none!important;
}
body.v47-dashboard.v531-non-destructive .v47-continue-copy p,
body.v47-dashboard.v531-non-destructive #continueText{
  color:#6d7a8f!important;
}
body.v47-dashboard.v531-non-destructive .v47-continue .v47-eyebrow{
  color:#665dff!important;
}
body.v47-dashboard.v531-non-destructive #continueLink{
  color:#fff!important;
  background:linear-gradient(180deg,#6a62ff 0%,#4b43df 100%)!important;
  border-color:transparent!important;
  box-shadow:0 12px 28px rgba(75,67,223,.24)!important;
}
body.v47-dashboard.v531-non-destructive .v47-account #userName{color:#fff!important}
body.v47-dashboard.v531-non-destructive .v47-account #userPlan{color:rgba(255,255,255,.62)!important}
