/* RD NovaSphere V114 — system polish, tutorial mesh, compact NovaAI controls. Portfolios excluded. */

/* Refined curved rectangles: not pills, not sharp boxes. */
body:not([data-rd-individual-portfolio="1"]) :where(
  .about-card,.mission,.stat,.legal-preview-card,.section-band,.hero-brand-card,
  .card,.panel,.view,.hero-card,.journey-panel,.flagship-card,.trust-card,.universe-card,
  .principle-card,.coverage-item,.arch-box,.path-step,.band-item,.commerce-pulse,.pulse-item,
  .market-card,.connector,.intelbox,.setup-note,.live-note,.tutorial-card,.system-card,.feature-card
){border-radius:18px!important;overflow-wrap:normal;word-break:normal}
body:not([data-rd-individual-portfolio="1"]) :where(.about-card,.mission,.hero-brand-card,.section-band,.journey-panel,.hero-card){border-radius:20px!important}

/* Keep inner rectangular stats/cards softly curved too. */
body:not([data-rd-individual-portfolio="1"]) :where(.stats>.stat,.about-card .stat,.flow>div){border-radius:14px!important}

/* Contextual NovaAI controls: a small refinement, not a redesign. */
body:not([data-rd-individual-portfolio="1"]) .nova-context-voicebar button{font-size:.78rem!important;line-height:1.1!important;padding:.44rem .62rem!important;min-height:36px!important}
body:not([data-rd-individual-portfolio="1"]) .nova-context-voice-status{font-size:.76rem!important;line-height:1.15!important}

/* Never let native browser controls flash white in NovaAI. */
body:not([data-rd-individual-portfolio="1"]) .nova-context-voicebar button,
body:not([data-rd-individual-portfolio="1"]) .nova-context-compose textarea,
body:not([data-rd-individual-portfolio="1"]) .nova-context-compose button{
  -webkit-appearance:none!important;appearance:none!important;
}

/* Tutorial/help pages belong to NovaSphere: show the lightweight mesh clearly but cheaply. */
html.rd-v114-tutorial-page #linked-mesh{display:block!important;opacity:.52!important;filter:none!important}
@media(max-width:820px){html.rd-v114-tutorial-page #linked-mesh{opacity:.38!important}}

/* System-page alignment contract. */
body:not([data-rd-individual-portfolio="1"]) :where(.badge,.chip,.pill,.status,.conn-status,.navbtn,.pillbtn){
  box-sizing:border-box;max-width:100%;min-width:0;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}
body:not([data-rd-individual-portfolio="1"]) :where(.connector-grid,.grid3,.stats,.market-grid,.pulse-grid)>*{min-width:0}

/* Official expansion connector status. */
.connector .official-api-note{font-size:.76rem;color:var(--muted,#9fadc4);margin:.45rem 0 .65rem}
.connector .official-api-note strong{color:var(--gold,#f4c65d)}

@media(max-width:820px){
  body:not([data-rd-individual-portfolio="1"]) :where(.about-card,.mission,.hero-brand-card,.section-band,.journey-panel,.hero-card,.card,.panel,.view){border-radius:16px!important}
  body:not([data-rd-individual-portfolio="1"]) .nova-context-voicebar{gap:.35rem!important;align-items:center!important}
  body:not([data-rd-individual-portfolio="1"]) .nova-context-voicebar button{font-size:.74rem!important;padding:.4rem .52rem!important;min-height:34px!important}
  body:not([data-rd-individual-portfolio="1"]) .nova-context-voice-status{font-size:.72rem!important}
}
