.vetro{background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(201,163,92,.25);border-radius:var(--radius-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border-radius:var(--radius);font-family:var(--font-ui);font-size:15px;font-weight:600;letter-spacing:.01em;line-height:1.4;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#14100a}.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:#14100a;transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;color:var(--text);border-color:#c9a35c66}.btn-ghost:hover:not(:disabled){color:var(--gold);border-color:var(--gold)}.btn-gold{background:var(--gold);color:#1a1206}.btn-gold:hover:not(:disabled){background:#e2b465;color:#1a1206;transform:translateY(-1px)}.btn-compatto{padding:7px 16px;font-size:14px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-family:var(--font-ui);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border:1px solid rgba(201,163,92,.35);background:#c9a35c14}.badge-gold{color:var(--gold);border-color:var(--gold);background:#d4a24e1f}.modal-overlay{position:fixed;inset:0;z-index:90;background:#0009;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-panel{max-width:520px;width:100%;padding:26px 28px;box-shadow:var(--shadow-glow)}.modal-testata{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-chiudi{background:none;border:0;color:var(--text-dim);font-size:26px;line-height:1;padding:2px 8px;border-radius:var(--radius)}.modal-chiudi:hover{color:var(--text)}@keyframes toast-comparsa{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:100;background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(201,163,92,.35);border-radius:var(--radius);color:var(--text);padding:12px 22px;font-size:14.5px;box-shadow:var(--shadow-glow);max-width:min(92vw,480px);text-align:center;animation:toast-comparsa .4s ease both}.candle-loader{display:flex;align-items:center;justify-content:center;padding:72px 0;min-height:220px}.candela-fiamma,.candela-fiamma-interna{transform-box:fill-box;transform-origin:50% 100%;animation:fiammella 1.7s ease-in-out infinite}.candela-fiamma-interna{animation-duration:1.1s;animation-delay:.2s}@keyframes fiammella{0%,to{transform:scaleY(1) scaleX(1) rotate(0);opacity:.92}30%{transform:scaleY(1.08) scaleX(.94) rotate(-2deg);opacity:1}60%{transform:scaleY(.94) scaleX(1.05) rotate(2deg);opacity:.85}}.sito-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:50;background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,163,92,.18)}.header-int{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:.08em;color:var(--text);transition:color .25s ease}.logo:hover{color:var(--gold)}.nav-desktop{display:flex;align-items:center;gap:24px}.nav-voce{font-size:15px;color:var(--text-dim);transition:color .25s ease}.nav-voce:hover{color:var(--text)}.nav-voce.attiva{color:var(--gold)}.header-destra{display:flex;align-items:center;gap:16px}.tema-punti{display:flex;align-items:center;gap:8px}.tema-punto{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.25);padding:0;background:var(--colore-punto, var(--accent));opacity:.5;cursor:pointer;transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease}.tema-punto:hover{opacity:.85}.tema-punto.attivo{opacity:1;transform:scale(1.15);box-shadow:0 0 8px var(--colore-punto, var(--accent))}.auth-area{display:flex;align-items:center;gap:14px;font-size:14.5px}.link-esci{background:none;border:0;color:var(--text-faint);font-size:14px;padding:4px 2px}.link-esci:hover{color:var(--danger)}.hamburger{display:none;background:none;border:0;color:var(--text);padding:6px;border-radius:var(--radius)}.menu-mobile{display:none}@media(max-width:720px){.nav-desktop,.solo-desktop{display:none}.hamburger{display:inline-flex}.menu-mobile{display:block;position:fixed;top:var(--header-h);left:0;right:0;z-index:49;background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,163,92,.2);padding:10px 20px 18px;animation:comparsa .3s ease both}.menu-mobile nav{display:flex;flex-direction:column}.menu-mobile a,.menu-mobile button{padding:12px 4px;font-size:16px;color:var(--text);text-align:left;background:none;border:0;border-bottom:1px solid rgba(201,163,92,.1)}.menu-mobile a:hover,.menu-mobile button:hover,.menu-mobile a.attiva{color:var(--gold)}}.sito-footer{border-top:1px solid rgba(201,163,92,.15);padding:26px 20px 34px;text-align:center;font-size:13px;color:var(--text-faint)}.footer-note{margin-bottom:8px}.sito-footer a{color:var(--text-dim);margin:0 8px}.sito-footer a:hover{color:var(--gold)}:root{--bg-0: #0e0904;--bg-1: #171009;--bg-2: #221812;--bg-glass: rgba(23, 16, 9, .72);--accent: #e86026;--accent-hover: #f0763d;--accent-soft: rgba(232, 96, 38, .16);--gold: #d4a24e;--card-line: #c9a35c;--text: #ede7d8;--text-dim: #b0a38c;--text-faint: #7a6f5c;--danger: #c9503f;--ok: #7fa06a;--radius: 10px;--radius-card: 14px;--shadow-glow: 0 0 40px rgba(232, 96, 38, .18);--font-display: "Cinzel", "Georgia", serif;--font-serif: "Cormorant Garamond", "Georgia", serif;--font-ui: "Inter", system-ui, sans-serif;--header-h: 64px;--maxw: 1100px}:root[data-theme=stellata]{--bg-0: #0a0812;--bg-1: #120f1d;--bg-2: #1a1628;--bg-glass: rgba(18, 15, 29, .72);--accent: #8f7bd8;--accent-hover: #a391e6;--accent-soft: rgba(143, 123, 216, .16);--gold: #b9c0c9;--card-line: #a6adc0;--shadow-glow: 0 0 40px rgba(143, 123, 216, .18)}:root[data-theme=alba]{--bg-0: #120b0e;--bg-1: #1c1216;--bg-2: #281a1f;--bg-glass: rgba(28, 18, 22, .72);--accent: #d98a6a;--accent-hover: #e59d7f;--accent-soft: rgba(217, 138, 106, .16);--gold: #d4a24e;--card-line: #c9a35c;--shadow-glow: 0 0 40px rgba(217, 138, 106, .18)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100%}body{background:var(--bg-0);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:.02em}h1{font-size:clamp(28px,5vw,44px)}h2{font-size:clamp(22px,3.5vw,32px)}h3{font-size:19px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:var(--font-ui);cursor:pointer}input,textarea{font-family:var(--font-ui);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}.prosa{font-family:var(--font-serif);font-size:19px;line-height:1.7}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.grain-overlay{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:3;opacity:.055;mix-blend-mode:overlay;background-repeat:repeat}.vignette{position:fixed;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.55) 100%)}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0}#app-content{position:relative;z-index:4;min-height:100vh;display:flex;flex-direction:column}main{flex:1;padding-top:calc(var(--header-h) + 24px);padding-bottom:64px}@keyframes respiro{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes comparsa{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:comparsa .5s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
