/* ══ HALAMAN REVIEW — /review dan /review/<slug> (Dapur Konten, lane C) ══
   v2 (14 Okt 2026, brief C2): tata letak = MOCKUP_G3_Review_KOREKSI.html, TAHAN TEKS PANJANG.

   🔒 TOKEN = SALINAN PERSIS token mockup koreksi (terang & gelap). Terang = palet /p/
      (public_produk.html) dengan nama peran mockup; gelap = token gelap mockup
      (aksen teks #8DB4FF, menutup catatan kontras C v1).
      Tambahan C (bukan di mockup), alasan kontras teks kecil di latar hijau/merah muda:
        --suksesTeks  terang #15803D (= /p/ --hijau-ink, 4,79:1 di hijauBg; mockup #16A34A 3,15:1)
        --bahayaTeks  terang #B42318 (6,28:1 di merahBg; mockup #E5484D 3,58:1)
      Huruf: Plus Jakarta Sans; angka tabular-nums.
   🔴 Tahan teks panjang: semua kolom membungkus (min-width:0 + overflow-wrap), tabel
      lebar menggulir di kotaknya sendiri — nol geser mendatar di halaman. */
:root{
  --bg:#F8FAFC; --surface:#FFFFFF; --surface2:#F9FAFB; --edge:#E5E7EB; --edge2:#F1F5F9;
  --ink:#111827; --ink2:#667085; --ink3:#98A2B3;
  --primary:#0B5CFF; --primaryText:#0B5CFF; --success:#16A34A; --danger:#E5484D;
  --biru:#EFF6FF; --hijauBg:#F0FDF4; --hijauEdge:#BBF7D0; --merahBg:#FEF2F2; --merahEdge:#FECACA;
  --suksesTeks:#15803D; --bahayaTeks:#B42318;
  --tombolIsi:#0B5CFF;   /* latar tombol/pil berteks putih — terang = --primary persis (putih 5,26:1) */
}
html[data-tema="gelap"]{
  --bg:#0B1220; --surface:#111A2E; --surface2:#0F1729; --edge:#22304A; --edge2:#1A253C;
  --ink:#E6EBF2; --ink2:#A3AEC2; --ink3:#7C889E;
  --primary:#3D7BFF; --primaryText:#8DB4FF; --success:#4ADE80; --danger:#FB7185;
  --biru:#16244A; --hijauBg:#0F2A1C; --hijauEdge:#1E4D33; --merahBg:#2A1218; --merahEdge:#4D1E28;
  --suksesTeks:#4ADE80; --bahayaTeks:#FB7185;
  --tombolIsi:#2563EB;   /* C3: dulu --primary #3D7BFF (putih 3,84:1) → putih 5,17:1 */
}

*{box-sizing:border-box; -webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
body{margin:0; min-height:100vh; background:var(--bg); color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.75; overflow-wrap:anywhere}
a{color:var(--primaryText)}
img{max-width:100%; display:block}
summary{cursor:pointer}
h1,h2,h3{letter-spacing:-.01em}
.angka{font-variant-numeric:tabular-nums}
.label{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--primaryText); line-height:1.4}
.redup{color:var(--ink2)}
.bungkus{max-width:1200px; margin:0 auto; padding-left:20px; padding-right:20px}
sup{line-height:0}
sup a{text-decoration:none; font-size:12px; font-weight:600}

/* ── Pita atas + kepala ── */
.pita{background:var(--surface2); border-bottom:1px solid var(--edge); font-size:12px; color:var(--ink2); line-height:1.6}
.pita .bungkus{padding-top:6px; padding-bottom:6px; display:flex; flex-wrap:wrap; gap:4px 20px}
header{border-bottom:1px solid var(--edge); background:var(--surface)}
header .bungkus{padding-top:12px; padding-bottom:12px; display:flex; flex-wrap:wrap; align-items:center; gap:12px}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink)}
.logo img{width:32px; height:32px; object-fit:contain}
.logo b{font-weight:800; font-size:18px}
.nav{display:flex; flex-wrap:wrap; align-items:center; gap:2px; margin-left:auto; font-size:15px}
.nav a{padding:8px 10px; color:var(--ink); text-decoration:none}
.nav a.aktif{color:var(--primaryText); font-weight:700; border-bottom:2px solid var(--primary)}
.btn-tema{height:40px; padding:0 14px; border-radius:10px; border:1px solid var(--edge);
  background:var(--surface); color:var(--ink); font:600 14px 'Plus Jakarta Sans',sans-serif; cursor:pointer}

main{display:flex; flex-direction:column; gap:28px; padding-top:20px; padding-bottom:72px}
main.daftar{padding-top:32px}

/* ── Remah ── */
.remah{font-size:13px; color:var(--ink2); display:flex; flex-wrap:wrap; gap:8px; line-height:1.6}
.remah a{color:var(--ink2); text-decoration:none}
.remah .kini{color:var(--ink)}

/* ── ① Judul — selebar penuh ── */
.judul-review{display:flex; flex-direction:column; gap:12px; max-width:900px}
.chips{display:flex; flex-wrap:wrap; gap:6px; font-size:12px; font-weight:600; line-height:1.6}
.chip{padding:3px 10px; border-radius:999px; background:var(--surface2); border:1px solid var(--edge); color:var(--ink2)}
.chip.utama{background:transparent; border-color:var(--primary); color:var(--primaryText); letter-spacing:.04em}
h1{margin:0; font-size:clamp(30px,5vw,42px); line-height:1.15; font-weight:800}
.sub{margin:0; font-size:19px; color:var(--ink2); line-height:1.6}
.meta{display:flex; flex-wrap:wrap; gap:4px 18px; font-size:14px; color:var(--ink2); line-height:1.6}
.meta b{color:var(--ink)}

/* ── ② Pahlawan — banner ≤520 + kartu ringkas, nol stretch ── */
.pahlawan{display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start}
.banner-utama{flex:1 1 460px; max-width:520px; aspect-ratio:1/1; border-radius:18px; overflow:hidden;
  background:var(--surface2); border:1px solid var(--edge)}
.banner-utama img{width:100%; height:100%; object-fit:contain}
.pahlawan-kanan{flex:1 1 380px; min-width:0; display:flex; flex-direction:column; gap:16px}
.kotak{background:var(--surface); border:1px solid var(--edge); border-radius:18px; padding:22px;
  display:flex; flex-direction:column; gap:14px}
.kotak.aksen{border:1.5px solid var(--primary)}
.nilai-kepala{display:flex; align-items:center; gap:18px}
.cincin{width:96px; height:96px; flex:none; border-radius:50%; border:7px solid var(--primary);
  display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1}
.cincin b{font-size:30px; font-weight:800}
.cincin span{font-size:11px; color:var(--ink2); margin-top:4px}
.nilai-teks{display:flex; flex-direction:column; line-height:1.3}
.nilai-teks .besar{font-size:24px; font-weight:800}
.nilai-teks .kecil{font-size:13px; color:var(--ink2)}
.putusan{margin:0; font-size:16px; line-height:1.65; border-top:1px solid var(--edge); padding-top:14px}
.putusan > a{white-space:nowrap; font-size:14px; font-weight:600}
.harga-kotak{gap:10px}
.harga{font-size:32px; font-weight:800; line-height:1.1}
.catatan-harga{font-size:14px; color:var(--ink2); line-height:1.55}
.tombol{display:flex; align-items:center; justify-content:center; min-height:46px; border-radius:12px;
  text-decoration:none; font-weight:700; font-size:15px; padding:0 14px; text-align:center; line-height:1.3}
.tombol.isi{background:var(--tombolIsi); color:#FFFFFF}
.tombol.garis{border:1px solid var(--edge); color:var(--ink); font-weight:600}

/* ── ③ Kelebihan | Kekurangan — selebar penuh, menumpuk di HP ── */
.plusmin{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); gap:16px; align-items:start}
.plusmin > div{border-radius:16px; padding:20px 22px; min-width:0}
.plusmin .plus{background:var(--hijauBg); border:1px solid var(--hijauEdge)}
.plusmin .min{background:var(--merahBg); border:1px solid var(--merahEdge)}
.plusmin h2{margin:0 0 10px; font-size:18px; font-weight:800; line-height:1.4}
.plusmin .plus h2{color:var(--suksesTeks)}
.plusmin .min h2{color:var(--bahayaTeks)}
.plusmin ul{margin:0; padding-left:20px; display:flex; flex-direction:column; gap:8px; font-size:16px; line-height:1.6}

/* ── ④ Isi + kolom samping lengket ── */
.badan{display:flex; flex-wrap:wrap; gap:40px; align-items:flex-start}
article{flex:999 1 560px; min-width:0; max-width:760px; display:flex; flex-direction:column; gap:44px}
.sisi{flex:1 1 280px; min-width:0; max-width:340px; position:sticky; top:16px; display:flex; flex-direction:column; gap:14px}
article section{display:flex; flex-direction:column; gap:14px; scroll-margin-top:16px}
article h2{margin:0; font-size:28px; font-weight:800; line-height:1.3}
article h3{margin:4px 0 0; font-size:20px; font-weight:700; line-height:1.4}
article p{margin:0; white-space:pre-line}
.ket{margin:0; font-size:13px; color:var(--ink2); line-height:1.6}

.daftar-isi{display:flex; flex-wrap:wrap; gap:6px; font-size:14px; line-height:1.5}
.daftar-isi a{padding:6px 12px; border-radius:999px; background:var(--surface); border:1px solid var(--edge);
  color:var(--ink); text-decoration:none}

.tabel{border:1px solid var(--edge); border-radius:14px; overflow:hidden; background:var(--surface)}
.baris{display:grid; grid-template-columns:150px minmax(0,1fr); gap:14px; padding:12px 16px;
  border-bottom:1px solid var(--edge2); font-size:15px; line-height:1.5}
.baris:last-child{border-bottom:0}
.baris .kiri{color:var(--ink2)}
.lencana-unit{display:inline-block; font-size:11px; font-weight:700; color:var(--primaryText); background:var(--biru);
  padding:2px 8px; border-radius:999px; margin-left:6px; line-height:1.5; white-space:nowrap}
.baris.ukur{grid-template-columns:minmax(0,1fr) fit-content(60%) 40px; padding:11px 16px}
.baris.ukur .kanan{display:flex; flex-direction:column}
.baris.ukur .kanan b{font-weight:700}
.baris.ukur .kanan small{font-size:13px; color:var(--ink2); line-height:1.45}
.baris.ukur .no{font-size:12px; text-align:right}
.baris.ukur .no a{text-decoration:none}

.kartu-angka{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); gap:10px}
.kartu-kecil{background:var(--surface); border:1px solid var(--edge); border-radius:12px; padding:14px;
  line-height:1.3; display:flex; flex-direction:column; gap:2px; min-width:0}
.kartu-kecil > span{font-size:12px; color:var(--ink2)}
.kartu-kecil > b{font-size:22px; font-weight:800}
.kartu-kecil > b.panjang{font-size:15px; font-weight:700; line-height:1.45}
.kartu-kecil > small{font-size:13px; color:var(--ink2); line-height:1.45; margin-top:4px}

.port2{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:12px}
.port2 > div{border:1px solid var(--edge); border-radius:12px; padding:14px; background:var(--surface);
  display:flex; flex-direction:column; gap:6px}
.port2 b{font-size:13px} .port2 span{font-size:15px; line-height:1.6; white-space:pre-line}

.panel{border:1px solid var(--edge); border-radius:14px; padding:18px; background:var(--surface);
  display:flex; flex-direction:column; gap:12px}
.judul-grafik{font-size:14px; font-weight:700; line-height:1.5}
.judul-grafik span{font-weight:400; color:var(--ink2)}
.batang{display:flex; flex-direction:column; gap:4px}
.batang .atas{display:flex; justify-content:space-between; align-items:flex-start; gap:12px; font-size:14px; line-height:1.45}
.batang .nama{display:flex; flex-direction:column; min-width:0; color:var(--ink2)}
.batang .nama b{font-weight:400}
.batang .nama small{font-size:12px; color:var(--ink2)}
.batang.ini .nama b{font-weight:700; color:var(--ink)}
.batang .skor{flex:none; color:var(--ink2)}
.batang .skor a{font-size:12px; text-decoration:none}
.jalur{height:10px; border-radius:999px; background:var(--edge2)}
.isi-batang{height:10px; border-radius:999px; background:var(--ink3)}
.batang.ini .isi-batang{background:var(--primary)}
.pil-apl{display:flex; flex-wrap:wrap; gap:6px}
.pil-apl span{font-size:14px; padding:5px 12px; border-radius:999px; background:var(--surface); border:1px solid var(--edge); line-height:1.5}

.cocok-panel{padding:6px 18px; gap:0}
.cocok{padding:14px 0; border-bottom:1px solid var(--edge2); display:flex; flex-direction:column; gap:6px}
.cocok:last-child{border-bottom:0}
.cocok-atas{display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px}
.cocok .keb{flex:1 1 220px; min-width:0; font-weight:700; font-size:15px; line-height:1.5}
.meteran{display:flex; gap:4px; flex:none}
.meteran i{display:block; width:22px; height:10px; border-radius:3px; background:var(--edge)}
.meteran i.on{background:var(--primary)}
.cocok .lbl{font-size:13px; color:var(--ink2); width:110px; text-align:right; line-height:1.4}
.ket-cocok{font-size:14px; color:var(--ink2); line-height:1.55}

.unit{background:var(--surface); border:1.5px solid var(--primary); border-radius:18px; padding:22px}
.unit h2{font-size:24px}
/* C3b/c: 3 kolom × 2 baris (maks 6 foto), 2 kolom di HP, tegak 3:4 = foto asli 1200×1600. height:auto WAJIB — tanpa itu atribut
   height="…" di <img> jadi tinggi CSS tetap dan aspect-ratio diabaikan (dulu: kotak sempit memanjang). */
.foto-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.foto-grid a{display:block; min-width:0}
.foto-grid img{aspect-ratio:3/4; width:100%; height:auto; object-fit:cover; border-radius:10px; background:var(--surface2); border:1px solid var(--edge)}
.judul-qc{font-size:13px; font-weight:700; color:var(--ink2)}
.qc{display:flex; flex-wrap:wrap; gap:6px}
.qc span{font-size:13px; padding:4px 10px; border-radius:999px; font-weight:600; line-height:1.5;
  background:var(--surface2); border:1px solid var(--edge); color:var(--ink2)}
.qc span.lulus{background:var(--hijauBg); border-color:var(--hijauEdge); color:var(--suksesTeks)}

.gulir{overflow-x:auto; border:1px solid var(--edge); border-radius:14px; background:var(--surface)}
.gulir .lebar{min-width:560px}
.banding{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 110px; gap:12px; padding:12px 16px;
  font-size:15px; line-height:1.5; border-bottom:1px solid var(--edge2)}
.banding:last-child{border-bottom:0}
.banding.kepala-tabel{font-size:12px; color:var(--ink2); padding:11px 16px; border-bottom:1px solid var(--edge)}
.banding .laptop{display:flex; flex-direction:column; gap:2px; min-width:0}
.banding .laptop b{font-weight:400}
.banding.ini .laptop b{font-weight:700}
.banding .laptop small{font-size:13px; color:var(--ink2); line-height:1.45}
.banding a,.banding .tautan-ket{font-size:14px}
.banding .tautan-ket{color:var(--ink2)}

.galeri3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.galeri3 figure{margin:0}
.galeri3 img{aspect-ratio:1/1; width:100%; height:auto; object-fit:cover; border-radius:12px; background:var(--surface2); border:1px solid var(--edge)}
.galeri3 figcaption{font-size:12px; color:var(--ink2); margin-top:4px; line-height:1.4}

.rincian{display:grid; grid-template-columns:130px minmax(0,1fr) 36px; gap:12px; align-items:center; font-size:15px; line-height:1.4}
.rincian .isi-batang{background:var(--primary)}
.rincian .angka{text-align:right; font-weight:700}
.total-nilai{display:flex; justify-content:space-between; border-top:1px solid var(--edge); padding-top:10px; font-weight:800}
.putusan-penuh{border-left:3px solid var(--primary); padding:2px 0 2px 16px; display:flex; flex-direction:column; gap:10px}

details{background:var(--surface); border:1px solid var(--edge); border-radius:12px; padding:14px 16px}
details summary{font-weight:700; font-size:16px; line-height:1.5}
details p{margin:8px 0 0; font-size:16px; color:var(--ink2); line-height:1.7}
#faq{gap:10px}
.sumber{gap:8px}
.sumber h2{font-size:20px}
.sumber ol{margin:0; padding-left:22px; font-size:14px; color:var(--ink2); display:flex; flex-direction:column; gap:4px; line-height:1.6}
.sumber li{scroll-margin-top:16px}

/* Kolom samping: kecil dan tetap kecil. */
.sisi .kotak{border-radius:16px; padding:18px; gap:10px}
.sisi-nilai{display:flex; align-items:center; justify-content:space-between; font-weight:800; line-height:1.4}
.sisi-nilai b{font-size:22px; color:var(--primaryText)}
.sisi-harga{font-size:14px; color:var(--ink2); line-height:1.5; display:flex; flex-direction:column}
.sisi-harga b{color:var(--ink); font-size:18px}
.sisi .tombol{min-height:44px; font-size:14px}
.judul-sisi{font-weight:800; line-height:1.4}
.lain{font-size:14px; color:var(--ink); text-decoration:none; line-height:1.45; display:flex; flex-direction:column}
.lain small{font-size:12px; color:var(--ink2)}

footer{border-top:1px solid var(--edge); background:var(--surface)}
footer .bungkus{padding-top:24px; padding-bottom:24px; display:flex; flex-wrap:wrap; gap:12px 32px; font-size:14px; color:var(--ink2); line-height:1.6}
footer b{color:var(--ink)}

/* ── Daftar /review ── */
.judul-daftar{display:flex; flex-direction:column; gap:8px; max-width:780px}
.judul-daftar h1{font-size:clamp(28px,4.5vw,40px)}
.judul-daftar p{margin:0; color:var(--ink2); font-size:17px}
.sorot{text-decoration:none; color:var(--ink); border:1px solid var(--edge); border-radius:18px; overflow:hidden;
  background:var(--surface); display:flex; flex-wrap:wrap}
.sorot .gbr{flex:1 1 420px; min-height:260px; background:var(--surface2)}
.sorot .gbr img{width:100%; height:100%; min-height:260px; object-fit:cover}
.sorot .isi{flex:1 1 360px; min-width:0; padding:24px; display:flex; flex-direction:column; gap:10px; justify-content:center; line-height:1.5}
.sorot .judul{font-weight:800; font-size:28px; line-height:1.2}
.sorot .nilai-bar{display:flex; align-items:center; gap:12px}
.lencana{border-radius:50%; border:4px solid var(--primary); display:flex; align-items:center; justify-content:center;
  font-weight:800; background:var(--surface); color:var(--ink); line-height:1}
.lencana.besar{width:52px; height:52px}
.lencana.kecil{width:40px; height:40px; border-width:3px; font-size:13px}
.saring{display:flex; flex-wrap:wrap; gap:10px; align-items:center}
.saring form{flex:1 1 260px; display:flex}
.saring input[type=search]{flex:1; height:44px; border-radius:10px; border:1px solid var(--edge); background:var(--surface);
  color:var(--ink); padding:0 14px; font:400 15px 'Plus Jakarta Sans',sans-serif; min-width:0}
.pil-baris{display:flex; flex-wrap:wrap; gap:6px}
.pil{display:flex; align-items:center; min-height:44px; padding:0 14px; border-radius:999px; text-decoration:none;
  font-size:14px; border:1px solid var(--edge); color:var(--ink); background:var(--surface)}
.pil.aktif{background:var(--tombolIsi); color:#FFFFFF; font-weight:600; border-color:var(--tombolIsi)}
.pil-kat{display:flex; align-items:center; min-height:36px; padding:0 12px; border-radius:8px; background:var(--surface2);
  border:1px solid var(--edge); color:var(--ink); text-decoration:none; font-size:13px}
.pil-kat.aktif{background:var(--tombolIsi); border-color:var(--tombolIsi); color:#FFFFFF; font-weight:600}
.grid-kartu{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr)); gap:18px}
.kartu{text-decoration:none; color:var(--ink); border:1px solid var(--edge); border-radius:14px; overflow:hidden;
  background:var(--surface); display:flex; flex-direction:column}
.kartu .gbr{aspect-ratio:16/9; background:var(--surface2); position:relative}
.kartu .gbr img{width:100%; height:100%; object-fit:cover}
.kartu .gbr .lencana{position:absolute; right:10px; bottom:10px}
.kartu .isi{padding:14px; display:flex; flex-direction:column; gap:6px; line-height:1.4}
.kartu .meta-k{font-size:12px; color:var(--ink2)}
.kartu .judul{font-weight:700; font-size:16px; line-height:1.35}
.kartu .harga-k{color:var(--ink2); font-size:13px}
.kosong{border:1px dashed var(--edge); border-radius:14px; padding:32px 16px; text-align:center; color:var(--ink2)}
.halaman{display:flex; justify-content:center; flex-wrap:wrap; gap:6px}
.halaman a,.halaman span{min-width:44px; height:44px; padding:0 14px; display:flex; align-items:center; justify-content:center;
  border-radius:8px; border:1px solid var(--edge); color:var(--ink); text-decoration:none}
.halaman .kini{background:var(--tombolIsi); border-color:var(--tombolIsi); color:#FFFFFF; font-weight:600}

/* Layar sempit: flex-wrap di atas sudah menumpuk kolom; di sini hanya penyetelan. */
@media(max-width:900px){
  .sisi{position:static; max-width:none}
}
@media(max-width:640px){
  .bungkus{padding-left:16px; padding-right:16px}
  .baris{grid-template-columns:110px minmax(0,1fr); gap:10px; padding:12px 14px}
  .baris.ukur{grid-template-columns:minmax(0,1fr) fit-content(55%) 28px}
  .rincian{grid-template-columns:100px minmax(0,1fr) 32px}
  .galeri3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cocok .lbl{width:auto; text-align:left}
  .kotak,.unit{padding:18px}
  .logo b{font-size:16px}
  .foto-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
  /* C3b kepala HP: baris 1 = logo + tombol tema ikon (kanan); baris 2 = menu satu baris, geser mendatar.
     Tombol tetap di dalam <nav> (markup sama dengan desktop) tapi diposisikan absolut terhadap
     .bungkus — karena itu .nav TIDAK boleh position:relative (tombol akan ikut tergulir/terpotong). */
  header .bungkus{position:relative; gap:6px 0; padding-top:10px; padding-bottom:6px}
  .logo{flex:1 0 100%; min-width:0; min-height:36px; padding-right:48px}
  .logo b{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
  .nav{flex:1 0 100%; min-width:0; margin-left:0; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden;
    scrollbar-width:none; -webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav a{flex:none; white-space:nowrap; line-height:1.4}
  .nav a:first-child{padding-left:0}
  .btn-tema{position:absolute; top:10px; right:16px; width:36px; height:36px; padding:0;
    display:flex; align-items:center; justify-content:center; font-size:18px; line-height:1}
  .btn-tema span{display:none}
  .btn-tema::before{content:"\263E"}               /* terang → ☾ (ke gelap); nama = aria-label */
  html[data-tema="gelap"] .btn-tema::before{content:"\2600\FE0E"}   /* gelap → ☀ (teks, bukan emoji) */
}
