/* Divertentemente — stile delle pagine del sito (home, famiglia, indici) */
:root{
  --bg:#0A0F2C; --bg2:#050818; --surface:#141B3F; --raised:#1D2650; --line:#2E3870;
  --ink:#F2F5FF; --muted:#A9B3D9; --dim:#6C76A6;
  --cyan:#4FE3FF; --cyan-ink:#062430; --amber:#FFC553; --amber-ink:#2E1F00;
  --violet:#8B7CFF; --good:#45E0A0; --bad:#FF6B8A;
  --radius:18px; --gutter:16px;
  --font-ui:'Baloo 2','Atkinson Hyperlegible',system-ui,sans-serif;
  --font-read:'Atkinson Hyperlegible','Verdana',system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
html{background:var(--bg2)}
body{margin:0;min-height:100%;background:var(--bg2) radial-gradient(1200px 700px at 70% -10%,#1b2566 0%,var(--bg) 55%,var(--bg2) 100%) no-repeat;color:var(--ink);font-family:var(--font-read);font-size:18px;line-height:1.45;-webkit-tap-highlight-color:transparent}
a{color:var(--cyan)}
.wrap{max-width:980px;margin:0 auto;padding:0 var(--gutter)}
header.site{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--font-ui);font-weight:800;font-size:22px}
.brand .logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--violet),var(--cyan));display:grid;place-items:center;font-size:22px;box-shadow:0 3px 0 #0b1236}
.brand small{display:block;font-family:var(--font-read);font-weight:400;font-size:13px;color:var(--muted);line-height:1.1}
nav.site{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
h1,h2,h3{font-family:var(--font-ui);margin:0;text-wrap:balance;line-height:1.1}
h1{font-size:clamp(32px,7vw,52px);font-weight:800}
h2{font-size:clamp(24px,5vw,34px);font-weight:800}
h3{font-size:20px;font-weight:700}
p{margin:0}
.muted{color:var(--muted)}
.small{font-size:15px}
.eyebrow{font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--cyan)}
.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:18px}
.card.raised{background:var(--raised)}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grow{flex:1;min-width:0}
section{padding:26px 0}
.hero{padding:26px 0 10px;display:grid;gap:22px;grid-template-columns:1.2fr .8fr;align-items:start}
@media (max-width:760px){.hero{grid-template-columns:1fr}}
.hero p.lead{font-size:20px;color:var(--muted);max-width:56ch}
.btn{appearance:none;border:2px solid var(--line);background:var(--surface);color:var(--ink);font-family:var(--font-ui);font-weight:700;font-size:17px;border-radius:14px;padding:10px 16px;min-height:48px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .08s ease,filter .15s}
.btn:hover{filter:brightness(1.1)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--cyan);color:var(--cyan-ink);border-color:var(--cyan)}
.btn.amber{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}
.btn.ghost{background:transparent}
.btn.bad{background:transparent;border-color:#6b2c3a;color:var(--bad)}
.btn.big{font-size:19px;padding:12px 20px;min-height:54px}
.btn.small{font-size:15px;min-height:40px;padding:6px 12px}
.btn[disabled]{opacity:.55;cursor:default}
.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
label.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--muted);line-height:1.35}
label.check input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--cyan)}
label.f{display:flex;flex-direction:column;gap:6px;font-family:var(--font-ui);font-weight:700;font-size:15px;color:var(--muted)}
input[type=text],input[type=email],input[type=password],select,textarea{width:100%;font:inherit;font-size:18px;color:var(--ink);background:var(--bg2);border:2px solid var(--line);border-radius:12px;padding:10px 12px;min-height:48px}
textarea{min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.appcard{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:16px;color:var(--ink);text-decoration:none;position:relative;transition:transform .08s ease,border-color .15s}
.appcard:hover{border-color:var(--cyan);transform:translateY(-2px)}
.appcard .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:28px;background:var(--raised)}
.appcard .ico.c1{background:linear-gradient(135deg,#8B7CFF,#4FE3FF)}
.appcard .ico.c2{background:linear-gradient(135deg,#FFC553,#FF8A5B)}
.appcard .ico.c3{background:linear-gradient(135deg,#45E0A0,#4FE3FF)}
.appcard .ico.c4{background:linear-gradient(135deg,#FF6B8A,#8B7CFF)}
.appcard b{font-family:var(--font-ui);font-size:20px}
.appcard .kpi{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg2);border:2px solid var(--line);border-radius:999px;padding:3px 10px;font-family:var(--font-ui);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:var(--muted)}
.chip.amber{border-color:#6b5320;color:var(--amber)}
.chip.good{border-color:#1f5a44;color:var(--good)}
.tag{display:inline-block;font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.kids{display:flex;gap:10px;flex-wrap:wrap}
.kid{display:flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:6px 14px 6px 8px;cursor:pointer;color:var(--ink);font-family:var(--font-ui);font-weight:700;font-size:18px}
.kid .av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--cyan));display:grid;place-items:center;font-size:18px;color:#fff}
.kid.on{border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,197,83,.25)}
.msg{border-radius:12px;padding:10px 14px;font-size:16px;border:2px solid var(--line);background:var(--bg2)}
.msg.ok{border-color:#1f5a44;color:var(--good)}
.msg.err{border-color:#6b2c3a;color:var(--bad)}
.msg.warn{border-color:#6b5320;color:var(--amber)}
.tabs{display:flex;gap:6px;background:var(--bg2);border:2px solid var(--line);border-radius:14px;padding:4px}
.tabs button{flex:1;border:0;background:transparent;color:var(--muted);font-family:var(--font-ui);font-weight:700;font-size:16px;border-radius:10px;min-height:42px;cursor:pointer}
.tabs button.on{background:var(--surface);color:var(--ink)}
footer.site{padding:30px 0 40px;color:var(--dim);font-size:14px;border-top:1px solid var(--line);margin-top:20px}
footer.site a{color:var(--muted)}
ul.plain{margin:0;padding-left:20px}
ul.plain li{margin:4px 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--raised);border:2px solid var(--line);color:var(--ink);padding:10px 16px;border-radius:12px;opacity:0;transition:.25s;pointer-events:none;z-index:50;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translateX(-50%)}
