
.adv-body{padding-bottom:30px}
.adv-main{max-width:1080px;margin:0 auto;padding:22px 16px 60px}
.adv-loading{min-height:60vh;display:grid;place-items:center;align-content:center;color:var(--muted)}
.spinner{width:42px;height:42px;border:3px solid #29312c;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.auth-shell{min-height:76vh;display:grid;place-items:center}
.auth-card{width:min(100%,850px);display:grid;grid-template-columns:1.1fr .9fr;background:var(--panel);border:1px solid rgba(215,177,90,.25);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.auth-visual{min-height:520px;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.7)),url("assets/advanced-cover.webp") center/cover;display:flex;align-items:flex-end;padding:28px}
.auth-visual h1{font-size:40px;margin:8px 0}.auth-visual p{color:#d7d8d4}
.auth-panel{padding:28px}.auth-tabs{display:flex;gap:6px;background:#0b0e0c;border-radius:14px;padding:5px;margin-bottom:20px}
.auth-tabs button{flex:1;border:0;border-radius:10px;padding:10px;background:transparent;color:var(--muted);font-weight:800}
.auth-tabs button.active{background:rgba(215,177,90,.13);color:var(--gold-2)}
.auth-form{display:grid;gap:12px}.auth-form label{font-size:12px;color:var(--muted);font-weight:800}
.auth-form input{width:100%;padding:13px 14px;background:#0c100e;border:1px solid #303a33;border-radius:13px;color:#fff;outline:none}
.auth-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.45}.auth-check input{width:auto;margin-top:3px}
.auth-msg{min-height:20px;font-size:12px;color:#e4b0b0}.setup-warning{max-width:760px;margin:8vh auto;background:var(--panel);border:1px solid #624b27;border-radius:24px;padding:26px}
.adv-hero{border:1px solid rgba(215,177,90,.25);border-radius:28px;padding:28px;background:linear-gradient(90deg,rgba(9,11,10,.92),rgba(9,11,10,.52)),url("assets/advanced-cover.webp") center/cover;min-height:360px;display:flex;align-items:flex-end}
.adv-hero-content{max-width:690px}.adv-hero h1{font-size:48px;margin:10px 0}.adv-hero p{color:#d3d6d2;font-size:16px}
.adv-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.adv-meta span{border:1px solid rgba(215,177,90,.3);background:rgba(0,0,0,.46);padding:8px 11px;border-radius:999px;font-size:12px;color:var(--gold-2)}
.adv-dashboard{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-top:16px}.adv-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px}
.adv-progress-line{height:10px;border-radius:999px;background:#212823;overflow:hidden}.adv-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.adv-module-list{display:grid;gap:12px;margin-top:18px}.adv-module-card{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:20px;overflow:hidden;text-align:left;color:inherit;padding:0}
.adv-module-card img{width:120px;height:105px;object-fit:cover;background:#151a17}.adv-module-body{padding:14px 0}.adv-module-body h3{margin:4px 0}.adv-module-body p{margin:4px 0;font-size:13px}
.adv-module-state{padding-right:16px;text-align:right;font-size:12px;color:var(--muted)}.adv-module-card.locked{opacity:.55}.adv-module-card.done{border-color:rgba(115,185,132,.4)}
.adv-view-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.adv-view-head h1{font-size:38px;margin:6px 0}
.module-hero-image{width:100%;max-height:360px;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:#0e120f}
.lesson-advanced{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:20px;margin:12px 0}.lesson-advanced h3{font-size:21px}.lesson-advanced p{line-height:1.7;color:#c0c6c1}
.adv-callout{border-left:3px solid var(--gold);background:rgba(215,177,90,.06);padding:12px 14px;border-radius:0 12px 12px 0;color:#c9ccc9;margin:14px 0}
.adv-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.quiz-shell{max-width:820px;margin:0 auto}.quiz-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}
.quiz-question{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px}.quiz-question h2{font-size:22px}
.quiz-option{display:flex;gap:10px;padding:12px;border:1px solid #303932;border-radius:13px;margin:8px 0;cursor:pointer}.quiz-option:hover{border-color:#635638}.quiz-option input{margin-top:3px}
.quiz-result{margin-top:14px;padding:18px;border-radius:18px}.quiz-result.pass{border:1px solid rgba(115,185,132,.5);background:rgba(115,185,132,.09)}.quiz-result.fail{border:1px solid rgba(209,110,110,.45);background:rgba(209,110,110,.08)}
.exam-intro{max-width:760px;margin:20px auto;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:26px}.exam-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.exam-rule{background:#0d110f;border:1px solid #29312c;border-radius:14px;padding:14px;text-align:center}.exam-rule strong{display:block;color:var(--gold-2);font-size:22px}
.cert-advanced{background:#fff9e8;color:#1c1a15;border:7px double #9a762d;border-radius:3px;padding:34px;text-align:center;max-width:960px;margin:16px auto}.cert-advanced p{color:#4d473b}.cert-advanced .cert-logo{width:150px}.cert-advanced .cert-name{font-size:34px;color:#8c6c24}.cert-code{font-family:monospace;font-size:13px}
.source-list{font-size:12px;color:var(--muted);line-height:1.65}.source-list a{color:var(--gold-2);text-decoration:underline}
.credit{font-size:11px;color:#8f9790;margin-top:6px}
.user-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
@media(max-width:760px){
  .auth-card{grid-template-columns:1fr}.auth-visual{min-height:280px}.adv-dashboard{grid-template-columns:1fr}
  .adv-module-card{grid-template-columns:92px 1fr}.adv-module-card img{width:92px;height:100%}.adv-module-state{grid-column:2;padding:0 12px 12px 0;text-align:left}
  .adv-hero{min-height:410px;padding:22px}.adv-hero h1{font-size:38px}.exam-rules{grid-template-columns:1fr}
}
@media print{
  body.cert-print *{visibility:hidden!important}
  body.cert-print .cert-advanced,body.cert-print .cert-advanced *{visibility:visible!important}
  body.cert-print .cert-advanced{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;min-height:180mm;display:flex;flex-direction:column;justify-content:center;box-shadow:none}
  body.cert-print .no-print{display:none!important}
  @page{size:A4 landscape;margin:8mm}
}

code{background:#0a0d0b;border:1px solid #2b332e;border-radius:6px;padding:2px 5px;color:#f0d28e}


.lesson-media{margin:16px 0 10px;border:1px solid rgba(207,165,74,.28);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.03)}
.lesson-media img{display:block;width:100%;height:auto}
.species-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:16px 0 8px}
.species-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(207,165,74,.25);border-radius:18px;padding:16px 16px 14px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.species-badge{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(207,165,74,.16);border:1px solid rgba(207,165,74,.35);font-weight:700;margin-bottom:10px}
.species-card h4{margin:0 0 4px;color:#f5f0e6;font-size:1.02rem}
.species-latin{font-size:.86rem;color:#d4bf88;margin-bottom:8px;font-style:italic}
.species-card ul{margin:0;padding-left:18px;color:#dadada}
.species-card li{margin:3px 0}
.lesson-note{margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(207,165,74,.12);border:1px solid rgba(207,165,74,.26);color:#efe7d3}


/* 0.2.8 — registrazione visibile anche prima dell'avvio JS */
.static-auth-shell{max-width:980px;margin:28px auto 50px}
.static-auth-intro{background:linear-gradient(90deg,rgba(9,11,10,.94),rgba(9,11,10,.70)),url("assets/advanced-cover.webp") center/cover;border:1px solid rgba(215,177,90,.26);border-radius:26px;padding:28px;margin-bottom:14px}
.static-auth-intro h1{font-size:44px;margin:7px 0 10px}.static-auth-intro p{max-width:760px;color:#d1d4d0}
.static-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.static-auth-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px}
.static-auth-card h2{margin:6px 0 16px}.static-auth-card form{display:grid;gap:12px}
.static-auth-card label{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--muted)}
.static-auth-card input[type="text"],.static-auth-card input[type="email"],.static-auth-card input[type="password"],.static-auth-card input:not([type]){width:100%;padding:13px 14px;background:#0c100e;border:1px solid #303a33;border-radius:13px;color:#fff;outline:none;font-size:15px}
.static-auth-card .auth-check{display:flex;grid-template-columns:none;gap:9px;align-items:flex-start}.static-auth-card .auth-check input{width:auto;margin-top:2px}
.static-auth-card a{color:var(--gold-2);text-decoration:underline}.static-auth-status{margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid #364039;background:#111613;color:#cbd1cc}.static-auth-status.ok{border-color:rgba(115,185,132,.45);background:rgba(115,185,132,.08);color:#a9d8b3}.static-auth-status.error{border-color:rgba(209,110,110,.45);background:rgba(209,110,110,.08);color:#edb0b0}
@media(max-width:760px){.static-auth-grid{grid-template-columns:1fr}.static-auth-intro h1{font-size:36px}}
