/*
Theme Name: MPS Prima dello Scontro
Theme URI: https://primadelloscontro.it
Author: Emanuele Menabò
Description: Tema del sito del Metodo Prima dello Scontro: Metodo, scenari, blog, libri, autore e chat «Chiedi al Metodo».
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: mps
License: GPLv2 or later
*/

/* Layout: sito editoriale a colonna stretta, testata scura come le copertine, contenuto su carta fredda; l'oro segna il Metodo, il rosso solo la "minaccia" */
:root{
  --ink:#0d1e28; --ink-2:#163242; --paper:#f2f4f3; --surface:#ffffff; --line:#d5dcdf;
  --fg:#14232c; --muted:#56656d; --gold:#b8861c; --gold-soft:#f1e4c2; --signal:#c8412a;
  --head-bg:#0d1e28; --head-fg:#eef2f3;
  --f-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-body:"Newsreader",Georgia,"Times New Roman",serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#0b171e; --surface:#11222c; --line:#25404f; --fg:#e4eaec; --muted:#97a8b0;
  --gold:#e0b04a; --gold-soft:#3a3016; --signal:#ef6a4f; --head-bg:#071118; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0b171e; --surface:#11222c; --line:#25404f; --fg:#e4eaec; --muted:#97a8b0;
  --gold:#e0b04a; --gold-soft:#3a3016; --signal:#ef6a4f; --head-bg:#071118; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--fg);font-family:var(--f-body);font-size:18px;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--head-bg)}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:800;line-height:1.02;text-wrap:balance;letter-spacing:.005em;margin:0}
h1{font-size:clamp(44px,8vw,84px);text-transform:uppercase}
h2{font-size:clamp(30px,4.4vw,44px);text-transform:uppercase}
h3{font-size:24px;font-weight:700}
p{margin:0}
.label{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ref{font-family:var(--f-mono);font-size:13px;color:var(--gold);white-space:nowrap}
.note{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--signal);text-transform:uppercase}

/* testata */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--head-bg);color:var(--head-fg);border-bottom:1px solid #22414f}
header.site .wrap{display:flex;align-items:center;gap:20px;padding-block:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:64px;height:auto;display:block}
.logo-dk{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo-lt{display:none}:root:not([data-theme="light"]) .logo-dk{display:block}}
:root[data-theme="dark"] .logo-lt{display:none}
:root[data-theme="dark"] .logo-dk{display:block}
.intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:end}
.intro > div{grid-column:1 / span 2;padding-right:32px}
.intro figure{margin:0;grid-column:3;padding:0 18px 20px}
.intro figure img{width:100%;max-width:300px;margin:0 auto}
.intro figure img.logo-lt{display:block}
.brand b{font-family:var(--f-display);font-size:22px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.brand b span{color:#e0b04a}
nav.main{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto}
nav.main a{font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:6px 10px;border-radius:4px;color:#c7d3d8}
nav.main a:hover,nav.main a:focus-visible{color:#fff;background:#1d3a49;outline:none}
nav.main a[aria-current="page"]{color:#0d1e28;background:#e0b04a}
nav.main a.ask{border:1px solid #e0b04a;color:#e0b04a}
nav.main a.ask[aria-current="page"]{color:#0d1e28}

main{padding-block:0 64px}

/* hero */
.hero{background:var(--head-bg);color:var(--head-fg);overflow:hidden;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;padding-block:56px 64px}
.hero h1 span{color:#e0b04a;display:block}
.hero .axiom{margin-top:24px;font-size:22px;line-height:1.45;max-width:34ch;color:#d6e0e4}
.hero .axiom strong{color:#fff;font-weight:500}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:12px 18px;border-radius:4px;border:1px solid transparent;cursor:pointer;display:inline-block}
.btn.gold{background:#e0b04a;color:#0d1e28}
.btn.ghost{border-color:#5d7886;color:#e7eef1;background:transparent}
.btn:focus-visible{outline:3px solid #e0b04a;outline-offset:2px}
.radar{position:relative;aspect-ratio:1;max-width:100%;width:100%}
.radar canvas{width:100%;height:100%;display:block}

/* sezioni */
.block{padding-block:56px 8px}
.lead{font-size:21px;max-width:60ch;color:var(--fg)}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.cols > div{display:grid;gap:8px;align-content:start;border-top:2px solid var(--gold);padding-top:14px}
.cols p{color:var(--muted);font-size:17px}

/* nove livelli */
.levels{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.lv{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 18px 20px;display:grid;gap:6px;align-content:start;background:var(--surface)}
.lv .n{font-family:var(--f-display);font-weight:800;font-size:46px;line-height:.9;color:var(--gold)}
.lv.l9 .n{color:var(--signal)}
.lv h3{font-size:22px}
.lv p{font-size:16px;color:var(--muted);line-height:1.5}
.parts{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.chip{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface)}

/* scenari */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.filters button{font-family:var(--f-mono);font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--fg);color:var(--paper);border-color:var(--fg)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px;display:grid;gap:10px;align-content:start;text-decoration:none}
a.card:hover{border-color:var(--gold)}
a.card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.card .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.card p{font-size:16px;color:var(--muted)}
.s-tag{font-family:var(--f-mono);font-size:12px;font-weight:600;padding:2px 7px;border-radius:3px;background:var(--gold-soft);color:var(--fg)}

/* scheda scenario */
.sheet{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;margin-top:28px;align-items:start}
.sheet article{display:grid;gap:22px;max-width:66ch}
.sheet article h3{font-size:22px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding-bottom:6px}
.sheet aside{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px;display:grid;gap:14px;position:sticky;top:96px}
.sheet aside dl{margin:0;display:grid;gap:12px}
.sheet aside dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sheet aside dd{margin:2px 0 0;font-size:16px}
.callout{font-family:var(--f-display);font-weight:700;font-size:24px;line-height:1.15;text-transform:uppercase;border-left:4px solid var(--gold);padding:4px 0 4px 14px}
.hyp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hyp div{border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--surface);font-size:16px}
.hyp b{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.hyp .h1 b{color:var(--muted)} .hyp .h2 b{color:var(--gold)} .hyp .h3 b{color:var(--signal)}
.ladder{display:grid;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.ladder div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px 14px;background:var(--surface);border-top:1px solid var(--line);font-size:16px}
.ladder div:first-child{border-top:0}
.ladder span{font-family:var(--f-mono);font-weight:600;color:var(--gold)}
.back{font-family:var(--f-mono);font-size:13px;text-decoration:none;color:var(--muted)}
.back:hover{color:var(--fg)}

/* blog */
.posts{display:grid;gap:0;margin-top:24px;border-top:1px solid var(--line)}
.post{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.post h3{font-size:28px}
.post p{color:var(--muted);font-size:17px;margin-top:6px}

/* libri */
.books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:28px}
.book{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start}
.book img{width:100%;border-radius:3px;box-shadow:0 10px 30px rgba(5,15,20,.35)}
.book div{display:grid;gap:10px;align-content:start}
.book ul{margin:0;padding-left:18px;font-size:16px;color:var(--muted)}

/* autore */
.author{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;margin-top:28px;align-items:start}
.author img{width:100%;border-radius:6px;background:#fff;border:1px solid var(--line)}
.author .bio{display:grid;gap:16px;max-width:62ch}
.creds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:0;padding:0;list-style:none;font-size:16px}
.creds li{padding:6px 0;border-bottom:1px solid var(--line)}

/* chat */
.chatwrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;margin-top:24px;align-items:start}
.chat{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-rows:auto minmax(320px,1fr) auto;min-height:560px}
.modes{display:flex;border-bottom:1px solid var(--line)}
.modes button{flex:1;font-family:var(--f-display);font-weight:700;font-size:17px;letter-spacing:.05em;text-transform:uppercase;padding:12px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}
.modes button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--gold)}
.log{padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:62vh}
.msg{max-width:88%;padding:12px 14px;border-radius:8px;font-size:17px;line-height:1.55;min-width:0;overflow-wrap:anywhere}
.msg.u{align-self:flex-end;background:var(--ink-2);color:#eef2f3}
.msg.a{align-self:flex-start;background:var(--paper);border:1px solid var(--line)}
.msg.a p+p,.msg.a ul,.msg.a ol{margin-top:8px}
.msg.a ul,.msg.a ol{padding-left:20px;margin-bottom:0}
.msg.err{border-color:var(--signal)}
.suggest{display:flex;gap:8px;flex-wrap:wrap}
.suggest button{font-family:var(--f-body);font-size:15px;text-align:left;padding:8px 12px;border-radius:6px;border:1px dashed var(--line);background:transparent;color:var(--fg);cursor:pointer}
.suggest button:hover{border-color:var(--gold)}
form.ask{display:flex;gap:10px;padding:12px;border-top:1px solid var(--line)}
form.ask textarea{flex:1;min-width:0;resize:none;font:inherit;font-size:17px;padding:10px 12px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--fg);height:52px}
form.ask textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
form.ask .btn{padding:10px 16px}
form.ask .btn[disabled]{opacity:.5;cursor:default}
.rules{display:grid;gap:12px;font-size:16px}
.rules ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px}
.status{font-family:var(--f-mono);font-size:12px;color:var(--muted);padding:0 18px 8px}

footer.site{border-top:1px solid var(--line);padding-block:28px;margin-top:40px}
footer.site .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;font-size:15px;color:var(--muted)}


@media (max-width:860px){
  .hero .wrap,.sheet,.chatwrap,.author,.books{grid-template-columns:minmax(0,1fr)}
  .radar{max-width:320px;margin:0 auto}
  .cols,.cards,.levels{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .sheet aside{position:static}
  .intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .intro > div{grid-column:1 / -1;padding-right:0}
  .intro figure{grid-column:2;padding:24px 0 20px}
  nav.main{margin-left:0}
}
@media (max-width:560px){
  .cols,.cards,.levels,.hyp,.creds{grid-template-columns:minmax(0,1fr)}
  .post{grid-template-columns:minmax(0,1fr);gap:6px}
  .book{grid-template-columns:120px minmax(0,1fr)}
  .author img{max-width:260px}
  .intro{grid-template-columns:minmax(0,1fr)}
  .intro figure{grid-column:1}
  .intro figure img{max-width:220px}
  body{font-size:17px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* --- WordPress --- */
nav.main ul{display:flex;gap:2px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
nav.main li.current-menu-item > a,nav.main li.current_page_item > a,nav.main li.current-menu-ancestor > a{color:#0d1e28;background:#e0b04a}
nav.main li.ask > a{border:1px solid #e0b04a;color:#e0b04a}
nav.main li.ask.current-menu-item > a{color:#0d1e28}
body.admin-bar header.site{top:calc(env(safe-area-inset-top,0px) + 32px)}
@media (max-width:782px){body.admin-bar header.site{top:env(safe-area-inset-top,0px)}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:8px;z-index:20;background:#e0b04a;color:#0d1e28;padding:8px 12px}
.prose{max-width:68ch;display:grid;gap:18px}
.prose > *{margin:0}
.prose h2{font-size:30px;margin-top:12px}
.prose h3{font-size:24px;margin-top:8px}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:6px}
.prose img{height:auto;border-radius:6px}
.prose a{color:var(--gold)}
.prose blockquote,.wp-block-quote,.wp-block-pullquote{font-family:var(--f-display);font-weight:700;font-size:24px;line-height:1.15;text-transform:uppercase;border-left:4px solid var(--gold);padding:4px 0 4px 14px;margin:0}
.prose blockquote p{margin:0}
.prose blockquote cite{display:block;margin-top:6px;font-family:var(--f-mono);font-size:12px;font-weight:400;text-transform:none;color:var(--muted)}
.prose table{border-collapse:collapse;width:100%;font-size:16px}
.prose .wp-block-table{overflow-x:auto}
.prose td,.prose th{border:1px solid var(--line);padding:8px;text-align:left}
.page-head{display:grid;gap:12px;margin-bottom:8px}
.pager{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.pager .page-numbers{font-family:var(--f-mono);font-size:14px;padding:6px 12px;border:1px solid var(--line);border-radius:4px;text-decoration:none;background:var(--surface)}
.pager .current{background:var(--fg);color:var(--paper);border-color:var(--fg)}
.filters a{font-family:var(--f-mono);font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);text-decoration:none}
.filters a[aria-current="page"]{background:var(--fg);color:var(--paper);border-color:var(--fg)}
.post h3 a,.card h3 a{text-decoration:none}
.post h3 a:hover,.card h3 a:hover{color:var(--gold)}
.post-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:10px 0 24px}
.featured{margin:0 0 24px;max-width:900px}
.featured img{width:100%;height:auto;border-radius:6px}
.btn.disabled{opacity:.55;pointer-events:none}
.empty{color:var(--muted);padding:22px 0}
