/* shorts-agent — site public. Sobre, lisible, sans dependance externe. */
:root{
  --ground:#FAFAF8; --surface:#FFFFFF; --sunken:#F1F2EF;
  --ink:#1A1D1B; --ink-2:#434944; --muted:#6B726C;
  --line:#DEE1DC; --accent:#2D5347;
}
@media (prefers-color-scheme:dark){
  :root{
    --ground:#121413; --surface:#191C1A; --sunken:#1F2321;
    --ink:#E9EBE8; --ink-2:#C2C7C2; --muted:#8D948E;
    --line:#2A2E2B; --accent:#7FB8A6;
  }
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  padding-left:20px; padding-right:20px;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:720px; margin:0 auto; padding-block:40px 64px}
a{color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:2px}

nav{
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:baseline;
  padding-block:18px; border-bottom:1px solid var(--line); margin-bottom:40px;
}
nav .brand{font-weight:700; letter-spacing:-.01em; color:var(--ink); text-decoration:none}
nav a:not(.brand){font-size:14.5px; text-decoration:none}
nav a:not(.brand):hover{text-decoration:underline}
nav .sp{flex:1}

h1{font-size:clamp(26px,5vw,36px); line-height:1.15; letter-spacing:-.02em; margin:0 0 14px}
h2{font-size:19px; margin:38px 0 10px; letter-spacing:-.008em}
h3{font-size:16px; margin:24px 0 6px}
p,li{color:var(--ink-2); max-width:65ch}
p{margin:0 0 14px}
ul{padding-left:20px; margin:0 0 14px}
li{margin-bottom:6px}
.lead{font-size:18px; color:var(--ink); margin-bottom:26px}
.maj{font-size:13.5px; color:var(--muted); margin-bottom:30px}

.box{
  background:var(--surface); border:1px solid var(--line);
  padding:18px 20px; margin:22px 0; border-radius:4px;
}
.box h3{margin-top:0}
.box p:last-child{margin-bottom:0}

.steps{counter-reset:s; list-style:none; padding:0; margin:18px 0}
.steps li{
  counter-increment:s; position:relative; padding-left:34px; margin-bottom:14px;
}
.steps li::before{
  content:counter(s); position:absolute; left:0; top:1px;
  width:22px; height:22px; border-radius:50%; background:var(--sunken);
  color:var(--accent); font-size:12px; font-weight:600;
  display:grid; place-items:center;
}
code{
  background:var(--sunken); padding:.12em .36em; border-radius:3px;
  font:0.88em/1 ui-monospace,Menlo,monospace; color:var(--ink-2);
}
footer{
  border-top:1px solid var(--line); margin-top:52px; padding-top:20px;
  display:flex; flex-wrap:wrap; gap:8px 20px; align-items:baseline;
}
footer p, footer a{font-size:13.5px; color:var(--muted); margin:0}
