/* RD NovaSphere V113 — curved system surfaces, clean mobile nav, dark NovaAI controls, alignment polish. */

/* Main NovaSphere system pages: soften sharp containers without turning them into pills. Individual portfolios are protected. */
body:not([data-rd-individual-portfolio="1"]) :where(
  .card,.coverage-item,.universe-card,.discipline-card,.principle-card,.flagship-card,.trust-card,
  .journey-panel,.arch-box,.path-step,.step,.band-item,.mini-stat,.view,.panel,.hero,
  .commerce-card,.tutorial-card,.feature-card,.system-card,.result-card,.notice-card
){
  border-radius:18px!important;
}
body:not([data-rd-individual-portfolio="1"]) :where(.hero,.journey-panel,.flagship-card,.trust-card,.view,.panel){border-radius:20px!important}

/* The mobile menu is text-first. Remove the stray three-line hamburger artwork everywhere. */
.final-nav-toggle .bars{display:none!important}
.final-nav-toggle{gap:0!important;min-width:72px!important;border-radius:14px!important}
.final-nav-toggle .final-nav-label{display:inline!important;white-space:nowrap!important}

/* Contextual NovaAI: never allow browser-default white form controls. */
.nova-context-voicebar :where(button,.nova-context-dictate,.nova-context-voicechat,.nova-context-stopvoice),
.nova-context-action-buttons :where(button),
.nova-context-send,.nova-context-copy{
  -webkit-appearance:none!important;appearance:none!important;
  background:linear-gradient(180deg,rgba(10,31,58,.96),rgba(5,20,42,.98))!important;
  color:#eaf5ff!important;
  border:1px solid rgba(126,205,255,.30)!important;
  box-shadow:none!important;
  border-radius:12px!important;
}
.nova-context-voicebar button.active{border-color:rgba(243,194,78,.72)!important;color:#ffd86f!important;background:rgba(36,31,16,.92)!important}
.nova-context-send{background:linear-gradient(135deg,#f7d474,#dea83f)!important;color:#07111d!important;border-color:transparent!important;font-weight:900!important}

/* Full NovaAI workspace voice/tool controls: force native controls into NovaAI styling on iOS/Safari too. */
body:has(.app-shell) :where(.tool-chip,#micBtn,#voiceChatBtn,#stopVoiceBtn){
  -webkit-appearance:none!important;appearance:none!important;
  background:#0a1a2d!important;color:#dcecff!important;border:1px solid rgba(146,178,218,.28)!important;
  border-radius:10px!important;box-shadow:none!important;
}
body:has(.app-shell) :where(.tool-chip,#micBtn,#voiceChatBtn,#stopVoiceBtn).listening,
body:has(.app-shell) #voiceChatBtn.listening{border-color:rgba(105,214,168,.72)!important;color:#c7f8e2!important;background:#0b2a2b!important}

/* Help launcher is an intentional tutorial control. */
#novaTutorialLauncher{cursor:pointer!important;touch-action:manipulation!important}

/* Alignment contract: keep labels centred, whole and inside their container. */
body:not([data-rd-individual-portfolio="1"]) :where(.tag,.badge,.chip,.pill,.status,.conn-status,.mini-stat strong,.step,.coverage-item){
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
body:not([data-rd-individual-portfolio="1"]) :where(.tag,.badge,.chip,.pill,.status,.conn-status){
  display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:middle;
  white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}

@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body:not([data-rd-individual-portfolio="1"]) :where(main,section,article,.card,.panel,.view,.hero,.grid,.steps){min-width:0!important;max-width:100%!important}
  body:not([data-rd-individual-portfolio="1"]) :where(.card,.coverage-item,.universe-card,.discipline-card,.principle-card,.flagship-card,.trust-card,.journey-panel,.arch-box,.path-step,.step,.band-item,.mini-stat,.view,.panel,.hero){border-radius:16px!important}
  body:not([data-rd-individual-portfolio="1"]) :where(.tag,.badge,.chip,.pill,.status,.conn-status){font-size:clamp(.72rem,3.2vw,.92rem)!important;line-height:1.18!important;padding:.46rem .64rem!important}
  .final-nav-toggle{min-height:44px!important;padding:.55rem .78rem!important}
  .nova-context-voicebar{gap:.45rem!important}
  .nova-context-voicebar button{font-size:.84rem!important;padding:.5rem .68rem!important;min-height:42px!important}
  .nova-context-voice-status{flex:1 1 100%!important;min-width:0!important;font-size:.76rem!important}
}
