/* OLOtheme — manuali tecnici DARK · estensione di olo-dark.css */
.man-head{padding:150px 0 60px; border-bottom:1px solid var(--line);}
.man-head .doc{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--faint); margin-bottom:18px; display:flex; gap:14px; flex-wrap:wrap;}
.man-head .doc b{color:var(--c);}
.man-layout{display:grid; grid-template-columns:230px minmax(0,1fr); gap:60px; padding:70px 0 90px;}
@media(max-width:960px){ .man-layout{grid-template-columns:1fr; gap:40px;} }

/* TOC */
.toc{position:sticky; top:90px; align-self:start; display:flex; flex-direction:column; gap:2px;}
@media(max-width:960px){ .toc{position:static; flex-direction:row; flex-wrap:wrap; gap:8px;} }
.toc a{font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:var(--faint); padding:8px 12px; border-left:2px solid var(--line);
  transition:all .15s;}
.toc a:hover{color:var(--paper);}
.toc a.on{color:var(--c); border-left-color:var(--c); background:linear-gradient(90deg, color-mix(in srgb, var(--c) 10%, transparent), transparent);}
.toc .tspec{margin-top:14px; border-left-color:var(--c); color:var(--c);}

/* chapters */
.ch{padding:50px 0 56px; border-bottom:1px dashed var(--line); scroll-margin-top:90px;}
.ch:first-child{padding-top:0;}
.ch .chno{font-family:'Fraunces',serif; font-style:italic; font-weight:300; font-size:52px; color:color-mix(in srgb, var(--c) 55%, transparent); line-height:1; display:block; margin-bottom:14px;}
.ch h2{font-family:'Fraunces',serif; font-weight:400; font-size:clamp(26px,3vw,40px); letter-spacing:-.022em; line-height:1.05; margin:0 0 18px; text-wrap:balance;}
.ch h2 em{font-style:italic; color:var(--c);}
.ch p{font-size:15px; line-height:1.7; color:var(--dim); max-width:68ch; margin:0 0 16px; text-wrap:pretty;}
.ch p strong{color:var(--paper); font-weight:600;}
.ch code, .mono-inline{font-family:'JetBrains Mono',monospace; font-size:.86em; color:var(--c);
  background:color-mix(in srgb, var(--c) 10%, transparent); padding:2px 7px; border-radius:5px;}
.ch h3{font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--c); margin:34px 0 14px;}
.ch ul.dash{list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:9px; max-width:68ch;}
.ch ul.dash li{font-size:14px; line-height:1.6; color:var(--dim); padding-left:22px; position:relative;}
.ch ul.dash li::before{content:"—"; position:absolute; left:0; color:var(--c);}
.ch ul.dash li strong{color:var(--paper);}

/* definition table */
.dtab{width:100%; border-collapse:collapse; margin:8px 0 10px;}
.dtab td{padding:12px 16px; border:1px solid var(--line); font-size:13.5px; line-height:1.55; color:var(--dim); vertical-align:top;}
.dtab td strong{color:var(--paper);}
.dtab td.f{width:28%; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--paper); background:var(--bg-2);}
.dtab td.f span{display:block; font-weight:400; color:var(--faint); text-transform:none; letter-spacing:.02em; margin-top:4px;}

/* notice */
.notice{border:1px solid color-mix(in srgb, var(--c) 40%, transparent); border-radius:10px;
  background:color-mix(in srgb, var(--c) 7%, transparent); padding:18px 22px; margin:20px 0; max-width:68ch;}
.notice .nl{font-family:'JetBrains Mono',monospace; font-size:9.5px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--c); display:block; margin-bottom:8px;}
.notice p{margin:0; font-size:13.5px;}

/* ---- SCHEDA TECNICA (chiusura) ---- */
.spec-close{scroll-margin-top:90px; margin-top:60px; border:1px solid color-mix(in srgb, var(--c) 45%, transparent); border-radius:16px; overflow:hidden;
  background:linear-gradient(180deg, color-mix(in srgb, var(--c) 9%, var(--bg-2)), var(--bg-2) 30%);}
.spec-close .sc-head{padding:34px 34px 26px; border-bottom:1px solid var(--line); display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.spec-close .sc-head h2{font-family:'Fraunces',serif; font-weight:400; font-size:clamp(28px,3.4vw,44px); letter-spacing:-.024em; margin:0;}
.spec-close .sc-head h2 em{font-style:italic; color:var(--c);}
.spec-close .sc-head .vv{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--faint); text-align:right;}
.spec-close .sc-head .vv b{color:var(--c); display:block; font-size:13px; margin-bottom:4px;}
.spec-close .sc-body{padding:10px 34px 34px;}
.spec-close .dtab{margin-top:18px;}
.spec-close .dtab td{border-color:var(--line);}
.sc-foot{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}

/* reveal */
@media (prefers-reduced-motion: no-preference){
  .rv{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .rv.in{opacity:1; transform:none;}
}
