/* ========== BASE CONDIVISA (landing + area interna) ========== */
/* Colori e font sono token: l'accento viene sovrascritto da js/theme.js in base alle impostazioni. */
:root{
  --bg:#05080e;--midnight:#0b1220;--graphite:#17202d;--text:#eef3f8;--muted:#a3b1c2;
  --accent:#e7a765;--accent-rgb:231,167,101;--accent-ink:#120d06;--glow:1;--danger:#ff838e;
  --font-title:'Encode Sans Expanded',sans-serif;--font-brand:'Montserrat','Encode Sans Expanded',sans-serif;--font-body:'Encode Sans Expanded',sans-serif;
  --radius:24px
}
*{box-sizing:border-box}
html{height:100%;background:var(--bg)}
body{margin:0;min-height:100%;font-family:var(--font-body);color:var(--text);
  background:radial-gradient(ellipse 42% 66% at 30% 49%,rgba(var(--accent-rgb),.09),transparent 76%),linear-gradient(135deg,#05080e,#0b1220 70%,#060910);overflow-x:hidden}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}

/* Pagine protette: nascoste finche' js/auth.js non verifica l'accesso */
.gated body{visibility:hidden}

/* Grana e luce dall'alto a destra */
.noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.19;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.12' filter='url(%23n)'/%3E%3C/svg%3E")}
.lightcone{position:fixed;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(ellipse 42% 30% at 84% -6%,rgba(var(--accent-rgb),calc(.30*var(--glow))),rgba(var(--accent-rgb),calc(.08*var(--glow))) 45%,transparent 72%)}
@media(max-width:700px){.lightcone{background:radial-gradient(ellipse 80% 22% at 70% -4%,rgba(var(--accent-rgb),calc(.28*var(--glow))),rgba(var(--accent-rgb),calc(.07*var(--glow))) 45%,transparent 72%)}}

/* Marchio: monogramma + nome */
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--text)}
.monogram{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(var(--accent-rgb),.4);border-radius:13px;font:500 16px var(--font-title);letter-spacing:-.07em;background:rgba(8,18,28,.6);box-shadow:inset 0 0 16px rgba(var(--accent-rgb),.04)}
.logo-mark{display:block;height:44px;width:44px;filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.18))}
.brand-name{font:300 13px var(--font-brand);letter-spacing:.34em}
.dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px rgba(var(--accent-rgb),.7)}
.eyebrow{font:500 10px var(--font-title);letter-spacing:.29em;color:var(--accent);text-transform:uppercase}

@media(max-width:700px){.brand-name{font-size:11px;letter-spacing:.22em}}
@media(max-width:360px){.brand-name{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
