/* GENERATO — non modificare a mano.
   Sorgente: web/memory/index.html (la home e' l'autorita' sul guscio).
   Si rigenera con scratchpad/costruisci_guscio.py.

   Tre selettori sono rinominati rispetto alla home, perche' nelle pagine
   editoriali (manuale, diario) `header`, `footer` e `.wrap` significano altro:
       header -> .tnx-header     footer -> .tnx-footer     .wrap -> .tnx-wrap
*/

:root {
--color-bg:#f2f2f3; --color-surface:#e9e9ea; --color-text:#1d1f20; --color-accent:#5980a6; --color-divider:#1d1f2029;
  --color-accent-100:#eef6ff; --color-accent-300:#b5d9fd; --color-accent-600:#597ea3; --color-accent-700:#416180; --color-accent-800:#2c455d; --color-accent-900:#1d2d3d;
  --color-neutral-100:#f5f5f8; --color-neutral-800:#424244;
  --font-heading:"Barlow Condensed", system-ui, sans-serif; --font-body:"Barlow", system-ui, sans-serif;
}

/* Il guscio segue il tema di sistema quando nessuno ha scelto. La home
   ottiene lo stesso risultato con uno script in testa al documento che
   applica la classe prima del rendering; qui si fa in CSS perche' le pagine
   editoriali seguono gia' il sistema per conto loro, e la testata deve
   accordarsi con loro senza dipendere da uno script. */
@media (prefers-color-scheme: dark) {
  :root:not(.theme-light) {
--color-bg:#15181b; --color-surface:#1d2226; --color-text:#eef2f5; --color-divider:#ffffff29; --color-accent:#7ba3c9; --color-accent-700:#9dbdda;
  }
}
.theme-dark {
--color-bg:#15181b; --color-surface:#1d2226; --color-text:#eef2f5; --color-divider:#ffffff29; --color-accent:#7ba3c9; --color-accent-700:#9dbdda;
}

.text-muted {color:color-mix(in srgb, var(--color-text) 55%, transparent);}
.tnx-wrap {max-width:1200px;margin:0 auto;padding:0 20px;}
.kicker {letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);font-size:11px;font-family:var(--font-heading);font-weight:600;}
.btn-industry {cursor:pointer;font-family:var(--font-heading);border:1px solid var(--color-divider);color:var(--color-text);background:transparent;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex;}
.btn-industry:hover {transform:translateY(-1px);}
.btn-industry-primary {background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);}
.btn-industry-primary:hover {background:var(--color-accent-600);border-color:var(--color-accent-600);color:var(--color-bg);}
.btn-industry-secondary {border-color:var(--color-divider);color:var(--color-text);}
.btn-industry-secondary:hover {background:rgba(29,31,32,.07);color:var(--color-text);}
.btn-industry-paper {color:#1d2d3d;background:#f2f2f3;border-color:#f2f2f3;}
.btn-industry-paper:hover {background:#fff;border-color:#fff;color:#1d2d3d;}
.btn-industry-outline-light {color:#fff;background:transparent;border-color:rgba(255,255,255,.5);}
.btn-industry-outline-light:hover {background:rgba(255,255,255,.08);color:#fff;}
.btn-industry-icon {width:36px;height:36px;padding:0;}
.theme-dark .tag-accent {background:var(--color-accent-900);color:var(--color-accent-100);}
.theme-dark .tag-neutral {background:var(--color-neutral-800);color:var(--color-neutral-100);}
/* .tnx-header */
.tnx-header {position:sticky;top:0;z-index:50;background:var(--color-bg);border-bottom:1px solid var(--color-divider);transition:background-color .25s,border-color .25s;}
.header-row {display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.brand {display:flex;align-items:center;gap:10px;}
.brand img {width:34px;height:34px;flex-shrink:0;}
.brand-name {font-family:var(--font-heading);font-weight:700;letter-spacing:.02em;font-size:16px;line-height:1.1;}
.brand-sub {font-size:11px;color:var(--color-accent);text-transform:uppercase;letter-spacing:.14em;}
nav.desktop-nav {display:none;align-items:center;gap:26px;}
@media(min-width:960px) {
  nav.desktop-nav {display:flex;}
}
.navlink {font-family:var(--font-heading);color:var(--color-text);opacity:.82;font-size:14.5px;font-weight:600;transition:opacity .15s,color .15s;}
.navlink:hover {opacity:1;color:var(--color-accent);}
.lng {cursor:pointer;font-family:var(--font-heading);opacity:.45;font-size:13px;font-weight:600;transition:opacity .15s,color .15s;background:none;border:none;padding:0 3px;}
.lng.active {opacity:1;color:var(--color-accent);}
.mobile-only {display:flex;align-items:center;gap:10px;}
@media(min-width:960px) {
  .mobile-only {display:none;}
}
#mmenu {display:none;flex-direction:column;border-top:1px solid var(--color-divider);}
.menu-open #mmenu {display:flex;}
.mmenu-link {font-family:var(--font-heading);color:var(--color-text);border-top:1px solid var(--color-divider);padding:11px 4px;font-size:16px;font-weight:600;}
.mmenu-link:hover {color:var(--color-accent);}
.ico-sun {display:none;}
.theme-dark .ico-sun {display:inline-flex;}
.theme-dark .ico-moon {display:none;}
.theme-dark .stat-num {color:var(--color-accent-300);}
.side-card .kicker-row {display:flex;align-items:center;justify-content:space-between;gap:10px;}
.theme-dark .pricing-note {background:var(--color-accent-900);color:var(--color-accent-100);}
.cta-actions .navlink {color:var(--color-accent-300);}
.tnx-footer {max-width:1200px;margin:40px auto 0;padding:0 20px 40px;}
.footer-row {border-top:1px solid var(--color-divider);padding-top:22px;display:flex;flex-direction:column;gap:14px;font-size:13.5px;color:color-mix(in srgb, var(--color-text) 60%, transparent);}
@media(min-width:720px) {
  .footer-row {flex-direction:row;align-items:center;justify-content:space-between;}
}
.footer-links {display:flex;flex-wrap:wrap;gap:20px;}
.footer-links a {color:inherit;}
.footer-links a:hover {color:var(--color-accent);}
