:root{--bg:#0b0d12;--panel:#141821;--panel2:#1b2130;--text:#f6f7fb;--muted:#949caf;--accent:#8cff66;--danger:#ff6b6b;--line:#2b3242}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at top,#202a3f 0,#0b0d12 45%);color:var(--text);font-family:Inter,system-ui,Segoe UI,sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(16px,5vw,72px);background:rgba(11,13,18,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.topbar strong{display:block;letter-spacing:.14em}.topbar>div>span{display:block;color:var(--muted);font-size:.78rem}.profile-menu,.profile-button{display:flex;align-items:center;gap:10px}.profile-button{border:0;background:transparent;color:var(--text);cursor:pointer}.profile-button img,.tiny-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}.logout{color:var(--muted);font-size:.8rem;text-decoration:none}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#111;font-weight:800}.tiny-avatar{width:24px;height:24px;font-size:.62rem}main{max-width:1180px;margin:auto;padding:48px 20px 80px}.hero{display:flex;align-items:end;justify-content:space-between;gap:24px}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.16em;font-size:.72rem}.hero h1{font-size:clamp(2.3rem,6vw,5rem);line-height:.95;margin:.2em 0}.hero p,.muted{color:var(--muted)}.primary,.secondary{border:0;border-radius:999px;padding:14px 20px;background:var(--accent);color:#111;font-weight:800;cursor:pointer}.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.toolbar{display:flex;justify-content:space-between;gap:16px;margin:42px 0 16px}.toolbar input{flex:1;max-width:520px}.toolbar input,.review-form input,.review-form select,.review-form textarea{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.view-switch{display:flex;background:var(--panel);padding:4px;border-radius:12px}.view-switch button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:9px;cursor:pointer}.view-switch .active{background:var(--panel2);color:var(--text)}.coverflow{height:520px;position:relative;display:flex;align-items:center;justify-content:center;perspective:1100px;overflow:hidden;touch-action:pan-y;user-select:none;cursor:grab}.coverflow:active{cursor:grabbing}.cover-card{position:absolute;width:270px;height:410px;border-radius:22px;overflow:hidden;background:var(--panel);border:1px solid rgba(255,255,255,.09);cursor:pointer;box-shadow:0 30px 70px rgba(0,0,0,.35)}.cover-art{height:58%;padding:22px;display:flex;align-items:end;background-size:cover!important;background-position:center!important;position:relative}.cover-art h3{z-index:1;margin:0;font-size:2rem;line-height:.95;text-shadow:0 2px 18px #000}.card-body{padding:18px}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem}.score{font-size:2rem;font-weight:900}.approved{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 10px;border:1px solid rgba(140,255,102,.4);border-radius:999px;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.08em}.approved.no{color:var(--danger);border-color:rgba(255,107,107,.4)}.dots{color:var(--accent);letter-spacing:2px;font-size:.75rem}.swipe-hint{text-align:center;color:var(--muted);font-size:.78rem;margin-top:-18px}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.grid-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}.grid-card .cover-art{height:230px}.hidden{display:none!important}.empty{text-align:center;padding:80px 20px;color:var(--muted)}dialog{width:min(640px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:auto;border:1px solid var(--line);border-radius:22px;background:#11151e;color:var(--text);padding:0}dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.review-form{padding:24px;display:grid;gap:16px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:.2rem 0}.dialog-head small{color:var(--accent)}.icon-btn{border:0;background:transparent;color:var(--text);font-size:2rem;cursor:pointer}.review-form label,.stack{display:grid;gap:7px}.review-form textarea{min-height:90px;resize:vertical}.rating-row{display:flex;justify-content:space-between;align-items:center}.rating-row button{border:0;background:transparent;color:#4a5367;font-size:1.4rem;cursor:pointer}.rating-row button.on{color:var(--accent)}.check{display:flex!important;align-items:center}.check input{width:auto}.game-search-wrap{position:relative}.game-results{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 6px);background:#161c28;border:1px solid var(--line);border-radius:14px;overflow:hidden;max-height:330px;overflow-y:auto}.game-result{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:10px;cursor:pointer}.game-result:hover{background:var(--panel2)}.game-result img{width:58px;height:72px;object-fit:cover;border-radius:8px}.game-result span{display:grid;gap:4px}.game-result small,.result-note{color:var(--muted)}.result-note{padding:14px}.selected-game{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}.selected-game img{width:64px;height:80px;object-fit:cover;border-radius:8px}.selected-game div{display:grid;gap:4px;flex:1}.selected-game small{color:var(--muted)}.selected-game button{border:0;background:transparent;color:var(--accent);cursor:pointer}.alert{padding:11px 13px;border-radius:12px;background:rgba(140,255,102,.12);border:1px solid rgba(140,255,102,.25)}.alert.error{background:rgba(255,107,107,.1);border-color:rgba(255,107,107,.3);color:#ffb2b2}.auth-page{display:grid;place-items:center;padding:24px}.auth-card{width:min(470px,100%);background:rgba(20,24,33,.93);border:1px solid var(--line);border-radius:24px;padding:30px}.auth-card h1{font-size:2.2rem;margin:.2em 0}.logo-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--accent);color:#111;font-weight:900}.auth-card label{display:grid;gap:7px}.auth-card input{width:100%;background:#0f131b;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px}.stack{gap:14px}hr{border:0;border-top:1px solid var(--line);width:100%}
@media(max-width:650px){.hero{align-items:start;flex-direction:column}.toolbar{align-items:stretch;flex-direction:column}.coverflow{height:470px;margin-inline:-20px}.cover-card{width:min(72vw,245px);height:380px}.cover-art h3{font-size:1.65rem}.view-switch{align-self:flex-start}.topbar>div:first-child span,.profile-button>span:last-child{display:none}.topbar{padding:12px 16px}.logout{font-size:.72rem}.swipe-hint{margin-top:-10px}.review-form{padding:18px}.rating-row button{padding:3px;font-size:1.25rem}}

.card-actions{display:flex;gap:8px;margin-top:12px}.card-actions button,.danger{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:700}.danger{background:rgba(255,107,107,.1);border-color:rgba(255,107,107,.35);color:#ffaaaa}.form-actions{display:flex;justify-content:space-between;gap:12px}.approved img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid currentColor}.approved .avatar{width:28px;height:28px;font-size:.6rem}.approved-stamp{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:6px 11px 6px 6px;border:2px solid var(--accent);border-radius:999px;color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.09em}.approved-stamp.no{color:var(--danger);border-color:var(--danger)}
article[data-id]{outline:none}.grid-card{cursor:pointer}.detail-hero{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}.detail-hero>img{width:150px;aspect-ratio:2/3;object-fit:cover;border-radius:16px}.detail-score{font-size:2.8rem;font-weight:900}.detail-ratings{display:grid;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.detail-ratings>div{display:flex;justify-content:space-between;gap:12px}.detail-ratings strong{color:var(--accent);letter-spacing:3px}.detail-view section{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.detail-view section h3{margin-top:0}.game-result span{min-width:0}.game-result strong{white-space:normal}.card-actions{position:relative;z-index:5}
@media(max-width:520px){.detail-hero{grid-template-columns:95px 1fr}.detail-hero>img{width:95px}.detail-score{font-size:2.2rem}.detail-ratings>div{align-items:center}.detail-ratings strong{font-size:.85rem;letter-spacing:1px}}

/* Badge recensione con foto autore come sfondo */
.approved-stamp{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:flex-start;width:176px;height:68px;margin-top:12px;padding:10px 12px;overflow:hidden;border:2px solid var(--accent);border-radius:15px;background:#202838;background-image:var(--stamp-photo);background-size:cover;background-position:center 35%;color:#fff;font-size:.72rem;font-weight:950;letter-spacing:.09em;text-shadow:0 1px 5px #000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.approved-stamp::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.08) 5%,rgba(0,0,0,.2) 42%,rgba(0,0,0,.88) 100%)}
.approved-stamp::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(140,255,102,.18),transparent 58%)}
.approved-stamp.no{border-color:var(--danger);color:#fff}
.approved-stamp.no::after{background:linear-gradient(90deg,rgba(255,107,107,.22),transparent 58%)}
.approved-stamp .stamp-label{position:relative;z-index:1}
.approved-stamp .stamp-initials{display:none}
.approved-stamp.no-photo{align-items:center;width:auto;min-width:150px;height:46px;border-radius:999px;background-image:none}
.approved-stamp.no-photo .stamp-initials{display:grid;place-items:center;width:28px;height:28px;margin-right:8px;border-radius:50%;background:var(--accent);color:#111;text-shadow:none;font-size:.65rem}
.approved-stamp.no-photo.no .stamp-initials{background:var(--danger)}
.detail-view .approved-stamp{width:210px;height:80px}
@media(max-width:600px){.approved-stamp{width:154px;height:60px;font-size:.66rem}.detail-view .approved-stamp{width:180px;height:72px}}

.admin-user-create{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.users-admin{display:grid;gap:12px}.admin-user-row{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--panel)}.admin-user-head{display:flex;align-items:center;gap:10px}.admin-user-head img,.admin-user-head .avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}.admin-user-head>div{display:grid;flex:1}.admin-user-head small{color:var(--muted)}.status{font-size:.72rem;font-weight:800;padding:5px 8px;border-radius:999px}.status.on{color:var(--accent);background:rgba(140,255,102,.1)}.status.off{color:var(--danger);background:rgba(255,107,107,.1)}.admin-user-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.admin-user-fields .check{align-self:end;padding-bottom:10px}.admin-user-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.admin-user-actions button{padding:9px 12px}.cover-card{pointer-events:auto}.cover-card *{pointer-events:none}.cover-card button{pointer-events:auto}
@media(max-width:760px){.admin-user-create,.admin-user-fields{grid-template-columns:1fr}.admin-user-fields .check{padding-bottom:0}}

/* v5: community dashboard, profili e badge fotografico */
.community-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.community-stats>div{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px}.community-stats small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.08em}.community-stats strong{display:block;font-size:1.55rem;margin-top:4px}
.author-link{border:0;background:transparent;color:var(--muted);padding:0;font:inherit;cursor:pointer;text-align:right}.author-link:hover{color:var(--accent)}
.approved-stamp{position:relative;isolation:isolate;display:block;width:176px;height:72px;padding:0;overflow:hidden;border:2px solid var(--accent);border-radius:15px;background:#202838;color:#fff}.approved-stamp.no{border-color:var(--danger)}
.approved-stamp .stamp-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%;z-index:-3;display:block}.approved-stamp .stamp-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.28) 42%,rgba(0,0,0,.92))}.approved-stamp::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(140,255,102,.2),transparent 65%)}.approved-stamp.no::after{background:linear-gradient(90deg,rgba(255,107,107,.22),transparent 65%)}
.approved-stamp .stamp-text{position:absolute;left:11px;right:8px;bottom:8px;display:grid;line-height:1.05;text-shadow:0 1px 5px #000}.approved-stamp .stamp-text b{font-size:.72rem;letter-spacing:.09em}.approved-stamp .stamp-text small{font-size:.58rem;letter-spacing:0;color:rgba(255,255,255,.82);margin-top:3px}.approved-stamp.no-photo{display:flex;align-items:center;height:50px;width:176px;padding:6px 10px}.approved-stamp.no-photo .stamp-initials{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#111;font-size:.7rem;font-weight:900}.approved-stamp.no-photo.no .stamp-initials{background:var(--danger)}.approved-stamp.no-photo .stamp-text{position:static;margin-left:9px}
.game-page-hero{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}.game-page-hero>img{width:150px;aspect-ratio:2/3;object-fit:cover;border-radius:16px}.community-score{font-size:3rem;font-weight:950}.community-score small{font-size:1rem;color:var(--muted)}.game-review-list{display:grid;gap:12px}.game-review-list article{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer}.game-review-head{display:flex;align-items:center;gap:10px}.game-review-head img,.game-review-head .avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}.game-review-head>div{display:grid;flex:1}.game-review-head small{color:var(--muted)}
.user-profile-hero{display:flex;align-items:center;gap:18px}.user-profile-hero>img,.user-profile-hero>.avatar{width:92px;height:92px;border-radius:50%;object-fit:cover;font-size:1.5rem}.user-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.user-review-grid article{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer}.user-review-grid img{width:100%;aspect-ratio:2/3;object-fit:cover}.user-review-grid article>div{display:grid;padding:10px}.user-review-grid small{color:var(--muted)}
@media(max-width:700px){.community-stats{grid-template-columns:repeat(2,1fr)}.game-page-hero{grid-template-columns:95px 1fr}.game-page-hero>img{width:95px}.community-score{font-size:2.3rem}}


/* v5.1: commenti e recensione personale dello stesso gioco */
.comments-panel{display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.comments-head{display:flex;align-items:center;justify-content:space-between}.comments-head h3{margin:0}.comments-list{display:grid;gap:10px}.comment-item{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:11px;border-radius:13px;background:#10141d;border:1px solid var(--line)}.comment-item>img,.comment-item>.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;font-size:.68rem}.comment-main{min-width:0}.comment-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comment-meta time{font-size:.7rem;color:var(--muted)}.comment-main p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{display:flex;gap:7px;margin-top:8px}.comment-actions button{border:0;background:transparent;color:var(--muted);padding:0;cursor:pointer;font-size:.76rem}.comment-actions button:hover{color:var(--accent)}.comment-actions .danger-link:hover{color:var(--danger)}.own-review-btn{margin-left:auto}.game-page-actions{display:flex;justify-content:flex-end;margin:4px 0 14px}
.guest-label{font-size:.85rem;color:var(--muted,#a7adba);padding:.45rem .7rem;border:1px solid rgba(255,255,255,.12);border-radius:999px}
.guest-login{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.guest-callout{padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:var(--muted,#a7adba);text-align:center;background:rgba(255,255,255,.04)}


/* v5.3: recensioni vocali */
.audio-review-panel{display:grid;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px}.audio-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.audio-review-head>div{display:grid;gap:2px}.audio-review-head small{color:var(--muted)}.audio-review-head>span{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:800}.audio-controls{display:flex;flex-wrap:wrap;gap:8px}.audio-progress{height:7px;background:#0d1118;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.audio-progress span{display:block;width:0;height:100%;background:var(--accent);transition:width .15s linear}.audio-review-panel audio,.spoken-review audio{width:100%}.audio-review-panel p{margin:0;font-size:.82rem}.spoken-review{display:grid;gap:10px}

.video-review-panel{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;background:rgba(255,255,255,.035);display:grid;gap:12px}.video-preview-wrap{display:grid;place-items:center;background:#050505;border-radius:14px;overflow:hidden;min-height:180px}.video-preview-wrap video{width:100%;max-height:430px;object-fit:contain;background:#000}.mobile-video-fallback{font-size:.9rem}.mobile-video-fallback input{margin-top:8px}.spoken-review video{width:100%;max-height:520px;border-radius:16px;background:#000}
button:disabled{opacity:.55;cursor:not-allowed}
.spoken-review.video-review-detail{padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}
.spoken-review.video-review-detail h3{margin:0}


/* v5.8: UI refresh, ordinamento e tema chiaro */
:root{--topbar-bg:rgba(11,13,18,.86);--dialog-bg:#11151e;--field-bg:var(--panel);--soft-bg:rgba(255,255,255,.035);--card-shadow:0 30px 70px rgba(0,0,0,.35)}
html[data-theme="light"]{color-scheme:light;--bg:#f4f6fa;--panel:#ffffff;--panel2:#eef1f6;--text:#171b24;--muted:#667085;--accent:#3d8f28;--danger:#d64545;--line:#dce1e9;--topbar-bg:rgba(255,255,255,.88);--dialog-bg:#fff;--field-bg:#fff;--soft-bg:rgba(20,30,50,.035);--card-shadow:0 24px 60px rgba(35,45,70,.16)}
html[data-theme="light"] body{background:radial-gradient(circle at top,#ffffff 0,#f4f6fa 48%)}
html[data-theme="light"] .topbar{border-bottom-color:rgba(23,27,36,.08)}
html[data-theme="light"] dialog::backdrop{background:rgba(30,38,55,.42)}
html[data-theme="light"] .comment-item{background:#f7f8fb}
html[data-theme="light"] .game-results{background:#fff}
html[data-theme="light"] .auth-card{background:rgba(255,255,255,.96)}
html[data-theme="light"] .auth-card input{background:#fff}
html[data-theme="light"] .guest-label,html[data-theme="light"] .guest-callout{border-color:rgba(23,27,36,.12)}
body,.topbar,.grid-card,.community-stats>div,dialog,.toolbar input,.toolbar select,.review-form input,.review-form select,.review-form textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.topbar{background:var(--topbar-bg)}
dialog{background:var(--dialog-bg)}
.cover-card{box-shadow:var(--card-shadow)}
.profile-menu{flex-wrap:wrap;justify-content:flex-end}.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:8px 11px;cursor:pointer}.theme-icon{font-size:1rem}.theme-label{font-size:.76rem;font-weight:700}
main{padding-top:34px}.hero{padding:30px clamp(20px,4vw,42px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,var(--panel),var(--soft-bg));}.hero h1{font-size:clamp(2.2rem,5vw,4.6rem)}
.reviews-heading,.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:46px}.reviews-heading h2,.section-heading h2{margin:.15rem 0 0;font-size:clamp(1.8rem,4vw,2.7rem)}.results-count{color:var(--muted);font-size:.9rem}
.toolbar{align-items:end;margin:18px 0 10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.toolbar label{display:grid;gap:6px}.toolbar label>span{font-size:.72rem;font-weight:800;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}.search-field{flex:1}.sort-field{width:min(230px,100%)}.toolbar input,.toolbar select{width:100%;background:var(--field-bg);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px 13px}.view-switch{flex-shrink:0}
.stats-section{margin-top:68px;padding-top:28px;border-top:1px solid var(--line)}.stats-section .section-heading{margin-top:0}.community-stats{margin-top:18px;margin-bottom:0}.community-stats>div{position:relative;overflow:hidden}.community-stats>div::after{content:"";position:absolute;right:-18px;bottom:-24px;width:70px;height:70px;border-radius:50%;background:var(--accent);opacity:.08}
.grid-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.grid-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 18px 38px rgba(0,0,0,.12)}
@media(max-width:760px){.theme-label{display:none}.theme-toggle{padding:8px 10px}.toolbar{align-items:stretch;flex-direction:column}.sort-field{width:100%}.view-switch{align-self:stretch}.view-switch button{flex:1}.hero{padding:24px 20px}.reviews-heading{align-items:start;flex-direction:column;gap:6px}.stats-section{margin-top:48px}}

/* v5.8.1 — Cover Flow prioritario e filtri compatti su mobile */
@media (max-width: 760px){
  main{
    display:flex;
    flex-direction:column;
    padding-top:12px;
  }
  #coverflow{
    order:1;
    height:430px;
    margin-top:0;
    margin-bottom:0;
  }
  #swipeHint{order:2;margin:0 0 18px}
  .hero{
    order:3;
    margin:0 0 22px;
    padding:18px 0 0;
    gap:14px;
  }
  .hero .eyebrow,.hero>div>p:last-child{display:none}
  .hero h1{font-size:clamp(1.8rem,9vw,2.6rem);line-height:1;margin:0}
  .hero .primary{width:100%;padding:12px 16px;text-align:center}
  .reviews-heading{order:4;margin:0 0 10px}
  .reviews-heading .eyebrow{display:none}
  .reviews-heading h2{margin:0;font-size:1.45rem}
  .toolbar{
    order:5;
    display:grid;
    grid-template-columns:minmax(0,1fr) 122px;
    gap:8px;
    margin:0 0 16px;
  }
  .toolbar label{min-width:0;display:block}
  .toolbar label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .toolbar input,.toolbar select{
    width:100%;
    min-width:0;
    height:42px;
    padding:9px 11px;
    border-radius:12px;
    font-size:.9rem;
  }
  .sort-field{width:auto}
  .view-switch{
    grid-column:1 / -1;
    width:100%;
    padding:3px;
  }
  .view-switch button{padding:7px 10px;font-size:.82rem}
  #emptyState{order:6}
  #grid{order:7}
  .stats-section{order:8}
}

@media (max-width: 420px){
  #coverflow{height:405px}
  .cover-card{width:min(70vw,230px);height:360px}
  .toolbar{grid-template-columns:minmax(0,1fr) 112px}
  .toolbar input,.toolbar select{font-size:.84rem;padding-inline:9px}
}


/* PWA install action */
.install-app{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:.62rem .9rem;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.install-app:hover{border-color:var(--accent);color:var(--accent)}
.install-app[hidden]{display:none!important}
@media(max-width:640px){.install-app{padding:.52rem .7rem;font-size:.82rem}.profile-menu{gap:.45rem}}
@media(display-mode:standalone){.install-app{display:none!important}}


/* v6.1.0 — iOS standalone safe areas (notch, Dynamic Island e barra Home) */
:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
}
body{
  min-height:100dvh;
  padding-left:var(--safe-left);
  padding-right:var(--safe-right);
  padding-bottom:var(--safe-bottom);
}
.topbar{
  padding-top:calc(16px + var(--safe-top));
  padding-left:max(clamp(16px,5vw,72px),var(--safe-left));
  padding-right:max(clamp(16px,5vw,72px),var(--safe-right));
}
main{padding-bottom:calc(80px + var(--safe-bottom))}
.auth-page{
  padding-top:calc(24px + var(--safe-top));
  padding-bottom:calc(24px + var(--safe-bottom));
}
dialog{
  max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);
}
@media(max-width:650px){
  .topbar{
    padding-top:calc(12px + var(--safe-top));
    padding-left:max(16px,var(--safe-left));
    padding-right:max(16px,var(--safe-right));
  }
}


/* Mantiene i titoli dei videogiochi bianchi anche nel tema chiaro */
html[data-theme="light"] .cover-art h3,
html[data-theme="light"] .cover-art h3 a{
    color:#fff !important;
}

/* Hero ottimizzata mobile */
@media(max-width:760px){
.hero>div{display:none}
.hero{padding:0;border:0;background:transparent}
.hero .primary{width:100%}
}


/* v6.3.0 — una scheda per gioco con contatore recensioni */
.game-group-card .cover-art{position:relative}
.game-media-indicators{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;gap:6px;align-items:center}
.game-media-icon{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(11,13,18,.88);border:1px solid rgba(255,255,255,.25);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.game-media-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.review-count-badge{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:5px;min-width:42px;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(11,13,18,.88);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.78rem;font-weight:900;line-height:1;box-shadow:0 8px 22px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.community-card-label{margin-top:12px;color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.12em}
.game-card-footer{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;font-weight:700}
.game-group-card .meta span:last-child{color:var(--accent);font-weight:800;text-transform:uppercase}
html[data-theme="light"] .review-count-badge{background:rgba(23,27,36,.86);color:#fff;border-color:rgba(255,255,255,.35)}
.game-review-list article{transition:transform .18s ease,border-color .18s ease}
.game-review-list article:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
@media(max-width:650px){.game-media-indicators{top:10px;left:10px;gap:5px}.game-media-icon{width:28px;height:28px}.review-count-badge{top:10px;right:10px;padding:6px 9px}.game-card-footer{font-size:.7rem}}


/* v6.4.0 — Top recensori e classifica community */
.top-reviewers-section{margin-top:54px;padding:32px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,var(--panel),var(--soft-bg));position:relative;overflow:hidden}
.top-reviewers-section::before{content:"";position:absolute;width:260px;height:260px;right:-120px;top:-145px;border-radius:50%;background:var(--accent);opacity:.08;pointer-events:none}
.top-reviewers-heading{position:relative;margin:0 0 22px;align-items:center}
.top-reviewers-heading .muted{margin:.4rem 0 0}
.reviewers-all-button{white-space:nowrap}
.top-reviewers-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.top-reviewer-card{position:relative;display:grid;justify-items:center;gap:13px;min-width:0;padding:25px 18px 19px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%);cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.top-reviewer-card:hover,.top-reviewer-card:focus-visible{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 20px 44px rgba(0,0,0,.16);outline:none}
.top-reviewer-card.rank-1{border-color:color-mix(in srgb,#f5c451 55%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 88%,#f5c451 12%),var(--panel))}
.reviewer-rank{position:absolute;top:13px;left:14px;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:rgba(11,13,18,.82);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:1rem;font-weight:900;backdrop-filter:blur(8px)}
.reviewer-avatar-wrap{position:relative;margin-top:7px}.reviewer-avatar-wrap>img,.reviewer-avatar-wrap>.avatar{width:82px;height:82px;border-radius:50%;object-fit:cover;font-size:1.2rem;border:3px solid var(--panel);box-shadow:0 0 0 2px var(--accent),0 12px 28px rgba(0,0,0,.22)}
.rank-1 .reviewer-avatar-wrap>img,.rank-1 .reviewer-avatar-wrap>.avatar{box-shadow:0 0 0 2px #f5c451,0 12px 28px rgba(0,0,0,.22)}
.reviewer-crown{position:absolute;right:-9px;top:-14px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f5c451;color:#302200;border:2px solid var(--panel);font-size:1rem}
.reviewer-identity{text-align:center;min-width:0}.reviewer-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.reviewer-identity span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.reviewer-metrics{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}
.reviewer-metrics>div{text-align:center;border-right:1px solid var(--line)}.reviewer-metrics>div:last-child{border-right:0}.reviewer-metrics b{display:block;font-size:1.02rem}.reviewer-metrics small{display:block;margin-top:2px;color:var(--muted);font-size:.55rem;font-weight:900;letter-spacing:.07em}
.reviewer-profile-link{color:var(--accent);font-size:.78rem;font-weight:850}
.top-reviewers-empty{grid-column:1/-1;text-align:center;padding:34px}
.all-reviewers-list{display:grid;gap:10px}
.reviewer-list-row{display:grid;grid-template-columns:42px 46px minmax(0,1fr) auto 20px;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);cursor:pointer;transition:border-color .18s ease,transform .18s ease}
.reviewer-list-row:hover,.reviewer-list-row:focus-visible{transform:translateX(3px);border-color:var(--accent);outline:none}
.reviewer-list-rank{font-size:1.05rem;font-weight:900;text-align:center}.reviewer-list-row>img,.reviewer-list-row>.avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;font-size:.72rem}.reviewer-list-name{display:grid;min-width:0}.reviewer-list-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviewer-list-name small{color:var(--muted);margin-top:3px}.reviewer-list-total{text-align:right}.reviewer-list-total small{display:block;color:var(--muted);font-size:.62rem;font-weight:700}.reviewer-list-arrow{font-size:1.5rem;color:var(--accent)}
html[data-theme="light"] .reviewer-rank{background:rgba(23,27,36,.86)}
@media(max-width:850px){.top-reviewers-grid{grid-template-columns:1fr}.top-reviewer-card{grid-template-columns:auto minmax(0,1fr);justify-items:start;align-items:center;padding:18px 16px}.reviewer-rank{top:10px;left:10px}.reviewer-avatar-wrap{grid-row:1/4;margin:0 4px 0 25px}.reviewer-avatar-wrap>img,.reviewer-avatar-wrap>.avatar{width:70px;height:70px}.reviewer-identity{text-align:left;width:100%}.reviewer-metrics{grid-column:2;padding:9px 0}.reviewer-profile-link{grid-column:2}.top-reviewers-section{padding:24px 20px}}
@media(max-width:760px){.top-reviewers-section{order:9;margin-top:24px}.top-reviewers-heading{align-items:flex-start;flex-direction:column}.reviewers-all-button{width:100%;margin-top:4px}.top-reviewers-heading .muted{font-size:.84rem}.top-reviewers-grid{gap:12px}}
@media(max-width:520px){.reviewer-list-row{grid-template-columns:34px 42px minmax(0,1fr) 16px}.reviewer-list-row>img,.reviewer-list-row>.avatar{width:42px;height:42px}.reviewer-list-total{display:none}.reviewer-list-name small{font-size:.67rem}.top-reviewer-card{grid-template-columns:74px minmax(0,1fr)}.reviewer-avatar-wrap{margin-left:8px}.reviewer-metrics{grid-column:1/-1}.reviewer-profile-link{grid-column:1/-1;justify-self:center}.reviewer-identity{align-self:end}}


/* v6.5.0 — profilo utente esteso */
.profile-editor-section{display:grid;gap:14px}.profile-editor-section>h3{margin:0}.profile-editor-section>.muted{margin:-8px 0 2px}.profile-choice-group{margin:0;padding:14px;border:1px solid var(--line);border-radius:16px}.profile-choice-group legend{padding:0 7px;font-weight:850}.profile-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-choice-grid-genres{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-choice{position:relative;cursor:pointer}.profile-choice input{position:absolute;opacity:0;pointer-events:none}.profile-choice span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:.75rem;font-weight:750;text-align:center;transition:.16s ease}.profile-choice input:checked+span{background:color-mix(in srgb,var(--accent) 18%,var(--panel));border-color:var(--accent);color:var(--accent)}.profile-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}

/* TheGamesDB keys are managed exclusively from the admin control center. */
#profileDialog hr:has(+ h3 + .stack #tgdbKey),
#profileDialog h3:has(+ .stack #tgdbKey),
#profileDialog .stack:has(#tgdbKey){display:none}
.user-page{width:min(920px,calc(100vw - 28px))}.expanded-user-profile{display:grid;gap:20px}.user-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),var(--panel))}.user-profile-hero>img,.user-profile-hero>.avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;font-size:1.5rem;box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--accent)}.user-profile-identity{min-width:0}.user-profile-identity>strong{display:block;font-size:1.35rem}.user-profile-identity>span{display:block;margin-top:2px;color:var(--accent);font-size:.82rem;font-weight:800}.user-profile-identity p{margin:12px 0 0;line-height:1.55;white-space:pre-line}.user-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden}.user-profile-stats>div{padding:15px;text-align:center;border-right:1px solid var(--line)}.user-profile-stats>div:last-child{border-right:0}.user-profile-stats strong{display:block;font-size:1.35rem}.user-profile-stats small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.08em}.profile-info-block{display:grid;gap:10px}.profile-info-block h3{margin:0;font-size:1rem}.profile-chip-list{display:flex;flex-wrap:wrap;gap:8px}.profile-chip{display:inline-flex;padding:8px 11px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 11%,var(--panel));font-size:.76rem;font-weight:800}.user-reviews-section{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.user-reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.user-reviews-heading h3{margin:2px 0 0}.user-review-search{width:min(330px,100%)}.user-review-search span{display:block;margin-bottom:5px;font-size:.72rem;font-weight:850;color:var(--muted)}.user-review-grid{margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.user-review-grid article{transition:transform .18s ease,border-color .18s ease}.user-review-grid article:hover{transform:translateY(-3px);border-color:var(--accent)}.user-review-grid article>div{gap:4px}.user-review-placeholder{display:grid;place-items:center;width:100%;aspect-ratio:2/3;background:var(--soft-bg);font-size:2rem}.user-review-grid small{line-height:1.35}.user-review-grid .hidden{display:none}
@media(max-width:700px){.profile-choice-grid,.profile-choice-grid-genres{grid-template-columns:repeat(2,minmax(0,1fr))}.user-profile-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.user-profile-hero>img,.user-profile-hero>.avatar{width:90px;height:90px}.user-reviews-heading{align-items:stretch;flex-direction:column}.user-review-search{width:100%}.user-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.profile-choice-grid,.profile-choice-grid-genres{grid-template-columns:1fr}.user-profile-stats strong{font-size:1.1rem}.user-profile-stats>div{padding:12px 7px}.user-review-grid{grid-template-columns:1fr 1fr}}


/* Profilo gamer esteso v6.6 */
.profile-highlight-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-highlight-editor label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.profile-highlight-editor input,.profile-highlight-editor select{width:100%;min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:11px 12px}
.profile-gamer-highlights{display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:12px}.profile-gamer-highlights article{position:relative;min-width:0;min-height:132px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));overflow:hidden}.profile-highlight-icon{display:block;margin-bottom:14px;font-size:1.55rem}.profile-gamer-highlights small{display:block;color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.1em}.profile-gamer-highlights strong{display:block;margin-top:7px;font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.15;overflow-wrap:anywhere}.profile-gamer-highlights article>span:last-child:not(.profile-highlight-icon){display:block;margin-top:7px;color:var(--accent);font-size:.72rem;font-weight:800}.profile-highlight-empty{color:var(--muted);font-size:.9em;font-weight:700}.profile-collapsibles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-details{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}.profile-details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;font-weight:850;list-style:none}.profile-details summary::-webkit-details-marker{display:none}.profile-details summary:after{content:'＋';color:var(--accent);font-size:1.05rem}.profile-details[open] summary:after{content:'−'}.profile-details summary small{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:auto;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:.68rem}.profile-details .profile-chip-list{padding:0 16px 16px;border-top:1px solid var(--line);padding-top:14px}
@media(max-width:760px){.profile-highlight-editor{grid-template-columns:1fr}.profile-gamer-highlights{grid-template-columns:1fr}.profile-gamer-highlights article{min-height:0}.profile-collapsibles{grid-template-columns:1fr}}

/* v6.6.1 — correzione allineamento scheda profilo desktop */
#userDialog{
  width:min(920px,calc(100vw - 32px));
  max-width:920px;
  overflow-x:hidden;
}
#userDialog .user-page{
  width:100%;
  max-width:100%;
  min-width:0;
}
#userDialog #userPageContent,
#userDialog .expanded-user-profile,
#userDialog .user-reviews-section,
#userDialog .user-profile-hero,
#userDialog .profile-gamer-highlights,
#userDialog .profile-collapsibles,
#userDialog .user-profile-stats{
  width:100%;
  max-width:100%;
  min-width:0;
}
#userDialog .user-profile-identity,
#userDialog .profile-gamer-highlights article,
#userDialog .profile-details,
#userDialog .user-reviews-heading,
#userDialog .user-review-grid{
  min-width:0;
}
@media(max-width:700px){
  #userDialog{width:min(100% - 20px,920px)}
}


/* v6.7.0 — evita lo zoom automatico dei campi su iPhone/iPad */
@media (max-width: 900px){
  input, select, textarea{font-size:16px!important;}
}
/* v6.11 — indicatori audio/video sulle schede recensione */
.review-media-indicators{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.review-media-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent)}
.review-media-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.user-review-grid .review-media-indicators{margin-top:7px}
.user-review-grid .review-media-icon{width:25px;height:25px}
@media(max-width:560px){.game-review-head{flex-wrap:wrap}.game-review-head>div{min-width:0}.review-media-indicators{margin-left:auto}.game-review-head>strong{margin-left:0}.review-media-icon{width:26px;height:26px}}


/* v6.13 — centro notifiche */
.notification-button{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);cursor:pointer}.notification-button:hover{border-color:var(--accent);color:var(--accent)}.notification-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--bg);border-radius:999px;background:var(--accent);color:#111;font-size:.65rem;font-weight:900;line-height:1}.notifications-view{width:min(680px,calc(100vw - 28px))}.notifications-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.notifications-toolbar>div{display:flex;gap:8px}.notifications-toolbar button{padding:9px 11px;font-size:.72rem}.notifications-list{display:grid;gap:8px}.notification-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 10px;gap:12px;align-items:center;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.notification-item:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.notification-item.unread{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.notification-type{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--panel2);font-size:1.05rem}.notification-copy{display:grid;gap:3px;min-width:0}.notification-copy strong{font-size:.85rem}.notification-copy>span{color:var(--muted);font-size:.78rem;line-height:1.35}.notification-copy small{color:var(--accent);font-size:.67rem;font-weight:800}.notification-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.notifications-empty{padding:38px 18px;text-align:center;color:var(--muted)}.notifications-empty>span{display:block;margin-bottom:8px;font-size:2rem}.notifications-empty strong{display:block;color:var(--text)}.notifications-empty p{max-width:390px;margin:7px auto 0;font-size:.8rem;line-height:1.5}
@media(max-width:700px){.profile-menu{gap:6px}.notification-button{width:38px;height:38px}.notifications-toolbar{align-items:stretch;flex-direction:column}.notifications-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.notification-item{grid-template-columns:38px minmax(0,1fr) 9px;padding:12px 11px}.notification-type{width:38px;height:38px}}
@media(max-width:480px){.notifications-toolbar>div{grid-template-columns:1fr}.notification-copy>span{font-size:.74rem}}


/* v6.13.1 — allineamento centro notifiche desktop */
@media(min-width:701px){
  #notificationDialog .notifications-view{width:min(720px,calc(100vw - 40px));max-width:720px}
  #notificationDialog .notifications-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  #notificationDialog .notifications-toolbar>div{justify-content:flex-end;flex-wrap:wrap}
  #notificationDialog .notification-item{grid-template-columns:46px minmax(0,1fr) 94px;align-items:start;gap:14px;min-height:78px;padding:15px 16px}
  #notificationDialog .notification-type{width:46px;height:46px;align-self:center}
  #notificationDialog .notification-copy{align-self:center;gap:5px;overflow:hidden}
  #notificationDialog .notification-copy strong{display:block;line-height:1.25;overflow-wrap:anywhere}
  #notificationDialog .notification-copy>span{display:block;line-height:1.45;overflow-wrap:anywhere}
  #notificationDialog .notification-meta{display:grid;grid-template-columns:minmax(0,1fr) 10px;align-items:center;gap:9px;align-self:center;min-width:0;text-align:right}
  #notificationDialog .notification-meta small{color:var(--accent);font-size:.67rem;font-weight:800;line-height:1.2;white-space:normal}
  #notificationDialog .notification-dot{justify-self:end}
}
@media(max-width:700px){
  .notification-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;grid-column:2/4;min-width:0}
  .notification-meta small{color:var(--accent);font-size:.67rem;font-weight:800}
  .notification-item{align-items:start}
  .notification-type{align-self:center}
}


/* v6.13.2 — centro notifiche desktop ridisegnato */
#notificationDialog{
  width:min(760px,calc(100vw - 32px));
  max-width:760px;
  overflow:hidden;
}
#notificationDialog .notifications-view{
  width:100%;
  max-width:100%;
  min-width:0;
  max-height:calc(100dvh - 32px);
  padding:0;
  gap:0;
  overflow:hidden;
}
#notificationDialog .dialog-head{
  padding:22px 24px 14px;
  border-bottom:1px solid var(--line);
}
#notificationDialog .notifications-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:0;
  padding:14px 24px;
  border-bottom:1px solid var(--line);
}
#notificationDialog .notifications-toolbar>div{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
#notificationDialog .notifications-toolbar button{
  white-space:nowrap;
}
#notificationDialog .notifications-list{
  display:grid;
  gap:0;
  min-width:0;
  max-height:min(62vh,560px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}
#notificationDialog .notification-item{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 82px;
  align-items:center;
  gap:14px;
  width:100%;
  min-width:0;
  min-height:86px;
  padding:15px 24px 15px 20px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:var(--panel);
  overflow:hidden;
}
#notificationDialog .notification-item:last-child{border-bottom:0}
#notificationDialog .notification-item.unread{
  border-color:var(--line);
  background:color-mix(in srgb,var(--accent) 8%,var(--panel));
}
#notificationDialog .notification-item.unread::before{
  content:'';
  position:absolute;
  inset:10px auto 10px 0;
  width:4px;
  border-radius:0 999px 999px 0;
  background:var(--accent);
}
#notificationDialog .notification-type{
  width:46px;
  height:46px;
  overflow:hidden;
}
#notificationDialog .notification-type img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
#notificationDialog .notification-copy{
  min-width:0;
  overflow:hidden;
}
#notificationDialog .notification-copy strong,
#notificationDialog .notification-copy>span{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
}
#notificationDialog .notification-copy strong{margin-bottom:4px;line-height:1.25}
#notificationDialog .notification-copy>span{line-height:1.45}
#notificationDialog .notification-meta{
  display:grid;
  grid-template-columns:1fr 9px;
  align-items:center;
  gap:8px;
  min-width:0;
  text-align:right;
}
#notificationDialog .notification-meta small{
  color:var(--muted);
  font-size:.67rem;
  font-weight:800;
  line-height:1.25;
  white-space:normal;
}
#notificationDialog .notification-dot{justify-self:end}
#notificationDialog .notifications-empty{padding:44px 24px}

@media(max-width:700px){
  #notificationDialog{
    width:min(100% - 18px,760px);
    max-height:calc(100dvh - 18px);
  }
  #notificationDialog .dialog-head{padding:18px 18px 12px}
  #notificationDialog .notifications-toolbar{
    grid-template-columns:1fr;
    align-items:stretch;
    padding:12px 18px;
  }
  #notificationDialog .notifications-toolbar>div{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  #notificationDialog .notification-item{
    grid-template-columns:40px minmax(0,1fr);
    gap:11px;
    min-height:82px;
    padding:13px 16px 13px 14px;
  }
  #notificationDialog .notification-type{width:40px;height:40px}
  #notificationDialog .notification-meta{
    grid-column:2;
    display:flex;
    justify-content:space-between;
    text-align:left;
  }
}
@media(max-width:440px){
  #notificationDialog .notifications-toolbar>div{grid-template-columns:1fr}
}


/* v6.14 - Push, preferenze e toast live */
.push-settings{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}
.push-settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.push-settings-head>div{display:grid;gap:4px}.push-settings-head small{color:var(--muted);line-height:1.35}.push-preferences{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.push-preferences .check{margin:0}.push-preferences button{margin-left:auto}.push-settings #pushStatus{margin-top:9px;font-size:.78rem}
.live-toast-region{position:fixed;z-index:9999;top:calc(18px + env(safe-area-inset-top));right:18px;display:grid;gap:10px;width:min(390px,calc(100vw - 30px));pointer-events:none}.live-notification-toast{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;width:100%;padding:13px 14px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 18px 48px rgba(0,0,0,.22);text-align:left;cursor:pointer;pointer-events:auto;opacity:0;transform:translateY(-12px);transition:opacity .22s ease,transform .22s ease}.live-notification-toast.visible{opacity:1;transform:none}.live-toast-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--panel2));font-size:1.05rem}.live-notification-toast>span:last-child{display:grid;gap:3px;min-width:0}.live-notification-toast strong{font-size:.84rem}.live-notification-toast small{color:var(--muted);font-size:.76rem;line-height:1.35}
@media(max-width:700px){.push-settings-head{align-items:stretch;flex-direction:column}.push-settings-head button{width:100%}.push-preferences{display:grid}.push-preferences button{width:100%;margin-left:0}.live-toast-region{top:calc(10px + env(safe-area-inset-top));right:10px;width:calc(100vw - 20px)}}

/* v6.14.1 — rifinitura mobile del centro notifiche (solo layout) */
@media(max-width:700px){
  #notificationDialog{
    width:calc(100% - 18px);
    max-width:760px;
    max-height:calc(100dvh - 18px);
    margin:auto;
    overflow:hidden;
  }
  #notificationDialog .notifications-view{
    display:flex;
    flex-direction:column;
    width:100%;
    max-height:calc(100dvh - 18px);
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  #notificationDialog .dialog-head{
    position:sticky;
    top:0;
    z-index:5;
    flex:0 0 auto;
    padding:calc(14px + env(safe-area-inset-top)) 18px 12px;
    background:var(--panel);
  }
  #notificationDialog .dialog-head .icon-btn{
    flex:0 0 auto;
  }
  #notificationDialog .notifications-toolbar{
    flex:0 0 auto;
    padding:11px 18px 12px;
    gap:10px;
  }
  #notificationDialog .notifications-toolbar>div{
    gap:8px;
  }
  #notificationDialog .notifications-toolbar button{
    min-height:42px;
    padding:9px 10px;
  }
  #notificationDialog .notifications-list{
    flex:0 0 auto;
    max-height:min(38dvh,360px);
    overflow-y:auto;
    overflow-x:hidden;
  }
  #notificationDialog .notification-item{
    min-height:74px;
    padding:11px 15px 11px 13px;
  }
  #notificationDialog .notification-copy strong{
    margin-bottom:2px;
  }
  #notificationDialog .notification-copy>span{
    line-height:1.35;
  }
  #notificationDialog .push-settings{
    flex:0 0 auto;
    margin:12px 12px calc(12px + env(safe-area-inset-bottom));
    padding:14px;
  }
  #notificationDialog .push-settings-head{
    gap:12px;
  }
  #notificationDialog .push-preferences{
    gap:10px;
    margin-top:12px;
    padding-top:12px;
  }
}

@media(max-width:440px){
  #notificationDialog .notifications-list{
    max-height:min(34dvh,300px);
  }
  #notificationDialog .notification-type{
    width:38px;
    height:38px;
  }
  #notificationDialog .notification-item{
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
  }
}


/* v6.15 — navigazione orizzontale tra le recensioni dello stesso gioco */
#detailDialog{overflow:hidden;width:min(760px,calc(100% - 24px))}
.detail-shell{position:relative;max-height:calc(100vh - 24px);overflow:hidden}
.detail-shell .detail-view{max-height:calc(100vh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding-left:64px;padding-right:64px}
.detail-review-position{display:flex;align-items:center;gap:10px;margin-top:7px;color:var(--muted);font-size:.76rem;font-weight:700}
.detail-review-dots{display:flex;align-items:center;gap:5px;max-width:150px;overflow:hidden}
.detail-review-dots i{display:block;width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--line)}
.detail-review-dots i.active{background:var(--accent);transform:scale(1.25)}
.detail-edge-nav{position:absolute;z-index:8;top:76px;bottom:18px;width:48px;border:0;background:transparent;color:var(--muted);font-size:3rem;font-weight:300;cursor:pointer;display:grid;place-items:center;transition:background .18s ease,color .18s ease,opacity .18s ease}
.detail-edge-nav:hover,.detail-edge-nav:focus-visible{background:rgba(140,255,102,.08);color:var(--accent)}
.detail-edge-prev{left:0;border-radius:0 18px 18px 0}
.detail-edge-next{right:0;border-radius:18px 0 0 18px}
.detail-edge-nav.hidden{display:none!important}
@media(max-width:700px){
 #detailDialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
 .detail-shell,.detail-shell .detail-view{max-height:calc(100dvh - 16px)}
 .detail-shell .detail-view{padding-left:20px;padding-right:20px}
 .detail-edge-nav{display:none!important}
 .detail-review-position{font-size:.72rem}
 .detail-review-dots{max-width:110px}
}

/* v6.15.1 — miglioramento accessibilità chiusura dettaglio recensione su mobile */
@media(max-width:700px){
  #detailDialog{
    width:calc(100% - 20px);
    max-height:calc(100dvh - 40px);
    margin-top:20px;
    margin-bottom:20px;
  }
  .detail-shell,
  .detail-shell .detail-view{
    max-height:calc(100dvh - 40px);
  }
  .detail-shell .detail-view{
    padding-top:0;
  }
  #detailDialog .dialog-head{
    position:sticky;
    top:0;
    z-index:12;
    margin:0 -20px 4px;
    padding:16px 14px 12px 20px;
    background:#11151e;
    border-bottom:1px solid var(--line);
  }
  #detailDialog .dialog-head .icon-btn{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    padding:0;
    border-radius:50%;
    font-size:2.15rem;
    line-height:1;
    background:var(--panel2);
    border:1px solid var(--line);
    touch-action:manipulation;
  }
}


/* v6.17: risposte dirette ai commenti */
.comment-thread{display:grid;gap:8px}.comment-replies{display:grid;gap:8px;margin-left:48px;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.comment-reply{grid-template-columns:32px 1fr;padding:9px}.comment-reply>img,.comment-reply>.avatar{width:32px;height:32px}.reply-recipient{font-size:.72rem;color:var(--accent)}.comment-reply-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 9%,var(--panel));font-size:.82rem}.comment-reply-context button{flex:0 0 34px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.comment-reply-context button:hover{background:var(--line);color:var(--text)}
@media(max-width:600px){.comment-replies{margin-left:24px;padding-left:9px}.comment-reply{grid-template-columns:30px 1fr}.comment-reply>img,.comment-reply>.avatar{width:30px;height:30px}.comment-actions{gap:12px;flex-wrap:wrap}.comment-actions button{min-height:30px}}


/* v6.18.1 — reaction, notifiche ed elenco utenti */
.review-reactions{margin-top:16px}.review-reactions h3{margin-bottom:10px}.reaction-bar{display:flex;gap:8px;flex-wrap:wrap}.reaction-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);cursor:pointer}.reaction-btn:hover{border-color:var(--accent);color:var(--accent)}.reaction-btn.active{background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-color:var(--accent);color:var(--accent)}.reaction-btn b{font-size:.76rem}.reaction-bar.compact{margin-top:9px;gap:5px}.reaction-bar.compact .reaction-btn{min-height:30px;padding:4px 8px;font-size:.76rem}.reaction-bar.compact .reaction-label{display:none}@media(max-width:600px){.reaction-bar:not(.compact){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reaction-bar:not(.compact) .reaction-btn{justify-content:center}.reaction-bar.compact{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.reaction-bar.compact .reaction-btn{flex:0 0 auto}}


/* v6.18.2 — sei reaction e popup utenti */
.reaction-choice{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--panel)}
.reaction-choice .reaction-btn{border:0;border-radius:0;background:transparent}
.reaction-choice .reaction-count{min-width:30px;padding:0 9px;border:0;border-left:1px solid var(--line);background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent);font-weight:800;cursor:pointer}
.reaction-choice .reaction-count:hover{background:color-mix(in srgb,var(--accent) 20%,var(--panel))}
.reaction-bar.compact .reaction-choice .reaction-btn{min-height:30px}
.reaction-bar.compact .reaction-count{min-width:26px;padding:0 7px;font-size:.76rem}
.reaction-users-dialog{width:min(430px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 32px));padding:0;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);overflow:hidden}
.reaction-users-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}
.reaction-users-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}
.reaction-users-head small{color:var(--muted);font-weight:800;letter-spacing:.12em}.reaction-users-head h2{margin:3px 0 0;font-size:1.15rem}
.reaction-users-head .icon-button{width:46px;height:46px;min-width:46px;border-radius:50%;font-size:1.8rem;line-height:1}
.reaction-users-list{padding:10px 18px 20px;overflow:auto;max-height:500px}
.reaction-user-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}
.reaction-user-row:last-child{border-bottom:0}.reaction-user-row .avatar-image-shell,.reaction-user-row .avatar{width:38px;height:38px;min-width:38px;max-width:38px;max-height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 38px}.reaction-user-row .avatar-image-shell img{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:inherit;object-fit:cover;display:block}
@media(max-width:600px){.reaction-bar:not(.compact){grid-template-columns:1fr}.reaction-users-dialog{margin-top:max(18px,env(safe-area-inset-top));max-height:calc(100dvh - max(36px,env(safe-area-inset-top) + env(safe-area-inset-bottom) + 18px))}.reaction-users-list{max-height:calc(100dvh - 145px)}}

/* v6.19 — condivisione recensioni */
.share-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.share-review-btn span{font-size:1.05em;line-height:1}
@media(max-width:640px){#detailActions .share-review-btn{order:-1;width:100%}}


/* v6.19.1 — header dettaglio leggibile e condivisione a icona */
#detailDialog .dialog-head{align-items:flex-start;gap:12px}
#detailDialog .detail-head-copy{min-width:0;flex:1}
#detailDialog #detailTitle{color:#fff!important;font-weight:750;line-height:1.15;overflow-wrap:anywhere;text-shadow:0 1px 2px rgba(0,0,0,.35)}
#detailDialog .detail-head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
#detailDialog .detail-head-actions .icon-btn{width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;border-radius:50%;background:var(--panel2);border:1px solid var(--line);color:#fff;touch-action:manipulation}
#detailDialog .detail-share-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#detailDialog .detail-share-icon:active{transform:scale(.94)}
#detailDialog .detail-share-icon.share-copied{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
#detailDialog .detail-share-icon.share-copied svg{display:none}
#detailDialog .detail-share-icon.share-copied::after{content:'✓';font-size:1.35rem;font-weight:900}
@media(max-width:700px){
 #detailDialog .dialog-head{align-items:center}
 #detailDialog .detail-head-actions{gap:4px}
 #detailDialog .detail-head-actions .icon-btn{width:42px;height:42px;min-width:42px}
 #detailDialog #detailTitle{font-size:clamp(1.05rem,5vw,1.35rem)}
}

/* v6.19.2 — rifiniture header mobile e contrasto icone dettaglio */
.topbar{
  flex-wrap:nowrap;
  gap:12px;
}
.topbar>div:first-child{
  min-width:0;
  flex:1 1 auto;
}
.topbar>div:first-child>div{
  flex-wrap:nowrap;
  min-width:0;
}
.topbar strong{
  white-space:nowrap;
}
.profile-menu{
  flex:0 0 auto;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  white-space:nowrap;
}
.profile-button{
  flex:0 0 auto;
  white-space:nowrap;
}
.logout{
  flex:0 0 auto;
  white-space:nowrap;
}

#detailDialog .dialog-head{
  background:var(--dialog-bg);
}
#detailDialog #detailTitle{
  color:var(--text)!important;
  text-shadow:none;
}
#detailDialog .detail-head-actions .icon-btn{
  color:var(--text);
  background:var(--panel2);
  border-color:var(--line);
}
#detailDialog .detail-head-actions .icon-btn:hover,
#detailDialog .detail-head-actions .icon-btn:focus-visible{
  background:color-mix(in srgb,var(--text) 10%,var(--panel2));
}

@media(max-width:650px){
  .topbar{
    gap:8px;
  }
  .topbar strong{
    font-size:clamp(.92rem,4vw,1.05rem);
    letter-spacing:.11em;
  }
  .profile-menu{
    gap:5px;
  }
  .profile-button{
    gap:0;
  }
  .logout{
    font-size:.72rem;
    margin-left:1px;
  }
}

@media(max-width:390px){
  .topbar strong{
    font-size:.86rem;
    letter-spacing:.08em;
  }
  .topbar>div:first-child>div{
    gap:7px!important;
  }
  .profile-menu{
    gap:3px;
  }
  .theme-toggle,
  .notification-button{
    width:38px;
    height:38px;
    min-width:38px;
    padding:0;
    justify-content:center;
  }
  .profile-button img,
  .profile-button .avatar{
    width:36px;
    height:36px;
  }
}


/* v6.20 - Identità, footer e pannello informativo */
.brand-info-button{display:flex;align-items:center;gap:10px;min-width:0;border:0;background:transparent;color:var(--text);padding:0;cursor:pointer;text-align:left}.brand-info-button img{width:28px;height:28px;flex:0 0 auto}.brand-copy{display:grid;min-width:0}.brand-copy strong{white-space:nowrap}.brand-copy>span{display:block;color:var(--muted);font-size:.78rem}.brand-info-button:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:8px}.site-footer{padding:0 max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:var(--muted)}.site-footer-line{min-height:38px;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;font-size:.75rem}.site-footer-line::-webkit-scrollbar{display:none}.site-footer button{border:0;background:transparent;color:inherit;padding:4px 0;cursor:pointer;font:inherit}.site-footer button:hover,.site-footer button:focus-visible{color:var(--text);text-decoration:underline}.site-build{font-weight:800;color:var(--accent)}.info-dialog{width:min(720px,calc(100% - 24px));max-height:min(820px,calc(100dvh - 24px));padding:0;overflow:hidden}.info-sheet{display:flex;flex-direction:column;max-height:inherit}.info-dialog-head{position:sticky;top:0;z-index:2;padding:24px 24px 18px;background:var(--dialog-bg);border-bottom:1px solid var(--line);align-items:flex-start}.info-dialog-head h2{margin:.15rem 0}.info-dialog-head p{margin:0;color:var(--muted)}.info-dialog-body{padding:8px 24px 26px;overflow-y:auto;scroll-behavior:smooth}.info-section{padding:20px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.info-section:last-of-type{border-bottom:0}.info-section h3{margin:0 0 10px}.info-section p{margin:8px 0;line-height:1.65;color:var(--muted)}.info-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.info-feature-grid span{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft-bg)}.info-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.info-stats>div{display:grid;gap:4px;text-align:center;padding:14px 8px;border:1px solid var(--line);border-radius:14px;background:var(--soft-bg)}.info-stats strong{font-size:1.55rem;color:var(--text)}.info-stats span{font-size:.76rem;color:var(--muted)}.info-section a{color:var(--accent);font-weight:700}.info-signature{text-align:center;margin:22px 0 0;color:var(--muted);font-weight:700}
@media(max-width:650px){.brand-copy>span{display:none}.site-footer-line{justify-content:flex-start;font-size:.68rem;gap:6px}.info-dialog{width:100%;max-width:none;max-height:82dvh;margin:auto 0 0;border-radius:24px 24px 0 0}.info-dialog-head{padding:20px 18px 14px}.info-dialog-body{padding:4px 18px max(22px,env(safe-area-inset-bottom))}.info-feature-grid{grid-template-columns:1fr}.info-stats strong{font-size:1.3rem}}

/* v6.52.2 — collegamenti social configurabili */
.site-footer{display:grid;gap:4px;padding-top:8px}.site-footer-social{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px}.site-footer-social a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--soft-bg);color:var(--muted);font-size:.72rem;font-weight:800;text-decoration:none;transition:border-color .18s ease,color .18s ease,transform .18s ease}.site-footer-social a:hover,.site-footer-social a:focus-visible{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-1px)}
@media(max-width:650px){.site-footer-social{gap:5px}.site-footer-social a{min-height:28px;padding:4px 8px;font-size:.66rem}}

/* v6.21 — Notification Center */
#notificationDialog .notifications-list{max-height:none;overflow:visible}
#notificationDialog .notifications-view{max-height:min(720px,calc(100dvh - 32px));overflow-y:auto}
#notificationDialog .notifications-show-all{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--accent);font-size:.82rem;font-weight:900;text-decoration:none;background:var(--panel2)}
#notificationDialog .notifications-show-all:hover{filter:brightness(1.08)}
#notificationDialog .push-settings{margin:14px}
@media(max-width:700px){
 #notificationDialog .notifications-view{max-height:calc(100dvh - 18px)}
 #notificationDialog .notifications-list{max-height:none;overflow:visible}
 #notificationDialog .notification-item{min-height:72px}
 #notificationDialog .push-settings{margin:12px 12px calc(12px + env(safe-area-inset-bottom))}
}
.notifications-page-body{min-height:100dvh;background:var(--bg)}
.notifications-page-topbar{position:sticky;top:0;z-index:20}
.notifications-back-link{text-decoration:none;white-space:nowrap}
.notifications-page-main{width:min(920px,calc(100% - 28px));margin:0 auto;padding:28px 0 calc(50px + env(safe-area-inset-bottom))}
.notifications-page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.notifications-page-hero h1{margin:3px 0 6px;font-size:clamp(1.8rem,5vw,3rem)}
.notification-page-counter{display:grid;place-items:center;min-width:48px;height:48px;padding:0 12px;border-radius:999px;background:var(--accent);color:#071009;font-size:1rem;font-weight:950;box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 22%,transparent)}
.notification-page-counter.empty{background:var(--panel2);color:var(--muted);box-shadow:none}
.notifications-page-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.notification-filter-tabs{display:flex;flex-wrap:wrap;gap:8px}
.notification-filter-tabs button{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);font-size:.78rem;font-weight:850}
.notification-filter-tabs button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--panel));color:var(--text)}
.notifications-page-actions{display:flex;gap:8px}
.notifications-page-list{display:grid;gap:22px}
.notification-day-group>h2{display:flex;align-items:center;gap:9px;margin:0 0 9px;padding:0 4px;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.notification-day-group>h2 span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:.68rem}
.notification-day-group>div{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 14px 34px rgba(0,0,0,.09)}
.notification-page-item{position:relative;border-bottom:1px solid var(--line);background:var(--panel)}
.notification-page-item:last-child{border-bottom:0}
.notification-page-item.unread{background:color-mix(in srgb,var(--accent) 7%,var(--panel))}
.notification-page-item.unread::before{content:'';position:absolute;z-index:2;inset:10px auto 10px 0;width:4px;border-radius:0 99px 99px 0;background:var(--accent)}
.notification-page-open{display:grid;grid-template-columns:48px minmax(0,1fr) 10px;align-items:center;gap:14px;width:100%;min-height:86px;padding:15px 62px 15px 18px;border:0;border-radius:0;background:transparent;color:var(--text);text-align:left}
.notification-page-open .notification-type{width:48px;height:48px;overflow:hidden}
.notification-page-open .notification-type img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.notification-page-open .notification-copy{display:grid;gap:4px;min-width:0}
.notification-page-open .notification-copy strong{font-size:.92rem}
.notification-page-open .notification-copy>span{color:var(--muted);font-size:.82rem;line-height:1.42;overflow-wrap:anywhere}
.notification-page-open .notification-copy small{color:var(--accent);font-size:.69rem;font-weight:850}
.notification-delete{position:absolute;z-index:3;top:50%;right:15px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--panel2);color:var(--muted);font-size:1.15rem;transform:translateY(-50%)}
.notification-delete:hover{border-color:#ef6b6b;color:#ef6b6b}
@media(max-width:760px){
 .notifications-page-topbar{align-items:center}.notifications-page-topbar .theme-toggle .theme-label{display:none}.notifications-back-link{padding:9px 10px;font-size:.72rem}
 .notifications-page-main{width:calc(100% - 18px);padding-top:18px}
 .notifications-page-controls{align-items:stretch;flex-direction:column}
 .notifications-page-actions{display:grid;grid-template-columns:1fr 1fr}.notifications-page-actions button{width:100%}
 .notification-filter-tabs{display:grid;grid-template-columns:1fr 1fr}.notification-filter-tabs button{width:100%}
 .notification-page-open{grid-template-columns:42px minmax(0,1fr) 9px;gap:11px;min-height:78px;padding:12px 52px 12px 13px}
 .notification-page-open .notification-type{width:42px;height:42px}
 .notification-page-open .notification-copy strong{font-size:.87rem}.notification-page-open .notification-copy>span{font-size:.77rem}
 .notification-delete{right:10px;width:32px;height:32px}
}
@media(max-width:430px){.notifications-page-topbar .brand-copy span{display:none}.notifications-page-hero{align-items:center}.notifications-page-actions{grid-template-columns:1fr}}

/* v6.21 — Community Foundation */
.auth-links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:4px}.auth-links a,.verification-link{color:var(--accent);font-weight:800;text-decoration:none}.auth-links a:hover,.verification-link:hover{text-decoration:underline}.auth-brand{display:inline-block;text-decoration:none}.auth-primary-link{display:flex;margin-top:18px;text-decoration:none;justify-content:center}.verification-link{display:block;padding:13px 14px;margin:12px 0;border:1px solid var(--accent);border-radius:12px;overflow-wrap:anywhere}.account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.account-summary>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--soft-bg);display:grid;gap:4px}.account-summary small{color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.08em}.account-summary strong{overflow-wrap:anywhere}.admin-user-create{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.admin-user-fields{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.account-summary,.admin-user-fields,.admin-user-create{grid-template-columns:1fr}}

/* v6.21.5 — Sistema utenti */
.profile-identity-editor{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-identity-editor label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.profile-joined{display:block;margin-top:9px;color:var(--muted);font-size:.72rem;font-weight:750}.profile-joined::first-letter{text-transform:uppercase}@media(max-width:640px){.profile-identity-editor{grid-template-columns:1fr}}

/* v6.22.1 — Community Reviews Base */
.community-reviews-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.community-reviews-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.community-reviews-head h3{margin:3px 0}.community-reviews-head p{margin:0}
.community-review-score{font-size:2.1rem;font-weight:950;white-space:nowrap}.community-review-score small{font-size:.85rem;color:var(--muted)}
.community-review-list{display:grid;gap:12px}.community-review-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:15px}
.community-review-card.pending{border-style:dashed}.community-review-card-head{display:flex;align-items:center;gap:10px}.community-review-card-head>div{display:grid;flex:1}.community-review-card-head small{color:var(--muted)}
.community-review-card-score{font-size:1.3rem;font-weight:900}.community-status{display:inline-flex;margin-top:8px;border-radius:999px;padding:4px 9px;background:var(--accent-soft);font-size:.72rem;font-weight:900}
.community-mini-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:14px 0}.community-mini-ratings div{display:flex;justify-content:space-between;gap:10px}.community-mini-ratings strong{letter-spacing:.06em}
.community-review-texts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.community-review-texts h4{margin:0 0 5px}.community-review-texts p{margin:0;white-space:pre-wrap}
.community-review-form textarea{min-height:120px}
@media(max-width:650px){.community-reviews-head{display:grid}.community-review-texts,.community-mini-ratings{grid-template-columns:1fr}}


/* v6.22.3 — Moderazione Community */
.moderation-button{position:relative;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:9px 12px;font-weight:850}.moderation-button:hover{border-color:var(--accent)}
.moderation-view{width:min(920px,calc(100vw - 28px))}.moderation-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}.moderation-list{display:grid;gap:14px}.moderation-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:16px;transition:opacity .2s ease}.moderation-card.is-processing{opacity:.5;pointer-events:none}.moderation-card-head{display:flex;align-items:center;gap:10px}.moderation-card-head img,.moderation-card-head .avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.moderation-card-head>div{display:grid;flex:1}.moderation-card-head small{color:var(--muted)}.moderation-game{display:flex;justify-content:space-between;gap:12px;margin:15px 0 5px;padding:11px 12px;background:var(--accent-soft);border-radius:12px}.moderation-game span{color:var(--muted)}.moderation-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.moderation-empty{display:grid;place-items:center;gap:5px;text-align:center;padding:38px 16px;border:1px dashed var(--line);border-radius:16px}.moderation-empty span{color:var(--muted)}
@media(max-width:720px){.moderation-button-label{display:none}.moderation-game,.moderation-actions{align-items:stretch;flex-direction:column}.moderation-actions button{width:100%}}


/* v6.22.4 — GA Score + Community Score */
.game-score-overview{min-width:0}
.dual-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.score-panel{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--panel)}
.score-panel>span{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.12em}
.score-panel-value{display:flex;align-items:baseline;gap:4px;margin-top:5px;font-size:2.35rem;font-weight:950}
.score-panel-value b{font:inherit}
.score-panel-value small{font-size:.9rem;color:var(--muted)}
.score-panel p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.ga-verdict-summary{margin:10px 0 0}
@media(max-width:560px){.dual-score-grid{grid-template-columns:1fr}.score-panel-value{font-size:2rem}}


/* v6.22.5 — Community Score nelle card principali */
.card-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.card-score-grid.single{grid-template-columns:1fr}
.card-score-block{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--soft-bg)}
.card-score-block>span{color:var(--muted);font-size:.59rem;font-weight:950;letter-spacing:.09em;white-space:nowrap}
.card-score-block>strong{font-size:1.42rem;font-weight:950;line-height:1.05}
.card-score-block>strong small{color:var(--muted);font-size:.66rem}
.card-score-block>em{overflow:hidden;color:var(--muted);font-size:.64rem;font-style:normal;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.card-score-block.community{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}
@media(max-width:430px){.card-score-grid{gap:7px}.card-score-block{padding:8px}.card-score-block>strong{font-size:1.22rem}.card-score-block>span{font-size:.53rem;letter-spacing:.06em}}


/* v6.22.5.1 — Fix testi score e layout moderazione desktop */
.card-score-block>span{overflow:hidden;text-overflow:ellipsis}
.card-score-block>em{font-size:.61rem}
@media(min-width:721px){
  #moderationDialog{width:min(960px,calc(100vw - 48px));max-width:960px;overflow:hidden}
  #moderationDialog .moderation-view{width:auto;max-width:none;min-width:0;padding:24px;overflow:hidden}
  #moderationDialog .dialog-head,#moderationDialog .moderation-toolbar,#moderationDialog .moderation-list{min-width:0}
  #moderationDialog .moderation-card,#moderationDialog .moderation-game,#moderationDialog .moderation-card-head{min-width:0}
  #moderationDialog .moderation-card-head>div,#moderationDialog .moderation-game>*,#moderationDialog .community-review-texts>*{min-width:0;overflow-wrap:anywhere}
  #moderationDialog .moderation-list{overflow-x:hidden}
}

.community-review-admin-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.community-review-admin-actions .danger{white-space:normal;text-align:center}

/* v6.23.1.1 - dimensione avatar nelle recensioni Community */
.community-review-card-head>img,
.community-review-card-head>.avatar{
  width:42px;
  height:42px;
  min-width:42px;
  max-width:42px;
  flex:0 0 42px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  overflow:hidden;
}

/* v6.23.1.1 — Fix dimensioni avatar nelle recensioni Community */
.community-review-card-head>img,
.community-review-card-head>.avatar{
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  max-width:44px;
  max-height:44px;
  flex:0 0 44px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  overflow:hidden;
}
.community-review-card-head>img{display:block}

.community-review-owner-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.community-review-owner-actions button{white-space:normal;text-align:center}
@media(max-width:620px){.community-review-owner-actions{align-items:stretch}.community-review-owner-actions button{width:100%}}

/* v6.23.5 — Profilo pubblico Community */
.community-author-link{display:flex;align-items:center;gap:.7rem;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.community-author-link:hover b{text-decoration:underline}
.community-author-link .avatar,.community-author-link img{flex:0 0 44px;width:44px;height:44px;max-width:44px;max-height:44px;border-radius:50%;object-fit:cover}
.community-public-profile-page{width:min(920px,calc(100vw - 24px));max-height:92vh;overflow:auto}
.community-profile-hero{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.1rem;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.community-profile-hero>.avatar,.community-profile-hero>img{width:88px;height:88px;max-width:88px;max-height:88px;border-radius:50%;object-fit:cover;font-size:1.55rem}
.community-profile-identity h3{margin:.1rem 0}.community-profile-identity .community-handle{display:block;color:var(--muted);margin-bottom:.55rem}.community-profile-role{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:var(--soft);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.community-profile-bio{margin:.8rem 0 0;white-space:pre-wrap}
.community-profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:1rem 0}.community-profile-stats>div{padding:.9rem;border:1px solid var(--line);border-radius:14px;text-align:center;background:var(--panel)}.community-profile-stats strong{display:block;font-size:1.35rem}.community-profile-stats small{color:var(--muted);font-size:.69rem;font-weight:800}
.community-profile-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem}.community-profile-highlights article{padding:.9rem;border:1px solid var(--line);border-radius:14px}.community-profile-highlights small{display:block;color:var(--muted);font-weight:800;font-size:.68rem;margin-bottom:.35rem}
.community-profile-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0 1rem}.community-profile-tags span{padding:.35rem .6rem;border-radius:999px;background:var(--soft);font-size:.82rem}
.community-profile-review-list{display:grid;gap:.75rem}.community-profile-review-card{display:grid;grid-template-columns:64px 1fr auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:15px;background:var(--panel);cursor:pointer}.community-profile-review-card:hover{transform:translateY(-1px)}.community-profile-review-cover{width:64px;height:84px;border-radius:9px;object-fit:cover;background:var(--soft)}.community-profile-review-placeholder{display:grid;place-items:center;width:64px;height:84px;border-radius:9px;background:var(--soft);font-size:1.4rem}.community-profile-review-copy{min-width:0}.community-profile-review-copy strong,.community-profile-review-copy small{display:block}.community-profile-review-copy p{margin:.35rem 0 0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.community-profile-review-score{font-size:1.15rem;font-weight:900;white-space:nowrap}
@media(max-width:700px){.community-profile-stats{grid-template-columns:repeat(2,1fr)}.community-profile-highlights{grid-template-columns:1fr}.community-profile-review-card{grid-template-columns:52px 1fr}.community-profile-review-cover,.community-profile-review-placeholder{width:52px;height:70px}.community-profile-review-score{grid-column:2}.community-profile-hero{grid-template-columns:1fr;text-align:center}.community-profile-hero>.avatar,.community-profile-hero>img{margin:auto}}

/* v6.23.5.1 — Fix responsive profilo pubblico Community */
#communityProfileDialog{
  width:min(920px,calc(100vw - 32px));
  max-width:920px;
  padding:0;
  overflow:hidden;
}
#communityProfileDialog .community-public-profile-page{
  width:100%;
  max-width:100%;
  min-width:0;
  max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:24px;
}
#communityProfileDialog .dialog-head,
#communityProfileContent,
.community-profile-hero,
.community-profile-identity,
.community-profile-stats,
.community-profile-highlights,
.community-profile-review-list,
.community-profile-review-card,
.community-profile-review-copy{
  min-width:0;
  max-width:100%;
}
.community-profile-identity,
.community-profile-review-copy{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.community-profile-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.community-profile-highlights{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.community-profile-review-card{
  grid-template-columns:64px minmax(0,1fr) auto;
}
.community-profile-review-copy strong,
.community-profile-review-copy small,
.community-profile-review-copy p,
.community-profile-highlights strong{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media(max-width:700px){
  #communityProfileDialog{
    width:calc(100vw - 16px);
    max-width:none;
    margin:auto;
    border-radius:18px;
  }
  #communityProfileDialog .community-public-profile-page{
    width:100%;
    max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 16px);
    padding:16px;
  }
  #communityProfileDialog .dialog-head{
    gap:12px;
  }
  #communityProfileDialog .dialog-head h2{
    font-size:clamp(1.25rem,6vw,1.7rem);
    overflow-wrap:anywhere;
  }
  .community-profile-hero{
    grid-template-columns:1fr;
    justify-items:center;
    padding:1rem;
    text-align:center;
  }
  .community-profile-identity{
    width:100%;
  }
  .community-profile-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .community-profile-highlights{
    grid-template-columns:1fr;
  }
  .community-profile-review-card{
    grid-template-columns:52px minmax(0,1fr);
    align-items:start;
  }
  .community-profile-review-cover,
  .community-profile-review-placeholder{
    width:52px;
    height:70px;
  }
  .community-profile-review-score{
    grid-column:2;
    justify-self:start;
    white-space:normal;
  }
  .community-profile-tags{
    justify-content:center;
  }
}

@media(max-width:380px){
  #communityProfileDialog{
    width:calc(100vw - 8px);
  }
  #communityProfileDialog .community-public-profile-page{
    padding:12px;
  }
  .community-profile-stats{
    grid-template-columns:1fr;
  }
}


/* v6.23.5.2 — Header responsive: brand compatto e nessuna sovrapposizione */
.topbar{
  gap:16px;
  min-width:0;
}
.brand-info-button{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:0 1 auto;
  border:0;
  background:transparent;
  color:var(--text);
  padding:0;
  text-align:left;
  cursor:pointer;
}
.brand-info-button img{
  width:32px;
  height:32px;
  flex:0 0 32px;
}
.brand-copy{
  display:grid;
  min-width:0;
  line-height:1.15;
}
.brand-copy strong{
  white-space:nowrap;
  font-size:.92rem;
}
.brand-copy>span{
  margin-top:3px;
  color:var(--muted);
  font-size:.68rem;
  white-space:nowrap;
}
.brand-name-compact{display:none}
.profile-menu{
  min-width:0;
  flex:0 1 auto;
  flex-wrap:nowrap;
  gap:8px;
}
.profile-menu>*{flex-shrink:0}
.profile-button{min-width:0}
.profile-button>span:last-child{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:1180px){
  .brand-name-full{display:none}
  .brand-name-compact{display:inline}
  .brand-copy>span{display:none}
  .brand-copy strong{font-size:1rem;letter-spacing:.1em}
  .moderation-button-label,.theme-label{display:none}
  .theme-toggle{width:42px;height:42px;padding:0;justify-content:center}
}

@media(max-width:820px){
  .topbar{gap:10px}
  .brand-info-button{gap:7px}
  .brand-info-button img{width:30px;height:30px;flex-basis:30px}
  .profile-menu{gap:6px}
  .profile-button>span:last-child{display:none}
  .logout{padding-inline:2px}
}

@media(max-width:520px){
  .topbar{padding-left:max(10px,var(--safe-left));padding-right:max(10px,var(--safe-right))}
  .brand-copy{display:none}
  .brand-info-button img{width:30px;height:30px;flex-basis:30px}
  .profile-menu{gap:5px}
  .notification-button,.theme-toggle,.moderation-button{width:38px;height:38px}
  .profile-button img,.profile-button .avatar{width:36px;height:36px}
  .guest-label{display:none}
}

@media(max-width:390px){
  .topbar{gap:6px}
  .brand-info-button img{width:28px;height:28px;flex-basis:28px}
  .profile-menu{gap:4px}
  .notification-button,.theme-toggle,.moderation-button{width:36px;height:36px}
  .profile-button img,.profile-button .avatar{width:34px;height:34px}
  .logout{font-size:.68rem}
}

/* v6.23.6 — accesso al pannello di controllo Admin */
.admin-control-center-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--border,#2b3345);border-radius:16px;background:rgba(124,92,255,.08)}
.admin-control-center-link h3{margin:4px 0 5px}.admin-control-center-link p{margin:0}.admin-control-center-link>a{white-space:nowrap;text-decoration:none}
@media(max-width:640px){.admin-control-center-link{align-items:stretch;flex-direction:column}.admin-control-center-link>a{text-align:center}}

/* v6.23.6.3 — login persistente */
.remember-login{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer}
.remember-login input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}
.remember-login span{display:grid;gap:3px}
.remember-login strong{font-size:.95rem}
.remember-login small{color:var(--muted);font-size:.78rem;line-height:1.35}

/* v6.23.6.5 — evidenziazione recensione raggiunta da una menzione */
.mention-highlight{outline:2px solid currentColor;outline-offset:4px;animation:mentionPulse .9s ease-in-out 2}
@keyframes mentionPulse{50%{transform:translateY(-2px)}}

/* v6.23.6.7 — preferenze notifiche unificate */
#notificationDialog .notification-settings-card{display:grid;gap:0}
#notificationDialog .notification-settings-group{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
#notificationDialog .notification-settings-title{display:grid;gap:4px}
#notificationDialog .notification-settings-title small{color:var(--muted);line-height:1.35}
#notificationDialog .notification-center-preferences{padding-bottom:0}
#notificationDialog #notificationPreferencesStatus{margin-top:10px;font-size:.78rem}
#notificationDialog .notification-settings-card .push-preferences{align-items:center}
@media(max-width:700px){#notificationDialog .notification-settings-card .push-preferences{grid-template-columns:1fr}#notificationDialog .notification-settings-card .check{min-width:0}}

/* v6.23.6.8 — autocompletamento menzioni */
.mention-autocomplete{position:fixed;z-index:10050;width:min(360px,calc(100vw - 24px));max-height:320px;overflow:auto;padding:6px;border:1px solid var(--border,#2a3140);border-radius:12px;background:var(--panel,#151922);box-shadow:0 18px 50px rgba(0,0,0,.34)}
.mention-autocomplete.hidden{display:none}
.mention-suggestion{display:flex;width:100%;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.mention-suggestion:hover,.mention-suggestion.active{background:rgba(127,140,255,.14)}
.mention-suggestion img,.mention-suggestion .avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-size:12px;font-weight:800}
.mention-suggestion-copy{min-width:0;display:flex;flex-direction:column}
.mention-suggestion-copy strong,.mention-suggestion-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mention-suggestion-copy small{opacity:.68}
.mention-role{margin-left:auto;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.08)}

.safe-content-link{color:var(--accent);font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}.safe-content-link:hover{text-decoration-thickness:2px}

/* v6.23.6.9.1 — Anteprime YouTube e whitelist link */
.youtube-link-preview{display:flex;align-items:center;gap:12px;margin:10px 0 4px;max-width:520px;padding:10px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,transparent);color:inherit;text-decoration:none;overflow:hidden}.youtube-link-preview:hover{border-color:var(--accent);transform:translateY(-1px)}.youtube-link-preview-media{position:relative;display:block;flex:0 0 148px;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#000}.youtube-link-preview-media img{display:block;width:100%;height:100%;object-fit:cover}.youtube-link-preview-play{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.78);color:#fff;font-size:20px;padding-left:3px}.youtube-link-preview-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.youtube-link-preview-copy strong{font-size:.96rem}.youtube-link-preview-copy small{display:block;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}@media(max-width:560px){.youtube-link-preview{align-items:flex-start;flex-direction:column}.youtube-link-preview-media{width:100%;flex-basis:auto}.youtube-link-preview-copy small{max-width:100%}}

/* v6.23.6.9.2 — anteprima gameplay nelle card */
.cover-art{overflow:hidden}.card-video-layer{position:absolute;inset:0;z-index:0;background:#000;pointer-events:none}.card-video-layer iframe{width:100%;height:100%;border:0;display:block;transform:scale(1.035)}.video-preview-active .cover-art:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 52%,rgba(0,0,0,.78));pointer-events:none}.video-preview-active .cover-art h3,.video-preview-active .review-count-badge,.video-preview-active .game-media-indicators{z-index:2}.card-video-layer{animation:cardVideoFade .22s ease both}@keyframes cardVideoFade{from{opacity:0}to{opacity:1}}@media(hover:none){.card-video-layer{display:none!important}}

/* v6.23.6.9.2.2 — fix touch Android anteprima gameplay */
.card-video-mobile-play,.card-video-mobile-close{display:none}
@media(hover:none),(pointer:coarse){
 .card-video-layer{display:block!important;pointer-events:auto;z-index:4}
 .card-video-layer iframe{transform:none}
 .card-video-mobile-play{display:inline-flex;position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);align-items:center;gap:7px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 15px;background:rgba(0,0,0,.76);color:#fff;font-weight:800;backdrop-filter:blur(8px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
 .card-video-mobile-play span{font-size:.9em}
 .video-preview-active .card-video-mobile-play{display:none}
 .card-video-mobile-close{display:grid;position:absolute;right:8px;top:8px;z-index:6;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:1.45rem;line-height:1;cursor:pointer}
 .card-video-layer.mobile iframe{position:absolute;inset:0}
}

/* v6.24.2.1 — Community Levels UI nel profilo pubblico */
.community-level-card{--xp-progress:0%;display:grid;grid-template-columns:minmax(0,.85fr) minmax(280px,1.15fr);gap:1.35rem;align-items:center;margin:1rem 0;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--panel),var(--soft));overflow:hidden}
.community-level-copy{min-width:0}.community-level-eyebrow{display:block;color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.16em;margin-bottom:.45rem}.community-level-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .7rem}.community-level-title span{font-weight:800;color:var(--muted)}.community-level-title strong{font-size:1.55rem;line-height:1.1;text-transform:uppercase}.community-level-copy p{margin:.5rem 0 0;color:var(--muted)}
.community-level-progress{min-width:0}.community-level-numbers,.community-level-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center}.community-level-numbers strong{font-size:1.25rem}.community-level-numbers span,.community-level-footer{color:var(--muted);font-size:.78rem;font-weight:700}.community-level-track{height:12px;margin:.65rem 0;border-radius:999px;background:color-mix(in srgb,var(--line) 65%,transparent);overflow:hidden}.community-level-track span{display:block;width:var(--xp-progress);height:100%;border-radius:inherit;background:var(--accent);transition:width .75s cubic-bezier(.2,.8,.2,1)}.community-level-footer span:first-child{color:var(--text);font-weight:900}
@media(max-width:700px){.community-level-card{grid-template-columns:1fr;padding:1rem;text-align:left}.community-level-title strong{font-size:1.3rem}.community-level-numbers{align-items:flex-end}.community-level-numbers span{text-align:right}.community-level-footer{align-items:flex-start}.community-level-footer span:last-child{text-align:right}}


/* v6.24.2.1.1 — Navigazione profili e identità gamer */
.comment-item{grid-template-columns:auto minmax(0,1fr)}
.comment-author-link{display:flex;align-items:center;gap:9px;align-self:start;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:12px}
.comment-author-link>.avatar,.comment-author-link>img{flex:0 0 38px;width:38px;height:38px;border-radius:50%;object-fit:cover;font-size:.68rem;transition:transform .18s ease,box-shadow .18s ease}
.comment-author-link>span{display:grid;min-width:0;line-height:1.15}
.comment-author-link b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease}
.comment-author-link small{margin-top:3px;color:var(--muted);font-size:.66rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-author-link:hover b,.comment-author-link:focus-visible b{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.comment-author-link:hover>.avatar,.comment-author-link:hover>img,.comment-author-link:focus-visible>.avatar,.comment-author-link:focus-visible>img{transform:scale(1.05);box-shadow:0 0 0 2px var(--accent)}
.comment-author-static{align-self:start;padding-top:3px}
.comment-meta{min-height:20px}
.community-gamer-card{margin:1rem 0;padding:1rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel))}
.community-gamer-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.community-gamer-card-head h3{margin:.2rem 0 0}
.community-gamer-role{display:inline-flex;padding:.3rem .6rem;border-radius:999px;background:var(--soft);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.community-gamer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.community-gamer-grid article{display:grid;align-content:start;gap:.25rem;min-width:0;padding:.85rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.community-gamer-grid small{color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.06em}
.community-gamer-grid strong{overflow-wrap:anywhere;font-size:1rem}
.community-gamer-grid span{color:var(--muted);font-size:.72rem;line-height:1.35}
@media(max-width:700px){.comment-author-link b{max-width:105px}.community-gamer-card-head{align-items:stretch;flex-direction:column}.community-gamer-role{align-self:flex-start}.community-gamer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.comment-item{grid-template-columns:1fr}.comment-author-link{width:100%}.comment-author-link b{max-width:none}.community-gamer-grid{grid-template-columns:1fr}}

/* v6.24.2.2 — Top Community e rifiniture UI livelli */
.top-community-section{margin-top:28px}
.top-community-section::before{background:linear-gradient(135deg,var(--accent),#7c5cff);opacity:.10}
.top-community-section .eyebrow{color:color-mix(in srgb,var(--accent) 76%,#7c5cff)}
.community-ranking-card .reviewer-identity span{color:var(--accent)}
.community-rank-progress{width:100%;height:7px;border-radius:999px;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}
.community-rank-progress>span{display:block;width:var(--community-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#9b7cff));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}
.community-ranking-card.rank-1 .community-rank-progress>span{background:linear-gradient(90deg,#d89d1b,#f5c451)}
.community-ranking-card .reviewer-metrics b{font-variant-numeric:tabular-nums}
.community-list-row .reviewer-list-total{color:var(--accent)}
@media(max-width:850px){.community-ranking-card .community-rank-progress{grid-column:2}}
@media(max-width:520px){.community-ranking-card .community-rank-progress{grid-column:1/-1}}

/* v6.24.2.2.1 — Avatar rendering unificato */
.avatar-image-shell{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;overflow:hidden;line-height:0}
.avatar-image-shell>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.reviewer-avatar-wrap>.avatar-image-shell{width:100%;height:100%}
.reviewer-list-row>.avatar-image-shell,.admin-user-head>.avatar-image-shell,.game-review-head>.avatar-image-shell,.community-author-link>.avatar-image-shell{width:44px;height:44px}

/* v6.24.2.2.2 — Ripristino dimensioni avatar classifiche */
.reviewer-avatar-wrap>.avatar-image-shell{
  width:82px;
  height:82px;
  max-width:82px;
  max-height:82px;
  border:3px solid var(--panel);
  box-shadow:0 0 0 2px var(--accent),0 12px 28px rgba(0,0,0,.22);
}
.rank-1 .reviewer-avatar-wrap>.avatar-image-shell{
  box-shadow:0 0 0 2px #f5c451,0 12px 28px rgba(0,0,0,.22);
}
.reviewer-avatar-wrap>.avatar-image-shell>.avatar{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  border:0;
  box-shadow:none;
}
@media(max-width:850px){
  .reviewer-avatar-wrap>.avatar-image-shell{
    width:70px;
    height:70px;
    max-width:70px;
    max-height:70px;
  }
}

/* v6.24.2.2.4 — Hotfix avatar profili Community */
.community-profile-hero>.avatar-image-shell{
  width:88px;
  height:88px;
  min-width:88px;
  min-height:88px;
  max-width:88px;
  max-height:88px;
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  align-self:center;
}
.community-profile-hero>.avatar-image-shell>img,
.community-profile-hero>.avatar-image-shell>.avatar{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  max-width:none;
  max-height:none;
  aspect-ratio:1/1;
  border-radius:50%;
  object-fit:cover;
  border:0;
  box-shadow:none;
}
.user-profile-hero>.avatar-image-shell{
  width:104px;
  height:104px;
  min-width:104px;
  min-height:104px;
  max-width:104px;
  max-height:104px;
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--accent);
}
.user-profile-hero>.avatar-image-shell>img,
.user-profile-hero>.avatar-image-shell>.avatar{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  aspect-ratio:1/1;
  border-radius:50%;
  object-fit:cover;
  border:0;
  box-shadow:none;
}
@media(max-width:700px){
  .community-profile-hero>.avatar-image-shell{
    width:88px;
    height:88px;
    min-width:88px;
    min-height:88px;
    margin:auto;
  }
  .user-profile-hero>.avatar-image-shell{
    width:90px;
    height:90px;
    min-width:90px;
    min-height:90px;
    margin:auto;
  }
}

/* v6.24.2.5 — UI & UX Polish */
:root{
  --ui-radius-card:22px;
  --ui-radius-inner:16px;
  --ui-shadow-rest:0 10px 30px rgba(0,0,0,.08);
  --ui-shadow-hover:0 20px 48px rgba(0,0,0,.15);
  --ui-transition:180ms cubic-bezier(.2,.8,.2,1);
}

/* Card system coerente */
.top-reviewer-card,
.community-level-card,
.community-gamer-card,
.community-profile-hero,
.user-profile-hero,
.user-profile-stats,
.profile-details,
.community-profile-review-card,
.user-review-grid article{
  border-radius:var(--ui-radius-card);
  box-shadow:var(--ui-shadow-rest);
}

.top-reviewer-card,
.community-profile-review-card,
.user-review-grid article,
.profile-details{
  transition:transform var(--ui-transition),border-color var(--ui-transition),box-shadow var(--ui-transition),background-color var(--ui-transition);
}

.top-reviewer-card:hover,
.top-reviewer-card:focus-visible,
.community-profile-review-card:hover,
.user-review-grid article:hover,
.profile-details:hover{
  box-shadow:var(--ui-shadow-hover);
}

/* Entrata morbida dei contenuti dinamici */
.top-reviewers-grid>.top-reviewer-card,
.all-reviewers-list>.reviewer-list-row,
.community-profile-reviews>.community-profile-review-card,
.user-review-grid>article{
  animation:ga-ui-rise .34s both;
}
.top-reviewers-grid>.top-reviewer-card:nth-child(2),
.all-reviewers-list>.reviewer-list-row:nth-child(2),
.community-profile-reviews>.community-profile-review-card:nth-child(2),
.user-review-grid>article:nth-child(2){animation-delay:45ms}
.top-reviewers-grid>.top-reviewer-card:nth-child(3),
.all-reviewers-list>.reviewer-list-row:nth-child(3),
.community-profile-reviews>.community-profile-review-card:nth-child(3),
.user-review-grid>article:nth-child(3){animation-delay:90ms}
@keyframes ga-ui-rise{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

/* Podio più leggibile ma non invasivo */
.top-reviewer-card.rank-1{
  transform-origin:center bottom;
  box-shadow:0 14px 38px color-mix(in srgb,#f5c451 14%,rgba(0,0,0,.12));
}
.top-reviewer-card.rank-1:hover,
.top-reviewer-card.rank-1:focus-visible{
  transform:translateY(-6px) scale(1.012);
  box-shadow:0 24px 54px color-mix(in srgb,#f5c451 18%,rgba(0,0,0,.18));
}
.reviewer-crown{
  transition:transform var(--ui-transition),filter var(--ui-transition);
}
.rank-1:hover .reviewer-crown,
.rank-1:focus-visible .reviewer-crown{
  transform:translateY(-2px) rotate(-6deg);
  filter:drop-shadow(0 5px 8px rgba(245,196,81,.35));
}

/* Avatar unificati: forma, ritaglio e feedback */
.avatar-image-shell{
  aspect-ratio:1/1;
  transform:translateZ(0);
  transition:transform var(--ui-transition),box-shadow var(--ui-transition);
}
[data-reviewer-id]:hover .avatar-image-shell,
[data-reviewer-id]:focus-visible .avatar-image-shell,
[data-community-user-id]:hover .avatar-image-shell,
[data-community-user-id]:focus-visible .avatar-image-shell{
  transform:scale(1.035);
}
.avatar-image-shell>img{
  transition:transform 260ms cubic-bezier(.2,.8,.2,1);
}
[data-reviewer-id]:hover .avatar-image-shell>img,
[data-community-user-id]:hover .avatar-image-shell>img{
  transform:scale(1.04);
}

/* Livelli: pill visiva e progress bar più ricca */
.community-level-title span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,var(--panel));
  color:var(--text);
  font-size:.74rem;
  letter-spacing:.02em;
}
.community-level-title span::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent);
}
.community-level-track,
.community-rank-progress{
  position:relative;
}
.community-level-track::after,
.community-rank-progress::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.34) 45%,transparent 70%);
  transform:translateX(-130%);
  animation:ga-progress-sheen 2.8s 700ms ease-in-out 1;
  pointer-events:none;
}
@keyframes ga-progress-sheen{to{transform:translateX(130%)}}

/* Pulsanti e link: interazioni coerenti */
button,
.primary,
.secondary,
.reviewer-profile-link,
.notifications-show-all{
  transition:transform var(--ui-transition),box-shadow var(--ui-transition),border-color var(--ui-transition),background-color var(--ui-transition),color var(--ui-transition);
}
button:not(:disabled):active,
.primary:active,
.secondary:active{
  transform:translateY(1px) scale(.985);
}
.reviewer-profile-link span{
  display:inline-block;
  transition:transform var(--ui-transition);
}
.top-reviewer-card:hover .reviewer-profile-link span,
.top-reviewer-card:focus-visible .reviewer-profile-link span{
  transform:translateX(4px);
}

/* Focus accessibile e uniforme */
:where(button,a,[role="button"],input,select,textarea):focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 42%,transparent);
  outline-offset:3px;
}

/* Responsive e tablet */
@media(min-width:851px){
  .top-reviewers-grid{align-items:stretch}
  .top-reviewer-card{height:100%}
  .top-reviewer-card.rank-1{margin-top:-6px;margin-bottom:6px}
}
@media(max-width:850px){
  .top-reviewer-card.rank-1{margin:0}
  .top-reviewer-card.rank-1:hover,
  .top-reviewer-card.rank-1:focus-visible{transform:translateY(-4px)}
}
@media(max-width:700px){
  .community-level-card,
  .community-gamer-card,
  .community-profile-hero,
  .user-profile-hero{border-radius:18px}
  .top-reviewers-section{border-radius:20px}
}

/* Rispetta le preferenze di accessibilità */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* v6.24.2.6 — Motion & Micro Interactions */
:root{
  --motion-fast:150ms;
  --motion-standard:210ms;
  --motion-slow:520ms;
  --motion-ease:cubic-bezier(.2,.8,.2,1);
  --motion-spring:cubic-bezier(.22,1,.36,1);
}

/* Feedback tattile coerente */
:where(button,.primary,.secondary,.reviewer-profile-link,[role="button"]){
  -webkit-tap-highlight-color:transparent;
}
:where(button,.primary,.secondary,[role="button"]):not(:disabled){
  transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-standard) var(--motion-ease),background-color var(--motion-standard) ease,border-color var(--motion-standard) ease,color var(--motion-standard) ease;
}
:where(button,.primary,.secondary,[role="button"]):not(:disabled):active{
  transform:translateY(1px) scale(.975);
}

/* Card: sollevamento uniforme, solo sui dispositivi con hover reale */
@media(hover:hover) and (pointer:fine){
  .top-reviewer-card,
  .community-profile-review-card,
  .user-review-grid article,
  .reviewer-list-row,
  .community-level-card,
  .community-gamer-card,
  .profile-details{
    will-change:transform;
  }
  .top-reviewer-card:hover,
  .community-profile-review-card:hover,
  .user-review-grid article:hover,
  .reviewer-list-row:hover,
  .profile-details:hover{
    transform:translateY(-4px);
  }
  .community-level-card:hover,
  .community-gamer-card:hover{
    transform:translateY(-2px);
  }
}

/* Avatar: micro-zoom controllato senza alterare le dimensioni */
.avatar-image-shell,
.reviewer-avatar-wrap{
  overflow:visible;
}
.avatar-image-shell>img,
.reviewer-avatar-wrap>img{
  transform-origin:center;
  transition:transform var(--motion-standard) var(--motion-spring),filter var(--motion-standard) ease;
}
@media(hover:hover) and (pointer:fine){
  [data-reviewer-id]:hover .avatar-image-shell>img,
  [data-community-user-id]:hover .avatar-image-shell>img,
  .community-profile-hero:hover>.avatar-image-shell>img,
  .user-profile-hero:hover>.avatar-image-shell>img{
    transform:scale(1.045);
    filter:saturate(1.04) contrast(1.02);
  }
}

/* Progressione XP: il valore finale resta nel CSS custom property */
.community-rank-progress>span,
.community-level-fill{
  transform-origin:left center;
  transition:transform 760ms var(--motion-spring),width 760ms var(--motion-spring);
}
.motion-ready .community-rank-progress>span,
.motion-ready .community-level-fill{
  transform:scaleX(0);
}
.motion-ready .motion-progress-visible.community-rank-progress>span,
.motion-ready .motion-progress-visible .community-level-fill,
.motion-ready .community-level-fill.motion-progress-visible{
  transform:scaleX(1);
}

/* Comparsa sequenziale delle statistiche */
.motion-ready .reviewer-metrics>div,
.motion-ready .community-gamer-stats>* ,
.motion-ready .user-profile-stats>*{
  opacity:0;
  transform:translateY(7px);
}
.motion-ready .motion-stats-visible>*,
.motion-ready .reviewer-metrics.motion-stats-visible>div,
.motion-ready .user-profile-stats.motion-stats-visible>*{
  animation:ga-stat-in .34s var(--motion-spring) both;
}
.motion-ready .motion-stats-visible>*:nth-child(2){animation-delay:45ms}
.motion-ready .motion-stats-visible>*:nth-child(3){animation-delay:90ms}
.motion-ready .motion-stats-visible>*:nth-child(4){animation-delay:135ms}
.motion-ready .motion-stats-visible>*:nth-child(5){animation-delay:180ms}
.motion-ready .motion-stats-visible>*:nth-child(6){animation-delay:225ms}
@keyframes ga-stat-in{to{opacity:1;transform:translateY(0)}}

/* Link con indicazione visiva progressiva */
.reviewer-profile-link,
.community-profile-link,
[data-open-community-profile]{
  position:relative;
}
.reviewer-profile-link::after,
.community-profile-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-2px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform var(--motion-standard) var(--motion-ease);
}
@media(hover:hover) and (pointer:fine){
  .top-reviewer-card:hover .reviewer-profile-link::after,
  .reviewer-profile-link:hover::after,
  .community-profile-link:hover::after{
    transform:scaleX(1);
    transform-origin:left;
  }
}

/* Podio: bagliore una tantum, nessuna animazione permanente */
.motion-ready .top-reviewer-card.rank-1.motion-card-visible::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:radial-gradient(circle,rgba(245,196,81,.14),transparent 58%);
  opacity:0;
  pointer-events:none;
  animation:ga-gold-pulse .85s var(--motion-ease) 1;
}
@keyframes ga-gold-pulse{
  0%{opacity:0;transform:scale(.82)}
  42%{opacity:1}
  100%{opacity:0;transform:scale(1.1)}
}

/* Entrata degli elementi caricati dinamicamente */
.motion-ready .motion-card-pending{
  opacity:0;
  transform:translateY(10px) scale(.992);
}
.motion-ready .motion-card-visible{
  animation:ga-motion-card-in .42s var(--motion-spring) both;
}
@keyframes ga-motion-card-in{
  from{opacity:0;transform:translateY(10px) scale(.992)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:700px){
  /* Su touch niente sollevamenti che possano causare salti di layout */
  .top-reviewer-card:hover,
  .community-profile-review-card:hover,
  .user-review-grid article:hover,
  .profile-details:hover{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .motion-ready .motion-card-pending,
  .motion-ready .reviewer-metrics>div,
  .motion-ready .community-gamer-stats>*,
  .motion-ready .user-profile-stats>*{
    opacity:1!important;
    transform:none!important;
  }
}

/* v6.24.2.6.1 — Avatar System Refactor: taglie esplicite e isolamento commenti */
.avatar-image-shell,
.avatar{
  box-sizing:border-box;
  aspect-ratio:1/1;
}

/* Utility di taglia: una singola fonte di verità per i componenti nuovi. */
.avatar-xs{width:30px;height:30px;min-width:30px;min-height:30px;max-width:30px;max-height:30px}
.avatar-sm{width:38px;height:38px;min-width:38px;min-height:38px;max-width:38px;max-height:38px}
.avatar-md{width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px}
.avatar-lg{width:82px;height:82px;min-width:82px;min-height:82px;max-width:82px;max-height:82px}
.avatar-xl{width:104px;height:104px;min-width:104px;min-height:104px;max-width:104px;max-height:104px}

/* Commenti: la taglia non può più ereditare le regole di profili o classifiche. */
.comment-author-link>.avatar-comment,
.comment-author-link>.avatar-image-shell.avatar-comment{
  flex:0 0 38px !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  aspect-ratio:1/1 !important;
  border-radius:50%;
  overflow:hidden;
}
.comment-author-link>.avatar-comment-reply,
.comment-author-link>.avatar-image-shell.avatar-comment-reply{
  flex:0 0 32px !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  max-width:32px !important;
  max-height:32px !important;
  aspect-ratio:1/1 !important;
  border-radius:50%;
  overflow:hidden;
}
.comment-author-link>.avatar-image-shell.avatar-comment>img,
.comment-author-link>.avatar-image-shell.avatar-comment-reply>img{
  display:block;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:50%;
}
@media(max-width:600px){
  .comment-author-link>.avatar-comment-reply,
  .comment-author-link>.avatar-image-shell.avatar-comment-reply{
    flex-basis:30px !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    max-width:30px !important;
    max-height:30px !important;
  }
}

/* v6.24.3.3 — Community Badge Profile UI */
.community-badge-showcase{
  display:grid;
  gap:16px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,var(--accent) 6%),var(--panel));
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}
.community-badge-showcase-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.community-badge-showcase-head h3{margin:3px 0 0;font-size:1.2rem}
.community-badge-showcase-head p{margin:6px 0 0;color:var(--muted);font-size:.82rem}
.community-badge-showcase-head>strong{display:flex;align-items:baseline;gap:3px;font-size:1.65rem;line-height:1;color:var(--accent)}
.community-badge-showcase-head>strong small{font-size:.78rem;color:var(--muted)}
.community-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-badge-card{
  --badge-color:#64748b;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-width:0;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--badge-color) 32%,var(--line));
  border-radius:17px;
  background:color-mix(in srgb,var(--badge-color) 5%,var(--panel));
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.community-badge-card:hover,.community-badge-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--badge-color) 68%,var(--line));box-shadow:0 10px 24px color-mix(in srgb,var(--badge-color) 13%,transparent);outline:0}
.community-badge-card.is-locked{opacity:.66;filter:saturate(.38)}
.community-badge-card.is-locked:hover,.community-badge-card.is-locked:focus-visible{opacity:.86;filter:saturate(.65)}
.community-badge-emblem{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--badge-color) 20%,var(--panel)),color-mix(in srgb,var(--badge-color) 8%,var(--panel)));border:1px solid color-mix(in srgb,var(--badge-color) 58%,var(--line));color:var(--badge-color);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.community-badge-emblem>span{display:grid;place-items:center;width:32px;height:32px}
.community-badge-emblem svg{width:100%;height:100%}
.community-badge-emblem>i{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--panel);border:1px solid var(--line);font-style:normal;font-size:.68rem;filter:grayscale(1)}
.community-badge-copy{min-width:0}
.community-badge-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.community-badge-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.91rem}
.community-badge-heading span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--badge-color) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--badge-color) 34%,var(--line));color:var(--badge-color);font-size:.57rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.community-badge-copy p{margin:6px 0 5px;color:var(--muted);font-size:.72rem;line-height:1.4}
.community-badge-copy small{display:block;color:var(--text);font-size:.65rem;font-weight:750}
.community-badge-progress{height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 74%,transparent)}
.community-badge-progress>span{display:block;height:100%;border-radius:inherit;background:var(--badge-color);transition:width .7s cubic-bezier(.22,.8,.25,1)}
.community-badge-card.rarity-legendary .community-badge-emblem{box-shadow:0 0 18px color-mix(in srgb,var(--badge-color) 25%,transparent),inset 0 1px 0 rgba(255,255,255,.28)}
.community-badge-card.rarity-epic .community-badge-emblem{box-shadow:0 0 14px color-mix(in srgb,var(--badge-color) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.24)}
@media(max-width:760px){
  .community-badge-showcase{padding:16px;border-radius:19px}
  .community-badge-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  .community-badge-showcase-head{align-items:center}
  .community-badge-card{grid-template-columns:54px minmax(0,1fr);padding:12px;gap:11px}
  .community-badge-emblem{width:50px;height:50px;border-radius:15px}
  .community-badge-emblem>span{width:28px;height:28px}
  .community-badge-heading{align-items:flex-start;flex-direction:column;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .community-badge-card,.community-badge-progress>span{transition:none!important}
}

/* Palette personali */
.profile-theme-editor{display:grid;gap:12px;margin:8px 0 4px;padding:18px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.profile-theme-editor h3{margin:0}.profile-theme-editor p{margin:4px 0 0;font-size:.82rem;line-height:1.45}
.theme-palette-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.theme-palette-card{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.theme-palette-card:hover{transform:translateY(-2px);border-color:var(--palette-accent)}
.theme-palette-card.active{border-color:var(--palette-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--palette-accent) 22%,transparent),0 9px 24px rgba(0,0,0,.18)}
.theme-palette-card strong{min-width:0;font-size:.74rem;line-height:1.15}
.theme-palette-swatch{display:flex;align-items:center;justify-content:center;width:48px;height:36px;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,var(--palette-deep),#080a0e)}
.theme-palette-swatch i{width:12px;height:12px;margin-left:-2px;border-radius:50%;background:var(--palette-accent);box-shadow:0 0 11px var(--palette-accent)}
.theme-palette-swatch i:nth-child(2){opacity:.62;transform:scale(.78)}.theme-palette-swatch i:nth-child(3){opacity:.34;transform:scale(.58)}
@media(max-width:620px){.theme-palette-grid{grid-template-columns:1fr 1fr}.theme-palette-card{grid-template-columns:42px minmax(0,1fr);padding:8px}.theme-palette-swatch{width:42px}}

/* v6.24.3.8.1 — Social Foundation: follow */
.community-profile-social{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .9rem;margin-top:.85rem;width:100%}
.community-profile-social>span{color:var(--muted);font-size:.82rem}
.community-profile-social>span strong{color:var(--text);font-size:1rem}
.community-follow-button{min-width:112px;padding:.58rem 1rem;margin-left:auto;font-weight:800}
.community-follow-message{min-height:1.2rem;margin-top:.45rem;font-size:.8rem}
.community-follow-message.alert{padding:.55rem .7rem}
@media(max-width:700px){.community-profile-social{justify-content:center}.community-follow-button{width:100%;margin-left:0}.community-follow-message{text-align:center}}

/* v6.24.3.8.1.2 — Catalogo Badge pubblico */
.badge-catalog-body{min-height:100vh;background:var(--bg,#0b0d12);color:var(--text,#f8fafc)}
.badge-brand-link{text-decoration:none;color:inherit}.badge-back-link{text-decoration:none;display:inline-flex;align-items:center}
.badge-catalog-page{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:46px 0 80px}
.badge-catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:32px;align-items:end;padding:36px;border:1px solid var(--border,#293241);border-radius:28px;background:linear-gradient(135deg,rgba(47,139,47,.14),rgba(37,99,235,.08)),var(--surface,#121720);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.badge-catalog-hero h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:.95;margin:.25rem 0 1rem}.badge-catalog-hero p{max-width:760px;color:var(--muted,#94a3b8);font-size:1.08rem}
.badge-collection-summary{padding:24px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid var(--border,#293241)}.badge-collection-summary>div:first-child{display:flex;align-items:baseline;gap:8px}.badge-collection-summary strong{font-size:3rem}.badge-collection-summary small{display:block;margin-top:10px;color:var(--muted,#94a3b8)}
.badge-completion-track,.badge-card-progress{height:10px;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden;margin-top:14px}.badge-completion-track span,.badge-card-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8b2f,#65c466)}
.badge-catalog-toolbar{display:grid;gap:12px;margin:26px 0}.badge-filter-group{display:flex;gap:8px;flex-wrap:wrap}.badge-filter-group button{border:1px solid var(--border,#293241);background:var(--surface,#121720);color:var(--text,#f8fafc);border-radius:999px;padding:10px 15px;cursor:pointer}.badge-filter-group button.active{background:#2f8b2f;border-color:#2f8b2f;color:#fff}
.badge-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.badge-catalog-card{position:relative;display:flex;flex-direction:column;min-height:350px;padding:24px;border:1px solid color-mix(in srgb,var(--badge-color) 35%,var(--border,#293241));border-radius:24px;background:linear-gradient(160deg,color-mix(in srgb,var(--badge-color) 9%,transparent),transparent 45%),var(--surface,#121720);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.badge-catalog-card:hover,.badge-catalog-card:focus-visible{transform:translateY(-4px);border-color:var(--badge-color);box-shadow:0 18px 42px rgba(0,0,0,.2);outline:none}.badge-catalog-card.is-locked{opacity:.78}.badge-catalog-card.is-earned{opacity:1}
.badge-catalog-emblem{position:relative;width:76px;height:76px;border-radius:22px;display:grid;place-items:center;color:var(--badge-color);background:color-mix(in srgb,var(--badge-color) 13%,transparent);border:1px solid color-mix(in srgb,var(--badge-color) 34%,transparent)}.badge-catalog-emblem svg{width:43px;height:43px}.badge-earned-check,.badge-lock{position:absolute;right:-7px;bottom:-7px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--surface,#121720);border:1px solid var(--border,#293241);font-size:.78rem}.badge-earned-check{background:#2f8b2f;color:#fff;border-color:#2f8b2f}
.badge-catalog-card-head{display:flex;justify-content:space-between;gap:10px;margin-top:22px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--badge-color)}.badge-catalog-card-head small{color:var(--muted,#94a3b8)}.badge-catalog-card h2{font-size:1.45rem;margin:8px 0}.badge-catalog-card>p{color:var(--muted,#94a3b8);line-height:1.55;flex:1}.badge-catalog-meta,.badge-progress-copy{display:flex;justify-content:space-between;gap:12px;color:var(--muted,#94a3b8);font-size:.82rem;margin-top:18px}.badge-earned-label{margin-top:18px;padding:10px 12px;border-radius:12px;background:rgba(47,139,47,.12);color:#65c466;font-weight:800}.badge-card-progress{height:7px;margin-top:9px}.badge-catalog-card.is-secret{filter:saturate(.45)}
.badge-detail-dialog{width:min(780px,calc(100% - 24px));border:0;background:transparent;padding:0}.badge-detail-dialog::backdrop{background:rgba(3,7,18,.76);backdrop-filter:blur(6px)}.badge-detail-card{background:var(--surface,#121720);color:var(--text,#f8fafc);border:1px solid var(--border,#293241);border-radius:26px;padding:26px;max-height:90vh;overflow:auto}.badge-detail-hero{display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:center;padding:25px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--badge-color) 18%,transparent),transparent);border:1px solid color-mix(in srgb,var(--badge-color) 35%,var(--border,#293241))}.badge-detail-emblem{width:92px;height:92px;border-radius:25px;display:grid;place-items:center;color:var(--badge-color);background:color-mix(in srgb,var(--badge-color) 14%,transparent)}.badge-detail-emblem svg{width:55px;height:55px}.badge-detail-rarity{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--badge-color);font-weight:900}.badge-detail-hero h3{font-size:2rem;margin:.25rem 0}.badge-detail-hero p{color:var(--muted,#94a3b8)}.badge-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.badge-detail-grid article{padding:17px;border:1px solid var(--border,#293241);border-radius:16px}.badge-detail-grid small,.badge-detail-grid span{display:block;color:var(--muted,#94a3b8)}.badge-detail-grid strong{display:block;margin-top:5px}.badge-latest-holders ul{list-style:none;padding:0;margin:12px 0 0}.badge-latest-holders li{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-bottom:1px solid var(--border,#293241)}.badge-latest-holders li span,.badge-latest-holders time{color:var(--muted,#94a3b8);font-size:.85rem}.community-badge-catalog-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:10px}
@media(max-width:900px){.badge-catalog-hero{grid-template-columns:1fr}.badge-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.badge-catalog-page{width:min(100% - 20px,1280px);padding-top:22px}.badge-catalog-hero{padding:24px}.badge-catalog-grid{grid-template-columns:1fr}.badge-catalog-card{min-height:310px}.badge-detail-hero{grid-template-columns:1fr}.badge-detail-grid{grid-template-columns:1fr}.badge-back-link{font-size:0}.badge-back-link::after{content:'←';font-size:1.25rem}}

/* v6.24.3.10 — Badge Everywhere */
.community-author-name-line{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.community-inline-badges{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;vertical-align:middle}
.community-inline-badge{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:7px;color:var(--badge-color,#64748b);background:color-mix(in srgb,var(--badge-color,#64748b) 14%,transparent);border:1px solid color-mix(in srgb,var(--badge-color,#64748b) 40%,transparent);box-shadow:0 0 0 1px rgba(255,255,255,.025) inset;cursor:help}
.community-inline-badge svg{width:13px;height:13px;display:block}
.comment-badges .community-inline-badge{width:20px;height:20px;border-radius:6px}.comment-badges .community-inline-badge svg{width:12px;height:12px}
.ranking-badges{justify-content:center}.ranking-badges .community-inline-badge{width:21px;height:21px}
.ranking-list-badges .community-inline-badge{width:19px;height:19px}.ranking-list-badges .community-inline-badge svg{width:11px;height:11px}
.community-review-card .community-author-name-line{gap:7px}
.community-inline-badge.rarity-epic,.community-inline-badge.rarity-legendary{box-shadow:0 0 12px color-mix(in srgb,var(--badge-color,#64748b) 38%,transparent)}
@media(max-width:620px){.community-inline-badges{gap:3px}.community-inline-badge{width:19px;height:19px;border-radius:6px}.community-inline-badge svg{width:11px;height:11px}.ranking-badges .community-inline-badge{width:19px;height:19px}}


/* v6.24.3.11 — Badge Unlock Experience */
.badge-unlock-toast{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;align-items:center;width:100%;padding:18px;border:1px solid color-mix(in srgb,var(--badge-unlock-color) 68%,var(--line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--badge-unlock-color) 13%,var(--panel)),var(--panel) 58%);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.36),0 0 32px color-mix(in srgb,var(--badge-unlock-color) 15%,transparent);pointer-events:auto;opacity:0;transform:translateY(-16px) scale(.97);transition:opacity .25s ease,transform .25s ease;overflow:hidden}.badge-unlock-toast.visible{opacity:1;transform:none}.badge-unlock-toast:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 25%,color-mix(in srgb,var(--badge-unlock-color) 22%,transparent),transparent 35%);pointer-events:none}.badge-unlock-kicker{grid-column:1/-1;color:var(--badge-unlock-color);font-size:.69rem;font-weight:900;letter-spacing:.11em;z-index:1}.badge-unlock-emblem{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:color-mix(in srgb,var(--badge-unlock-color) 18%,var(--panel2));border:1px solid color-mix(in srgb,var(--badge-unlock-color) 50%,var(--line));font-size:1.8rem;box-shadow:0 0 22px color-mix(in srgb,var(--badge-unlock-color) 22%,transparent);z-index:1}.badge-unlock-copy{display:grid;gap:5px;z-index:1}.badge-unlock-copy strong{font-size:1.08rem}.badge-unlock-copy span{color:var(--muted);font-size:.82rem;line-height:1.4}.badge-unlock-copy small{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:900;color:var(--badge-unlock-color)}.badge-unlock-action{grid-column:1/-1;border:0;border-radius:12px;padding:10px 12px;background:var(--badge-unlock-color);color:#fff;font-weight:800;cursor:pointer;z-index:1}.badge-unlock-close{position:absolute;right:9px;top:8px;z-index:2;border:0;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.badge-unlock-toast.rarity-epic,.badge-unlock-toast.rarity-legendary{animation:badgeUnlockGlow 1.7s ease-in-out infinite alternate}.badge-unlock-toast.rarity-legendary .badge-unlock-emblem{animation:badgeUnlockPulse 1.2s ease-in-out infinite alternate}@keyframes badgeUnlockGlow{to{box-shadow:0 24px 70px rgba(0,0,0,.36),0 0 44px color-mix(in srgb,var(--badge-unlock-color) 28%,transparent)}}@keyframes badgeUnlockPulse{to{transform:scale(1.06)}}@media(max-width:560px){.badge-unlock-toast{grid-template-columns:54px minmax(0,1fr);padding:15px}.badge-unlock-emblem{width:52px;height:52px;font-size:1.45rem}}@media(prefers-reduced-motion:reduce){.badge-unlock-toast,.badge-unlock-toast.rarity-epic,.badge-unlock-toast.rarity-legendary,.badge-unlock-toast.rarity-legendary .badge-unlock-emblem{animation:none!important;transition:none!important}}

/* v6.24.3.12.2 — Badge Redazione nel profilo account, senza modifiche al layout generale */
.editorial-profile-badges-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editorial-profile-badges-head h3{margin-bottom:4px}.editorial-profile-badge-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px}.editorial-profile-badge{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--badge-color,#64748b) 42%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--badge-color,#64748b) 8%,var(--panel));min-width:0}.editorial-profile-badge-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;color:var(--badge-color,#64748b);background:color-mix(in srgb,var(--badge-color,#64748b) 15%,transparent)}.editorial-profile-badge-icon svg{width:20px;height:20px}.editorial-profile-badge>span:last-child{display:flex;flex-direction:column;min-width:0}.editorial-profile-badge strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editorial-profile-badge small{color:var(--muted);margin-top:2px}@media(max-width:620px){.editorial-profile-badge-list{grid-template-columns:1fr}}


/* v6.24.3.12.3 — Badge Redazione nel profilo pubblico editoriale */
.editorial-profile-name-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editorial-profile-name-line>strong{font-size:inherit}.editorial-profile-head-badges{display:inline-flex;align-items:center;gap:5px}.editorial-profile-head-badge,.editorial-public-badge-icon{display:inline-grid;place-items:center;color:var(--badge-color,#64748b);background:color-mix(in srgb,var(--badge-color,#64748b) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--badge-color,#64748b) 45%,var(--border));border-radius:50%}.editorial-profile-head-badge{width:27px;height:27px}.editorial-profile-head-badge svg{width:16px;height:16px}.editorial-public-badges{margin:20px 0 28px;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--panel)}.editorial-public-badges-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.editorial-public-badges-title>strong{font-size:1rem}.editorial-public-badge-icons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.editorial-public-badge-icon{width:42px;height:42px}.editorial-public-badge-icon svg{width:23px;height:23px}.editorial-public-badge-more{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--soft);font-weight:700}.editorial-public-badges>small{color:var(--muted);font-weight:700}.editorial-public-badge-empty{display:flex;align-items:center;gap:12px}.editorial-public-badge-empty>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--soft)}.editorial-public-badge-empty>div{display:flex;flex-direction:column;gap:3px}.editorial-public-badge-empty small{color:var(--muted)}
@media(max-width:620px){.editorial-public-badges{margin:16px 0 22px;padding:14px}.editorial-profile-head-badge{width:24px;height:24px}.editorial-profile-head-badge svg{width:14px;height:14px}.editorial-public-badge-icon{width:38px;height:38px}.editorial-public-badge-icon svg{width:21px;height:21px}}
/* v6.24.3.12.4 — Role-Aware Badge Experience */
.reviewer-card-badges{display:flex;justify-content:center;align-items:center;gap:6px;min-height:30px;margin:2px 0 10px}
.reviewer-card-badges .community-mini-badge{width:26px;height:26px}
.badge-audience-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.badge-audience-switch button{border:1px solid var(--border);background:var(--panel);padding:9px 15px;border-radius:999px;font-weight:800;cursor:pointer}
.badge-audience-switch button.active{background:var(--green);color:#fff;border-color:var(--green)}
.badge-context-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.badge-context-stats>div{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--panel);display:flex;flex-direction:column}
.badge-context-stats small{font-weight:800;color:var(--muted)}
.badge-context-stats strong{font-size:1.35rem}
.badge-audience-label{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:640px){.badge-context-stats{grid-template-columns:1fr}.reviewer-card-badges{margin-bottom:8px}}

/* v6.24.3.12.4.3.1 — allineamento orizzontale badge nelle card Top Community */
.community-ranking-card .reviewer-identity .community-author-name-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.community-ranking-card .reviewer-identity .community-inline-badges{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin-top:3px;
}
.community-ranking-card .reviewer-identity .community-inline-badges .community-inline-badge{
  display:inline-grid;
  margin-top:0;
}
@media(max-width:850px){
  .community-ranking-card .reviewer-identity .community-author-name-line{
    justify-content:flex-start;
  }
}


/* v6.28.2.1 — pulsante compatto per la pagina pubblica */
.game-public-icon-btn{width:42px;height:42px;min-width:42px;padding:0!important;display:inline-grid!important;place-items:center;border-radius:50%!important}
.game-public-icon-btn svg{width:20px;height:20px;fill:currentColor;pointer-events:none}
@media(max-width:600px){.game-public-icon-btn{width:40px;height:40px;min-width:40px}}


/* v6.28.4.1 — Hotfix azioni Top Community */
.top-community-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:min(430px,100%)}
.top-community-actions .reviewers-all-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:0;width:100%;margin:0;text-align:center;white-space:normal}
@media(max-width:760px){
  .top-community-actions{grid-template-columns:1fr;width:100%;min-width:0;margin-top:14px}
  .top-community-actions .reviewers-all-button{min-height:48px;padding:.75rem 1rem}
}

/* v6.32-RC1.8.2 — Impostazioni notifiche comprimibili */
#notificationDialog .notification-settings-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 20px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:var(--panel2);
  color:var(--text);
  font:inherit;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}
#notificationDialog .notification-settings-toggle:hover{filter:brightness(1.04)}
#notificationDialog .notification-settings-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:-3px}
#notificationDialog .notification-settings-toggle-label{display:flex;align-items:center;gap:9px}
#notificationDialog .notification-settings-toggle-chevron{font-size:1.15rem;line-height:1;transition:transform .2s ease}
#notificationDialog .notification-settings-toggle[aria-expanded="true"] .notification-settings-toggle-chevron{transform:rotate(180deg)}
#notificationDialog .notification-settings-collapse{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  visibility:hidden;
  transition:grid-template-rows .22s ease,opacity .18s ease,visibility 0s linear .22s;
}
#notificationDialog .notification-settings-collapse.is-open{
  grid-template-rows:1fr;
  opacity:1;
  visibility:visible;
  transition:grid-template-rows .22s ease,opacity .2s ease,visibility 0s linear 0s;
}
#notificationDialog .notification-settings-collapse-inner{min-height:0;overflow:hidden}
#notificationDialog .notification-settings-collapse .push-settings{margin-top:14px}
@media(max-width:700px){
  #notificationDialog .notification-settings-toggle{padding:14px 16px}
}

/* v6.34 — filtri avanzati del catalogo */
.advanced-filter-toggle{align-self:end;white-space:nowrap;padding:11px 15px;border-radius:12px}.advanced-filters{margin:-2px 0 18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.advanced-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.advanced-filter-grid label{display:grid;gap:6px;min-width:0}.advanced-filter-grid label>span{font-size:.7rem;font-weight:850;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}.advanced-filter-grid select{width:100%;min-width:0;background:var(--field-bg,var(--panel2));color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px 12px}.advanced-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.advanced-filter-actions button{padding:9px 14px}.reviews-toolbar{flex-wrap:wrap}
@media(max-width:1000px){.advanced-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.advanced-filter-toggle{align-self:stretch}.advanced-filter-grid{grid-template-columns:1fr 1fr}.advanced-filter-actions{align-items:stretch;flex-direction:column}.advanced-filter-actions button{width:100%}}
@media(max-width:480px){.advanced-filter-grid{grid-template-columns:1fr}}


/* v6.35 — Reaction discrete nelle recensioni Community */
.community-review-reactions{display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.community-review-reactions .reaction-bar.compact{justify-content:flex-end;gap:4px}
.community-review-reactions .reaction-bar.compact .reaction-btn{min-width:30px;height:30px;padding:4px 7px;border-radius:999px}
.community-review-reactions .reaction-bar.compact .reaction-label{display:none}
.community-review-reactions .reaction-bar.compact .reaction-choice{gap:2px}
.community-review-reactions .reaction-bar.compact .reaction-count{min-width:18px;padding:0 2px;font-size:.68rem}
@media(max-width:520px){.community-review-reactions{overflow-x:auto;justify-content:flex-start;padding-bottom:2px}.community-review-reactions .reaction-bar.compact{flex-wrap:nowrap}}

/* v6.36.2 — contatori caratteri recensioni */
.review-char-counter{display:block;margin-top:.35rem;text-align:right;color:var(--muted,#8f96a3);font-size:.78rem}.review-char-counter.limit-near{color:#d5a93d}.review-char-counter.limit-invalid{color:#d95c5c}

/* v6.38.1 Cover Flow mobile-safe */
.coverflow{transform:translateZ(0);contain:layout paint style}
.cover-card{backface-visibility:hidden;transform-style:preserve-3d;filter:none!important}
@media(max-width:650px){.coverflow{perspective:900px}.cover-card{box-shadow:0 18px 44px rgba(0,0,0,.30)}}
@media(prefers-reduced-motion:reduce){.cover-card{transition:none!important}}

/* v6.39 - Cover Flow selezionabile */
.coverflow.coverflow-classic-3d{perspective:1050px;perspective-origin:50% 46%}
.coverflow.coverflow-classic-3d .game-card{transform-style:preserve-3d;backface-visibility:hidden}
.coverflow.coverflow-classic-3d .game-card::after{content:'';position:absolute;inset:auto 8% -13px;height:18px;border-radius:50%;background:rgba(0,0,0,.28);filter:blur(9px);opacity:.7;pointer-events:none}
@media(max-width:650px){.coverflow.coverflow-classic-3d .game-card::after{display:none}}


/* v6.42 — Commenti sotto le recensioni Community */
.community-review-comments-box{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.community-comments-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;color:var(--text);padding:8px 0;cursor:pointer;font:inherit}.community-comments-toggle span{font-weight:700}.community-comments-toggle strong{min-width:28px;padding:3px 8px;border-radius:999px;background:var(--line);font-size:.78rem}.community-comments-panel{display:grid;gap:12px;padding-top:8px}.community-comments-list{display:grid;gap:9px}.community-comment-composer{display:grid;gap:8px}.community-comment-composer textarea{width:100%;resize:vertical;min-height:82px}.community-comment-actions{display:flex;gap:8px;flex-wrap:wrap}.community-review-comments-box .comment-item{background:color-mix(in srgb,var(--panel) 82%,#000)}

/* v6.43 — Bacheca Community */
.community-ticker{display:flex;align-items:center;gap:12px;min-height:38px;padding:0 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,transparent);overflow:hidden}.community-ticker-label{flex:0 0 auto;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--accent)}.community-ticker-viewport{min-width:0;overflow:hidden;flex:1}.community-ticker-track{display:flex;align-items:center;width:max-content;white-space:nowrap;will-change:transform;transform:translateX(0)}.community-ticker-track.is-running{animation:ga-board-ticker var(--ticker-duration,45s) linear infinite}.community-ticker:hover .community-ticker-track{animation-play-state:paused}.community-ticker-group{display:inline-flex;align-items:center;gap:22px;padding-right:22px}.community-ticker-item{font-size:.78rem}.community-ticker-item strong{color:var(--accent)}.community-ticker-separator{font-size:.55rem;opacity:.45}.community-ticker-empty{font-size:.78rem;color:var(--muted)}@keyframes ga-board-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.community-board{width:min(1180px,calc(100% - 32px));margin:42px auto 26px;padding:24px;border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}.community-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.community-board-head small{color:var(--accent);font-weight:800;letter-spacing:.12em}.community-board-head h2{margin:.2rem 0}.community-board-head p{margin:0;color:var(--muted)}.community-board-compose{padding:16px;margin-bottom:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel-2)}.community-board-compose>label{display:block;font-weight:700;margin-bottom:8px}.community-board-compose-row{display:flex;gap:12px;align-items:stretch}.community-board-compose textarea{flex:1;min-height:64px;resize:vertical}.community-board-compose-row .primary{align-self:stretch}.community-board-compose small{display:block;margin-top:6px;color:var(--muted)}.community-board-login{padding:14px 16px;margin-bottom:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel-2)}.community-board-messages{display:grid;gap:10px}.community-board-message{display:flex;gap:12px;padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--panel-2)}.community-board-avatar{width:40px;height:40px;min-width:40px;max-width:40px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--accent);color:#071006;font-weight:800}.community-board-avatar img{display:block;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:cover}.community-board-message-body{min-width:0;flex:1}.community-board-message-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.community-board-message-meta span,.community-board-message-meta time{font-size:.8rem;color:var(--muted)}.community-board-message-meta time{margin-left:auto}.community-board-message p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.community-board-actions{display:flex;gap:12px;margin-top:8px}.community-board-actions button{padding:0;border:0;background:none;color:var(--muted);font-size:.78rem;cursor:pointer}.community-board-actions button:hover{color:var(--accent)}
@media(max-width:640px){.community-ticker{padding:0 12px;gap:8px}.community-ticker-label{font-size:.65rem}.community-board{width:calc(100% - 20px);padding:16px;margin-top:28px}.community-board-compose-row{flex-direction:column}.community-board-compose-row .primary{align-self:auto}.community-board-message-meta time{width:100%;margin-left:0}.community-board-head{align-items:center}}
@media(prefers-reduced-motion:reduce){.community-ticker-track.is-running{animation-duration:90s}}
