/* 00-base.css — Bază: culori/teme (întunecat, luminos, automat), tipografie, carduri, butoane, formulare, bara de progres
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* Culorile accent se schimbă lin când treci de la un gen la altul (cu @property, în browserele care o știu). */
@property --ac{syntax:"<color>";inherits:true;initial-value:#a855f7}
@property --ac2{syntax:"<color>";inherits:true;initial-value:#22d3ee}
:root{transition:--ac .45s ease,--ac2 .45s ease}
@media(prefers-reduced-motion:reduce){:root{transition:none}}
:root{--p1:#f59e0b;--p2:#22d3ee;--p3:#a78bfa;--p4:#f472b6;--p5:#fde047;--t2:#eab308;--t5:#fb923c;color-scheme:dark}
/* Temă: implicit întunecat; „automat” urmează dispozitivul (luminos dacă setează așa). Butonul din antet scrie data-theme pe <html>. */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--ok:#059669;--p1:#d97706;--p2:#0891b2;--p3:#7c3aed;--p4:#db2777;--p5:#ca8a04;--t2:#ca8a04;--t5:#ea580c;color-scheme:light}}
:root[data-theme=light]{--ok:#059669;--p1:#d97706;--p2:#0891b2;--p3:#7c3aed;--p4:#db2777;--p5:#ca8a04;--t2:#ca8a04;--t5:#ea580c;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg) radial-gradient(60% 40% at 80% -10%,color-mix(in srgb,var(--ac) 20%,transparent),transparent),radial-gradient(50% 40% at 0% 0%,color-mix(in srgb,var(--ac2) 13%,transparent),transparent);color:var(--tx);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh}
header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;}
.logo{display:flex;align-items:center;gap:10px;color:var(--tx);text-decoration:none;font-size:18px}
.hpl{margin-right:auto;max-width:240px;min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--mu);text-decoration:none;font-size:14px;padding:3px 14px 3px 3px;border:1px solid var(--bd);border-radius:99px;background:var(--sf)}.hpl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hpl:hover{color:var(--tx)}
.vin{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,var(--bg) 0 14%,var(--ac) 15% 22%,#111 23% 100%);box-shadow:0 0 14px color-mix(in srgb,var(--ac) 53%,transparent);animation:sp 4s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
nav{display:flex;gap:4px;flex-wrap:wrap}nav a{color:var(--mu);text-decoration:none;padding:6px 12px;border-radius:99px;font-size:14px;cursor:pointer;position:relative}nav a i{display:none;font-style:normal}
.nlk{font-style:normal;font-size:11px;margin-left:4px;opacity:.85}
.nbd{font-style:normal;background:var(--er);color:#fff;font-size:11px;font-weight:700;line-height:1;padding:2px 6px;border-radius:99px;margin-left:6px}
nav a.on{background:linear-gradient(90deg,var(--ac),var(--ac2));color:#fff}
main{max-width:900px;margin:0 auto;padding:18px}
.card{background:var(--sf);border:1px solid var(--bd);padding:18px;margin-bottom:16px;overflow-x:auto}
h1,h2,h3{margin:.2em 0}h1{font-size:26px}.mu{color:var(--mu)}
.eq{display:flex;gap:3px;align-items:flex-end;height:26px}.eq i{width:5px;background:linear-gradient(var(--ac2),var(--ac));border-radius:2px;animation:q var(--eqd,1s) var(--eqf,ease-in-out) infinite}
.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}.eq i:nth-child(5){animation-delay:.3s}
@keyframes q{0%,100%{height:20%}50%{height:100%}}
.b,.b2,.b3{display:inline-block;border:0;padding:10px 16px;font:inherit;cursor:pointer;color:#fff;background:linear-gradient(90deg,var(--ac),var(--ac3,#6366f1));text-decoration:none}
.b2{background:var(--sf);color:var(--tx);border:1px solid var(--bd)}.b3{background:var(--er)}.b:disabled,.b2:disabled{opacity:.4;cursor:default}
input,select,textarea{width:100%;background:var(--bg);color:var(--tx);border:1px solid var(--bd);padding:10px;font:inherit}
input[type=checkbox]{width:auto}label{display:block;font-size:13px;color:var(--mu);margin:10px 0 4px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row>*{flex:1 1 auto;width:auto}
.n{min-width:26px;height:26px;border-radius:50%;background:var(--ac);color:#fff;display:grid;place-items:center;font-size:13px}
.meter{height:10px;background:var(--bg);border-radius:9px;overflow:hidden;border:1px solid var(--bd)}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--ac2),var(--ac))}
.tag{font-size:12px;padding:2px 10px;border-radius:99px;border:1px solid var(--bd);color:var(--mu)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--bd);white-space:nowrap}th{color:var(--mu);font-weight:500}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.st{padding:14px;background:var(--bg);border:1px solid var(--bd)}.st b{font-size:26px;display:block}
.ok{color:var(--ok)}.er{color:var(--er)}
#t{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--sf);border:1px solid var(--ac);padding:10px 18px;border-radius:99px;display:none}
textarea{font:12px monospace}

.posterbox{margin:14px 0 4px;justify-content:center}.posterbox img{display:block;width:100%;max-width:340px;aspect-ratio:9/16;height:auto;border-radius:16px;border:1px solid var(--bd);box-shadow:0 14px 34px rgba(0,0,0,.35)}

.au{display:flex;background:var(--bg)}
.aub{flex:0 0 auto;width:58px;height:58px;border-radius:50%;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;background:linear-gradient(135deg,var(--ac),var(--ac2));}
.aub:active{transform:scale(.95)}
.aur{flex:1;min-width:0}
.aubar{position:relative;height:12px;border-radius:9px;background:var(--sf);border:1px solid var(--bd);overflow:hidden}
.aubar .un{position:absolute;left:0;top:0;bottom:0;background:#a855f744}
.aubar .ph{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--ac2),var(--ac))}
.aubar b{position:absolute;top:0;bottom:0;width:2px;background:var(--bd)}

/* 10-live-look.css — Camere live, avatar/cadre/titluri de profil, celebrarea la victorie
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* Camere live */
.lcode{font-size:clamp(40px,14vw,64px);font-weight:800;letter-spacing:.18em;margin:4px 0 8px;background:linear-gradient(90deg,var(--ac2),var(--ac));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:all}
.lbig{font-size:clamp(64px,22vw,110px);font-weight:800;line-height:1.1;text-align:center;margin:8px 0 0;font-variant-numeric:tabular-nums}
.lbig.cd{color:var(--ac2)}
.lrow{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;border:1px solid transparent}
.lrow:nth-child(odd){background:var(--bg)}
.lrow.me{border-color:var(--ac)}
.lpos{flex:0 0 28px;color:var(--mu);text-align:center}
.lnm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lx{flex:0 0 auto;font-size:14px}
.lpt{flex:0 0 64px;text-align:right;font-variant-numeric:tabular-nums}
.tvm{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#000b}.tvm .card{max-width:420px;margin:0;max-height:92vh}

/* Aspect: avatar, cadre de profil, titluri (doar decorative) */
.av{--s:36px;position:relative;display:inline-grid;grid-template:100%/100%;flex:0 0 auto;width:var(--s);height:var(--s);border-radius:50%;vertical-align:middle;box-sizing:border-box}
.av>*{grid-area:1/1;width:100%;height:100%;border-radius:50%;object-fit:cover;position:relative;z-index:1}
.av>b{display:grid;place-items:center;font-size:calc(var(--s)*.44);font-weight:700;line-height:1;color:#fff;background:linear-gradient(135deg,var(--ac),var(--ac2))}
.av[class*=" fr-"]{padding:max(2px,calc(var(--s)*.085));box-shadow:0 0 calc(var(--s)*.3) var(--g,transparent)}
.av[class*=" fr-"]::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--fb)}
.fr-neon{--fb:linear-gradient(135deg,#22d3ee,#a855f7);--g:#22d3ee88}
.fr-crystal{--fb:conic-gradient(from 30deg,#e0f2fe,#7dd3fc,#f0f9ff,#38bdf8,#e0f2fe);--g:#7dd3fc77}
.fr-ember{--fb:linear-gradient(160deg,#fbbf24,#f97316 55%,#b91c1c);--g:#f9731677}
.fr-flame{--fb:conic-gradient(#ff9a3d,#ef4444,#fde047,#ff9a3d);--g:#ef444488}
.fr-sun{--fb:conic-gradient(#fde047,#f59e0b,#fffbd0,#f59e0b,#fde047);--g:#fde047aa}
.fr-vinyl{--fb:repeating-radial-gradient(circle,#0b0b14 0 1.5px,#4b3270 1.5px 3px)}
.fr-silver{--fb:linear-gradient(135deg,#f8fafc,#94a3b8,#e2e8f0,#64748b);--g:#cbd5e155}
.fr-gold{--fb:conic-gradient(#fde68a,#f59e0b,#fff3b0,#d97706,#fde68a);--g:#f59e0baa}
.fr-agent{--fb:repeating-conic-gradient(#22d3ee 0 12deg,#0b0b14 12deg 24deg)}
.fr-duel{--fb:conic-gradient(#f43f5e,#cbd5e1,#f43f5e,#cbd5e1,#f43f5e);--g:#f43f5e66}
.fr-party{--fb:conic-gradient(#f43f5e,#f59e0b,#fde047,#34d399,#22d3ee,#a855f7,#f43f5e);--g:#a855f777}
.fr-veteran{--fb:linear-gradient(135deg,#f5f3ff,#a855f7 50%,#e5e4e2);--g:#a855f766}
.fr-flame::before,.fr-sun::before,.fr-gold::before,.fr-agent::before,.fr-party::before{animation:avspin 6s linear infinite}
.fr-party::before{animation-duration:3s}
@keyframes avspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.av::before{animation:none!important}}
.pn{display:inline-flex;align-items:center;gap:8px;min-width:0}
.pst{display:inline-block;margin-left:6px;font-weight:700;line-height:1;vertical-align:middle;cursor:default;color:var(--p1)}.pst.p-2{color:var(--p2)}.pst.p-3{color:var(--p3)}.pst.p-4{color:var(--p4)}.pst.p-5{color:var(--p5);text-shadow:0 0 8px color-mix(in srgb,var(--p5) 60%,transparent)}
.pcard{margin:12px 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--p1) 53%,transparent);border-radius:12px;background:var(--bg)}
.ttl{display:inline-block;font-size:15px;line-height:1;padding:0;border:0;background:none;margin-left:5px;vertical-align:middle;white-space:nowrap;cursor:default}   /* doar pictograma; numele titlului e în title/aria-label */
.ttl.t-month{color:var(--p1);border-color:color-mix(in srgb,var(--p1) 53%,transparent)}.ttl.t-king{color:var(--t2);border-color:color-mix(in srgb,var(--t2) 53%,transparent)}.ttl.t-master{color:var(--p2);border-color:color-mix(in srgb,var(--p2) 53%,transparent)}.ttl.t-night{color:var(--p3);border-color:color-mix(in srgb,var(--p3) 53%,transparent)}.ttl.t-fire{color:var(--t5);border-color:color-mix(in srgb,var(--t5) 53%,transparent)}
.frg{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.frt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--bd);border-radius:14px;background:var(--bg);cursor:pointer;text-align:center;font-size:12px}
.frt.on{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}.frt.lk{opacity:.5;cursor:default}
.pom{display:flex;gap:16px;align-items:center;padding:16px;margin:10px 0 14px;border-radius:16px;border:1px solid rgba(245,158,11,.55);background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(168,85,247,.10))}
.pom .pomi{flex:1 1 auto;min-width:0}
.qt{font-style:italic;color:var(--mu);margin:8px 0 0;overflow-wrap:anywhere}

/* Celebrare la victorie (confetti + ecran scurt) */
.cel{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:rgba(8,8,20,.74);backdrop-filter:blur(3px);cursor:pointer;animation:celin .25s ease-out}
.cel.out{opacity:0;transition:opacity .3s}
.celb{text-align:center;max-width:360px}
.cele{font-size:84px;line-height:1;animation:celpop .7s cubic-bezier(.2,1.6,.4,1)}
.celt{font-size:34px;font-weight:800;margin-top:6px;background:linear-gradient(90deg,var(--ac2),var(--ac));-webkit-background-clip:text;background-clip:text;color:transparent}
.cela{font-size:20px;margin-top:4px;color:#fff}
.celp{font-size:30px;font-weight:700;color:var(--ok);margin-top:10px;animation:celup .6s .25s both}
.celx{margin-top:8px;color:#e9e7ff;font-size:15px}
.cel.still,.cel.still *{animation:none!important}
.cfc{position:fixed;inset:0;width:100%;height:100%;z-index:81;pointer-events:none}
.shk{animation:shk .35s}
@keyframes celin{from{opacity:0}to{opacity:1}}
@keyframes celpop{0%{transform:scale(.2) rotate(-20deg);opacity:0}100%{transform:none;opacity:1}}
@keyframes celup{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@keyframes shk{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.shk{animation:none}}

/* 20-pages.css — Prima pagină pentru vizitatori („Cum funcționează”, copertă), footer, pagini (Termeni etc.), imagini, mentenanță
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* Prima pagină (vizitatori): „Cum funcționează” */

/* Coperta (prima pagină pentru vizitatori): stil editorial */
main.cv{max-width:1180px;padding-top:clamp(8px,3vw,36px)}
.cov{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:min(78vh,740px)}
.cov-t{position:relative;z-index:1;}
.cov h1{margin:0;font:800 clamp(52px,10.4vw,156px)/.9 var(--serif);letter-spacing:-.045em}
.cov h1 span{display:block}
.cov-s{margin:clamp(22px,3vw,38px) 0 0;max-width:30ch;font-size:clamp(17px,1.7vw,21px);line-height:1.45;color:var(--mu)}
.cov-a{display:flex;flex-wrap:wrap;margin-top:clamp(26px,3.4vw,44px)}
.cov-a .b,.cov-a .b2,.cov-f .b2{padding:13px 26px;font-size:16px;font-weight:600;border-radius:12px}
.cov-l{border:0;background:none;padding:2px 0;font:inherit;font-size:15px;color:var(--mu);cursor:pointer;border-bottom:1px solid var(--bd)}
.cov-l:hover{color:var(--tx);border-color:var(--tx)}
.cov-p{color:var(--tx)}
.cov-l:focus-visible{outline:2px solid var(--ac2);outline-offset:4px;border-radius:2px}
.cov-f{margin-top:30px}.cov-f .card{margin:0!important;max-width:340px!important;padding:0;background:none;border:0;overflow:visible}
.cov-f .b2{margin-top:18px}
.vnl{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,#0b0b11 0 2px,#181822 2px 3px);animation:sp 40s linear infinite}
.vnl::before{content:"";position:absolute;inset:34%;border-radius:50%;background:linear-gradient(135deg,var(--ac),var(--ac2));box-shadow:inset 0 0 0 clamp(4px,1.1vw,10px) rgba(0,0,0,.14)}
.vnl::after{content:"";position:absolute;inset:48.6%;border-radius:50%;background:var(--bg)}
@media(prefers-reduced-motion:reduce){.vnl{animation:none}}

/* Footer */
.ft{max-width:900px;margin:24px auto 0;padding:22px 18px 30px;border-top:1px solid var(--bd);text-align:center;color:var(--mu);font-size:13px}
.ft p{margin:0}.ft .ft-s{margin-top:6px;font-size:12px;opacity:.85}
.ft .ft-by{opacity:.75;white-space:nowrap}
main.cv+.ft{max-width:1180px}
.ft-l{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-bottom:12px}
.ft-l a{color:var(--tx);text-decoration:none;border-bottom:1px solid var(--bd);padding-bottom:1px}
.ft-l a:hover{border-color:var(--tx)}
/* Pagini (Termeni, Confidențialitate, Contact) */
.pg{max-width:760px;margin:0 auto 16px;padding:26px 26px 30px;overflow-x:visible}
.pg h1{margin:0 0 14px;font-size:clamp(26px,4.2vw,34px)}
.pg h2{font-size:20px;margin:30px 0 8px}.pg h3{font-size:17px;margin:22px 0 6px}
.pg p,.pg li{color:var(--tx);line-height:1.65}.pg p{margin:0 0 12px}
.pg ul{margin:0 0 14px;padding-left:22px}.pg li{margin:4px 0}
.pg a{color:var(--ac2)}
@media(max-width:640px){.pg{padding:20px 16px 24px}}

.ann{max-width:900px;margin:12px auto 0;padding:0 18px}
.adc{position:relative;background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:12px 14px}
.adc-top,.adc-foot{max-width:864px;width:calc(100% - 36px);margin:12px auto 0}
.adc-end{margin-top:16px}
.adl{position:absolute;top:4px;right:10px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mu)}
.adr{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.adm{display:block;flex:none;max-width:100%;line-height:0}
.adi{display:block;width:auto;height:auto;border-radius:10px;max-width:100%}
.adb{flex:1 1 220px;min-width:0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.adt{flex:1;min-width:150px}.adt b{display:block;overflow-wrap:anywhere}
/* Orice formă de imagine, fără tăiere: pătrat/vertical = miniatură, dreptunghi = imagine medie, banner = pe toată lățimea cadrului */
.adc[data-shape=sq] .adi{max-width:96px;max-height:96px}
.adc[data-shape=ls] .adi{max-width:240px;max-height:170px}
.adc[data-shape=bn]{padding:0 0 12px;overflow:hidden}
.adc[data-shape=bn] .adr{flex-direction:column;align-items:stretch;gap:10px;margin-top:0}
.adc[data-shape=bn] .adm{width:100%}
.adc[data-shape=bn] .adi{width:100%;max-width:none;max-height:280px;border-radius:0;object-fit:cover}
.adc[data-shape=bn] .adb{padding:0 14px;flex:none}
.adc[data-shape=bn] .adl{top:8px;right:8px;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@media(max-width:520px){.adc[data-shape=ls] .adm{flex:1 1 100%}.adc[data-shape=ls] .adi{width:100%;max-width:none;max-height:260px;object-fit:cover}.adc[data-shape=sq] .adb{flex-basis:140px}}
.adt p{margin:2px 0 0;color:var(--mu);font-size:14px;overflow-wrap:anywhere}
.annc{background:var(--sf);border:1px solid var(--bd);border-left-width:5px;border-radius:14px;padding:12px 14px;margin-bottom:10px}
.annh{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
.annb{margin-top:4px;color:var(--mu);white-space:pre-line;overflow-wrap:anywhere}
.annx{background:none;border:0;color:var(--mu);font-size:16px;cursor:pointer;padding:0 4px;line-height:1}

@media(max-width:640px){
 header{flex-wrap:nowrap;padding:10px 16px;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
 .logo{font-size:17px;min-width:0}.logo b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .hpl{margin:0 0 0 auto;max-width:52vw;font-size:13px;padding:3px 12px 3px 3px;flex:0 1 auto}
 nav{position:fixed;left:0;right:0;bottom:0;z-index:30;flex-wrap:nowrap;gap:0;justify-content:space-around;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--sf) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--bd);box-shadow:0 -6px 20px rgba(0,0,0,.18)}
 nav a{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:12px;font-size:11px;line-height:1.2}
 nav a i{display:block;font-size:21px;line-height:1;filter:grayscale(.6);opacity:.8}
 nav a span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 nav a.on{background:none;color:var(--ac2);font-weight:600}nav a.on i{filter:none;opacity:1}
 .nbd{position:absolute;top:1px;left:calc(50% + 6px);margin:0;font-size:10px;padding:2px 5px}
 .nlk{position:absolute;top:1px;left:calc(50% + 8px);margin:0;font-size:10px}
 body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
 #t{bottom:calc(84px + env(safe-area-inset-bottom))}
 .ann{padding:0 14px}
 .adc-top,.adc-foot{width:calc(100% - 28px)}
}


.thm{border-radius:99px;width:34px;height:34px;padding:0;cursor:pointer;font-size:16px;line-height:1;flex:0 0 auto}.thm:hover{border-color:var(--ac)}

/* Pagina de mentenanță */
.mt-vin{width:112px;height:112px;margin:6px auto 14px;border-radius:50%;display:grid;place-items:center;animation:sp 5s linear infinite;box-shadow:0 0 34px #a855f755;background:repeating-radial-gradient(circle,#0d0d16 0 2px,#17172a 2px 4px)}
.mt-vin span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--ac),var(--ac2));box-shadow:0 0 0 5px #0d0d16}
.mt-msg{max-width:420px;margin:6px auto 0}
.mt-eq{justify-content:center;height:34px;margin:20px 0 4px}
.mt-pill{display:inline-flex;align-items:center;gap:8px;margin:10px 0 4px;padding:5px 12px;border:1px solid var(--bd);border-radius:999px;font-size:13px;color:var(--mu)}
.mt-dot{width:8px;height:8px;border-radius:50%;background:var(--ac);animation:mtp 1.6s ease-in-out infinite}
@keyframes mtp{0%,100%{opacity:.35}50%{opacity:1}}
.mt-list{list-style:none;margin:14px auto 0;padding:0;max-width:400px;text-align:left;font-size:14px;color:var(--mu)}
.mt-list li{position:relative;padding:5px 0 5px 22px}
.mt-list li:before{content:"✓";position:absolute;left:0;color:var(--ac)}
@media (prefers-reduced-motion:reduce){.mt-vin,.mt-dot,.mt-eq i{animation:none}}

/* 30-genre-themes.css — Teme pe gen, cardul quizului, reclame
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* ===== TEME PE GEN =====
   Pur cosmetic. Registrul de genuri e în inc/genres.php; assets/genre.js pune data-genre pe <html> când joci dintr-o colecție.
   Același set de culori se aplică și unui singur element cu data-g (ex. butoanele „alege genul”), ca fiecare să-și poarte genul.
   Culorile sunt alese în tonuri medii, ca să se citească bine și pe fundal întunecat, și pe cel luminos.
   „Personalitatea” vine din câteva variabile: --eqd/--eqf (ritmul egalizatorului), --gr (rotunjirea cardului),
   --gsh (umbră/ramă), --gbg (model discret de fundal). Fără data-genre nimic din blocul acesta nu se aplică. */
html[data-genre],[data-g]{--ac3:color-mix(in srgb,var(--ac) 72%,#000)}
html[data-genre=rock],[data-g=rock]{--ac:#dc2626;--ac2:#64748b;--eqd:.55s;--eqf:steps(6,end);--gr:8px;--gbg:linear-gradient(115deg,color-mix(in srgb,var(--ac) 10%,transparent) 0 16%,transparent 16%)}
html[data-genre=electronic],[data-g=electronic]{--ac:#2563eb;--ac2:#06b6d4;--eqd:.8s;--eqf:steps(5,end);--gr:4px;--gbg:linear-gradient(color-mix(in srgb,var(--ac2) 9%,transparent) 1px,transparent 1px) 0 0/100% 22px}
html[data-genre=eurodance],[data-g=eurodance]{--ac:#c026d3;--ac2:#06b6d4;--eqd:.5s;--eqf:steps(4,end);--gr:18px;--gbg:linear-gradient(120deg,color-mix(in srgb,var(--ac) 11%,transparent),transparent 45%,color-mix(in srgb,var(--ac2) 11%,transparent))}
html[data-genre=jazz],[data-g=jazz]{--ac:#0f766e;--ac2:#ca8a04;--eqd:1.7s;--gr:22px;--gbg:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--ac2) 13%,transparent),transparent 60%)}
html[data-genre=hiphop],[data-g=hiphop]{--ac:#7e22ce;--ac2:#ca8a04;--eqd:.75s;--eqf:cubic-bezier(.3,1.5,.5,1);--gr:12px;--gsh:5px 5px 0 color-mix(in srgb,var(--ac) 65%,transparent)}
html[data-genre=clasica],[data-g=clasica]{--ac:#9f1239;--ac2:#b8860b;--eqd:2.4s;--gr:4px;--gsh:inset 0 0 0 4px var(--sf),inset 0 0 0 5px color-mix(in srgb,var(--ac2) 55%,transparent)}
html[data-genre=pop],[data-g=pop]{--ac:#db2777;--ac2:#0284c7;--eqd:.9s;--gr:24px;--gbg:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--ac) 15%,transparent),transparent 46%)}
html[data-genre=soul],[data-g=soul]{--ac:#a21caf;--ac2:#e11d48;--eqd:1.9s;--gr:20px;--gbg:radial-gradient(110% 70% at 0 100%,color-mix(in srgb,var(--ac2) 13%,transparent),transparent 60%)}
html[data-genre=folk],[data-g=folk]{--ac:#15803d;--ac2:#a16207;--eqd:1.3s;--gr:14px;--gbg:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ac) 7%,transparent) 0 2px,transparent 2px 11px)}
html[data-genre=folclor],[data-g=folclor]{--ac:#b91c1c;--ac2:#d97706;--eqd:1.15s;--gr:12px;--gbg:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ac) 8%,transparent) 0 2px,transparent 2px 14px)}
html[data-genre=romanesc],[data-g=romanesc]{--ac:#1d4ed8;--ac2:#ca8a04;--eqd:1.2s;--gr:14px}
html[data-genre=legende],[data-g=legende]{--ac:#854d0e;--ac2:#ca8a04;--eqd:1.5s;--gr:16px;--gbg:linear-gradient(135deg,color-mix(in srgb,var(--ac2) 14%,transparent),transparent 40%)}

/* Cardul quizului: rotunjire, model și pictograma genului ca filigran (--gi o pune genre.js). */
html[data-genre] .gcard{position:relative;border-radius:var(--gr,16px);background-image:var(--gbg,none);border-top:2px solid var(--ac)}
html[data-genre] .gcard::before{content:var(--gi);position:absolute;right:14px;top:6px;font-size:64px;line-height:1;opacity:.08;pointer-events:none;filter:grayscale(1)}
html[data-genre] .tg{color:var(--ac2);border-color:color-mix(in srgb,var(--ac) 55%,var(--bd))}
html[data-genre=rock] .n,html[data-genre=electronic] .n,html[data-genre=clasica] .n{border-radius:6px}
html[data-genre=clasica] .gcard h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:.01em}
html[data-genre=rock] .gcard h1{font-weight:800;letter-spacing:-.01em}
html[data-genre=hiphop] .gcard h1{text-transform:uppercase;letter-spacing:.02em}
html[data-genre=jazz] .gcard h1,html[data-genre=soul] .gcard h1{font-style:italic}

/* Detalii de gen în afara cardului */
html[data-genre=romanesc] header{border-bottom-width:3px;border-image:linear-gradient(90deg,#2563eb 0 33.3%,#facc15 0 66.6%,#dc2626 0) 1}

/* Butoanele „alege genul” de la finalul quizului */
.gk[data-g]{border-color:color-mix(in srgb,var(--ac) 50%,var(--bd))}
.gk[data-g]:hover,.gk[data-g]:focus-visible{background:color-mix(in srgb,var(--ac) 14%,var(--sf))}
html[data-genre=hiphop] .gcard .b2,html[data-genre=hiphop] .gcard .b{border-radius:8px}
:root[data-theme=light] .gcard::before{opacity:.07}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .gcard::before{opacity:.07}}

/* Reclame: doar imaginea (fără cadru, etichetă, titlu sau buton) */
.adc,.adc[data-shape]{background:none;border:0;padding:0;overflow:visible;text-align:center}
.adc .adm{display:block;width:100%;max-width:100%;line-height:0}
.adc .adi{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;border-radius:12px;margin:0 auto}
.adc[data-shape=ls] .adm{max-width:640px;margin:0 auto}.adc[data-shape=sq] .adm{max-width:360px;margin:0 auto}
.adc[data-shape=ls] .adi,.adc[data-shape=sq] .adi{width:100%;max-width:100%;max-height:none}

.mt-back{margin:20px 0 4px}.mt-bl{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}.mt-bd{display:block;font-size:20px;margin:2px 0 14px}
.mt-cd{display:flex;justify-content:center;gap:8px}.mt-cd span{min-width:58px;padding:9px 6px 7px;border:1px solid var(--bd);border-radius:12px;background:var(--bg)}.mt-cd b{display:block;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}.mt-cd i{display:block;font-style:normal;font-size:11px;color:var(--mu);margin-top:3px}

/* 40-home.css — Ecranul principal și aspectul modern (v2026.10.19): copertă, player cu inel, răspuns, indicii
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* Ecran principal (v2026.10.19): o singură culoare de accent (cea a genului), cărți mai puține, ierarhie clară */
:root{--g1:8px;--g2:12px;--g3:16px}
.ic{flex:0 0 auto;vertical-align:-3px}
.sm{font-size:13px}
.ph{display:flex;align-items:center;gap:var(--g1);font-weight:600;font-size:17px}
.strip{margin:0 0 var(--g2)}
.strip summary,.strip.sr{display:flex;flex-wrap:wrap;gap:var(--g1);list-style:none}
.strip summary{cursor:pointer;align-items:center}
.strip summary::-webkit-details-marker{display:none}
.strip summary::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--mu);border-bottom:1.5px solid var(--mu);transform:rotate(45deg);margin:0 4px 4px 2px;transition:transform .2s}
.strip[open] summary::after{transform:rotate(-135deg);margin-bottom:-2px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;border:1px solid var(--bd);background:var(--sf);font-size:13px;color:var(--tx)}
.chip.hot{border-color:var(--ac)}.chip .fl{color:var(--p1);display:inline-flex}
.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--bd))}
.chip.warn{border-style:dashed;border-color:var(--ac)}
.sd{margin-top:var(--g2);padding:var(--g2) 14px;border:1px solid var(--bd);border-radius:12px;background:var(--sf)}
.ghd{display:flex;align-items:center;flex-wrap:wrap;gap:6px var(--g2)}
.gk{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;padding:3px 12px;border-radius:99px;border:1px solid var(--ac);background:color-mix(in srgb,var(--ac) 14%,transparent)}
.gm{font-size:13px;color:var(--mu)}
.ghd .eq{margin-left:auto;height:20px;visibility:hidden}
.gcard.pl .ghd .eq{visibility:visible}
.gcard h1{margin:.5em 0 .4em}
@media(prefers-reduced-motion:reduce){.eq i{animation:none;height:60%}}
.bl{background:none;border:0;color:var(--mu);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;padding:8px 4px}
.promo{border-color:color-mix(in srgb,var(--ac) 60%,var(--bd))}
.promo h2{font-size:22px;margin:2px 0}
.minis{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--g3)}
.mini{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:1px solid var(--bd);border-radius:12px;background:var(--sf);color:var(--tx);font:inherit;font-size:14px;text-align:left;text-decoration:none}
.mini .ic{color:var(--ac2)}.mini span{min-width:0}
.mini.note{margin-bottom:var(--g2)}
a.mini,button.mini{cursor:pointer}
a.mini::after,button.mini::after{content:"";margin-left:auto;flex:0 0 auto;width:7px;height:7px;border-right:1.5px solid var(--mu);border-top:1.5px solid var(--mu);transform:rotate(45deg)}
.card.mis{padding:0}
.mis summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;list-style:none}
.mis summary::-webkit-details-marker{display:none}
.mis .mb{padding:0 18px 14px}
.mrow{padding:10px 0;border-top:1px solid var(--bd)}

/* ===== Aspect modern (v2026.10.19-3): întunecat implicit, copertă cu două butoane, formular care urcă peste copertă, player cu inel ===== */
.cov-a{flex-direction:column;align-items:stretch;gap:12px}
.cov-a>button{width:100%;height:56px;border-radius:18px;font-size:17px;font-weight:600}
.cov-a>.b{box-shadow:0 10px 30px color-mix(in srgb,var(--ac) 40%,transparent)}
.cov-a>.b2{background:color-mix(in srgb,var(--tx) 5%,transparent);border-color:color-mix(in srgb,var(--tx) 22%,transparent)}
.sheet-bg{position:fixed;inset:0;z-index:100;background:rgba(5,5,10,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fd .22s ease-out}
.sheet{width:100%;max-width:460px;max-height:92vh;max-height:92dvh;overflow:auto;overscroll-behavior:contain;background:var(--sf);border:1px solid var(--bd);border-bottom:0;border-radius:28px 28px 0 0;padding:12px 22px calc(22px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 60px rgba(0,0,0,.5);animation:su .34s cubic-bezier(.22,1,.36,1);will-change:transform,opacity}
.hdl{width:44px;height:5px;border-radius:3px;background:var(--bd);margin:0 auto 14px}
.sheet .card{background:none;border:0;padding:0;margin:0;max-width:none!important;overflow:visible}
.sh-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.sh-h h2{margin:0;font-size:24px}
.x{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:0;background:color-mix(in srgb,var(--tx) 10%,transparent);color:var(--mu);font-size:15px;cursor:pointer}
.sheet input:not([type=checkbox]),.sheet select{border-radius:14px;padding:14px 16px;font-size:16px}
.sheet .row>.b{width:100%;height:54px;border-radius:16px;font-size:17px;font-weight:600}
.chk{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--tx);margin:14px 0 4px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--ac);flex:0 0 auto}
@keyframes su{from{transform:translateY(56px);opacity:0}to{transform:none;opacity:1}}
@keyframes fd{from{opacity:0}to{opacity:1}}
@media(min-width:700px){.sheet-bg{align-items:center}.sheet{border-radius:24px;border-bottom:1px solid var(--bd);animation-name:suC}}
@keyframes suC{from{transform:translateY(24px) scale(.97);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.sheet,.sheet-bg{animation:none}}
/* Invitat: bara de rezultat scoate în evidență „Salvează progresul” */
.qcbar.guest .qcb-b{grid-auto-columns:1.35fr 1fr 1fr}
.qcbar.guest .qcb-b .b{box-shadow:0 6px 18px color-mix(in srgb,var(--ac) 35%,transparent)}
/* player: vinil mare cu inel de progres (cyan = ce ai ascultat, accent = cât ai deblocat) */
.au{background:none;}
.ring{--p:0;--u:0;position:relative;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--ac2) 0 calc(var(--p)*1%),color-mix(in srgb,var(--ac) 55%,transparent) calc(var(--p)*1%) calc(var(--u)*1%),color-mix(in srgb,var(--tx) 12%,transparent) calc(var(--u)*1%) 100%)}
.ring .disc{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,var(--bg) 0 4%,var(--ac) 4.5% 13%,#14141f 13.5%);position:relative;overflow:hidden;box-shadow:0 0 46px color-mix(in srgb,var(--ac) 38%,transparent);animation:sp 6s linear infinite;animation-play-state:paused}
.ring .disc::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.06) 0 1px,transparent 1px 8px)}
.ring .disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent,rgba(255,255,255,.14) 12%,transparent 25%,transparent 50%,rgba(255,255,255,.14) 62%,transparent 75%)}
.gcard.pl .ring .disc{animation-play-state:running}
.ring .aub{position:absolute;box-shadow:none;}
/* răspuns: pastilă cu buton rotund; indicii: etichete */
.gin{flex-wrap:nowrap;gap:0;background:var(--sf);border:1px solid color-mix(in srgb,var(--tx) 18%,var(--bd));border-radius:20px;padding:6px 6px 6px 18px}
.gin:focus-within{border-color:var(--ac2)}
.gin>input{flex:1 1 auto;min-width:0;border:0;background:transparent;font-size:17px;padding:10px 8px 10px 0}
.gin>input:focus{outline:none}
.gin>.b{flex:0 0 50px;width:50px;height:50px;padding:0;border-radius:15px;display:flex;align-items:center;justify-content:center}
.gcard{border-radius:26px}

.sheet input:focus,.sheet select:focus{outline:none;border-color:var(--ac2)}

/* Hint „4 variante” */
.mc{margin-top:12px}
.mc-h{font-size:13px;color:var(--mu);margin:0 0 8px}
.mcg{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:520px){.mcg{grid-template-columns:1fr 1fr}}
.mcb{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--tx) 18%,var(--bd));background:var(--sf);color:var(--tx);font:inherit;font-size:16px;cursor:pointer;transition:border-color .15s,transform .1s,opacity .2s;animation:mcin .28s both}
.mcb i{flex:0 0 28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:600 13px system-ui;font-style:normal;background:color-mix(in srgb,var(--ac) 20%,transparent)}
.mcb span{min-width:0;overflow-wrap:anywhere}
.mcb:active{transform:scale(.985)}
.mcb.out{opacity:.4;text-decoration:line-through;cursor:default;pointer-events:none;animation:none}
@keyframes mcin{from{opacity:0;transform:translateY(6px)}}
@media(prefers-reduced-motion:reduce){.mcb{animation:none}}


/* 50-cover-quick.css — Copertă cu quiz demo, dificultate, invitații, premii, modul rapid, teme de sărbători, focus
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* ===== Copertă (v2026.10.20-4): quiz demo în locul vinilului mare ===== */
.cov{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"t d" "a d";align-items:start;align-content:center;column-gap:clamp(24px,4vw,64px);min-height:min(70vh,640px)}
.cov-t{grid-area:t;grid-column:auto;grid-row:auto;padding:20px 0 0}
.cov>.cov-a{grid-area:a;max-width:420px}
.cov-d{grid-area:d;align-self:center;justify-self:end;width:min(100%,430px)}
.cov-dd{width:min(100%,320px);aspect-ratio:1;position:relative;border-radius:50%;box-shadow:0 40px 80px -30px rgba(88,40,170,.5)}
.cov-dd::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 25deg,transparent 0 9%,rgba(255,255,255,.17) 13%,transparent 19% 52%,rgba(255,255,255,.13) 63%,transparent 71%)}
.dm{border:1px solid color-mix(in srgb,var(--tx) 16%,var(--bd));border-radius:24px;padding:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 14%,var(--sf)),var(--sf));box-shadow:0 30px 70px -36px color-mix(in srgb,var(--ac) 55%,transparent)}
.dm-top{display:flex;align-items:center;gap:14px}
.dm-d{position:relative;flex:0 0 64px;width:64px;height:64px}
.dm-d .dsk{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--bg) 0 5%,var(--ac) 5.5% 20%,#14141f 21%);box-shadow:0 0 22px color-mix(in srgb,var(--ac) 40%,transparent);animation:sp 5s linear infinite;animation-play-state:paused;overflow:hidden}
.dm-d .dsk::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.07) 0 1px,transparent 1px 5px)}
.dm.pl .dsk{animation-play-state:running}
.dm-d button{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(11,11,20,.72);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dm-tx{min-width:0}
.dm-tx b{display:block;font-size:17px;line-height:1.25}
.dm-tx span{display:block;margin-top:2px;font-size:13.5px;color:var(--mu)}
.dm-go{width:100%;height:50px;margin-top:14px;border-radius:16px;font-size:16px;font-weight:600}
.dm-bar{position:relative;height:6px;border-radius:3px;background:color-mix(in srgb,var(--tx) 12%,transparent);overflow:hidden;margin:14px 0 12px}
.dm-bar i{position:absolute;left:0;top:0;bottom:0;display:block}
.dm-bar .un{background:color-mix(in srgb,var(--ac) 55%,transparent)}
.dm-bar .ph{background:var(--ac2);width:0}
.dm .mcg{grid-template-columns:1fr 1fr;gap:8px}
.dm .mcb{padding:10px;gap:8px;font-size:14.5px;border-radius:14px;animation:none;min-height:48px}
.dm .mcb i{flex:0 0 24px;height:24px;border-radius:8px;font-size:12px}
.dm-n,.dm-more{font-size:12.5px;color:var(--mu);margin-top:10px;text-align:center}
.dm-more .cov-l{font-size:12.5px;margin-left:4px}
.dm-res{margin-top:14px}
.dm-res small{font-size:12px;color:var(--mu);text-transform:uppercase;letter-spacing:.08em}
.dm-ans{font:800 26px/1.1 var(--serif);margin:2px 0 4px;overflow-wrap:anywhere}
.dm-res p{font-size:13.5px;line-height:1.45;margin:8px 0 0;color:var(--mu)}
@media(prefers-reduced-motion:reduce){.dm-d .dsk{animation:none}}
@media(max-width:640px){
 .cov{grid-template-columns:1fr;grid-template-areas:"t" "d" "a";row-gap:16px;min-height:0;align-content:start}
 .cov h1{font-size:clamp(40px,13.5vw,60px);line-height:.95}
 .cov-t{padding:4px 0 0}
 .cov-s{margin-top:12px;font-size:16px;max-width:none}
 .cov>.cov-a{margin-top:0;max-width:none}
 .cov-d{justify-self:stretch;width:100%}
 .cov-dd{display:none}
}
/* Dificultate automată (etichetă colorată + filtru în arhivă) */
.dif{display:inline-block;padding:1px 9px;border-radius:99px;font-size:12px;font-weight:600;line-height:1.6;border:1px solid transparent}
.dif-u{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.dif-m{color:var(--p1);background:color-mix(in srgb,var(--p1) 14%,transparent);border-color:color-mix(in srgb,var(--p1) 35%,transparent)}
.dif-g{color:var(--er);background:color-mix(in srgb,var(--er) 14%,transparent);border-color:color-mix(in srgb,var(--er) 35%,transparent)}
.dfr{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.dfc{border:1px solid var(--bd);background:var(--sf);color:var(--tx);border-radius:99px;padding:5px 14px;font:inherit;font-size:13px;cursor:pointer}
.dfc.on{background:linear-gradient(90deg,var(--ac),var(--ac2));border-color:transparent;color:#fff}
/* Invită un prieten */
.inv-b{margin:14px 0 0;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ac) 45%,var(--bd));background:color-mix(in srgb,var(--ac) 10%,transparent);font-size:14.5px;line-height:1.45;max-width:34em}

/* Premii și parteneri (v2026.10.20-7) */
.pz-g{margin-top:8px}.pz-r{display:flex;align-items:center;gap:8px;margin-top:6px}.pz-r img{width:28px;height:28px;object-fit:contain;border-radius:6px;flex:0 0 auto}.pz small{font-weight:400}.pz a{color:var(--ac2)}

/* ===== Mod rapid (v2026.10.20-9): 4 variante, o singură șansă, chenarul „Continuăm?” ===== */
.qk h1{margin:10px 0 4px}
.qk .qq{margin:0 0 10px;font-size:15px;font-weight:600;color:var(--ac2)}
.qrev{margin:14px 0 4px}
.mcb.dis{cursor:default;pointer-events:none;animation:none}
.mcb.good{border-color:#34d399;background:color-mix(in srgb,#34d399 18%,var(--sf))}
.mcb.good i{background:#34d399;color:#06281c}
.mcb.bad{border-color:#f43f5e;background:color-mix(in srgb,#f43f5e 16%,var(--sf))}
.mcb.bad i{background:#f43f5e;color:#fff}
.qc{text-align:center}
.qc-r{display:flex;align-items:center;justify-content:center;gap:10px;font-size:20px;margin:6px 0 8px}
.qc-r span{font-size:30px;line-height:1}
.qc-a{font-size:17px;margin:0 0 8px;overflow-wrap:anywhere}
.qc-x,.qc-w{font-size:14px;margin:8px 0 0}
.qc h2{font-size:28px;margin:18px 0 14px}
.qc-b{display:grid;gap:10px}
.qc-b .b,.qc-b .b2{width:100%;height:54px;border-radius:16px;font-size:17px;font-weight:600}
.qtm{display:flex;align-items:center;gap:10px;margin:10px 0 2px}
.qtb{flex:1;height:8px;border-radius:5px;background:color-mix(in srgb,var(--tx) 12%,transparent);overflow:hidden}
.qtb i{display:block;height:100%;border-radius:5px;background:var(--ac2);transition:width .2s linear}
.qtb i.low{background:#f43f5e}
.qtm span{font-size:13px;color:var(--mu);min-width:6.5em;text-align:right;font-variant-numeric:tabular-nums}
.mcb.wt{opacity:.55}
.lopts{margin:6px 0}
.lopts .mcb:disabled{opacity:.6;cursor:default}
.lopts .mcb.good{opacity:1;border-color:#34d399;background:color-mix(in srgb,#34d399 18%,var(--sf))}
.lopts .mcb.bad{opacity:1;border-color:#f43f5e;background:color-mix(in srgb,#f43f5e 16%,var(--sf))}

/* Bara de rezultat din modul rapid (înlocuiește chenarul „Continuăm?”): nu acoperă cardul de distribuire */
.qcbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;max-width:520px;margin:0 auto;background:var(--sf);border:1px solid var(--bd);border-radius:18px;box-shadow:0 10px 34px rgba(0,0,0,.4);animation:su .28s cubic-bezier(.2,.8,.2,1)}
.qcbar.ok{border-color:color-mix(in srgb,var(--ok) 55%,var(--bd))}.qcbar.er{border-color:color-mix(in srgb,var(--er,#ef4444) 55%,var(--bd))}
.qcb-t{display:flex;align-items:center;}.qcb-t>span{font-size:24px;line-height:1}
.qcb-m{flex:1;min-width:0}.qcb-m b{display:block;font-size:16px}.qcb-m small{display:block;color:var(--mu);font-size:13px;overflow-wrap:anywhere}
.qcb-x{background:none;border:0;color:var(--mu);font-size:18px;cursor:pointer}
.qcb-n{margin:6px 0 0;font-size:12px;color:var(--mu)}
.qcb-rp{display:block;margin:6px auto 0;background:none;border:0;color:var(--mu);font-size:13px;text-decoration:underline;padding:6px 10px;cursor:pointer}
.qcb-rpp{margin-top:8px}.rpk-l{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.rpk{border:1px solid var(--bd);background:var(--sf);color:inherit;border-radius:12px;padding:8px 10px;font-size:13px;cursor:pointer}.rpk.on{border-color:var(--ac2);background:color-mix(in srgb,var(--ac2) 14%,var(--sf));font-weight:600}
.qcb-rpp input{width:100%;box-sizing:border-box;border:1px solid var(--bd);border-radius:12px;padding:10px 12px;font-size:15px;background:var(--sf);color:inherit}
.qcb-b{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;}.qcb-b .b,.qcb-b .b2{height:46px;border-radius:14px;font-size:15px;font-weight:600;white-space:nowrap}
body:has(.qcbar){padding-bottom:var(--qcb-pad,230px)}
@media(max-width:640px){.qcbar{bottom:calc(74px + env(safe-area-inset-bottom,0px))}body:has(.qcbar){padding-bottom:var(--qcb-pad,calc(290px + env(safe-area-inset-bottom)))}}
@media(prefers-reduced-motion:reduce){.qcbar{animation:none}}

/* Player compact (înlocuiește discul mare): buton de play cu inel de progres + bara fragmentului, pe un singur rând */
.au{flex-direction:row;align-items:center;gap:14px;margin:8px 0 10px;padding:10px 14px;border:1px solid var(--bd);border-radius:18px;background:color-mix(in srgb,var(--tx) 4%,var(--sf))}
.ring{width:60px;flex:0 0 60px;padding:3px}
.ring .disc{display:none}
.ring .aub{left:3px;top:3px;width:calc(100% - 6px);height:calc(100% - 6px);margin:0;background:linear-gradient(135deg,var(--ac),var(--ac2));-webkit-backdrop-filter:none;backdrop-filter:none;border:0;font-size:20px;box-shadow:0 0 16px color-mix(in srgb,var(--ac) 40%,transparent)}
.au .aur{width:auto;max-width:none;flex:1 1 auto;min-width:0}
.au .aur .mu{text-align:left;font-size:12.5px}
.au .aubar{height:10px}
/* Modul rapid: cele 4 variante încap pe ecranul telefonului, fără derulare (2 coloane, margini strânse) */
.qk .mc-h{font-size:12px;margin:0 0 6px}
.qk .qtm{margin:6px 0 0}
.qk .mcg{grid-template-columns:1fr 1fr;gap:8px}
.qk .mcb{padding:10px;gap:8px;font-size:15px;min-height:54px;border-radius:14px}
.qk .mcb i{flex:0 0 26px;height:26px}
@media(max-width:339px){.qk .mcg{grid-template-columns:1fr}}

/* TEME DE SĂRBĂTORI (inc/holidays.php, assets/season.js): doar când nu e activă o temă pe gen. Culori mai închise, ca textul alb de pe butoane să rămână lizibil. */
html[data-season=muzica_oct]:not([data-genre]),html[data-season=muzica_iun]:not([data-genre]){--ac:#c026d3;--ac2:#06b6d4}
html[data-season=halloween]:not([data-genre]){--ac:#ea580c;--ac2:#7c3aed}
html[data-season=ziua_nationala]:not([data-genre]){--ac:#1d4ed8;--ac2:#ca8a04}
html[data-season=nicolae]:not([data-genre]){--ac:#dc2626;--ac2:#0284c7}
html[data-season=craciun]:not([data-genre]){--ac:#dc2626;--ac2:#15803d}
html[data-season=anul_nou]:not([data-genre]){--ac:#b45309;--ac2:#7c3aed}
html[data-season=dragobete]:not([data-genre]){--ac:#db2777;--ac2:#e11d48}
html[data-season=martisor]:not([data-genre]){--ac:#be123c;--ac2:#64748b}
html[data-season=paste]:not([data-genre]){--ac:#15803d;--ac2:#b45309}
html[data-season=jazz]:not([data-genre]){--ac:#b45309;--ac2:#0e7490}
html[data-season=copii]:not([data-genre]){--ac:#0284c7;--ac2:#db2777}
.holb{display:flex;gap:12px;align-items:center;padding:10px 14px;margin-bottom:12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--ac) 45%,var(--bd));background:linear-gradient(120deg,color-mix(in srgb,var(--ac) 14%,transparent),color-mix(in srgb,var(--ac2) 10%,transparent))}
.holb i{font-style:normal;font-size:28px;line-height:1}
.holb b{display:block}.holb small{color:var(--mu)}
.holp{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.holp span{position:absolute;top:-8%;font-size:var(--s,18px);opacity:.28;animation:holfall var(--d,14s) linear var(--w,0s) infinite;will-change:transform}
@keyframes holfall{to{transform:translate3d(var(--x,0),112vh,0) rotate(var(--r,0deg))}}
html[data-genre] .holp,body:has(.gcard) .holp{display:none}
@media (prefers-reduced-motion:reduce){.holp{display:none}}

/* Focus vizibil pentru navigarea de la tastatură */
.mcb:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--ac2);outline-offset:2px}

/* 60-blitz-advent.css — Rapid pe timp, variante cu blur, Calendar Advent
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* ---------- Rapid pe timp ---------- */
.bzc{display:flex;align-items:center;gap:14px;color:var(--tx);text-decoration:none;border-color:color-mix(in srgb,var(--ac2) 45%,var(--bd));transition:border-color .15s}
.bzc:hover,.bzc:focus-visible{border-color:var(--ac2)}
.bzc-i{flex:0 0 46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,var(--ac2),var(--ac))}
.bzc-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.bzc-t b{font-size:17px}
.bzc-t small{color:var(--mu);font-size:13px}
.bzc-g{flex:0 0 auto;font-size:28px;line-height:1;color:var(--mu)}
.bz-hero h1{margin:0 0 6px}
.bz-hero p{margin:0 0 14px;max-width:60ch}
.bz-hero .bz-n{margin:12px 0 0;font-size:13px}
.bz-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.bz-tabs{display:flex;gap:6px;margin:8px 0 10px;flex-wrap:wrap}
.bz-tab{border:1px solid var(--bd);background:var(--sf);color:var(--mu);padding:6px 14px;border-radius:99px;font:inherit;font-size:13px;cursor:pointer}
.bz-tab.on{color:var(--tx);border-color:var(--ac)}
.bz-list{list-style:none;margin:0;padding:0}
.bz-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--bd)}
.bz-list li:first-child{border-top:0}
.bz-list li.me{background:color-mix(in srgb,var(--ac) 10%,transparent);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:10px}
.bz-pos{flex:0 0 24px;color:var(--mu);font-variant-numeric:tabular-nums}
.bz-list .pn{flex:1 1 auto;min-width:0}
.bz-pt{flex:0 0 auto;font-variant-numeric:tabular-nums}
.bz-me{margin:10px 0 0;font-size:14px}
/* runda */
.bz-play{padding-top:14px}
.bz-hd{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}
.bz-hd small{display:block;color:var(--mu);font-size:12px;line-height:1.2}
.bz-hd b{font-size:22px;font-variant-numeric:tabular-nums;line-height:1.2}
.bz-sk{text-align:right}
.bz-tmw{position:relative;text-align:center}
.bz-tm{font-size:64px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.bz-tm.low{color:var(--er)}
.bz-fx{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-weight:700;font-size:18px;opacity:0;pointer-events:none;white-space:nowrap}
.bz-fx.up{color:var(--ok)}
.bz-fx.dn{color:var(--er)}
.bz-fx.on{animation:bzfx .9s ease-out both}
@keyframes bzfx{0%{opacity:0;transform:translate(-50%,8px)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-22px)}}
.bz-bar{height:10px;border-radius:6px;background:color-mix(in srgb,var(--tx) 12%,transparent);overflow:hidden;margin:12px 0 16px}
.bz-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--ac2),var(--ac));transition:width .12s linear}
.bz-q .mcb{min-height:64px;padding:14px;animation:none}
.bz-q .mcb:disabled{opacity:.5;cursor:default}
.bz-q .mcb.sel{opacity:1;border-color:var(--ac2)}
.bz-q .mcb.ok{opacity:1;border-color:var(--ok);background:color-mix(in srgb,var(--ok) 18%,var(--sf))}
.bz-q .mcb.bad{opacity:1;border-color:var(--er);background:color-mix(in srgb,var(--er) 16%,var(--sf))}
.bz-ft{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}
.bz-au{flex:1 1 auto;text-align:center;color:var(--mu);font-size:13px;min-width:80px}
/* numărătoarea și rezultatul */
.bz-cd{text-align:center;padding:36px 16px}
.bz-cn{font-size:120px;font-weight:800;line-height:1;color:var(--ac2);font-variant-numeric:tabular-nums}
.bz-cn.pop{animation:bzpop .55s ease-out}
@keyframes bzpop{0%{transform:scale(1.35);opacity:.2}100%{transform:scale(1);opacity:1}}
.bz-res{text-align:center}
.bz-final small{display:block;color:var(--mu)}
.bz-final b{display:block;font-size:72px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}
.bz-sum{margin:6px 0 12px}
.bz-res .bz-chips{justify-content:center}
.bz-act{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bz-act .b{width:auto;min-width:180px}
@media(max-width:420px){.bz-tm{font-size:52px}.bz-final b{font-size:60px}.bz-cn{font-size:96px}}
@media(prefers-reduced-motion:reduce){.bz-fx.on{animation:none;opacity:1}.bz-cn.pop{animation:none}.bz-bar i{transition:none}}

/* ===== Variante: blur până la Play, apoi doar răspunsul corect rămâne (v2026.10.21-4) ===== */
.mc{position:relative}
.mc.lk .mcg{filter:blur(7px);opacity:.75;pointer-events:none;user-select:none}
.mc.ul .mcg{animation:mcunl .55s ease both}
@keyframes mcunl{from{filter:blur(7px);opacity:.75}to{filter:blur(0);opacity:1}}
.mc-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;transition:opacity .35s}
.mc-lock span{padding:9px 16px;border-radius:999px;background:var(--sf);border:1px solid var(--bd);color:var(--tx);font-size:14px;font-weight:600;box-shadow:0 6px 22px rgba(0,0,0,.22)}
.mc:not(.lk) .mc-lock{opacity:0}
.mc.qrev.fx .mcb.good{animation:qglow 1.5s ease-out both}
@keyframes qglow{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(52,211,153,.6)}35%{transform:scale(1.025)}100%{transform:scale(1);box-shadow:0 0 0 16px rgba(52,211,153,0)}}
@media(prefers-reduced-motion:reduce){.mc.ul .mcg{animation:none}.mc.qrev.fx .mcb.good{animation:none}}

/* ===== Calendar Advent (v2026.10.21-5) ===== */
.adv-g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
@media(min-width:560px){.adv-g{grid-template-columns:repeat(8,minmax(0,1fr))}}
.adv-d{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:12px;border:1px solid var(--bd);background:var(--sf);color:var(--tx);text-decoration:none;line-height:1.1;transition:transform .12s,border-color .15s}
.adv-d b{font-size:13px;font-weight:700}.adv-d i{font-style:normal;font-size:17px}
.adv-d.lk,.adv-d.nn{opacity:.45}
.adv-d.open{border-color:var(--ac2);background:color-mix(in srgb,var(--ac) 16%,var(--sf));animation:advp 2.4s ease-in-out infinite}
.adv-d.open:hover,.adv-d.win:hover,.adv-d.lose:hover{transform:scale(1.06)}
.adv-d.win{border-color:#34d399;background:color-mix(in srgb,#34d399 16%,var(--sf))}
.adv-d.lose{opacity:.8}
@keyframes advp{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ac2) 45%,transparent)}50%{box-shadow:0 0 0 5px transparent}}
@media(prefers-reduced-motion:reduce){.adv-d.open{animation:none}.adv-d{transition:none}}

/* Runda zilei, „Cel mai rapid”, Streak Blitz */
.bz-day{margin:14px 0 4px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--ac,#7c5cff) 12%,transparent)}
.bz-day h3{margin:0 0 6px;font-size:1.05rem}
.bz-day p{margin:0 0 8px}
.bz-day .b{width:100%;margin-top:4px}
.bz-fn{margin:0 0 8px;font-size:.88rem}
/* Gamification: misiuni clare, insigne cu progres, prestigiu */
.mrow{padding:12px 0}
.mrow .mtop{display:flex;align-items:center;gap:10px}
.mic{flex:0 0 28px;font-size:20px;text-align:center;line-height:1}
.mt{flex:1 1 auto;min-width:0;font-weight:600;overflow-wrap:anywhere}
.mpn{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--mu)}
.mfo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}
.mch{display:flex;gap:6px;flex-wrap:wrap}
.mrw{font-size:12px;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--ac,#7c5cff) 14%,transparent)}
.mrw.ok{background:color-mix(in srgb,var(--ok,#2a9d5c) 18%,transparent);color:var(--ok)}
.mgo{padding:6px 12px;font-size:13px;min-height:36px}
.mdone .mt{opacity:.7}
.bd-grid .bd.got{box-shadow:0 0 0 1px color-mix(in srgb,var(--p5,#d4a017) 60%,transparent),0 4px 14px color-mix(in srgb,var(--p5,#d4a017) 22%,transparent)}
.bd-grid .bd.got b{font-size:30px}
.bd.lock{opacity:.75}.bd.lock b{filter:grayscale(1);opacity:.55}
.bd-m{margin:8px 0 4px;height:7px}
.bd-next{display:flex;gap:14px;align-items:center}
.bd-ni{flex:0 0 auto;font-size:40px;line-height:1}
.bd-nt{flex:1 1 auto;min-width:0}
.bd-nt b{display:block;font-size:1.05rem}
.bd-show{display:flex;gap:10px;flex-wrap:wrap}
.bd-show a{font-size:30px;text-decoration:none;line-height:1}
.prx-h{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.prx-s{font-size:38px;line-height:1;color:var(--p5,#d4a017)}
.prx-h small{display:block}
.prx.can{border-color:var(--p5,#d4a017);box-shadow:0 0 0 1px color-mix(in srgb,var(--p5,#d4a017) 50%,transparent),0 6px 20px color-mix(in srgb,var(--p5,#d4a017) 22%,transparent)}
.prx-l{margin:8px 0 12px;padding-left:18px}.prx-l li{margin:3px 0}
@media (prefers-reduced-motion:no-preference){.prx.can .prx-s{animation:prxp 2.4s ease-in-out infinite}}
@keyframes prxp{50%{transform:scale(1.12)}}
/* Comunitate – feed, stories, reacții (Faza 1) */
.fd-stories{display:flex;gap:12px;overflow-x:auto;padding:8px 2px 14px;margin:0 0 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.fd-stories::-webkit-scrollbar{display:none}
.fd-st{flex:0 0 auto;width:72px;text-align:center;cursor:pointer;text-decoration:none;color:inherit}
.fd-st-ring{width:56px;height:56px;margin:0 auto 6px;border-radius:50%;padding:2px;background:linear-gradient(135deg,#a855f7,#ec4899,#f59e0b)}
.fd-st-ring.me{background:linear-gradient(135deg,#22c55e,#06b6d4)}
.fd-st-ring.seen{background:rgba(255,255,255,.15)}
.fd-st-av{width:100%;height:100%;border-radius:50%;background:var(--bg2,#1a1a2e);display:flex;align-items:center;justify-content:center;font-size:22px;border:2px solid var(--bg,#0f0f1a)}
.fd-st-name{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72px;margin:0 auto;opacity:.9}
.fd-st-win{font-size:10px;opacity:.7}

.fd-composer{margin-bottom:12px}
.fd-composer textarea{width:100%;min-height:64px;resize:vertical;font:inherit;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit}
.fd-composer .row{margin-top:8px;gap:8px;align-items:center}
.fd-scope{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.fd-scope button{font-size:13px}

.fd-post{padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
.fd-post:first-of-type{border-top:none}
.fd-post-hd{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.fd-post-hd .pn{flex:1;min-width:0}
.fd-post-meta{font-size:12px;opacity:.65}
.fd-post-txt{margin:4px 0 8px;line-height:1.45;word-break:break-word}
.fd-post-type{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(168,85,247,.2);margin-right:6px}
.fd-post-type.ok{background:rgba(34,197,94,.2)}
.fd-post-type.fail{background:rgba(239,68,68,.2)}
.fd-post-type.badge{background:rgba(245,158,11,.2)}
.fd-reacts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.fd-reacts button{font-size:15px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);cursor:pointer;line-height:1.2}
.fd-reacts button.on{background:rgba(168,85,247,.25);border-color:rgba(168,85,247,.5)}
.fd-reacts .cnt{font-size:12px;opacity:.8;margin-left:2px}
.fd-empty{text-align:center;padding:24px 12px;opacity:.75}
.fd-story-modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:20px}
.fd-story-card{max-width:340px;width:100%;border-radius:20px;padding:28px 20px;text-align:center;background:linear-gradient(160deg,#1e1b4b,#312e81 40%,#4c1d95);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.fd-story-card.fail{background:linear-gradient(160deg,#1c1917,#44403c 40%,#7f1d1d)}
.fd-story-card h3{margin:12px 0 4px;font-size:1.25rem}
.fd-story-card .big{font-size:48px;line-height:1}
.fd-story-card .pts{font-size:1.4rem;font-weight:700;margin:8px 0}
.fd-story-card .mu{font-size:13px;opacity:.8}
.fd-story-card button{margin-top:16px}

/* Comunitate: tab-uri Activitate / Prieteni (control segmentat) */
.com-tabs{display:flex;gap:4px;padding:4px;margin:0 0 12px;border:1px solid var(--bd);border-radius:99px;background:color-mix(in srgb,var(--tx) 5%,transparent)}
.com-tab{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border-radius:99px;color:var(--mu);font-size:14px;font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.com-tab:hover{color:var(--tx)}
.com-tab.on{background:var(--ac);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.com-tab:focus-visible{outline:2px solid var(--ac2);outline-offset:2px}
.com-bd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#ef4444;color:#fff;font-size:11px;font-style:normal;font-weight:700;line-height:1}

/* Comunitate – filtre, imagini, comentarii, mențiuni (v64) */
.fd-scope button.on{background:rgba(168,85,247,.25);border-color:rgba(168,85,247,.5)}
.fd-scope{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.fd-scope::-webkit-scrollbar{display:none}
.fd-scope button{flex:0 0 auto;white-space:nowrap}
.fd-post-type.path{background:rgba(6,182,212,.2)}
.fd-genre{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08);margin-left:6px;white-space:nowrap}
.fd-mention{color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:rgba(168,85,247,.6)}
.fd-vis{margin-left:4px}
.fd-poster,.fd-img{display:block;width:100%;max-width:420px;height:auto;border-radius:12px;margin:6px 0 8px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.25)}
.fd-composer .fd-attach{cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:13px}
.fd-prev{position:relative;display:inline-block;margin-top:8px}
.fd-prev img{display:block;max-width:100%;max-height:180px;border-radius:12px;border:1px solid rgba(255,255,255,.12)}
.fd-prev-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;line-height:1}
.fd-combtn{margin-left:auto}
.fd-combtn.on{background:rgba(168,85,247,.25);border-color:rgba(168,85,247,.5)}
.fd-coms{margin-top:8px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.2)}
.fd-com{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;padding:5px 0;border-top:1px solid rgba(255,255,255,.06);font-size:14px;line-height:1.4}
.fd-com:first-child{border-top:none}
.fd-com-n{font-weight:700;color:inherit;text-decoration:none}
.fd-com-t{flex:1 1 140px;min-width:0;word-break:break-word}
.fd-com-m{font-size:11px;opacity:.6}
.fd-com-x{border:0;background:none;color:inherit;opacity:.7;cursor:pointer;padding:0 4px;font-size:12px}
.fd-com-new{display:flex;gap:8px;margin-top:8px}
.fd-com-new input{flex:1;min-width:0;font:inherit;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);color:inherit}

/* Timeline pe profil + confidențialitate (v65) */
.tl-day{margin:16px 0 4px;font-size:13px;font-weight:700;opacity:.75;letter-spacing:.2px}
.tl-day:first-of-type{margin-top:6px}
.tl-chips{margin-bottom:8px}
.tl-end{text-align:center;margin:16px 0 4px;font-size:13px;opacity:.65}
.fd-visbtn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:999px;font-size:13px;line-height:1;padding:3px 7px;margin-left:6px;cursor:pointer;color:inherit}
/* 70-profile-misc.css — Pagina de jucător, meniu admin pe telefon, Azi în muzică, distribuire, jokere/voce, harta județelor, Calea sezonului
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* Pagina de jucător (v2026.10.29 — hero + tab-uri Rezumat / Activitate / Social) */
.pfc{display:flex;align-items:center;gap:14px;color:var(--tx);text-decoration:none;transition:border-color .15s}
.pfc:hover,.pfc:focus-visible{border-color:var(--ac2)}
.pfc-i{flex:0 0 46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,var(--ac),var(--ac2))}
.pfc-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.3}.pfc-t b{font-size:17px}.pfc-t small{color:var(--mu);font-size:13px}
.pfc-g{flex:0 0 auto;font-size:28px;line-height:1;color:var(--mu)}
a.pl{color:inherit;text-decoration:none;border-bottom:1px dotted var(--mu)}a.pl:hover,a.pl:focus-visible{color:var(--ac2);border-bottom-color:var(--ac2)}

/* Hero profil */
.pf-hero{padding:18px 18px 16px}
.pf-hero-main{display:flex;align-items:flex-start;gap:16px}
.pf-hero-av{flex:0 0 auto;line-height:0}
.pf-hero-id{flex:1 1 auto;min-width:0}
.pf-hero-name{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px}
.pf-hero-name h1{margin:0;font-size:24px;line-height:1.2;overflow-wrap:anywhere}
.pf-vis{font-size:12px}
.pf-hero-rank{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pf-rank-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--ac) 14%,var(--bg));border:1px solid color-mix(in srgb,var(--ac) 28%,var(--bd));font-size:13px;font-weight:600}
.pf-hero-meta{margin:8px 0 0;font-size:13px}
.pf-hero-quote{margin:14px 0 0}
.pf-acts{margin-top:14px;gap:8px}
.pf-acts .b,.pf-acts .b2{flex:1 1 auto;min-width:120px;text-align:center}
.pf-h{margin:0 0 12px;font-size:15px;font-weight:600;letter-spacing:.01em}
.pf-sec-card .pf-h,.pf-set-card .pf-h{color:var(--mu);font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin:0 0 12px}
.pf-set{margin:0 0 8px}
.pf-set-lead{margin:0 0 14px;font-size:14px}
.pf-set-btns{gap:8px}
.pf-set-btns .b,.pf-set-btns .b2{flex:1 1 auto;min-width:0}
.pf-set-card{margin:0 0 10px}
.pf-set-card:last-child{margin-bottom:0}
.pf-set-foot{margin-top:8px}
.pf-sec-t{flex:1 1 auto;min-width:0}
.pf-sec-body{display:flex;flex-direction:column;gap:0}
.pf-sec-body>.card{margin-bottom:10px}
.pf-sec-body>.card:last-child{margin-bottom:0}
.pf-bio{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}
.pf-gen-row{margin:0 0 4px;gap:6px}
.pf-summary{gap:10px}

.pf-tabs{position:sticky;z-index:20;display:flex;gap:4px;overflow-x:auto;margin:0 0 16px;padding:5px;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--bd);border-radius:16px;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.pf-tabs::-webkit-scrollbar{display:none}
.pf-tab{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:12px;border:0;background:transparent;color:var(--mu);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap;scroll-snap-align:center;transition:background .15s,color .15s}
.pf-tab i{font-style:normal;font-size:16px;line-height:1;filter:grayscale(.5);opacity:.85}.pf-tab em{font-style:normal;font-size:11px;opacity:.8}
.pf-tab:hover,.pf-tab:focus-visible{color:var(--tx);background:color-mix(in srgb,var(--ac) 10%,transparent);outline:0}
.pf-tab.on{color:var(--tx);font-weight:600;background:color-mix(in srgb,var(--ac) 18%,var(--sf));box-shadow:inset 0 -2px 0 var(--ac)}.pf-tab.on i{filter:none;opacity:1}
@media(min-width:520px){.pf-tab{flex:0 0 auto;padding:9px 16px;font-size:14px}}
.pf-cal{display:grid;grid-template-columns:18px minmax(0,1fr);gap:4px 6px}
.pf-cal-m,.pf-cal-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px}
.pf-cal-m{font-size:10px;color:var(--mu);line-height:1;height:11px}.pf-cal-m span{white-space:nowrap}
.pf-cal-w{display:grid;grid-template-rows:repeat(7,1fr);gap:3px;font-size:10px;color:var(--mu);line-height:1}.pf-cal-w span{display:flex;align-items:center}
.pf-cal-g{grid-auto-flow:column;grid-template-rows:repeat(7,auto)}
.pf-d{display:block;aspect-ratio:1;border-radius:3px;background:var(--bd)}
.pf-d.l1{background:color-mix(in srgb,var(--ac) 35%,var(--bd))}.pf-d.l2{background:color-mix(in srgb,var(--ac) 58%,var(--bd))}.pf-d.l3{background:color-mix(in srgb,var(--ac) 80%,var(--bd))}.pf-d.l4{background:var(--ac)}
.pf-d.f{visibility:hidden}.pf-d.t{outline:1px solid var(--ac2);outline-offset:1px}
.pf-leg{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--mu)}.pf-leg .pf-d{width:11px;border-radius:2px}
.pf-fr{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.pf-f{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:var(--bg);border:1px solid var(--bd);color:var(--tx);text-decoration:none;min-width:0}
a.pf-f:hover,a.pf-f:focus-visible{border-color:var(--ac2)}
.pf-f>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.25}.pf-f b{overflow-wrap:anywhere}
.pf-chk{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer}.pf-chk input{width:auto;flex:0 0 auto}
.pf-ta{font:inherit;resize:vertical;min-height:80px}

.rx{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
.rxb{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:3px 10px;border-radius:99px;border:1px solid var(--bd);background:var(--bg);color:var(--tx);font:inherit;font-size:14px;line-height:1}
button.rxb{cursor:pointer}button.rxb:hover,button.rxb:focus-visible{border-color:var(--ac2)}
.rxb.on{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 18%,var(--bg))}.rxb span{font-size:12px;color:var(--mu)}

.pfx[data-ac=rose]{--ac:#f43f5e;--ac2:#fb7185;--ac3:#be123c}
.pfx[data-ac=orange]{--ac:#f97316;--ac2:#fb923c;--ac3:#c2410c}
.pfx[data-ac=amber]{--ac:#f59e0b;--ac2:#fbbf24;--ac3:#b45309}
.pfx[data-ac=emerald]{--ac:#10b981;--ac2:#34d399;--ac3:#047857}
.pfx[data-ac=cyan]{--ac:#06b6d4;--ac2:#22d3ee;--ac3:#0e7490}
.pfx[data-ac=blue]{--ac:#3b82f6;--ac2:#60a5fa;--ac3:#1d4ed8}
.pfx[data-ac=pink]{--ac:#ec4899;--ac2:#f472b6;--ac3:#be185d}
.pf-sw{width:36px;height:36px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.pf-sw.on{border-color:var(--tx);box-shadow:0 0 0 2px var(--bg) inset}.pf-sw:focus-visible{outline:2px solid var(--tx);outline-offset:2px}
.pf-gen{font:inherit;font-size:14px;padding:7px 12px;border-radius:99px;border:1px solid var(--bd);background:var(--bg);color:var(--tx);cursor:pointer}
.pf-gen.on{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 18%,var(--bg))}
.pf-blk{font:inherit;font-size:13px;background:none;border:0;color:var(--mu);text-decoration:underline;cursor:pointer;padding:8px}

/* Admin: pe desktop meniul e rândul obișnuit; pe telefon e un buton „Meniu” care deschide o grilă cu toate secțiunile */
nav.adm .adm-l{display:contents}nav.adm .adm-m{display:none}
@media(max-width:640px){
 header:has(nav.adm){flex-wrap:wrap;row-gap:8px}
 nav.adm{position:static;flex:1 0 100%;order:3;display:block;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
 nav.adm .adm-m{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border:1px solid var(--bd);border-radius:12px;background:var(--sf);color:var(--tx);font:inherit;font-size:15px;cursor:pointer}
 nav.adm .adm-m b{color:var(--ac2);font-weight:600}
 nav.adm .adm-l{display:none}
 nav.adm.open .adm-l{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;max-height:calc(100vh - 150px);overflow-y:auto;-webkit-overflow-scrolling:touch}
 nav.adm .adm-l a{flex:none;display:block;text-align:center;padding:11px 4px;border:1px solid var(--bd);border-radius:12px;background:var(--sf);font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 nav.adm .adm-l a.on{background:linear-gradient(90deg,var(--ac),var(--ac2));border-color:transparent;color:#fff;font-weight:600}
 nav.adm .adm-l .thm{padding:11px 4px;border:1px solid var(--bd);border-radius:12px;background:var(--sf)}
 body:has(nav.adm){padding-bottom:16px}
}
.ttl.ttl-f{font-size:11px;line-height:1.55;padding:0 8px;border:1px solid var(--bd);background:var(--bg);margin-left:6px}
/* Azi în muzică (azi.php și cardul din ecranul principal) */
.tdc .tdr{margin:12px 0 0;line-height:1.45}.tdc .tdr b{font-size:15px}.tdc .tdr>div{margin-top:2px;overflow-wrap:anywhere}
.tdl{display:inline-block;margin-top:14px;color:var(--ac2);text-decoration:none;font-weight:600}.tdl:hover{text-decoration:underline}
.pg.td h2{display:flex;align-items:baseline;gap:10px}.td-n{font-size:14px;font-weight:400}
.td-sub{margin:-6px 0 14px}
.td-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 10px}
.pg.td a.b{color:#fff}.pg.td a.b2{color:var(--tx)}
.td-pick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 6px}.td-pick label{flex:1 0 100%;margin:0 0 -2px}.td-pick select{width:auto;flex:1 1 140px}.td-pick .b2{flex:0 0 auto}
.td-it{padding:14px 0;border-top:1px solid var(--bd)}.td-it:first-child{border-top:0}
.td-y{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:4px}.td-y b{font-size:18px;color:var(--ac2)}
.td-it p{margin:0;overflow-wrap:anywhere}.td-r{padding:2px 10px;font-size:12px}
.td-cta{margin-top:30px;padding:18px;border:1px solid var(--bd);border-radius:14px;background:color-mix(in srgb,var(--ac) 8%,transparent)}.td-cta p{margin:0 0 12px}
.td-cta .row>*{flex:1 1 180px}
.td-it:target{background:color-mix(in srgb,var(--ac2) 12%,transparent);border-radius:10px;padding-left:10px;padding-right:10px}
/* Meniu propriu de distribuire (assets/share.js) */
#shm .sheet h3{margin:0 0 6px;font-size:20px}
#shm .shp{margin:0 0 4px;font-size:13px;line-height:1.4;max-height:3.2em;overflow:hidden;overflow-wrap:anywhere}
.shg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.shg a,.shg button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px;border:1px solid var(--bd);border-radius:16px;background:none;color:var(--tx);font:inherit;font-size:13px;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}
.shg a:hover,.shg button:hover,.shg a:focus-visible,.shg button:focus-visible{border-color:var(--ac2);outline:none}
.shg i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 18px/1 system-ui,sans-serif;font-style:normal}
#shm .shx{width:100%;height:48px;border:1px solid var(--bd);border-radius:14px;background:none;color:var(--mu);font:inherit;font-size:15px;cursor:pointer}

/* Jokere (assets/jokers.js) și răspuns cu vocea (assets/voice.js) */
.jkb{margin-top:14px;padding:12px;border:1px dashed var(--bd);border-radius:14px}
.jkh{font-weight:700;font-size:14px;margin-bottom:8px}
.jkh .mu{font-weight:400;font-size:12px}
.jkr{display:flex;flex-wrap:wrap;gap:8px}
.jkr .b3{flex:1 1 auto}
.jkr small{opacity:.75;margin-left:2px}
.vcb{margin-top:12px;text-align:center}
.vcs{margin-top:8px;font-size:14px;overflow-wrap:anywhere}
.vcs .row{justify-content:center;margin-top:8px}
.gin .vcm{flex:0 0 auto;padding:0 14px;font-size:20px}
.vcm.on{border-color:var(--er);color:var(--er);animation:vcp 1s infinite}
@keyframes vcp{50%{box-shadow:0 0 0 6px rgba(244,63,94,.25)}}
@media(prefers-reduced-motion:reduce){.vcm.on{animation:none}}

/* Harta județelor (Clasament > 🗺️ Hartă) */
.mpg{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;max-width:420px;margin:8px auto 0}
.mpc{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border-radius:8px;border:1px solid rgba(128,128,128,.28);background:rgba(128,128,128,.08);color:inherit;font:inherit;cursor:pointer}
.mpc b{font-size:11px;line-height:1}.mpc i{font-style:normal;font-size:13px;font-weight:700;line-height:1;opacity:.55}
.mpc.on{background:color-mix(in srgb,var(--ac2,#8b5cf6) calc(var(--a)*100%),transparent);border-color:transparent}.mpc.on i{opacity:1}
.mpc.me{outline:2px solid var(--ac2,#8b5cf6);outline-offset:1px}.mpc.sel{box-shadow:0 0 0 2px currentColor}

.mps{display:block;width:100%;max-width:520px;height:auto;margin:8px auto 0}
.mpp{--a:0;fill:color-mix(in srgb,var(--ac2,#8b5cf6) calc(var(--a)*100%),rgba(128,128,128,.14));stroke:rgba(128,128,128,.6);stroke-width:.8;stroke-linejoin:round;cursor:pointer}
.mpp.me{stroke:var(--ac2,#8b5cf6);stroke-width:3.5}.mpp.sel{stroke:currentColor;stroke-width:3.5}
.mpt{font:700 26px system-ui,sans-serif;text-anchor:middle;fill:#fff;stroke:rgba(0,0,0,.6);stroke-width:4px;paint-order:stroke;pointer-events:none}
.mph{fill:transparent;cursor:pointer}.mps2{font-size:20px;text-anchor:start}

/* Calea sezonului (inc/path.php) + cadre de sezon */
.spc .meter{margin-top:4px}
.sp-list{display:flex;flex-direction:column;gap:8px}
.sp-it{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--bd);border-radius:12px}
.sp-it .sp-p{flex:0 0 52px;font-variant-numeric:tabular-nums}
.sp-it i{flex:0 0 26px;font-style:normal;font-size:20px;text-align:center}
.sp-it>span:not([class]){flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:14px}
.sp-it.got{opacity:.6}
.sp-it.ready{border-color:var(--ac2);animation:advp 2s ease-in-out infinite}
.fr-aurora{--fb:conic-gradient(from 90deg,#34d399,#22d3ee,#818cf8,#c084fc,#34d399);--g:#34d39977}
.fr-comet{--fb:conic-gradient(#0b0b14 0 55%,#7dd3fc 80%,#fff 100%);--g:#7dd3fc88}
.fr-prism{--fb:conic-gradient(#ff4d6d,#ffb703,#8ac926,#1982c4,#6a4c93,#ff4d6d);--g:#1982c488}
.fr-frost{--fb:linear-gradient(135deg,#f0f9ff,#a5f3fc 40%,#e0f2fe 60%,#7dd3fc);--g:#a5f3fc88}
.fr-aurora::before,.fr-comet::before,.fr-prism::before{animation:avspin 8s linear infinite}
@media (prefers-reduced-motion:reduce){.sp-it.ready,.fr-aurora::before,.fr-comet::before,.fr-prism::before{animation:none}}
.cov-a .cov-g{flex:1 0 100%;margin:2px 0 0;font-size:13px;opacity:.8;text-align:center}
.mini.note b{font-weight:600}

.gp-l{list-style:none;margin:10px 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}
.gp-l li{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.gp-l li>i{flex:0 0 24px;font-style:normal;font-size:18px;line-height:1.3;text-align:center}
.gp-l li>span{flex:1 1 auto;min-width:0}
.gp-l li>span>b{display:block}
.sp-it.lock{opacity:.85}
.sp-it.lock.hit{opacity:1;border-color:var(--ac2)}
.mini.note.x2 b{color:var(--ac2)}
.jkr .b3.off{opacity:.45;filter:grayscale(.6);cursor:not-allowed}

.pf-sec{margin:0 0 10px}.pf-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--sf);border:1px solid var(--bd);border-radius:14px;font-weight:600;font-size:15px}.pf-sec>summary::-webkit-details-marker{display:none}.pf-sec>summary::after{content:"›";margin-left:auto;font-size:22px;line-height:1;color:var(--mu);transition:transform .15s}.pf-sec[open]>summary::after{transform:rotate(90deg)}.pf-sec[open]>summary{margin-bottom:10px;border-color:color-mix(in srgb,var(--ac) 35%,var(--bd))}.pf-sec>summary:focus-visible{outline:2px solid var(--ac2);outline-offset:2px}


/* 80-override-design.css — STRAT DE SUPRASCRIERE 1 (v2026.10.23-1/2): tipografie, meniu cu iconițe, adâncime, mobil. Se încarcă peste fișierele 00-70.
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* ==========================================================================
   v2026.10.23-1 · DESIGN NOU (bloc adăugat la sfârșit, ca să aibă prioritate)
   1) tipografie: titluri serif, cifre tabulare mari pentru scoruri
   2) meniu cu iconițe SVG; pe mobil, bară plutitoare tip pastilă, cu „Joacă” evidențiat la mijloc
   3) adâncime (trepte de ton și umbre) în loc de borduri decorative
   4) temă luminoasă „hârtie caldă”
   Ca să revii la aspectul vechi, șterge tot ce urmează după acest comentariu.
   ========================================================================== */

/* --- Token-uri: suprafețe, umbre, culoarea linkurilor ---
   Întunecat: umbre adânci + o muchie luminoasă fină sus. Luminos: umbre calde, cu nuanță de hârtie. */
/* --- 4) Temă luminoasă „hârtie caldă” (aceleași valori în „automat” și în „luminos”) ---
   --ac și --ac2 nu se ating aici: temele pe gen le setează ele, iar --lk dă culoarea de text pentru linkuri pe hârtie. */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){
 
 
 
 
 
 --lk:color-mix(in srgb,var(--ac2) 58%,#1d1409);
 
}}
:root[data-theme=light]{
 
 
 
 
 
 --lk:color-mix(in srgb,var(--ac2) 58%,#1d1409);
 
}

/* Fundalul: culoarea și strălucirile în proprietăți separate (în `background:` prescurtat, culoarea nu poate sta într-un strat dinaintea ultimului). */
body{background-color:var(--bg);background-repeat:no-repeat;font-variant-numeric:tabular-nums}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) body{background-repeat:repeat,no-repeat,no-repeat}}
:root[data-theme=light] body{background-repeat:repeat,no-repeat,no-repeat}

/* --- 1) Tipografie ---
   Titluri serif (:where() ca să nu bată regulile mai specifice ale copertei), date și scoruri în sans, cu cifre tabulare. */
:where(#r) h1,:where(#r) h2,:where(#r) h3,.pg h1,.pg h2,.pg h3{font-family:var(--serif);}
:where(#r) h1{font-size:clamp(26px,4.4vw,32px)}
.st b{font-size:clamp(28px,6vw,34px);line-height:1.05}
.lpt{font-weight:800}
.pg a,.mini a{color:var(--lk)}

/* --- 2) Meniu: iconițe SVG ---
   Pe desktop rămân doar etichetele (ca înainte); pe mobil apar iconițele, în bara plutitoare de mai jos. */
.nlk .ic{width:11px;height:11px;vertical-align:-1px}
header .logo+nav:not(.adm){margin-left:auto}
.thm{display:inline-grid;place-items:center;border:0;background:var(--sf);color:var(--mu);box-shadow:var(--sh1),inset 0 1px 0 var(--hl);transition:color .2s,transform .2s}
.thm .ic{width:18px;height:18px;vertical-align:0}
.thm:hover{color:var(--tx)}
@media(min-width:641px){
 header nav:not(.adm) a.on{background:linear-gradient(90deg,var(--ac),var(--ac3,#6366f1))}
}

/* --- 3) Adâncime în loc de borduri ---
   Containerele mari se ridică prin umbră și muchie luminoasă; plăcile din interior se „scufundă” (fundal mai închis, fără contur);
   controalele (butoane secundare, chip-uri, câmpuri) păstrează un contur mult mai discret, fiindcă el arată că se pot atinge. */
header{border-bottom:0;box-shadow:0 12px 24px -20px var(--shc)}
.hpl{border-color:transparent;box-shadow:var(--sh1)}
.card{border-color:transparent;border-radius:22px;box-shadow:var(--sh1),inset 0 1px 0 var(--hl)}
.cov-f .card,.sheet .card{box-shadow:none}
.st,.au,.pf-f,.frt,.sp-it,.meter,.aubar{border-color:transparent}
.st{border-radius:16px}
.mini,.sd,.pf-sec>summary,.pf-tabs,.adc{border-color:transparent;box-shadow:var(--sh1),inset 0 1px 0 var(--hl)}
.td-cta,.qcbar,.sheet{border-color:transparent}
.annc{border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent;box-shadow:var(--sh1)}
.chip,.dfc,.rpk,.bz-tab,.rxb,.pf-gen,.tag,input,select,textarea{border-color:color-mix(in srgb,var(--bd) 55%,transparent)}
input,select,textarea{border-radius:12px}
th,td,.mrow,.bz-list li,.td-it{border-color:color-mix(in srgb,var(--bd) 55%,transparent)}
.b,.b2,.b3{border-radius:12px}
.b{transition:transform .15s,box-shadow .2s,filter .2s}
.b:active{transform:translateY(1px)}
.b2{background:color-mix(in srgb,var(--tx) 8%,var(--sf));border-color:transparent;transition:transform .15s,background-color .2s}
.b2:active{transform:translateY(1px)}
@media(hover:hover){.b:hover:not(:disabled){filter:brightness(1.07)}.b2:hover:not(:disabled){background:color-mix(in srgb,var(--tx) 13%,var(--sf))}.thm:hover{transform:translateY(-1px)}}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .qcbar{box-shadow:0 10px 34px rgba(74,52,20,.25)}}
:root[data-theme=light] .qcbar{box-shadow:0 10px 34px rgba(74,52,20,.25)}
@media(prefers-reduced-motion:reduce){.b,.b2,.thm{transition:none}}

/* --- 2) Pe mobil: bară plutitoare tip pastilă, „Joacă” evidențiat la mijloc ---
   Ordinea vizuală vine din --o (pus de app.js); butonul de temă stă sus, în antet. Antetul NU primește filter/transform/backdrop-filter:
   altfel bara fixă din el ar fi poziționată față de antet, nu față de ecran. */
@media(max-width:640px){
 header .logo{margin-right:auto}
 header .hpl{margin:0}
 header nav:not(.adm){left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto;padding:6px;gap:2px;border:0;border-radius:28px;background:color-mix(in srgb,var(--sf) 84%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:var(--sh2),inset 0 1px 0 var(--hl),0 0 0 1px color-mix(in srgb,var(--tx) 8%,transparent)}
 header nav:not(.adm) a{flex:1 1 0;order:var(--o,0);padding:8px 2px 7px;gap:3px;border-radius:22px;font-size:10.5px;font-weight:500;letter-spacing:.01em;color:var(--mu);transition:background-color .22s ease,color .22s ease,transform .18s ease}
 header nav:not(.adm) a:active{transform:scale(.94)}
 header nav:not(.adm) a i{display:block;line-height:0;font-size:0;filter:none;opacity:1}
 header nav:not(.adm) a .ic{width:22px;height:22px;vertical-align:0;transition:color .22s ease}
 header nav:not(.adm) a.on{background:color-mix(in srgb,var(--ac) 17%,transparent);color:var(--tx);font-weight:600}
 header nav:not(.adm) a.on .ic{color:var(--ac)}
 header nav:not(.adm) a:not(:has(>i)){font-size:14px;padding:13px 10px}
 header nav:not(.adm) a.npl{flex:0 0 66px;height:66px;margin-top:-22px;padding:0;justify-content:center;border-radius:50%;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.25);background:linear-gradient(135deg,var(--ac),var(--ac3,#6366f1));box-shadow:0 10px 22px -6px color-mix(in srgb,var(--ac) 75%,transparent),0 0 0 6px var(--bg)}
 header nav:not(.adm) a.npl .ic,header nav:not(.adm) a.npl.on .ic{width:24px;height:24px;color:#fff}
 header nav:not(.adm) a.npl.on{background:linear-gradient(135deg,var(--ac),var(--ac3,#6366f1));color:#fff}
 header nav:not(.adm) .nlk{display:grid;place-items:center;width:16px;height:16px;top:2px;left:calc(50% + 4px);margin:0;border-radius:50%;background:var(--sf);color:var(--mu);box-shadow:var(--sh1);opacity:1}
 header nav:not(.adm) .nlk .ic{width:10px;height:10px}
 body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
 #t{bottom:calc(112px + env(safe-area-inset-bottom))}
 .qcbar{bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 body:has(.qcbar){padding-bottom:var(--qcb-pad,calc(330px + env(safe-area-inset-bottom)))}
}
/* Cardul quizului în temele pe gen: păstrează adâncimea (umbra proprie a genului, dacă o are, altfel cea standard) */
html[data-genre] .gcard{box-shadow:var(--gsh,var(--sh1))}

/* v2026.10.23-2 · MOBIL: anunțuri pe un rând, serie în antetul cardului, răspuns pe variante, bară de rezultat pe două rânduri */
/* 1+3. Anunțuri: un rând, contor „1 / 2”, text complet la atingere, ✕ doar la cele neimportante */
.ann.nt{margin-top:8px}
.nt .annc{padding:2px 6px 2px 12px;margin-bottom:4px}
.nt-r{display:flex;align-items:center;gap:6px}
.nt-t{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 0;min-height:40px;background:none;border:0;color:var(--tx);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.nt-i{flex:0 0 auto;display:inline-flex;align-items:center;font-size:16px;line-height:1}
.nt-s{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-ch{flex:0 0 auto;width:7px;height:7px;margin:0 4px 3px 2px;border-right:1.5px solid var(--mu);border-bottom:1.5px solid var(--mu);transform:rotate(45deg);transition:transform .2s}
.nt-o .nt-ch{transform:rotate(-135deg);margin-bottom:-2px}
.nt-n{flex:0 0 auto;min-height:32px;padding:3px 10px;border:1px solid var(--bd);border-radius:99px;background:none;color:var(--mu);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer}
.nt .annx{padding:8px 10px;font-size:15px}
.nt-f{padding:0 6px 10px 26px;font-size:14px;overflow-wrap:anywhere}
.nt-f .annb{margin-top:2px}
.nt-a{color:var(--ac2);font-weight:600}
.nt-b{margin-top:8px}
/* 2. Seria și „Ai jucat azi” în antetul cardului quizului */
.gst{display:inline-flex;gap:6px;margin-left:auto;flex-wrap:nowrap}
.ghd .gst~.eq{display:none}
.gst .chip{font-size:13px;line-height:1.2}
.gst button.chip{font:inherit;font-size:13px;line-height:1.2;color:var(--tx);cursor:pointer}
.gst .chip b{font-weight:600;font-variant-numeric:tabular-nums}
.gsp{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--tx) 5%,transparent);font-size:13px}
.gsp p{margin:0 0 6px}.gsp p:last-child{margin:0}.gsp .meter{margin-top:2px}
.gsp[hidden],.qcb-d[hidden]{display:none}
@media(max-width:520px){.gst .gcl{display:none}}
/* 4. După răspuns, cele 4 variante rămân pe loc (2 coloane, ca în joc): corecta verde, aleasa greșit roșie, restul estompate */
.mc.qrev .mcg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mc.qrev .mcb{margin:0;min-height:54px;padding:10px;gap:8px;font-size:15px;border-radius:14px}
.mc.qrev .mcb i{flex:0 0 26px;height:26px}
.mc.qrev .mcb.dis:not(.good):not(.bad){opacity:.45}
@media(max-width:339px){.mc.qrev .mcg{grid-template-columns:1fr}}
/* 4+5. Bara de rezultat: rândul 1 rezultat, rândul 2 butoane; detaliile se deschid cu ▾ */
.qcbar{padding:8px 10px}
.qcb-t{gap:8px}
.qcb-m b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qcb-i{display:grid;place-items:center;min-width:36px;min-height:36px;padding:0;background:none;border:0;color:var(--mu);cursor:pointer}
.qcb-i i{width:8px;height:8px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.qcb-i.on i{transform:rotate(-135deg) translate(-2px,-2px)}
.qcb-x{min-width:36px;min-height:36px;padding:0}
.qcb-d{margin-top:2px}
.qcb-d .qcb-n{margin:4px 0 0;font-size:13px}
.qcb-b{margin-top:6px}
.nt-o .nt-s{white-space:normal;overflow:visible}
.ghd:has(.gst){column-gap:8px}
.gst .chip{padding:3px 8px}
@media(max-width:400px){.gst .gaz{display:none}}

/* 90-override-neon.css — STRAT DE SUPRASCRIERE 2 (v2026.10.23-3): tema neon. Se încarcă ultimul și are prioritate peste toate.
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă). */
/* ==========================================================================
   v2026.10.23-3 · TEMĂ NEON (bloc adăugat la sfârșit, ca să aibă prioritate)
   Întunecat: negru + un singur neon (magenta), lumina vine din margini fine și din strălucirea accentelor.
   Luminos: alb curat cu „aurora” pastel în fundal și același magenta, mai închis, ca accent.
   Text de mărime normală (titluri mai mici decât în v2026.10.23-1/2). Fără crem și fără gradient între două culori.
   Temele pe gen și cele de sărbători rămân: ele își setează singure --ac/--ac2 (selectori mai specifici decât cei de aici).
   Revenire: șterge tot ce urmează după acest comentariu și redă fișierelor din v2026.10.23-2 valorile
   (theme_boot() în inc/bootstrap.php: #f1ebde / #0b0b14).
   ========================================================================== */

/* --- Token-uri, întunecat (implicit) ---
   --gl: strălucire pentru elemente active · --icg: strălucire pentru iconițe · --npg: umbra butonului „Joacă” · --aur: fundalul paginii */
:root{
 --serif:"Avenir Next","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
 --bg:#07070c;--sf:#101019;--tx:#f5f3ff;--mu:#a8a5c6;--bd:#26263a;--ok:#2be3a0;--er:#ff4d6d;
 --ac:#de1494;--ac2:#22e5ff;--ac3:color-mix(in srgb,var(--ac) 78%,#000);
 --hl:rgba(255,255,255,.05);
 --sh1:0 0 0 1px rgba(255,255,255,.06),0 12px 28px -16px rgba(0,0,0,.9);
 --sh2:0 0 0 1px rgba(255,255,255,.08),0 26px 56px -20px rgba(0,0,0,.95);
 --shc:rgba(0,0,0,.7);
 --lk:var(--ac2);
 --grain:none;
 --gl:0 0 16px -5px color-mix(in srgb,var(--ac) 85%,transparent);
 --icg:drop-shadow(0 0 5px color-mix(in srgb,var(--ac) 80%,transparent));
 --npg:0 0 26px -2px color-mix(in srgb,var(--ac) 75%,transparent);
 --bgl:0 0 18px -3px color-mix(in srgb,var(--ac) 70%,transparent);
 --aur:radial-gradient(60% 36% at 88% -6%,color-mix(in srgb,var(--ac) 24%,transparent),transparent 70%),radial-gradient(46% 28% at 0% 2%,color-mix(in srgb,var(--ac2) 9%,transparent),transparent 70%);
}

/* --- Token-uri, luminos: aceleași selectori ca în blocul „hârtie”, ca să aibă întâietate ---
   Accentele implicite se pun cu :where(), ca să nu bată temele pe gen și pe sărbători. */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){
 --bg:#fcfbff;--sf:#fff;--tx:#14101f;--mu:#5d5878;--bd:#d9d2ee;--er:#e11d48;
 --hl:rgba(255,255,255,1);
 --sh1:0 0 0 1px rgba(90,60,170,.07),0 1px 2px rgba(50,20,110,.06),0 12px 26px -14px rgba(70,30,140,.28);
 --sh2:0 0 0 1px rgba(90,60,170,.09),0 2px 6px rgba(50,20,110,.08),0 26px 54px -20px rgba(70,30,140,.4);
 --shc:rgba(70,30,140,.35);
 --lk:color-mix(in srgb,var(--ac2) 55%,#14101f);
 --grain:none;
 --gl:0 0 0 0 transparent;--icg:none;
 --npg:0 10px 22px -6px color-mix(in srgb,var(--ac) 70%,transparent);
 --bgl:0 10px 20px -10px color-mix(in srgb,var(--ac) 80%,transparent);
 --aur:radial-gradient(52% 34% at 4% 2%,rgba(255,92,200,.20),transparent 70%),radial-gradient(48% 32% at 98% 8%,rgba(70,200,255,.22),transparent 70%),radial-gradient(60% 36% at 78% 100%,rgba(255,210,80,.18),transparent 70%),radial-gradient(44% 30% at 0% 88%,rgba(150,110,255,.16),transparent 70%);
}
:root:where(:not([data-theme=dark])){--ac:#d6008f;--ac2:#6a2cff}}
:root[data-theme=light]{
 --bg:#fcfbff;--sf:#fff;--tx:#14101f;--mu:#5d5878;--bd:#d9d2ee;--er:#e11d48;
 --hl:rgba(255,255,255,1);
 --sh1:0 0 0 1px rgba(90,60,170,.07),0 1px 2px rgba(50,20,110,.06),0 12px 26px -14px rgba(70,30,140,.28);
 --sh2:0 0 0 1px rgba(90,60,170,.09),0 2px 6px rgba(50,20,110,.08),0 26px 54px -20px rgba(70,30,140,.4);
 --shc:rgba(70,30,140,.35);
 --lk:color-mix(in srgb,var(--ac2) 55%,#14101f);
 --grain:none;
 --gl:0 0 0 0 transparent;--icg:none;
 --npg:0 10px 22px -6px color-mix(in srgb,var(--ac) 70%,transparent);
 --bgl:0 10px 20px -10px color-mix(in srgb,var(--ac) 80%,transparent);
 --aur:radial-gradient(52% 34% at 4% 2%,rgba(255,92,200,.20),transparent 70%),radial-gradient(48% 32% at 98% 8%,rgba(70,200,255,.22),transparent 70%),radial-gradient(60% 36% at 78% 100%,rgba(255,210,80,.18),transparent 70%),radial-gradient(44% 30% at 0% 88%,rgba(150,110,255,.16),transparent 70%);
}
:root:where([data-theme=light]){--ac:#d6008f;--ac2:#6a2cff}

/* --- Fundal: un strat fix în spatele paginii (fixed pe pseudo-element merge și pe iOS, spre deosebire de background-attachment) --- */
body{background-image:none}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) body{background-image:none}}
:root[data-theme=light] body{background-image:none}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--aur)}

/* --- Tipografie: sans, cu greutate, dar mici. Pe mobil, coperta coboară ca să încapă și restul --- */
:where(#r) h1,:where(#r) h2,:where(#r) h3,.pg h1,.pg h2,.pg h3{font-weight:800;letter-spacing:-.015em;line-height:1.2}
:where(#r) h1{font-size:clamp(21px,5.2vw,28px)}
.pg h1{font-size:clamp(22px,4.6vw,30px)}
.st b{font-size:clamp(22px,5.6vw,28px);font-weight:800;letter-spacing:-.02em}
@media(max-width:680px){.cov h1{font-size:clamp(34px,10.4vw,48px);line-height:1.02;letter-spacing:-.03em}}

/* --- Butoane: umplere aproape plată în culoarea accentului, cu strălucire (întunecat) sau umbră colorată (luminos) --- */
.b{background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 86%,#fff),var(--ac));box-shadow:var(--bgl),inset 0 1px 0 rgba(255,255,255,.3)}
.b:disabled{box-shadow:none}
.aub{background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 86%,#fff),var(--ac));box-shadow:var(--npg)}
.meter i{background:linear-gradient(90deg,var(--ac),color-mix(in srgb,var(--ac) 68%,#fff))}

/* --- Meniu: element activ cu contur de neon; pe mobil, pastila cu muchie colorată și „Joacă” strălucitor --- */
@media(min-width:641px){
 header nav:not(.adm) a.on{background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--tx);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ac) 55%,transparent),var(--gl)}
}
@media(max-width:640px){
 header nav:not(.adm){box-shadow:var(--sh2),inset 0 1px 0 var(--hl),0 0 0 1px color-mix(in srgb,var(--ac) 24%,transparent)}
 header nav:not(.adm) a.on{background:color-mix(in srgb,var(--ac) 15%,transparent)}
 header nav:not(.adm) a.on .ic{filter:var(--icg)}
 header nav:not(.adm) a.npl,header nav:not(.adm) a.npl.on{background:linear-gradient(180deg,color-mix(in srgb,var(--ac) 84%,#fff),var(--ac));box-shadow:0 0 0 6px var(--bg),var(--npg)}
}

/* --- Răspunsuri: corect și greșit cu aceeași strălucire ca restul accentelor --- */
.mcb:hover{border-color:var(--ac)}
.mcb.good{box-shadow:0 0 0 1px #34d399,0 0 18px -5px color-mix(in srgb,#34d399 75%,transparent)}
.mcb.bad{box-shadow:0 0 0 1px #f43f5e,0 0 18px -5px color-mix(in srgb,#f43f5e 75%,transparent)}

/* --- Bara de rezultat și foile: umbre reci în luminos (în loc de cele calde de pe hârtie), muchie de neon în întunecat --- */
.qcbar{box-shadow:var(--sh2),0 0 0 1px color-mix(in srgb,var(--ac) 28%,transparent)}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .sheet{box-shadow:0 -20px 60px rgba(70,30,140,.22)}:root:not([data-theme=dark]) .qcbar{box-shadow:var(--sh2),0 0 0 1px color-mix(in srgb,var(--ac) 30%,transparent)}}
:root[data-theme=light] .sheet{box-shadow:0 -20px 60px rgba(70,30,140,.22)}
:root[data-theme=light] .qcbar{box-shadow:var(--sh2),0 0 0 1px color-mix(in srgb,var(--ac) 30%,transparent)}

/* --- Focus vizibil de la tastatură (specificitate zero: nu bate regulile existente) --- */
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ac2);outline-offset:2px}

/* --- Luminos: suprafețele secundare se tintează în violet pal, nu în gri (fără culori „moarte”) --- */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .b2{background:color-mix(in srgb,var(--ac2) 9%,var(--sf))}:root:not([data-theme=dark]) .au{background:color-mix(in srgb,var(--ac2) 6%,var(--sf))}}
:root[data-theme=light] .b2{background:color-mix(in srgb,var(--ac2) 9%,var(--sf))}
:root[data-theme=light] .au{background:color-mix(in srgb,var(--ac2) 6%,var(--sf))}
/* Șanse și boostere: Second Chance, puncte duble, skip gratuit (inc/chances.php, assets/chances.js) */
.sc{text-align:center;padding:26px 20px 22px;border:1px solid color-mix(in srgb,var(--er,#e5484d) 40%,var(--bd));background:linear-gradient(180deg,color-mix(in srgb,var(--er,#e5484d) 9%,var(--sf)),var(--sf))}
.sc-ic{font-size:44px;line-height:1;margin-bottom:6px}
.sc-t{margin:0 0 6px;font-size:1.35rem;color:var(--er,#e5484d)}
.sc-p{margin:0 auto 12px;max-width:34em;line-height:1.5}
.sc-cost{display:inline-block;margin:0 0 14px;padding:6px 14px;border-radius:99px;background:color-mix(in srgb,var(--ac,#7c5cff) 14%,transparent);font-size:14px}
.sc-row{justify-content:center;gap:10px;flex-wrap:wrap}
.sc-row .b,.sc-row .b2{min-height:46px;border-radius:12px}
.sc-t2{margin:14px 0 0}
.sc-t2 b{font-variant-numeric:tabular-nums}
.chip.bst{background:color-mix(in srgb,var(--p5,#d4a017) 20%,transparent);border-color:color-mix(in srgb,var(--p5,#d4a017) 55%,transparent);font-weight:600}
.skp{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:7px 14px;font-size:14px;min-height:38px}
.skp small{opacity:.7;font-size:12px}
@media (prefers-reduced-motion:no-preference){.sc{animation:scin .35s ease-out}.sc-ic{animation:scsp 1.6s ease-in-out infinite}}
@keyframes scin{from{opacity:0;transform:translateY(8px)}}
@keyframes scsp{50%{transform:rotate(180deg)}}

/* Panoul „Ajutoare” de sub variante (assets/jokers.js) */
.jkr .jk2{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--bd);background:var(--sf);color:var(--tx);font:inherit;cursor:pointer}
.jk2:hover:not(.off){border-color:var(--ac2)}
.jk2.off{opacity:.55;cursor:not-allowed}
.jk-n{font-weight:700;font-size:14.5px}
.jk-d{font-size:12.5px;opacity:.75}
.jk-p{margin-top:4px;font-weight:700;font-size:13px;color:var(--ac)}
.jk-p.fr{color:var(--ok)}
.jk-s,.jk-w{font-size:12px;opacity:.75}
.jk-w{color:var(--er)}
.jki{margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.5}

/* Cardul „Rezerva mea” (assets/chances.js) */
.rez-r{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--bd)}
.rez-i{flex:0 0 32px;font-size:24px;text-align:center;line-height:1}
.rez-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.rez-t small{opacity:.75;font-size:12.5px;line-height:1.35}
.rez-n{flex:0 0 auto;text-align:right;font-size:13.5px;max-width:42%}

/* Explicații la prima apariție (assets/chances.js) */
.tip{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--ac,#7c5cff) 40%,var(--bd));background:color-mix(in srgb,var(--ac,#7c5cff) 8%,var(--sf))}
.tip-i{flex:0 0 32px;font-size:26px;text-align:center;line-height:1}
.tip-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.tip-t small{opacity:.8;font-size:12.5px;line-height:1.4;margin-top:2px}
.tip-x{flex:0 0 auto;border:1px solid var(--bd);background:var(--sf);color:var(--tx);border-radius:99px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
/* Cardul „Quiz-ul zilei”: bandă colorată + contur luminos, ca să se deosebească de quizurile obișnuite */
html .card.gcard.dq{border-top:0;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--ac) 75%,transparent),0 10px 30px color-mix(in srgb,var(--ac) 24%,transparent);background-image:linear-gradient(180deg,color-mix(in srgb,var(--ac) 11%,transparent),transparent 180px)}
.dqb{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:-18px -18px 14px;padding:11px 18px;background:linear-gradient(90deg,var(--ac),var(--ac2));color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.dqb b{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:700;letter-spacing:.01em}
.dqs{font-size:19px;line-height:1}
.dqd{margin-left:auto;font-size:13px;font-weight:600;opacity:.92}

/* După quiz-ul zilei: banner mic cu rezultatul + cardul „Mai joacă” */
.card.dqdone{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:inherit;border-left:4px solid var(--ac)}
.dqdone .dqd-i{font-size:24px;line-height:1;flex:0 0 auto}
.dqdone .dqd-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.dqdone .dqd-t small{opacity:.8;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dqdone .dqd-n{flex:0 0 auto;text-align:right;font-size:12px;line-height:1.25;font-weight:600;opacity:.75}
.card.more h3{margin:0 0 6px}

/* Quiz-ul zilei, editorial (v2026.10.27-16): zonă mare de culoare fără bandă și fără contur luminos; titlu sans-serif, waveform, buton mare */
html .card.gcard.dq.dq2{border:0;overflow:hidden;background-image:none;box-shadow:var(--sh1)}
html[data-genre] .gcard.dq2::before{display:none}
.dq2 .dqh{--dqf:"Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;position:relative;margin:-18px -18px 16px;padding:20px 18px 18px;color:#fff;background:radial-gradient(90% 70% at 100% 0,color-mix(in srgb,var(--ac2) 45%,transparent),transparent 65%),linear-gradient(165deg,color-mix(in srgb,var(--ac) 78%,#0b0b14),color-mix(in srgb,var(--ac2) 52%,#0b0b14))}
.dqh-top{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.dqh-k{font:700 14px/1 var(--dqf);padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.17)}
.dqh .gst .chip,.dqh .gst button.chip{background:rgba(255,255,255,.17);border-color:transparent;color:#fff}
html .dq2 h1.dqh-t,html[data-genre] .gcard.dq2 h1.dqh-t{margin:0;font:800 clamp(30px,8.2vw,50px)/1.02 var(--dqf);letter-spacing:-.035em;text-transform:none;font-style:normal;text-wrap:balance}
.dqh-wv{display:flex;align-items:center;gap:3px;height:64px;margin:20px 0}
.dqh-wv i{flex:1 1 0;min-width:2px;max-width:8px;height:var(--h);border-radius:4px;background:rgba(255,255,255,.55);transform-origin:center}
.gcard.pl .dqh-wv i{background:#fff;animation:dqwv .8s ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes dqwv{from{transform:scaleY(.4)}to{transform:scaleY(1)}}
.dqh-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px;padding:0 32px;border:0;border-radius:20px;background:#fff;color:#14141f;font:800 20px/1 var(--dqf);letter-spacing:-.01em;cursor:pointer;box-shadow:0 16px 32px -14px rgba(0,0,0,.55)}
.dqh-go:active{transform:scale(.98)}
.dqh-go:focus-visible{outline:3px solid #fff;outline-offset:3px}
.dqh-m{display:flex;flex-wrap:wrap;gap:4px 16px;margin:16px 0 0;font:500 13px/1.3 var(--dqf);color:rgba(255,255,255,.8)}
.dqh-m b{font-weight:700;color:#fff}
.dqh-m span:empty{display:none}
.dq2 .au{border:0;background:none;padding:0;margin:0 0 14px}
.dq2 .au .ring,.dq2 .au .wv{display:none}
@media(min-width:720px){.dq2 .dqh{padding:28px 28px 24px}.dqh-go{width:auto;min-width:260px}}
@media(prefers-reduced-motion:reduce){.gcard.pl .dqh-wv i{animation:none}}
/* Seri tematice (inc/flash.php): banner canvas sub antet, bară mică în timpul quizului și pagina serii (#/seara). Cod în assets/app.js: secțiunea „Seri tematice”. */
.fbw{position:relative;max-width:900px;margin:12px auto 0;padding:0 18px}
.fbn{display:block;border-radius:20px;overflow:hidden;line-height:0;color:inherit;text-decoration:none;box-shadow:0 8px 26px rgba(0,0,0,.28);transition:transform .15s}
.fbn:hover{transform:translateY(-1px)}
.fbn canvas,.fbhero canvas{display:block;width:100%;height:140px}
.fbx{position:absolute;top:8px;right:26px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:18px;line-height:28px;cursor:pointer}
.fbx:hover{background:rgba(0,0,0,.55)}
.fbm{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;max-width:900px;margin:10px auto 0;padding:9px 14px;border-radius:14px;color:#fff;background:linear-gradient(100deg,var(--c1),var(--c2));box-shadow:0 6px 18px rgba(0,0,0,.22);font-size:14px}
.fbm b{font-family:Georgia,"Times New Roman",serif;font-size:15px}
.fbm .fbmt{font-variant-numeric:tabular-nums;opacity:.95}
.fbm button{margin-left:auto;padding:6px 12px;border:0;border-radius:999px;background:rgba(255,255,255,.95);color:#111;font-weight:700;font-size:13px;cursor:pointer}
.fbm button:disabled{opacity:.6;cursor:wait}
.fbhero{border-radius:20px;overflow:hidden;line-height:0;box-shadow:0 8px 26px rgba(0,0,0,.28);margin-bottom:14px}
.fbhero canvas{height:150px}
.fbpg{max-width:760px;margin:0 auto}
.fbb{margin:0 0 14px;color:var(--mu)}
.fbst{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.fbst>div{background:var(--sf);border:1px solid var(--bd);border-radius:14px;padding:10px 8px;text-align:center}
.fbst b{display:block;font-size:22px;font-family:Georgia,"Times New Roman",serif;line-height:1.2}
.fbst span{display:block;font-size:12px;color:var(--mu);margin-top:2px}
.fbgo{display:block;width:100%;margin:0 0 16px;padding:14px 18px;font-size:17px;font-weight:700;text-align:center}
.fbgo:disabled{opacity:.6;cursor:wait}
.fbrk{list-style:none;margin:0;padding:0}
.fbrk li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px}
.fbrk li:nth-child(odd){background:rgba(127,127,127,.07)}
.fbrk li.me{background:linear-gradient(90deg,var(--c1),var(--c2));color:#fff}
.fbrk li.me .mu{color:rgba(255,255,255,.85)}
.fbrk .fbp{flex:0 0 30px;text-align:center;font-weight:700}
.fbrk .fbn2{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fbrk .fbs{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums}
.fbrk li.me a{color:#fff}
.fbnote{font-size:13px;color:var(--mu);margin:12px 0 0}
.fbwin{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:var(--sf);border:1px solid var(--bd);text-align:center}
@media (max-width:480px){.fbn canvas,.fbhero canvas{height:126px}.fbm{font-size:13px}.fbm button{margin-left:0}}
/* Banner „Turneu de weekend”: canvas generat automat, sub antet (assets/app.js: vTourBan / tbDraw) */
.tbw{position:relative;max-width:900px;margin:12px auto 0;padding:0 18px}
.tbn{display:block;border-radius:20px;overflow:hidden;line-height:0;color:inherit;text-decoration:none;box-shadow:0 8px 26px rgba(0,0,0,.28)}
a.tbn{transition:transform .15s}a.tbn:hover{transform:translateY(-1px)}
.tbn canvas{display:block;width:100%;height:140px}
.tbx{position:absolute;top:8px;right:26px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:18px;line-height:28px;cursor:pointer}
.tbx:hover{background:rgba(0,0,0,.55)}
button.tbn{width:100%;padding:0;border:0;background:none;cursor:pointer;font:inherit;text-align:left}
button.tbn:hover{transform:translateY(-1px)}
.tbgo{display:block;width:100%;margin-top:10px;padding:14px 18px;font-size:17px;font-weight:700;text-align:center}
.tbgo:disabled{opacity:.6;cursor:wait}
/* Bannere canvas pentru anunțuri și „Ore cu puncte duble” (assets/app.js: vAnnBan / abDraw). Folosesc și clasele .tbn și .tbx de la bannerul turneului. */
.abw{position:relative;max-width:900px;margin:12px auto 0;padding:0 18px}
.abw .tbn canvas{display:block;width:100%;height:140px}
/* 98-onboarding.css — Onboarding vizitatori: previzualizare demo cu variante blurate, secțiunea „Cum se joacă” (fără modal), buton „Joacă fără cont” evidențiat (assets/app.js: vDemo, vHow, vCover) */

/* Butonul „Joacă fără cont”: acțiunea principală de pe copertă */
.cov-a>.cov-guest{height:auto;min-height:66px;padding:10px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;color:#fff;
 background:linear-gradient(90deg,var(--ac),var(--ac2));box-shadow:0 12px 34px color-mix(in srgb,var(--ac2) 45%,transparent);animation:cgPulse 3.2s ease-in-out infinite}
.cov-guest span{font-size:18px;font-weight:700;line-height:1.15}
.cov-guest small{font-size:12.5px;font-weight:500;opacity:.92;line-height:1.2}
@keyframes cgPulse{0%,100%{box-shadow:0 12px 34px color-mix(in srgb,var(--ac2) 40%,transparent)}50%{box-shadow:0 14px 44px color-mix(in srgb,var(--ac2) 68%,transparent)}}

/* Previzualizare: fragment + variante blurate înainte de pornire */
.dm-pvb{display:flex;align-items:center;gap:12px;margin:14px 0 10px;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--tx) 6%,transparent)}
.dm-pvb em{font-style:normal;font-size:13px;color:var(--mu)}
.dm-eq{display:inline-flex;align-items:flex-end;gap:3px;height:22px}
.dm-eq i{display:block;width:4px;height:30%;border-radius:2px;background:var(--ac2);animation:dmEq 1.1s ease-in-out infinite}
.dm-eq i:nth-child(2){animation-delay:.12s}.dm-eq i:nth-child(3){animation-delay:.27s}.dm-eq i:nth-child(4){animation-delay:.05s}.dm-eq i:nth-child(5){animation-delay:.4s}.dm-eq i:nth-child(6){animation-delay:.2s}.dm-eq i:nth-child(7){animation-delay:.33s}
@keyframes dmEq{0%,100%{height:25%}50%{height:100%}}
.dm-pvg{cursor:pointer}
.mcb.pv{cursor:pointer;opacity:.9}
.mcb.pv span{filter:blur(6px);user-select:none;transition:filter .25s}
.mcb.pv:hover span,.mcb.pv:focus-visible span{filter:blur(4px)}
/* Variantele reale apar cu fade in după pornire */
.dm .mcg:not(.dm-pvg) .mcb{animation:dmIn .45s ease both}
.dm .mcg:not(.dm-pvg) .mcb:nth-child(2){animation-delay:.08s}.dm .mcg:not(.dm-pvg) .mcb:nth-child(3){animation-delay:.16s}.dm .mcg:not(.dm-pvg) .mcb:nth-child(4){animation-delay:.24s}
@keyframes dmIn{from{opacity:0;filter:blur(6px);transform:translateY(4px)}to{opacity:1;filter:none;transform:none}}

/* „Cum se joacă”: secțiune în pagină, sub copertă (assets/app.js: vHow) */
.cov{position:relative;isolation:isolate}
.cov::before{content:"";position:absolute;z-index:-1;inset:-6% -8% 10% -8%;pointer-events:none;background:radial-gradient(48% 55% at 78% 30%,color-mix(in srgb,var(--ac) 20%,transparent),transparent 72%),radial-gradient(40% 45% at 8% 8%,color-mix(in srgb,var(--ac2) 13%,transparent),transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 38%,transparent 70%)}
@media(min-width:641px){.cov h1{font-size:clamp(48px,7.4vw,112px)}}
.cov-k{display:inline-flex;align-items:center;gap:8px;margin:0 0 clamp(14px,2vw,22px);padding:6px 14px;border-radius:99px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--tx);background:color-mix(in srgb,var(--tx) 6%,transparent);border:1px solid color-mix(in srgb,var(--tx) 14%,transparent)}
.cov-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ac2);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac2) 22%,transparent)}
.cov h1 span:last-child{background:linear-gradient(95deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-bottom:.08em}

.how{margin:clamp(48px,8vw,112px) 0 clamp(28px,5vw,56px)}
.how-h{max-width:660px;margin:0 auto clamp(26px,4vw,48px);text-align:center}
.how-k{display:inline-block;padding:5px 13px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac2);background:color-mix(in srgb,var(--ac2) 12%,transparent)}
.how-h h2{margin:14px 0 10px;font:800 clamp(30px,4.8vw,54px)/1.04 var(--serif);letter-spacing:-.03em}
.how-h p{margin:0 auto;max-width:44ch;font-size:clamp(15px,1.5vw,18px);line-height:1.5;color:var(--mu)}
.how-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.how-c{position:relative;display:flex;flex-direction:column;padding:clamp(16px,2vw,24px);border-radius:24px;background:linear-gradient(165deg,color-mix(in srgb,var(--ac) 9%,var(--sf)),var(--sf));border:1px solid color-mix(in srgb,var(--tx) 11%,var(--bd));box-shadow:0 26px 60px -42px color-mix(in srgb,var(--ac) 65%,transparent)}
.how-v{display:flex;align-items:center;justify-content:center;gap:16px;height:148px;margin-bottom:20px;border-radius:16px;background:color-mix(in srgb,var(--tx) 4%,transparent);border:1px solid color-mix(in srgb,var(--tx) 7%,transparent);overflow:hidden}
.how-n{position:absolute;top:clamp(26px,3vw,32px);left:clamp(26px,3vw,32px);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--ac),var(--ac2));box-shadow:0 6px 16px -4px color-mix(in srgb,var(--ac2) 60%,transparent)}
.how-c h3{margin:0 0 6px;font:800 clamp(21px,2vw,25px)/1.15 var(--serif);letter-spacing:-.01em}
.how-c p{margin:0;font-size:15px;line-height:1.55;color:var(--mu)}
/* ilustrații */
.hw-d{position:relative;flex:0 0 72px;width:72px;height:72px}
.hw-d .dsk{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--bg) 0 5%,var(--ac) 5.5% 20%,#14141f 21%);box-shadow:0 0 26px color-mix(in srgb,var(--ac) 45%,transparent)}
.hw-d .dsk::before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.07) 0 1px,transparent 1px 5px)}
.hw-d b{position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;background:rgba(11,11,20,.78);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;line-height:30px;text-align:center}
.hw-g{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(100%,230px);padding:0 14px;box-sizing:content-box}
.hw-o{position:relative;display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:color-mix(in srgb,var(--tx) 6%,transparent);border:1px solid color-mix(in srgb,var(--tx) 10%,transparent)}
.hw-o i{flex:0 0 22px;height:22px;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;color:var(--mu);background:color-mix(in srgb,var(--tx) 9%,transparent)}
.hw-l{flex:1;height:6px;border-radius:3px;background:color-mix(in srgb,var(--tx) 16%,transparent)}
.hw-o.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);border-color:color-mix(in srgb,var(--ok) 55%,transparent)}
.hw-o.ok i{background:var(--ok);color:#fff}
.hw-o.ok .hw-l{background:color-mix(in srgb,var(--ok) 55%,transparent)}
.hw-o em{position:absolute;right:-6px;top:-8px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--ok);box-shadow:0 4px 10px -2px color-mix(in srgb,var(--ok) 70%,transparent)}
.hw-s{display:flex;flex-direction:column;gap:14px;width:min(100%,220px)}
.hw-r b{display:block;font-size:13.5px}
.hw-r i{display:block;height:8px;margin-top:6px;border-radius:4px;background:color-mix(in srgb,var(--tx) 12%,transparent);overflow:hidden}
.hw-r u{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--ac),var(--ac2))}
.how-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(24px,4vw,40px)}
.how-cta .b,.how-cta .b2{padding:14px 28px;font-size:16px;font-weight:600;border-radius:14px}
.how-cta .b{box-shadow:0 10px 30px color-mix(in srgb,var(--ac) 40%,transparent)}
@media(max-width:820px){
 .how-l{grid-template-columns:1fr;max-width:480px;margin:0 auto}
 .how-v{height:124px}
 .how-cta{flex-direction:column;max-width:480px;margin-left:auto;margin-right:auto}
 .how-cta .b,.how-cta .b2{width:100%;height:54px;padding:0}
}
@media(prefers-reduced-motion:reduce){.dm-eq i,.cov-a>.cov-guest,.dm .mcg .mcb{animation:none}.dm-eq i{height:60%}}

/* Copertă: puncte de încredere; „Mai mult decât un quiz”; apel final (v2026.10.27-15) */
.cov-pt{list-style:none;margin:clamp(16px,2vw,22px) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--mu)}
.cov-pt li{display:flex;align-items:center;gap:7px}
.cov-pt li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}
.how-fh{margin:clamp(44px,7vw,84px) 0 clamp(14px,2vw,22px);text-align:center;font:800 clamp(24px,3vw,34px)/1.12 var(--serif);letter-spacing:-.02em}
.how-f{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,18px)}
.how-fi{padding:clamp(16px,2vw,22px);border-radius:20px;background:var(--sf);border:1px solid color-mix(in srgb,var(--tx) 11%,var(--bd))}
.how-fic{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:12px;color:var(--ac2);background:color-mix(in srgb,var(--ac2) 14%,transparent)}
.how-fic svg{width:22px;height:22px}
.how-fi h4{margin:0 0 6px;font:800 18px/1.2 var(--serif)}
.how-fi p{margin:0;font-size:14.5px;line-height:1.55;color:var(--mu)}
.how-end{margin-top:clamp(40px,6vw,76px);padding:clamp(26px,4vw,48px) clamp(16px,3vw,32px);border-radius:28px;text-align:center;background:radial-gradient(70% 120% at 50% 0,color-mix(in srgb,var(--ac) 16%,transparent),transparent 70%),var(--sf);border:1px solid color-mix(in srgb,var(--tx) 11%,var(--bd))}
.how-end h3{margin:0;font:800 clamp(24px,3.4vw,38px)/1.1 var(--serif);letter-spacing:-.02em}
.how-end .how-cta{margin-top:clamp(18px,2.4vw,26px)}
@media(max-width:980px){.how-f{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.how-f{grid-template-columns:1fr}}
/* 99-feedback.css — Feedback vizual la redare (assets/viz.js): waveform, extinderea fragmentului la indicii, evidențierea indiciului nou, pop la răspuns corect */

/* Waveform în timp real */
.wv{display:block;width:100%;height:34px;margin:0 0 6px}
.dm .wv{height:30px;margin:12px 0 -4px}
.au .aur{position:relative}

/* Extinderea fragmentului: bara deblocată crește, cu un flash scurt, iar insigna „+N s” apare la capătul ei */
.aubar .un.ext,.dm-bar .un.ext{animation:vzExt .9s cubic-bezier(.2,.8,.2,1) both,vzFlash 1.6s ease-out both}
@keyframes vzExt{from{width:var(--f)}}
@keyframes vzFlash{0%,30%{filter:brightness(2.4) saturate(1.5);box-shadow:0 0 14px var(--ac2)}100%{filter:none;box-shadow:none}}
.ext-b{position:absolute;top:0;z-index:2;padding:2px 8px;border-radius:10px;font-style:normal;font-size:11px;font-weight:700;line-height:1.3;color:#06281c;background:var(--ac2);transform:translate(-100%,-8%);pointer-events:none;animation:vzBadge 2.6s ease both}
@keyframes vzBadge{0%{opacity:0;transform:translate(-100%,60%) scale(.5)}15%{opacity:1;transform:translate(-100%,-8%) scale(1.08)}25%{transform:translate(-100%,-8%) scale(1)}80%{opacity:1}100%{opacity:0}}

/* Indiciul nou: apare cu un salt, cu halou și text marcat; apoi revine la aspectul normal */
@keyframes vzLiIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes vzLiGlow{0%{box-shadow:0 0 0 2px color-mix(in srgb,var(--ac2) 75%,transparent),0 0 22px color-mix(in srgb,var(--ac2) 45%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
@keyframes vzNum{0%{transform:scale(.4)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes vzMark{0%{background-color:transparent}20%,65%{background-color:color-mix(in srgb,var(--ac2) 38%,transparent)}100%{background-color:transparent}}

/* Răspuns corect: pop pe varianta corectă (peste strălucirea existentă) */
.vz-pop{animation:vzPop .6s cubic-bezier(.2,.9,.3,1.4) both}
.mc.qrev .mcb.good.vz-pop{animation:qglow 1.5s ease-out both,vzPop .6s cubic-bezier(.2,.9,.3,1.4) both}
@keyframes vzPop{0%{transform:scale(1)}35%{transform:scale(1.06)}100%{transform:scale(1)}}

@media(prefers-reduced-motion:reduce){
 .aubar .un.ext,.dm-bar .un.ext,.vz-pop,.mc.qrev .mcb.good.vz-pop{animation:none}
 .ext-b{display:none}
}
/* Ajutoare (assets/jokers.js): card cu pictogramă + titlu pe un rând, descrierea dedesubt pe toată lățimea, pastila „Folosește” jos (aliniată în ambele carduri) */
#r .jkr{align-items:stretch}
#r .jkr .jk2{flex:1 1 150px;display:flex;flex-direction:column;gap:10px;padding:12px;border:1.5px solid color-mix(in srgb,var(--ac) 45%,var(--bd));box-shadow:0 3px 0 color-mix(in srgb,var(--ac) 22%,var(--bd));transition:transform .08s,box-shadow .08s}
#r .jkr .jk2:active:not(.off){transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--ac) 22%,var(--bd))}
#r .jkr .jk2.off{opacity:.7;box-shadow:none;border-color:var(--bd)}
.jk-top{display:flex;align-items:center;gap:10px}
.jk-i{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-size:18px;background:color-mix(in srgb,var(--ac) 14%,var(--sf))}
.jk2 .jk-n{font-weight:800;font-size:16px;line-height:1.15}
.jk-b{flex:1 1 auto;display:flex;flex-direction:column;gap:4px}
.jk2 .jk-d{font-size:13px;line-height:1.35;opacity:.85}
.jk2 .jk-s,.jk2 .jk-w{font-size:12px;line-height:1.3}
.jk-go{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:46px;padding:7px 12px;border-radius:999px;background:var(--ac);color:#fff;text-align:center;line-height:1.15;box-shadow:0 2px 0 rgba(0,0,0,.22)}
.jk-go b{font-size:14.5px;font-weight:800}
.jk-go span{font-size:12px;font-weight:600;opacity:.92}
.jk-go.fr{background:var(--ok)}
.jk2.off .jk-go{background:var(--bd);color:var(--mu);box-shadow:none}
/* 99-mobile.css — Finisaje pentru telefon: safe-area (iPhone cu notch / Dynamic Island / bară de acasă), pull-to-refresh (assets/mobile.js).
   Safe-area funcționează doar cu `viewport-fit=cover` în <meta name="viewport"> (index.php); fără el, env(safe-area-inset-*) e mereu 0.
   Fișier sursă: după modificări rulează `node tools/build.js`. */

/* Safe-area sus și pe lateral (landscape: notch-ul e pe o parte). Jos era tratată deja (nav, bara de rezultat, foi, toast). */
body{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
header{top:env(safe-area-inset-top,0px)}
/* Zona din spatele notch-ului / barei de stare rămâne în culoarea paginii, ca să nu se vadă conținutul care trece pe sub ea */
html::after{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:31;pointer-events:none}
.qcbar{left:calc(10px + env(safe-area-inset-left,0px));right:calc(10px + env(safe-area-inset-right,0px))}
@media(max-width:640px){
 header nav:not(.adm){left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px))}
}

/* Pull-to-refresh propriu (home și clasamente); cel nativ al browserului e oprit, ca să nu reîncarce pagina în mijlocul unui quiz */
html{overscroll-behavior-y:contain}
#ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 10px);width:40px;height:40px;margin-left:-20px;display:grid;place-items:center;border-radius:50%;background:var(--sf);color:var(--tx);border:1px solid var(--bdi,var(--bd));box-shadow:var(--sh2);z-index:60;opacity:0;transform:translateY(-70px);pointer-events:none;will-change:transform,opacity}
#ptr svg{transition:transform .15s}
#ptr.go svg{transform:rotate(180deg)}
#ptr.rf svg{animation:sp .8s linear infinite}
#ptr.rf path:last-child{display:none}
/* Navigare fără salt: pagina nouă apare cu un fade scurt (clasa .navin e pusă de R() în assets/app.js, doar la schimbarea paginii) */
@keyframes navin{from{opacity:.55}to{opacity:1}}
@media (prefers-reduced-motion:no-preference){#r main.navin{animation:navin .18s ease-out}}
/* 99-social-live.css — linia „Azi au jucat X persoane • Y% dintre quizuri au fost ghicite” (assets/app.js lstLine, server: inc/lst.php) */
.lst{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:14px;line-height:1.4;color:var(--mu)}
.lst[hidden]{display:none}
.strip+.lst{margin-top:8px}
.lst b{color:var(--tx);font-weight:700;font-variant-numeric:tabular-nums}
.lst-d{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--ok);animation:lstPulse 2.4s ease-out infinite}
@keyframes lstPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
@media (prefers-reduced-motion:reduce){.lst-d{animation:none}}
/* 99-theme-a11y.css — Accesibilitate: contrast pe tema luminoasă, selectorul de temă (Automat / Luminos / Întunecat),
   „reducere mișcare” (disc de vinil, strălucire, animații) și „contrast ridicat”. Se încarcă după toate celelalte (ordinea alfabetică),
   deci are prioritate la aceeași specificitate. Fișier sursă: după modificări rulează `node tools/build.js`. */

/* ---------- 1) Tema luminoasă: contrast ----------
   Culorile semantice (verde, portocaliu, turcoaz, roz, auriu) erau sub 4.5:1 pe alb când apar ca text; acum au cel puțin 4.5:1
   și pe fundalul lor colorat (14%). Textul secundar --mu trece de la 6.5:1 la 7.7:1. --bdi = chenar pentru câmpuri și butoane
   (cel puțin 3:1 față de fundal, WCAG 1.4.11); --bd rămâne pentru separatoare discrete. */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){
 --ok:#047653;--p1:#9a5404;--p2:#067089;--p4:#bf2268;--p5:#8b5f03;--t2:#8b5f03;--t5:#b24309;
 --mu:#524d6e;--bdi:#8f8ba1}}
:root[data-theme=light]{
 --ok:#047653;--p1:#9a5404;--p2:#067089;--p4:#bf2268;--p5:#8b5f03;--t2:#8b5f03;--t5:#b24309;
 --mu:#524d6e;--bdi:#8f8ba1}
:root{--bdi:var(--bd)}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bdi:#8f8ba1}}
:root[data-theme=light]{--bdi:#8f8ba1}

/* Câmpuri de formular și butonul secundar: chenar vizibil; focus cu contur (nu doar schimbare de culoare a chenarului) */
input,select,textarea,.b2,.qcb-rpp input{border-color:var(--bdi)}
#r :is(input,select,textarea):focus-visible{outline:2px solid var(--ac2);outline-offset:1px}
#r .gin>input:focus-visible{outline:none}

/* Text secundar care avea și opacitate: pe lumină rămâne la culoarea --mu întreagă */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) :is(.ft .ft-s,.ft .ft-by,.dqdone .dqd-n,.jkr small){opacity:1}:root:not([data-theme=dark]) .mpc i{opacity:.78}}
:root[data-theme=light] :is(.ft .ft-s,.ft .ft-by,.dqdone .dqd-n,.jkr small){opacity:1}
:root[data-theme=light] .mpc i{opacity:.78}

/* ---------- 2) Selectorul de temă (footer și Setări > Efecte; îl construiește thmSync() în inc/core/theme.php) ---------- */
.thm-seg{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 14px;font-size:13px}
.thm-seg:empty{display:none}
.card .thm-seg{justify-content:flex-start;margin:0 0 6px}
.thm-t{color:var(--mu);font-weight:600}
.thm-g{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--bdi);border-radius:99px;background:var(--sf)}
.thm-g button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 13px;border:0;border-radius:99px;background:transparent;color:var(--mu);font:inherit;font-weight:600;cursor:pointer}
.thm-g button .ic{width:16px;height:16px;flex:0 0 auto}
.thm-g button:hover{color:var(--tx)}
.thm-g button.on{background:var(--tx);color:var(--bg)}
@media(max-width:380px){.thm-g button{padding:6px 10px}.thm-g button .ic{display:none}}

/* ---------- 3) „Reducere mișcare” ----------
   Discul de vinil din antet (.vin) se învârtea și nu era oprit; strălucirile (butoane, meniu, iconițe, discuri) se estompează;
   plasa de siguranță de la final oprește orice altă animație sau tranziție rămasă (inclusiv cele viitoare). */
@media(prefers-reduced-motion:reduce){
 .vin,.dm-d .dsk,.mt-vin,.vnl{animation:none;box-shadow:none}
 .vin{transform:none}
 :root:root:root{--gl:0 0 0 0 transparent;--icg:none;--bgl:0 1px 2px rgba(0,0,0,.28);--npg:0 4px 10px -6px rgba(0,0,0,.45)}
 .cov-a>.cov-guest,.adv-d.open,.vcm.on{animation:none}
 *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
}

/* ---------- 4) Contrast ridicat (setarea dispozitivului) ---------- */
@media(prefers-contrast:more){
 :root:root:root{--mu:color-mix(in srgb,var(--tx) 84%,var(--bg));--bd:color-mix(in srgb,var(--tx) 48%,var(--bg));--bdi:color-mix(in srgb,var(--tx) 62%,var(--bg))}
 .thm-g button{color:var(--tx)}
}
/* 99-zz-premium.css — limbaj vizual premium (v2026.10.27-18). Ultimul în cascadă (ordine alfabetică); se editează aici, apoi `node tools/build.js`.
   Reguli: o singură familie (Inter / system-ui) în greutățile 500 / 600 / 700; raze 28-32 px pe carduri mari și 12-14 px pe elemente mici;
   umbre aproape inexistente + contur subtil; mai mult aer; accentul rămâne pe butonul principal, progres și quiz-ul zilei. */
:root{
 --font:"Inter","SF Pro Text","SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 --serif:var(--font);
 --r-lg:30px;--r-md:20px;--r-sm:12px;--cp:clamp(20px,3.2vw,28px);
 --sh1:0 1px 2px rgba(0,0,0,.2),0 28px 60px -38px rgba(0,0,0,.7);
 --line:color-mix(in srgb,var(--tx) 9%,transparent)}
:root[data-theme=light]{--sh1:0 1px 2px rgba(40,28,90,.04),0 26px 56px -36px rgba(50,30,110,.24)}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--sh1:0 1px 2px rgba(40,28,90,.04),0 26px 56px -36px rgba(50,30,110,.24)}}

/* tipografie */
html body,button,input,select,textarea{font-family:var(--font)}
body{font-weight:500;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
#r h1,#r h2,#r h3,#r h4,.pg h1,.pg h2,.pg h3{font-family:var(--font);font-weight:700;letter-spacing:-.02em}
#r .cov h1{font-weight:700;letter-spacing:-.045em}
#r .dqh-t{letter-spacing:-.035em}
#r b,#r strong{font-weight:650}
.mu,.sm{font-weight:500}
html[data-genre] .gcard h1{font-family:var(--font);font-style:normal;text-transform:none;font-weight:700;letter-spacing:-.025em}
.cov h1 span:last-child{background:none;-webkit-text-fill-color:currentColor;color:var(--tx)}

/* carduri mari: rază generoasă, contur subtil, aproape fără umbră, mai mult aer */
.card{padding:var(--cp);margin-bottom:clamp(16px,2.4vw,24px);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh1)}
.card.dqdone,.card.bzc,.card.pfc,.card.more,.card.tdc,.card.spc,.card.mis{border-radius:var(--r-md)}
html .card.gcard.dq.dq2{border-color:transparent;border-radius:var(--r-lg)}
.card.dqdone{padding:14px 18px}
.how-c,.how-end,.fbhero,.sheet{border-radius:var(--r-lg)}
.how-c{background:var(--sf);box-shadow:none;border-color:var(--line)}
.how-end{background:var(--sf);box-shadow:none}
.how-fi{border-radius:var(--r-md);padding:clamp(18px,2.2vw,26px)}
.how-v{border-radius:var(--r-md)}

/* elemente mici: rază strânsă */
.b,.b2,.b3,input,select,textarea,.mcb,.tag,.dfc,.rpk{border-radius:var(--r-sm)}
.chip,.cov-k,.bz-tab{border-radius:99px}
.mini,.sd,.mrow,.sp-it,.adc{border-radius:14px;box-shadow:none;border-color:var(--line)}
.hq{border-radius:var(--r-md)}.hq-a{border-radius:16px}
.ul.cl li,ul.cl li{border-radius:14px}

/* aer */
main{padding-top:clamp(8px,2vw,20px)}
.hq,.strip{margin-bottom:clamp(18px,2.6vw,28px)}
.how{margin:clamp(72px,10vw,140px) 0 clamp(40px,6vw,72px)}
.how-l{gap:clamp(16px,2.4vw,28px)}
.how-h{margin-bottom:clamp(32px,5vw,60px)}
.cov-a{gap:14px}
.cov-pt{margin-top:clamp(20px,2.6vw,30px)}
.dq2 ul.cl{margin-top:6px}

/* accent folosit rar: butonul principal, progresul și quiz-ul zilei; restul neutru */
html body{background-image:radial-gradient(60% 40% at 80% -10%,color-mix(in srgb,var(--ac) 7%,transparent),transparent);background-repeat:no-repeat}
.cov::before{opacity:.45}
.cov-k::before{background:var(--mu);box-shadow:none}
.how-n{background:color-mix(in srgb,var(--tx) 10%,transparent);color:var(--tx);box-shadow:none}
.how-fic{color:var(--tx);background:color-mix(in srgb,var(--tx) 7%,transparent)}
.hq-a i{color:var(--tx);opacity:.8}
.b{box-shadow:0 10px 24px -14px color-mix(in srgb,var(--ac) 70%,transparent)}
.cov-a>.b,.how-cta .b{box-shadow:0 12px 28px -16px color-mix(in srgb,var(--ac) 75%,transparent)}
.cov-a>.b2,.how-cta .b2{box-shadow:none}
/* 999-modern.css — STRAT DE SUPRASCRIERE 3 (v2026.10.28-5): design modern, plat. Se încarcă ultimul și are prioritate peste toate.
   Fișier sursă: se editează aici, apoi `node tools/build.js` regenerează assets/style.css (ordinea fișierelor = ordinea în cascadă).
   ==========================================================================
   Ce s-a schimbat față de stratul neon (90-override-neon.css):
   - fundal plat, fără „aurora”, fără strălucire (glow) și fără degradeuri pe butoane, bannere și titluri;
   - suprafețe pline în trepte de ton (bg → sf → sf2), contur fin doar unde ajută;
   - butoane „tactile”: culoare plină + muchie de jos de 3 px, care se strânge la apăsare;
   - un singur accent (cobalt); galben-chihlimbar rămâne doar pentru puncte și serie;
   - mobil: bară de navigare plată, lipită jos (nu mai plutește);
   - o singură scară de rotunjire: 12 / 16 / 24 px.
   Temele pe gen și cele de sărbători își setează în continuare singure --ac/--ac2 (selectori mai specifici decât cei de aici).
   v2026.10.29-1 — consistență de componente: carduri unificate (--card-*), foi cu mâner vizibil și safe-area, bară de jos cu pastilă activă și buton „Joacă” aliniat (--nav-h).
   Revenire: șterge acest fișier, rulează `node tools/build.js` și `node tools/minify.js`, apoi schimbă APP_VERSION.
   ========================================================================== */

/* --- Token-uri, întunecat (implicit) --- */
:root{
 --font:"Inter","Inter var",ui-sans-serif,system-ui,-apple-system,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 --serif:var(--font);
 --bg:#0b0d17;--sf:#141829;--sf2:#1c2138;--tx:#f4f5fb;--mu:#9aa2bd;--bd:#2a3050;--ok:#34d399;--er:#fb5c7c;
 --ac:#3d5afe;--ac2:#8ca2ff;--ac3:#2a41d6;
 --edge:color-mix(in srgb,var(--ac) 55%,#000);--edge2:rgba(0,0,0,.38);--line:rgba(255,255,255,.07);
 --hl:transparent;--sh1:none;--sh2:0 -1px 0 var(--line);--shc:rgba(0,0,0,.5);
 --lk:#9db0ff;--gl:none;--icg:none;--npg:none;--bgl:none;--aur:none;--grain:none;
 --r1:12px;--r2:16px;--r3:24px;
 /* Carduri: o singură rețetă (fundal, contur, rază, umbră) pentru home, profil, clasament și live. --card-r = containere, --tile-r = plăcuțe din interior. */
 --card-bg:var(--sf);--card-bd:1px solid var(--line);--card-r:var(--r3);--tile-r:var(--r2);
 --card-sh:0 1px 2px rgba(0,0,0,.30),0 6px 16px -10px rgba(0,0,0,.55);
 /* Foi: mâner vizibil, spațiu jos cu safe-area */
 --sheet-pb:calc(24px + env(safe-area-inset-bottom,0px));--hdl:color-mix(in srgb,var(--tx) 42%,transparent);
 /* Bara de jos (mobil): aceeași înălțime pentru toate butoanele; „Joacă” e ridicat cu transform, deci nu schimbă înălțimea barei */
 --nav-h:56px;--lift:14px;
}
/* --- Luminos: aceleași selectori ca în stratul neon, ca să aibă întâietate --- */
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){
 --bg:#f3f5fb;--sf:#ffffff;--sf2:#e8ebf6;--tx:#0e1220;--mu:#586184;--bd:#d5dbee;--ok:#059669;--er:#e11d48;
 --edge:color-mix(in srgb,var(--ac) 62%,#000);--edge2:#c9cfe4;--line:rgba(14,18,32,.09);
 --hl:transparent;--sh1:none;--sh2:0 -1px 0 var(--line);--shc:rgba(40,50,100,.25);
 --lk:#2742d9;--gl:none;--icg:none;--npg:none;--bgl:none;--aur:none;
 --card-sh:0 1px 2px rgba(40,50,100,.10),0 6px 16px -10px rgba(40,50,100,.28);
}}
@media(prefers-color-scheme:light){:root:where(:not([data-theme=dark])){--ac:#3d5afe;--ac2:#2742d9}}
:root[data-theme=light]{
 --bg:#f3f5fb;--sf:#ffffff;--sf2:#e8ebf6;--tx:#0e1220;--mu:#586184;--bd:#d5dbee;--ok:#059669;--er:#e11d48;
 --edge:color-mix(in srgb,var(--ac) 62%,#000);--edge2:#c9cfe4;--line:rgba(14,18,32,.09);
 --hl:transparent;--sh1:none;--sh2:0 -1px 0 var(--line);--shc:rgba(40,50,100,.25);
 --lk:#2742d9;--gl:none;--icg:none;--npg:none;--bgl:none;--aur:none;
 --card-sh:0 1px 2px rgba(40,50,100,.10),0 6px 16px -10px rgba(40,50,100,.28);
}
:root:where([data-theme=light]){--ac:#3d5afe;--ac2:#2742d9}

/* --- Fundal și text --- */
body{background:var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{display:none}
::selection{background:color-mix(in srgb,var(--ac) 45%,transparent)}
:where(#r) h1,:where(#r) h2,:where(#r) h3,.pg h1,.pg h2,.pg h3{font-family:var(--font);font-weight:800;letter-spacing:-.025em;line-height:1.15}
.mu{color:var(--mu)}

/* --- Antet --- */
#r header{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-bottom:1px solid var(--line)}
#r .logo{font-weight:800;letter-spacing:-.02em}
#r .vin{box-shadow:none;background:radial-gradient(circle,var(--bg) 0 14%,var(--ac) 15% 26%,#14141f 27% 100%)}
#r .hpl{background:var(--sf);border:0;box-shadow:none;font-weight:600}
#r .thm{background:var(--sf);box-shadow:none;border-radius:var(--r1)}

/* --- Navigare, desktop --- */
@media(min-width:641px){
 #r header nav:not(.adm) a{font-weight:600;border-radius:var(--r1);padding:8px 14px}
 #r header nav:not(.adm) a.on{background:var(--sf2);color:var(--tx);box-shadow:none}
}
/* --- Navigare, mobil: bară plată, lipită jos. Toate butoanele au aceeași înălțime (--nav-h); starea activă = pastilă în jurul iconiței;
       „Joacă” e ridicat cu transform (nu ocupă loc în layout), deci bara nu „sare” când se schimbă ecranul sau lipsește un buton --- */
@media(max-width:640px){
 #r header nav:not(.adm){left:0;right:0;bottom:0;max-width:none;margin:0;align-items:center;padding:6px calc(8px + env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));gap:2px;border-radius:0;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-top:1px solid var(--line)}
 #r header nav:not(.adm) a{height:var(--nav-h);padding:5px 2px 4px;gap:2px;justify-content:center;border-radius:var(--r1);background:transparent;box-shadow:none;color:var(--mu);font-weight:600;font-size:11px;letter-spacing:0;transition:color .2s ease}
 #r header nav:not(.adm) a:not(.npl):active{transform:none}
 /* iconița stă într-o pastilă de aceeași mărime pe toate tab-urile; greutate vizuală egală: același chenar 24 px și același contur */
 #r header nav:not(.adm) a>i{display:grid;place-items:center;width:52px;max-width:100%;height:30px;border-radius:99px;transition:background-color .2s ease}
 #r header nav:not(.adm) a .ic{width:24px;height:24px;stroke-width:1.9;color:inherit;filter:none}
 #r header nav:not(.adm) a .ic circle[r="1.8"]{fill:currentColor}
 @media(hover:hover){#r header nav:not(.adm) a:not(.on):not(.npl):hover>i{background:color-mix(in srgb,var(--tx) 8%,transparent)}}
 #r header nav:not(.adm) a:not(.on):not(.npl):active>i{background:color-mix(in srgb,var(--tx) 12%,transparent)}
 /* stare activă: pastilă colorată + iconiță accent + eticheta în culoarea textului (grosimea fontului nu se schimbă, ca să nu sară textul) */
 #r header nav:not(.adm) a.on{background:transparent;box-shadow:none;color:var(--tx)}
 #r header nav:not(.adm) a.on>i{background:color-mix(in srgb,var(--ac) 24%,transparent)}
 #r header nav:not(.adm) a.on .ic{color:var(--ac2);filter:none}
 #r header nav:not(.adm) a:focus-visible{outline:2px solid var(--ac2);outline-offset:-2px}
 /* „Joacă”: aceeași înălțime de rând ca restul (64 px − 2×4 px margine negativă = --nav-h), ridicat doar vizual */
 #r header nav:not(.adm) a.npl,#r header nav:not(.adm) a.npl.on{flex:0 0 64px;width:64px;height:64px;margin:-4px 2px;align-self:center;padding:0;gap:2px;border-radius:50%;background:var(--ac);color:#fff;text-shadow:none;transform:translateY(calc(var(--lift) * -1));box-shadow:0 3px 0 var(--edge),0 0 0 6px var(--bg);transition:transform .08s,box-shadow .08s}
 #r header nav:not(.adm) a.npl>i,#r header nav:not(.adm) a.npl.on>i{width:auto;height:auto;background:none}
 #r header nav:not(.adm) a.npl .ic,#r header nav:not(.adm) a.npl.on .ic{color:#fff}
 #r header nav:not(.adm) a.npl:active{transform:translateY(calc(var(--lift) * -1 + 2px));box-shadow:0 1px 0 var(--edge),0 0 0 6px var(--bg)}
 #r header nav:not(.adm) a.npl:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
 /* insigne (necitite / blocat) pe colțul pastilei */
 #r header nav:not(.adm) .nbd{top:3px;left:calc(50% + 8px)}
 #r header nav:not(.adm) .nlk{background:var(--sf2);box-shadow:none;top:4px;left:calc(50% + 8px)}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 #t{bottom:calc(92px + env(safe-area-inset-bottom))}
 .qcbar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){#r header nav:not(.adm) a,#r header nav:not(.adm) a>i,#r header nav:not(.adm) a.npl{transition:none}}

/* --- Butoane: culoare plină + muchie de jos care se strânge la apăsare --- */
#r .b,#r .b2,#r .b3{border-radius:var(--r2);font-weight:700;letter-spacing:-.005em;padding:12px 18px;border:0;transition:transform .08s,box-shadow .08s,background-color .15s}
#r .b{background:var(--ac);color:#fff;box-shadow:0 3px 0 var(--edge)}
#r .b2{background:var(--sf2);color:var(--tx);box-shadow:0 3px 0 var(--edge2)}
#r .b3{background:var(--er);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--er) 55%,#000)}
#r .b:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}
#r .b2:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--edge2)}
#r .b3:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 color-mix(in srgb,var(--er) 55%,#000)}
#r .b:disabled,#r .b2:disabled{opacity:.45;box-shadow:none}
@media(hover:hover){#r .b:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--ac) 88%,#fff)}#r .b2:hover:not(:disabled){background:color-mix(in srgb,var(--tx) 12%,var(--sf2))}}
@media(prefers-reduced-motion:reduce){#r .b,#r .b2,#r .b3{transition:none}}

/* --- Carduri, câmpuri, foi --- */
/* Carduri unificate: aceeași rază, același contur și aceeași umbră pe home, profil, clasament și live.
   Containere (.card, banere, carduri live) = --card-*; plăcuțe din interior (.st, .mini, .sd, .frt, .pf-f ...) = --tile-r, fără umbră. */
#r .card,#r .pom,#r .pcard,#r .annc,#r .adc{background:var(--card-bg);background-image:none;border-radius:var(--card-r);box-shadow:var(--card-sh)}
#r .card,#r .pom,#r .adc{border:var(--card-bd)}
#r .pcard{border-width:1px;border-style:solid}                              /* culoarea conturului rămâne cea a jucătorului (--p1) */
#r .annc{border-top-color:var(--line);border-right-color:var(--line);border-bottom-color:var(--line)} /* bara colorată din stânga rămâne */
#r .st,#r .mini,#r .sd,#r .frt,#r .pf-f,#r .fbst>div,#r .fbwin,#r .jkr .jk2,#r .adv-d{border-radius:var(--tile-r)}
#r .st{background:var(--sf2)}
/* conturul plăcuțelor se pune cu :where(#r) (specificitate 0), ca stările lor (.frt.on, .adv-d.open, :hover) să-și păstreze culoarea */
:where(#r) :is(.mini,.sd,.frt,.pf-f,.fbst>div,.fbwin,.jkr .jk2,.adv-d){border:var(--card-bd);box-shadow:none}
:where(#r) .frt.on{box-shadow:0 0 0 1px var(--ac)}
#r .pf-sec>summary,#r .pf-tabs{background:var(--card-bg);border:var(--card-bd);box-shadow:none;border-radius:var(--tile-r)}
/* cardurile din foi și din subsolul copertei își păstrează aspectul „fără cadru” (altfel #r .card le-ar da chenar dublu în foaie) */
#r .sheet .card,#r .cov-f .card{background:none;border:0;border-radius:0;box-shadow:none}
#r input,#r select,#r textarea{background:var(--sf2);border:2px solid transparent;border-radius:var(--r1);padding:12px 14px;color:var(--tx)}
#r input:focus,#r select:focus,#r textarea:focus{outline:none;border-color:var(--ac2)}
#r input[type=checkbox]{border-radius:4px}
#r label{font-weight:600;color:var(--mu)}
#r .tag,#r .chip{background:var(--sf2);border:0;color:var(--mu);font-weight:600}
#r .meter{background:var(--sf2);border:0;height:10px}
#r .meter i{background:var(--ac)}
#r th{font-weight:600}
/* Foi (autentificare, distribuire) și bara de rezultat: același fundal, conturul subțire, raza --r3, umbra de sus și spațiul de jos cu safe-area */
.sheet-bg{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(5,7,14,.66)}
.sheet{background:var(--sf);border:0;border-top:1px solid var(--line);border-radius:var(--r3) var(--r3) 0 0;box-shadow:0 -10px 32px -12px var(--shc);padding:8px 22px var(--sheet-pb);scroll-padding-bottom:var(--sheet-pb)}
@media(min-width:700px){.sheet{border:1px solid var(--line);border-radius:var(--r3);padding-bottom:24px;box-shadow:0 24px 60px -16px var(--shc)}}
/* mâner: mai lat, mai gros, contrast bun pe ambele teme; zona de atingere e mai mare decât linia desenată */
.hdl{position:relative;width:48px;height:6px;border-radius:99px;background:var(--hdl);margin:4px auto 18px}
.hdl::after{content:"";position:absolute;inset:-14px -20px}
.x{background:var(--sf2)}
#r .qcbar{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r3);box-shadow:var(--card-sh),0 -10px 32px -12px var(--shc)}
#r .qcbar.ok{border-color:color-mix(in srgb,var(--ok) 55%,var(--line))}
#r .qcbar.er{border-color:color-mix(in srgb,var(--er) 55%,var(--line))}
.sheet input:not([type=checkbox]),.sheet select{border-radius:var(--r2)}
#t{background:var(--tx);color:var(--bg);border:0;border-radius:var(--r2);font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.35)}

/* --- Copertă --- */
/* Copertă: model discret (vinil în linii fine + grilă de puncte), foarte transparent și estompat spre margini, ca fundalul să nu fie complet plat */
#r .cov::before{content:"";display:block;position:absolute;z-index:-1;inset:-4% -8% 6% -8%;pointer-events:none;opacity:.5;
 background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400' fill='none' stroke='%238c96c8'><circle cx='200' cy='200' r='197' stroke-width='2'/><circle cx='200' cy='200' r='64' stroke-width='1'/><circle cx='200' cy='200' r='76' stroke-width='1'/><circle cx='200' cy='200' r='88' stroke-width='1'/><circle cx='200' cy='200' r='100' stroke-width='1'/><circle cx='200' cy='200' r='112' stroke-width='1'/><circle cx='200' cy='200' r='124' stroke-width='1'/><circle cx='200' cy='200' r='136' stroke-width='1'/><circle cx='200' cy='200' r='148' stroke-width='1'/><circle cx='200' cy='200' r='160' stroke-width='1'/><circle cx='200' cy='200' r='172' stroke-width='1'/><circle cx='200' cy='200' r='184' stroke-width='1'/><circle cx='200' cy='200' r='46' stroke-width='1.5'/><circle cx='200' cy='200' r='5' stroke-width='1.5'/></svg>") no-repeat right 3% top 6% / min(540px,78vw),radial-gradient(circle,color-mix(in srgb,var(--tx) 24%,transparent) 1px,transparent 1.6px) 0 0 / 22px 22px;
 -webkit-mask-image:radial-gradient(80% 85% at 74% 32%,#000 0,rgba(0,0,0,.55) 42%,transparent 76%);mask-image:radial-gradient(80% 85% at 74% 32%,#000 0,rgba(0,0,0,.55) 42%,transparent 76%)}
@media(max-width:640px){#r .cov::before{opacity:.38;background-position:right -30% top 2%,0 0}}
#r .cov h1{font-weight:800;letter-spacing:-.045em;line-height:.94;font-size:clamp(46px,14vw,72px)}
@media(min-width:641px){#r .cov h1{font-size:clamp(60px,7.4vw,112px)}}
#r .cov h1 span:last-child{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:inherit;padding-bottom:0}
#r .cov-k{background:var(--sf2);border:0;font-weight:700;letter-spacing:0}
#r .cov-k::before{background:var(--ac);box-shadow:none}
#r .cov-s{color:var(--mu);margin-top:18px}
#r .cov-pt li::before{background:var(--ac2);width:5px;height:5px}
#r .cov-a>button{height:58px;border-radius:var(--r2);font-size:17px}
#r .cov-a>.b{box-shadow:0 3px 0 var(--edge)}
#r .cov-a>.b:active{box-shadow:0 1px 0 var(--edge)}
#r .cov-a>.b2{background:var(--sf2);border:0;box-shadow:0 3px 0 var(--edge2)}
#r .cov-a>.b2:active{box-shadow:0 1px 0 var(--edge2)}
#r .cov-a>.cov-guest,#r .cov-a>.b.cov-guest{background:var(--ac);animation:none;box-shadow:0 3px 0 var(--edge);min-height:68px}
#r .cov-guest span{font-weight:800}
#r .cov-l{border-bottom-color:var(--line)}
#r .cov-dd{box-shadow:none}
#r .cov-dd::after{opacity:.5}

/* --- Demo pe copertă și „Cum se joacă” --- */
#r .dm{background:var(--sf);border:1px solid var(--line);border-radius:var(--r3);box-shadow:none}
#r .dm-pvb{background:var(--sf2)}
#r .dm-eq i,#r .eq i{background:var(--ac2)}
#r .dm-d .dsk,#r .hw-d .dsk{box-shadow:none;background:radial-gradient(circle,var(--bg) 0 5%,var(--ac) 5.5% 20%,#14141f 21%)}
#r .how-c{background:var(--sf);border:1px solid var(--line);box-shadow:none;border-radius:var(--r3)}
#r .how-n{background:var(--ac);box-shadow:none}
#r .how-fi{background:var(--sf)}
#r .hw-r u{background:var(--ac)}
#r .how-end{background:var(--ac);color:#fff;border-radius:var(--r3);box-shadow:none}
#r .how-end h3{color:#fff}
#r .how-end .b{background:#fff;color:#1a2bb8;box-shadow:0 3px 0 rgba(0,0,0,.22)}
#r .how-end .b2{background:rgba(255,255,255,.18);color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.22)}

/* --- Cardul quizului --- */
#r .gcard{border-radius:var(--r3)}
html #r .card.gcard.dq{background:var(--sf);background-image:none;border:var(--card-bd);box-shadow:var(--card-sh)}
#r .dqb{background:var(--ac);color:#fff;text-shadow:none;border-radius:0}
#r .dqb b{font-family:var(--font);font-weight:800;letter-spacing:-.01em}
#r .gm{font-weight:600}
#r .gsp{background:var(--sf2)}
#r .qk .qq{color:var(--ac2);font-weight:700}
#r .gcard h1{letter-spacing:-.03em}

/* --- Player: vinil plat, fără strălucire --- */
#r .au{background:var(--sf2);border-radius:var(--r2)}
#r .ring .disc{box-shadow:none}
#r .ring .aub{background:var(--ac);color:#fff;box-shadow:0 3px 0 var(--edge)}
#r .ring .aub:active{transform:translateY(2px);box-shadow:0 1px 0 var(--edge)}
#r .aubar{background:var(--sf);border:0}
#r .aubar .ph{background:var(--ac2)}
#r .gin{background:var(--sf2);border:2px solid transparent;border-radius:var(--r2)}
#r .gin:focus-within{border-color:var(--ac2)}

/* --- Variante de răspuns: plăci mari, tactile --- */
#r .mc-h{font-weight:600}
#r .mcb{background:var(--sf2);border:2px solid transparent;border-radius:var(--r2);box-shadow:0 3px 0 var(--edge2);font-weight:600;min-height:60px;transition:transform .08s,box-shadow .08s,border-color .15s,background-color .15s}
#r .mcb i{background:var(--sf);color:var(--mu);border-radius:10px;font-weight:700;font-family:var(--font)}
@media(hover:hover){#r .mcb:hover:not(:disabled):not(.dis):not(.out){border-color:var(--ac2)}}
#r .mcb:active:not(:disabled):not(.dis){transform:translateY(2px);box-shadow:0 1px 0 var(--edge2)}
#r .mcb.good,#r .lopts .mcb.good{background:color-mix(in srgb,var(--ok) 22%,var(--sf2));border-color:var(--ok);box-shadow:0 3px 0 color-mix(in srgb,var(--ok) 55%,#000)}
#r .mcb.good i{background:var(--ok);color:#052e1f}
#r .mcb.bad,#r .lopts .mcb.bad{background:color-mix(in srgb,var(--er) 20%,var(--sf2));border-color:var(--er);box-shadow:0 3px 0 color-mix(in srgb,var(--er) 55%,#000)}
#r .mcb.bad i{background:var(--er);color:#fff}
#r .mcb.out{box-shadow:none}
#r .mc-lock span{background:var(--tx);color:var(--bg);border:0;box-shadow:none;font-weight:700}
#r .qtb{background:var(--sf2)}
#r .qtb i{background:var(--ac2)}

/* --- Identitate vizuală: iconițe proprii în linii (disc, undă, pin de oraș ...) în loc de emoji amestecate --- */
#r .ic{vertical-align:-.2em}
#r .pf-tab i{display:inline-grid;place-items:center;font-size:0;line-height:0;filter:none;opacity:.8}
#r .pf-tab.on i{opacity:1;color:var(--ac2)}
#r .cov-k::before{display:none}
#r .cov-k .ic,#r .inv-b .ic{color:var(--ac2)}
#r .cov-guest .ic{fill:currentColor;vertical-align:-.15em}
#r .b>.ic,#r .b2>.ic,#r .tag>.ic{margin-right:2px}

/* --- Rămășițe de degrade, aduse la culori pline --- */
#r .dfc.on{background:var(--ac);color:#fff}
#r .pfc-i,#r .bzc-i{background:var(--ac)}
#r .bz-bar i{background:var(--ac2)}
#r nav.adm .adm-l a.on{background:var(--ac)}
@media(prefers-reduced-motion:reduce){#r .mcb{transition:none}}

/* Date și încredere (Clasament): „Actualizat acum…”, buton de reîmprospătare și panelul „i” */
.bdh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bdh h1{margin:0}
.bdm{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mu)}
.bdr,.bdi{width:36px;height:36px;min-width:36px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bd);background:var(--sf);color:var(--tx);font-size:16px;line-height:1;cursor:pointer}
.bdi{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:17px}
.bdi[aria-expanded=true]{border-color:var(--ac2);background:color-mix(in srgb,var(--ac2) 18%,var(--sf))}
.bdr:focus-visible,.bdi:focus-visible{outline:2px solid var(--ac2);outline-offset:2px}
.binfo{margin:0 0 12px;padding:12px 14px;border:1px solid var(--bd);border-radius:14px;background:color-mix(in srgb,var(--tx) 4%,transparent);font-size:13.5px;line-height:1.5}
.binfo[hidden]{display:none}
.binfo h3{font-size:15px;margin:0 0 6px}
.binfo ul{margin:0;padding-left:18px}.binfo li{margin:3px 0}
.binfo .bf{margin:8px 0 0;color:var(--mu);font-size:12.5px}
