#snc{
  --snc-fg:#17202a; --snc-dim:#5b6675; --snc-bg:#ffffff; --snc-panel:#f6f8fa;
  --snc-line:#d8dee6; --snc-accent:#1f5f8b; --snc-accent-bg:#e8f1f8;
  --snc-net:#1f5f8b; --snc-host:#9a5b00; --snc-warn-bg:#fdf6e3; --snc-warn-line:#e0c97f;
  --snc-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --snc-r:6px;
  color:var(--snc-fg); background:var(--snc-bg);
  font-size:16px; line-height:1.55;
  box-sizing:border-box;
}
#snc *,#snc *::before,#snc *::after{box-sizing:inherit}
@media (prefers-color-scheme:dark){
  #snc.snc-auto{
    --snc-fg:#e7ecf2; --snc-dim:#9aa7b5; --snc-bg:#11161c; --snc-panel:#181f27;
    --snc-line:#2b3540; --snc-accent:#6fb3dd; --snc-accent-bg:#17293a;
    --snc-net:#6fb3dd; --snc-host:#e0a24a; --snc-warn-bg:#2a2410; --snc-warn-line:#5c4f1f;
  }
}
#snc h2,#snc h3,#snc h4{color:inherit; line-height:1.25; text-wrap:balance}
#snc h2{font-size:1.5rem; margin:1.8rem 0 .6rem}
#snc h3{font-size:1.2rem; margin:1.4rem 0 .5rem}
#snc h4{font-size:1rem; margin:1rem 0 .35rem}
#snc p{margin:.6rem 0}
#snc a{color:var(--snc-accent)}
#snc code,#snc kbd{font-family:var(--snc-mono); font-size:.92em}
#snc kbd{border:1px solid var(--snc-line); border-bottom-width:2px; border-radius:4px; padding:0 .3em}

#snc .snc-entry{
  background:var(--snc-panel); border:1px solid var(--snc-line);
  border-radius:var(--snc-r); padding:1rem;
}
#snc .snc-entry label{display:block; font-weight:600; margin-bottom:.4rem}
#snc .snc-row{display:flex; gap:.6rem; flex-wrap:wrap}
#snc .snc-row > input{flex:1 1 16rem; min-width:0}
#snc input[type=text],#snc textarea,#snc select{
  font-family:var(--snc-mono); font-size:1rem;
  color:var(--snc-fg); background:var(--snc-bg);
  border:1px solid var(--snc-line); border-radius:var(--snc-r);
  padding:.6rem .7rem; width:100%;
}
#snc input[type=text]:focus-visible,#snc textarea:focus-visible,
#snc button:focus-visible,#snc select:focus-visible,#snc [role=tab]:focus-visible{
  outline:3px solid var(--snc-accent) !important; outline-offset:2px !important;
}
/* A host theme may force its own button styling with !important, so the
   properties it commonly sets are restated at the same weight here. */
#snc button{
  font:inherit; font-weight:600; cursor:pointer;
  color:var(--snc-bg);
  background:var(--snc-accent) !important;
  border:1px solid transparent !important;
  border-color:var(--snc-accent) !important;
  border-radius:var(--snc-r) !important;
  padding:.6rem 1rem; min-height:44px;
  text-align:center !important; text-transform:none; letter-spacing:normal;
  box-shadow:none !important;
}
#snc button:hover{background:var(--snc-fg) !important; border-color:var(--snc-fg) !important; color:var(--snc-bg)}
#snc button.snc-quiet{
  color:var(--snc-accent) !important;
  background:transparent !important;
  border-color:var(--snc-line) !important;
  font-weight:500;
}
#snc button.snc-quiet:hover{background:var(--snc-accent-bg) !important; border-color:var(--snc-accent) !important}
#snc button.snc-tiny{padding:.25rem .5rem; min-height:0; font-size:.85rem; font-weight:500}
#snc .snc-examples{margin-top:.7rem; font-size:.9rem; color:var(--snc-dim)}
#snc .snc-examples button{
  color:var(--snc-accent) !important;
  background:transparent !important;
  border:1px dashed var(--snc-line) !important;
  font-family:var(--snc-mono); font-weight:400; font-size:.85rem;
  padding:.15rem .45rem; min-height:0; margin:.15rem .2rem 0 0;
  border-radius:4px !important;
}
#snc .snc-examples button:hover{background:var(--snc-accent-bg) !important; border-style:solid !important}
#snc .snc-note{
  background:var(--snc-warn-bg); border:1px solid var(--snc-warn-line);
  border-radius:var(--snc-r); padding:.6rem .8rem; margin:.8rem 0; font-size:.95rem;
}
#snc .snc-bad{border-color:#c0392b; background:#fdecea; color:#7b241c}
@media (prefers-color-scheme:dark){#snc.snc-auto .snc-bad{background:#2d1512; color:#f3b0a6; border-color:#8c3a2e}}

#snc .snc-tabs{display:flex; flex-wrap:wrap; gap:.25rem; margin:1.4rem 0 0; border-bottom:1px solid var(--snc-line)}
#snc [role=tab]{
  font:inherit; cursor:pointer; color:var(--snc-dim);
  background:transparent !important;
  border:1px solid transparent !important;
  border-bottom:none !important;
  border-radius:var(--snc-r) var(--snc-r) 0 0 !important;
  padding:.5rem .8rem; min-height:44px; font-weight:500;
}
#snc [role=tab]:hover{color:var(--snc-fg); background:var(--snc-panel) !important}
#snc [role=tab][aria-selected=true]{
  color:var(--snc-fg) !important;
  background:var(--snc-panel) !important;
  border-color:var(--snc-line) !important;
  border-bottom:none !important;
  font-weight:600; margin-bottom:-1px;
}
#snc [role=tabpanel]{padding-top:1rem}

#snc .snc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.5rem 1.2rem}
#snc .snc-fact{border-bottom:1px solid var(--snc-line); padding:.4rem 0; min-width:0}
#snc .snc-fact dt{font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--snc-dim)}
#snc .snc-fact dd{margin:.1rem 0 0; font-family:var(--snc-mono); word-break:break-all}
#snc .snc-big{font-size:1.15rem; font-weight:600}

#snc .snc-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
#snc table{border-collapse:collapse; width:100%; font-size:.92rem}
#snc th,#snc td{text-align:left; padding:.45rem .6rem; border-bottom:1px solid var(--snc-line); white-space:nowrap}
#snc th{font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:var(--snc-dim); font-weight:600}
#snc td.snc-m,#snc th.snc-m{font-family:var(--snc-mono)}
#snc tbody tr:hover{background:var(--snc-panel)}

#snc .snc-bits{font-family:var(--snc-mono); font-size:.95rem; word-break:break-all; letter-spacing:.02em}
#snc .snc-bits b{color:var(--snc-net); font-weight:700}
#snc .snc-bits i{color:var(--snc-host); font-style:normal}
#snc .snc-pill{
  display:inline-block; font-size:.8rem; padding:.1rem .45rem; border-radius:999px;
  background:var(--snc-accent-bg); color:var(--snc-accent); border:1px solid var(--snc-line);
}
#snc .snc-actions{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem}
#snc .snc-said{font-size:.9rem; color:var(--snc-accent); min-height:1.3em; margin-top:.4rem}
#snc .snc-dim{color:var(--snc-dim)}
#snc .snc-sr{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
#snc details{border:1px solid var(--snc-line); border-radius:var(--snc-r); padding:.6rem .8rem; margin:.6rem 0}
#snc summary{cursor:pointer; font-weight:600}
#snc .snc-two{display:grid; grid-template-columns:repeat(auto-fit,minmax(18rem,1fr)); gap:1rem}
#snc ul{padding-left:1.3rem}
#snc li{margin:.25rem 0}
