*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0d1012;color:#e9f5ee;font-family:system-ui,-apple-system,sans-serif}body{min-height:100svh;overflow-x:hidden}.entrance{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px 24px 100px}.art{width:min(620px,88vw);height:min(620px,65svh);position:relative}canvas{width:100%;height:100%;display:block}.art img{position:absolute;inset:0;width:100%;object-fit:contain}h1{font:400 28px Georgia,serif;letter-spacing:18px;margin:15px 0 12px 18px}.entrance p{font:16px Georgia,serif;letter-spacing:5px;color:#bdccbf;text-align:center}footer{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:4.5%;right:4.5%;display:flex;justify-content:space-between;font:12px ui-monospace,monospace;letter-spacing:2px;color:#a3b1a9}#sequence{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}dialog{width:min(430px,calc(100vw - 32px));background:#14191c;color:#eef5f1;border:1px solid #34443e;border-radius:18px;padding:35px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#080b0ed9;backdrop-filter:blur(12px)}dialog h2{font-size:28px;margin:12px 0 5px;letter-spacing:-1px}dialog p{color:#a0afa8;font-size:14px;margin:0 0 25px}.login-logo{width:54px;border-radius:50%}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #364740;background:#1a2320;border-radius:8px;min-height:44px;padding:10px 15px}button:hover{border-color:#adf6d2}button:focus-visible,input:focus-visible{outline:2px solid #adf6d2;outline-offset:4px}#close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;width:44px}label{font-size:13px;display:block;margin:18px 0}label input:not([type=checkbox]){width:100%;background:#0d1012;border:1px solid #34443e;color:#fff;border-radius:7px;min-height:44px;padding:10px;margin-top:8px}.remember{display:flex;gap:8px;align-items:center;color:#a0afa8;font-size:12px}.remember input{accent-color:#adf6d2;width:17px;height:17px}.primary{background:#adf6d2;color:#0a2016;font-weight:650;width:100%;border-color:#adf6d2}#passkey{width:100%}.or{text-align:center;color:#87958e;font-size:12px;margin:16px}#message{margin:15px 0 0;line-height:1.5;color:#e4c48a}button:disabled{opacity:.5;cursor:wait}
/* Vetrina: senza elementi pubblici la pagina resta l'ingresso di sempre; con elementi il logo si accorcia e sotto
   compaiono le sezioni. Nessun font esterno, copertine in riquadri a proporzione fissa: niente salti di impaginazione. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1.lungo{letter-spacing:6px;margin-left:6px;max-width:100%;text-align:center;overflow-wrap:anywhere}
.entrance .intro{max-width:640px;margin:8px auto 0}.entrance .intro p{font:17px/1.75 Georgia,serif;letter-spacing:.2px;color:#c9d6cf;margin:0 0 14px}
.con-elementi .entrance{min-height:0;padding:48px 24px 12px}.con-elementi .art{width:min(480px,78vw);height:min(480px,46svh)}.con-intro .entrance{padding-bottom:24px}
.vetrina-sezione{max-width:1160px;margin:0 auto;padding:44px 24px 12px;scroll-margin-top:16px}
.vetrina-sezione h2{display:flex;align-items:center;gap:18px;margin:0 0 24px;font:400 14px Georgia,serif;letter-spacing:7px;text-transform:uppercase;color:#bdccbf}.vetrina-sezione h2::after{content:"";flex:1;height:1px;background:#26332e}
.schede{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:22px}.scheda{min-width:0}
.scheda article{height:100%;display:flex;flex-direction:column;background:#121719;border:1px solid #243029;border-radius:16px;overflow:hidden;transition:border-color .2s}.scheda article:hover,.scheda article:focus-within{border-color:#557566}
.scheda-copertina{position:relative;aspect-ratio:16/10;background:#0a0e0f;overflow:hidden}.scheda-copertina img{display:block;width:100%;height:100%;object-fit:cover}
.scheda-copertina.vuota{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,#1b2622 0,#0e1315 60%,#0a0d0e 100%)}.scheda-copertina.vuota span{font:400 54px Georgia,serif;color:#3f5249;text-transform:uppercase}
.scheda-corpo{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px}
.scheda-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;font:12px/1.5 ui-monospace,monospace;letter-spacing:1px;color:#a3b1a9;overflow-wrap:anywhere}
.etichetta{padding:1px 9px;border:1px solid #3a4a44;border-radius:999px;color:#cfe0d7;text-transform:uppercase;font-size:11px;letter-spacing:2px}.protetto{display:inline-flex;align-items:center;gap:5px;color:#e4c48a}
.scheda h3{margin:0;font:400 22px/1.3 Georgia,serif;color:#eef5f1;overflow-wrap:anywhere}.scheda-descr{margin:0;font-size:15px;line-height:1.65;color:#b9c7c0;overflow-wrap:anywhere}
.scheda-azione{margin:auto 0 0;padding-top:8px}.apri{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid #adf6d2;border-radius:999px;color:#adf6d2;font-size:14px;font-weight:600;letter-spacing:.3px;text-decoration:none}
.apri:hover{background:#adf6d2;color:#0a2016}.apri:focus-visible{outline:2px solid #adf6d2;outline-offset:3px}
.con-elementi footer,.con-intro footer{position:static;flex-wrap:wrap;gap:8px 24px;margin:56px 4.5% 0;padding-bottom:max(30px,env(safe-area-inset-bottom))}footer span:last-child{text-align:right;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.scheda article{transition:none}}
@media(max-width:550px){footer{font-size:11px;letter-spacing:1px}.entrance p{font-size:12px;letter-spacing:3px}h1{font-size:23px}.art{height:52svh}.con-elementi .art{height:38svh}.entrance .intro p{font-size:15px;letter-spacing:0}.vetrina-sezione{padding:32px 16px 8px}.vetrina-sezione h2{letter-spacing:5px}.schede{gap:16px}.scheda h3{font-size:20px}.scheda-corpo{padding:16px}}
