/* BAOI 5.3.34.2.1 — P1 Vertical Rhythm, Application Density & Workspace Hierarchy Closure.
 * Late CSS-only layer. Exact P1 scope comes from 5.3.34.2; no engine markup is replaced.
 */
body.baoi-tool-p1-v53421{
  --baoi-p1-section-title-max:32px;
  --baoi-p1-compact-shell:1040px;
  --baoi-p1-standard-shell:1160px;
  --baoi-p1-full-shell:1240px;
  --baoi-p1-compact-tool:860px;
  --baoi-p1-notice-bg:rgba(49,213,200,.055);
}

/* BAOI53421_VERTICAL_RHYTHM
 * Hero -> compact context notice -> application. Kill inherited section/p margins
 * that produced the large visual dead zone seen in the 5.3.34.2 canaries.
 */
body.baoi-tool-p1-v53421 :where(.boai-tool-header,.boai-tool-hero,.baoi-qw-hero,.baoi-sn-hero,.boai-hero,.boai-dns-hero,.boai-http-hero,.boai-mon-hero,.boai-net-hero){
  margin-bottom:18px!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-intro,.baoi-sn-intro){
  width:100%!important;
  max-width:920px!important;
  margin:0 0 22px!important;
  padding:12px 14px!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-intro,.baoi-sn-intro) > p{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool){
  margin-top:0!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) > :first-child{margin-top:0!important}
body.baoi-tool-p1-v53421 :where(.baoi-qw-links,.baoi-sn-links){
  margin-top:18px!important;
  padding-top:14px!important;
}

/* BAOI53421_ORPHAN_NOTICE_COMPACT — shared language for pre-app context/safety notes. */
body.baoi-tool-p1-v53421 :where(.baoi-qw-intro,.baoi-sn-intro){
  border:1px solid var(--baoi-p1-border)!important;
  border-left:3px solid var(--baoi-p1-accent)!important;
  border-radius:12px!important;
  background:var(--baoi-p1-notice-bg)!important;
  color:var(--baoi-p1-text)!important;
  box-shadow:none!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-intro,.baoi-sn-intro) p{color:var(--baoi-p1-text)!important}

/* BAOI53421_SECTION_TITLE_CAP — “Utiliser l’outil / Use the tool” is a section label, not a second hero. */
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) > h2{
  margin:0 0 16px!important;
  color:var(--baoi-p1-text)!important;
  font-size:clamp(26px,2.5vw,var(--baoi-p1-section-title-max))!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}

/* Explicit workspace hierarchy: compact / standard / full. */
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-compact :where(.boai-tool-app,.baoi-qw-wrap,.baoi-sn-wrap,.boai-center,.boai-dns-app,.boai-http-app,.boai-mon-app,.boai-net-app){
  width:min(100%,var(--baoi-p1-compact-shell))!important;
  max-width:var(--baoi-p1-compact-shell)!important;
}
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-standard :where(.boai-tool-app,.baoi-qw-wrap,.baoi-sn-wrap,.boai-center,.boai-dns-app,.boai-http-app,.boai-mon-app,.boai-net-app){
  width:min(100%,var(--baoi-p1-standard-shell))!important;
  max-width:var(--baoi-p1-standard-shell)!important;
}
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-full :where(.boai-tool-app,.baoi-qw-wrap,.baoi-sn-wrap,.boai-center,.boai-dns-app,.boai-http-app,.boai-mon-app,.boai-net-app){
  width:min(100%,var(--baoi-p1-full-shell))!important;
  max-width:var(--baoi-p1-full-shell)!important;
}

/* A short virtual form must not float inside a full-width empty card. */
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-compact :where(.baoi-qw-tool,.baoi-sn-tool){
  width:min(100%,var(--baoi-p1-compact-tool))!important;
  max-width:var(--baoi-p1-compact-tool)!important;
  margin-left:0!important;
  margin-right:auto!important;
}
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-compact :where(.baoi-qw-intro,.baoi-sn-intro){
  max-width:var(--baoi-p1-compact-tool)!important;
}

/* Compact native A/B tools keep useful result width but stop reading like oversized canvases. */
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-compact .boai-tool-layout{
  max-width:960px!important;
}
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-standard .boai-tool-layout{
  max-width:1080px!important;
}
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-full .boai-tool-layout{
  max-width:none!important;
}

/* Application density: remove inherited tall margins and keep controls grouped. */
body.baoi-tool-p1-v53421 :where(.boai-tool-form,.boai-result-panel,.boai-box,.baoi-qw-tool,.baoi-sn-tool,.boai-detail,.boai-mon-box,.boai-mon-panel,.boai-net-toolbar,.boai-net-panel,.boai-dns-summary,.boai-http-summary){
  scroll-margin-top:96px;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) :where(.baoi-qw-grid,.baoi-sn-grid){
  margin-top:0!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) :where(.baoi-qw-note,.baoi-sn-note){
  margin:12px 0 0!important;
  font-size:13px!important;
  line-height:1.55!important;
  color:var(--baoi-p1-muted)!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) :where(.baoi-qw-status,.baoi-sn-status):empty{
  min-height:0!important;
  margin:0!important;
}
body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) :where(.baoi-qw-results,.baoi-sn-results):empty{
  margin-top:0!important;
}

/* Preserve dense/full application geometry; only tighten the shell rhythm. */
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-full :where(.baoi-qw-tool,.baoi-sn-tool,.boai-net-toolbar,.boai-net-panel){
  max-width:none!important;
}
body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-full :where(.boai-net-layout,.boai-mon-grid,.baoi-sn-wifi-row){
  width:100%!important;
}

@media(max-width:900px){
  body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-compact .boai-tool-layout,
  body.baoi-tool-p1-v53421.baoi-tool-p1-workspace-standard .boai-tool-layout{max-width:none!important}
  body.baoi-tool-p1-v53421 :where(.baoi-qw-intro,.baoi-sn-intro,.baoi-qw-tool,.baoi-sn-tool){max-width:none!important}
}

/* BAOI53421_MOBILE_DENSITY */
@media(max-width:782px){
  body.baoi-tool-p1-v53421{
    --baoi-p1-section-title-max:28px;
  }
  body.baoi-tool-p1-v53421 :where(.boai-tool-app,.baoi-qw-wrap,.baoi-sn-wrap,.boai-center,.boai-dns-app,.boai-http-app,.boai-mon-app,.boai-net-app){
    width:calc(100% - 16px)!important;
    margin:8px auto 20px!important;
    padding:16px 13px!important;
  }
  body.baoi-tool-p1-v53421 :where(.boai-tool-header,.boai-tool-hero,.baoi-qw-hero,.baoi-sn-hero,.boai-hero,.boai-dns-hero,.boai-http-hero,.boai-mon-hero,.boai-net-hero){
    margin-bottom:14px!important;
  }
  body.baoi-tool-p1-v53421 :where(.baoi-qw-intro,.baoi-sn-intro){
    margin-bottom:16px!important;
    padding:10px 12px!important;
    border-radius:10px!important;
  }
  body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool){
    width:100%!important;
    max-width:none!important;
    padding:16px!important;
  }
  body.baoi-tool-p1-v53421 :where(.baoi-qw-tool,.baoi-sn-tool) > h2{
    margin-bottom:14px!important;
    font-size:clamp(24px,7vw,var(--baoi-p1-section-title-max))!important;
  }
  body.baoi-tool-p1-v53421 :where(.baoi-qw-links,.baoi-sn-links){
    margin-top:16px!important;
    padding-top:12px!important;
  }
}
