/* La Petite Lucie — tkm design system (themed per page)
   ONE accent per page reserved for CTAs. Table above the fold. Trust badges up top.
   Themes: casino (or) · nouveaux (émeraude) · crypto (néon) · sports (azur) · poker (velours) · guide (ardoise) */
:root{
  --bg:#0d0f14;--surface:#161a22;--surface-2:#1d222c;--line:#2b323e;
  --ink:#eef2f7;--soft:#c4cdd8;--muted:#93a0af;
  --accent:#d4af37;--accent-2:#f0cf6b;--accent-ink:#1a1305;
  --hero-a:#1a1206;--hero-b:#0d0f14;--hero-ink:#fff;
  --foot:#0a0c10;--foot-muted:#8a97a5;
  --max:1160px;--radius:14px;
  --f-disp:"Wix Madefor Display",Georgia,serif;
  --f-text:"Wix Madefor Text",system-ui,Segoe UI,Roboto,sans-serif;
  --f-num:"Bebas Neue",Impact,sans-serif;
}
/* ---- per-page themes ---- */
body[data-theme="casino"]  {--accent:#e6b422;--accent-2:#ffd873;--accent-ink:#241800;--hero-a:#241a05;--hero-b:#0c0e13;}
body[data-theme="nouveaux"]{--accent:#10c98f;--accent-2:#5ff0c4;--accent-ink:#00251a;--hero-a:#062b23;--hero-b:#0a0f0e;}
body[data-theme="crypto"]  {--accent:#8b5cf6;--accent-2:#22d3ee;--accent-ink:#160736;--hero-a:#160a2e;--hero-b:#080a12;}
body[data-theme="sports"]  {--accent:#3b82f6;--accent-2:#38e07a;--accent-ink:#04122e;--hero-a:#08203f;--hero-b:#0a0e15;}
body[data-theme="poker"]   {--accent:#e11d48;--accent-2:#f59e0b;--accent-ink:#2a020c;--hero-a:#0d3123;--hero-b:#120a0d;}
body[data-theme="guide"]   {--accent:#64a0d8;--accent-2:#9fc3e6;--accent-ink:#0a1826;--hero-a:#161d27;--hero-b:#0c0f14;}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-text);font-size:16px;line-height:1.65}
.tkm-wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--f-disp);color:#fff;line-height:1.2;font-weight:800}
img{max-width:100%;height:auto}

/* ---------- NAV ---------- */
.tkm-nav{position:sticky;top:0;z-index:60;background:rgba(10,12,16,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tkm-nav-in{display:flex;align-items:center;gap:20px;height:66px}
.tkm-logo{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.tkm-logo-mark{font-family:var(--f-disp);font-weight:800;font-size:1.35rem;color:#fff;letter-spacing:.2px}
.tkm-logo-mark b{color:var(--accent)}
.tkm-logo-tag{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.tkm-nav-links{margin-left:auto;display:flex;gap:2px;align-items:center}
.tkm-navitem{position:relative}
.tkm-navtop{display:inline-flex;align-items:center;gap:5px;color:var(--soft);font-weight:600;font-size:.93rem;padding:10px 13px;border-radius:9px}
.tkm-navtop:hover{background:var(--surface-2);color:#fff;text-decoration:none}
.tkm-caret{font-size:.6rem;opacity:.7}
.tkm-drop-panel{position:absolute;top:100%;left:0;min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.tkm-navitem:hover .tkm-drop-panel{opacity:1;visibility:visible;transform:translateY(4px)}
.tkm-drop-panel a{display:block;color:var(--soft);padding:8px 11px;border-radius:8px;font-size:.9rem}
.tkm-drop-panel a:hover{background:var(--surface-2);color:#fff;text-decoration:none}
.tkm-drop-panel a.sub{padding-left:22px;color:var(--muted);font-size:.86rem}
.tkm-drop-h{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:9px 11px 4px}
.tkm-burger{display:none;margin-left:auto}
.tkm-burger>summary{list-style:none;cursor:pointer;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface)}
.tkm-burger>summary::-webkit-details-marker{display:none}
.tkm-burger-b,.tkm-burger-b::before,.tkm-burger-b::after{content:"";display:block;width:20px;height:2px;background:#fff;position:relative}
.tkm-burger-b::before{position:absolute;top:-6px}.tkm-burger-b::after{position:absolute;top:6px}
.tkm-burger-p{position:absolute;right:20px;left:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px}
.tkm-burger-p a{display:block;color:var(--soft);padding:10px 12px;border-radius:8px}
.tkm-burger-p a:hover{background:var(--surface-2)}
.tkm-bsub>summary{cursor:pointer;color:#fff;padding:10px 12px;font-weight:600}
.tkm-bsub a{padding-left:24px;font-size:.9rem}

/* ---------- HERO ---------- */
.tkm-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--hero-a),var(--hero-b) 70%);border-bottom:1px solid var(--line)}
.tkm-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5}
.tkm-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 100% 0,transparent 40%,rgba(0,0,0,.4))}
/* per-theme hero motif */
body[data-theme="casino"] .tkm-hero::before{background:
  repeating-conic-gradient(from 0deg at 84% 32%,rgba(230,180,34,.16) 0 12deg,transparent 12deg 24deg);
  -webkit-mask:radial-gradient(circle at 84% 32%,#000 0,#000 260px,transparent 340px);mask:radial-gradient(circle at 84% 32%,#000 0,#000 260px,transparent 340px)}
body[data-theme="nouveaux"] .tkm-hero::before{background:
  repeating-conic-gradient(from -20deg at 88% 18%,rgba(16,201,143,.18) 0 6deg,transparent 6deg 20deg)}
body[data-theme="crypto"] .tkm-hero::before{background:
  radial-gradient(circle at 82% 28%,rgba(34,211,238,.16),transparent 42%),
  linear-gradient(30deg,transparent 47%,rgba(139,92,246,.14) 49% 51%,transparent 53%) 0 0/44px 44px,
  linear-gradient(-30deg,transparent 47%,rgba(139,92,246,.10) 49% 51%,transparent 53%) 0 0/44px 44px}
body[data-theme="sports"] .tkm-hero::before{background:
  repeating-linear-gradient(115deg,rgba(59,130,246,.10) 0 2px,transparent 2px 66px),
  radial-gradient(circle at 86% 120%,rgba(56,224,122,.20),transparent 45%)}
body[data-theme="poker"] .tkm-hero::before{background:
  radial-gradient(circle at 50% 50%,rgba(225,29,72,.13),transparent 60%),
  repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 14px,transparent 14px 28px)}
body[data-theme="guide"] .tkm-hero::before{background:linear-gradient(100deg,rgba(100,160,216,.10),transparent 55%)}
.tkm-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 320px;gap:34px;align-items:center;padding:40px 0 46px}
.tkm-hero.solo .tkm-hero-in{grid-template-columns:1fr;max-width:820px}
.tkm-eyebrow{display:inline-block;font-family:var(--f-num);letter-spacing:.22em;color:var(--accent);font-size:1rem;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:4px 14px;margin-bottom:14px}
.tkm-h1{font-size:2.5rem;margin:0 0 14px;letter-spacing:-.5px}
.tkm-h1 em{font-style:normal;color:var(--accent)}
.tkm-byline{display:flex;align-items:center;gap:9px;margin:0 0 14px}
.tkm-byline img{border-radius:50%;border:2px solid var(--accent)}
.tkm-byline-t{font-size:.84rem;color:var(--muted)}.tkm-byline-t a{color:var(--soft)}
.tkm-lede{font-size:1.1rem;color:var(--soft);max-width:60ch;margin:0 0 16px}
.tkm-lede-more{display:none}.tkm-lede.is-open .tkm-lede-more{display:inline}
.tkm-lede-tog{background:none;border:0;color:var(--accent);font-weight:700;cursor:pointer;padding:0 4px;font-family:var(--f-text)}
.tkm-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.tkm-trust span{font-size:.78rem;color:var(--soft);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.tkm-trust span::before{content:"✓ ";color:var(--accent)}
/* hero aside card */
.tkm-subdial{position:relative;z-index:1;background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.tkm-subdial::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;background:linear-gradient(140deg,var(--accent),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.tkm-sd-top{font-family:var(--f-num);letter-spacing:.2em;color:var(--accent);font-size:1.05rem}
.tkm-sd-plate{background:#fff;border-radius:12px;height:96px;display:flex;align-items:center;justify-content:center;padding:14px;margin:12px 0}
.tkm-sd-plate img{max-height:64px;width:auto;object-fit:contain}
.tkm-sd-ring{display:none}
.tkm-sd-name{font-family:var(--f-disp);font-weight:800;font-size:1.25rem;color:#fff;margin:4px 0 2px}
.tkm-sd-bon{color:var(--accent-2);font-weight:700;margin:0 0 12px;font-size:.98rem}

/* ---------- CTA ---------- */
.tkm-cta{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:800;text-align:center;padding:12px 20px;border-radius:10px;white-space:nowrap;border:0;cursor:pointer;transition:transform .12s,filter .12s;font-family:var(--f-text)}
.tkm-cta:hover{filter:brightness(1.08);transform:translateY(-1px);text-decoration:none;color:var(--accent-ink)}
.tkm-cta-w{display:block;width:100%}
.tkm-tc{font-size:.7rem;color:var(--muted);margin:6px 0 0}

/* ---------- TOPLIST ---------- */
#toplist{padding:34px 0 8px}
#toplist>.tkm-wrap>h2{font-size:1.8rem;margin:0 0 6px}
.tkm-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}
.tkm-chip{background:var(--surface);border:1px solid var(--line);color:var(--soft);border-radius:999px;padding:8px 15px;font-size:.86rem;cursor:pointer;font-family:var(--f-text)}
.tkm-chip[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.tkm-row{display:grid;grid-template-columns:44px 150px 1.4fr 1.1fr 170px;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin-bottom:12px;position:relative}
.tkm-row[data-top="1"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,0 10px 30px rgba(0,0,0,.35)}
.tkm-rank{font-family:var(--f-num);font-size:2rem;color:var(--accent);text-align:center;line-height:1}
.tkm-plate{background:#fff;border-radius:10px;height:66px;display:flex;align-items:center;justify-content:center;padding:8px}
.tkm-plate img{max-height:48px;width:auto;object-fit:contain}
.tkm-award{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);background:var(--accent);border-radius:5px;padding:2px 8px;margin:0 0 5px;font-weight:800}
.tkm-name{font-family:var(--f-disp);font-weight:800;font-size:1.2rem;color:#fff;margin:0 0 3px}
.tkm-bon{color:var(--soft);margin:0;font-size:.92rem}.tkm-bon em{color:var(--muted)}
.tkm-scale{min-width:0}
.tkm-scale-t{font-size:.82rem;color:#fff;font-weight:600;margin:0 0 6px}
.tkm-track{height:7px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--line)}
.tkm-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.tkm-scale-l{display:flex;justify-content:space-between;font-size:.68rem;color:var(--muted);margin-top:5px}
.tkm-mobile-cards{display:none}
.tkm-morewrap{text-align:center;margin:10px 0 4px}
.tkm-more{background:var(--surface);border:1px solid var(--line);color:#fff;border-radius:10px;padding:11px 22px;cursor:pointer;font-weight:700;font-family:var(--f-text)}

/* ---------- SECTIONS / ARTICLE ---------- */
section{padding:26px 0}
section>.tkm-wrap>h2{font-size:1.7rem;margin:0 0 10px;padding-top:.2em}
.tkm-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tkm-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.tkm-panel h3{margin:0 0 8px;font-size:1.2rem}
.tkm-ghost{display:inline-block;border:1px solid var(--accent);color:var(--accent);border-radius:9px;padding:8px 15px;font-weight:700;font-size:.9rem}
.tkm-ghost:hover{background:var(--accent);color:var(--accent-ink);text-decoration:none}
.tkm-ol{padding-left:1.2em}.tkm-ol li{margin:.5em 0;color:var(--soft)}
.tkm-disc{background:#20140f;border:1px solid #4a2b22;border-radius:12px;padding:16px 18px;color:#f0d9cf;font-size:.9rem}
.tkm-disc b{color:#fff}

/* article body (French content) */
.tkm-article .tkm-body{max-width:60rem}
.tkm-body h2{font-size:1.6rem;margin:1.6em 0 .5em;padding-top:.5em;border-top:1px solid var(--line)}
.tkm-body h3{font-size:1.2rem;margin:1.3em 0 .4em;color:#fff}
.tkm-body p,.tkm-body li{color:var(--soft)}
.tkm-body p{margin:.7em 0}
.tkm-body ul,.tkm-body ol{padding-left:1.2em}.tkm-body li{margin:.35em 0}
.callout{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:14px 16px;margin:1.2em 0}
.callout.warn{border-left-color:#e0564f}
.callout h4{margin:.1em 0 .3em;color:#fff}
.review{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:16px 0}
.review .rhead{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.review .rhead img{width:46px;height:46px;border-radius:9px;background:#fff;object-fit:contain;padding:4px}
.op-name{font-family:var(--f-disp);font-weight:800;color:#fff}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:.8em 0}
.pros-cons ul{list-style:none;padding:0;margin:0}
.pros-cons li{padding-left:22px;position:relative;margin:.3em 0}
.pros li::before{content:"✔";position:absolute;left:0;color:var(--accent)}
.cons li::before{content:"✕";position:absolute;left:0;color:#e0564f}
table.data{width:100%;border-collapse:collapse;margin:1em 0;font-size:.93rem}
table.data th,table.data td{border:1px solid var(--line);padding:9px 11px;text-align:left}
table.data thead th{background:var(--surface-2);color:#fff}
table.data tbody tr:nth-child(even){background:var(--surface)}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:8px 0}
.faq summary{cursor:pointer;padding:13px 15px;font-weight:700;color:#fff;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--accent);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq details .a{padding:0 15px 14px;color:var(--soft)}
.rg-tag{background:#20140f;border:1px solid #4a2b22;border-radius:10px;padding:12px 15px;margin:16px 0;font-size:.9rem;color:#f0d9cf}
.rg-tag b{color:#fff}.rg-inline{font-size:.8rem;color:var(--muted);margin-top:6px}
.cta-note{color:var(--muted);font-size:.75rem}
.author-box{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 15px;margin:18px 0}
.author-box .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));flex:0 0 auto}
img.av{object-fit:cover;border:2px solid var(--accent)}
.tkm-byline img{object-fit:cover}
.author-box small{color:var(--muted)}

/* ---------- FOOTER ---------- */
.tkm-foot{background:var(--foot);border-top:1px solid var(--line);padding:34px 0;margin-top:20px}
.tkm-foot-g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px}
.tkm-foot h4{color:#fff;margin:0 0 10px;font-size:1rem}
.tkm-foot a{display:block;color:var(--foot-muted);padding:4px 0;font-size:.9rem}
.tkm-foot a:hover{color:#fff}
.tkm-foot-plate{font-family:var(--f-disp);font-weight:800;font-size:1.4rem;color:#fff;margin-bottom:10px}
.tkm-foot-plate b{color:var(--accent)}
.tkm-age{display:inline-block;background:#e0564f;color:#fff;font-weight:800;border-radius:6px;padding:1px 7px;font-size:.8rem}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .tkm-nav-links{display:none}.tkm-burger{display:block}
  /* Above-the-fold priority on mobile: H1 + author/updated byline, then the toplist H2 + table.
     The lede and the "coup de cœur" aside are pushed out of the first viewport. */
  .tkm-wrap{padding-left:22px;padding-right:22px}
  .tkm-hero-in{grid-template-columns:1fr;gap:0;padding:22px 4px 16px}
  .tkm-hero .tkm-lede,.tkm-hero .tkm-trust,.tkm-subdial{display:none}
  .tkm-h1{font-size:1.55rem;margin-bottom:8px;padding-right:6px}
  .tkm-byline{margin-bottom:2px}
  .tkm-eyebrow{margin-bottom:9px}
  #toplist{padding:14px 0 6px}
  #toplist>.tkm-wrap>h2{font-size:1.32rem;line-height:1.25}
  .tkm-filters{margin:12px 0 12px}
  .tkm-grid3,.tkm-foot-g{grid-template-columns:1fr}
  .tkm-desk-rows{display:none}
  .tkm-mobile-cards{display:block}
  .tkm-mcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px;text-align:center;position:relative}
  .tkm-mcard[data-top="1"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
  .tkm-mcard .tkm-rank{position:absolute;top:10px;left:12px;font-size:1.4rem}
  .tkm-mcard .tkm-plate{height:60px;margin:6px auto 10px;max-width:170px}
  .tkm-mcard .tkm-scale{margin:10px 0}
  .tkm-mcard .tkm-award{position:absolute;top:12px;right:12px;margin:0}
}
@media(min-width:901px){.tkm-mobile-cards{display:none}}
