/* ============================================================================
   assets/analisa.css — gaya halaman detail analisa pasar

   Dipindah dari analisa.php (build 981): 67 aturan di heredoc `$css` + 14 di
   blok <style> = 81 aturan.

   Keduanya dimuat di BODY, sesudah berkas CSS di <head> — jadi keduanya SELALU
   menang, betapa pun rapinya berkas CSS ditulis. Pola itu sudah dua kali
   merusak halaman: build 965 (.rk-pair di ui.php) dan build 976.

   Semua ukuran dan jarak memakai token level (docs/ATURAN-TIPOGRAFI.md).
   Sembilan ukuran di luar level dibetulkan: 24 · 13 · 20 · 12,5 · 11,4 ·
   12,8 · 12,6 · 14,5 · 10,5px.
   ========================================================================= */


  body{background:var(--ink);color:var(--paper);font-family:var(--disp)}

  /* Topbar sederhana untuk TAMU. Yang sudah login memakai topbar aplikasi. */
  .ap-tb{border-bottom:1px solid var(--line);background:rgba(7,17,12,.72);
    /* Selebar isinya: topbar 940px di atas isi 1240px membuat logonya
       menjorok ke dalam, tidak sejajar dengan awal naskah. */
    position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
  .ap-tb-in{max-width:1340px;margin:0 auto;padding:var(--s3) var(--s5);display:flex;
    align-items:center;justify-content:space-between;gap:var(--s3b)}
  .ap-brand{display:flex;align-items:center;gap:var(--s2);text-decoration:none;color:var(--paper)}
  .ap-brand img{width:30px;height:30px;border-radius:9px}
  .ap-brand b{font-size:var(--t-l7);font-weight:700;display:block;line-height:1.15}
  .ap-brand span{color:var(--muted-2);font-size:var(--t-l9)}

  /* Di dalam rangka aplikasi, jarak luar sudah diurus .app-body. */
  .ap-wrap.di-app .bungkus{padding:0 0 var(--s10);max-width:1340px}

  /* TOMBOL KEMBALI MENGAMBANG — untuk tamu, desktop saja.

     Gayanya sudah ada di kabar.css, katalog.css, dan produk.css, tapi
     ketiganya DILINGKUPI kelas halamannya sendiri (.kb / .kt / .pd), jadi
     tidak berlaku di sini. Varian kedelapan dari "dipakai tapi tak dimuat".

     Di HP disembunyikan: yang dipakai tombol bulat di topbar. */
  /* TOMBOL KEMBALI MENGAMBANG — gayanya DIPINDAH ke mtk.css (build 1001).

     Aturannya dulu disalin di sini dan di tiga berkas lain, dan keempatnya
     sudah melenceng: z-index 70 vs 95, hanya katalog yang punya :active dan
     bayangan hover, dan analisa memakai .b alih-alih .icon. Satu perubahan
     warna berarti empat suntingan, dan yang terlupa baru ketahuan berbulan
     kemudian.

     Sekarang satu sumber di mtk.css, tidak dilingkupi kelas halaman — ia
     milik topbar bersama, sama seperti .nav-kembali. Halaman tinggal
     memasang <a class="kembali-apung">. */

/* (baris `<?= $css ?>` dibuang di build 984 — sisa pemindahan dari analisa.php.
   Di berkas CSS ia terbaca sebagai pemilih yang tidak sah, dan SELURUH
   aturan sesudahnya diabaikan peramban: 107 dari 121 mati. Itu sebabnya
   warna dan kolom halaman hilang.) */



/* WARNA MENUMPANG TOKEN SITUS, bukan membuat sistem kedua.

     Berkas aslinya membawa --green:#1CE07E; situs memakai #1FE374. Dua hijau
     yang beda tipis di satu halaman terlihat seperti salah cetak, dan brief
     Yanz sendiri melarang sistem warna kedua.

     --naik/--turun/--datar TETAP ADA karena maknanya beda dari hijau merek:
     ini arah harga, bukan aksen. Menyamakannya berarti kehilangan bedanya
     "menguat" dengan "tombol". */
  .ap-wrap{
    --card:var(--panel); --soft:var(--band); --tx:var(--paper); --dim:var(--muted);
    --naik:var(--green); --turun:#FF5F70; --datar:var(--muted);
  }

  /* Aturan global (*, body, a) DIBUANG: halaman ini kini tinggal di dalam
     kerangka situs, dan aturan global akan menimpa sidebar serta topbar yang
     bukan miliknya. Semuanya dipersempit ke dalam .ap-wrap. */
/* LEBAR ISI DISAMAKAN DENGAN HALAMAN KABAR.

   Halaman ini sebelumnya punya TIGA lebar berbeda — 1080px di rangka aplikasi,
   940px untuk tamu, 940px di topbar. Disatukan 1240px di build 980, lalu
   diukur ulang terhadap halaman kabar:

     kabar   1340px - 2x20 padding = 1300px isi bersih
     analisa 1240px - 2x16 padding = 1208px isi bersih

   Selisih 92px, dan itu terlihat: tepi halaman analisa terasa lebih lebar.
   Disamakan persis. */
.ap-wrap .bungkus{max-width:1340px;margin:0 auto;padding:var(--s5) var(--s5) var(--s16)}
.ap-wrap .kepala{border-left:4px solid var(--green);padding-left:var(--s4);margin-bottom:var(--s2b)}
.ap-wrap h1{margin:0;font-size:var(--t-l3);letter-spacing:.5px;color:var(--green)}
.ap-wrap .sub{color:var(--dim);font-size:var(--t-l8);margin-top:var(--s1b)}
.ap-wrap .kartu{background:var(--card);border:1px solid var(--line);border-radius:12px;
       padding:var(--s4) var(--s5);margin:0 0 var(--s4)}
.ap-wrap h2{margin:0 0 var(--s3b);font-size:var(--t-l9);letter-spacing:1.6px;text-transform:uppercase;color:var(--green)}
.ap-wrap .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s3b)}
.ap-wrap .kotak{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:var(--s3) var(--s3b)}
.ap-wrap .kotak .k{color:var(--dim);font-size:var(--t-l8)}
.ap-wrap .kotak .v{font-size:var(--t-l5);font-weight:700;margin-top:var(--s0)}
.ap-wrap .pair{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;
      padding:var(--s4) var(--s4);color:inherit;transition:border-color .15s,transform .15s}
.ap-wrap .pair:hover{border-color:var(--green);transform:translateY(-2px);text-decoration:none}
.ap-wrap .pair .nm{font-size:var(--t-l5);font-weight:700;letter-spacing:.5px}
.ap-wrap .pair .bs{font-size:var(--t-l4);font-weight:700;margin:var(--s1b) 0 var(--s0)}
/* Tiap pemilih diberi lingkup SENDIRI.

   Saat gaya dipindah dari <style> ke berkas ini, aturan yang ditulis
   gabungan di satu baris cuma mendapat lingkup di pemilih PERTAMA —
   `.turun`, `.datar`, `.bgturun`, `.bgdatar`, dan `p:last-child` bocor
   ke seluruh situs. */
.ap-wrap .bias-besar{font-size:var(--t-l2);font-weight:700;line-height:1.25;margin:0}
.ap-wrap .naik{color:var(--naik)}.ap-wrap .turun{color:var(--turun)}.ap-wrap .datar{color:var(--datar)}
.ap-wrap .bgnaik{background:var(--naik)}.ap-wrap .bgturun{background:var(--turun)}.ap-wrap .bgdatar{background:var(--datar)}
.ap-wrap .bar{height:7px;background:var(--soft);border-radius:4px;overflow:hidden;min-width:80px}
.ap-wrap .bar i{display:block;height:100%}
/* min-width:560px dari mtk.css sengaja dinolkan: aturan itu untuk tabel admin
   yang memang lebar dan digulir, sementara tabel news di sini harus muat di
   layar HP. Tanpa ini, halamannya menjulur ke samping di ponsel — dan yang
   menjulur biasanya baru ketahuan setelah orang lain yang melihatnya. */
.ap-wrap table{width:100%;border-collapse:collapse;font-size:var(--t-l7);min-width:0}
.ap-wrap th,.ap-wrap td{padding:var(--s2) var(--s2b);border-bottom:1px solid var(--line);text-align:left}
.ap-wrap th{color:var(--dim);font-size:var(--t-l9);letter-spacing:.8px;text-transform:uppercase;font-weight:600}
.ap-wrap tbody tr:last-child td{border-bottom:none}
.ap-wrap ul.news{margin:0;padding:0;list-style:none}
.ap-wrap ul.news li{padding:var(--s2) 0;border-bottom:1px solid var(--line)}
.ap-wrap ul.news li:last-child{border-bottom:none}
.ap-wrap .jam{color:var(--green);font-weight:600}
.ap-wrap .ev{color:var(--dim);font-size:var(--t-l8);margin-left:var(--s3b)}
.ap-wrap .tag{display:inline-block;padding:var(--s1) var(--s3);border-radius:6px;font-size:var(--t-l8);
     font-weight:700;letter-spacing:.8px;margin-bottom:var(--s2b);border:1px solid currentColor}
.ap-wrap .meta{color:var(--dim);font-size:var(--t-l8)}
.ap-wrap .tanda{display:inline-block;padding:var(--s0) var(--s2b);border-radius:20px;font-size:var(--t-l9);font-weight:700;
       letter-spacing:.5px;background:rgba(255,95,112,.14);color:var(--turun);border:1px solid var(--turun)}
.ap-wrap .riwayat{display:flex;flex-wrap:wrap;gap:var(--s2)}
.ap-wrap .riwayat a{background:var(--soft);border:1px solid var(--line);border-radius:7px;
           padding:var(--s1b) var(--s2b);font-size:var(--t-l8);color:var(--tx)}
.ap-wrap .riwayat a:hover{border-color:var(--green);text-decoration:none}
.ap-wrap .riwayat a.aktif{border-color:var(--green);color:var(--green)}
.ap-wrap p{margin:0 0 var(--s3);white-space:pre-line}.ap-wrap p:last-child{margin-bottom:0}
/* Jarak dan garis DINOLKAN lebih dulu.

   assets/mtk.css memberi SETIAP <footer> garis atas dan padding besar
   (footer{border-top:...;padding:var(--s16) 0 var(--s10)}) — aturan itu
   ditujukan untuk footer situs, tapi mengenai tag <footer> mana pun,
   termasuk disclaimer di sini. Hasilnya kotak menganga hampir kosong dengan
   satu garis di atasnya.

   Pelajarannya: saat menyatukan halaman luar ke dalam kerangka, dua arah
   harus dipikirkan. Gaya halaman ini sudah dijaga tidak bocor KELUAR lewat
   .ap-wrap; yang terlewat adalah gaya situs bocor MASUK lewat pemilih
   berbasis nama tag. */
/* Penanda kekuatan sinyal. Warnanya SENGAJA tidak hijau saat lemah — hijau di
   sebelah "BULLISH" hijau akan hilang maknanya. */
/* Batang arah datar: tetap terlihat, tapi tidak lagi paling mencolok. */
/* Keterangan istilah: dibuat jelas lebih kecil dan redup dari nilainya, supaya
   yang sudah paham bisa melewatinya tanpa terganggu. */
.ap-wrap .kotak .ket{color:var(--dim);font-size:var(--t-l9);line-height:1.5;margin-top:var(--s1b);
  padding-top:var(--s1b);border-top:1px solid var(--line)}

.ap-wrap .bar.redup{opacity:.4}
.ap-wrap .bar.redup i{background:var(--datar)}

/* Catatan admin dibedakan tegas dari isi mesin: pembaca harus tahu mana yang
   ditulis manusia. Emas dipakai karena hijau/merah sudah berarti arah harga. */
/* Tab pair. Bentuknya menyalin tab Info & Market supaya terasa satu situs,
   bukan dua aplikasi yang kebetulan berwarna sama. */
/* Rekomendasi: satu baris digeser, sama seperti di halaman kabar. Susunan
   grid akan memakan tinggi hampir sama dengan artikelnya sendiri. */
.ap-wrap .ap-bagi-w{display:flex;align-items:center;gap:var(--s2b);flex-wrap:wrap;margin-top:var(--s2b)}
.ap-wrap .ap-bagi{display:inline-flex;align-items:center;gap:var(--s1b);background:transparent;
  border:1px solid var(--line-2);border-radius:11px;padding:var(--s2) var(--s3b);color:var(--tx);
  font-family:var(--disp);font-weight:600;font-size:var(--t-l8);cursor:pointer;transition:.15s}
.ap-wrap .ap-bagi:hover{border-color:var(--green);color:var(--green)}
.ap-wrap .ap-bagi svg{width:14px;height:14px}
.ap-wrap .ap-bagi-nb{color:var(--dim);font-size:var(--t-l9)}



/* Kartu pair tanpa gambar dibuat lebih ramping — tanpa bidang gambar, lebar
   216px meninggalkan ruang kosong menganga di tiap kartu. */


.ap-wrap .catatan-admin{border-color:rgba(212,178,92,.4);background:rgba(212,178,92,.05)}
.ap-wrap .catatan-admin h2{color:var(--gold)}
.ap-wrap .catatan-admin p{color:var(--tx)}

.ap-wrap .kuat-tanda{display:inline-flex;align-items:baseline;gap:var(--s2);flex-wrap:wrap;
  margin-top:var(--s2);padding:var(--s1b) var(--s3);border-radius:9px;font-size:var(--t-l8);border:1px solid}
.ap-wrap .kuat-tanda b{font-weight:700}
.ap-wrap .kuat-tanda span{color:var(--dim)}
.ap-wrap .kuat-tanda.lemah{border-color:rgba(212,178,92,.45);background:rgba(212,178,92,.08)}
.ap-wrap .kuat-tanda.lemah b{color:#D4B25C}
.ap-wrap .kuat-tanda.sedang{border-color:rgba(135,170,145,.35);background:rgba(135,170,145,.06)}
.ap-wrap .kuat-tanda.sedang b{color:var(--tx)}
.ap-wrap .kuat-tanda.kuat{border-color:rgba(31,227,116,.4);background:rgba(31,227,116,.08)}
.ap-wrap .kuat-tanda.kuat b{color:var(--green)}

.ap-wrap footer{color:var(--dim);font-size:var(--t-l8);border-top:0;padding:0;margin:0}
.ap-wrap .balik{display:inline-block;margin-bottom:var(--s4);font-size:var(--t-l7)}
@media (max-width:520px){.ap-wrap .bias-besar{font-size:var(--t-l3)}.ap-wrap .bungkus{padding:var(--s5) var(--s3) var(--s12)}}

/* Gaya kartu rekomendasi pindah ke mtk_kartu_rek_css() di partials/ui.php —
   dipakai bersama halaman kabar supaya keduanya benar-benar sama, bukan
   sekadar mirip. */

/* ============================================================================
   KEPALA SATU BARIS & RINGKASAN ANGKA (build 981)
   ========================================================================= */

/* Simbol dan bias di kiri, harga di kanan. Sebelumnya bertumpuk vertikal —
   pembaca harus turun tiga baris untuk tahu harga berapa. */
.ap-wrap .ap-hd{display:flex;align-items:flex-start;gap:var(--s6);flex-wrap:wrap}
.ap-wrap .ap-hd-kiri{flex:1;min-width:240px}
.ap-wrap .ap-hd-atas{display:flex;align-items:center;gap:var(--s2b);
  flex-wrap:wrap;margin-bottom:var(--s2)}
.ap-wrap .ap-hd-atas h1{margin:0}
.ap-wrap .ap-pil{font-size:var(--t-l9);font-weight:800;letter-spacing:.06em;
  padding:var(--s1) var(--s2b);border-radius:6px;white-space:nowrap;
  background:rgba(135,170,145,.1);border:1px solid var(--line-2);color:var(--muted)}
.ap-wrap .ap-pil.naik{background:rgba(31,227,116,.12);
  border-color:rgba(31,227,116,.34);color:var(--green)}
.ap-wrap .ap-pil.turun{background:rgba(240,160,122,.12);
  border-color:rgba(240,160,122,.34);color:var(--jingga)}
.ap-wrap .ap-harga{flex:none;text-align:right}
.ap-wrap .ap-harga b{display:block;font-size:var(--t-l3);font-weight:800;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.ap-wrap .ap-harga span{font-size:var(--t-l9);color:var(--muted-2)}

/* Empat angka: yang dicari lebih dulu, sebelum penjelasan. */
.ap-wrap .ap-ring{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--s3);margin:var(--s5) 0 var(--s6)}
.ap-wrap .ap-rk{padding:var(--s3b) var(--s4);border-radius:12px;
  border:1px solid var(--line);position:relative;overflow:hidden;
  background:linear-gradient(158deg,#152C21,#0B1812)}
.ap-wrap .ap-rk::before{content:'';position:absolute;top:0;left:14%;right:14%;
  height:1px;background:linear-gradient(90deg,transparent,rgba(31,227,116,.34),transparent)}
.ap-wrap .ap-rk .lbl{display:block;font-size:var(--t-l9);color:var(--muted-2);
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--s1b)}
.ap-wrap .ap-rk .num{display:block;font-size:var(--t-l4);font-weight:800;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.ap-wrap .ap-rk .num.naik{color:var(--green)}
.ap-wrap .ap-rk .num.turun{color:var(--jingga)}
.ap-wrap .ap-rk .sub2{display:block;font-size:var(--t-l9);color:var(--muted-2);
  margin-top:var(--s1)}

/* Batang skor: cekungan di baliknya, kilau di isinya — sama dengan pita
   analisa di halaman kabar. */
.ap-wrap .ap-bar{display:block;height:5px;margin-top:var(--s2);border-radius:999px;
  background:rgba(4,10,7,.5);box-shadow:inset 0 1px 2px rgba(0,0,0,.4);overflow:hidden}
.ap-wrap .ap-bar i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#16C96B,var(--green));
  box-shadow:0 0 8px rgba(31,227,116,.28)}
.ap-wrap .ap-bar i.turun{background:linear-gradient(90deg,#C4705A,var(--jingga));
  box-shadow:0 0 8px rgba(240,160,122,.28)}

@media (max-width:760px){
  /* Dua kolom di HP: empat kotak berjajar jadi 78px per kotak, dan angkanya
     tidak muat bersama labelnya. */
  .ap-wrap .ap-ring{grid-template-columns:1fr 1fr;gap:var(--s2)}
  .ap-wrap .ap-rk{padding:var(--s3) var(--s3b)}
  .ap-wrap .ap-rk .num{font-size:var(--t-l5)}
  .ap-wrap .ap-hd{flex-direction:column;gap:var(--s3)}
  .ap-wrap .ap-harga{text-align:left}
}

/* ============================================================================
   DUA KOLOM: ANALISA DI KIRI, PENEMUAN DI KANAN (build 983)

   Halaman ini panjang — delapan bagian ditambah tabel timeframe. Dengan satu
   kolom, "Analisa Pair Lain" baru terlihat sesudah menggulir melewati semuanya,
   padahal itulah satu-satunya jalan berpindah pair.

   Pola yang sama dengan halaman detail kabar (build 961).
   ========================================================================= */
.ap-wrap .ap-duo{display:grid;grid-template-columns:70fr 30fr;
  gap:var(--s8);align-items:start}
.ap-wrap .ap-kol-kiri{min-width:0}

/* Kolom kanan ikut menggulir: pair lain tetap terlihat selama membaca, tanpa
   perlu menggulir balik ke atas. */
.ap-wrap .ap-kol-kanan{min-width:0;position:sticky;top:var(--s5);
  display:flex;flex-direction:column;gap:var(--s4)}
/* PANEL REKOMENDASI — disalin PERSIS dari kabar.css.

   Tiga build saya menambah gradasi HIJAU pada kartu isi, tapi tidak pernah
   menyentuh panel rekomendasinya sendiri: ia cuma punya `margin:0`, jadi
   memakai warna bawaan ui.php yang rata.

   Yang membedakannya dari kartu biasa adalah cahaya EMAS — garis tipis di tepi
   atas dan pendar di sudut kanan atas. Itu yang hilang, dan itu yang membuat
   halaman ini terasa datar dibanding halaman kabar. */
.ap-wrap .ap-kol-kanan .rk-panel{margin:0;position:relative;overflow:hidden;
  background:linear-gradient(158deg,#152C21 0%,#0B1812 100%);
  border:1px solid var(--line);border-top-color:var(--line-2);
  border-radius:14px}
.ap-wrap .ap-kol-kanan .rk-panel::before{content:'';position:absolute;top:0;
  left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,178,92,.42),transparent)}
.ap-wrap .ap-kol-kanan .rk-panel::after{content:'';position:absolute;right:0;top:0;
  width:40%;height:60%;pointer-events:none;
  background:radial-gradient(ellipse at top right,rgba(212,178,92,.07),transparent 68%)}
.ap-wrap .ap-kol-kanan .rk-kepala,
.ap-wrap .ap-kol-kanan .rk-w{position:relative;z-index:1}

/* Aturan daftar-tegak DIBUNGKUS media query.

   Sebelumnya ditulis di luar, jadi ke-21 aturannya berlaku juga di HP —
   dan bertabrakan dengan blok <=1100px yang mengembalikan kartu ke bentuk
   penuh. Hasilnya kartu rusak: `display:block` dari blok HP, tapi `order`
   dan `flex` dari luar tetap menempel.

   Pola yang SAMA PERSIS dengan bug build 979 di halaman kabar. */
@media (min-width:1101px){
  /* ---------- KARTU DI KOLOM SAMPING: DAFTAR TEGAK ----------

     Bentuk yang sama dengan kolom samping halaman detail kabar (build 979).

     Baris geser di kolom 350px berarti sebagian kartu tersembunyi tanpa tanda —
     dan tombol gesernya menutupi kartu yang sedang dilihat. Sebagai daftar
     tegak, semuanya terlihat sekaligus dan tidak ada yang perlu ditekan.

     Penggambarnya BERSAMA (ap_baris_pair, post_baris_rek) — halaman kabar
     memakai yang sama persis, jadi markupnya tidak disentuh. Yang disetel cuma
     bentuknya di kolom sempit ini. */
  .ap-wrap .ap-kol-kanan .rk-row{display:flex;flex-direction:column;gap:0;
    overflow:visible}
  .ap-wrap .ap-kol-kanan .rk-nav,
  .ap-wrap .ap-kol-kanan .geser-bar{display:none}

  /* Pair: satu baris — simbol · kekuatan · jenis tren.

     Tujuh kotak timeframe dan jamnya disembunyikan: di lebar ini keduanya jadi
     deretan warna tanpa keterangan, dan batang skornya sudah menyampaikan hal
     yang sama. */
  .ap-wrap .ap-kol-kanan .rk-pair{flex:0 0 auto;display:flex;align-items:center;
    gap:var(--s2b);padding:var(--s2) 0;border:0;
    border-bottom:1px solid var(--line);border-radius:0;background:none;
    min-height:0;transform:none;box-shadow:none}
  .ap-wrap .ap-kol-kanan .rk-pair::before,
  .ap-wrap .ap-kol-kanan .rk-pair::after{display:none}
  .ap-wrap .ap-kol-kanan .rk-row > .rk-pair:first-child{padding-top:0}
  .ap-wrap .ap-kol-kanan .rk-row > .rk-pair:last-child{border-bottom:0;padding-bottom:0}
  .ap-wrap .ap-kol-kanan .rk-pair:hover{transform:none;box-shadow:none;
    border-color:transparent;border-bottom-color:var(--line-2)}

  /* Urutan: pair → KEKUATAN → jenis tren. Kekuatan lebih dulu karena itu yang
     dibandingkan antar pair; jenis trennya keterangan atas angka itu. */
  .ap-wrap .ap-kol-kanan .rk-pair > b{order:1;flex:none;width:74px;
    font-size:var(--t-l8);font-weight:700;margin:0}
  .ap-wrap .ap-kol-kanan .rk-bar{order:2;flex:1;min-width:0;height:5px;margin:0;
    border-radius:999px}
  .ap-wrap .ap-kol-kanan .rk-bias{order:3;flex:none;width:82px;text-align:right;
    font-size:var(--t-l9);font-weight:700;padding:0;background:none;border:0;margin:0}
  .ap-wrap .ap-kol-kanan .rk-lalu,
  .ap-wrap .ap-kol-kanan .rk-tf{display:none}

  /* Kabar: gambar kecil di kiri, judul di kanan. */
  .ap-wrap .ap-kol-kanan .rk-kabar{flex:none;width:auto;flex-direction:row;
    gap:var(--s3);padding:var(--s3) 0;border:0;
    border-bottom:1px solid var(--line);border-radius:0;background:none}
  .ap-wrap .ap-kol-kanan .rk-row > .rk-kabar:first-child{padding-top:0}
  .ap-wrap .ap-kol-kanan .rk-row > .rk-kabar:last-child{border-bottom:0;padding-bottom:0}
  .ap-wrap .ap-kol-kanan .rk-gbr,
  .ap-wrap .ap-kol-kanan .rk-nogbr{width:96px;flex:none;aspect-ratio:16/10;
    border-radius:8px;height:auto;object-fit:cover}
  .ap-wrap .ap-kol-kanan .rk-kabar-b{flex:1;min-width:0;padding:0;
    justify-content:center;gap:var(--s1)}
}

@media (max-width:1100px){
  /* Bertumpuk lagi. Di bawah ambang ini kolom kanan cuma ~300px, dan naskah
     di kiri menyempit di bawah batas nyaman baca. */
  .ap-wrap .ap-duo{grid-template-columns:minmax(0,1fr);gap:var(--s6)}
  .ap-wrap .ap-kol-kanan{position:static}
  /* Kartu kembali ke bentuk aslinya: barisnya selebar halaman lagi, jadi
     gulir mendatar dengan kartu penuh justru yang benar. */
  .ap-wrap .ap-kol-kanan .rk-row{flex-direction:row;overflow-x:auto;
    gap:var(--s3);scroll-snap-type:x mandatory}
  /* TOMBOL GESER DIBUANG di HP.

     Di layar sentuh, menggeser dengan jari lebih cepat daripada menekan
     tombol — dan tombolnya menutupi kartu yang sedang dilihat.

     Batang kemajuan TETAP: tanpa tombol, ia satu-satunya tanda bahwa
     daftarnya masih ada lanjutannya. Kartu yang terpotong di tepi kanan
     sudah menyiratkannya, tapi menyiratkan saja tidak cukup. */
  .ap-wrap .ap-kol-kanan .rk-nav{display:none}
  .ap-wrap .ap-kol-kanan .geser-bar{display:block}
  /* Tombol geser: bentuk yang sama dengan halaman kabar (build 993).

     Di DALAM wadah supaya tidak terpotong tepi layar — pelajaran build 979:
     tombol yang menjorok keluar butuh 392px pada layar 390px. */
  .ap-wrap .ap-kol-kanan .pc-nav{position:absolute;top:50%;
    transform:translateY(-50%);z-index:3;display:grid;place-items:center;
    width:32px;height:32px;border-radius:50%;
    background:rgba(10,26,18,.92);border:1px solid var(--line-2);
    color:var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    box-shadow:0 var(--s1) var(--s3) rgba(0,0,0,.45)}
  .ap-wrap .ap-kol-kanan .pc-nav.prev{left:var(--s1);right:auto}
  .ap-wrap .ap-kol-kanan .pc-nav.next{right:var(--s1);left:auto}
  /* JS memakai kelas `.mati` dan `.sembunyi`, bukan atribut disabled. */
  .ap-wrap .ap-kol-kanan .pc-nav.mati,
  .ap-wrap .ap-kol-kanan .pc-nav.sembunyi{display:none}
  /* Bentuk DISALIN dari kolom samping halaman kabar (build 979), yang sudah
     benar di HP.
     
     Lebarnya TIDAK disetel di sini: `ui.php` memasang `flex:0 0 46%` pada
     <=560px, dan ia dimuat di BODY sehingga selalu menang. Melawannya berarti
     dua sumber lebar yang bertengkar — yang dilakukan cuma menyesuaikan ISI
     kartu ke lebar itu. */
  .ap-wrap .ap-kol-kanan .rk-pair{display:block;min-height:0;
    padding:var(--s2b) var(--s3) var(--s3);
    border:1px solid var(--line);border-radius:12px;
    background:linear-gradient(158deg,#152C21,#0B1812);
    scroll-snap-align:start;transform:none;box-shadow:none}
  .ap-wrap .ap-kol-kanan .rk-pair > b{display:block;width:auto;
    font-size:var(--t-l8);font-weight:700;margin:0}
  .ap-wrap .ap-kol-kanan .rk-bar{display:block;height:3px;
    margin-top:var(--s1);border-radius:999px;flex:none;width:auto}
  .ap-wrap .ap-kol-kanan .rk-bias{display:block;width:auto;text-align:left;
    font-size:var(--t-l10);font-weight:700;margin-top:var(--s1);
    padding:0;background:none}
  .ap-wrap .ap-kol-kanan .rk-lalu{display:block;font-size:var(--t-l10);
    margin-top:var(--s0)}
  /* Tujuh kotak dalam lebar ini: 7x10 + 6x2 celah = 82px. Muat. */
  .ap-wrap .ap-kol-kanan .rk-tf{display:flex;height:18px;gap:var(--s0);
    margin-top:var(--s1b)}
  .ap-wrap .ap-kol-kanan .rk-kabar{flex:0 0 240px;flex-direction:column;
    gap:0;padding:0;border:1px solid var(--line);border-radius:12px;
    background:linear-gradient(158deg,#152C21,#0B1812);scroll-snap-align:start}
  .ap-wrap .ap-kol-kanan .rk-gbr,
  .ap-wrap .ap-kol-kanan .rk-nogbr{width:100%;aspect-ratio:16/9;
    border-radius:12px 12px 0 0}
  .ap-wrap .ap-kol-kanan .rk-kabar-b{padding:var(--s3) var(--s3b) var(--s3b)}
}

/* ============================================================================
   GRADASI & TEKSTUR (build 985)

   Kartu di halaman ini memakai `background:var(--card)` — warna RATA. Halaman
   kabar, katalog, dan produk sudah memakai gradasi 158 derajat sejak build
   958, jadi halaman analisa terlihat lebih datar dari sisanya.

   Nilainya DISALIN PERSIS dari kabar.css: gradasi 158 derajat, kepekatan
   tekstur .028, jarak kisi 26px. Menyelaraskan, bukan memperkenalkan gaya
   kedua — dan angka yang mirip-tapi-beda justru lebih buruk daripada berbeda
   jelas, karena selisihnya terlihat tanpa ada yang tahu kenapa.
   ========================================================================= */
.ap-wrap .kartu{background:linear-gradient(158deg,#152C21 0%,#0B1812 100%);
  position:relative;overflow:hidden}

/* Cahaya tipis di tepi atas — menandai batas kartu tanpa garis tegas. */
.ap-wrap .kartu::before{content:'';position:absolute;top:0;left:12%;right:12%;
  height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(31,227,116,.34),transparent)}

/* Cahaya sudut kiri atas: memberi kedalaman, arahnya mengikuti gradasi. */
.ap-wrap .kartu::after{content:'';position:absolute;left:0;top:0;
  width:44%;height:56%;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at top left,rgba(31,227,116,.05),transparent 70%)}
.ap-wrap .kartu > *{position:relative;z-index:1}

/* TEKSTUR kisi halus. Kepekatannya rendah (.022) — pada kartu berisi teks,
   kisi yang terlihat jelas mengganggu keterbacaan. */
.ap-wrap .kartu{background-image:
  repeating-linear-gradient(0deg,rgba(135,170,145,.028) 0 1px,transparent 1px 26px),
  repeating-linear-gradient(90deg,rgba(135,170,145,.028) 0 1px,transparent 1px 26px),
  linear-gradient(158deg,#152C21 0%,#0B1812 100%)}

/* Kotak di dalam kartu (indikator, skenario) dibedakan: lebih gelap, tanpa
   gradasi — supaya bertingkat, bukan dua lapis gradasi yang saling menutup. */
.ap-wrap .kotak{background:rgba(4,10,7,.35);position:relative;z-index:1}

/* Kartu ringkasan angka sudah punya gradasinya sendiri sejak build 981;
   yang ditambah di sini cuma teksturnya. */
.ap-wrap .ap-rk{background-image:
  repeating-linear-gradient(0deg,rgba(135,170,145,.028) 0 1px,transparent 1px 22px),
  repeating-linear-gradient(90deg,rgba(135,170,145,.028) 0 1px,transparent 1px 22px),
  linear-gradient(158deg,#152C21,#0B1812)}

@media (max-width:760px){
  /* Tekstur dimatikan di HP: kartunya sempit, kisinya cuma jadi derau. */
  .ap-wrap .kartu{background-image:linear-gradient(158deg,#152C21 0%,#0B1812 100%)}
  .ap-wrap .ap-rk{background-image:linear-gradient(158deg,#152C21,#0B1812)}
}

/* ============================================================================
   TOMBOL LANJUT & JARAK PENAFIAN (build 986)
   ========================================================================= */

/* ============================================================================
   TOMBOL "LIHAT SEMUA" — MENYATU dengan panel rekomendasi (build 987)

   Versi pertama berdiri sendiri di bawah panel: kotak terpisah dengan bingkai
   sendiri, jadi terbaca sebagai bagian ketiga — bukan penutup daftar di
   atasnya.

   Sekarang ia menempel: sudut atas dipersegi supaya menyambung dengan panel,
   bingkai atas dibuang supaya tidak ada garis ganda, dan latar belakangnya
   melanjutkan gradasi yang sama.
   ========================================================================= */
.ap-wrap .ap-kol-kanan .ap-lanjut{display:flex;align-items:center;justify-content:center;gap:var(--s2);
  margin:-1px 0 0;padding:var(--s3) var(--s4);
  border:1px solid var(--line);border-top:0;
  border-radius:0 0 14px 14px;
  background:linear-gradient(158deg,rgba(21,44,33,.55),rgba(11,24,18,.75));
  color:var(--muted);font-size:var(--t-l8);font-weight:600;
  text-decoration:none;transition:background .18s,color .18s}
.ap-wrap .ap-kol-kanan .ap-lanjut:hover{background:linear-gradient(158deg,rgba(24,52,38,.8),rgba(14,30,22,.9));
  color:var(--paper)}
.ap-wrap .ap-kol-kanan .ap-lanjut svg{width:14px;height:14px;flex:none;transition:transform .18s}
.ap-wrap .ap-kol-kanan .ap-lanjut:hover svg{transform:translateX(2px)}

/* Panel di atasnya kehilangan sudut bawahnya, supaya sambungannya rapat.

   Dipakai `:has()`? TIDAK — dukungan peramban belum merata, dan kalau ia
   tidak jalan sudut panelnya tetap membulat sementara tombolnya persegi:
   sambungan yang terlihat patah, lebih buruk daripada tidak disambung.

   Semua panel di kolom ini memang diikuti tombol, jadi aturannya berlaku
   tanpa syarat. */
.ap-wrap .ap-kol-kanan .rk-panel{border-bottom-left-radius:0;border-bottom-right-radius:0}

/* PENAFIAN diberi jarak dan garis pemisah.

   Sebelumnya menempel langsung di bawah rekomendasi, jadi terbaca seolah
   bagian dari daftar itu. Ia penutup halaman — dan penutup butuh jeda sebelum
   dibaca, bukan menempel pada apa pun. */
.ap-wrap .kartu footer{margin:0}
.ap-wrap .ap-penafian{margin-top:var(--s10);padding-top:var(--s7);
  border-top:1px solid var(--line)}

/* ============================================================================
   LABEL SINYAL DI RINGKASAN (build 990)

   Dipindah dari kartu Bias Pasar yang dimatikan. Ia satu-satunya isi kartu itu
   yang tidak diulang di tempat lain — skor, bias, dan jumlah timeframe sudah
   tampil di kepala dan ringkasan.

   Warnanya mengikuti kekuatan, bukan arah: "lemah" tidak berarti turun.
   ========================================================================= */
.ap-wrap .ap-sinyal{display:block;margin-top:var(--s1b);
  font-size:var(--t-l10);font-weight:700;letter-spacing:.03em}
.ap-wrap .ap-sinyal.lemah{color:var(--muted-2)}
.ap-wrap .ap-sinyal.sedang{color:var(--gold-2)}
.ap-wrap .ap-sinyal.kuat{color:var(--green)}

/* ============================================================================
   RIWAYAT SKOR — PITA BERLABEL, SATU BARIS (build 994)

   Bentuk sebelumnya gagal berturut-turut karena alasan yang sama: semuanya
   menyembunyikan angka. Titik warna, lalu batang polos — pembaca harus menebak
   atau menyentuh untuk tahu isinya.

   Di sini tiap potongan menuliskan skor dan jamnya.
   ========================================================================= */
.ap-wrap .kartu h2 .kt-kanan{float:right;font-size:var(--t-l9);font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--muted-2)}

/* Jawaban yang paling sering dicari, ditulis besar. */
.ap-wrap .rw-jud{display:flex;align-items:baseline;flex-wrap:wrap;
  gap:var(--s2);margin-bottom:var(--s3)}
.ap-wrap .rw-jud b{font-size:var(--t-l5);font-weight:800;letter-spacing:-.01em}
.ap-wrap .rw-jud span{font-size:var(--t-l9);color:var(--muted-2)}

/* SATU BARIS, tidak pernah membungkus: `flex-wrap` sengaja tidak disetel dan
   tiap potongan `min-width:0` supaya ia menyempit, bukan mendorong keluar. */
.ap-wrap .rw-pita{display:flex;gap:var(--s0)}
.ap-wrap .rw-pita a{flex:1;min-width:0;border-radius:7px;
  padding:var(--s2) var(--s1b);
  display:flex;flex-direction:column;align-items:center;gap:var(--s0);
  border:1px solid transparent;text-decoration:none;
  transition:border-color .15s,filter .15s}
.ap-wrap .rw-pita a:hover{border-color:var(--line-2);filter:brightness(1.2)}
.ap-wrap .rw-pita a.naik{background:linear-gradient(180deg,rgba(31,227,116,.26),rgba(31,227,116,.1))}
.ap-wrap .rw-pita a.turun{background:linear-gradient(180deg,rgba(240,160,122,.26),rgba(240,160,122,.1))}
.ap-wrap .rw-pita a.datar{background:rgba(135,170,145,.12)}
/* Yang sedang dibuka diberi garis terang — di deretan potongan sewarna,
   perbedaan latar saja terlalu halus. */
.ap-wrap .rw-pita a.kini{border-color:rgba(244,247,245,.6)}

.ap-wrap .rw-pita .sk{font-size:var(--t-l9);font-weight:800;
  font-variant-numeric:tabular-nums;line-height:1.2}
.ap-wrap .rw-pita a.naik .sk{color:var(--green)}
.ap-wrap .rw-pita a.turun .sk{color:var(--jingga)}
.ap-wrap .rw-pita a.datar .sk{color:var(--muted)}
.ap-wrap .rw-pita .jm{font-size:var(--t-l10);color:var(--muted-2);
  font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}

/* Dibuang di HP, bukan dikecilkan.

   Pada kolom 850px, dua belas potongan dapat 69px — cukup untuk "+0,55" dan
   "10:00". Pada HP 318px, dua belas cuma 24px: jamnya terpotong dan angkanya
   bertumpuk. Enam memberi 51px.

   Yang disembunyikan adalah yang PALING LAMA; analisa terbaru ada di ujung
   kanan dan tidak pernah hilang. */
@media (max-width:1100px){
  .ap-wrap .rw-pita a.rw-sembunyi{display:none}
  .ap-wrap .rw-jud b{font-size:var(--t-l6)}
  .ap-wrap .rw-pita a{padding:var(--s1b) var(--s1)}
}

/* ============================================================================
   TANGGA UKURAN HURUF (build 1000)

   Hierarkinya terbalik: judul bagian 11px sementara ISINYA 16px. Paragraf isi
   tidak pernah diberi ukuran sama sekali — ia jatuh ke bawaan body.

   Tangga sekarang, dan tiap tingkat punya selisih yang terbaca:

     30px  nama pair          identitas halaman
     21px  angka ringkas      empat kotak di atas
     18px  harga              pelengkap pair, bukan setaranya
     16px  nilai indikator    RSI, ADX, ATR
     14px  ISI PARAGRAF       turun dari 16
     12px  keterangan
     11px  label bagian       uppercase — memang label, bukan judul

   Label 11px TIDAK dinaikkan: ia uppercase dengan letter-spacing, dan huruf
   besar terbaca lebih besar dari ukuran nominalnya. Yang salah bukan
   labelnya — isinya yang terlalu besar.
   ========================================================================= */

/* Paragraf isi: satu-satunya yang tidak pernah punya ukuran. */
.ap-wrap .kartu p{font-size:var(--t-l7);line-height:1.75}

/* Harga turun dari 25px. Ia keterangan atas pair, bukan hal kedua yang
   sepenting namanya — dua angka sebesar itu bersebelahan saling melemahkan. */
.ap-wrap .ap-harga b{font-size:var(--t-l5)}

/* Nilai indikator turun dari 18px: pada 16px ia masih menonjol dari
   keterangannya yang 12px, tanpa menyaingi angka ringkas di atas. */
.ap-wrap .kotak .v{font-size:var(--t-l6)}

/* Nama pair naik ke 30px — tingkat teratas halaman, dan sebelumnya sama besar
   dengan harga di sebelahnya. */
.ap-wrap .kepala h1{font-size:var(--t-l2)}

@media (max-width:760px){
  /* Di HP semuanya turun satu tingkat, kecuali isi paragraf: 14px sudah batas
     nyaman baca, dan menurunkannya lagi membuat naskah panjang melelahkan. */
  .ap-wrap .kepala h1{font-size:var(--t-l3)}
  .ap-wrap .ap-harga b{font-size:var(--t-l6)}
  .ap-wrap .kotak .v{font-size:var(--t-l7)}
}
