
  :root{
    --void:#06070b; --panel:#0c0e15; --panel-2:#10131c;
    --line:#1b1f2b; --line-2:#2a3042;
    --amber:#f2b13d; --ink:#eaecf3; --mid:#8890a3; --low:#525a6d;
    --now:#4cc9f0; --soon:#2dd4a7; --yore:#ff5d5d; --done:#5b6274;
    --violet:#a78bfa; --pink:#f472b6;
  /* v10.18 — TIGA TOKEN YATIM DITAMBEL. Dipake di CSS tapi ga pernah
     dideklarasiin: --dim 32x (Kaul/Skill/Hourly/LIST+/Streak/Cu9),
     --ges 1x (.kbb.cmt badge cyan), --red 1x tanpa fallback (.pill.time.alt2).
     var() undefined = aturan INVALID yang dibuang DIEM-DIEM — gejalanya
     "warnanya ilang", bukan "errornya apa". */
  --dim:var(--mid); --ges:#22d3ee; --red:#ff5d5d;
  /* v11.24 — DUA TOKEN YATIM LAGI, ketangkep pas bayar utang visual §1,5.
     --bg-2 (2x) sama --ink-2 (9x) dipake di SELURUH blok 🌃 STREET OF PRETSIA
     tapi kaga pernah dideklarasi. Akibatnya persis kaya tiga token di atas:
     aturannya INVALID, dibuang DIEM-DIEM, dan kartu geng ke-ship tanpa latar
     tanpa warna teks. Itu separo alesan kenapa v11.23 dibilang "jelek bgt".
     Digembok J3-a — tiap var() di aturan .sop* wajib ada deklarasinya. */
  --bg-2:#0e1119; --ink-2:#c6cddc;
    --r:5px;
  }
  [data-theme="midnight"]{
    --void:#000000; --panel:#0a0a0d; --panel-2:#101015;
    --line:#1a1a21; --line-2:#2b2b35;
    --amber:#c9ccd8; --ink:#f2f3f7; --mid:#8b8f9d; --low:#4c505d;
    --now:#7dd3fc; --soon:#34d399; --yore:#f87171; --done:#565a67;
    --violet:#a5b4fc; --pink:#f0abfc;
  }
  [data-theme="midas"]{
    --void:#0d0903; --panel:#171007; --panel-2:#1f160a;
    --line:#302511; --line-2:#48391a;
    --amber:#f5c84c; --ink:#f7ecd7; --mid:#b39b6e; --low:#6f5c39;
    --now:#ffd166; --soon:#a8e063; --yore:#ff6b6b; --done:#7a6742;
    --violet:#d8b4fe; --pink:#f9a8d4;
  }
  [data-theme="glacier"]{
    --void:#050b14; --panel:#0a1221; --panel-2:#0e1830;
    --line:#182743; --line-2:#26395e;
    --amber:#8fd3ff; --ink:#e8f1fb; --mid:#8aa3c0; --low:#4b6181;
    --now:#67e8f9; --soon:#5eead4; --yore:#fb7185; --done:#51648a;
    --violet:#a5b4fc; --pink:#f0abfc;
  }
  [data-theme="neon"]{
    --void:#0b0512; --panel:#150a21; --panel-2:#1c102d;
    --line:#2c1b46; --line-2:#43286c;
    --amber:#ff4fd8; --ink:#f5e9ff; --mid:#a98cc9; --low:#604985;
    --now:#22d3ee; --soon:#4ade80; --yore:#ff5d7d; --done:#5b4a78;
    --violet:#c084fc; --pink:#ff4fd8;
  }
  [data-theme="grid"]{
    --void:#000203; --panel:#010608; --panel-2:#020b0f;
    --line:#06394a; --line-2:#0b5b73;
    --amber:#00e5ff; --ink:#dffbff; --mid:#5fb9cc; --low:#226070;
    --now:#00e5ff; --soon:#6ee7b7; --yore:#ff7a1a; --done:#1e4a58;
    --violet:#7dd3fc; --pink:#ff7a1a;
  }
  /* ===== SKIN: PURE BLACK · HAZY GREY (+ MONOLITH) — nol warna; kepekatan abu via --hz (setting) ===== */
  [data-theme="mono"],[data-theme="monolith"]{
    --hz:56;
    --void:#000000;
    --panel:hsl(0 0% calc(var(--hz)*0.09%)); --panel-2:hsl(0 0% calc(var(--hz)*0.13%));
    --line:hsl(0 0% calc(var(--hz)*0.20%)); --line-2:hsl(0 0% calc(var(--hz)*0.32%));
    --ink:hsl(0 0% calc((var(--hz) + 36)*1%)); --mid:hsl(0 0% calc(var(--hz)*1%)); --low:hsl(0 0% calc(var(--hz)*0.58%));
    --amber:hsl(0 0% calc((var(--hz) + 28)*1%)); --now:hsl(0 0% calc((var(--hz) + 20)*1%));
    --soon:hsl(0 0% calc((var(--hz) + 12)*1%)); --yore:hsl(0 0% calc((var(--hz) + 24)*1%));
    --done:hsl(0 0% calc(var(--hz)*0.62%)); --violet:hsl(0 0% calc((var(--hz) + 16)*1%)); --pink:hsl(0 0% calc((var(--hz) + 16)*1%));
  }
  /* bunuh warna inline (chip kasta/kategori/loop/dll yang bawa hex sendiri) */
  [data-theme="mono"] *,[data-theme="monolith"] *{--rc9c:var(--mid)!important;--rc9m:var(--mid)!important;--rc9b:var(--mid)!important;--rc9l:var(--mid)!important;--fa9c:var(--mid)!important;--fa9sos:var(--mid)!important;--fa9win:var(--mid)!important;--fa9lose:var(--mid)!important;--fa9fw:var(--mid)!important;--fa9kc:var(--mid)!important;--fa9lc:var(--mid)!important;--fa9pc:var(--mid)!important;--fa9ic:var(--mid)!important;--ca9:var(--mid)!important;--ca9g:var(--mid)!important;--ca9w:var(--mid)!important;--ca9live:var(--mid)!important;--ca9a1:var(--mid)!important;--ca9a2:var(--mid)!important;--ca9cc:var(--mid)!important;--ca9gcc:var(--mid)!important;--ca9plcc:var(--mid)!important;--ca9arm:var(--mid)!important;--ca9tcc:var(--mid)!important;--ca9ppc:var(--mid)!important;--ca9vc:var(--mid)!important;--ca9ykc:var(--mid)!important;--ca9gtc:var(--mid)!important;--ca9sc:var(--mid)!important;--iz9c:var(--mid)!important;--iz9d:var(--mid)!important;--iz9x:var(--mid)!important;--iz9g:var(--mid)!important;--iz9w:var(--mid)!important;--iz9rc:var(--mid)!important;--iz9pc:var(--mid)!important;--iz9kc:var(--mid)!important;--iz9lc:var(--mid)!important;--iz9fc:var(--mid)!important;--iz9aq:var(--mid)!important;--ges:var(--mid)!important;--red:var(--mid)!important;--kc9:var(--mid)!important;--dc:var(--mid)!important;--kc:var(--mid)!important;--lc:var(--mid)!important;--bc:var(--mid)!important;--cc:var(--mid)!important;--hc:var(--mid)!important;--zc:var(--mid)!important}
  [data-theme="mono"] .zdot,[data-theme="monolith"] .zdot{background:var(--mid)!important;box-shadow:none!important}
  [data-theme="mono"] .zl,[data-theme="monolith"] .zl{color:var(--mid)!important}
  [data-theme="mono"] .kc2,[data-theme="monolith"] .kc2{background:var(--mid)!important;box-shadow:none!important}
  /* emoji ikut kelabu (span = rumah mayoritas emoji) */
  [data-theme="mono"] span,[data-theme="mono"] button,[data-theme="mono"] .hdragghost,
  [data-theme="monolith"] span,[data-theme="monolith"] button,[data-theme="monolith"] .hdragghost{filter:grayscale(1)}
  /* ===== MONOLITH: batu — nol animasi, nol glow, elemen hias mati ===== */
  [data-theme="monolith"] *,[data-theme="monolith"] *::before,[data-theme="monolith"] *::after{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important}
  [data-theme="monolith"] #datastream,[data-theme="monolith"] #patbg,[data-theme="monolith"] .rghint{display:none!important}
  .hzrow{margin-top:6px}.hzlbl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;color:var(--low);align-self:center;margin-right:4px}
  *{box-sizing:border-box;margin:0;padding:0}
  html{-webkit-text-size-adjust:100%}
  /* ⚠ `[hidden]` ITU CUMA BAWAAN BROWSER, dan bawaan browser KALAH sama
     `display:` apa pun yang ditulis tangan. Tiap kotak yang class-nya bilang
     `display:flex` — .soplbox9, .sopwbox9, .soprntr9 — atribut `hidden`-nya
     kepasang tapi kotaknya TETEP NONGOL. Tiga lubang, satu sebab:
       · ORANG BARU — kasta kriminal sama guild town folk kebuka BARENGAN
       · ronde kriminal — kotak KABUR KE MANA? kebuka tanpa RUN diketok
       · kartu task — dua picker bisa kebuka bareng
     Ini pagarnya: yang dibilang ketutup, WAJIB ketutup. */
  [hidden]{display:none!important}
  body{background:var(--void);color:var(--ink);font-family:"Barlow",system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  button{font-family:"Barlow",sans-serif}

  /* ═══ ambient — v11.51 bon #59 · LATAR BUKAN ELEMEN LAGI ═══════════════════════
     Diukur di bon #58: satu elemen `position:fixed` di BELAKANG isi yang bisa digulung
     = browser nahan DUA lapisan se-halaman penuh (29 MB dibayar dua kali). Ngecilin
     elemennya nol guna, `contain` nol guna, matiin animasinya nol guna — yang mahal
     FIXED-nya. Jadi grid & pola sekarang dicat sebagai BACKGROUND `body` ber-attachment
     fixed: dicat sama si penggulung sendiri, nol lapisan tambahan.

     TOPENG (dulu `mask-image`): background nol bisa di-mask, jadi ditiru kebalikannya —
     satu lapisan `radial-gradient` warna halaman (`--void`, selalu pekat) ditumpuk DI ATAS
     grid: bening di tengah, pekat di pinggir. Aljabarnya identik. HARAM diganti jadi
     `transparent` di ujungnya — yang nutup itu justru warnanya.
     Pergeseran −2px dipertahanin (dulu `inset:-2px`) biar kisi-kisinya nol geser sepiksel.
     `--lt9-pola` diisi JS (data-URI SVG pola); bawaannya `none` = BLUEPRINT. */
  body{
    background-color:var(--void);
    background-image:
      var(--lt9-b1, none), var(--lt9-b2, none), var(--lt9-b3, none),
      radial-gradient(900px 620px at 50% -2px, transparent 20%, var(--void) 75%),
      var(--lt9-pola, none),
      linear-gradient(transparent 95%, color-mix(in srgb, var(--now) 6%, transparent) 95%),
      linear-gradient(90deg, transparent 95%, color-mix(in srgb, var(--now) 6%, transparent) 95%);
    background-position:0 0, 0 0, 0 0, 0 0, var(--lt9-polapos, -2px -2px), -2px -2px, -2px -2px;
    background-size:auto, auto, auto, auto, var(--lt9-polauk, auto), 100% 44px, 44px 100%;
    background-repeat:no-repeat, no-repeat, no-repeat, no-repeat, var(--lt9-polaul, repeat), repeat, repeat;
    background-attachment:fixed;
  }
  /* pola bukan-blueprint mateng-in kisi (dulu: `html[data-pat]:not([data-pat=blueprint]) .gridbg{display:none}`) */
  html[data-pat]:not([data-pat="blueprint"]) body{
    background-image:
      var(--lt9-b1, none), var(--lt9-b2, none), var(--lt9-b3, none),
      radial-gradient(900px 620px at 50% -2px, transparent 20%, var(--void) 75%),
      var(--lt9-pola, none);
    background-position:0 0, 0 0, 0 0, 0 0, var(--lt9-polapos, -2px -2px);
    background-size:auto, auto, auto, auto, var(--lt9-polauk, auto);
    background-repeat:no-repeat, no-repeat, no-repeat, no-repeat, var(--lt9-polaul, repeat);
  }
  /* `.bg` disisain CUMA buat blob. Nol blob = nol elemen = nol lapisan 29 MB. */
  .bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
  /* `.bg` cuma idup buat blob DRIFT — blob diem udah jadi background di atas.
     Di preset OFF/XLITE (nol blob) dan LITE/RICH (blob diem), elemennya nol lahir
     sama sekali, jadi lapisan 29 MB-nya nol pernah ditagih. */
  html[data-mo-blobn="0"] .bg,html[data-mo-blob="off"] .bg,
  html[data-mo-blob="static"] .bg{display:none}
  .bg .blob{position:absolute;width:620px;height:620px;border-radius:50%;filter:blur(120px);opacity:.15;will-change:transform}
  .bg .b1{background:var(--amber);top:-320px;right:-140px;animation:drift1 22s ease-in-out infinite alternate}
  .bg .b2{background:var(--now);bottom:-380px;left:-200px;animation:drift2 27s ease-in-out infinite alternate}
  .bg .b3{background:var(--violet);top:38%;left:62%;width:420px;height:420px;opacity:.09;animation:drift1 31s ease-in-out infinite alternate-reverse}
  @keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(-70px,50px) scale(1.12)}}
  @keyframes drift2{from{transform:translate(0,0) scale(1)}to{transform:translate(80px,-60px) scale(1.08)}}

  .shell{max-width:1180px;margin:0 auto;padding:0 26px 90px}
  .rise{opacity:0;transform:translateY(12px);animation:rise .5s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d,0ms)}
  @keyframes rise{to{opacity:1;transform:none}}

  /* ⚡ PAGAR TERAKHIR, dan dia sengaja di tingkat paling atas: apa pun yang
     kelewat lebar di kemudian hari nol bakal bisa bikin SELURUH halaman kegeser
     ke samping. Geser-samping di app yang isinya kartu itu bikin tiap kartu
     kepotong dan orangnya nyalahin kartunya — padahal yang salah satu elemen di
     tempat lain. Ini bukan pengganti benerin akarnya (lihat .top di bawah),
     ini jaring biar akibatnya nol pernah nyebar.
     ⚠ v10.79 — WAJIB `clip`, JANGAN PERNAH balikin ke `hidden`/`auto`:
     overflow-x hidden di body maksa overflow-y jadi `auto` → body jadi SCROLL
     CONTAINER → SEMUA position:sticky level-halaman (topbar, ticker, calhead,
     cartbar) nempelnya ke body yang nol pernah discroll = sticky mati se-app.
     Itu persis penyakit v10.66→v10.78 yang bang Sam tunjuk ("ticker ga
     persistent"). `clip` motong overflow TANPA bikin scroll container. */
  html,body{max-width:100%;overflow-x:clip}
  /* ⚡ DI LAYAR SEMPIT topbar-nya dirampingin — bukan dibiarin numpuk tiga baris.
     Yang disembunyiin cuma yang PUNYA JALAN LAIN, dan jalannya ditulis di sini
     biar yang baca nanti nol perlu nebak:
       .wordmark → glyph ◇ tetep ada DAN tetep tombol home
       .tclk     → jam HP sendiri nempel dua senti di atasnya
       .keluar#signOut → tetep ada di Settings Center (⚙)
     Panah ‹ › SENGAJA TETEP: dia riwayat DALEM app, dan back-nya HP nol ngelakuin
     hal yang sama. Nyembunyiin dia bakal ngilangin kemampuan, bukan hiasan. */
  @media (max-width:640px){
    .top{padding:9px 0;gap:8px;row-gap:7px;margin-bottom:10px}
    .top .wordmark{display:none}
    .top .tclk{display:none}
    .top .topright #signOut{display:none}
    .brand{gap:7px}
    .warp{flex:1 1 100%;max-width:none;min-width:0}
    .topright{gap:7px;flex-wrap:wrap}
    /* ⚠ DI HP WRAP BALIK IDUP — dan ini bukan kelupaan. Di 360px anaknya
       NOL MUNGKIN muat sebaris walau udah nyusut semua; maksain nowrap di situ
       bikin barisnya nyembur keluar dan ketutup overflow-x:hidden. Dua baris
       yang jujur ngalahin satu baris yang kepotong diem-diem. */
    .top{flex-wrap:wrap}
    .rtw{flex-wrap:wrap}
  }
  /* topbar */
  /* ⚡ flex-wrap + anak yang boleh NYUSUT. Tanpa dua ini, tujuh anak .top
     maksa lebarnya jadi 749px di layar 380px, dan SELURUH HALAMAN jadi bisa
     digeser ke samping — itu yang motong kartu-kartu di HP, bukan widgetnya. */
  /* ⚠ URUTAN NGALAH DIPAKU DI SINI, bukan diserahin ke bawaan flex-shrink:1
     yang bikin semuanya nyusut rata. Yang boleh ngalah duluan itu kotak ketik
     (paling lebar, paling nol kritis), terus remah-remah judul, terus label
     chip. Tombol di kanan NOL PERNAH nyusut — tombol yang nyusut itu tombol
     yang meleset dipencet. */
  .top>.nexbtn,.top>.hnav,.top>.tclk{flex:none}
  .top>.brand{flex:0 1 auto;min-width:0}
  .top>.rtw{flex:0 1 auto;min-width:0}
  .top>.topright{flex:0 0 auto}
  .top{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px;flex-wrap:wrap;row-gap:9px;position:sticky;top:0;z-index:120;background:color-mix(in srgb,var(--void) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);margin-bottom:14px}
  /* ⚠ TIGA @media INI WAJIB DI BAWAH `.top{...}`. @media nol nambah kekhususan,
     jadi kalo dia ditaro di atas aturan polosnya dia KALAH — dan kalahnya nol
     bunyi. Versi pertama gue naro dia di atas, keliatan jalan di 1280 (padahal
     itu efek basis .warp yang gue turunin), terus ketauan mati pas diukur di
     1100 yang lewat TIGA PIKSEL doang. */
  /* ⚡ NOWRAP CUMA DI LEBAR YANG EMANG MUAT. Diukur: butuh ~1112px buat muat
     satu baris pas chip zona idup, dan isi .shell mentok 1128px. Di bawah
     1000px wrap tetep idup — nowrap di situ bikin barisnya nyembur keluar dan
     ketutup overflow-x:hidden, alias kepotong diem-diem. Itu lebih jelek
     daripada dua baris yang jujur. */
  @media (min-width:1000px){ .top{flex-wrap:nowrap} }
  /* label fase chip ("PEMANASAN") ngalah duluan pas seret — warnanya sama
     angkanya tetep ngomong, dan chip-nya tetep tombol ke halaman zona. */
  @media (max-width:1150px){ .iz9chip s,.fa9chip s{display:none} }
  /* jam topbar ngalah paling akhir sebelum wrap: jam OS-nya nempel dua senti
     di atasnya. Sama alesannya kaya yang di blok ≤640px. */
  @media (max-width:1080px){ .top .tclk{display:none} }
  .tclk{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;color:var(--amber);text-shadow:0 0 12px color-mix(in srgb,var(--amber) 40%,transparent);white-space:nowrap}
  /* basis 170 → 120: basis itu yang dipake flex buat mutusin wrap, dan 170
     kegedean buat baris yang isinya chip idup. Batas bawah 96px dipasang biar
     dia nol pernah nyusut jadi garis tipis nol kepake. */
  .warp{position:relative;flex:1 1 120px;max-width:430px;min-width:96px}
  .warp input{width:100%;background:var(--panel);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:9px 14px;font-family:"Chakra Petch",sans-serif;font-size:12.5px;outline:none;transition:.15s}
  .warp input:focus{border-color:var(--now);box-shadow:0 0 0 1px color-mix(in srgb,var(--now) 35%,transparent),0 0 26px -8px var(--now)}
  .warp input::placeholder{color:var(--low)}
  .warpdrop{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:330px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);border-radius:12px;box-shadow:0 24px 60px -18px #000,0 0 0 1px color-mix(in srgb,var(--now) 12%,transparent);padding:7px;z-index:610;display:none}
  .warpdrop.on{display:block;animation:cartin .18s ease}
  .wrow{display:flex;align-items:center;gap:10px;padding:8px 11px;border-radius:8px;cursor:pointer;color:var(--mid);font-size:12.5px}
  .wrow .we{width:22px;text-align:center;flex:none}
  .wrow .wn{font-family:"Chakra Petch",sans-serif;font-weight:700;color:var(--ink);white-space:nowrap}
  .wrow .wd{flex:1;min-width:0;font-size:11px;color:var(--low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wrow .wt{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;padding:3px 7px;border-radius:5px;border:1px solid var(--line-2);color:var(--low);flex:none}
  .wrow.act .wt{color:var(--soon);border-color:color-mix(in srgb,var(--soon) 45%,transparent)}
  .wrow.on{background:color-mix(in srgb,var(--now) 10%,transparent);box-shadow:inset 2.5px 0 0 var(--now)}
  .whint{padding:7px 11px;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
  .whint b{color:var(--amber)}
  /* v8.87 — warp ITEM search: baris item harian/bucket, hasil paling bawah */
  .wsep9{display:flex;align-items:center;gap:8px;padding:7px 11px 3px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;color:var(--low)}
  .wsep9 i{flex:1;height:1px;background:var(--line-2)}
  .wrow.itm .wn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%;font-weight:600}
  .wrow.itm .wd{flex:1}
  .wic{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.08em;padding:3.5px 7px;border-radius:5px;border:1px solid var(--line-2);color:var(--mid);flex:none;cursor:pointer;white-space:nowrap}
  .wic:hover{color:var(--ink);border-color:var(--now)}
  .wic.ak{color:var(--soon);border-color:color-mix(in srgb,var(--soon) 45%,transparent)}
  .wic.ak:hover{border-color:var(--soon)}
  .wrow.itm.on .wic.ak{background:color-mix(in srgb,var(--soon) 14%,transparent)}
  .warppanel{padding:11px}
  .wphead{display:flex;align-items:center;gap:9px;margin-bottom:10px}
  .wphead .we{font-size:16px}
  .wphead .wn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--wc,var(--ink))}
  .wphead .wok{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--done)}
  .wphead .sp{flex:1}
  .wphead button{cursor:pointer;background:transparent;border:1px solid var(--line-2);border-radius:6px;color:var(--mid);font-size:10.5px;padding:4px 9px}
  .wphead button:hover{color:var(--ink);border-color:var(--wc,var(--line-2))}
  .wpin{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);padding:9px 12px;font-family:Barlow,sans-serif;font-size:13px;outline:none}
  .wpin:focus{border-color:var(--wc,var(--now))}
  .wpta{width:100%;min-height:64px;resize:vertical;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);padding:9px 12px;font-family:Barlow,sans-serif;font-size:13px;outline:none;margin-top:8px}
  .wphint{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);margin-top:7px}
  .wmoods{display:flex;gap:6px;flex-wrap:wrap}
  .wmood{cursor:pointer;font-size:16px;padding:5px 8px;border-radius:8px;border:1px solid transparent;opacity:.5;transition:.12s}
  .wmood.on{opacity:1;border-color:var(--mc);background:color-mix(in srgb,var(--mc) 10%,transparent)}
  .wqrow{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:12.5px;color:var(--ink)}
  .wqrow span{flex:1}
  .rdnum{cursor:pointer;transition:.16s;border-radius:4px;padding:0 2px}
  .rdnum:hover{text-shadow:0 0 16px currentColor;filter:brightness(1.25)}
  .pop.cloud{animation:cloudin .16s cubic-bezier(.2,.9,.3,1.15);box-shadow:0 18px 50px -16px #000,0 0 0 1px color-mix(in srgb,var(--now) 14%,transparent),0 0 34px -12px color-mix(in srgb,var(--now) 60%,transparent)}
  @keyframes cloudin{from{opacity:0;transform:translateY(-5px) scale(.965)}}
  .subhd{display:flex;align-items:center;gap:8px;margin:12px 4px 7px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;color:var(--low);font-weight:700}
  .subhd::after{content:"";flex:1;height:1px;background:var(--line)}
  .subhd.md{color:#7dd3fc}
  .subhd.pend{color:var(--amber)}
  .subhd.krat{color:#4ade80}
  .subhd.rout{color:#c084fc}
  .rgroup.inline{margin:0}
  .rgroup.inline .rrow:last-child{margin-bottom:0}
  .subhd.donesub{color:var(--done)}
  .subhd .subarch{cursor:pointer;font-size:11px;opacity:.6;transition:.12s;margin-left:4px}
  .subhd .subarch:hover{opacity:1;transform:scale(1.15)}
  .subhd .shn{font-size:8px;background:var(--panel-2);padding:1px 7px;border-radius:99px}
  .mdchip{color:#7dd3fc!important;background:rgba(125,211,252,.13)!important}
  .mdchip.pz{color:var(--low)!important;background:rgba(136,144,163,.16)!important}
  .meta .pill[data-a="time"]{order:99;margin-left:auto!important}
  .rrow .pill.time{margin-left:auto}
  .pill.tg-g{color:#2dd4a7!important;background:rgba(45,212,167,.13)!important;animation:glowg 2.6s ease-in-out infinite}
  .pill.tg-y{color:#f2b13d!important;background:rgba(242,177,61,.17)!important;animation:glowy 1.9s ease-in-out infinite}
  .pill.tg-r{color:#ff5d5d!important;background:rgba(255,93,93,.16)!important;animation:glowr 1.4s ease-in-out infinite}
  @keyframes glowg{0%,100%{box-shadow:0 0 0 0 rgba(45,212,167,0)}50%{box-shadow:0 0 10px -3px #2dd4a7}}
  @keyframes glowy{0%,100%{box-shadow:0 0 0 0 rgba(242,177,61,0)}50%{box-shadow:0 0 11px -3px #f2b13d}}
  @keyframes glowr{0%,100%{box-shadow:0 0 0 0 rgba(255,93,93,0)}50%{box-shadow:0 0 12px -3px #ff5d5d}}
  .sig.what{animation:redhot 1.4s ease-in-out infinite}
  @keyframes redhot{0%,100%{box-shadow:0 0 0 0 rgba(255,93,93,0)}50%{box-shadow:0 0 12px -3px #ff5d5d}}
  /* [reduced-motion → pretsia-motion.js] pill tg-g/y/r + sig.what */
  .pill.mdrange{color:#7dd3fc!important;background:rgba(125,211,252,.12)!important;font-family:"JetBrains Mono",monospace;font-size:10.5px}
  .pill.mdrange.on{animation:mdrp 2.2s ease-in-out infinite}
  .pill.mdrange.late{color:#ff5d5d!important;background:rgba(255,93,93,.14)!important;animation:redp 1.6s ease-in-out infinite}
  @keyframes mdrp{0%,100%{box-shadow:0 0 0 0 rgba(125,211,252,0)}50%{box-shadow:0 0 11px -3px #7dd3fc}}
  /* [reduced-motion → pretsia-motion.js] pill mdrange on/late */
  .pill.tdyp{color:#f2b13d!important;background:rgba(242,177,61,.12)!important;font-size:12px;padding:2px 8px}
  .pill.tdyp.rpulse{animation:ambp 1.8s ease-in-out infinite}
  @keyframes ambp{0%,100%{box-shadow:0 0 0 0 rgba(242,177,61,0);opacity:.78}50%{box-shadow:0 0 12px -2px #f2b13d;opacity:1}}
  @keyframes redp{0%,100%{box-shadow:0 0 0 0 rgba(255,93,93,0);opacity:.7}50%{box-shadow:0 0 12px -2px #ff5d5d;opacity:1}}
  .dtl.has{color:var(--amber)!important;background:rgba(242,177,61,.1)!important;animation:ylwp 2.2s ease-in-out infinite}
  @keyframes ylwp{0%,100%{box-shadow:0 0 0 0 rgba(242,177,61,0)}50%{box-shadow:0 0 10px -3px var(--amber)}}
  /* [reduced-motion → pretsia-motion.js] pill tdyp.rpulse + dtl.has */
  .archbtn{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;font-weight:800;color:#ff5d5d;background:rgba(255,93,93,.08);border:1px solid rgba(255,93,93,.4);border-radius:99px;padding:3px 12px;margin-left:10px;transition:.14s;box-shadow:inset 0 0 12px -9px #ff5d5d}
  .archbtn:hover{background:#ff5d5d;color:#0c0e14;box-shadow:0 0 16px -5px #ff5d5d}
  .arow{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13px}
  /* bon #54 — peti dua tab. Baris 🟡 SENGAJA kaga dicoret: golongan 2 itu "ditahan,
     ga dicoret" menurut GRP_META, dan kalo dia keliatan sama kaya yang tutup, tabnya
     kaga ada gunanya. */
  .abtabs{display:flex;gap:7px;margin:0 0 10px;flex-wrap:wrap}
  .abtab{display:inline-flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.13em;padding:6px 12px;border-radius:9px;cursor:pointer;border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.25);transition:.14s}
  .abtab:hover{border-color:var(--tc);color:var(--ink)}
  .abtab.on{border-color:var(--tc);color:var(--void);background:var(--tc);box-shadow:0 0 22px -8px var(--tc)}
  .abtab i{font-style:normal;font-size:9px;opacity:.85;padding:1px 6px;border-radius:20px;border:1px solid currentColor}
  .abtab.on i{border-color:rgba(0,0,0,.35)}
  .arow.pend .at{text-decoration:none;opacity:.85}
  .arow .abst{cursor:pointer;transition:.13s}
  .arow .abst::after{content:"▾";margin-left:5px;opacity:.55;font-size:9px}
  .arow .abst:hover{filter:brightness(1.25);transform:translateY(-1px)}
  /* dua jam yang jalan — makin lama makin panas, kebaca dari jauh tanpa dibaca */
  .abj{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap;flex:none;letter-spacing:.03em;border:1px solid}
  .abj.seger{color:var(--mid);border-color:var(--line-2);background:rgba(255,255,255,.022)}
  .abj.anget{color:#f2b13d;border-color:rgba(242,177,61,.42);background:rgba(242,177,61,.09)}
  .abj.panas{color:#ff8f8f;border-color:rgba(255,93,93,.45);background:rgba(255,93,93,.1)}
  .arow .ae{font-size:15px}
  .arow .at{flex:1;text-decoration:line-through;opacity:.6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .arow .ad{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .arow .tbtn{padding:2px 9px}
  .mdchip.dftc{color:var(--dftc,#2dd4a7)!important;background:color-mix(in srgb,var(--dftc,#2dd4a7) 15%,transparent)!important;box-shadow:0 0 10px -6px var(--dftc,#2dd4a7)}
  .task.dft>.trow .ttl{opacity:.48}
  .task.dft>.trow{background:linear-gradient(90deg,color-mix(in srgb,var(--dftc,#2dd4a7) 7%,transparent),transparent 60%)}
  .mdf{flex:1;cursor:pointer;background:var(--void);border:1px solid var(--line-2);border-radius:8px;padding:6px 9px;font-size:11.5px;color:var(--ink);display:flex;flex-direction:column;gap:2px;transition:.13s}
  .mdf b{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.18em;color:var(--low);font-weight:700}
  .mdf.on{border-color:#7dd3fc;box-shadow:0 0 0 3px rgba(125,211,252,.13),0 0 14px -7px #7dd3fc}
  .mdf.on b{color:#7dd3fc}
  .mdcustom{display:inline-flex;align-items:center;gap:3px;background:var(--void);border:1px solid var(--line-2);border-radius:8px;padding:3px 8px}
  .mdcustom input{width:38px;background:none;border:none;outline:none;color:var(--ink);font-size:12px;text-align:center;font-family:"JetBrains Mono",monospace}
  .mdcustom input::-webkit-outer-spin-button,.mdcustom input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
  .mdcustom b{font-family:"JetBrains Mono",monospace;font-size:9px;color:#7dd3fc;font-weight:800}
  .mdcalhd{display:flex;align-items:center;justify-content:space-between;margin:2px 0 7px}
  .mdcm{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;color:var(--mid);font-weight:700}
  .mdnav{cursor:pointer;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;border:1px solid var(--line-2);color:var(--mid);font-size:13px;transition:.12s}
  .mdnav:hover{color:#7dd3fc;border-color:#7dd3fc;box-shadow:0 0 10px -5px #7dd3fc}
  .mdcalwk{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px}
  .mdcalwk span{text-align:center;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.1em}
  .mdcalwk span.we{color:#ff8b8b}
  .mdcalgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
  .mdc{cursor:pointer;height:27px;display:grid;place-items:center;border-radius:7px;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--ink);transition:.1s;position:relative}
  .mdc:hover{background:var(--panel-2);box-shadow:inset 0 0 12px -8px #7dd3fc}
  .mdc.out{opacity:.28}
  .mdc.tdy{box-shadow:inset 0 0 0 1px var(--amber)}
  .mdc.inr{background:rgba(125,211,252,.14);border-radius:0}
  .mdc.sel{background:#7dd3fc;color:#04121c;font-weight:800;box-shadow:0 0 14px -4px #7dd3fc}
  .mdc.sel.ss{border-radius:7px 0 0 7px}
  .mdc.sel.se{border-radius:0 7px 7px 0}
  .mdc.sel.ss.se{border-radius:7px}
  .mdb{display:block;height:5px;margin-top:2px;background:color-mix(in srgb,var(--mc) 78%,transparent);box-shadow:0 0 6px -2px var(--mc);font-size:7px;line-height:5px;color:#04060c;overflow:hidden;white-space:nowrap;font-weight:800;padding:0 3px;border-radius:0}
  .mdb.s{border-radius:5px 0 0 5px}
  .mdb.e{border-radius:0 5px 5px 0}
  .mdb.s.e{border-radius:5px}
  .mdb.pz{opacity:.32;filter:grayscale(.7)}
  .schip.od{color:#ff8b8b;background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.35);animation:odblink 2.6s ease-in-out infinite}
  @keyframes odblink{0%,100%{box-shadow:0 0 0 0 rgba(255,107,107,0)}50%{box-shadow:0 0 10px -3px rgba(255,107,107,.7)}}
  .lnk{display:inline-flex;margin-left:7px;font-size:11px;cursor:pointer;animation:chainpulse 1.8s ease-in-out infinite;user-select:none;vertical-align:middle}
  .lnk.off{animation:none;opacity:.32;filter:none}
  .lnk.off:hover{opacity:.7}
  @keyframes chainpulse{0%,100%{filter:drop-shadow(0 0 2px rgba(167,139,250,.55));opacity:.72}50%{filter:drop-shadow(0 0 9px rgba(167,139,250,1)) drop-shadow(0 0 20px rgba(76,201,240,.65));opacity:1;transform:scale(1.14)}}
  .dtl{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:12px;border:1px dashed var(--line-2);color:var(--low);opacity:.5;transition:.16s;white-space:nowrap;user-select:none}
  .dtl:hover{opacity:1;color:var(--mid)}
  .dtl.has{opacity:1;border:1px solid rgba(255,95,95,.55);color:#ff6b6b;background:rgba(255,80,80,.08);animation:dtlpulse 1.7s ease-in-out infinite}
  @keyframes dtlpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,0)}50%{box-shadow:0 0 15px -2px rgba(255,80,80,.7)}}
  .nexbtn{cursor:pointer;width:36px;height:36px;border-radius:10px;background:var(--panel);border:1px solid var(--line-2);color:var(--mid);font-size:15px;display:grid;place-items:center;transition:.15s;margin-right:2px}
  .nexbtn:hover{color:var(--amber);border-color:var(--amber);box-shadow:0 0 18px -6px var(--amber);transform:translateY(-1px)}
  .nexus{min-width:296px;max-width:330px;max-height:72vh;overflow-y:auto;padding:6px}
  .nexus .nxh{display:flex;align-items:center;gap:8px;padding:8px 10px 5px;font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:700;letter-spacing:.22em;color:var(--low)}
  .nexus .nxh::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--now) 40%,transparent),transparent)}
  .nexus .nxrow{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;cursor:pointer;font-size:13px;color:var(--ink);transition:.12s;border-left:2px solid transparent;animation:nxin .28s both;animation-delay:calc(var(--i)*22ms)}
  .nexus .nxrow:hover{background:var(--panel-2);border-left-color:var(--nc,var(--now));transform:translateX(3px);box-shadow:inset 0 0 22px -16px var(--nc,var(--now))}
  .nexus .nxrow .ne{width:22px;text-align:center;flex:none}
  .nexus .nxrow .nl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* v10.10 — anak & cucu shortcut di drawer + karet lipetan */
  .nexus .nxrow.nxd1{padding:6px 11px 6px 30px;font-size:11.5px}
  .nexus .nxrow.nxd2{padding:4px 11px 4px 48px;font-size:10px;font-family:"JetBrains Mono",monospace;letter-spacing:.08em}
  .nexus .nxrow.clps9{display:none}
  .nexus .nxc9{flex:none;width:22px;text-align:center;color:var(--low);cursor:pointer;border-radius:6px;font-size:10px;padding:2px 0}
  .nexus .nxc9:hover{color:var(--now);background:var(--panel-2)}
  /* v10.11 — tooltip provenance The Wall: "angka ini dari mana" (nol windows 98) */
  .wtip9{position:fixed;z-index:9999;pointer-events:none;opacity:0;transition:opacity .12s;max-width:290px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,transparent),var(--panel));
    border:1px solid color-mix(in srgb,var(--now) 45%,var(--line-2));border-radius:9px;padding:8px 11px;
    font-family:"JetBrains Mono",monospace;font-size:9.5px;line-height:1.75;color:var(--mid);
    box-shadow:0 0 24px -8px var(--now),0 10px 26px -12px #000;backdrop-filter:blur(7px)}
  .wtip9.on{opacity:1}
  .wtip9 .h{color:var(--now);font-weight:700;letter-spacing:.14em;font-size:8.5px;border-bottom:1px solid var(--line);padding-bottom:3px;margin-bottom:3px;text-shadow:0 0 9px color-mix(in srgb,var(--now) 55%,transparent)}
  .wtip9 .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:268px}
  /* v10.12 — 🧬 STREAK DEEP-DIVE */
  .wdeep .wsec{margin-top:18px}
  .wdp9wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin:10px 0 4px}
  .wdp9card{position:relative;border:1px solid var(--line-2);border-radius:12px;background:var(--panel);padding:12px 14px;overflow:hidden}
  .wdp9card::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--pc,#4cc9f0),transparent);box-shadow:0 0 12px 0 var(--pc,#4cc9f0)}
  .wdp9hd{display:flex;align-items:center;gap:8px;font-family:"Chakra Petch",sans-serif;font-weight:700;letter-spacing:.08em;font-size:12.5px;color:var(--ink)}
  .wdp9hd .wdch9{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--pc,#4cc9f0);border:1px solid color-mix(in srgb,var(--pc,#4cc9f0) 45%,var(--line-2));border-radius:8px;padding:2px 7px;flex:none;text-shadow:0 0 8px color-mix(in srgb,var(--pc,#4cc9f0) 55%,transparent)}
  .wdp9big{font-family:"Chakra Petch",sans-serif;font-size:26px;font-weight:700;color:var(--pc,#4cc9f0);text-shadow:0 0 16px color-mix(in srgb,var(--pc,#4cc9f0) 50%,transparent);margin:6px 0 2px}
  .wdp9big small{font-size:9px;color:var(--low);font-family:"JetBrains Mono",monospace;letter-spacing:.14em;margin-left:7px}
  .wdp9row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--mid);padding:3px 2px;cursor:pointer;border-radius:6px}
  .wdp9row:hover{color:var(--ink);background:color-mix(in srgb,var(--pc,#4cc9f0) 7%,transparent)}
  .wdp9row .n9{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wdp9row b{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--ink);flex:none}
  .wdp9bar{flex:none;width:70px;height:4px;border-radius:3px;background:var(--panel-2);overflow:hidden}
  .wdp9bar i{display:block;height:100%;background:var(--pc,#4cc9f0);box-shadow:0 0 8px var(--pc,#4cc9f0);border-radius:3px}
  .wdp9nol{font-size:10.5px;color:var(--low);font-style:italic;padding:4px 0}
  /* v10.13 — 🔢 STREAK MATRIX + toggle ukuran + scrollbar kembar */
  .wmxtool{display:flex;gap:8px;align-items:center;margin:2px 0 8px;font-family:"JetBrains Mono",monospace}
  .wmxchip{font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--low);border:1px solid var(--line-2);border-radius:8px;padding:4px 10px;cursor:pointer;transition:.13s}
  .wmxchip.on{color:var(--now);border-color:color-mix(in srgb,var(--now) 55%,var(--line-2));text-shadow:0 0 8px color-mix(in srgb,var(--now) 55%,transparent)}
  .wsbar9{overflow-x:auto;overflow-y:hidden;height:13px;margin:2px 0 6px}
  .wsbar9>i{display:block;height:1px}
  #wmatrix .wmxwrap{overflow-x:auto;padding-bottom:4px}
  .wmxg{display:grid;grid-template-columns:190px repeat(var(--nd,30),var(--cw,17px));gap:3px;align-items:stretch;margin:2px 0;width:max-content;min-width:100%}
  .wmxin9{width:max-content;min-width:100%}   /* v11.17 — biar min-width:100% anak-anaknya ngukur ke SELEBAR SCROLL */
  /* ⚠ v11.56 (bon #50) — UKURAN SEL DIIKET KE KELAS, BUKAN KE #id.
     Dulu tiga baris ini nyantol di `#wmatrix`, dan begitu lahir permukaan
     KEDUA yang makan penggambar yang sama (🪞 STREAK CHECK-INS, host
     `#wcheck9`), dia nol kebagian `--cw/--ch/--fs` — `height:var(--ch)` jadi
     nol sah, tinggi tiap baris ikut ISINYA, dan barisnya jadi belang: 21px
     kalo ada sel bernyala, 10px kalo kosong. Bang Sam yang ngeliat duluan
     ("kotaknya seragam aja deh besarnya"), gembok nol ada yang nangkep —
     makanya ini jadi utang gembok di bon #50. Kelas `.wmatrix` dipake DUA
     host, jadi permukaan ketiga besok kebagian gratis. */
  .wmatrix.mxlebar9{--cw:26px;--ch:26px;--fs:9px}   /* v11.17 ⬌ LEBAR = panorama sel utuh, geserable — fit-shrink almarhum */
  .wmatrix{--cw:17px;--ch:17px;--fs:7px}
  .wmatrix.gede9{--cw:28px;--ch:28px;--fs:9.5px}
  .wmxhc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-family:"JetBrains Mono",monospace;color:var(--low);line-height:1.15;padding-bottom:1px;border-bottom:1px solid var(--line)}
  .wmxhc i{font-style:normal;font-size:6px;letter-spacing:.04em}
  .wmxhc b{font-size:var(--fs);color:var(--mid)}
  .wmxhc.wk i,.wmxhc.wk b{color:#3b465e}
  .wmxhc.tdy{border-bottom:2px solid var(--amber)}
  .wmxhc.tdy i,.wmxhc.tdy b{color:var(--amber);text-shadow:0 0 8px rgba(242,177,61,.6)}
  .wmxhc em{font-style:normal;font-size:5.5px;color:#22d3ee}
  /* v11.17 — label matrix STICKY: plat SOLID (asas mockup 25/8 — nol opacity
     di elemen sticky, background transparan = sel nyembul "mbelakangi"),
     kabut halus nutup selokan gap 3px di kanannya. */
  /* v11.19 B13 — plat label: aksen + tepi bayangan disengaja; ellipsis pindah
     ke .mxnm9 (di flex, text-overflow nol makan ke teks telanjang) */
  .wmxlbl{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid);letter-spacing:.05em;white-space:nowrap;overflow:hidden;display:flex;align-items:center;position:sticky;left:0;z-index:3;background:var(--void);padding:0 4px 0 2px;border-right:1px solid color-mix(in srgb,var(--gc,#2a3145) 28%,transparent)}
  .wmxlbl .mxnm9{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
  .wmxg:hover .wmxlbl{color:var(--ink)}
  .wmxg:hover .wmxlbl.item9{color:var(--mid)}
  .wmxlbl::after{content:"";position:absolute;left:100%;top:0;bottom:0;width:16px;background:linear-gradient(90deg,var(--void) 18%,transparent);pointer-events:none}
  .wmxlbl.grp9{color:var(--gc);font-weight:800;text-shadow:0 0 9px color-mix(in srgb,var(--gc) 45%,transparent);box-shadow:inset 3px 0 0 var(--gc);padding-left:7px}
  .wmxlbl.item9{padding-left:15px;color:var(--low)}
  .wmxlbl.item9::before{content:"↳ ";color:var(--line-2)}
  .wmxcell{height:var(--ch);border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:var(--fs);color:var(--low);background:#0c0e14;cursor:pointer}
  .wmxcell.tdy{outline:1px solid rgba(242,177,61,.4);outline-offset:1px}
  .wmxcell.on1{background:color-mix(in srgb,var(--gc) 22%,#0c0e14);border-color:color-mix(in srgb,var(--gc) 45%,var(--line));color:var(--gc)}
  .wmxcell.on2{background:color-mix(in srgb,var(--gc) 34%,#0c0e14);border-color:color-mix(in srgb,var(--gc) 60%,var(--line));color:#eafff6}
  .wmxcell.sum9{font-weight:800;color:#061019;border-color:color-mix(in srgb,var(--gc) 90%,#fff);
    background-color:color-mix(in srgb,var(--gc) 80%,#04070d);
    background-image:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.15) 52%,transparent 68%);
    background-size:260% 100%;background-repeat:no-repeat;
    box-shadow:0 0 9px color-mix(in srgb,var(--gc) 55%,transparent);
    animation:cling9 2.8s ease-in-out infinite}
  @keyframes cling9{
    0%{background-position:130% 0;filter:brightness(1)}
    38%{background-position:130% 0;filter:brightness(1)}
    50%{background-position:-40% 0;filter:brightness(1.28)}
    62%{background-position:-160% 0;filter:brightness(1)}
    100%{background-position:-160% 0;filter:brightness(1)}}
  /* ═══ 🏗 v11.08 STREAK MANAGER — WALL REBORN wave 1 ═══════════════════════
     Grup = kartu ber-warna grupnya, loop = baris, item = chip. Semua pintu
     pindah/lahir/ganti-muka idup DI SINI; matrix & bar tinggal nurunin. */
  .smg9cat{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--low);margin:2px 0 10px}
  .smg9g{position:relative;border:1px solid color-mix(in srgb,var(--gc) 28%,transparent);border-radius:12px;padding:10px 12px;margin:0 0 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--gc) 7%,transparent),transparent 55%)}
  .smg9g.ghost{--gc:#8890a3;border-style:dashed;cursor:pointer;display:flex;align-items:center;gap:8px;opacity:.65}
  .smg9g.ghost:hover{opacity:1;border-color:var(--mid)}
  .smg9h{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
  .smg9e{font-size:15px}
  .smg9n{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:13px;letter-spacing:.12em;color:var(--gc);text-shadow:0 0 12px color-mix(in srgb,var(--gc) 45%,transparent)}
  .smg9j{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.18em;font-weight:800;padding:3px 7px;border-radius:99px;border:1px solid color-mix(in srgb,var(--gc) 40%,transparent);color:var(--gc)}
  .smg9j.kunci{color:#8890a3;border-color:rgba(136,144,163,.4);border-style:dashed}
  .smg9b{border:1px solid var(--mid);background:transparent;color:var(--low);border-radius:8px;font-size:10px;padding:4px 8px;cursor:pointer;font-family:"JetBrains Mono",monospace}
  .smg9b:hover{color:var(--ink);border-color:color-mix(in srgb,var(--gc) 55%,transparent)}
  .smg9b.tambah{color:var(--gc);border-color:color-mix(in srgb,var(--gc) 45%,transparent)}
  .smg9b.bahaya:hover{color:#ff5d5d;border-color:rgba(255,93,93,.5)}
  .smg9kosong{font-size:10px;color:var(--low);font-style:italic;padding:2px 0 6px}
  .smg9l{display:flex;align-items:center;gap:7px;padding:5px 0 2px;border-top:1px dashed color-mix(in srgb,var(--lc) 22%,transparent)}
  /* v11.19 B7 — drag urutan loop & grup di manager */
  .smg9grip9{cursor:grab;color:var(--low);font-size:10px;user-select:none;padding:0 2px;opacity:.55;touch-action:none}
  .smg9grip9:hover{opacity:1;color:var(--ink)}
  .smgdrag9{opacity:.45}
  .smgdrop9{box-shadow:inset 0 -2px 0 var(--now),0 0 14px -6px var(--now);border-radius:6px}
  .smg9le{font-size:12px}
  .smg9ln{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;letter-spacing:.08em;color:var(--lc)}
  .smg9lc{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low)}
  .smg9chips{display:flex;flex-wrap:wrap;gap:5px;padding:4px 0 8px}
  .smg9it{position:relative;font-size:10px;padding:4px 9px;border-radius:99px;border:1px solid color-mix(in srgb,var(--lc) 38%,transparent);color:var(--ink);cursor:pointer;background:color-mix(in srgb,var(--lc) 8%,transparent)}
  .smg9it:hover{border-color:var(--lc);box-shadow:0 0 10px -4px var(--lc)}
  .smg9it.ghost{border-style:dashed;color:var(--low);background:transparent}
  .smg9asal{font-style:normal;font-size:8px;color:var(--low);margin-left:4px}
  /* v11.16 ⏸ HOLD — sub-grup sendiri, redup tapi nol disembunyiin */
  .smg9hold9{display:flex;align-items:center;gap:8px;margin:10px 0 4px}
  .smg9hold9 span{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;font-weight:800;color:#8890a3;white-space:nowrap}
  .smg9hold9 i{flex:1;height:1px;background:linear-gradient(90deg,rgba(136,144,163,.5),transparent)}
  .smg9l.redup9,.smg9chips.redup9{opacity:.45}
  .smg9l.redup9:hover,.smg9chips.redup9:hover{opacity:.8}
  .smg9itp9{display:flex;flex-wrap:wrap;gap:5px;padding:0 0 8px 2px}
  .smg9it.mini9{font-size:9px;padding:3px 7px;opacity:.55;border-style:dashed}
  .smg9it.mini9:hover{opacity:1}
  .wstghold9{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.12em;color:#8890a3;margin-left:auto}
  .wmxlbl.redup9{opacity:.45}
  .wmxg .wmxlbl.redup9 ~ .wmxcell{opacity:.5}
  /* v11.09 🌙 PENSIUNAN + 🗄 ARSIP */
  .smg9pens{margin-top:18px;border-top:1px dashed var(--mid);padding-top:10px}
  .smg9ph{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--low);margin-bottom:8px}
  .smg9pr{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--lc) 20%,transparent);border-radius:10px;margin-bottom:6px;opacity:.85;flex-wrap:wrap}
  .smg9pr .n{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;color:var(--lc)}
  .smg9pr .st{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low)}
  .wdp9arsip{display:flex;flex-direction:column;gap:2px}
  /* v11.10 chip grup matrix */
  .wmxsplit9{width:1px;align-self:stretch;background:var(--mid);margin:0 4px}
  .wmxchip.gchip9{color:var(--wcp);border-color:color-mix(in srgb,var(--wcp) 38%,transparent)}
  /* ✨ bon #47 — PILL RAK: sodara chip grup tapi tepinya putus-putus, biar
     sekali liat ketauan dia KACA (kompilasi), bukan grup yang punya barang. */
  .wmxchip.rakchip9{color:var(--wcp);border:1px dashed color-mix(in srgb,var(--wcp) 46%,transparent);display:inline-flex;align-items:center;gap:5px}
  /* 🪞 bon #48 — STREAK CHECK-INS. Sel KERJA persis sel matrix biasa (angka,
     pekat). Sel MAMPIR: cincin redup tanpa angka — kebaca beda dari jauh tanpa
     nambah penggambar kedua (dia cuma atribut data-ck9="m" di sel yang sama). */
  /* ✦ bon #50 — sel MAMPIR: tetep TITIK (bukan angka), tapi NYALA di warna
     barisnya, bukan abu mati. Ketokan bang Sam: "on mampir iya kaya itu aja
     titik tapi nyala juga lah". Pekatnya sengaja di bawah sel KERJA — dua
     lapis tetep kebedain dari jauh. */
  #wcheck9 .wmxcell[data-ck9="m"]{display:flex;align-items:center;justify-content:center;
    background:color-mix(in srgb,var(--gc) 11%,#0c0e14);
    border-color:color-mix(in srgb,var(--gc) 38%,var(--line))}
  #wcheck9 .wmxcell[data-ck9="m"]::after{content:"";width:4px;height:4px;border-radius:50%;
    background:var(--gc);box-shadow:0 0 5px color-mix(in srgb,var(--gc) 75%,transparent);
    animation:cknyala9 3.2s ease-in-out infinite}
  @keyframes cknyala9{0%,100%{opacity:.62}50%{opacity:1}}
  /* label baris = pintu ke modulnya (bang Sam: "kalo diteken bisa jump dong ke modulnya") */
  #wcheck9 .wmxlbl[data-ckm9]{cursor:pointer}
  #wcheck9 .wmxlbl[data-ckm9]:hover{color:var(--gc);text-shadow:0 0 10px color-mix(in srgb,var(--gc) 60%,transparent)}
  #wcheck9 .wmxlbl[data-ckm9]:hover .ckgo9{opacity:1;transform:translateX(0)}
  .ckgo9{font-style:normal;font-size:8px;opacity:0;margin-left:5px;transform:translateX(-3px);transition:.16s;white-space:nowrap}
  #wcheck9 .wmxlbl.ckrow9{letter-spacing:.02em}
  #wcheck9 .ckmam9{font-style:normal;font-size:9px;opacity:.45;margin-left:5px}
  .cklg9{display:inline-flex;align-items:center;gap:5px;font:600 8.5px/1 var(--fmono,ui-monospace,monospace);letter-spacing:.09em;color:var(--low);padding:0 2px}
  .cklg9 .ckd9{width:9px;height:9px;border-radius:3px;display:inline-block}
  .cklg9 .ckd9.ker9{background:color-mix(in srgb,#7cf5c8 55%,transparent);box-shadow:inset 0 0 0 1px #7cf5c8}
  .cklg9 .ckd9.mam9{background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--low) 60%,transparent)}
  /* ✨ bon #47 H2 — kartu rak di ekor MANAGER: tepi putus-putus, sodara kartu
     grup tapi jelas KACA. Chip isinya warnanya ngikut LOOP ASALNYA, bukan
     warna rak — biar sekali liat ketauan dia dateng dari mana. */
  .smg9g.rakg9{border-style:dashed;border-color:color-mix(in srgb,#7cf5c8 30%,var(--mid))}
  .smg9j.kaca9{color:#7cf5c8;border-color:color-mix(in srgb,#7cf5c8 45%,transparent);background:color-mix(in srgb,#7cf5c8 10%,transparent)}
  .smg9chips.rakchips9{gap:5px}
  .smg9it.rakit9{--lc:var(--ic);color:var(--ic);border-color:color-mix(in srgb,var(--ic) 40%,transparent);display:inline-flex;align-items:center;gap:5px}
  .smg9it.rakit9:hover{border-color:var(--ic);background:color-mix(in srgb,var(--ic) 14%,transparent)}
  .rkasal9{font-style:normal;font-size:8px;letter-spacing:.05em;opacity:.5;white-space:nowrap}
  .smg9g.ghost.rakghost9{border-style:dashed;cursor:pointer}
  .smg9g.ghost.rakghost9:hover .smg9n{color:#7cf5c8 !important}
  .wmxchip.rakchip9 i{font-style:normal;font-size:9px;padding:1px 5px;border-radius:7px;background:color-mix(in srgb,var(--wcp) 20%,transparent);color:var(--wcp)}
  .wmxchip.rakchip9.on{background:color-mix(in srgb,var(--wcp) 15%,transparent);border-style:solid;border-color:var(--wcp);color:var(--ink);box-shadow:0 0 0 1px color-mix(in srgb,var(--wcp) 22%,transparent),0 0 14px -6px var(--wcp)}
  .wmxchip.rakchip9 .rkb9{font-weight:400;opacity:.62;padding:0 2px;border-radius:5px;cursor:pointer}
  .wmxchip.rakchip9 .rkb9:hover{opacity:1;background:color-mix(in srgb,var(--wcp) 26%,transparent)}
  .wmxchip.rakchip9.baru9{color:var(--low);border-color:var(--mid);letter-spacing:.06em}
  .wmxchip.rakchip9.baru9:hover{color:#7cf5c8;border-color:color-mix(in srgb,#7cf5c8 52%,transparent)}
  /* tanda asal di baris rak — di kaca konteks grupnya ilang, jadi tiap baris bawa rumahnya */
  .mxasal9{font-style:normal;font-size:8.5px;letter-spacing:.05em;opacity:.55;margin-left:6px;white-space:nowrap}
  /* pemilih isi rak */
  .rakpop9 .rkg9{font:700 9px/1 var(--fmono,ui-monospace,monospace);letter-spacing:.12em;color:var(--cc);margin:9px 2px 4px;opacity:.9}
  .rakpop9 .rksel9{gap:4px;flex-wrap:wrap;padding:2px 0 5px;border-bottom:1px dashed var(--mid)}
  .rakpop9 .fxc{cursor:pointer;font-size:10px;padding:3px 7px;border-radius:8px;border:1px solid var(--mid);color:var(--low)}
  .rakpop9 .fxc.rkl9{border-style:dashed;color:var(--cc)}
  .rakpop9 .fxc.rkl9 i{font-style:normal;font-size:8px;opacity:.7}
  .rakpop9 .fxc.on{background:color-mix(in srgb,var(--cc) 18%,transparent);border-color:var(--cc);color:var(--ink)}
  .wmxchip.gchip9.on{background:color-mix(in srgb,var(--wcp) 14%,transparent);border-color:var(--wcp);color:var(--ink)}
  /* v11.11 🔥 STREAK RINGKES — kartu lirik per grup (lembar 3 mockup) */
  .wstg9{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:4px 0 10px}
  .wstgc{position:relative;border:1px solid color-mix(in srgb,var(--gc) 30%,transparent);border-radius:12px;padding:10px 12px;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--gc) 8%,transparent),transparent 60%);transition:border-color .15s,box-shadow .15s}
  .wstgc:hover{border-color:var(--gc);box-shadow:0 0 18px -10px var(--gc)}
  .wstgh{display:flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;font-weight:800;color:var(--gc)}
  .wstgn{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:26px;line-height:1;color:var(--ink);margin:7px 0 2px}
  .wstgn small{font-size:9px;letter-spacing:.14em;color:var(--low);font-family:"JetBrains Mono",monospace;margin-left:6px}
  .wstgn.bersih9{color:#2dd48a;text-shadow:0 0 14px rgba(45,212,138,.35)}
  .wstgd{display:flex;gap:3px;margin:7px 0}
  .wstgd i{width:9px;height:9px;border-radius:3px;background:color-mix(in srgb,var(--gc) 12%,transparent);border:1px solid color-mix(in srgb,var(--gc) 22%,transparent)}
  .wstgd i.on{background:var(--gc);box-shadow:0 0 7px -1px var(--gc)}
  .wstgb{display:flex;flex-direction:column;gap:3px;margin-top:6px}
  .wstgb .r{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;font-size:9px;color:var(--low)}
  .wstgb .r b{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--ink)}
  .wstgb .bar{grid-column:1/-1;height:3px;border-radius:2px;background:color-mix(in srgb,var(--gc) 14%,transparent);overflow:hidden}
  .wstgb .bar i{display:block;height:100%;width:var(--w);background:var(--gc);border-radius:2px}
  .wstgkos{font-size:9px;color:var(--low);font-style:italic;margin-top:6px}
  /* v11.12 🎪 bar à la carte per grup */
  .grpbar9{margin-top:7px;border-color:color-mix(in srgb,var(--lc) 32%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--lc) 6%,transparent),transparent 70%)}
  .grpbar9:hover{border-color:color-mix(in srgb,var(--lc) 55%,transparent)}
  .grpbar9 .rt{text-shadow:0 0 12px color-mix(in srgb,var(--lc) 40%,transparent)}
  /* v11.13 🥈 SILVER BOOK */
  .sv9head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
  .sv9t{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:16px;letter-spacing:.14em;background:linear-gradient(120deg,#eef2f8,#9fb0c8 45%,#e8edf5 60%,#8fa0b8);-webkit-background-clip:text;background-clip:text;color:transparent}
  .sv9d{font-size:9.5px;color:var(--low);max-width:520px}
  .sv9stat{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;color:#c9d4e4;margin-left:auto}
  .sv9new{border:1px dashed rgba(201,212,228,.5);background:transparent;color:#c9d4e4;border-radius:10px;padding:7px 13px;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;margin-bottom:10px}
  .sv9new:hover{border-style:solid;box-shadow:0 0 16px -8px #c9d4e4}
  .sv9form{border:1px solid rgba(201,212,228,.3);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;background:linear-gradient(180deg,rgba(201,212,228,.06),transparent)}
  .sv9form input,.sv9form textarea{background:rgba(0,0,0,.25);border:1px solid var(--mid);border-radius:8px;color:var(--ink);padding:7px 9px;font-size:11px;font-family:inherit}
  .sv9form input:focus,.sv9form textarea:focus{outline:none;border-color:#c9d4e4}
  .sv9frow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
  .sv9frow input{flex:1;min-width:120px}
  .sv9thumbs{display:flex;gap:5px;flex-wrap:wrap}
  .sv9thumbs img{width:44px;height:44px;object-fit:cover;border-radius:7px;border:1px solid rgba(201,212,228,.4)}
  .sv9go{border:1px solid #c9d4e4;background:rgba(201,212,228,.12);color:#eef2f8;border-radius:9px;padding:7px 14px;cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;letter-spacing:.1em}
  .sv9batal{border:1px solid var(--mid);background:transparent;color:var(--low);border-radius:9px;padding:7px 11px;cursor:pointer}
  .sv9grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
  .sv9card{border:1px solid rgba(201,212,228,.28);border-radius:12px;padding:10px 12px;background:linear-gradient(165deg,rgba(201,212,228,.07),transparent 55%);position:relative}
  .sv9card:hover{border-color:rgba(201,212,228,.6);box-shadow:0 0 18px -10px #c9d4e4}
  .sv9ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
  .sv9tgl9{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;color:#c9d4e4}
  .sv9del{border:none;background:transparent;color:var(--low);cursor:pointer;font-size:11px}
  .sv9del:hover{color:#ff5d5d}
  .sv9jud9{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;color:var(--ink);margin-bottom:4px}
  .sv9cer9{font-size:10.5px;color:var(--low);line-height:1.5;margin-bottom:5px;white-space:pre-wrap}
  .sv9rew9{display:inline-block;font-size:9.5px;color:#ffd166;border:1px solid rgba(255,209,102,.35);border-radius:99px;padding:3px 9px;margin-bottom:6px}
  .sv9foto9{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
  .sv9foto9 img{width:54px;height:54px;object-fit:cover;border-radius:8px;border:1px solid rgba(201,212,228,.35);cursor:pointer}
  /* v11.14 🐾 SUPER TRAIL naik kelas */
  .stv9{border-bottom:1px dashed var(--mid);padding-bottom:7px;margin-bottom:2px}
  .stvc9{--vc:#8fa2ff}
  .stchip.stvc9{border-color:color-mix(in srgb,var(--vc) 35%,transparent)}
  .stchip.stvc9.on{color:var(--ink);border-color:var(--vc);background:color-mix(in srgb,var(--vc) 13%,transparent)}
  .stkaca9{cursor:pointer;border:1px dashed var(--mid);border-radius:12px;padding:10px}
  .stkaca9:hover{border-color:#8fa2ff}
  .stkacah9{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;color:var(--low);margin-bottom:8px}
  .stlihat9{display:flex;gap:6px;padding:9px 0 2px;flex-wrap:wrap}
  .stkel9{border:1px solid color-mix(in srgb,#8fa2ff 22%,transparent);border-radius:11px;padding:7px 10px;margin:0 0 9px;background:linear-gradient(180deg,color-mix(in srgb,#8fa2ff 5%,transparent),transparent 70%)}
  .stkelh9{display:flex;justify-content:space-between;align-items:baseline;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;font-weight:800;color:#8fa2ff;margin-bottom:4px}
  .stkelh9 span{font-weight:400;letter-spacing:.08em;color:var(--low)}
  .stkelr9 .stt{font-size:10.5px}
  /* v11.15 ⌁ chip lagi diseret — cursor:grab NEBENG deklarasi .lkchip aslinya
     (deklarasi kedua yang nambah properti = penyakit v10.59, gemboknya nangkep) */
  .lkchip.lkdrag9{opacity:.65;cursor:grabbing;box-shadow:0 0 14px -6px #4cc9f0;transform:scale(1.04)}
  .lj9chips{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 10px}
  .lj9cx9{justify-content:flex-end;margin:14px 2px -4px;opacity:.92}   /* v11.19 B12 — chip per kotak, nempel di atas kotaknya */
  /* v11.18 RB-8 — 🏝 kepulauan routine */
  .pi9sis9{font-family:"JetBrains Mono",monospace;font-size:8px;color:#8fa2ff;border:1px solid rgba(143,162,255,.35);border-radius:999px;padding:1px 7px;margin-left:6px;white-space:nowrap}
  .pi9det{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:12px;background:linear-gradient(180deg,var(--panel-2),var(--panel))}
  .pi9dh{display:flex;align-items:center;gap:8px;margin-bottom:9px}
  .pi9dh b{font-family:"Chakra Petch",sans-serif;letter-spacing:.1em}
  .pi9dsk{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800}
  .pi9sisbtn9{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:#8fa2ff;border:1px solid rgba(143,162,255,.4);border-radius:8px;padding:3px 9px}
  .pi9sisbtn9:hover{background:rgba(143,162,255,.1)}
  .pi9rtl9{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(27,31,43,.5)}
  .pi9rtl9 b{font-family:"Chakra Petch",sans-serif;font-size:11px;color:var(--lc);min-width:110px}
  .pi9rtl9 .bar9{flex:1;height:5px;border-radius:4px;background:#0c0e14;overflow:hidden}
  .pi9rtl9 .bar9 i{display:block;height:100%;border-radius:4px}
  .pi9rtl9 .sk9{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;width:26px;text-align:right}
  .pi9rti9{display:flex;flex-wrap:wrap;gap:5px;padding:6px 0 8px}
  .pi9rtc9{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:9px;border:1px solid color-mix(in srgb,var(--lc,#4cc9f0) 40%,transparent);color:color-mix(in srgb,var(--lc,#4cc9f0) 80%,#fff);background:color-mix(in srgb,var(--lc,#4cc9f0) 9%,transparent);border-radius:999px;padding:2.5px 9px}
  .pi9rtc9:hover{background:color-mix(in srgb,var(--lc,#4cc9f0) 20%,transparent)}
  .pi9dnote{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-top:8px}
  /* v11.18 RB-7 — label loop matrix: pintu ⋯ + geserable */
  #wmatrix .wmxlbl.grp9[data-mxlp9]{cursor:grab;touch-action:pan-x}
  .wmxlbl .mxttk9{font-style:normal;margin-left:5px;color:var(--low);opacity:.65;font-size:10px;flex:none}
  /* v11.21 — separator antar loop: REL NEON IDUP (dashed almarhum).
     Terang di pangkal (nempel plat label) meredup ke kanan + dua lapis
     glow, terus ada CAHAYA LARI di atasnya — kosakata yang sama kaya
     separator grup ⌁ SIRKUIT, cuma lebih pelan & tipis: grup teriak,
     loop bisik TAPI NYALA. Chunking kebaca, mata nol begah. */
  .wmxlsep9{position:relative;width:max-content;min-width:100%;height:12px;margin:4px 0 5px;display:flex;align-items:center;overflow:hidden}
  .wmxlsep9 i{display:block;width:100%;height:2px;position:relative;border-radius:2px;
    background:linear-gradient(90deg,color-mix(in srgb,var(--lsc,#2a3145) 96%,#fff 16%) 0%,color-mix(in srgb,var(--lsc,#2a3145) 80%,transparent) 30%,color-mix(in srgb,var(--lsc,#2a3145) 52%,transparent) 68%,color-mix(in srgb,var(--lsc,#2a3145) 30%,transparent) 100%);
    box-shadow:0 0 6px 0 color-mix(in srgb,var(--lsc,#2a3145) 72%,transparent),0 0 17px 1px color-mix(in srgb,var(--lsc,#2a3145) 40%,transparent),0 0 34px -4px color-mix(in srgb,var(--lsc,#2a3145) 55%,transparent)}
  .wmxlsep9 i::after{content:"";position:absolute;top:-2px;bottom:-2px;width:150px;left:-150px;border-radius:3px;
    background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lsc,#2a3145) 92%,#fff 40%) 46%,color-mix(in srgb,var(--lsc,#2a3145) 96%,#fff 55%) 52%,transparent);
    box-shadow:0 0 20px 3px color-mix(in srgb,var(--lsc,#2a3145) 85%,#fff 25%);
    animation:mxlsLari9 5.6s linear infinite;animation-delay:var(--lsd,0s);pointer-events:none}
  @keyframes mxlsLari9{from{left:-90px}to{left:100%}}
  html[data-motion="off"] .wmxlsep9 i::after{animation:none;display:none}   /* rel tetep nyala, larinya doang yang diem */
  .wmxlbl.grp9:hover .mxttk9{opacity:1;color:var(--gc)}
  .wmxlbl.mxdrag9{cursor:grabbing;box-shadow:0 0 16px -5px var(--gc);text-shadow:0 0 12px var(--gc)}
  .wmxlbl.mxdrop9{outline:1px dashed var(--gc);outline-offset:-1px;background:color-mix(in srgb,var(--gc) 14%,var(--void))}
  /* v11.18 RB-6 — kartu ☁ SEMUA LAGU (virtual) */
  .ca9plc.ca9semua9 .h b{letter-spacing:.1em}
  .ca9plc[data-caplc9],.ca9plc.ca9semua9{cursor:pointer}
  /* v11.18 ✨ RB-4 — baris panjang JALAN (kuning neon) · merah KELAP-KELIP.
     ⚠ akar kenapa dulu nol pernah jalan: .tt nol punya aturan satu-baris,
     jadi judul panjang MELIPAT ke bawah dan nol pernah "overflow" — penyapu
     nol pernah nemu yang mentok. Satu baris = syarat marquee bisa ngukur. */
  /* v11.19 B2 — flex:1 pindah ke WHITELIST (span yang bawa judul .tt doang).
     Versi v11.18 (blacklist) bikin .hsb9 widget hourly melar jadi blob kosong
     — kotak 14px dikasih flex:1. Daftar-kecuali itu jebakan; whitelist nol
     punya korban berikutnya. */
  .pscrow>span:not(.pill):not(.pscb9):not(.cb){min-width:0}
  .pscrow>span.tt,.pscrow>span:has(.tt){flex:1}
  .pscrow .tt{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pscrow .tt.jln9{display:block;overflow:hidden;text-overflow:clip;white-space:nowrap;color:#ffd166;text-shadow:0 0 9px rgba(255,209,102,.4)}
  .pscrow .tt.jln9 .ttmq9{display:inline-block;white-space:nowrap;font-style:normal;animation:ttmq9 var(--kd,14s) linear infinite}
  @keyframes ttmq9{to{transform:translateX(-50%)}}
  /* 🔴 MERAH DIEM — ketokan bang Sam (bon #62): "dia merah aja ga usah kedip2, lagian
     udah muter jalan pake kedip2 too much deh."
     Ini DULU `animation:pscred9 1.5s steps(2) infinite`. Diukur di rak dia: 1.220 biji,
     70% dari semua animasi yang jalan, dan SATU-SATUNYA yang ngubah `background` +
     `border-color` — barang CAT ULANG, yang paling mahal. Yang laen (marquee, pita)
     cuma `transform`, itu dikerjain kartu grafis.
     Warnanya diambil dari keadaan NYALA-nya kedipan tadi, bukan yang redup: yang bikin
     baris ini kebaca "merah" ya keadaan itu. Kalo diturunin ke merah dasar doang,
     ongkosnya ilang tapi sinyalnya ikut ilang.
     `@keyframes pscred9` sengaja DIBIARIN idup di bawah — nol makan ongkos kalo nol
     dipake, dan masih kepake kalo nanti kedipnya mau dibalikin buat SEBAGIAN baris. */
  .pscrow.red{background:rgba(255,77,109,.13);border-color:rgba(255,93,93,.75)}
  @keyframes pscred9{50%{background:rgba(255,77,109,.13);border-color:rgba(255,93,93,.75)}}
  /* v11.18 🎪 pemilih routine universal */
  .rtsel9 .rtg9{font-weight:800;border-color:color-mix(in srgb,var(--cc,#4cc9f0) 45%,transparent)}
  .rtsel9 .rtg9 i{font-style:normal;font-size:8px;opacity:.7;margin-left:3px}
  .rtsel9 .rtl9{font-size:9.5px;padding:2px 8px;opacity:.92}
  .rtsel9 .fxc.on{background:color-mix(in srgb,var(--cc,#4cc9f0) 16%,transparent);color:var(--cc,#4cc9f0);border-color:color-mix(in srgb,var(--cc,#4cc9f0) 60%,transparent)}
  .pscrow .pscb9{flex:none;width:22px;height:22px;display:inline-grid;place-items:center;border-radius:7px;border:1px solid color-mix(in srgb,var(--cc,#4cc9f0) 45%,transparent);background:color-mix(in srgb,var(--cc,#4cc9f0) 10%,transparent);font-size:12px}
  /* v11.18 ⛽ selubung boot dingin */
  #bootVeil9{position:fixed;inset:0;z-index:900;display:grid;place-items:center;background:radial-gradient(600px 300px at 50% 38%,#101522,var(--void,#06070b));pointer-events:auto}
  .bv9in{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
  .bv9in b{font-family:"Chakra Petch",sans-serif;font-size:14px;letter-spacing:.12em;color:#4cc9f0;text-shadow:0 0 14px rgba(76,201,240,.5)}
  .bv9in small{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low,#525a6d)}
  .bv9spin{width:26px;height:26px;border-radius:50%;border:2px solid rgba(76,201,240,.25);border-top-color:#4cc9f0;animation:bv9put 0.9s linear infinite}
  @keyframes bv9put{to{transform:rotate(360deg)}}
  /* ═══ v11.17 RB-2 — 🎭 SEPARATOR MEWAH, 3 KULIT (⚙ A/B/C) ═══════════════
     SATU markup: .wmxsep9 > .sg9w (nama Chakra Petch + pill ringkasan,
     STICKY — identitas grup nol pernah ilang pas digeser) + .sg9l (rel yang
     manjang selebar scroll). Asas anti-"mbelakangi" dibawa dari mockup:
     plat di belakang nama SOLID, nol opacity di jalur sticky. */
  .wmxsep9{display:flex;align-items:center;gap:10px;margin:15px 0 7px;position:relative}
  .wmxsep9 .sg9w{position:sticky;left:0;z-index:4;display:inline-flex;align-items:center;gap:8px;flex:none;max-width:82vw;border-radius:9px;background:var(--void);padding:2px 8px 2px 3px}
  #wgrid .wmxsep9 .sg9w{background:var(--panel)}
  .wmxsep9 .sg9n{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.13em;color:var(--gc);white-space:nowrap;text-shadow:0 0 15px color-mix(in srgb,var(--gc) 60%,transparent)}
  .wmxsep9 .sg9p{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.07em;color:color-mix(in srgb,var(--gc) 82%,#fff);background:color-mix(in srgb,var(--gc) 13%,#0c0e14);border:1px solid color-mix(in srgb,var(--gc) 40%,transparent);border-radius:999px;padding:2.5px 9px;white-space:nowrap}
  .wmxsep9 .sg9l{flex:1;min-width:70px;position:relative}
  .wmxsep9 .sg9cog{margin-left:2px}
  /* ⌁ A · SIRKUIT — rel neon putus-putus, segmen cahaya lari */
  .sep-a .wmxsep9 .sg9l{height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--gc) 55%,transparent) 0 26px,transparent 26px 34px);box-shadow:0 0 12px -3px var(--gc);overflow:hidden}
  .sep-a .wmxsep9 .sg9l::after{content:"";position:absolute;top:0;bottom:0;width:90px;left:-90px;background:linear-gradient(90deg,transparent,var(--gc),transparent);animation:sg9lari 4.6s linear infinite}
  /* ▰ B · GERBANG — plat nyala penuh, aksen kiri, sapuan cahaya pelan (bawaan) */
  /* ⚠ NOL overflow:hidden di akar — ancestor ber-overflow matiin sticky
     .sg9w di dalemnya (kebukti di screenshot: plat kosong pas digeser).
     Sapuan cahayanya dikurung pake animasi background-position di ::before:
     background nol pernah ngelukis keluar kotaknya sendiri. */
  .sep-b .wmxsep9{background:linear-gradient(90deg,color-mix(in srgb,var(--gc) 14%,#0d1018),color-mix(in srgb,var(--gc) 4%,#0d1018) 46%,color-mix(in srgb,var(--gc) 1%,#0c0e14));border:1px solid color-mix(in srgb,var(--gc) 28%,transparent);border-left:3px solid var(--gc);border-radius:11px;padding:7px 12px;box-shadow:0 0 22px -12px var(--gc),inset 0 0 30px -24px var(--gc)}
  .sep-b .wmxsep9::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 34%,color-mix(in srgb,var(--gc) 15%,transparent) 50%,transparent 66%) no-repeat;background-size:240% 100%;animation:sg9sapu 6.4s ease-in-out infinite;pointer-events:none}
  .sep-b .wmxsep9 .sg9w{background:color-mix(in srgb,var(--gc) 10%,#0d1018)}
  .sep-b .wmxsep9 .sg9l{height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--gc) 40%,transparent),transparent)}
  /* ◇ C · SUNYI — denyut kecil, garis sehelai, banyak napas */
  .sep-c .wmxsep9{margin:21px 0 9px}
  .sep-c .wmxsep9 .sg9n{font-size:10.5px;letter-spacing:.3em;text-shadow:none;color:color-mix(in srgb,var(--gc) 75%,var(--mid))}
  .sep-c .wmxsep9 .sg9n::before{content:"◇";margin-right:7px;color:var(--gc);animation:sg9denyut 2.6s ease-in-out infinite;display:inline-block}
  .sep-c .wmxsep9 .sg9p{background:transparent;border-color:transparent;color:var(--low)}
  .sep-c .wmxsep9 .sg9l{height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--gc) 38%,transparent),transparent 85%)}
  @keyframes sg9lari{from{left:-90px}to{left:100%}}
  @keyframes sg9sapu{0%{background-position:130% 0}55%,100%{background-position:-130% 0}}
  @keyframes sg9denyut{0%,100%{text-shadow:0 0 4px color-mix(in srgb,var(--gc) 30%,transparent)}50%{text-shadow:0 0 13px var(--gc)}}
  /* pop ⚙ gaya matrix & grid */
  .wcog9 .wcg9s{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.24em;color:var(--low);margin:10px 4px 5px;border-bottom:1px solid var(--line);padding-bottom:4px}
  .wcog9 .wcg9o{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:9px;cursor:pointer;border:1px solid transparent}
  .wcog9 .wcg9o b{font-family:"Chakra Petch",sans-serif;font-size:12px;letter-spacing:.08em;color:var(--ink)}
  .wcog9 .wcg9o small{font-size:9.5px;color:var(--low)}
  .wcog9 .wcg9o:hover{background:var(--panel-2)}
  .wcog9 .wcg9o.on{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.07)}
  .wcog9 .wcg9o.on b{color:#22d3ee;text-shadow:0 0 10px rgba(34,211,238,.5)}
  .wmxchip.cog9{padding:4px 9px;font-size:12px;line-height:1}
  /* grid STREAK mode ▣ LIAT SEMUA */
  #wgrid.cilik9 .wcell,#wgrid.cilik9 .wcc{width:18px;height:18px;border-radius:5px;font-size:7.5px}
  #wgrid.cilik9 .wdayrow .wcell{font-size:8px}
  #wgrid.cilik9 .wdates span{width:18px}
  #wgrid.cilik9 .wdates span i{font-size:5px}
  #wgrid.cilik9 .wdates span b{font-size:7px}
  /* v10.14 — 📓 journal view KOTAK */
  .jvw9{display:flex;gap:6px;align-items:center;flex:none}
  .jvw9 .jsz9.hid{display:none}
  .jgrid9{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;padding:4px 2px}
  .jgrid9.gede{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  .jkard9{border:1px solid var(--line-2);border-radius:11px;background:var(--panel);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:.14s;position:relative}
  .jkard9:hover{border-color:var(--mc,var(--now));transform:translateY(-2px);box-shadow:0 8px 22px -12px var(--mc,var(--now))}
  .jkf9{position:relative;aspect-ratio:4/3;background:#0a0d14;overflow:hidden;flex:none}
  .jkf9 img{width:100%;height:100%;object-fit:cover;display:block}
  .jkf9 b{position:absolute;right:6px;bottom:6px;font-family:"JetBrains Mono",monospace;font-size:9px;background:rgba(0,0,0,.65);border:1px solid var(--line-2);border-radius:7px;padding:1px 6px;color:#fff}
  .jkb9{padding:8px 10px;display:flex;flex-direction:column;gap:4px;flex:1;min-height:0}
  .jkm9{font-size:14px;line-height:1}
  .jkt9{font-size:11px;color:var(--ink);line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .jgrid9.gede .jkt9{-webkit-line-clamp:6;font-size:11.5px}
  .jkd9{font-size:8.5px;font-family:"JetBrains Mono",monospace;color:var(--low);letter-spacing:.05em;display:flex;gap:5px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:5px;margin-top:auto}
  .nexus .nxrow .non{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:700;color:var(--amber)}
  @keyframes nxin{from{opacity:0;transform:translateX(-8px)}}
  .nxsearch{position:sticky;top:-6px;z-index:3;background:var(--panel);padding:6px 4px 9px;margin:-6px -2px 2px}
  .nxsearch input{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);font-size:12.5px;padding:9px 12px;outline:none;font-family:"Barlow",sans-serif}
  .nxsearch input:focus{border-color:var(--now);box-shadow:0 0 0 3px color-mix(in srgb,var(--now) 14%,transparent),0 0 18px -8px var(--now)}
  .nxrow.hide{display:none}
  .nxrow.on{background:var(--panel-2);border-left-color:var(--nc,var(--now));box-shadow:inset 0 0 22px -16px var(--nc,var(--now))}
  .hnav{display:flex;gap:5px}
  .hnav button{cursor:pointer;width:32px;height:32px;border-radius:9px;background:var(--panel);border:1px solid var(--line-2);color:var(--mid);font-size:15px;font-weight:900;display:grid;place-items:center;transition:.14s;font-family:"Chakra Petch",sans-serif}
  .hnav button:hover{color:var(--now);border-color:var(--now);box-shadow:0 0 16px -6px var(--now);transform:translateY(-1px)}
  .setwrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;align-items:start}
/* ===== master-detail (iPad-style) ===== */
.setshell{display:grid;grid-template-columns:264px 1fr;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;align-items:stretch}
.setmaster{background:linear-gradient(180deg,var(--panel-2),var(--panel));border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:3px}
.setmaster .mtitle{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.28em;color:var(--low);padding:8px 12px 10px}
.mitem{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;cursor:pointer;transition:.14s;position:relative;border:1px solid transparent}
.mitem .mi-ic{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;font-size:15px;background:color-mix(in srgb,var(--mc) 16%,transparent);border:1px solid color-mix(in srgb,var(--mc) 30%,transparent)}
.mitem .mi-tx{flex:1;min-width:0}
.mitem .mi-n{font-size:13px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mitem .mi-d{font-size:9.5px;color:var(--low);font-family:"JetBrains Mono",monospace;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mitem .mi-ar{color:var(--low);font-size:11px;opacity:0;transition:.14s;transform:translateX(-4px);flex:none}
.mitem:hover{background:var(--panel-2);border-color:var(--line)}
.mitem:hover .mi-ar{opacity:.6;transform:none}
.mitem.on{background:color-mix(in srgb,var(--mc) 14%,transparent);border-color:color-mix(in srgb,var(--mc) 38%,transparent)}
.mitem.on .mi-ar{opacity:1;transform:none;color:var(--mc)}
.mitem.on::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:3px;background:var(--mc);box-shadow:0 0 10px var(--mc)}
.setdetail{padding:20px 22px;position:relative;overflow:hidden;min-height:520px}
.spane{display:none;animation:paneIn .26s cubic-bezier(.2,.7,.3,1)}
.spane.on{display:block}
@keyframes paneIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
/* kartu di dalam pane: buang border/bg biar nyatu sama detail area */
.spane .setcard{background:transparent;border:none;border-radius:0;padding:0}
.spane .cyhd{font-size:16px;letter-spacing:.04em;margin-bottom:4px;text-transform:none;padding-bottom:0}
.spane .cyhd .t{font-size:19px}
.spane .cyhd .sub{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--low);text-transform:none}
.spane .setcard > .cyhd{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.spane .setcard.col > .cyhd{cursor:default}
.spane .setcard.col > .cyhd .cchev{display:none}
.spane .setcard.col .cbody{display:block!important;margin-top:0}
@media(max-width:720px){.setshell{grid-template-columns:1fr}.setmaster{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}.setmaster .mtitle{display:none}.mitem .mi-d{display:none}.mitem{flex:none}}
  .setcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 15px}
/* ---- kartu collapsible + baris seragam (bubble system) ---- */
.setcard.col .cyhd{cursor:pointer;margin-bottom:0;user-select:none;position:relative}
.setcard.col .cyhd .cchev{margin-left:auto;font-size:10px;color:var(--low);transition:transform .18s}
.setcard.col.open .cyhd .cchev{transform:rotate(90deg)}
.setcard.col .cbody{display:none;margin-top:10px}
.setcard.col.open .cbody{display:block;animation:sldn .2s ease}
@keyframes sldn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.setcard .cyhd .csum{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--low)}
.brow{display:flex;align-items:center;gap:11px;padding:10px 9px;border-radius:9px;cursor:pointer;transition:.12s;font-size:13px;color:var(--ink);border:1px solid transparent}
.brow:hover{background:var(--panel-2);border-color:var(--line)}
.brow .bi{width:22px;text-align:center;flex:none;font-size:15px}
.brow .bl{flex:1;line-height:1.3}
.brow .bl small{display:block;color:var(--low);font-size:10.5px;font-weight:400;margin-top:2px;letter-spacing:.01em}
.brow .bval{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.06em;padding:4px 10px;border-radius:20px;white-space:nowrap;background:color-mix(in srgb,var(--bc,var(--soon)) 14%,transparent);border:1px solid color-mix(in srgb,var(--bc,var(--soon)) 40%,transparent);color:var(--bc,var(--soon))}
.brow .bval.off{background:rgba(136,144,163,.08);border-color:rgba(136,144,163,.25);color:var(--low)}
.brow .bchev{color:var(--low);font-size:9px;flex:none}
/* bubble popup pilihan */
.optbub{padding:6px !important;min-width:230px}
.obhead{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bc,var(--amber));padding:6px 8px 8px;border-bottom:1px solid var(--line);margin-bottom:5px;display:flex;align-items:center;gap:7px}
.obopt{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;cursor:pointer;transition:.1s;font-size:12.5px;color:var(--ink)}
.obopt:hover{background:var(--panel-2)}
.obopt.on{background:color-mix(in srgb,var(--bc,var(--soon)) 12%,transparent)}
.obopt .obc{width:16px;flex:none;text-align:center;color:var(--bc,var(--soon))}
.obopt .obt{flex:1}
.obopt .obt small{display:block;color:var(--low);font-size:10px;margin-top:1px}
  .srow{display:flex;align-items:center;gap:11px;padding:9px 8px;border-radius:9px;cursor:pointer;transition:.12s;font-size:13px;color:var(--ink)}
  .srow:hover{background:var(--panel-2)}
  .srow .si{width:22px;text-align:center;flex:none}
  .srow .sl{flex:1;min-width:0}
  .srow .sl small{display:block;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);margin-top:2px}
  .srow .sv{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:var(--soon);white-space:nowrap}
  .srow.ro{cursor:default}
  .srow.ro:hover{background:transparent}
  .schips{display:flex;gap:7px;flex-wrap:wrap;padding:6px 8px 4px}
  .schip{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:6px 11px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);transition:.13s}
  .schip:hover{color:var(--ink)}
  .schip.on{color:var(--now);border-color:var(--now);box-shadow:0 0 12px -5px var(--now)}
  .npin.on{cursor:pointer;font-size:13px;padding:2px 4px;user-select:none;animation:pinpulse 1.8s ease-in-out infinite}
  @keyframes pinpulse{0%,100%{filter:drop-shadow(0 0 3px var(--amber));transform:scale(1)}50%{filter:drop-shadow(0 0 12px var(--amber)) drop-shadow(0 0 26px color-mix(in srgb,var(--amber) 60%,transparent));transform:scale(1.14)}}
  .noderow.pinned{background:color-mix(in srgb,var(--amber) 5%,transparent);box-shadow:inset 3px 0 0 var(--amber)}
  .btree.sorted .dragh{display:none}
  .nstat{cursor:pointer;font-size:9px}
  .nstat:not(.has){opacity:.6}
  .nstat:not(.has):hover{opacity:1}
  .noderow.ndone2 .ntitle{text-decoration:line-through;opacity:.5}
  .statp.ghost{color:var(--low);background:transparent;border:1px dashed var(--line-2);opacity:.55;cursor:pointer}
  .statp.ghost:hover{opacity:1;color:var(--mid)}
  .noderow.settled{opacity:.42;filter:saturate(.75)}
  .noderow.settled:hover{opacity:.85;filter:none}
  .noderow .statp{cursor:pointer;margin-left:8px}
  .urg:not(.empty){animation:urgpulse 1.9s ease-in-out infinite}
  @keyframes urgpulse{0%,100%{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--amber) 40%,transparent))}50%{filter:drop-shadow(0 0 9px color-mix(in srgb,var(--amber) 90%,transparent)) drop-shadow(0 0 20px color-mix(in srgb,var(--amber) 45%,transparent))}}
  html[data-noug] .urg:not(.empty){animation:none!important;filter:none!important}
  .fdiv{width:1px;height:20px;background:var(--line-2);margin:0 3px;align-self:center}
  .task.tchild{margin-left:calc(var(--dp)*28px);position:relative}
  .task.tchild::before{content:"";position:absolute;left:-16px;top:-8px;bottom:50%;width:14px;border-left:2px solid var(--line-2);border-bottom:2px solid var(--line-2);border-bottom-left-radius:8px}
  .tcaret{cursor:pointer;font-size:9px;color:var(--low);transition:transform .15s;padding:3px 5px;user-select:none}
  .tcaret.open{transform:rotate(90deg);color:#c084fc}
  .keye{cursor:pointer;font-size:11px;margin-left:5px;opacity:.75;transition:.12s;user-select:none;vertical-align:middle}
  .keye:hover{opacity:1;transform:scale(1.12)}
  .keye.off{opacity:.5}
  .kbadge{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:700;color:#c084fc;border:1px solid rgba(192,132,252,.35);background:rgba(192,132,252,.08);border-radius:10px;padding:2px 7px;white-space:nowrap}
  .attrbtn{cursor:pointer;flex:none;width:21px;height:21px;border-radius:50%;border:1.5px dashed var(--line-2);color:var(--low);display:inline-grid;place-items:center;font-size:13px;font-weight:800;margin-left:8px;opacity:.38;transition:.14s;user-select:none;vertical-align:middle;line-height:1}
  .task:hover .attrbtn,.noderow:hover .attrbtn{opacity:.85}
  .attrbtn:hover{opacity:1!important;color:var(--now);border-color:var(--now);box-shadow:0 0 11px -4px var(--now);transform:scale(1.1)}
  @media(max-width:960px){.tclk{display:none}}
  @media(max-width:700px){.crumb{display:none}.warp{min-width:120px}}
  .brand{display:flex;align-items:center;gap:11px;cursor:pointer;min-width:0;flex:0 1 auto}
  .glyph{width:32px;height:32px;border:1.5px solid var(--amber);border-radius:6px;display:grid;place-items:center;color:var(--amber);position:relative}
  .glyph::after{content:"";position:absolute;inset:-6px;border-radius:10px;background:radial-gradient(circle, rgba(242,177,61,.28), transparent 70%);filter:blur(6px);z-index:-1;animation:breathe 3.4s ease-in-out infinite}
  .glyph i{width:9px;height:9px;border:1.5px solid currentColor;transform:rotate(45deg);display:block}
  @keyframes breathe{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:.4;transform:scale(.86)}}
  .wordmark{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:16px;letter-spacing:.16em}
  .crumb{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;color:var(--low);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26ch;flex:0 1 auto}   /* v10.21 — nol boleh patah dua baris & ngedorong tinggi header */
  .topright{display:flex;align-items:center;gap:10px;flex:0 1 auto;min-width:0;flex-wrap:nowrap;justify-content:flex-end}
  .savestate{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);white-space:nowrap}
  .keluar{font-size:12.5px;font-weight:600;color:var(--mid);background:transparent;border:1px solid var(--line);border-radius:6px;padding:7px 13px;cursor:pointer;transition:.16s}
  .keluar:hover{color:var(--ink);border-color:var(--line-2)}
  .avatar{width:31px;height:31px;border:1px solid var(--line-2);border-radius:6px;display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:var(--mid);background:var(--panel)}

  /* hero */
  .eyebrow{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.2em;color:var(--amber);text-transform:uppercase;margin-bottom:14px}
  .eyebrow span{color:var(--low)}
  h1{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(30px,5vw,50px);letter-spacing:-.015em;line-height:1;margin-bottom:16px}
  h1 .wave{display:inline-block;transform-origin:70% 70%;animation:wave 2.6s ease-in-out 1.2s 2}
  @keyframes wave{0%,100%{transform:rotate(0)}12%{transform:rotate(16deg)}24%{transform:rotate(-8deg)}36%{transform:rotate(12deg)}48%{transform:rotate(-4deg)}60%{transform:rotate(0)}}
  .readout{font-family:"JetBrains Mono",monospace;font-size:clamp(13px,1.5vw,15px);line-height:1.75;color:var(--mid);max-width:60ch;min-height:3.4em;white-space:pre-wrap}
  .readout .yore{color:var(--yore);font-weight:700} .readout .now{color:var(--now);font-weight:700} .readout .soon{color:var(--soon);font-weight:700}
  .caret{display:inline-block;width:8px;height:1.05em;background:var(--amber);vertical-align:-3px;margin-left:3px;animation:blink 1.05s step-end infinite}
  @keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

  /* page head (subpages) */
  .phead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}
  .phead .pt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(24px,3.4vw,34px);display:flex;align-items:center;gap:12px}
  .phead .psub{font-size:13px;color:var(--mid);margin-top:4px}
  .backbtn{background:var(--panel);border:1px solid var(--line);color:var(--mid);border-radius:6px;padding:8px 13px;cursor:pointer;font-size:12.5px;font-weight:600;transition:.15s}
  .backbtn:hover{color:var(--ink);border-color:var(--line-2)}

  /* day rail */
  .rail-wrap{margin:30px 0 28px}
  .rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:11px;flex-wrap:wrap}
  .rail-label{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--low)}
  .rail-legend{display:flex;gap:13px;flex-wrap:wrap}
  .rail-legend i{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-style:normal;color:var(--low);display:flex;align-items:center;gap:5px}
  .rail-legend i::before{content:"";width:7px;height:7px;border-radius:1px;background:currentColor}
  .rail-legend i.l-now{color:var(--now)} .rail-legend i.l-yore{color:var(--yore)} .rail-legend i.l-done{color:var(--low)}
  .rail{position:relative;height:48px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
  .rail::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
  .tick{position:absolute;top:0;bottom:0;width:1px;background:var(--line);opacity:.75}
  .rail .sky{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(120,80,200,.18) 0%,rgba(255,170,90,.15) 4.5%,rgba(242,177,61,.08) 8.3%,rgba(76,201,240,.10) 13%,rgba(76,201,240,.07) 25%,rgba(255,224,150,.11) 31%,rgba(255,224,150,.09) 41.7%,rgba(242,177,61,.15) 46%,rgba(255,120,110,.16) 50%,rgba(244,114,182,.16) 54.2%,rgba(167,139,250,.20) 57.5%,rgba(88,70,180,.24) 60.4%,rgba(32,29,86,.44) 67%,rgba(22,20,58,.52) 100%)}
  .rail .sky::before{content:"";position:absolute;left:0;bottom:0;width:8.3%;height:2px;background:linear-gradient(90deg,rgba(255,170,90,0),rgba(255,180,100,.8),rgba(255,170,90,0))}
  .rail .sky::after{content:"";position:absolute;left:41.7%;bottom:0;width:19%;height:2px;background:linear-gradient(90deg,rgba(242,177,61,0),rgba(255,130,95,.85),rgba(244,114,182,.75),rgba(167,139,250,0))}
  .rail .stars{position:absolute;top:0;bottom:0;left:60.4%;right:0;pointer-events:none;overflow:hidden}
  .rail .stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#dfe7ff;box-shadow:0 0 6px rgba(160,190,255,.95);animation:twk var(--du,3.2s) ease-in-out var(--dl,0s) infinite}
  .rail .stars i.big{width:3px;height:3px;box-shadow:0 0 10px rgba(195,215,255,1)}
  .rail .fstars{position:absolute;top:0;bottom:0;left:0;width:8%;pointer-events:none}
  .rail .fstars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#cdd8ff;opacity:.28;box-shadow:0 0 4px rgba(160,190,255,.6)}
  @keyframes twk{0%,100%{opacity:.14}50%{opacity:.95}}
  .rail .meteor{position:absolute;width:78px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,rgba(200,220,255,0),#eef4ff);filter:drop-shadow(0 0 6px rgba(185,205,255,.95));animation:met 1.15s ease-in forwards;pointer-events:none}
  @keyframes met{0%{opacity:0;transform:translate(0,0) rotate(16deg)}10%{opacity:1}100%{opacity:0;transform:translate(160px,50px) rotate(16deg)}}
  .rail .nowtick::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:120px;transform:translateX(-50%);background:radial-gradient(ellipse at center,var(--phg,rgba(242,177,61,.32)),transparent 72%);opacity:.55;pointer-events:none}
  .rail .nowtick::after{position:absolute;top:-2px;left:50%;transform:translateX(-50%);font-size:11px;line-height:1}
  .rail[data-ph="fajar"]{--phg:rgba(255,175,100,.42)} .rail[data-ph="fajar"] .nowtick::after{content:"☀";color:#ffc07a;text-shadow:0 0 9px rgba(255,180,100,.9)}
  .rail[data-ph="pagi"]{--phg:rgba(120,210,255,.34)} .rail[data-ph="pagi"] .nowtick::after{content:"☀";color:#ffe08a;text-shadow:0 0 10px rgba(255,215,120,.95)}
  .rail[data-ph="siang"]{--phg:rgba(255,225,150,.4)} .rail[data-ph="siang"] .nowtick::after{content:"☀";color:#fff1b8;text-shadow:0 0 13px rgba(255,235,160,1)}
  .rail[data-ph="sore"]{--phg:rgba(255,140,100,.44)} .rail[data-ph="sore"] .nowtick::after{content:"☀";color:#ff9e6e;text-shadow:0 0 12px rgba(255,140,100,.95)}
  .rail[data-ph="senja"]{--phg:rgba(200,140,255,.46)} .rail[data-ph="senja"] .nowtick::after{content:"☾";color:#d9c6ff;text-shadow:0 0 11px rgba(190,150,255,.95)}
  .rail[data-ph="malam"]{--phg:rgba(150,180,255,.5)} .rail[data-ph="malam"] .nowtick::after{content:"☾";color:#dfe9ff;text-shadow:0 0 14px rgba(170,200,255,1)}
  /* [reduced-motion → pretsia-motion.js] rail stars + meteor */
  .tick.major{background:var(--line-2)}
  .stub{position:absolute;left:0;top:0;bottom:0;width:34px;background:linear-gradient(90deg,rgba(255,93,93,.3),transparent);border-right:1px solid rgba(255,93,93,.45);animation:stubpulse 3s ease-in-out infinite}
  @keyframes stubpulse{0%,100%{opacity:1}50%{opacity:.55}}
  .stub b{position:absolute;left:7px;top:50%;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;color:var(--yore)}
  .blk{position:absolute;top:9px;bottom:9px;border-radius:2px;background:var(--bc);box-shadow:0 0 18px -5px var(--bc);cursor:default;transition:filter .14s}
  .blk::after{content:attr(data-t);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--ink);background:var(--panel-2);border:1px solid var(--line-2);border-radius:4px;padding:4px 8px;opacity:0;pointer-events:none;transition:opacity .14s;z-index:4}
  .blk:hover{filter:brightness(1.3)} .blk:hover::after{opacity:1}
  .blk.done{background:var(--done);box-shadow:none;opacity:.55}
  .nowtick{position:absolute;top:0;bottom:0;width:1.5px;background:var(--amber);box-shadow:0 0 14px var(--amber);z-index:3}
  .nowtick i{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--amber);animation:beat 2.2s ease-in-out infinite}
  @keyframes beat{0%,100%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(.55);opacity:.5}}
  .scale{position:relative;height:14px;margin-top:5px}
  .scale span{position:absolute;transform:translateX(-50%);font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}

  /* search + rules */
  .find{position:relative;margin-bottom:28px}
  .find input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:15px;padding:15px 52px 15px 44px;outline:none;transition:.16s;font-family:"Barlow",sans-serif}
  .find input::placeholder{color:var(--low)}
  .find input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,177,61,.09), 0 0 28px -8px rgba(242,177,61,.35)}
  .find svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--low);fill:none;stroke-width:1.8}
  .find kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);border:1px solid var(--line-2);border-radius:3px;padding:2px 6px}
  /* v11.22 🌃 STREET OF PRETSIA */
  .sopbrsw9{margin:9px 0 2px;display:flex;flex-direction:column;gap:5px}
  .sopbrs9{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 9px;border-radius:8px;
    background:var(--bg-2);border:1px solid var(--line-2)}
  .sopcap9{font-size:8.5px;letter-spacing:.16em;color:var(--sc,#ffb020)}
  .sopwg9{font-size:10.5px;color:var(--ink-2)}
  .sopwg9 i{font-style:normal;font-size:9px;color:var(--low)}
  .sopbdg9{margin-left:auto;font-size:8px;letter-spacing:.14em;padding:2px 7px;border-radius:999px;cursor:pointer;
    border:1px solid var(--line-2);color:var(--low)}
  .sopbdg9:hover{color:var(--ink-2)}
  .sopwhy9{flex:0 0 100%;font-size:9px;line-height:1.7;color:var(--low);padding-top:3px}
  .sopwrap9{display:flex;flex-direction:column;gap:0}
  .sophead9{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 2px 12px}
  .sophead9 b{font-size:11px;letter-spacing:.22em;color:#fff;
    text-shadow:0 0 3px #fff,0 0 14px #ff2e88,0 0 34px rgba(255,46,136,.45)}
  .sophead9 span{font-size:9px;letter-spacing:.16em;color:#9fb0cd;margin-left:auto;
    border:1px solid var(--line-2);border-radius:999px;padding:3px 10px;background:rgba(10,12,20,.72)}
  .soprow9{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;
    align-items:flex-end;gap:0;padding-top:16px;overflow-x:auto;overflow-y:hidden;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    justify-content:center;         /* jaring pengaman buat mesin lama */
    justify-content:safe center}    /* kepenuhan → sisi kirinya tetep kejangkau */
  .soprow9::-webkit-scrollbar{display:none}
  /* --sopud = jauhnya (0 paling depan, 1 paling belakang). Tiga hal
     diturunin dari dia sekaligus, dan itu yang bikin kedalemannya kebaca:
     nyala rim mengecil · badannya larut ke udara · tepi bawahnya meleleh
     jadi kabut. Rim-nya warna KASTA — spek §4.10: kastanya kebaca dari
     kejauhan tanpa satu huruf pun kebaca. */
  .sopfig9{position:relative;flex:0 0 auto;cursor:pointer;z-index:var(--sopz,1);margin-left:-14px;
    opacity:calc(1 - var(--sopud,0) * .4);
    filter:drop-shadow(0 0 calc(7px - var(--sopud,0) * 4px) var(--sopak,#ffb020))
           drop-shadow(0 3px 11px rgba(0,0,0,.85));
    -webkit-mask-image:linear-gradient(to top,transparent 0,#000 calc(var(--sopud,0) * 18%));
    mask-image:linear-gradient(to top,transparent 0,#000 calc(var(--sopud,0) * 18%))}
  .sopfig9:first-child{margin-left:0}
  .sopfig9 svg{display:block;height:auto}
  .soppl9{display:grid;grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:9px;padding:14px 0 2px}
  /* KARTU DOSSIER. Garis nyala di pinggir kiri = warna kasta: kartunya
     kebaca sekaligus sama potretnya di atas tanpa perlu nyari nama. */
  .sopcard9{position:relative;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;
    background:linear-gradient(180deg,rgba(21,25,38,.94),rgba(10,12,20,.94));padding:9px 10px 10px 13px}
  .sopcard9::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
    background:var(--sc,#ffb020);box-shadow:0 0 13px 1px var(--sc,#ffb020);opacity:.85}
  /* kartu bermuka: potret kiri, badan kanan. `min-width:0` di badannya
     WAJIB — tanpa dia ellipsis nama di dalem flex kaga pernah kepake
     (jebakan ellipsis di flex, CLAUDE.md §8). */
  .sopcmuka9{display:flex;align-items:stretch;gap:10px}
  .sopcmk9{flex:none;width:48px;display:grid;place-items:end center;overflow:hidden;
    border-radius:8px;background:radial-gradient(72% 60% at 50% 100%,
      color-mix(in srgb,var(--sc,#ffb020) 20%,transparent),transparent 74%)}
  .sopcmk9 svg,.sopcmk9 .sopfoto9{display:block;height:58px}
  .sopcbd9{flex:1;min-width:0;display:block}
  .sopkh9{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
  /* nama panjang jangan ngedorong pangkatnya turun baris. min-width:0 WAJIB —
     tanpa dia anak flex kaga mau nyusut, dan ellipsis-nya kaga pernah kepake
     (jebakan ellipsis di flex, CLAUDE.md §8). */
  .sopnm9{font-size:11px;letter-spacing:.05em;color:var(--ink-2);
    min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sopks9{font-size:8.5px;letter-spacing:.18em;margin-left:auto;color:var(--sc,#ffb020)}
  .sopbar9{display:flex;gap:2px;margin-top:8px;flex-wrap:wrap}
  .sopbar9 i{width:7px;height:13px;border-radius:1px;background:linear-gradient(180deg,#ff7a52,#b8321f);
    box-shadow:0 0 7px -2px rgba(255,106,60,.9)}
  .sopbar9 i[data-p="1"]{background:#131828;box-shadow:none;border-top:1px solid rgba(255,255,255,.07)}
  .sopsisa9{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;
    font-size:8.5px;color:var(--low);margin-top:8px;letter-spacing:.1em}
  .sopsisa9 b{font-weight:400;letter-spacing:.15em;color:var(--sc,#ffb020)}
  .sopkosong9{padding:26px 16px;text-align:center;font-size:11px;line-height:1.9;color:var(--low)}
  .sopkosong9 b{color:var(--ink-2)}
  .soplp9{margin-top:6px}
  .soplbtn9{display:inline-block;font-size:10px;letter-spacing:.08em;padding:4px 9px;border:1px dashed var(--line,#2a3040);border-radius:7px;color:var(--low);cursor:pointer;user-select:none}
  .soplbtn9:hover{color:var(--ink-2);border-color:var(--ink-2)}
  .soplbox9{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
  /* v11.30 🤝 pintu TITIP — sengaja kebalikan kulitnya sama pintu LEMPAR.
     Kriminal itu neon-di-gelap; warga itu kertas hangat. Dua dunia mesti
     kerasa beda KULITNYA, bukan cuma beda lencana. */
  .sopwbtn9{--sc:#35d29b}
  .sopwbox9{padding:7px 8px;border-radius:9px;
    background:linear-gradient(180deg,rgba(53,210,155,.07),rgba(53,210,155,.02));
    border:1px dashed rgba(53,210,155,.28)}
  .sopwadd9{border-style:dashed !important;opacity:.85}
  .sopwadd9:hover{opacity:1}
  .soppil9{font-size:10px;padding:3px 8px;border:1px solid var(--sc,#2a3040);border-radius:999px;cursor:pointer;color:var(--sc,#9aa3b5);user-select:none}
  .soppil9:hover{background:rgba(255,255,255,.05)}
  .soplps9{margin-left:auto;font-size:10px;color:var(--low);cursor:pointer;padding:2px 6px;border-radius:6px}
  .soplps9:hover{color:#ff5a3c}
  .sopmgr9{margin-top:22px;border-top:1px dashed var(--line,#2a3040);padding-top:14px;display:flex;flex-direction:column;gap:10px}
  .sopmgrh9{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;letter-spacing:.14em}
  .sopmgri9{margin-left:auto;font-size:10px;color:var(--low);display:flex;align-items:center;gap:6px}
  .sopmgri9 input{width:44px;background:transparent;border:1px solid var(--line,#2a3040);border-radius:6px;color:var(--ink-2);padding:2px 5px;font:inherit;text-align:center}
  /* GRID. Tujuh blok kasta yang dulu numpuk full-width bikin halamannya
     sepanjang kereta — buat nampung tujuh pil kecil. */
  .sopmkg9{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:8px}
  .sopmk9{position:relative;border:1px solid var(--line,#232a3a);border-radius:10px;
    padding:8px 10px 9px 12px;overflow:hidden;background:linear-gradient(180deg,rgba(18,21,32,.72),rgba(10,12,20,.72))}
  .sopmk9::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--sc,#ffb020);opacity:.7}
  .sopmkoff9{opacity:.42;filter:saturate(.4)}
  .sopmkh9{display:flex;align-items:center;gap:8px}
  .sopmkt9{font-size:10px;letter-spacing:.1em;font-weight:700}
  .sopsak9{margin-left:auto;font-size:9px;letter-spacing:.12em;padding:2px 8px;border:1px solid var(--line,#2a3040);border-radius:999px;cursor:pointer;color:var(--low);user-select:none}
  .sopsak9:hover{color:var(--ink-2)}
  .sopmkw9{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
  .sopmw9{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--ink-2);border:1px solid var(--line,#232a3a);border-radius:999px;padding:2px 8px 2px 3px}
  .sopmwc9{border-style:dashed}
  .sopmws9 svg{display:block}
  .sopmw9 i{color:var(--low);font-style:normal}
  .sopmw9 b{cursor:pointer;color:var(--low);font-weight:400;padding:0 2px}
  .sopmw9 b:hover{color:#ff5a3c}
  .sopbk9{border:1px dashed var(--line,#2a3040);border-radius:10px;padding:11px;display:flex;flex-direction:column;gap:8px}
  .sopbkh9{font-size:10px;letter-spacing:.16em;color:var(--low)}
  .sopbk9 input{background:rgba(8,10,17,.6);border:1px solid var(--line,#2a3040);border-radius:7px;color:var(--ink-2);padding:7px 10px;font:inherit;font-size:12px}
  .sopbk9 input:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,177,61,.08)}
  .sopgrk9{font-size:9px;letter-spacing:.12em;padding:2px 9px;border-radius:999px;cursor:pointer;user-select:none;
    border:1px solid var(--line,#2a3040);color:var(--low)}
  .sopgrk9:hover{color:var(--ink-2);border-color:var(--ink-2)}
  .sopgrk9[data-on="1"]{color:#22e6ff;border-color:#22e6ff;box-shadow:0 0 12px -4px #22e6ff}
  /* ══ v11.38 · RUANG CASTING ═══════════════════════════════════════════ */
  .sopcast9{margin-top:4px}
  .sopcasth9{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:11px}
  .sopcasth9 b{font-size:14px;letter-spacing:.14em;color:var(--ink)}
  .sopcasth9 span{font-size:10px;color:var(--low);letter-spacing:.06em}
  .sopcasth9 i{font-style:normal;color:var(--ink-2)}
  .sopcastf9{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
  .sopcastf9 .soppil9{font-size:9px}
  .sopcari9{flex:1;min-width:130px;max-width:230px;margin-left:auto}
  .sopcari9 input{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line,#2a3040);
    border-radius:8px;padding:6px 10px;color:var(--ink);font:inherit;font-size:11px}
  .sopgrid9{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(152px,1fr))}
  .sopksep9{display:flex;align-items:center;gap:11px;padding:16px 0 9px}
  .sopksep9 i{font-style:normal;font-size:15px;line-height:1}
  .sopksep9 b{font-size:10.5px;letter-spacing:.2em;color:var(--kc,#fff)}
  .sopksep9 u{text-decoration:none;font-size:8.5px;letter-spacing:.12em;color:var(--low);
    font-family:ui-monospace,Menlo,monospace;padding:2px 8px;border-radius:99px;
    background:rgba(255,255,255,.06)}
  .sopksep9 s{flex:1;height:1px;text-decoration:none;opacity:.45;
    background:linear-gradient(90deg,var(--kc,#333),transparent)}
  .sopkrt9{position:relative;cursor:pointer;user-select:none;border-radius:12px;overflow:hidden;
    border:1px solid var(--line,#2a3040);background:linear-gradient(180deg,#131119,#0a0910);
    transition:transform .16s cubic-bezier(.16,1,.3,1),border-color .16s,box-shadow .16s}
  .sopkrt9:hover{transform:translateY(-3px);border-color:var(--sc,#ffb020);
    box-shadow:0 14px 32px -18px var(--sc,#ffb020)}
  .sopkrt9::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--sc,#ffb020)}
  .sopkrtm9{position:relative;height:138px;display:grid;place-items:center;overflow:hidden;
    background:radial-gradient(90% 70% at 50% 15%,rgba(255,255,255,.05),transparent 70%)}
  /* mukanya NUTUP kepala kartu, bukan ngambang di tengah kotak: roster yang
     mukanya seuprit di tengah latar item itu roster yang mesti dibaca, bukan
     dikenalin. Siluet tetep ngambang — dia emang gambar, bukan foto. */
  .sopkrtm9 .sopfoto9{position:absolute;inset:0;width:100% !important;height:100% !important}
  .sopkrtm9 .sopfoto9 img{width:100%;height:100%;object-fit:cover;display:block}
  .sopkrtm9 svg{max-height:128px}
  .sopkrtm9::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;
    pointer-events:none;background:linear-gradient(180deg,transparent,rgba(10,9,16,.72))}
  .sopkrtb9{padding:7px 9px 9px;border-top:1px solid rgba(255,255,255,.05)}
  .sopkrtn9{display:block;font-size:11px;letter-spacing:.05em;color:var(--ink);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopkrtk9{display:block;font-size:8px;letter-spacing:.13em;color:var(--sc,#ffb020);margin-top:2px}
  .sopkrts9{display:flex;gap:7px;margin-top:5px;font-family:ui-monospace,Menlo,monospace;
    font-size:9px;color:var(--low)}
  .sopkrts9 em{font-style:normal;color:var(--ink-2)}
  .sopkrtd9{opacity:.42;filter:grayscale(.8)}
  .sopkrtbr9{border-style:dashed;background:none;display:grid;place-items:center;min-height:170px;
    color:var(--low);text-align:center;font-size:10px;letter-spacing:.12em;line-height:1.9}
  .sopkrtbr9:hover{color:var(--ink-2)}
  .sopkrtbr9 b{display:block;font-size:22px;margin-bottom:2px;color:var(--ink-2)}
  .sopcastk9{padding:24px 14px;text-align:center;border:1px dashed var(--line,#2a3040);
    border-radius:11px;color:var(--low);font-size:11px;line-height:1.8}
  /* laci setelan kota — dia SETELAN, jadi dia ngumpet sampe dibuka */
  .soplaci9{margin-top:16px;border:1px solid var(--line,#2a3040);border-radius:11px;overflow:hidden}
  .soplacih9{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;user-select:none;
    font-size:9.5px;letter-spacing:.14em;color:var(--low);background:rgba(255,255,255,.02)}
  .soplacih9:hover{color:var(--ink-2)}
  .soplacih9 u{margin-left:auto;text-decoration:none;font-size:11px}
  .soplacib9{padding:12px;border-top:1px solid var(--line,#2a3040);display:none}
  .soplaci9[data-buka9="1"] .soplacib9{display:block}
  .soplaci9[data-buka9="1"] .soplacih9 u{transform:rotate(180deg);display:inline-block}
  /* ══ KARTU ORANG ══════════════════════════════════════════════════════ */
  .soporg9{position:fixed;inset:0;z-index:940;display:grid;place-items:center;padding:16px;
    background:rgba(4,3,8,.88);backdrop-filter:blur(6px);animation:soprndin9 .22s ease-out both}
  .soporgk9{width:min(760px,96vw);max-height:92vh;max-height:92dvh;overflow:auto;border-radius:14px;
    border:2px solid #2a1c4a;background:linear-gradient(180deg,#12101c,#08070d);
    box-shadow:0 30px 90px -40px #000;animation:soprndup9 .3s cubic-bezier(.16,1,.3,1) both}
  .soporgh9{display:flex;align-items:center;gap:10px;padding:12px 14px;
    border-bottom:2px solid #2a1c4a;background:rgba(255,255,255,.02);position:sticky;top:0;z-index:3}
  .soporgh9 b{font-size:13px;letter-spacing:.12em;color:var(--ink)}
  .soporgh9 i{font-style:normal;font-size:8.5px;letter-spacing:.14em;color:var(--sc,#ffb020)}
  .soporgx9{margin-left:auto;cursor:pointer;color:var(--low);font-size:14px;padding:2px 6px}
  .soporgx9:hover{color:var(--ink)}
  .soporgt9{display:grid;grid-template-columns:200px 1fr;gap:14px;padding:14px}
  @media(max-width:640px){.soporgt9{grid-template-columns:1fr}}
  .soporgp9{position:relative;border-radius:11px;overflow:hidden;min-height:210px;
    display:grid;place-items:center;border:1px solid var(--line,#2a3040);
    background:radial-gradient(90% 70% at 50% 20%,rgba(255,255,255,.06),#08070d 72%)}
  .soporgp9 img{width:100%;height:100%;object-fit:cover;display:block}
  .soporgp9 svg{max-height:190px}
  .soporgf9{display:flex;flex-direction:column;gap:2px}
  .soporgnm9{display:flex;gap:7px;align-items:center}
  .soporgnm9 input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--line,#2a3040);
    border-radius:8px;padding:8px 10px;color:var(--ink);font:inherit;font-size:14px;letter-spacing:.06em}
  .sopsek9{margin:14px;border-top:1px solid var(--line,#2a3040);padding-top:12px}
  .sopsekh9{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}
  .sopsekh9 b{font-size:10px;letter-spacing:.14em;color:var(--ink-2)}
  .sopsekh9 span{font-size:9px;color:var(--low)}
  .sopsekh9 i{margin-left:auto;font-style:normal;font-family:ui-monospace,Menlo,monospace;
    font-size:9px;color:var(--low)}
  .sopmg9{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(86px,1fr))}
  .sopmg9.gede9{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .sopmc9{position:relative;border-radius:9px;overflow:hidden;border:1px solid var(--line,#2a3040);
    aspect-ratio:3/4;background:#0a0910}
  .sopmc9 img{width:100%;height:100%;object-fit:cover;display:block}
  .sopmc9 u{position:absolute;top:3px;right:3px;cursor:pointer;text-decoration:none;
    background:rgba(4,3,8,.82);border-radius:6px;padding:1px 5px;font-size:10px;color:#ff5a3c}
  .sopmc9 u:hover{background:#ff5a3c;color:#0c0b10}
  .sopmc9 em{position:absolute;left:0;right:0;bottom:0;font-style:normal;text-align:center;
    font-family:ui-monospace,Menlo,monospace;font-size:8px;color:var(--ink-2);
    background:linear-gradient(180deg,transparent,rgba(4,3,8,.9));padding:8px 2px 2px}
  .sopmadd9{border:1px dashed var(--line-2,#2a3040);border-radius:9px;aspect-ratio:3/4;
    display:grid;place-items:center;cursor:pointer;color:var(--low);text-align:center;
    font-size:9px;letter-spacing:.1em;line-height:1.7}
  .sopmadd9:hover{border-color:var(--ink-2);color:var(--ink-2)}
  .sopmadd9 b{display:block;font-size:19px;color:var(--ink-2)}
  .sopmadd9[data-seret9="1"]{border-color:#22e0ff;color:#22e0ff;background:rgba(34,224,255,.08)}
  .soporgs9{display:flex;gap:14px;flex-wrap:wrap;font-family:ui-monospace,Menlo,monospace;
    font-size:10px;color:var(--low)}
  .soporgs9 em{font-style:normal;color:var(--ink-2)}
  /* ⚠ KAKINYA NEMPEL. Di HP 390x844 kartunya 776px sementara isinya 853px:
     81 piksel kepotong, dan yang kepotong PERSIS tombol LAHIRIN (mendarat
     di y=853, layar cuma 844). Bikin orang baru di HP jadi jalan buntu —
     kartunya kaga keliatan bisa di-scroll. Kepalanya udah `sticky` dari
     dulu; kakinya kaga, dan kaki itu yang megang satu-satunya tombol yang
     wajib kejangkau. `dvh` di atas ngurus bilah alamat yang ngumpet. */
  .soporgb9{display:flex;gap:8px;align-items:center;padding:14px;
    border-top:1px solid var(--line,#2a3040);position:sticky;bottom:0;z-index:3;
    background:linear-gradient(180deg,rgba(8,7,13,.92),#08070d)}
  .soporgb9 .sopbahaya9{margin-left:auto;color:#ff5a3c;border-color:rgba(255,90,60,.4)}
  .soporgb9 .sopbahaya9:hover{background:#ff5a3c;color:#0c0b10}
  /* pil di ruang casting & kartu orang — KEPILIH itu yang nyala */
  .sopcastf9 .soppil9,.soporg9 .soppil9,.soplacib9 .soppil9{
    color:var(--low);border-color:var(--line,#2a3040);background:transparent;
    transition:background .14s,color .14s,border-color .14s}
  .sopcastf9 .soppil9:hover,.soporg9 .soppil9:hover,.soplacib9 .soppil9:hover{
    color:var(--ink-2);border-color:var(--ink-2)}
  .sopcastf9 .soppil9.sopnyala9,.soporg9 .soppil9.sopnyala9,.soplacib9 .soppil9.sopnyala9{
    background:var(--sc,#ffb020);border-color:var(--sc,#ffb020);color:#0b0a10;font-weight:600}
  .sopcastf9 .soppil9 i,.soporg9 .soppil9 i{font-style:normal;opacity:.7;margin-left:2px}
  /* pil bahaya kaga ikut aturan di atas — dia mesti tetep kebaca bahaya */
  .soporg9 .soppil9.sopbahaya9{color:#ff5a3c;border-color:rgba(255,90,60,.4);background:transparent}
  .soporg9 .soppil9.sopbahaya9:hover{background:#ff5a3c;color:#0c0b10;border-color:#ff5a3c}
  /* potret kartu orang: NUTUP bingkainya, bukan ngambang di dalemnya */
  .soporgp9 .sopfoto9{position:absolute;inset:0;width:100% !important;height:100% !important}
  .soporgp9 .sopfoto9 img{width:100%;height:100%;object-fit:cover;display:block}
  .sopmadd9 i{display:block;margin-top:3px;font-size:8px;opacity:.55}
  /* editor caste */
  .sopkse9{display:flex;flex-direction:column;gap:5px;margin-bottom:6px;max-width:460px}
  .sopksr9{display:flex;align-items:center;gap:6px}
  .sopksr9 input{background:rgba(255,255,255,.04);border:1px solid var(--line,#2a3040);
    border-radius:7px;padding:5px 8px;color:var(--ink);font:inherit;font-size:11px}
  .sopkse9e{width:44px;text-align:center}
  .sopkse9n{flex:1;min-width:0;letter-spacing:.08em;border-left:3px solid var(--sc,#ffb020) !important}
  .sopkse9c{width:38px;padding:2px !important;cursor:pointer}
  .sopksi9{flex:none;width:26px;text-align:center;font-family:ui-monospace,Menlo,monospace;
    font-size:9.5px;color:var(--low)}
  .sopksr9 u{flex:none;cursor:pointer;text-decoration:none;color:var(--low);
    padding:3px 7px;border-radius:6px;font-size:11px}
  .sopksr9 u:hover{background:#ff5a3c;color:#0c0b10}
  .sopksbr9 input{flex:1;border-style:dashed}
  .sopksbr9 u{color:var(--ink-2)}
  .sopksbr9 u:hover{background:#35d29b;color:#0c0b10}
  .sopksr9 u.sopksyakin9{background:#ff5a3c;color:#0c0b10;font-size:8.5px;letter-spacing:.1em;
    padding:4px 9px;animation:soprpud9 .9s ease-in-out infinite}
  .sopksm9{font-size:9px;color:var(--low);display:flex;gap:6px;flex-wrap:wrap;align-items:center;
    letter-spacing:.08em;margin-top:2px}
  .sopksm9 span{cursor:pointer;border:1px dashed var(--line,#2a3040);border-radius:99px;padding:2px 8px}
  .sopksm9 span:hover{color:var(--ink-2);border-color:var(--ink-2)}
  .sopksm9 i{font-style:normal;opacity:.7;flex-basis:100%}
  .sopbklb9{font-size:8.5px;letter-spacing:.16em;color:var(--low);margin:9px 0 4px}
  .sopbknm9{display:flex;gap:7px;align-items:center}
  .sopbknm9 input{flex:1}
  .sopbk9[data-kb9="t"] [data-sopbkks9],.sopbk9[data-kb9="s"] [data-sopbkks9]{display:none}
  .sopnyala9{background:rgba(255,255,255,.08);color:var(--ink-2);border-color:var(--ink-2)}
  .sopgagal9{border-color:#ff5a3c;color:#ff5a3c}
  /* v11.29 🪦 KUBURAN — batu, bukan tabel. Tiap baris itu nisan: pinggiran
     atasnya kena cahaya, badannya masuk ke dalem, hurufnya diukir. Geraknya
     CSS sekali-jalan ber-tunda, NOL timer (kredo §4,5 no.6). */
  .sopkbr9{margin-top:22px;border-top:1px dashed var(--line,#2a3040);padding-top:14px;
    display:flex;flex-direction:column;gap:12px}
  .sopkbrh9{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .sopkbrh9 b{font-size:12px;letter-spacing:.14em}
  .sopkbrh9 span{font-size:9.5px;letter-spacing:.14em;color:var(--low)}
  .sopkang9{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
  /* ══ bon #42 — kepala seksi + chip angka + kartu sel/nganggur + ⛓ PENJARA + ✕ KUBURAN ══ */
  .sopkep9{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 8px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--amber,#ffb020)}
  .sopkep9>b{font-weight:600}
  .sopkep9>span{color:var(--low,#525a6d);letter-spacing:.1em;font-size:7.5px}
  .sopkep9::after{content:"";flex:1;height:1px;background:var(--line,#2a3040);order:99}
  .sopsekn9{color:#fff;background:#1b1826;border:1px solid #3b2c6a;border-radius:99px;padding:1px 8px;font-size:8px}
  .sopka9.sopkac9{display:inline-flex;align-items:baseline;gap:6px;padding:3px 8px;border-radius:99px;border:1px solid var(--line-2,#2a3040);background:rgba(255,255,255,.02);font-size:8px;letter-spacing:.1em}
  .sopka9.sopkac9::before{display:none}
  .sopka9.sopkac9 u{display:inline;font-size:7px;margin:0;color:var(--low,#525a6d)}
  .sopka9.sopkac9 b{font-size:11px;color:#fff;font-weight:600}
  .sopka9.sopkac9 em{display:inline;font-size:7px;color:var(--low,#525a6d);margin:0}
  .sopbdgr9{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
  .sopbdg9.sopbdgres9,.sopbdg9.sopbdgbur9,.sopbdg9.sopbdgbui9,.sopbdg9.sopbdgngg9,.sopbdg9.sopbdgdin9{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.12em;border-radius:99px;padding:2px 7px;border:1px solid;white-space:nowrap;cursor:default;background:none}
  .sopbdgres9{color:#ff5a3c;border-color:rgba(255,90,60,.5)!important;background:rgba(255,90,60,.08)!important}
  .sopbdgbur9{color:#ff9d5c;border-color:rgba(255,157,92,.5)!important;background:rgba(255,157,92,.08)!important}
  .sopbdgbui9{color:#8d86a0;border-color:rgba(141,134,160,.45)!important}
  .sopbdgngg9{color:#6d6780;border-color:rgba(109,103,128,.4)!important}
  .sopbdgdin9{color:#b061ff;border-color:rgba(176,97,255,.5)!important;background:rgba(176,97,255,.08)!important}
  .soprap9{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
  .soprap9 span{font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.08em;color:#8d86a0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:2px 6px}
  .soprap9 span b{color:#fff;font-weight:600}
  .soprap9 .soprapd9 b{color:#ff5a3c}
  .soprap9 .soprapg9{color:#b061ff;border-color:rgba(176,97,255,.4)}
  .sopomk9{margin-top:7px;font-size:10.5px;color:#e6e1f2;font-style:italic;line-height:1.4;border-left:2px solid var(--sc,#ffb020);padding-left:7px}
  .sopkc9{position:relative;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(21,25,38,.94),rgba(10,12,20,.94));padding:9px 10px 10px 13px}
  .sopkc9::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sc,#ffb020);box-shadow:0 0 13px 1px var(--sc,#ffb020);opacity:.55}
  .sopkcngg9::before{opacity:.3}
  .sopkcd9{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;color:#ffd23a;margin-top:7px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
  .sopkcd9 b{font-size:13px;color:#fff;font-weight:600}
  .sopkcd9 u{text-decoration:none;font-size:7px;color:#6d6780}
  .sopkcb9{height:5px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:6px}
  .sopkcb9 i{display:block;height:100%;background:#8d86a0}
  .sopkcn9{font-size:10px;color:#8d86a0;margin-top:7px;display:flex;flex-direction:column;gap:2px}
  .sopkcn9 u{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.1em;color:#5a5468}
  /* ✕ KUBURAN */
  .sopkbs9{position:relative;border:1px solid #2a2440;border-radius:12px;overflow:hidden;min-height:250px;background:#07060e}
  .sopkbl9{position:absolute;inset:0;width:100%;height:100%}
  .sopkbk9{animation:sopkbk9k 14s ease-in-out infinite}.sopkbk9.b{animation-duration:17s;animation-direction:reverse}
  @keyframes sopkbk9k{0%,100%{transform:translateX(0)}50%{transform:translateX(60px)}}
  .sopkbisi9{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;padding:120px 18px 18px;min-height:250px}
  .sopkbkos9{width:100%;text-align:center;padding:10px 0 20px;font-size:11px;color:#8d86a0;line-height:1.8}
  .sopkbkos9 b{display:block;color:#e6e1f2;letter-spacing:.14em;font-size:11px}
  .sopnsn9{position:relative;width:118px;padding:18px 8px 10px;text-align:center;border-radius:52px 52px 4px 4px;border:1px solid #4c4759;
    background:linear-gradient(180deg,#3a3545,#1c1926);box-shadow:0 8px 0 -2px #15121d,0 10px 0 -1px #2a2440,0 18px 30px -10px #000;cursor:pointer}
  .sopnsn9 .sopnsnx9{display:block;color:#ff5a3c;font-size:11px;line-height:1}
  .sopnsn9 .sopnsnm9{display:block;height:34px;margin:2px auto 0;filter:grayscale(1) brightness(.7);opacity:.8}
  .sopnsn9 .sopnsnm9 svg,.sopnsn9 .sopnsnm9 .sopfoto9{height:34px;display:inline-block}
  .sopnsn9 b{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;color:#eaecf3;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopnsn9 u{display:block;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:5.5px;letter-spacing:.16em;margin-top:3px}
  .sopnsn9 s{display:block;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:6px;letter-spacing:.06em;color:#8d86a0;margin-top:4px}
  .sopnsn9 em{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:5.5px;letter-spacing:.06em;color:#6d6780;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopnsn9 i{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:5.5px;letter-spacing:.08em;color:#6d6780;margin-top:2px}
  .sopnsn9.sopnsnkav9{background:none;border:1px dashed rgba(176,97,255,.4);box-shadow:none;padding-top:26px;cursor:default}
  .sopnsn9.sopnsnkav9 b{color:#b061ff;opacity:.85}.sopnsn9.sopnsnkav9 u{color:#6d6780}.sopnsn9.sopnsnkav9 em{color:#4c4759}
  .sopnsn9.sopnsnkos9{border-color:rgba(255,255,255,.14);width:96px}.sopnsn9.sopnsnkos9 b{color:#8d86a0;font-size:9px}
  .sopkbpt9.sopkbpunah9{border-color:rgba(255,90,60,.4)}.sopkbpt9.sopkbpunah9 .sopkbpth9 b{color:#ff5a3c}
  .sopkblilin9{position:absolute;left:50%;bottom:-6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#ffd23a;box-shadow:0 0 14px 6px rgba(255,179,71,.35);animation:sopkblilin9k 1.1s ease-in-out infinite}
  @keyframes sopkblilin9k{0%,100%{opacity:1}50%{opacity:.4}}
  .sopkbpt9{position:relative;border:1px dashed rgba(176,97,255,.45);border-radius:8px;padding:22px 12px 10px;min-width:300px}
  .sopkbpth9{position:absolute;left:10px;right:10px;top:-7px;display:flex;justify-content:space-between;gap:10px;font-family:"JetBrains Mono",monospace;font-size:6.5px;letter-spacing:.2em;white-space:nowrap}
  .sopkbpth9 b{color:#b061ff;background:#0b0813;padding:0 4px;font-weight:600}
  .sopkbpth9 span{color:#8d86a0;background:#0b0813;padding:0 4px;letter-spacing:.1em}
  .sopkbptb9{display:flex;align-items:flex-end;gap:6px}
  .sopkbpj9{font-family:"JetBrains Mono",monospace;font-size:5.5px;letter-spacing:.1em;color:#6d6780;border-top:1px dashed rgba(176,97,255,.5);padding-top:3px;margin-bottom:44px;white-space:nowrap}
  @media(max-width:620px){.sopkbisi9{padding-top:110px;justify-content:center}.sopkbptb9{flex-wrap:wrap}}
  .sopka9 em{display:block;font-style:normal;font-size:8.5px;letter-spacing:.1em;
    color:var(--low);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopkaq9{--kc:#f2b13d} .sopkap9{--kc:#35d29b} .sopkas9{--kc:#ff5a3c} .sopkak9{--kc:#6b6480}
  .sopka9{position:relative;overflow:hidden}
  .sopka9::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
    background:var(--kc,#3a3350)}
  .sopkang9 .sopka9 b{color:var(--kc,#e6e1f2)}
  @media(max-width:620px){.sopkang9{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .sopka9{position:relative;overflow:hidden;border:1px solid var(--line-2,#2a3040);border-radius:9px;
    padding:10px 11px 9px;background:linear-gradient(180deg,rgba(30,26,38,.72),rgba(10,9,14,.86));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
  .sopka9 u{display:block;font-size:8.5px;letter-spacing:.15em;color:var(--low);text-decoration:none;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopka9 b{display:block;margin-top:3px;font-size:19px;line-height:1.1;letter-spacing:.01em;
    color:var(--ink);text-shadow:0 1px 0 rgba(0,0,0,.85),0 -1px 0 rgba(255,255,255,.08)}
  .sopka9 b.k{font-size:12.5px;letter-spacing:.09em;padding-top:5px}
  /* makin ke bawah makin dalem: barisnya diredupin bertahap lewat --dp,
     dan tanahnya digelapin. Yang paling lama mati paling tenggelam. */
  .sopkls9{position:relative;display:flex;flex-direction:column;gap:7px;
    padding:13px 0 4px;
    background:linear-gradient(180deg,rgba(120,96,60,.10),transparent 22%,rgba(0,0,0,.30) 100%)}
  .sopkls9::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:repeating-linear-gradient(90deg,rgba(150,124,80,.42) 0 7px,transparent 7px 11px,rgba(150,124,80,.22) 11px 15px,transparent 15px 22px);
    border-radius:2px}
  .sopnis9{position:relative;display:flex;align-items:center;gap:12px;
    border:1px solid var(--line-2,#2a3040);border-top-color:rgba(255,255,255,.11);
    border-radius:13px 13px 4px 4px;padding:10px 12px 10px 10px;
    background:linear-gradient(180deg,rgba(30,27,36,.86),rgba(9,8,13,.94));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 0 1px rgba(0,0,0,.35),0 7px 20px -13px #000;
    opacity:calc(1 - var(--dp,0) * .45);
    animation:sopnistrb9 .52s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s)}
  .sopnis9:hover{opacity:1}
  /* garis ukiran tipis di dalem pinggir batu — yang bikin dia kebaca BATU,
     bukan kartu. Satu pseudo-element, nol elemen nambah. */
  .sopnis9::after{content:"";position:absolute;inset:4px 5px 5px 5px;border-radius:9px 9px 2px 2px;
    border:1px solid rgba(255,255,255,.045);pointer-events:none}
  @keyframes sopnistrb9{from{opacity:0;transform:translateY(11px) scaleY(.96)}
    to{opacity:calc(1 - var(--dp,0) * .45);transform:none}}
  .sopmuka9{position:relative;flex:none;width:58px;height:56px;display:grid;place-items:center}
  /* ⚠ filter CUMA ke svg-nya. Pas dia kepasang di pembungkus, dua coretan
     merah di bawah ini ikut diabu-abuin — dan itu cuma ketauan dari POTRET,
     nol satu pun gembok bisa nangkep. */
  .sopmuka9 svg{display:block;filter:grayscale(1) brightness(.72) contrast(1.12)}
  /* dua coretan merah — persis oret-oretan bang Sam: muka dicoret, keterangan
     di sebelahnya. Digambar pake pseudo-element, nol aset, nol elemen nambah. */
  .sopmuka9::before,.sopmuka9::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;
    height:2.5px;background:linear-gradient(90deg,transparent,#c4152f 12%,#ff4b63 50%,#c4152f 88%,transparent);
    box-shadow:0 0 12px -1px rgba(255,60,90,.85),0 1px 0 rgba(0,0,0,.6);border-radius:2px}
  .sopmuka9::before{transform:rotate(-34deg)}
  .sopmuka9::after{transform:rotate(34deg)}
  .sopnisi9{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;justify-content:center}
  .sopnisn9{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
  .sopnisn9 b{font-size:13.5px;letter-spacing:.05em;color:var(--ink);
    text-shadow:0 1px 0 rgba(0,0,0,.9),0 -1px 0 rgba(255,255,255,.07)}
  .sopnisk9{font-size:8.5px;letter-spacing:.14em;padding:1px 7px;border-radius:999px;
    border:1px solid currentColor;opacity:.85}
  .sopnist9{font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopnist9 i{font-style:normal;color:var(--low);letter-spacing:.1em;font-size:9px;margin-right:6px}
  .sopnisd9{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;letter-spacing:.11em;color:var(--low)}
  .sopnisd9 em{font-style:normal;color:var(--ink-2)}
  /* separo kanan batu: nomor perkara + berapa lama dia megang. Diukir
     (bayangan bawah gelap, sorot atas tipis) biar kebaca PAHATAN, bukan teks. */
  .sopnisr9{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;
    padding-left:10px;margin-left:auto;border-left:1px solid rgba(255,255,255,.05);min-width:96px}
  .sopnisp9{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.1em;
    color:var(--low);white-space:nowrap}
  .sopnish9{display:flex;align-items:baseline;gap:4px}
  .sopnish9 b{font-size:23px;line-height:1;letter-spacing:-.01em;color:rgba(226,222,232,.62);
    text-shadow:0 1px 0 rgba(0,0,0,.9),0 -1px 0 rgba(255,255,255,.09)}
  .sopnish9 u{text-decoration:none;font-size:8.5px;letter-spacing:.15em;color:var(--low)}
  @media(max-width:560px){.sopnisr9{display:none}}
  .sopkbrk9{font-size:11px;color:var(--low);text-align:center;padding:16px 8px;
    border:1px dashed var(--line,#2a3040);border-radius:10px;line-height:1.7}
  .sopkbrk9 b{display:block;font-size:12.5px;letter-spacing:.14em;color:var(--ink-2);margin-bottom:5px}
  .sopkbrl9{font-size:9.5px;letter-spacing:.12em;color:var(--low);text-align:center;padding-top:2px}
  /* v11.30 🤝 KARTU WARGA — kertas hangat, SENGAJA kebalikan neon-di-gelap
     punya kriminal. Kalo dua kaum cuma beda lencana, dua-duanya jadi abu-abu.
     Yang bikin «kecewa» kerasa itu bukan angka merah — tapi mukanya yang
     REDUP sama kalimatnya yang MENDEK (--wt nyetir dua-duanya). */
  .sopwrg9{margin-top:22px;border-top:1px dashed var(--line,#2a3040);padding-top:14px;
    display:flex;flex-direction:column;gap:12px}
  .sopwrgh9{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .sopwrgh9 b{font-size:12px;letter-spacing:.14em}
  .sopwrgh9 span{font-size:9.5px;letter-spacing:.14em;color:var(--low)}
  .sopwrgg9{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
  .sopwk9{position:relative;display:flex;flex-direction:column;gap:8px;
    border:1px solid rgba(211,189,145,.20);border-radius:11px;padding:11px 12px 12px;
    background:linear-gradient(168deg,rgba(211,189,145,.075),rgba(211,189,145,.018) 55%,rgba(10,10,14,.30));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    filter:brightness(var(--wt,1));
    animation:sopwktrb9 .5s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s)}
  @keyframes sopwktrb9{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .sopwkh9{display:flex;align-items:center;gap:10px}
  .sopwmk9{flex:none;width:40px;display:grid;place-items:center;opacity:.9}
  .sopwmk9 svg,.sopwmk9 .sopfoto9{display:block}
  .sopwki9{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .sopwki9 b{font-size:13px;letter-spacing:.03em;color:var(--ink);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopwki9 u{text-decoration:none;font-size:8.5px;letter-spacing:.13em;color:var(--wd,#8b8098)}
  .sopwang9{flex:none;font-size:20px;line-height:1;letter-spacing:-.01em;color:var(--wc,#35d29b);
    text-shadow:0 1px 0 rgba(0,0,0,.7)}
  .sopwbar9{height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
  .sopwbar9 i{display:block;height:100%;border-radius:99px;
    background:linear-gradient(90deg,var(--wc,#ffb020),rgba(255,255,255,.55))}
  .sopwrw9{display:flex;flex-direction:column;gap:3px;
    border-top:1px solid rgba(255,255,255,.05);padding-top:7px}
  .sopwrw9 span{display:flex;justify-content:space-between;gap:8px;font-size:10.5px}
  .sopwrw9 em{font-style:normal;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopwrw9 b{flex:none;font-weight:400;color:var(--low);font-family:ui-monospace,Menlo,monospace;font-size:10px}
  .sopwq9{font-size:11.5px;line-height:1.55;color:var(--ink-2);font-style:italic;opacity:.92}
  .sopwtg9{display:flex;flex-wrap:wrap;gap:4px}
  .sopwtg9 span{font-size:8px;letter-spacing:.1em;color:var(--low);
    border:1px solid rgba(255,255,255,.09);border-radius:99px;padding:1px 6px}
  .sopwrgk9{font-size:11.5px;line-height:1.7;color:var(--low);padding:16px 14px;
    border:1px dashed rgba(211,189,145,.22);border-radius:11px;
    background:linear-gradient(180deg,rgba(211,189,145,.05),transparent)}
  .sopwrgk9 b{display:block;font-size:12.5px;letter-spacing:.14em;color:var(--ink-2);margin-bottom:6px}
  .sopwrgk9 i{font-style:normal;color:#35d29b}
  /* v11.31 🗂 TAB — muka depannya KERJAAN LU, bukan setelan. */
  /* ⚠ BILAH TAB PUNYA PREFIKS SENDIRI (`soptbx9`) sejak bon #23. Sebelumnya
     dia numpang `.soptb9` — nama yang UDAH kepake meteran TENAGA di papan
     ronde, dan aturan `.soptb9 i` punya TENAGA (yang ditulis belakangan, jadi
     dia yang menang) maksa lencana cacah jadi bulatan 9 piksel. Angkanya ada,
     cuma kaga muat. Ranjau ketiga yang jenisnya sama dalam empat bon. */
  .soptab9{display:flex;gap:4px;margin:2px 0 16px;overflow-x:auto;scrollbar-width:none;
    border-bottom:1px solid var(--line,#232a3a);padding:5px 2px 0}
  .soptab9::-webkit-scrollbar{display:none}
  /* Dia pintu ke lima ruangan. Ukuran lama (33px, huruf 10,5px, abu redup)
     bikin dia kebaca kaya breadcrumb — dan di HP dia turun jadi dua baris,
     sebab lima tab butuh 553px di wadah 358px. Sekarang: satu baris yang
     digulir ke samping, kaga pernah patah. */
  .soptbx9{position:relative;display:inline-flex;align-items:center;gap:7px;cursor:pointer;
    white-space:nowrap;font-size:12.5px;font-weight:600;letter-spacing:.16em;
    color:var(--low);padding:11px 16px 10px;border-radius:11px 11px 0 0;
    border-bottom:2px solid transparent;user-select:none;
    transition:color .16s,background .16s,border-color .16s}
  .soptbx9:hover{color:var(--ink-2);background:rgba(255,255,255,.03)}
  .soptbx9 b{font-weight:600;font-size:17px;line-height:1;
    filter:grayscale(.55) opacity(.7);transition:filter .16s,transform .16s}
  .soptbx9 i{font-style:normal;font-size:9.5px;font-weight:600;line-height:1;
    padding:2px 7px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--ink-2)}
  .soptbxon9{color:var(--ink);border-bottom-color:var(--amber,#f2b13d);
    background:linear-gradient(180deg,rgba(242,177,61,.16),rgba(242,177,61,.03));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
  .soptbxon9 b{filter:none;transform:scale(1.06)}
  .soptbxon9 i{background:var(--amber,#f2b13d);color:#161009}
  @media(max-width:520px){.soptbx9{font-size:11.5px;letter-spacing:.1em;padding:10px 12px 9px}}
  /* v11.31 📋 DAFTAR — todo list yang ada orangnya. Satu baris = satu task
     yang udah lu setel punya pemegang. Muka di kiri, kerjaan di tengah,
     tombol kelarin di kanan. */
  .sopdft9{margin-top:16px;display:flex;flex-direction:column;gap:11px}
  .sopdfth9{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .sopdfth9 b{font-size:12px;letter-spacing:.14em}
  .sopdfth9 span{font-size:9.5px;letter-spacing:.14em;color:var(--low)}
  .sopdftl9{display:flex;flex-direction:column;gap:7px}
  .sopdr9{display:flex;align-items:center;gap:12px;
    border:1px solid var(--line-2,#2a3040);border-left:3px solid var(--sc,#ffb020);
    border-radius:10px;padding:9px 11px 9px 9px;
    background:linear-gradient(90deg,color-mix(in srgb,var(--sc,#ffb020) 8%,transparent),transparent 42%),
      linear-gradient(180deg,rgba(24,22,30,.72),rgba(9,8,13,.9));
    animation:sopdrtrb9 .45s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s)}
  @keyframes sopdrtrb9{from{opacity:0;transform:translateX(-9px)}to{opacity:1;transform:none}}
  .sopdrm9{flex:none;width:44px;display:grid;place-items:center}
  .sopdrm9 svg,.sopdrm9 .sopfoto9{display:block}
  .sopdri9{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
  .sopdrc19{font-size:8.5px;letter-spacing:.13em;color:var(--sc,#ffb020);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopdrc19 b{color:var(--ink);letter-spacing:.05em;font-size:10px;font-weight:400}
  .sopdrc19 i{font-style:normal;color:var(--low);margin-left:6px}
  .sopdrj9{font-size:13.5px;line-height:1.35;color:var(--ink);cursor:pointer;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopdrj9:hover{color:var(--amber,#f2b13d)}
  .sopdrd9{font-size:9px;letter-spacing:.1em;color:#e0453c;opacity:.85}
  /* bon #40 — pip hadir + chip tenggat di baris warga, cacah belom-sapa di kepala */
  .sopdrhd9,.sopdrtg9{font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.1em;border-radius:99px;padding:2px 7px;
    border:1px solid rgba(255,255,255,.12);color:#8d86a0;white-space:nowrap}
  .sopdrhdb9{color:#ffb347;border-color:rgba(255,179,71,.55);background:rgba(255,179,71,.08);animation:sopdrhdb9 2.2s ease-in-out infinite}
  @keyframes sopdrhdb9{0%,100%{box-shadow:0 0 0 0 rgba(255,179,71,0)}50%{box-shadow:0 0 0 3px rgba(255,179,71,.18)}}
  .sopdrhdh9{color:#ffb347;border-style:dashed;border-color:rgba(255,179,71,.5)}
  .sopdrhdk9{color:#35d29b;border-color:rgba(53,210,155,.5);background:rgba(53,210,155,.08)}
  .sopdrtg9{color:#c9b6ff;border-color:rgba(167,139,250,.45);background:rgba(167,139,250,.08)}
  .sopdrtgl9{color:#ff8a7a;border-color:rgba(255,90,60,.5);background:rgba(255,90,60,.08)}
  .sopdrtgm9{color:#e6e1f2;border-color:rgba(200,200,215,.5)}
  .sopdfthd9{margin-left:auto;font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:8.5px;letter-spacing:.1em;color:#ffb347;
    border:1px solid rgba(255,179,71,.45);border-radius:99px;padding:2px 9px;white-space:nowrap}
  @media(prefers-reduced-motion:reduce){.sopdrhdb9{animation:none}}
  /* DUA BILAH: darah asli di atas, DARAH NUNDA di bawah — persis coretan
     bang Sam. Yang bawah warnanya merah penalti dan cuma nongol kalo emang
     ada. "Oh darahnya kok nambah, berarti gua nunda banyak ya." */
  .sopdrbw9{flex:none;width:72px;display:flex;flex-direction:column;gap:2px}
  .sopdrb9{width:100%;height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
  .sopdrb9 i{display:block;height:100%;border-radius:99px;background:var(--sc,#ffb020)}
  .sopdrn9{width:100%;height:3px;border-radius:99px;overflow:hidden;
    background:repeating-linear-gradient(90deg,rgba(224,31,61,.30) 0 3px,rgba(224,31,61,.12) 3px 6px)}
  .sopdrn9 i{display:block;height:100%;border-radius:99px;
    background:linear-gradient(90deg,#e01f3d,#ff5a6e)}
  /* L4 — tiga angka di baris. Angkanya monospace biar kolomnya rata pas
     dibaca berderet — deretan angka yang goyang itu deretan yang kaga kebaca. */
  .sopdrst9{flex:none;display:flex;flex-direction:column;gap:2px;align-items:flex-end;
    font-family:ui-monospace,Menlo,monospace;font-size:10px;line-height:1.25}
  .sopdrz9{color:#22e0ff}
  .sopdrw19{color:var(--ink-2)}
  .sopdrbl9{font-family:ui-monospace,Menlo,monospace;font-size:8.5px;color:var(--low);text-align:right}
  .sopdrb9[data-sopdrhp9="tipis"] i{background:#ffd23a}
  .sopdrb9[data-sopdrhp9="kritis"] i{background:#ff5a3c}
  .sopdrk9{flex:none;cursor:pointer;user-select:none;font-size:9.5px;letter-spacing:.12em;
    border:1px solid var(--sc,#ffb020);color:var(--sc,#ffb020);border-radius:999px;padding:5px 11px;
    transition:background .16s,color .16s}
  .sopdrk9:hover{background:var(--sc,#ffb020);color:#12100a}
  .sopdftk9{font-size:11.5px;line-height:1.75;color:var(--low);padding:18px 14px;
    border:1px dashed var(--line,#2a3040);border-radius:11px;text-align:center}
  .sopdftk9 b{display:block;font-size:12.5px;letter-spacing:.14em;color:var(--ink-2);margin-bottom:7px}
  .sopdftk9 i{font-style:normal;color:var(--amber,#f2b13d)}
  .sopdrr9{border-color:var(--line-2,#2a3040) !important;color:var(--ink-2) !important}
  .sopdrr9:hover{background:var(--ink-2) !important;color:#0c0b10 !important}
  /* v11.33 ⚔ LAYAR RONDE — kabinet, bukan dialog. Papan musuh kiri atas,
     papan LU kanan bawah, kotak omongan di bawah, tiga tombol doang.
     Nol timer: semua geraknya animasi CSS sekali-jalan. */
  .soprnd9{position:fixed;inset:0;z-index:900;display:grid;place-items:center;
    padding:16px;background:rgba(4,3,8,.86);backdrop-filter:blur(6px);
    animation:soprndin9 .28s ease-out both}
  @keyframes soprndin9{from{opacity:0}to{opacity:1}}
  /* 🩹 bon #56 A1 — LEMBARNYA BISA DIGULUNG. Dulu `overflow:hidden` doang
     TANPA atap tinggi: begitu isinya lebih jangkung dari layar (baris aksi +
     FINAL DELIVER di laptop pendek), ekornya kepotong dan NOL ada jalan buat
     nyampe ke situ — bukan kelewat sama mata, emang kaga bisa digulung.
     ⚠ Atapnya ditaro di KARTUNYA, bukan di overlay: `.soprnd9` itu grid
     `place-items:center`, dan grid yang keluberan naro isinya di TENGAH —
     yang ilang jadi PUCUKNYA, dan pucuk yang keluber di atas kaga bisa
     digulung balik. Atap di kartu = overlay-nya nol pernah keluberan.
     Sumbu datar tetep dikunci: panggungnya nol boleh geser samping. */
  .soprndk9{position:relative;width:min(880px,96vw);border-radius:14px;
    max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
    border:2px solid #2a1c4a;background:linear-gradient(180deg,#12101c,#08070d);
    box-shadow:0 30px 90px -40px #000,inset 0 0 0 2px rgba(0,0,0,.6);
    animation:soprndup9 .34s cubic-bezier(.16,1,.3,1) both}
  @keyframes soprndup9{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
  .soprpgg9{position:relative;height:clamp(190px,27vw,270px);overflow:hidden}
  .soprpgg9 .sopkota9{position:absolute;inset:0;height:100% !important}
  .soprfig9{position:absolute;left:0;right:0;bottom:4px;display:grid;place-items:end center;z-index:14}
  .soprfig9 svg,.soprfig9 .sopfoto9{display:block;
    filter:drop-shadow(0 0 3px var(--sopak,#ffb020)) drop-shadow(0 0 28px rgba(0,0,0,.75))}
  .soprpl9{position:absolute;z-index:9;min-width:min(330px,56%);
    border:2px solid #2a1c4a;border-radius:8px;padding:8px 12px 9px;
    background:linear-gradient(180deg,rgba(22,19,32,.95),rgba(10,9,15,.95));
    box-shadow:0 8px 26px -14px #000}
  .soprplA9{top:12px;left:12px}
  .soprplB9{right:12px;top:calc(clamp(180px,26vw,260px) - 44px)}
  .soprpn9{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}
  .soprpn9 b{font-size:14px;letter-spacing:.05em;color:var(--ink)}
  .soprpn9 u{text-decoration:none;font-size:8.5px;letter-spacing:.13em;color:var(--sc,#8b8098)}
  .soprhp9{display:flex;align-items:center;gap:7px;margin-top:3px}
  .soprlbl9{flex:none;font-size:8px;letter-spacing:.12em;color:#ffd23a;width:44px}
  .soprhpN9 .soprlbl9{color:#e0453c}
  .soprbar19,.soprbar29{flex:1;display:block;height:7px;border-radius:2px;overflow:hidden;
    background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(0,0,0,.5)}
  .soprbar29{height:4px;background:repeating-linear-gradient(90deg,rgba(224,31,61,.30) 0 3px,rgba(224,31,61,.10) 3px 6px)}
  .soprbar19 s{display:block;height:100%;text-decoration:none;
    background:repeating-linear-gradient(90deg,#39e63a 0 5px,#2cbf2d 5px 6px);
    transition:width .4s cubic-bezier(.16,1,.3,1)}
  .soprbar19[data-soprhp9="tipis"] s{background:repeating-linear-gradient(90deg,#ffd23a 0 5px,#e0a800 5px 6px)}
  .soprbar19[data-soprhp9="kritis"] s{background:repeating-linear-gradient(90deg,#ff5a3c 0 5px,#e01f3d 5px 6px);
    animation:soprdenyut9 .9s ease-in-out infinite}
  @keyframes soprdenyut9{0%,100%{opacity:1}50%{opacity:.45}}
  /* L3 — PANGGUNG NGECAS. Semua gerak di sini CSS, nol JS. */
  /* kanannya nyisain ruang buat papan LU yang nangkring di situ. Di bawah
     620px papannya emang udah turun jadi baris sendiri, jadi pita balik
     selebar panggung. */
  .soprpu9{position:absolute;left:0;right:min(356px,60%);bottom:0;z-index:24;display:flex;
    align-items:center;gap:9px;padding:7px 12px;
    background:linear-gradient(180deg,rgba(6,5,10,0),rgba(6,5,10,.94) 42%)}
  .soprpul9{flex:none;font-size:9px;letter-spacing:.16em;color:#22e0ff;
    text-shadow:0 0 12px rgba(34,224,255,.85);animation:soprpud9 1.1s ease-in-out infinite}
  .soprpub9{flex:1;display:block;height:5px;border-radius:3px;overflow:hidden;
    background:rgba(255,255,255,.10);box-shadow:inset 0 0 0 1px rgba(0,0,0,.55)}
  .soprpub9 s{display:block;height:100%;width:0;text-decoration:none;
    background:linear-gradient(90deg,#12a8c8,#22e0ff 60%,#eaffff);
    box-shadow:0 0 14px rgba(34,224,255,.75);
    animation-name:soprpuf9;animation-timing-function:linear;animation-fill-mode:forwards}
  .soprpuv9{flex:none;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:#8fe9ff}
  /* aura ngecas — nempel di panggungnya, jadi seluruh gang keliatan idup */
  .soprzon9::after{content:"";position:absolute;inset:0;z-index:16;pointer-events:none;
    background:radial-gradient(120% 78% at 50% 100%,rgba(34,224,255,.30),rgba(34,224,255,0) 62%);
    animation:soprpud9 1.6s ease-in-out infinite}
  /* ══ O1 · WALLPAPER RONDE — landscape, mentok pinggir ═════════════════
     Kaga ada bingkai, kaga ada garis pindai, kaga ada saringan abu-abu.
     Yang ada cuma peredup di atas sama di bawah — biar tulisan yang
     ngambang di situ tetep kebaca di atas gambar seterang apa pun. */
  .soprwp9{position:absolute;inset:0;overflow:hidden}
  .soprwp9 img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;display:block}
  .soprwp9::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(4,3,10,.78) 0,rgba(4,3,10,.10) 30%,
      rgba(4,3,10,.26) 58%,rgba(4,3,10,.90) 100%)}
  .soprpgg9.sopwp9{background:#05040a}
  /* (riwayat) N3 — perlakuan figur berdiri. Dipake CUMA buat siluet, sebab
     yang punya wallpaper udah kaga lewat jalur ini sama sekali. */
  /* ⚠ figurnya WAJIB dijepit tinggi panggung. Percobaan pertama pake
     `clamp(150px,86%,300px)` — dan 86% itu ngukur ke induk yang tingginya
     AUTO, jadi dia jatuh ke 300px di panggung yang cuma 270px. Figurnya
     nembus atap, dan mask kakinya kaga kena apa-apa. Induknya sekarang
     direntengin ke seluruh panggung, jadi persen-nya punya patokan. */
  .soprfig9.sopfigf9{top:0;bottom:0}
  .soprfig9.sopfigf9 .sopfoto9{
    height:100% !important;max-height:100%;width:auto !important;
    aspect-ratio:3/4;border-radius:0;background:transparent;box-shadow:none;
    /* dilebur ke gang dari EMPAT sisi, bukan cuma kaki: gambar yang
       pinggirnya tajem itu PANEL yang ditempel di gang, bukan orang yang
       berdiri di gang — dan "gantiin svg" itu maunya yang kedua. */
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 74%,transparent 99%),
      linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 74%,transparent 99%),
      linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);
    mask-composite:intersect}
  .soprfig9.sopfigf9 .sopfoto9 img{filter:none;object-position:var(--fx,50%) 22%}
  .soprfig9.sopfigf9 .sopfoto9::after{opacity:.14}
  .soprfig9.sopfigf9 .sopfoto9::before{opacity:.18}
  .soprzon9 .soprfig9{filter:drop-shadow(0 0 16px rgba(34,224,255,.72))}
  .soprbF9.soprbon9{background:linear-gradient(180deg,#22e0ff,#12a8c8);color:#04121a;
    animation:soprpud9 1.3s ease-in-out infinite}
  @keyframes soprpuf9{from{width:0}to{width:100%}}
  @keyframes soprpud9{0%,100%{opacity:1}50%{opacity:.55}}
  @media(prefers-reduced-motion:reduce){
    .soprpul9,.soprzon9::after,.soprbF9.soprbon9{animation:none}
    .soprpub9 s{animation:none;width:100%}}
  /* ══ P5 · LAYAR RONDE TOWN FOLK ═══════════════════════════════════════ */
  /* ⚠ TINGGI: panggung kriminal boleh dipatok clamp() — isinya cuma muka
     sama bilah. Punya warga isinya kepala, komen, aturan, DUA bilah — kalo
     dipatok, di layar sempit kepala sama bilahnya numpuk. Jadi di sini
     panggungnya kolom yang tingginya NGIKUT isi: kepala sama kaki masuk
     alur biasa, cuma wallpaper/grafik/meter yang ngambang. */
  /* ⚖ B1 · 11:6, TITAH BANG SAM. Gambarnya yang nentuin bentuk panggungnya,
     bukan tingginya tulisan. `aspect-ratio` bikin dia ikut lebar kartu di
     lebar berapa pun tanpa satu pun angka mati — dan `min-height` tetep ada
     buat jaring pengaman kalo isinya kebetulan lebih tinggi dari 6/11 lebar. */
  /* ⚠ `min-height:min-content` ITU YANG BIKIN 11:6 AMAN. Rasio doang bikin
     tingginya DIPATOK — dan di layar sempit isinya (kepala + nama + caste +
     dua bilah) lebih tinggi dari 6/11 lebarnya, jadi kakinya luber terus
     ketutup `overflow:hidden`: ilang tanpa jejak, dan angkanya tetep ijo.
     Sekarang rasio itu bentuk MINIMUM, bukan patokan mati: normalnya rasio
     yang menang, pas isinya lebih tinggi isinya yang menang.

     ⚠ DAN `overflow:visible` ITU BAGIAN DARI OBATNYA, bukan hiasan. Kotak yang
     `overflow:hidden` itu WADAH GULIR, dan wadah gulir punya `min-content`
     NOL di sumbu gulirnya — jadi `min-height:min-content` kaga pernah nggigit
     dan kakinya tetep luber ketutup. Yang ngeclip wallpaper-nya lapisan
     `.soprwp9` sendiri (dia udah `overflow:hidden` dari lahir), jadi kliping
     di panggungnya emang kaga pernah dibutuhin. Panggung KRIMINAL kaga disentuh:
     isinya cuma muka sama bilah, dan dia emang dipatok clamp(). */
  /* ⚠ PADDING-nya DI ANAKNYA, BUKAN DI PANGGUNGNYA — dan itu bukan selera.
     Pengganjal rasio ngukur diri dari LEBAR KOLOM; kalo panggungnya punya
     padding 92px buat ngasih jalan meter, kolomnya nyusut segitu dan rasio
     11:6 yang kegambar itu rasio KOLOM, bukan rasio GAMBAR. Kemaren keukur
     1,97 padahal maunya 1,83. */
  .soprwg9 .soprpgg9{height:auto;overflow:visible;padding:0;gap:0;
    display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(28px,1fr) auto}
  /* ⚠ RASIONYA DITARO DI PENGGANJAL, BUKAN DI KOTAKNYA. Dua percobaan sebelum
     ini gagal dengan cara yang sama: `aspect-ratio` di kotaknya bikin
     tingginya DIPATOK, dan di lebar HP isinya (kepala + nama + caste + dua
     bilah = 262px) lebih tinggi dari 6/11 lebarnya (202px) — kakinya luber
     48 piksel. `min-height:min-content` kaga nolong: kotak yang `overflow:hidden`
     itu wadah gulir, dan wadah gulir `min-content`-nya NOL di sumbu gulirnya.
     Yang jalan: satu anak kosong yang NGERENTANG SEMUA BARIS sambil bawa
     rasionya. Grid wajib nyediain ruang buat anak yang ngerentang, jadi
     rasionya jadi LANTAI tinggi — bukan langit-langit. Isinya lebih tinggi,
     grid-nya yang ngalah. */
  .soprwg9 .soprpgg9::after{content:"";position:absolute;inset:0;z-index:9;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(4,3,9,.74) 0,rgba(4,3,9,0) 24%,
      rgba(4,3,9,0) 44%,rgba(4,3,9,.70) 78%,rgba(4,3,9,.92) 100%)}
  .soprwg9 .soprpgg9:has(.sopsiang9)::after{
    background:linear-gradient(180deg,rgba(10,6,2,.52) 0,rgba(10,6,2,0) 24%,
      rgba(6,4,10,0) 44%,rgba(6,4,10,.66) 78%,rgba(6,4,10,.92) 100%)}
  .soprwg9 .soprpgg9::before{content:"";grid-column:1;grid-row:1/-1;
    width:100%;aspect-ratio:11/6;pointer-events:none}
  .soprwg9 .sopwhd9{grid-column:1;grid-row:1;padding:12px 92px 0 14px}
  .soprwg9 .sopwft9{grid-column:1;grid-row:3;align-self:end;padding:0 92px 12px 14px}
  .soprwg9 .sopwhd9,.soprwg9 .sopwft9{position:static;left:auto;right:auto;
    top:auto;bottom:auto}
  /* meternya ikut tinggi panggung yang beneran, bukan clamp() punya kriminal */
  /* ⚠ z-index 21 — DI ATAS kepala (14) sama kaki (14). Bukan kerapihan:
     kepala sama kaki itu anak grid yang ngerentang selebar kolom, jadi
     kotaknya NUTUPIN lajur meter walau isinya nol nyampe situ. Yang
     ketelen ketokan orang. Naikin meternya, bukan matiin pointer-events
     di kepala/kaki — di kaki masih ada gerigi ritme yang wajib bisa
     diketok pas omongannya ditaro di ATAS. */
  .soprwg9 .soprmtr9{height:auto;top:12px;bottom:12px;z-index:21}
  /* ⚠ ORANGNYA DIGESER KE KANAN di rakitan 11:6 (bon #23 B4). Bawaannya
     `.soprfig9` naro dia di TENGAH — dan tengah bawah itu persis tempat nama,
     caste, sama bilahnya duduk. Bilah yang lewat di dada orang bikin dua
     barang saling ngerusak: gambarnya kepotong garis, garisnya kaga kebaca.
     Di layar sempit dia balik ke tengah dan malah diredupin — di situ kaki
     panggungnya emang selebar layar, jadi kaga ada kolom yang bisa dikasih. */
  .soprwg9 .soprfig9{left:auto;right:15%;width:auto;place-items:end center}
  @media(max-width:620px){.soprwg9 .soprfig9{left:0;right:0;opacity:.42}}
  .sopwhd9{position:absolute;left:14px;top:12px;right:92px;z-index:14;display:flex;gap:11px}
  .sopwpfp9{flex:none;width:52px;height:52px;border-radius:9px;overflow:hidden;
    border:1px solid rgba(255,255,255,.22);background:#0b0910;box-shadow:0 6px 18px -8px #000}
  .sopwpfp9 .sopfoto9{width:100% !important;height:100% !important;border-radius:0}
  .sopwpfp9 .sopfoto9 img{width:100%;height:100%;object-fit:cover}
  .sopwpfp9 svg{max-height:52px;display:block;margin:0 auto}
  .sopwhi9{flex:1;min-width:0}
  .sopwtsk9{display:block;font-size:14px;line-height:1.3;color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,.92);overflow:hidden;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .sopwreq9{display:block;margin-top:5px;font-family:ui-monospace,Menlo,monospace;font-size:10px;
    color:#dfd8ee;text-shadow:0 1px 6px rgba(0,0,0,.92)}
  .sopwreq9 em{font-style:normal;font-size:8px;letter-spacing:.12em;color:#9a92ad}
  /* dua bilah mini itu barang sejenis — mereka duduk SEBARIS, bukan numpuk.
     Numpuk bikin kepala panggung nambah tinggi, dan panggung 11:6 langsung
     ngalah (dia emang dirancang ngalah — rasio itu LANTAI). Di layar sempit
     mereka balik numpuk, dan di situ ngalahnya panggung emang bener. */
  .sopwin2b9{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
  .sopwin2b9>.sopwinp9{flex:1 1 190px;min-width:0}
  .sopwinp9{display:flex;align-items:center;gap:7px;margin-top:6px}
  .sopwinl9{flex:none;font-style:normal;font-size:8px;letter-spacing:.13em;color:#ff9d5c;
    text-shadow:0 1px 6px #000}
  .sopwinb9{flex:1;max-width:190px;height:6px;border-radius:99px;overflow:hidden;
    background:rgba(0,0,0,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
  .sopwinb9 s{display:block;height:100%;text-decoration:none;
    background:linear-gradient(90deg,#ffd23a,#ff7a3c);transition:width .5s cubic-bezier(.16,1,.3,1)}
  .sopwinv9{flex:none;font-style:normal;font-family:ui-monospace,Menlo,monospace;
    font-size:9px;color:#ffc48a}
  .sopwft9{position:absolute;left:14px;bottom:12px;right:92px;z-index:14}
  .sopwnm9{font-size:clamp(19px,3vw,27px);letter-spacing:.06em;color:#fff;line-height:1;
    text-shadow:0 3px 16px rgba(0,0,0,.95)}
  .sopwks9{margin-top:3px;font-size:9px;letter-spacing:.16em;color:var(--sc,#a78bfa);
    text-shadow:0 1px 8px #000}
  .sopwsay9{margin-top:8px;max-width:540px;border-radius:10px;padding:8px 12px;
    border:1px solid rgba(255,255,255,.13);background:rgba(8,7,14,.74);backdrop-filter:blur(4px);
    font-size:12.5px;color:#e6e1f2;line-height:1.45}
  .sopwrul9{margin-top:8px;max-width:560px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    font-family:ui-monospace,Menlo,monospace;font-size:9.5px;color:#c9c2da;
    background:rgba(8,7,14,.68);backdrop-filter:blur(4px);border-radius:8px;padding:6px 10px;
    border:1px solid rgba(255,255,255,.11)}
  .sopwrul9 u{text-decoration:none;cursor:pointer;color:#ffd23a;letter-spacing:.1em;
    border:1px dashed rgba(255,210,58,.45);border-radius:6px;padding:1px 6px}
  .sopwrul9 u:hover{background:#ffd23a;color:#1a1000}
  .sopwrul9 em{font-style:normal;color:#8d86a0}
  .sopwrul9 b{font-weight:600;color:#ff9d5c}
  .sopwbhy9{border-color:rgba(255,90,60,.55);background:rgba(58,10,10,.62)}
  .sopwbhy9 b{color:#ff5a3c}
  /* ⚠ NAMA: jangan pake .sopwbar9 / .sopwbtn9 di sini — dua-duanya udah
     kepake di kartu warga (bilah trust & tombol TITIP). Nama yang ketabrak
     itu bukan cuma jelek: aturan lamanya tetep nempel diem-diem. */
  .sopwrsp9{margin-top:9px;max-width:560px}
  .sopwbt9{display:flex;justify-content:space-between;font-size:7.5px;letter-spacing:.14em;color:#8d86a0}
  .sopwbb9{position:relative;height:8px;border-radius:99px;margin-top:20px;
    background:linear-gradient(90deg,rgba(224,31,61,.55),rgba(107,100,120,.5) 50%,rgba(53,210,155,.55));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
  .sopwbb9 i{position:absolute;top:50%;width:13px;height:13px;border-radius:50%;
    transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 12px currentColor,0 2px 6px #000;
    transition:left .55s cubic-bezier(.16,1,.3,1)}
  .sopwbb9 b{position:absolute;top:-17px;transform:translateX(-50%);font-weight:600;
    font-family:ui-monospace,Menlo,monospace;font-size:12px;text-shadow:0 1px 8px #000;
    transition:left .55s cubic-bezier(.16,1,.3,1)}
  .sopwlng9{margin-top:7px;max-width:560px}
  .sopwlt9{display:flex;justify-content:space-between;font-size:7.5px;letter-spacing:.14em;color:#8d86a0}
  .sopwlt9 i{font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:#8fe9ff}
  .sopwlb9{height:5px;border-radius:99px;margin-top:3px;overflow:hidden;
    background:rgba(0,0,0,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
  .sopwlb9 s{display:block;height:100%;text-decoration:none;
    background:linear-gradient(90deg,#12a8c8,#22e0ff);box-shadow:0 0 12px rgba(34,224,255,.6);
    transition:width .6s cubic-bezier(.16,1,.3,1)}
  /* ⚖ B2 · rumah BAWAH buat omongan + aturan. Di sini dia kaga ngambang di
     atas gambar, jadi latarnya kaga perlu kaca buram sama bayangan tulisan —
     dua hiasan yang cuma ada buat ngelawan gambar di belakangnya. */
  .sopwbwh9{margin-bottom:11px;display:flex;flex-direction:column;gap:7px}
  .sopwbwh9 .sopwsay9{max-width:none;margin-top:0;background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.09);backdrop-filter:none;font-size:13px}
  .sopwbwh9 .sopwrul9{max-width:none;margin-top:0;background:rgba(255,255,255,.04);
    backdrop-filter:none}
  /* baris aksi */
  /* ⚠ SATU KOTAK KACA, DUA PEMAKAI (bon #23 B4/B5). Tulisan yang ngambang
     langsung di atas gambar itu kebaca cuma kalo gambarnya kebetulan gelap
     di situ — dan gambarnya foto orang, jadi dia kaga pernah kebetulan
     apa-apa. Kotak kaca ini yang bikin dia kebaca di palet mana pun, siang
     maupun malem. Dipake ronde kriminal SAMA ronde town folk. */
  .soprkaca9{margin-top:9px;max-width:min(430px,100%);padding:9px 11px;border-radius:10px;
    background:rgba(8,6,14,.58);border:1px solid rgba(255,255,255,.09);
    -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  .soprkl9{display:flex;justify-content:space-between;gap:10px;font-size:8px;
    letter-spacing:.13em;color:#b7aecd;font-family:ui-monospace,Menlo,monospace}
  .soprhpb9{position:relative;height:9px;border-radius:99px;margin:5px 0 2px;overflow:hidden;
    background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
  .soprhpb9 s{position:absolute;left:0;top:0;bottom:0;text-decoration:none;border-radius:99px;
    background:linear-gradient(90deg,#ff3b2f,#ff8a4c)}
  .soprhpb9[data-soprhp9="kritis"] s{background:linear-gradient(90deg,#ff2d1f,#ff6a3c);
    animation:soprdenyut9 1s ease-in-out infinite}
  .soprhpb9[data-soprhp9="tipis"] s{background:linear-gradient(90deg,#ff8a1f,#ffd23a)}
  .soprhpn9 s{background:linear-gradient(90deg,#7a2bd6,#b06cff)}
  .sopwinb9.soprbld9 s{background:linear-gradient(90deg,#ff3b2f,#ff8a4c)}
  .sopwinb9.soprbld9[data-soprhp9="kritis"] s{background:linear-gradient(90deg,#ff2d1f,#ff6a3c)}
  /* chip jurus dipinjemin baju tombol town folk — dua layar, satu bahasa */
  .soprjw9{background:linear-gradient(180deg,#ffd88f,#ff9d3c);color:#1d1004}
  .sopwrow9 .soprbR9{margin-left:auto;color:#04121a}
  .sopwrow9 .soprbT9{margin-left:0;color:#14110b}
  .sopwrow9 .soprbK9{color:#1d1004}
  @media(max-width:620px){.sopwrow9 .soprbR9{margin-left:0}}
  .sopwrow9{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .sopwb9{cursor:pointer;user-select:none;border-radius:9px;padding:9px 15px;
    font-size:11.5px;letter-spacing:.09em;border:1px solid transparent;
    transition:transform .12s,filter .12s}
  .sopwb9:hover{transform:translateY(-1px);filter:brightness(1.1)}
  .sopwb9 i{display:block;font-style:normal;font-family:ui-monospace,Menlo,monospace;
    font-size:8.5px;letter-spacing:.05em;opacity:.78;margin-top:2px}
  .sopwbhello9{background:linear-gradient(180deg,#c9a4ff,#8b5cf6);color:#0e0618}
  .sopwbhelp9{background:linear-gradient(180deg,#4ee0a8,#22b981);color:#04140d}
  .sopwblend9{background:linear-gradient(180deg,#63c8ff,#1f8ede);color:#04121a}
  .sopwbboost9{background:linear-gradient(180deg,#ffd23a,#ff9d1e);color:#1a1000}
  .sopwbwkt9{background:#1c1a26;color:#c9c2da;border-color:#2f2b3d;margin-left:auto}
  .sopwbdlv9{background:linear-gradient(180deg,#e8e2f5,#b9b1cf);color:#12101c}
  .sopwbmati9{background:#1a1822 !important;color:#4d4759 !important;border-color:#26232f;
    cursor:not-allowed;filter:none}
  .sopwbmati9:hover{transform:none}
  @media(max-width:620px){.sopwhd9,.sopwft9{right:14px}
    .soprwg9 .sopwhd9,.soprwg9 .sopwft9{padding-right:14px}
    .sopwbwkt9{margin-left:0}}
  /* ── P10 · HADIR (bon #40) — strip kotak per periode, di bawah gambar ── */
  .sopwhdr9{margin-bottom:8px;border:1px solid rgba(34,211,238,.18);background:linear-gradient(180deg,rgba(34,211,238,.05),rgba(255,255,255,.02));
    border-radius:10px;padding:8px 10px 9px}
  .sopwhdk9{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:ui-monospace,Menlo,monospace;font-size:9px;
    letter-spacing:.12em;color:#8d86a0;margin-bottom:8px}
  .sopwhdk9 b{color:#22d3ee;font-weight:600;font-size:9.5px}
  .sopwhdk9 em{font-style:normal;margin-left:auto;color:#ffb347;letter-spacing:.06em}
  .sopwhdk9 em b{color:#ffb347}
  .sopwhdg9{display:grid;grid-template-columns:repeat(var(--n,14),1fr);gap:5px}
  .sopwhk9{position:relative;aspect-ratio:1/1.3;border-radius:7px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);
    display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:5px 0 4px;
    font-family:ui-monospace,Menlo,monospace;cursor:pointer;transition:transform .12s;user-select:none}
  .sopwhk9:hover{transform:translateY(-2px)}
  .sopwhk9 u{text-decoration:none;font-size:6.5px;letter-spacing:.14em;color:#6d6780}
  .sopwhk9 s{text-decoration:none;font-size:7.5px;color:#8d86a0;white-space:nowrap}
  .sopwhk9 i{font-style:normal;font-size:14px;line-height:1;display:flex;align-items:center;height:16px;color:#2c2836}
  .sopwhk9 em{position:absolute;right:-4px;top:-5px;font-style:normal;font-size:7px;background:#14121c;border:1px solid rgba(255,179,71,.5);
    border-radius:99px;padding:0 4px;color:#ffb347;line-height:1.5}
  .sopwhkk9{border-color:rgba(53,210,155,.6);background:linear-gradient(180deg,rgba(53,210,155,.3),rgba(53,210,155,.08));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12);cursor:default}
  .sopwhkk9:hover{transform:none}
  .sopwhkk9 i{color:#35d29b}.sopwhkk9 u{color:#8fe3c4}.sopwhkk9 s{color:#d6f7ea}
  .sopwhkh9{border:1px dashed rgba(255,179,71,.7);background:rgba(255,179,71,.07)}
  .sopwhkh9 i{color:#ffb347}.sopwhkh9 s{color:#ffd9a6}
  .sopwhki9{border-color:#22d3ee;animation:sopwhkdp9 1.6s ease-in-out infinite}
  .sopwhki9 u{color:#22d3ee}.sopwhki9 s{color:#c9f7fd}
  .sopwhki9:not(.sopwhkk9):not(.sopwhkh9) i{color:rgba(34,211,238,.45)}
  @keyframes sopwhkdp9{0%,100%{box-shadow:0 0 0 1px rgba(34,211,238,.2),0 0 8px rgba(34,211,238,.15)}
    50%{box-shadow:0 0 0 1px rgba(34,211,238,.6),0 0 20px rgba(34,211,238,.45)}}
  .sopwhkm9{opacity:.25;cursor:default;border-style:dotted}
  .sopwhkm9:hover{transform:none}
  .sopwhdl9{display:flex;gap:14px;flex-wrap:wrap;margin-top:7px;font-family:ui-monospace,Menlo,monospace;font-size:7.5px;letter-spacing:.1em;color:#5a5468}
  .sopwhdl9 i{font-style:normal}
  .sopwhla9{color:#35d29b}.sopwhlb9{color:#ffb347}.sopwhlc9{color:#3a3545}
  .sopwhln9{margin-left:auto;color:#c9c2da}.sopwhln9 b{color:#fff}
  /* tab AKSI / DETAIL MISI */
  .sopwtab9{display:flex;gap:6px;align-items:flex-end;margin-top:2px;padding:0 2px}
  .sopwtb9{font-family:ui-monospace,Menlo,monospace;font-size:9.5px;letter-spacing:.16em;padding:8px 14px 9px;border-radius:9px 9px 0 0;
    border:1px solid rgba(255,255,255,.08);border-bottom:none;color:#8d86a0;background:rgba(255,255,255,.02);cursor:pointer;
    display:flex;align-items:center;gap:8px;user-select:none}
  .sopwtbon9{color:#fff;background:linear-gradient(180deg,#1b1826,#141220);border-color:#3b2c6a;position:relative;top:1px}
  .sopwtb9 em{font-style:normal;font-size:8px;letter-spacing:.06em;color:#a78bfa;border:1px solid rgba(167,139,250,.35);border-radius:99px;padding:1px 7px}
  .sopwtb9 em b{color:#fff;font-weight:600}
  .sopwpnl9{border:1px solid #3b2c6a;border-radius:0 10px 10px 10px;background:linear-gradient(180deg,#141220,#0d0b15);padding:12px 12px 12px;margin-top:-8px}
  .sopwpnl9[hidden]{display:none}
  /* kotak AKSI — slot jurus ala Pokémon */
  .sopwakh9{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
  .sopwakh9 .soprsayt9{margin-bottom:0}
  .sopwpm9{margin-left:auto;font-family:ui-monospace,Menlo,monospace;font-size:8.5px;letter-spacing:.1em;color:#8d86a0;display:flex;align-items:center;gap:8px}
  .sopwpm9 b{color:#22d3ee;font-weight:600;font-size:10px}
  .sopwpm9 u{text-decoration:none;cursor:pointer;color:#0a1a1e;background:linear-gradient(180deg,#7be9f7,#22d3ee);border-radius:6px;padding:4px 9px;font-weight:600;letter-spacing:.12em}
  .sopwpm9 u:hover{filter:brightness(1.1)}
  .sopwslot9{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:stretch}
  .sopwrow9.sopwslot9{display:grid}
  .sopwsl9{position:relative;border-radius:9px;padding:10px 12px 9px 15px;border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));overflow:hidden;font-size:12px;letter-spacing:.1em;color:#fff}
  .sopwsl9:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tc,#8d86a0)}
  .sopwsl9 b{display:flex;align-items:center;gap:7px;font-weight:400}
  .sopwsl9 b em{font-style:normal;margin-left:auto;font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--tc,#c9c2da);font-weight:600;white-space:nowrap}
  .sopwsl9 i{display:flex;justify-content:space-between;gap:8px;margin-top:4px;opacity:1;font-size:8px}
  .sopwsl9 i span{color:#8d86a0}
  .sopwsl9 i s{text-decoration:none;color:#c9c2da;white-space:nowrap}
  .sopwbwave9{--tc:#8d86a0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
  .sopwsl9.sopwbhello9{--tc:#c9a4ff;background:linear-gradient(180deg,rgba(201,164,255,.16),rgba(201,164,255,.04));color:#fff}
  .sopwsl9.sopwbhelp9{--tc:#4ee0a8;background:linear-gradient(180deg,rgba(78,224,168,.16),rgba(78,224,168,.04));color:#fff}
  .sopwsl9.sopwblend9{--tc:#63c8ff;background:linear-gradient(180deg,rgba(99,200,255,.16),rgba(99,200,255,.04));color:#fff}
  .sopwsl9.sopwbboost9{--tc:#ffd23a;background:linear-gradient(180deg,rgba(255,210,58,.16),rgba(255,210,58,.04));color:#fff}
  .sopwsl9.sopwbmati9{filter:saturate(.25) brightness(.72);background:rgba(255,255,255,.02) !important;color:#8d86a0 !important}
  .sopwslk9{border-style:dashed;background:none;color:#6d6780;cursor:default}
  .sopwslk9:before{background:#3a3545}
  .sopwslw9{grid-column:1/-1}
  .sopwsl9.sopwbdlv9{--tc:#fff;background:linear-gradient(90deg,rgba(232,226,245,.95),rgba(185,177,207,.9));border-color:transparent;color:#12101c;padding-left:16px}
  .sopwsl9.sopwbdlv9 b em{color:#4b3e78}
  .sopwsl9.sopwbdlv9 i span,.sopwsl9.sopwbdlv9 i s{color:#3d3552}
  /* tab DETAIL MISI */
  .sopwmis9{display:grid;grid-template-columns:1.1fr 1fr;gap:10px}
  .sopwmtgt9{border-color:rgba(167,139,250,.3);background:linear-gradient(180deg,rgba(60,40,120,.22),rgba(20,16,36,.25))}
  .sopwmblk9{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025);padding:11px 12px 12px;min-width:0}
  .sopwmblk9 h5{margin:0 0 8px;font-family:ui-monospace,Menlo,monospace;font-size:8.5px;letter-spacing:.16em;color:#8d86a0;font-weight:400;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .sopwmblk9 h5 b{color:#fff;font-weight:600}
  .sopwmtk9{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:ui-monospace,Menlo,monospace;font-size:9px;color:#8d86a0}
  .sopwmtk9 b{font-family:"Chakra Petch",sans-serif;font-size:22px;color:#fff;letter-spacing:.04em}
  .sopwmtk9 .sopwbwkt9{margin-left:auto;font-size:9.5px;padding:7px 11px}
  .sopwriw9{display:flex;flex-direction:column;gap:3px;font-family:ui-monospace,Menlo,monospace;font-size:8.5px;color:#c9c2da}
  /* bon #42 — PAST ACTIONS: baris riwayat + kolom nama warga */
  .soppast9{border:1px solid var(--line-2,#2a3040);border-radius:11px;background:rgba(255,255,255,.015);padding:4px 12px;margin-bottom:12px}
  .sopwriw9.soppastl9 div{grid-template-columns:44px 14px 96px 1fr;padding:6px 0}
  .sopwrwn9{color:#fff;letter-spacing:.08em;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopkep9.sopsekg9{color:#35d29b}
  .sopkrt9{position:relative}
  .sopkrtx9{position:absolute;right:6px;top:6px;z-index:3;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#8d86a0;background:rgba(4,3,10,.7);border:1px solid rgba(255,255,255,.14);cursor:pointer;opacity:0;transition:opacity .15s}
  .sopkrt9:hover .sopkrtx9{opacity:1}
  .sopkrtx9:hover{color:#ff5a3c;border-color:#ff5a3c}
  @media(hover:none){.sopkrtx9{opacity:.7}}
  /* 🎯 SELERA (bon #42) */
  .sopbdgsel9{color:#22d3ee!important;border-color:rgba(34,211,238,.45)!important;cursor:pointer!important;margin-left:auto}
  .sopbdgsel9:hover{background:rgba(34,211,238,.12)!important}
  .sopwk9 .sopbdgr9{margin:6px 0 2px}
  .sopselk9{width:min(640px,96vw)}
  .sopselm9{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid var(--line-2,#2a3040);background:rgba(255,255,255,.02);margin-bottom:12px}
  .sopselm9>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
  .sopselm9 b{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;color:var(--sc,#ffb020)}
  .sopselm9 span{font-size:11px;color:var(--ink-2,#c6cddc)}
  .sopselm9 i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.06em;color:#22d3ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopselkos9{font-size:11.5px;line-height:1.6;color:#8d86a0;padding:6px 2px 12px}
  .sopselkos9 b{color:#fff}
  .sopselsek9{display:flex;align-items:baseline;gap:8px;margin:14px 0 2px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.1)}
  .sopselsek9 b{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;color:#fff}
  .sopselsek9 span{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:#6d6780}
  .sopselr9{margin-top:10px}
  .sopselr9 small{display:block;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.16em;color:#6d6780;margin-bottom:5px}
  .sopselr9>div{display:flex;gap:5px;flex-wrap:wrap}
  .sopselc9{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.06em;padding:4px 9px;border-radius:7px;border:1px solid rgba(255,255,255,.1);color:#6d6780;background:rgba(255,255,255,.02);cursor:pointer;user-select:none}
  .sopselc9.on{color:#000;background:var(--amber,#ffb020);border-color:var(--amber,#ffb020);font-weight:600}
  .sopselc9[data-sopselj9="tb"].on,.sopselc9[data-sopselj9="th"].on{background:#22d3ee;border-color:#22d3ee}
  /* bon #42t — TIPE = sub-tab: chip kuning = yang lagi diliat, lampu = jenis itu nyala, saklar di kepala seksi = nyalain/matiin */
  .soptipec9{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 11px 5px 9px;color:#c6cddc;position:relative}
  .soptipec9.view{color:#000;background:var(--amber,#ffb020);border-color:var(--amber,#ffb020);font-weight:600}
  .soptipec9.view:after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--amber,#ffb020)}
  .soplampu9{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2c2739;box-shadow:inset 0 1px 2px #000;vertical-align:middle;flex:none}
  .soplampu9.on{background:#35d29b;box-shadow:0 0 6px #35d29b,0 0 12px rgba(53,210,155,.5)}
  .sopselsek9:has(.sopsaklar9){align-items:center;flex-wrap:nowrap}
  .sopselsek9:has(.sopsaklar9) b{white-space:nowrap;flex:none}
  .sopselsek9:has(.sopsaklar9) span:not(.sopsaklar9){flex:1 1 auto;min-width:0}
  .sopselsek9 .sopsaklar9{margin-left:auto;flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;border-radius:99px;padding:3px 10px 3px 5px;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.03);color:#8d86a0;font-size:7.5px;letter-spacing:.14em;font-weight:400}
  .sopselsek9 .sopsaklar9 i{width:24px;height:13px;border-radius:99px;background:#2c2739;position:relative;flex:none}
  .sopselsek9 .sopsaklar9 i:after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:#6f6889;transition:left .15s}
  .sopselsek9 .sopsaklar9 u{text-decoration:none}
  .sopselsek9 .sopsaklar9.on{color:#35d29b;background:rgba(53,210,155,.08);border-color:rgba(53,210,155,.5)}
  .sopselsek9 .sopsaklar9.on i{background:#35d29b}.sopselsek9 .sopsaklar9.on i:after{left:13px;background:#062}
  .sopsarmati9{margin:8px 0 2px;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:#ff9f7a;background:rgba(255,90,60,.07);border:1px dashed rgba(255,90,60,.35);border-radius:8px;padding:6px 9px;line-height:1.5}
  .sopsarisi9.mati{opacity:.42;filter:saturate(.5)}
  .sopdftwaris9{margin:0 0 8px;padding:7px 10px;border-radius:9px;border:1px dashed rgba(255,210,58,.4);background:rgba(255,210,58,.05);font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.08em;line-height:1.7;color:#e6d9a8}
  .sopdftwaris9 b{color:#ffd23a}
  .sopscan9{margin:10px 0 2px;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;line-height:1.7;color:#22d3ee;background:rgba(34,211,238,.06);border:1px solid rgba(34,211,238,.3);border-radius:8px;padding:6px 9px}
  .soplamput9{color:#c6cddc}.soplamput9 .soplampu9{margin:0 3px 0 6px}
  .sopselb9{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;align-items:center}
  .sopselmg9{display:flex;flex-direction:column;gap:5px;margin:4px 0 12px}
  .sopselmr9{display:flex;align-items:center;gap:9px;padding:5px 9px;border-radius:9px;border:1px solid var(--line-2,#2a3040);border-left:3px solid var(--sc,#ffb020);background:rgba(255,255,255,.015)}
  .sopselmm9{width:26px;height:30px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;flex:none}
  .sopselmm9 svg,.sopselmm9 .sopfoto9{height:30px}
  .sopselmr9 b{font-size:10.5px;letter-spacing:.05em;color:var(--ink-2,#c6cddc);white-space:nowrap}
  .sopselmr9 u{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.14em;color:var(--sc,#ffb020);white-space:nowrap}
  .sopselmt9{flex:1;min-width:0;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.04em;color:#6d6780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopselmt9.sopselmon9{color:#ffd23a}
  .soporgs9 .sopbdgsel9{margin-left:6px;vertical-align:middle}
  /* ⚔ YOUR CHALLENGE (bon #42) */
  .sopchtabs9{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
  .sopchtb9{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;padding:7px 11px;border-radius:99px;border:1px solid rgba(255,255,255,.12);color:#8d86a0;cursor:pointer;user-select:none;background:rgba(255,255,255,.02)}
  .sopchtb9.on{color:#000;background:#22d3ee;border-color:#22d3ee;font-weight:600;box-shadow:0 0 16px -4px #22d3ee}
  .sopchtb9.sopchtbc9{border-style:dashed}
  .sopchtb9.sopchtbc9.on{border-style:solid;background:#ffd23a;border-color:#ffd23a;box-shadow:0 0 16px -4px #ffd23a}
  .sopchtb9.sopchtbnew9{color:#22d3ee;border-color:rgba(34,211,238,.4)}
  .sopchtabbtn9{padding:8px 10px}
  .sopchtabbtn9.sopbahaya9{color:#ff5a3c;border-color:rgba(255,90,60,.5);background:rgba(255,90,60,.06)}
  .sopchtb9.sopchtbact9{color:#000;background:#ffd23a;border-color:#ffd23a;font-weight:600;animation:sopchkedip9 1.6s ease-in-out infinite}
  .sopchdl9{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
  .sopchdr9{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:9px;border:1px solid rgba(255,210,58,.35);background:rgba(255,210,58,.05);cursor:pointer;user-select:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.08em;color:#c6cddc;border-left:3px solid var(--sc,#ffd23a)}
  .sopchdr9:hover{background:rgba(255,210,58,.1)}
  .sopchdr9 .m{flex:none;width:22px;height:28px;overflow:hidden;display:grid;place-items:center}
  .sopchdr9 .m svg,.sopchdr9 .m>span{height:28px!important;width:auto!important}
  .sopchdr9 b{flex:none;color:#fff;letter-spacing:.1em;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopchdr9 i{flex:none;font-style:normal}
  .sopchdr9 u{flex:1;min-width:0;text-decoration:none;color:#e6e1f2;font-family:inherit;font-size:11px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopchdr9 em{flex:none;font-style:normal;color:#8d86a0;white-space:nowrap}
  .sopchdr9 s{flex:none;text-decoration:none;color:#000;background:#ffd23a;border-radius:99px;padding:2px 8px;font-weight:600;white-space:nowrap}
  .sopchdr9.sopchdrvmenang9{border-color:rgba(53,210,155,.4);background:rgba(53,210,155,.05)}.sopchdr9.sopchdrvmenang9 s{background:#35d29b}
  .sopchdr9.sopchdrvkalah9{border-color:rgba(255,90,60,.35);background:rgba(255,90,60,.04);opacity:.85}.sopchdr9.sopchdrvkalah9 s{background:#ff5a3c;color:#fff}
  .sopchdr9.sopchdron9{border-bottom-left-radius:0;border-bottom-right-radius:0}
  .sopchdx9{margin:-4px 0 6px;padding:8px;border:1px solid rgba(255,210,58,.25);border-top:0;border-radius:0 0 11px 11px;background:rgba(0,0,0,.25)}
  .sopchdx9 .sopchduel9{box-shadow:none}
  @media(max-width:520px){.sopchdr9 em{display:none}}
  .sopchsub9{display:flex;align-items:baseline;gap:10px;margin:12px 0 8px}
  .sopchsub9 b{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:#ffd23a}
  .sopchsub9 b i{font-style:normal;color:#fff;margin-left:4px}
  .sopchsub9 span{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:#6d6780}
  .sopchgrid9+.sopchgrid9{margin-top:10px}
  .sopchkond9{margin-top:8px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.08em;color:#ffd23a}
  .sopchjam9{margin-top:8px;height:4px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
  .sopchjam9 i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ffd23a,#ff5a3c);transform-origin:left center;animation-name:sopchjam9;animation-timing-function:linear;animation-fill-mode:forwards}
  @keyframes sopchjam9{from{transform:scaleX(1)}to{transform:scaleX(0)}}
  .sopdiem9 .sopchjam9 i{animation-play-state:paused}
  .sopchprog9{position:relative;margin-top:6px;height:14px;border-radius:7px;background:rgba(255,255,255,.06);overflow:hidden}
  .sopchprog9 i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#22d3ee,#35d29b);border-radius:7px}
  .sopchprog9 span{position:absolute;inset:0;display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:#fff}
  .sopchtnm9{display:flex;gap:6px;margin-bottom:6px}
  .sopchtnm9 input{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;padding:9px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.3);color:#fff;outline:none;min-width:0}
  .sopchtnm9 input:first-child{width:54px;text-align:center;flex:none}
  .sopchtnm9 input:last-child{flex:1;text-transform:uppercase}
  .sopchtnm9 input.sopgagal9{border-color:#ff5a3c}
  .sopchtsum9{margin-top:12px;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:#8d86a0;line-height:1.6}
  .sopchtsum9 b{color:#22d3ee}
  .sopchkopt9{display:grid;gap:8px;margin-top:4px}
  .sopchko9{border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:10px 12px;cursor:pointer;user-select:none;background:rgba(255,255,255,.02)}
  .sopchko9.on{border-color:var(--sc,#ffb020);background:rgba(255,255,255,.05);box-shadow:0 0 18px -8px var(--sc,#ffb020)}
  .sopchko9 b{display:block;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;color:#fff}
  .sopchko9 span{display:block;font-size:11px;color:#c6cddc;margin-top:3px;line-height:1.45}
  .sopchkmen9{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}
  .sopchkmen9 input{width:70px;font-family:"JetBrains Mono",monospace;font-size:11px;padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.3);color:#fff;outline:none}
  .sopchhd9{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 10px}
  .sopchhd9 .t{font-size:14px;color:#fff;letter-spacing:.04em}
  .sopchhd9 .t b{color:#22d3ee;font-weight:600}
  .sopchhd9 .r{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.12em;color:#6d6780;text-align:right;line-height:1.7}
  .sopchhd9 .r b{color:#ffd23a;font-weight:600}
  .sopchkocok9{cursor:pointer;user-select:none;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;padding:8px 13px;border-radius:9px;border:1px solid rgba(34,211,238,.5);color:#22d3ee;background:rgba(34,211,238,.06)}
  .sopchkocok9:hover{background:rgba(34,211,238,.16)}
  .sopchgrid9{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
  .sopch9{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden}
  .sopchb9{height:3px;background:linear-gradient(90deg,var(--sc,#ffb020),transparent)}
  .sopchin9{padding:11px 12px 12px}
  .sopchwho9{display:flex;gap:10px;align-items:center}
  .sopchwho9 .sopcmk9{width:44px}
  .sopchwho9 .sopcmk9 svg,.sopchwho9 .sopcmk9 .sopfoto9{height:52px}
  .sopchwho9 .nm{flex:1;min-width:0}
  .sopchwho9 .nm b{display:block;font-size:13px;letter-spacing:.06em;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopchwho9 .nm u{display:block;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.12em;color:var(--sc,#ffb020);margin-top:2px}
  .sopchverb9{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.2em;color:var(--sc,#ffb020);border:1px solid var(--sc,#ffb020);border-radius:99px;padding:3px 8px;white-space:nowrap;text-shadow:0 0 8px var(--sc,#ffb020)}
  .sopchsay9{margin:10px 0 0;font-size:12.5px;font-style:italic;color:#e6e1f2;line-height:1.45}
  .sopchit9{margin-top:9px;border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:8px 10px;background:rgba(0,0,0,.25);display:flex;gap:9px;align-items:center}
  .sopchit9 .e{font-size:18px;flex:none}
  .sopchit9 .j{flex:1;min-width:0}
  .sopchit9 .j b{display:block;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopchit9 .j u{text-decoration:none;display:flex;gap:6px;flex-wrap:wrap;margin-top:3px;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.1em;color:#8d86a0}
  .sopchit9 .j u i{font-style:normal;color:#22d3ee}
  .sopchit9 .j u .sopchsbx9{color:#a78bfa}
  .sopchbet9{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
  .sopchbet9 span{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.08em;padding:3px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.08);color:#8d86a0;background:rgba(255,255,255,.02)}
  .sopchbet9 span b{color:#fff;font-weight:600}
  .sopchbet9 span.w{color:#8fe3c4;border-color:rgba(53,210,155,.35)}.sopchbet9 span.l{color:#ff9d8a;border-color:rgba(255,90,60,.35)}
  .sopchbtn9{display:flex;gap:8px;margin-top:10px}
  .sopchbtn9 span{flex:1;text-align:center;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;padding:9px 6px;border-radius:9px;border:1px solid rgba(255,255,255,.12);color:#8d86a0;cursor:pointer;user-select:none}
  .sopchbtn9 span i{font-style:normal;font-size:7px;color:#5a5468;letter-spacing:.08em}
  .sopchbtn9 span.go{flex:1.6;color:#0a1a1e;background:linear-gradient(180deg,#fff,var(--sc,#ffb020));border-color:var(--sc,#ffb020);font-weight:600;box-shadow:0 0 18px -4px var(--sc,#ffb020)}
  .sopchbtn9 span.sopgagal9{border-color:#ff5a3c;color:#ff5a3c}
  .sopchduel9{border-color:rgba(255,210,58,.45);box-shadow:0 0 24px -10px #ffd23a}
  .sopchduel9.sopchvmenang9{border-color:rgba(53,210,155,.5);box-shadow:0 0 24px -10px #35d29b}
  .sopchduel9.sopchvkalah9{border-color:rgba(255,90,60,.4);box-shadow:none;opacity:.85}
  .sopchstamp9{position:absolute;right:12px;top:12px;z-index:2;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;color:#000;background:#ffd23a;border-radius:99px;padding:3px 9px;font-weight:600;animation:sopchkedip9 1.6s ease-in-out infinite}
  .sopchvmenang9 .sopchstamp9{background:#35d29b;animation:none}.sopchvkalah9 .sopchstamp9{background:#ff5a3c;color:#fff;animation:none}
  @keyframes sopchkedip9{0%,100%{box-shadow:0 0 0 1px rgba(255,210,58,.2),0 0 8px rgba(255,210,58,.15)}50%{box-shadow:0 0 0 1px rgba(255,210,58,.6),0 0 20px rgba(255,210,58,.45)}}
  .sopchduelbar9{margin-top:9px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;border:1px solid rgba(255,210,58,.25);border-radius:9px;padding:8px 10px;background:rgba(255,210,58,.04);text-align:center}
  .sopchduelbar9 b{display:block;font-size:12px;color:#fff}.sopchduelbar9 u{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.14em;color:#8d86a0}
  .sopchduelbar9 .vs{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:#ffd23a}
  .sopchtik9{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.1em;color:#6d6780}
  .sopchkos9{grid-column:1/-1;text-align:center;padding:28px 16px;font-size:11.5px;color:#8d86a0;line-height:1.8;border:1px dashed var(--line-2,#2a3040);border-radius:12px}
  .sopchkos9 b{display:block;color:#e6e1f2;letter-spacing:.16em;font-size:11px}
  @media(prefers-reduced-motion:reduce){.sopchstamp9{animation:none}}
  .sopkep9 + .sopwrg9 > .sopwrgh9{display:none}
  @media(max-width:620px){.sopwriw9.soppastl9 div{grid-template-columns:40px 14px 70px 1fr}}
  .sopwriw9 div{display:grid;grid-template-columns:34px 14px 1fr;gap:8px;align-items:center;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
  .sopwriw9 div:last-child{border-bottom:none}
  .sopwrwt9{color:#6d6780;letter-spacing:.04em}
  .sopwrwg9{text-align:center}
  .sopwrwa9{color:#8d86a0;letter-spacing:.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sopwrwa9 b{color:#e6e1f2;font-weight:400}
  .sopwrwk9{color:#35d29b}.sopwrwh9{color:#ffb347}.sopwrwv9{color:#a78bfa}.sopwrwc9{color:#22d3ee}
  /* P11 · TENGGAT (bon #40) */
  .sopwmtgt9{border-color:rgba(167,139,250,.35);background:linear-gradient(180deg,rgba(60,40,120,.28),rgba(20,16,36,.3))}
  .sopwmtgo9{border-style:dashed;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.03)}
  .sopwmtgl9{border-color:rgba(255,90,60,.6);background:linear-gradient(180deg,rgba(90,14,14,.5),rgba(30,8,8,.45))}
  .sopwmtgm9{border-color:rgba(200,200,215,.5);background:linear-gradient(180deg,rgba(200,200,215,.16),rgba(20,16,36,.3))}
  .sopwmr9{margin-left:auto;color:#a78bfa}
  .sopwmtgl9 h5 b{color:#ff8a7a}.sopwmtgl9 .sopwmr9{color:#ff9d5c}
  .sopwmtgb9{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:8px}
  .sopwmtd9{font-family:"Chakra Petch",sans-serif;font-size:22px;letter-spacing:.06em;color:#fff;line-height:1;font-weight:600}
  .sopwmtd9 small{display:block;font-family:ui-monospace,Menlo,monospace;font-size:7.5px;letter-spacing:.16em;color:#a78bfa;margin-bottom:5px;font-weight:400}
  .sopwmtgl9 .sopwmtd9{color:#ff8a7a}.sopwmtgl9 .sopwmtd9 small{color:#ff9d5c}
  .sopwmtc9{font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.08em;color:#c9c2da;line-height:1.7}
  .sopwmtc9 b{color:#ffd23a;font-weight:600}
  .sopwmtr9{margin-left:auto;text-align:right;font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.1em;color:#8d86a0;line-height:1.6}
  .sopwmtr9 small{display:block;letter-spacing:.16em}
  .sopwmtr9 b{display:block;font-size:14px;color:#35d29b;font-weight:600;letter-spacing:.02em}
  .sopwmtr9 b.sopwmhd9{color:#ffb347;font-size:12px}
  .sopwmtr9 span{display:block}
  .sopwpace9{font-family:ui-monospace,Menlo,monospace;font-size:8.5px;color:#8d86a0;letter-spacing:.06em}
  .sopwpace9 b{color:#22d3ee;font-weight:600}
  .sopwpace9 em{font-style:normal;color:#ff9d5c}.sopwpace9 u{text-decoration:none;color:#35d29b}
  .sopwpbar9{height:7px;border-radius:99px;background:rgba(255,255,255,.08);position:relative;margin:16px 0 4px}
  .sopwpbar9 s{position:absolute;left:0;top:0;bottom:0;text-decoration:none;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#22d3ee)}
  .sopwpbar9 u{position:absolute;top:-4px;bottom:-4px;width:2px;background:#ffd23a;text-decoration:none}
  .sopwpbar9 u:after{content:"harusnya di sini";position:absolute;top:-11px;left:-20px;font-family:ui-monospace,Menlo,monospace;font-size:6.5px;letter-spacing:.1em;color:#ffd23a;white-space:nowrap}
  .sopwpbar9 em{position:absolute;right:0;top:-13px;font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:7px;color:#6d6780;letter-spacing:.1em}
  .sopwtgbtn9{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
  .sopwtgbtn9 .sopwb9,.sopwmtk9 .sopwbtg9{font-size:9.5px;padding:7px 11px;margin-left:0}
  .sopwbtg9{background:#1c1a26;color:#e9e2ff;border-color:#3b2c6a}
  .sopwmtgo9 .sopwbtg9{border-color:rgba(255,210,58,.5);color:#ffd23a;margin-left:auto}
  .sopwtb9 em.sopwtbl9{color:#ff8a7a;border-color:rgba(255,90,60,.45)}
  .sopwrwm9{color:#ff5a3c}
  /* lembar pasang tenggat / molor (numpang kelas sopatr*) */
  .sopwtgk9{width:min(600px,96vw)}
  .sopwtgsub9{font-family:ui-monospace,Menlo,monospace;font-size:8.5px;letter-spacing:.06em;color:#8d86a0;line-height:1.7;margin:-4px 0 12px}
  .sopwtgsub9 b{color:#ffd23a}
  .sopwtgrow9{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:6px}
  .sopwtgrow9 .sopatrc9 i{display:block;font-style:normal;font-size:7.5px;opacity:.7;margin-top:1px;letter-spacing:.04em}
  .sopwtgrow9 input{border:1px solid #2f2b3d;background:#0d0c14;border-radius:8px;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:#eaecf3;color-scheme:dark;min-width:150px}
  .sopwtgrow9 input:disabled{opacity:.35}
  .sopwtgsaran9{font-family:ui-monospace,Menlo,monospace;font-size:8px;color:#22d3ee;letter-spacing:.04em;margin-top:7px;line-height:1.6}
  .sopwtgsaran9 b{color:#fff}
  .sopwtghd9{border-color:rgba(255,179,71,.4);color:#ffb347}
  .sopwtghd9.sopnyala9{background:rgba(255,179,71,.18);border-color:#ffb347;color:#fff}
  .sopwtgatur9{font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.04em;color:#c9c2da;line-height:1.75;border-left:2px solid #ffd23a;padding-left:10px;margin:12px 0}
  .sopwtgatur9 b{color:#ffd23a;font-weight:600}
  .sopwtggo9{background:linear-gradient(180deg,#c9a4ff,#8b5cf6);color:#0e0618;font-weight:600}
  /* P12 · ABORT MISSION (bon #40) */
  .sopwabort9{margin-top:10px;display:flex;justify-content:flex-end}
  .sopwabort9 span{font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.14em;color:#7a5058;border:1px solid rgba(255,90,60,.22);
    border-radius:7px;padding:5px 10px;cursor:pointer;user-select:none}
  .sopwabort9 span:hover{color:#ff8a7a;border-color:rgba(255,90,60,.6)}
  .sopwabo9{display:flex;gap:11px;align-items:flex-start;border:1px solid #2f2b3d;border-radius:10px;padding:10px 12px;margin-top:8px;
    background:rgba(255,255,255,.02);cursor:pointer;user-select:none;transition:border-color .12s}
  .sopwabo9:hover{border-color:#8b5cf6}
  .sopwabe9{font-size:17px;line-height:1.1}
  .sopwabo9 b{display:block;font-size:11.5px;letter-spacing:.12em;color:#fff;font-weight:600}
  .sopwabo9 i{display:block;font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.02em;color:#8d86a0;line-height:1.65;margin-top:3px}
  .sopwabo9 i em{font-style:normal;color:#ff8a7a}
  .sopwabmati9{opacity:.45;cursor:not-allowed}
  .sopwabmati9:hover{border-color:#2f2b3d}
  .sopwabmati9 b{text-decoration:line-through;color:#8d86a0}
  .sopwabsh9{border-color:rgba(255,90,60,.35)}
  .sopwabsh9 b{color:#ff8a7a}
  .sopwabpk9 select{display:block;margin-top:7px;border:1px solid #2f2b3d;background:#0d0c14;border-radius:8px;padding:7px 9px;
    font-family:ui-monospace,Menlo,monospace;font-size:10px;color:#eaecf3;max-width:100%;color-scheme:dark}
  .sopwabpk9 select:focus{outline:none;border-color:#22d3ee}
  /* HISTORY · DI-ABORT */
  .sopabl9{display:flex;flex-direction:column;gap:5px;margin:8px 0 4px}
  .sopabr9{display:grid;grid-template-columns:40px 130px 1fr;gap:10px;align-items:center;padding:7px 10px;border-radius:9px;
    border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);font-family:ui-monospace,Menlo,monospace;font-size:9px;color:#c9c2da}
  .sopabt9{color:#6d6780;letter-spacing:.04em}
  .sopabs9{letter-spacing:.1em;color:#8d86a0}
  .sopabnyerah9 .sopabs9{color:#ff8a7a}.sopabganti9 .sopabs9{color:#22d3ee}.sopabsalah9 .sopabs9{color:#8d86a0}
  .sopabj9{color:#8d86a0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sopabj9 b{color:#e6e1f2;font-weight:400}
  @media(max-width:620px){.sopabr9{grid-template-columns:40px 1fr}.sopabj9{grid-column:1/-1;white-space:normal}}
  @media(max-width:620px){.sopwhdg9{grid-template-columns:repeat(7,1fr)}.sopwslot9{grid-template-columns:1fr 1fr}
    .sopwmis9{grid-template-columns:1fr}.sopwpm9{margin-left:0}.sopwmtr9{margin-left:0;text-align:left}}
  /* 📕 BUKU KELUARGA + UKURAN DINASTI (bon #42) */
  .sopbukuk9{width:min(720px,96vw)}
  .sopcard9[data-sopkrim9],.sopkc9[data-sopkrim9],.sopnsn9[data-sopkrim9]{cursor:pointer}
  .soprapt9{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
  .soprapm9{width:84px;height:100px;flex:none;border-radius:10px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(72% 60% at 50% 100%,color-mix(in srgb,var(--sc,#ffb020) 22%,transparent),transparent 74%);border:1px solid var(--line-2,#2a3040)}
  .soprapm9 svg,.soprapm9 .sopfoto9{height:96px}
  .soprapi9{flex:1;min-width:0}
  .soprapi9>b{display:block;font-size:20px;letter-spacing:.06em;color:#fff;font-weight:600}
  .soprapd9{margin-top:10px}
  .soprapd9>div:first-child{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.14em;color:#6d6780}
  .soprapd9>div:first-child b{color:#ff5a3c;font-weight:600;font-size:12px}
  .soprapdb9{height:9px;border-radius:99px;margin-top:5px;background:linear-gradient(90deg,rgba(255,90,60,.25),rgba(255,255,255,.04));overflow:hidden}
  .soprapdb9 i{display:block;height:100%;background:linear-gradient(90deg,#7a1a0f,#ff5a3c);box-shadow:0 0 12px #ff5a3c}
  .sopdin9{border:1px solid rgba(176,97,255,.35);border-radius:10px;padding:9px 12px 10px;margin-bottom:12px;background:rgba(176,97,255,.04)}
  .sopdinh9{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.18em;color:#b061ff;margin-bottom:6px}
  .sopdinh9 b{font-weight:600}.sopdinh9 span{color:#8d86a0;letter-spacing:.1em;font-size:7.5px}.sopdinh9 em{font-style:normal;color:#ff5a3c}
  .sopdinr9{display:flex;gap:5px;flex-wrap:wrap}
  .sopdinr9 .sopselc9.on{background:#b061ff;border-color:#b061ff;color:#000}
  .sopdin9 small{display:block;margin-top:7px;font-size:10px;color:#8d86a0;line-height:1.5}
  .soprapg9{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .soprapl9{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.2em;color:#6d6780;margin-bottom:6px}
  .soprapg9 .sopwriw9 div{grid-template-columns:30px 14px 1fr}
  .soprapg9 .sopwrwa9{white-space:normal;line-height:1.35}
  .soprapg9 .sopwrwa9 b{color:#fff}
  .sopbukuini9{background:rgba(255,255,255,.04);border-radius:6px}
  .sopbukukos9{opacity:.45}
  /* bon #42w — 📕 buku jadi PINTU: tombol kop, gene pool, baris anggota yang bisa diketok, ganti nama di tempat */
  .sopbktb9{flex:none;display:flex;flex-direction:column;gap:6px;align-items:stretch}
  .sopbktb9 .soppil9{justify-content:center;white-space:nowrap}
  .sopbkgp9{border:1px solid rgba(176,97,255,.32);border-radius:10px;padding:9px 11px 10px;margin-bottom:12px;background:linear-gradient(180deg,rgba(176,97,255,.07),rgba(176,97,255,.015))}
  .sopbkgph9{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:8px;font-family:"JetBrains Mono",monospace}
  .sopbkgph9 b{font-size:8.5px;letter-spacing:.16em;color:#d2b3ff}
  .sopbkgph9 span{font-size:7px;letter-spacing:.06em;color:#9d8fc0}
  .sopbkgph9 i{margin-left:auto;font-style:normal;font-size:7px;letter-spacing:.08em;color:#9d8fc0}
  .sopbkpool9{display:flex;gap:7px;flex-wrap:wrap;align-items:flex-start}
  .sopbkph9{position:relative;width:58px;height:70px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#241f2e,#15111d);display:grid;place-items:center}
  .sopbkph9 img{width:100%;height:100%;object-fit:cover;display:block}
  .sopbkph9 em{font-style:normal;font-size:15px;opacity:.6}
  .sopbkph9 i{position:absolute;left:3px;bottom:3px;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:6.5px;letter-spacing:.06em;color:#0d0518;background:#b061ff;padding:1px 4px;border-radius:4px}
  .sopbkph9 u{position:absolute;top:3px;right:3px;cursor:pointer;text-decoration:none;font-size:9px;line-height:1;padding:2px 4px;border-radius:5px;background:rgba(8,6,14,.75);color:#ff9d8a}
  .sopbkph9 u:hover{background:#ff5a3c;color:#0c0b10}
  .sopbkadd9{border-style:dashed;border-color:rgba(176,97,255,.5);color:#d2b3ff;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:center;font-family:"JetBrains Mono",monospace}
  .sopbkadd9 b{font-size:15px;line-height:1}
  .sopbkadd9 s{text-decoration:none;font-size:6.5px;letter-spacing:.06em;color:#9d8fc0;line-height:1.4}
  .sopbkadd9[data-seret9]{border-color:#b061ff;background:rgba(176,97,255,.14)}
  .sopbkgp9 small{display:block;margin-top:8px;font-size:9.5px;color:#8d86a0;line-height:1.55}
  .sopbka9{display:flex;flex-direction:column;gap:5px}
  .sopbkr9{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.015);cursor:pointer}
  .sopbkr9:hover{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.035)}
  .sopbkrd9{opacity:.75}
  .sopbkron9{border-color:color-mix(in srgb,var(--sc,#ffb020) 55%,transparent);background:color-mix(in srgb,var(--sc,#ffb020) 7%,transparent)}
  .sopbkg9{flex:none;width:30px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.06em;color:#8d86a0}
  .sopbkf9{flex:none;width:28px;height:34px;border-radius:6px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#241f2e,#15111d)}
  .sopbkf9 svg,.sopbkf9 .sopfoto9{height:32px}
  .sopbkrd9 .sopbkf9{filter:grayscale(1)}
  .sopbkt9{flex:1;min-width:0}
  .sopbkt9 b{display:block;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;color:#fff}
  .sopbkrd9 .sopbkt9 b{color:#b8b0c9;text-decoration:line-through;text-decoration-color:rgba(255,90,60,.55)}
  .sopbkt9 u{display:block;text-decoration:none;font-size:10px;color:#948da8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopbkd9{flex:none;display:flex;gap:4px;align-items:center}
  .sopbkd9 i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.1em;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.16);color:#a49cba;cursor:pointer;white-space:nowrap}
  .sopbkd9 i:hover{border-color:#22d3ee;color:#9beaf7}
  .sopbkd9 .sopbkakar9{border-color:rgba(255,210,58,.4);color:#ffd23a;cursor:default}
  .sopbkd9 .sopbkgo9{border-color:#22d3ee;color:#9beaf7;background:rgba(34,211,238,.1)}
  .sopbkkos9{border-style:dashed;cursor:default}
  .sopbkkos9 .sopbkt9 b{color:#6d6780;letter-spacing:.18em}
  .sopbksisa9{opacity:.6}
  .sopbkred9{border-color:#22d3ee;background:rgba(34,211,238,.06);cursor:default}
  .sopbkinp9{flex:1;min-width:0;display:flex}
  .sopbkinp9 input{width:100%;background:#0b0913;border:1px solid rgba(34,211,238,.5);border-radius:8px;padding:6px 9px;color:#fff;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;outline:0}
  .sopbkinp9 input.sopgagal9{border-color:#ff5a3c;animation:sopgoyang9 .3s}
  .sopbkft9{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
  .sopbkjmb9{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;border:1px solid rgba(176,97,255,.35);background:rgba(176,97,255,.05);cursor:pointer;margin-top:10px}
  .sopbkjmb9:hover{border-color:#b061ff;background:rgba(176,97,255,.1)}
  .sopbkjmb9 .e{flex:none;font-size:16px}
  .sopbkjmb9>div{flex:1;min-width:0}
  .sopbkjmb9 b{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;color:#fff}
  .sopbkjmb9 u{display:block;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.06em;color:#9d8fc0;margin-top:3px}
  .sopbkjmb9 i{flex:none;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.1em;color:#d2b3ff;border:1px solid rgba(176,97,255,.5);border-radius:6px;padding:4px 7px;white-space:nowrap}
  .sopmcwar9{border-style:dashed;opacity:.75}
  .sopmcwar9 i{position:absolute;left:3px;bottom:3px;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:6.5px;letter-spacing:.08em;color:#d2b3ff;background:rgba(58,52,80,.9);padding:1px 5px;border-radius:4px}
  @media(max-width:620px){.sopbktb9{flex-direction:row;flex-wrap:wrap}.sopbkd9 i{padding:4px 5px}}
  .soprapsay9{margin-top:12px;font-size:13px;color:#e6e1f2;font-style:italic;line-height:1.45;padding:10px 13px;border-radius:10px;border:1px solid rgba(255,90,60,.25);background:rgba(58,10,10,.35)}
  .soprapsay9 small{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.14em;color:#8d86a0;margin-top:5px}
  @media(max-width:620px){.soprapg9{grid-template-columns:1fr}}
  /* ══ S · STRIP SERAGAM + PALET SIANG (bon #22) ════════════════════════
     ⚠ Paletnya CSS, bukan generator kedua. Gedung, papan neon, ruko, sama
     lampunya dipake ULANG apa adanya dari `sopLorong9()` — yang diganti cuma
     ATMOSFERNYA. Bikin generator kedua buat siang itu dua mesin yang besok
     beda kelakuannya, dan bang Sam yang nangkep duluan: "ngapain buat svg
     baru buat yang night". */
  .sopstr9{position:relative;border-radius:14px;overflow:hidden;margin-bottom:11px;
    border:1px solid var(--line,#221c33);isolation:isolate;background:#07060d}
  /* ⚠ `.sopkota9` bawaannya `height:340px` — kalo dia dipake sebagai LATAR
     dia mesti dipaksa ngikut kotaknya, persis kaya yang udah dilakuin panggung
     ronde (`.soprpgg9 .sopkota9`). Tanpa `!important` tinggi bawaannya menang
     dan gangnya nongol setengah badan di luar strip. */
  .sopstr9 .sopstbg9{position:absolute;inset:0;height:100% !important;
    border-radius:0;z-index:1}
  .sopsth9{position:relative;z-index:4;display:flex;align-items:center;
    justify-content:space-between;padding:9px 13px 0;font-size:9.5px;letter-spacing:.19em}
  .sopsth9 b{font-weight:600;text-shadow:0 1px 8px #000}
  .sopsth9 span{font-family:ui-monospace,Menlo,monospace;font-size:9px;color:#efe8ff;
    text-shadow:0 1px 7px #000}
  .sopstl9{position:relative;z-index:4;display:flex;gap:11px;padding:10px 13px 14px;
    overflow-x:auto;min-height:186px;align-items:flex-end}
  .sopstl9:empty::after{content:"";display:block;height:150px}
  /* KOTAK SERAGAM — ukuran PERSIS SAMA buat dua kaum. Titah bang Sam:
     "fotonya sebesar yang si vilain, samain aja". */
  .sopstk9{flex:none;width:116px;cursor:pointer;user-select:none;border-radius:11px;
    overflow:hidden;background:rgba(6,5,12,.5);backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,.15);border-bottom:3px solid var(--pc,#6b6478);
    transition:transform .14s,box-shadow .14s}
  .sopstk9:hover{transform:translateY(-4px);box-shadow:0 12px 30px -12px var(--pc)}
  .sopstf9{display:block;position:relative;width:100%;height:126px;overflow:hidden;
    background:#12101c}
  .sopstf9 .sopfoto9{width:100% !important;height:100% !important;border-radius:0}
  .sopstf9 .sopfoto9 img{width:100%;height:100%;object-fit:cover}
  .sopstf9 svg{width:100%;height:100%;display:block}
  .sopstf9::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,transparent 48%,rgba(4,3,10,.85))}
  .sopstp9{position:absolute;left:5px;top:5px;z-index:2;font-size:11px;line-height:1;
    padding:2px 5px;border-radius:6px;background:rgba(4,3,10,.72);
    border:1px solid rgba(255,255,255,.2)}
  .sopstk9 b{display:block;font-size:10.5px;letter-spacing:.07em;padding:6px 7px 1px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e6e1f2}
  .sopstk9 em{display:block;font-style:normal;font-size:7.5px;letter-spacing:.14em;
    color:var(--pc);padding:0 7px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* ── PALET SIANG: cuma atmosfernya yang ditimpa ── */
  .sopsiang9 .soplangit9{background:linear-gradient(180deg,#8fd3ef 0%,#bfe3f2 34%,
    #ffe0b0 72%,#ffc98d 100%)}
  .sopsiang9 .sopufuk9{background:radial-gradient(66% 124% at 50% 100%,
    rgba(255,214,140,.42) 0%,rgba(255,180,120,.16) 42%,transparent 74%)}
  .sopsiang9 .sopbintang9{opacity:0}
  .sopsiang9 .sopbulan9{right:11%;top:9%;width:26px;height:26px;
    background:radial-gradient(circle at 40% 38%,#fffdf2,#ffe9a8 58%,#ffcf6a 100%);
    box-shadow:0 0 40px 14px rgba(255,236,170,.45)}
  .sopsiang9 .sopjalan9{background:linear-gradient(180deg,#6b6480 0 1px,#4a4560 1px,
    #35314a 46%,#2a2740 100%)}
  .sopsiang9 .sopkabut9{background:linear-gradient(180deg,rgba(255,236,200,0),
    rgba(255,236,200,.30) 46%,rgba(255,236,200,0))}
  /* siang = lampu mati: kilau jendela sama neon diredupin, hujan dicabut */
  .sopsiang9 .sopl1,.sopsiang9 .sopl2{filter:brightness(.62) saturate(.5)}
  /* papan tokonya TETEP ADA pas siang — cuma lampunya mati. Nyabut papannya
     bikin dua kota keliatan beda barang; ngeredupin bikin dia kebaca sebagai
     kota yang sama di jam yang beda. */
  .sopsiang9 .sopl3{filter:saturate(.34) brightness(.86)}
  .sopsiang9 .sopl3k,.sopsiang9 .sopsorot9{opacity:.10}
  .sopsiang9 .sophujan9{display:none}
  .sopsiang9 .sopredup9{opacity:0 !important;animation:none !important}
  /* ══ R · HISTORY · METER PER BARIS · DUA BILAH RESPECT (bon #22) ══════ */
  .sophist9{display:flex;flex-direction:column}
  .sopsep9{display:flex;align-items:center;gap:11px;margin:20px 0 2px}
  .sopsep9 i{flex:none;font-style:normal;font-size:10px;letter-spacing:.2em;font-weight:600;
    padding:3px 11px;border-radius:99px;color:var(--gc);
    background:color-mix(in srgb,var(--gc) 13%,transparent);
    border:1px solid color-mix(in srgb,var(--gc) 38%,transparent);
    box-shadow:0 0 16px -4px var(--gc)}
  .sopsep9 s{flex:1;height:1px;text-decoration:none;border-radius:99px;
    background:linear-gradient(90deg,var(--gc),transparent);box-shadow:0 0 9px -1px var(--gc)}
  .sopdftg29 .sopdfth9,.sopdftg39 .sopdfth9{display:none}
  .sopdrpud9{opacity:.55;filter:saturate(.55)}
  .sopdrpud9:hover{opacity:.9;filter:none}
  .sopdrmati9{opacity:.45;cursor:default;pointer-events:none}
  /* ⚡ POWER METER per baris — batangnya niru meter di layar ronde biar
     kebacanya sama di dua tempat. Yang mbedain tiap baris: ONGKOS TERMURAH
     yang beneran ada di baris itu, plus warnanya. */
  .sopdrpm9{flex:none;display:flex;align-items:center;gap:7px;padding-left:11px;
    border-left:1px solid rgba(255,255,255,.07)}
  .sopdrpb9{width:9px;height:42px;border-radius:99px;overflow:hidden;position:relative;
    background:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px var(--mc);
    display:flex;align-items:flex-end}
  .sopdrpb9 s{display:block;width:100%;text-decoration:none;border-radius:99px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--mc) 55%,#fff),var(--mc));
    box-shadow:0 0 10px -1px var(--mc)}
  .sopdrpt9{display:flex;flex-direction:column;gap:1px;line-height:1.15;min-width:74px}
  .sopdrpt9 u{text-decoration:none;font-size:7px;letter-spacing:.15em;color:#8d86a0}
  .sopdrpt9 b{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--mc)}
  .sopdrpt9 i{font-style:normal;font-size:8px;font-family:ui-monospace,Menlo,monospace;
    color:#8d86a0;letter-spacing:.04em}
  .sopdrpy9{color:#35d29b !important}
  .sopdrpn9{color:#ff5a3c !important}
  .sopdrpd9{position:relative;height:6px;border-radius:99px;
    background:linear-gradient(90deg,rgba(224,31,61,.5),rgba(107,100,120,.45) 50%,rgba(53,210,155,.5));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
  .sopdrpd9 i{position:absolute;top:50%;width:11px;height:11px;border-radius:50%;
    transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 8px currentColor,0 1px 4px #000}
  .sopdrpj9{display:block;height:4px;border-radius:99px;margin-top:5px;overflow:hidden;
    background:rgba(0,0,0,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
  .sopdrpj9 i{display:block;height:100%;border-radius:99px;
    background:linear-gradient(90deg,#12a8c8,#22e0ff);box-shadow:0 0 9px rgba(34,224,255,.55)}
  .sopdrbl9 em{font-style:normal;color:#8fe9ff;margin-left:5px}
  /* ══ W · WIDGET STREET OF PRETSIA (bon #20) ═══════════════════════════
     ⚠ PREFIKSNYA `sopstw9`, BUKAN `sopwg9` — nama itu UDAH KEPAKE
     buat kartu warga (baris ~876). Pagar tambalan yang nangkep sebelum dia
     ngendap; pelajaran bon #18, dan ini kali kedua dalam dua bon.
     Kulitnya sengaja TENANG — dia tinggal di The Screen bareng belasan
     kotak lain, jadi dia kaga boleh teriak. Yang teriak itu layar rondenya. */
  .sopstw9{display:flex;flex-direction:column;height:100%;gap:7px;min-height:0}
  .sopstw9h{flex:none;display:flex;align-items:center;justify-content:space-between;
    font-family:ui-monospace,Menlo,monospace;font-size:10px;letter-spacing:.1em}
  .sopstw9c{color:#8d86a0}
  .sopstw9p{cursor:pointer;user-select:none;color:#22e0ff;padding:2px 8px;border-radius:99px;
    border:1px solid rgba(34,224,255,.32);background:rgba(34,224,255,.07)}
  .sopstw9p:hover{background:#22e0ff;color:#04121a}
  .sopstw9l{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:5px}
  .sopstw9r{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;
    padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.06);border-left:2.5px solid var(--wc,#6b6478);
    transition:background .14s,transform .12s}
  .sopstw9r:hover{background:rgba(255,255,255,.075);transform:translateX(2px)}
  .sopstw9r.sopstw9k{background:rgba(255,90,60,.05);border-color:rgba(255,90,60,.14)}
  .sopstw9e{flex:none;font-size:16px;line-height:1}
  .sopstw9i{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .sopstw9n{font-size:11.5px;letter-spacing:.05em;color:#e6e1f2;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sopstw9n i{font-style:normal;margin-left:6px;font-size:8px;letter-spacing:.13em;
    color:var(--wc,#8d86a0)}
  .sopstw9t{font-size:10px;color:#8d86a0;white-space:nowrap;overflow:hidden;
    text-overflow:ellipsis}
  .sopstw9b{height:3px;border-radius:99px;overflow:hidden;margin-top:2px;
    background:rgba(0,0,0,.45)}
  .sopstw9b s{display:block;height:100%;text-decoration:none;border-radius:99px;
    transition:width .5s cubic-bezier(.16,1,.3,1)}
  .sopstw9v{flex:none;font-family:ui-monospace,Menlo,monospace;font-size:9.5px;
    text-align:right;min-width:64px}
  .sopstw9x{height:100%;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:6px;text-align:center;padding:14px;
    font-size:12px;color:#8d86a0;line-height:1.5}
  .sopstw9x b{display:block;color:#e6e1f2;font-size:13px;letter-spacing:.05em}
  .sopstw9x u{cursor:pointer;text-decoration:none;color:#22e0ff;font-size:10.5px;
    letter-spacing:.08em;padding:3px 10px;border-radius:99px;
    border:1px dashed rgba(34,224,255,.42)}
  .sopstw9x u:hover{background:#22e0ff;color:#04121a}
  /* ══ P6 · BLISS — bayaran buat nolongin orang baik ════════════════════
     Kriminal dapet kaca pecah sama layar goyang. Warga dapet cahaya anget.
     Semuanya animasi sekali-jalan + animationend buat beberes. Nol timer. */
  .sopbls9{position:absolute;inset:0;z-index:22;pointer-events:none;overflow:hidden}
  .sopblh9{position:absolute;left:50%;top:52%;width:22px;height:22px;border-radius:50%;
    transform:translate(-50%,-50%);border:2px solid rgba(255,225,150,.95);
    box-shadow:0 0 40px rgba(255,214,130,.9),inset 0 0 26px rgba(255,214,130,.55);
    animation:sopblh9 var(--bd,1.3s) cubic-bezier(.16,1,.3,1) forwards}
  @keyframes sopblh9{from{width:22px;height:22px;opacity:0}18%{opacity:1}
    to{width:var(--bs,520px);height:var(--bs,520px);opacity:0}}
  .sopblm9{position:absolute;inset:0;
    background:radial-gradient(52% 46% at 50% 52%,rgba(255,221,150,.42),transparent 68%);
    animation:sopblm9 var(--bd,1.3s) ease-out forwards}
  @keyframes sopblm9{0%{opacity:0}22%{opacity:1}100%{opacity:0}}
  .sopbls9 u{position:absolute;bottom:16%;width:5px;height:5px;border-radius:50%;
    text-decoration:none;background:#ffe6a3;box-shadow:0 0 12px 3px rgba(255,214,130,.85);
    animation:sopblk9 var(--sd,1.5s) cubic-bezier(.2,.7,.3,1) forwards}
  @keyframes sopblk9{0%{transform:translateY(0) scale(.3);opacity:0}14%{opacity:1}
    100%{transform:translateY(calc(-1 * var(--sy,190px))) scale(1.05);opacity:0}}
  .sopblw9{position:absolute;left:50%;top:34%;transform:translateX(-50%);text-align:center;
    animation:sopblw9 var(--bd,1.3s) cubic-bezier(.16,1,.3,1) forwards}
  @keyframes sopblw9{0%{opacity:0;transform:translateX(-50%) translateY(14px) scale(.86)}
    24%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
    100%{opacity:0;transform:translateX(-50%) translateY(-26px) scale(1.04)}}
  .sopblw9 b{display:block;font-size:clamp(22px,4vw,40px);letter-spacing:.1em;color:#fff;
    text-shadow:0 0 24px rgba(255,214,130,1),0 3px 12px #000}
  .sopblw9 em{display:block;font-style:normal;margin-top:3px;
    font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#ffe6a3;
    text-shadow:0 0 14px rgba(255,214,130,.9)}
  @media(prefers-reduced-motion:reduce){.sopblh9,.sopblm9,.sopbls9 u,.sopblw9{animation-duration:.01s}}
  /* ══ O3 · GRAFIK KEDALAMAN ════════════════════════════════════════════
     ⚠ z-index 3: DI ATAS wallpaper, DI BAWAH semua tulisan. Di mockup gua
     sempet naro dia di atas — kurvanya motong muka, angkanya nimpa pfp, dan
     yang kejadian persis kebalikan dari yang diminta: grafiknya ngalahin
     wallpaper. Dia LAPIS CAHAYA di antara keduanya, bukan lapis paling atas. */
  .sopgrf9{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;
    mix-blend-mode:screen;opacity:.82;animation:sopgin9 1s ease both}
  @keyframes sopgin9{from{opacity:0}to{opacity:.82}}
  .sopgb9{position:absolute;left:0;right:0;display:flex;align-items:flex-start;justify-content:flex-end}
  .sopgb9 u{text-decoration:none;font-size:6.5px;letter-spacing:.22em;padding:3px 84px 0 0;
    color:rgba(255,255,255,.20)}
  .sopgb19{background:linear-gradient(180deg,rgba(255,176,32,.055),transparent 62%)}
  .sopgb29{background:linear-gradient(180deg,rgba(34,224,255,.065),transparent 66%)}
  .sopgb39{background:linear-gradient(180deg,rgba(167,139,250,.07),transparent 66%)}
  .sopgb49{background:linear-gradient(180deg,rgba(224,64,180,.065),transparent 70%)}
  .sopgrf9 svg{position:absolute;inset:0;width:100%;height:100%}
  .sopgk9{fill:none;stroke:rgba(160,238,255,.62);stroke-width:1.3;stroke-linecap:round;
    vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:1000;
    filter:drop-shadow(0 0 5px rgba(143,233,255,.5)) drop-shadow(0 0 16px rgba(34,224,255,.28));
    animation-name:sopgbuka9;animation-timing-function:linear;animation-fill-mode:forwards}
  @keyframes sopgbuka9{to{stroke-dashoffset:0}}
  @media(prefers-reduced-motion:reduce){.sopgk9{animation:none;stroke-dashoffset:0}
    .sopgrf9{animation:none}}
  /* ══ O2 · POWER METER — batang tegak nempel kanan ═════════════════════ */
  /* ⚠ tingginya dijepit ke PANGGUNG, bukan ke kartu. `bottom:12px` bikin dia
     melar sampe ke bawah baris jurus — sebab induknya .soprndk9 (satu kartu
     penuh), bukan panggungnya. Persen/penjepit tanpa patokan yang bener itu
     jebakan yang sama kaya figur nembus atap di v11.37. */
  .soprmtr9{position:absolute;right:12px;top:12px;bottom:auto;width:66px;z-index:12;
    height:calc(clamp(190px,27vw,270px) - 24px);
    display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;user-select:none}
  .soprmtl9{flex:none;font-size:7px;letter-spacing:.15em;color:#22e0ff;text-align:center;
    line-height:1.4;text-shadow:0 0 10px rgba(34,224,255,.75)}
  .soprmbb9{flex:1;width:17px;min-height:40px;border-radius:99px;overflow:hidden;position:relative;
    background:rgba(0,0,0,.62);box-shadow:inset 0 0 0 1px rgba(34,224,255,.35)}
  .soprmbb9 s{position:absolute;left:0;right:0;bottom:0;text-decoration:none;
    background:linear-gradient(0deg,#12a8c8,#22e0ff 62%,#eaffff);
    box-shadow:0 0 16px rgba(34,224,255,.75)}
  /* ruas NYALA — menit yang lagi ngumpul. BEDA RUPA dengan sengaja: dia
     belom mendarat, jadi belom bisa dibelanjain. */
  .soprmlv9{position:absolute;left:0;right:0;text-decoration:none;height:var(--h0,0%);
    background:repeating-linear-gradient(180deg,rgba(255,214,130,.95) 0 3px,rgba(255,214,130,.42) 3px 6px);
    box-shadow:0 0 14px rgba(255,214,130,.85);
    animation-name:soprmnaik9;animation-timing-function:linear;animation-fill-mode:forwards}
  @keyframes soprmnaik9{from{height:var(--h0,0%)}to{height:var(--h1,0%)}}
  .soprmx9{flex:none;font-family:ui-monospace,Menlo,monospace;font-size:15px;font-weight:700;
    color:#eaffff;text-shadow:0 0 14px rgba(34,224,255,.9);line-height:1}
  .soprmx09{color:#4d4759;text-shadow:none}
  .soprmv9{flex:none;text-align:center;font-family:ui-monospace,Menlo,monospace;line-height:1.25}
  .soprmv9 b{display:block;font-size:12px;color:#eaffff}
  .soprmv9 i{font-style:normal;font-size:6.5px;letter-spacing:.11em;color:#5f8fa0}
  /* ⚠ TOMBOL UTAMA, DAN DIA KEKECILAN (bon #23 B5). Titah bang Sam: "MAKE IT
     FLASH ini kan tombol utama". Sebelumnya dia kotak 6,5px abu-biru nyempil
     di pojok — lebih kecil dari SAY HELLO, padahal dia satu-satunya pintu
     masuk zona. Sekarang dia padet, dan dia BERDENYUT pas nganggur. Pas
     sesinya lagi jalan denyutnya MATI: nagih orang yang lagi ngerjain itu
     nagih dua kali buat satu barang. */
  .soprmk9{flex:none;font-size:10px;font-weight:700;letter-spacing:.09em;text-align:center;
    color:#02222b;border:none;border-radius:8px;padding:8px 6px;line-height:1.35;
    background:linear-gradient(180deg,#8bf6ff,#22e0ff);width:100%;cursor:pointer;
    box-shadow:0 3px 0 #0d7fa8,0 0 22px rgba(34,224,255,.42);
    animation:soprkumd9 1.5s ease-in-out infinite}
  @keyframes soprkumd9{0%,100%{box-shadow:0 3px 0 #0d7fa8,0 0 20px rgba(34,224,255,.4);
      transform:none}
    50%{box-shadow:0 3px 0 #0d7fa8,0 0 40px rgba(34,224,255,.95);
      transform:translateY(-1px) scale(1.03)}}
  /* zona lagi jalan = berhenti nagih */
  .soprmzn9 .soprmk9{animation:none;background:linear-gradient(180deg,#dff7ff,#9fe6f5);
    box-shadow:0 2px 0 #12617e}
  .soprmtr9:hover .soprmk9{background:#22e0ff;color:#04121a;border-color:#22e0ff}
  .soprmtr9:hover .soprmbb9{box-shadow:inset 0 0 0 1px rgba(34,224,255,.95),0 0 20px rgba(34,224,255,.45)}
  .soprmks9 .soprmbb9{box-shadow:inset 0 0 0 1px rgba(255,90,60,.9);animation:soprkdp9 1.1s ease-in-out infinite}
  .soprmks9 .soprmk9{border-color:#ff5a3c;color:#ff9d5c;background:rgba(255,90,60,.12);
    animation:soprkdp9 1.1s ease-in-out infinite}
  @keyframes soprkdp9{0%,100%{opacity:1}50%{opacity:.5}}
  @media(prefers-reduced-motion:reduce){.soprmks9 .soprmbb9,.soprmks9 .soprmk9,.soprmlv9{animation:none}}
  @media(max-width:620px){.soprmtr9{position:static;width:auto;flex-direction:row;align-items:center;
    margin:10px 12px 0;gap:8px}
    .soprmbb9{flex:1;width:auto;height:14px;min-height:0}
    .soprmbb9 s{left:0;top:0;bottom:0;right:auto;width:var(--w,0);height:auto}
    .soprmk9{width:auto;padding:5px 9px}}
  .soprbarB9 s{background:repeating-linear-gradient(90deg,#22e0ff 0 5px,#12a8c8 5px 6px)}
  .soprbarB9[data-soprhp9] s{background:repeating-linear-gradient(90deg,#22e0ff 0 5px,#12a8c8 5px 6px)}
  .soprbar29 s{display:block;height:100%;text-decoration:none;
    background:linear-gradient(90deg,#e01f3d,#ff5a6e)}
  .soprnum9{margin-top:5px;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--ink-2);text-align:right}
  .soprnum9 em{font-style:normal;font-size:8.5px;letter-spacing:.1em;color:var(--low)}
  .soprsay9{border-top:2px solid #2a1c4a;padding:12px 14px 14px;
    background:linear-gradient(180deg,rgba(9,8,14,.9),rgba(6,5,10,.98))}
  .soprsayt9{font-size:12.5px;color:var(--ink-2);margin-bottom:10px}
  .soprsayt9 b{color:var(--ink);font-weight:400}
  .soprbtn9{display:flex;gap:8px;flex-wrap:wrap}
  .soprb9{cursor:pointer;user-select:none;font-size:10.5px;letter-spacing:.14em;
    padding:10px 16px;border-radius:7px;border:2px solid #000;color:#1a0a14;
    box-shadow:0 4px 0 #1c1430,inset 0 1px 0 rgba(255,255,255,.3);transition:transform .07s,box-shadow .07s}
  .soprb9:active{transform:translateY(3px);box-shadow:0 1px 0 #1c1430}
  .soprbF9{background:linear-gradient(180deg,#ff8fc0,#ff2e88)}
  .soprbR9{background:linear-gradient(180deg,#7fd0ff,#2e9bff)}
  .soprbK9{background:linear-gradient(180deg,#ffd88f,#ff8a1f)}
  .soprbT9{background:linear-gradient(180deg,#bdb2a0,#8d8271);margin-left:auto}
  .soprbmati9{filter:grayscale(1) brightness(.55);cursor:not-allowed;box-shadow:0 4px 0 #14121a}
  .soprhint9{margin-top:9px;font-size:9.5px;letter-spacing:.08em;color:var(--low)}
  /* kotak pilihan di layar ronde: NTAR2AN (kabur ke mana) sama CONVERT
     (sisa alokasi mau dipindah ke mana). Dua-duanya baris pil, satu ketokan. */
  .soprntr9{margin-top:11px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;
    padding:9px 10px;border-radius:9px;border:1px dashed var(--line-2,#2a3040);
    background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
  .soprkvw9{border-color:rgba(53,210,155,.28);
    background:linear-gradient(180deg,rgba(53,210,155,.06),transparent)}
  .soprntrl9{flex:0 0 100%;font-size:8.5px;letter-spacing:.14em;color:var(--low);margin-bottom:2px}
  .soprpil9{cursor:pointer;user-select:none;font-size:10px;letter-spacing:.1em;
    border:1px solid var(--line-2,#2a3040);border-radius:999px;padding:4px 11px;color:var(--ink-2);
    transition:background .15s,color .15s,border-color .15s}
  .soprpil9:hover{background:var(--ink-2);color:#0c0b10;border-color:var(--ink-2)}
  .soprkvw9 .soprpil9{border-color:rgba(53,210,155,.4);color:#8ee9c6}
  .soprkvw9 .soprpil9:hover{background:#35d29b;color:#05130d;border-color:#35d29b}
  .soprkos9{font-size:10px;color:var(--low)}
  /* v11.36 ⚖ LEMBAR ATUR DARAH — dua arah, plus riwayatnya. */
  .sopatr9{position:fixed;inset:0;z-index:960;display:grid;place-items:center;padding:16px;
    background:rgba(4,3,8,.9);backdrop-filter:blur(7px);animation:soprndin9 .22s ease-out both}
  .sopatrk9{width:min(560px,96vw);max-height:88vh;overflow:auto;border-radius:14px;
    border:2px solid #2a1c4a;padding:16px 18px 18px;
    background:linear-gradient(180deg,#151222,#0a0910);
    box-shadow:0 30px 90px -40px #000;animation:soprndup9 .3s cubic-bezier(.16,1,.3,1) both}
  .sopatrh9{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
  .sopatrh9 b{font-size:13px;letter-spacing:.14em;color:var(--ink)}
  .sopatrh9 span{flex:1;font-size:9.5px;letter-spacing:.12em;color:var(--low)}
  .sopatrh9 u{text-decoration:none;cursor:pointer;color:var(--low);font-size:14px;padding:0 4px}
  .sopatrh9 u:hover{color:#ff5a3c}
  .sopatrnow9{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
  .sopatrnow9 span{flex:1 1 110px;display:flex;flex-direction:column;gap:2px;
    border:1px solid var(--line-2,#2a3040);border-radius:9px;padding:8px 10px;
    background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
  .sopatrnow9 em{font-style:normal;font-size:8px;letter-spacing:.14em;color:var(--low)}
  .sopatrnow9 b{font-size:17px;color:var(--ink);font-weight:400;white-space:nowrap}
  .sopatrnow9 span{white-space:nowrap;overflow:hidden}
  .sopatrq9{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
  .sopatrcol9{flex:1 1 210px;display:flex;flex-wrap:wrap;gap:5px}
  .sopatrc9{cursor:pointer;user-select:none;font-size:11px;letter-spacing:.06em;
    border-radius:7px;padding:8px 12px;border:2px solid #000;color:#12100a;
    box-shadow:0 3px 0 rgba(0,0,0,.55);transition:transform .07s,box-shadow .07s}
  .sopatrc9:active{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.55)}
  .sopatrp9{background:linear-gradient(180deg,#8ee9c6,#35d29b)}
  .sopatrm9{background:linear-gradient(180deg,#ffb0a2,#ff6a4d)}
  .sopatrkt9{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:14px;
    padding:10px;border-radius:9px;border:1px dashed var(--line-2,#2a3040)}
  .sopatrkt9 input{flex:1;min-width:110px;background:rgba(8,10,17,.7);
    border:1px solid var(--line,#2a3040);border-radius:7px;color:var(--ink);
    padding:8px 10px;font:inherit;font-size:13px}
  .sopatrkt9 input:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,177,61,.1)}
  .sopatrgo9{cursor:pointer;user-select:none;font-size:10px;letter-spacing:.14em;
    border-radius:7px;padding:9px 15px;border:2px solid #000;color:#12100a;
    background:linear-gradient(180deg,#ffd88f,#ff8a1f);box-shadow:0 3px 0 #8a3a05}
  .sopatrgo9:active{transform:translateY(2px);box-shadow:0 1px 0 #8a3a05}
  .sopatrhs9{display:flex;flex-direction:column;gap:4px}
  .sopatrkos9{font-size:11px;color:var(--low);padding:8px 2px}
  .sopatrr9{display:flex;align-items:center;gap:10px;font-size:11.5px;
    padding:7px 10px;border-radius:7px;border-left:3px solid #35d29b;
    background:linear-gradient(90deg,rgba(53,210,155,.08),transparent 60%)}
  .sopatrrm9{border-left-color:#ff6a4d;
    background:linear-gradient(90deg,rgba(255,106,77,.08),transparent 60%)}
  .sopatrrd9{flex:none;width:66px;font-family:ui-monospace,Menlo,monospace;color:var(--ink)}
  .sopatrrj9{flex:1;color:var(--ink-2)}
  .sopatrrt9{flex:none;font-size:9px;letter-spacing:.1em;color:var(--low)}
  @media(prefers-reduced-motion:reduce){.sopatr9,.sopatrk9{animation:none}}
  /* v11.35 ⚡ JURUS — tombol gede sebaris, nyala kalo dompet lu cukup. */
  .soprlap9{margin-top:5px;font-size:9px;letter-spacing:.12em;color:#ffd23a;text-align:right}
  .soprlap9 b{font-size:12px}
  .soprlap9 em{font-style:normal;color:var(--low);letter-spacing:.08em}
  .soprjrs9{margin-top:11px;display:flex;flex-wrap:wrap;gap:7px;
    padding:10px;border-radius:9px;border:1px solid rgba(255,46,136,.22);
    background:linear-gradient(180deg,rgba(255,46,136,.06),transparent)}
  .soprj9{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;cursor:pointer;user-select:none;
    padding:9px 11px;border-radius:7px;border:2px solid #000;color:#2a0512;
    background:linear-gradient(180deg,#ffb9d8,#ff2e88);
    box-shadow:0 4px 0 #7a1040,inset 0 1px 0 rgba(255,255,255,.4);
    transition:transform .07s,box-shadow .07s}
  .soprj9:active{transform:translateY(3px);box-shadow:0 1px 0 #7a1040}
  .soprj9 b{font-size:10.5px;letter-spacing:.1em;font-weight:700}
  .soprj9 i{font-style:normal;font-size:8.5px;letter-spacing:.08em;opacity:.8}
  .soprjmati9{filter:grayscale(1) brightness(.5);cursor:not-allowed;box-shadow:0 4px 0 #14121a}
  .soprbsiap9{animation:soprsiap9k 1.1s ease-in-out infinite}
  @keyframes soprsiap9k{0%,100%{box-shadow:0 4px 0 #8a3a05,inset 0 1px 0 rgba(255,255,255,.4),0 0 0 0 rgba(255,138,31,.6)}
    50%{box-shadow:0 4px 0 #8a3a05,inset 0 1px 0 rgba(255,255,255,.4),0 0 0 9px rgba(255,138,31,0)}}
  /* JEBRET — layar goyang + kilat + angka nyembur. Sekali jalan, beres sendiri. */
  .soprgoy9{animation:soprgoy9k .34s cubic-bezier(.36,.07,.19,.97)}
  @keyframes soprgoy9k{10%,90%{transform:translateX(-4px)}20%,80%{transform:translateX(6px)}
    30%,50%,70%{transform:translateX(-9px)}40%,60%{transform:translateX(9px)}}
  .soprjbr9{position:absolute;inset:0;z-index:60;display:grid;place-items:center;
    pointer-events:none;text-align:center;
    background:radial-gradient(ellipse 60% 50% at 50% 45%,rgba(255,46,136,.30),transparent 70%);
    animation:soprjbr9k .72s cubic-bezier(.16,1,.3,1) forwards}
  @keyframes soprjbr9k{0%{opacity:0}12%{opacity:1}70%{opacity:1}100%{opacity:0}}
  .soprjbr9 b{display:block;font-size:clamp(20px,4.6vw,46px);letter-spacing:.05em;color:#fff;
    -webkit-text-stroke:4px #ff2e88;paint-order:stroke fill;
    text-shadow:0 6px 0 #6a0a30,0 0 40px rgba(255,46,136,.8);
    animation:soprjbrb9k .72s cubic-bezier(.2,1.4,.4,1) forwards}
  @keyframes soprjbrb9k{0%{transform:scale(2.4) rotate(-8deg);filter:blur(9px)}
    22%{transform:scale(1) rotate(-4deg);filter:blur(0)}100%{transform:scale(1.06) rotate(-4deg)}}
  .soprjbr9 u{display:block;margin-top:6px;text-decoration:none;font-size:clamp(11px,1.8vw,17px);
    letter-spacing:.2em;color:#ffd23a;text-shadow:0 2px 0 #7a1030}
  @media(prefers-reduced-motion:reduce){.soprgoy9,.soprjbr9,.soprjbr9 b,.soprbsiap9{animation:none}}
  @media(max-width:620px){.soprplA9,.soprplB9{position:static;min-width:0;margin:10px 12px 0}
    .soprpu9{right:0}
    .soprbT9{margin-left:0}}
  @media(prefers-reduced-motion:reduce){.soprnd9,.soprndk9{animation:none}.soprbar19 s{transition:none}}
  @media(max-width:560px){.sopdrbw9{display:none}.sopdrk9{padding:5px 8px}
    .sopdrst9{font-size:9px}}
  /* v11.31 🤝 blok WARGA di manager — satu baris satu orang, semuanya bisa
     diketok: nama diganti, kaum dituker, atau dipensiunin. */
  .sopmwg9{border:1px dashed rgba(211,189,145,.22);border-radius:10px;padding:11px;
    display:flex;flex-direction:column;gap:9px;
    background:linear-gradient(180deg,rgba(211,189,145,.05),transparent)}
  .sopmwgh9{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .sopmwgh9 b{font-size:11px;letter-spacing:.14em}
  .sopmwgh9 span{font-size:9px;letter-spacing:.1em;color:var(--low)}
  .sopmwgk9{font-size:11px;line-height:1.7;color:var(--low)}
  .sopmwgk9 i{font-style:normal;color:#35d29b}
  .sopmwl9{display:flex;flex-wrap:wrap;gap:6px}
  .sopmwr9{display:inline-flex;align-items:center;gap:6px;font-size:11px;
    border:1px solid var(--sc,#35d29b);border-radius:999px;padding:2px 8px 2px 3px;
    background:rgba(255,255,255,.02)}
  .sopmwr9 .sopmws9 svg,.sopmwr9 .sopmws9 .sopfoto9{display:block}
  .sopmwn9{font-weight:400;cursor:pointer;color:var(--ink);border-bottom:1px dotted rgba(255,255,255,.25)}
  .sopmwn9:hover{color:var(--sc,#35d29b)}
  .sopmwt9{font-style:normal;font-size:9.5px;color:var(--low);font-family:ui-monospace,Menlo,monospace}
  .sopmwr9 u,.sopmwr9 em{text-decoration:none;font-style:normal;cursor:pointer;color:var(--low);padding:0 2px}
  .sopmwr9 u:hover{color:#22e6ff}
  .sopmwr9 em:hover{color:#ff5a3c}
  /* v11.31 🚶 TROTOAR — warga berdiri DI DEPAN gang, cahaya beda, kaga bisa
     dipukul. Gang kosong + trotoar rame = kaga ada kejahatan hari ini, tapi
     ada orang yang masih nunggu lu. Cahayanya HANGAT dari bawah — kebalikan
     kerucut sodium di gang yang nyorot dari atas. */
  .soptrt9{position:relative;display:flex;align-items:flex-end;justify-content:center;
    gap:clamp(6px,1.6vw,18px);flex-wrap:wrap;
    margin-top:-14px;padding:16px clamp(8px,2vw,20px) 12px;
    border-radius:0 0 12px 12px;
    background:linear-gradient(180deg,transparent,rgba(201,189,166,.055) 45%,rgba(201,189,166,.10));
    box-shadow:inset 0 -1px 0 rgba(201,189,166,.16)}
  .soptw9{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;
    filter:brightness(var(--wt,1));cursor:default;
    animation:soptwtrb9 .55s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s)}
  @keyframes soptwtrb9{from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:none}}
  .soptw9 svg,.soptw9 .sopfoto9{display:block;
    filter:drop-shadow(0 -2px 10px rgba(201,189,166,.22))}
  /* yang udah lega mbelakangin — balik ngurus urusannya sendiri. Satu flip. */
  .soptbalik9 svg,.soptbalik9 .sopfoto9{transform:scaleX(-1);opacity:.72}
  .soptwn9{font-size:8px;letter-spacing:.1em;color:var(--wd,#d3bd91);white-space:nowrap;
    max-width:74px;overflow:hidden;text-overflow:ellipsis;opacity:.9}
  @media(prefers-reduced-motion:reduce){.soptw9{animation:none}}
  /* v11.29 🎞 MUKA FOTO — kolam kecil kaga boleh kebaca kaya app-nya kehabisan
     aset. Foto boleh sama; yang DIBEDAIN perlakuannya: tinta duotone per kasta,
     potongan digeser, terangnya digeser. Semuanya diturunin dari id, jadi tetep
     sama di dua device. */
  .sopfoto9{position:relative;display:block;overflow:hidden;border-radius:3px;
    background:#0b0910;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 3px 10px -6px #000}
  .sopfoto9 img{display:block;width:100%;height:100%;object-fit:cover;
    object-position:var(--fx,50%) 26%;
    filter:grayscale(1) contrast(1.16) brightness(var(--fb,.85))}
  .sopfoto9::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:var(--fk,#8b8098);mix-blend-mode:color;opacity:.5}
  .sopfoto9::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);
    opacity:.5}
  /* v11.25 ⚔ RONDE STRIP — papan nyawa ala game tarung, NEMPEL DI PANGGUNG.
     Bloknya dimiringin (skew) biar kebaca sebagai bilah tenaga, bukan tabel. */
  .sopronde9{position:absolute;left:0;right:0;top:0;z-index:10;pointer-events:none;
    padding:9px clamp(8px,2vw,16px) 12px;
    background:linear-gradient(180deg,rgba(4,3,10,.88) 0%,rgba(4,3,10,.62) 62%,transparent 100%)}
  .soprh9{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .soprnm9{font-size:clamp(11px,1.5vw,15px);letter-spacing:.16em;color:#fff;
    text-shadow:0 0 3px #fff,0 0 15px var(--sc,#ffb020),0 0 38px var(--sc,#ffb020)}
  .soprks9{font-size:8.5px;letter-spacing:.2em;color:var(--sc,#ffb020)}
  .soprsisa9{margin-left:auto;font-size:8.5px;letter-spacing:.14em;color:#8fa0bf}
  .soprbar9{display:flex;gap:2px;margin-top:7px;height:clamp(15px,1.9vw,21px);
    padding:2px;border-radius:3px;background:rgba(3,4,10,.55);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.07), 0 6px 18px -8px #000}
  .soprbar9 i{flex:1 1 0;min-width:0;transform:skewX(-13deg);border-radius:1px;position:relative;overflow:hidden}
  /* BELOM dibayar kerja — kaca kosong, gelap */
  .soprbar9 i[data-s="belom"]{background:linear-gradient(180deg,rgba(126,142,178,.20),rgba(12,14,24,.62));
    box-shadow:inset 0 0 0 1px rgba(150,170,210,.32), 0 1px 0 rgba(0,0,0,.6)}
  .soprbar9 i[data-s="belom"]::after{content:"";position:absolute;inset:0;
    background:linear-gradient(118deg,transparent 0 46%,rgba(190,210,245,.13) 46% 52%,transparent 52%)}
  /* SIAP — udah dibayar menit beneran: nyala, panas, DAN retak */
  .soprbar9 i[data-s="siap"]{background:linear-gradient(180deg,#fff2c8 0%,#ffb020 26%,#ff5a3c 74%,#a01d0d 100%);
    box-shadow:0 0 9px -1px rgba(255,140,60,.9), inset 0 0 0 1px rgba(255,240,200,.5)}
  .soprbar9 i[data-s="siap"]::after{content:"";position:absolute;inset:0;
    background:linear-gradient(118deg,transparent 0 42%,rgba(10,4,2,.75) 42% 45%,transparent 45% 63%,
      rgba(10,4,2,.6) 63% 65%,transparent 65%)}
  .soprft9{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
    margin-top:6px;font-size:8.5px;letter-spacing:.16em;color:#8fa0bf}
  .soprft9 b{color:var(--sc,#ffb020);font-weight:400}
  /* 💥 GAPLOK — pestanya. Kaga satu pun dari ini nyentuh angka. */
  /* ⚠ BILAHNYA WAJIB BISA DISENTUH. Papannya sengaja tembus (pointer-events:none)
     biar petarung di bawahnya masih keketok — tapi bilah ronde itu satu-satunya
     barang di papan yang emang buat DIKETOK, jadi dia dibalikin. Tanpa baris ini
     gaplok jalan di uji tapi MATI TOTAL di jari beneran (`el.click()` ngirim
     kejadian langsung, dia kaga pernah nguji sentuhan). */
  .soprbar9{position:relative;pointer-events:auto}
  .soprbar9 i[data-s="siap"]{cursor:crosshair}
  .soprbar9 i[data-s="pecah"]{background:linear-gradient(180deg,rgba(72,26,18,.55),rgba(9,6,12,.9));
    box-shadow:inset 0 0 0 1px rgba(255,120,80,.3)}
  .soprbar9 i[data-s="pecah"]::after{content:"";position:absolute;inset:0;
    background:linear-gradient(118deg,transparent 0 28%,rgba(255,150,110,.55) 28% 31%,transparent 31% 47%,
      rgba(255,150,110,.4) 47% 49%,transparent 49% 69%,rgba(255,150,110,.5) 69% 71%,transparent 71%)}
  .soppcah9{position:absolute;width:0;height:0;pointer-events:none;z-index:3;
    animation:sopbuang9 .84s linear forwards}
  @keyframes sopbuang9{0%,99%{opacity:1}100%{opacity:1}}
  .soppcah9 u{position:absolute;left:-27px;top:-27px;width:54px;height:54px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,244,214,.95) 0%,rgba(255,132,64,.55) 38%,transparent 70%);
    animation:sopkilat9 .36s ease-out forwards}
  @keyframes sopkilat9{0%{transform:scale(.18);opacity:1}100%{transform:scale(2);opacity:0}}
  .soppcah9 b{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:1px;
    box-shadow:0 0 8px -1px rgba(255,150,80,.95);
    background:linear-gradient(160deg,#fff4d6,#ff7a3c 60%,#a6260f);
    animation:sopserpih9 .66s cubic-bezier(.18,.72,.3,1) forwards}
  @keyframes sopserpih9{
    0%{transform:translate(0,0) rotate(0deg) scale(1.1);opacity:1}
    100%{transform:translate(var(--dx,0),var(--dy,0)) rotate(var(--rot,0deg)) scale(.15);opacity:0}}
  .sopangka9{position:absolute;top:-6px;pointer-events:none;z-index:4;white-space:nowrap;
    font-size:clamp(12px,1.5vw,17px);font-weight:700;letter-spacing:.04em;color:#fff6dc;
    text-shadow:0 0 7px #ff9a4c,0 0 22px rgba(255,90,60,.85);
    animation:soptrbg9 .82s cubic-bezier(.2,.8,.3,1) forwards}
  @keyframes soptrbg9{
    0%{transform:translate(-50%,4px) scale(.55);opacity:0}
    20%{transform:translate(-50%,-9px) scale(1.3);opacity:1}
    100%{transform:translate(-50%,-46px) scale(1);opacity:0}}
  /* BEKU 90ms itu ruas pertama keyframe-nya — 14% dari 640ms. Bekunya yang
     bikin pukulannya punya bobot; tanpa itu dia cuma kedip. */
  @keyframes sopgoyang9{
    0%,14%{transform:translate3d(0,0,0)}
    19%{transform:translate3d(-6px,2px,0)}
    28%{transform:translate3d(5px,-3px,0)}
    39%{transform:translate3d(-4px,-1px,0)}
    52%{transform:translate3d(3px,2px,0)}
    68%{transform:translate3d(-2px,0,0)}
    100%{transform:translate3d(0,0,0)}}
  @keyframes sopgoyanggede9{
    0%,20%{transform:translate3d(0,0,0) scale(1.012)}
    26%{transform:translate3d(-13px,5px,0) scale(1.012)}
    36%{transform:translate3d(11px,-7px,0) scale(1.01)}
    48%{transform:translate3d(-8px,-3px,0) scale(1.008)}
    62%{transform:translate3d(6px,4px,0) scale(1.004)}
    78%{transform:translate3d(-3px,0,0) scale(1)}
    100%{transform:translate3d(0,0,0) scale(1)}}
  .sopjeger9{animation:sopgoyang9 .64s cubic-bezier(.3,.7,.4,1)}
  .sopjegergede9{animation:sopgoyanggede9 .82s cubic-bezier(.3,.7,.4,1)}
  .sopkilau9{left:0;right:0;top:0;bottom:0;z-index:11;opacity:0;mix-blend-mode:screen;
    background:radial-gradient(78% 52% at 50% 16%,rgba(255,236,198,.75),rgba(255,132,60,.3) 42%,transparent 68%)}
  .sopkilau9[data-jder="1"]{animation:sopjder9 .26s cubic-bezier(.1,.8,.3,1) forwards}
  /* mukul terus NGACIR: puncaknya cuma sekejap, sisanya buru-buru ilang.
     Kilat yang betah nongkrong itu bukan tinju, itu lampu sorot — dan lampu
     sorot nutupin barang yang mestinya dipamerin. */
  @keyframes sopjder9{0%{opacity:.62}18%{opacity:.42}100%{opacity:0}}
  /* ☠ FINAL BLOW — upacaranya. Cincinnya MESIN (liat kepala patch). */
  .sopfbw9{margin-top:9px}
  .sopfb9{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;
    padding:7px 15px 7px 9px;border-radius:999px;user-select:none;-webkit-user-select:none;
    touch-action:none;border:1px solid rgba(255,90,60,.55);
    background:linear-gradient(180deg,rgba(52,12,8,.85),rgba(16,5,10,.85));
    box-shadow:0 0 22px -8px rgba(255,90,60,.9)}
  .sopfb9:hover{border-color:rgba(255,140,90,.9)}
  .sopfb9 svg{width:26px;height:26px;display:block;flex:0 0 auto}
  .sopfbbg9{fill:none;stroke:rgba(255,255,255,.14);stroke-width:3.4}
  .sopfbisi9{fill:none;stroke:#ff6a3c;stroke-width:3.4;stroke-linecap:round;
    stroke-dasharray:106.8;stroke-dashoffset:106.8;
    transform:rotate(-90deg);transform-origin:50% 50%}
  .sopfb9[data-tahan="1"] .sopfbisi9{animation:sopisi9 3s linear forwards}
  @keyframes sopisi9{to{stroke-dashoffset:0}}
  .sopfb9>span{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
  .sopfb9 b{font-size:10.5px;letter-spacing:.2em;color:#ffd9c8;font-weight:700;line-height:1.1}
  .sopfb9 u{text-decoration:none;font-size:8px;letter-spacing:.16em;color:#8fa0bf}
  .sopfb9[data-tahan="1"]{border-color:#ff6a3c;box-shadow:0 0 34px -6px rgba(255,90,60,1)}
  .sopredup9{left:0;right:0;top:0;bottom:0;z-index:9;opacity:0;background:#04030a}
  .sopkota9[data-tahan="1"] .sopredup9{animation:sopredup9 3s ease-out forwards}
  @keyframes sopredup9{0%{opacity:0}100%{opacity:.72}}
  .sopvonis9{position:absolute;left:0;right:0;top:38%;z-index:12;text-align:center;
    pointer-events:none;animation:sopvns9 1.9s cubic-bezier(.15,.9,.25,1) forwards}
  .sopvonis9 b{display:block;font-size:clamp(26px,5.4vw,64px);font-weight:800;letter-spacing:.16em;
    color:#fff;text-shadow:0 0 6px #fff,0 0 26px var(--vc,#ff5a3c),0 0 70px var(--vc,#ff5a3c)}
  .sopvonis9 u{display:block;text-decoration:none;margin-top:8px;font-size:9px;
    letter-spacing:.24em;color:#cfd8ea}
  .sopvonis9[data-k="fatality"]{--vc:#ff2e88}
  .sopvonis9[data-k="flawless"]{--vc:#22e6ff}
  .sopvonis9[data-k="ko"]{--vc:#ffb020}
  @keyframes sopvns9{
    0%{transform:scale(2.4) rotate(-4deg);opacity:0;filter:blur(9px)}
    9%{transform:scale(1) rotate(0deg);opacity:1;filter:blur(0)}
    12%{transform:scale(1.07)}
    16%{transform:scale(1)}
    74%{opacity:1}
    100%{transform:scale(1.02);opacity:0}}
  /* ☠ WASTED (P4, bon #6) — upacara pas task beneran ketutup dari jalanan.
     NOL TIMER: tiap lapis satu animasi CSS sekali-jalan, `animationend` di
     lapis induk yang jadi jam sekaligus tukang beres-beres. */
  .sopwst9{position:absolute;left:0;right:0;top:0;bottom:0;z-index:20;overflow:hidden;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:clamp(3px,.9vw,12px);pointer-events:none;
    animation:sopwst9k 3.6s linear forwards}
  @keyframes sopwst9k{0%{opacity:1}87%{opacity:1}100%{opacity:0}}
  /* Warnanya dicabut dari yang ADA DI BELAKANG, bukan dari kotaknya sendiri —
     jadi lorongnya keliatan MATI, bukan ketutup kain. */
  /* Warnanya dicabut dari yang ADA DI BELAKANG, bukan dari kotaknya sendiri —
     jadi lorongnya keliatan MATI, bukan ketutup kain. Vignette radial buat
     nyorot tengah, PLUS jepitan atas-bawah biar strip ronde sama tombolnya
     ikut tenggelam — tanpa itu HUD-nya tetep nyala di pucuk dan upacaranya
     kebaca kaya stiker yang ditempel di atas halaman yang masih idup. */
  .sopwstkabut9{position:absolute;left:0;right:0;top:0;bottom:0;
    -webkit-backdrop-filter:grayscale(1) contrast(1.2) brightness(.38);
    backdrop-filter:grayscale(1) contrast(1.2) brightness(.38);
    background:radial-gradient(ellipse 74% 62% at 50% 47%,
      rgba(126,12,6,.34) 0%,rgba(10,2,4,.6) 45%,rgba(2,1,3,.95) 100%),
      linear-gradient(180deg,rgba(2,1,3,.93) 0%,rgba(2,1,3,.2) 24%,
      rgba(2,1,3,.2) 70%,rgba(2,1,3,.93) 100%);
    animation:sopwstkbt9 3.6s cubic-bezier(.2,.8,.2,1) forwards}
  @keyframes sopwstkbt9{0%{opacity:0}16%{opacity:1}87%{opacity:1}100%{opacity:0}}
  /* ⚠ SEMUA transform nangkring di INDUK. Dua lapis huruf (badan + sinar)
     yang di-transform sendiri-sendiri bakal geser pas ada pantulan skala, dan
     geser satu piksel di huruf setinggi 100px itu keliatan banget. */
  .sopwstw9{position:relative;z-index:2;display:inline-block;max-width:97%;
    animation:sopwstw9k 3.6s cubic-bezier(.13,.9,.2,1) forwards}
  @keyframes sopwstw9k{0%{transform:scale(2.6)}15%{transform:scale(1)}
    19%{transform:scale(1.035)}26%{transform:scale(1)}100%{transform:scale(1.04)}}
  .sopwstw9 i,.sopwstw9 u{display:block;font-style:normal;text-decoration:none;
    font-weight:400;font-family:"Times New Roman",Times,Georgia,serif;
    font-size:clamp(32px,9.6vw,118px);line-height:.96;letter-spacing:.06em;
    white-space:nowrap}
  .sopwstw9 i{color:#efe7d8;
    text-shadow:0 1px 0 #7b1109,0 0 3px rgba(255,240,220,.85),
      0 0 30px rgba(255,72,40,.55),0 0 92px rgba(255,40,20,.45);
    animation:sopwsttx9 3.6s cubic-bezier(.13,.9,.2,1) forwards}
  @keyframes sopwsttx9{
    0%{letter-spacing:.5em;filter:blur(16px);opacity:0}
    15%{letter-spacing:.06em;filter:blur(0);opacity:1}
    85%{opacity:1;letter-spacing:.06em}
    100%{opacity:0;letter-spacing:.17em}}
  /* Kilat yang nyapu HURUFNYA doang — dijepit ke glif, bukan ke kotak kata. */
  .sopwstw9 u{position:absolute;left:0;right:0;top:0;bottom:0;color:transparent;
    background-image:linear-gradient(104deg,transparent 42%,
      rgba(255,255,255,.95) 50%,transparent 58%);
    background-size:280% 100%;background-repeat:no-repeat;
    -webkit-background-clip:text;background-clip:text;
    animation:sopwstkl9 3.6s cubic-bezier(.35,0,.2,1) forwards}
  @keyframes sopwstkl9{0%,13%{background-position:170% 0;opacity:0}
    17%{opacity:1}44%{background-position:-70% 0;opacity:1}
    46%,100%{background-position:-70% 0;opacity:0}}
  /* Vonisnya turun jadi baris kedua: dia PANGKAT, bukan judul. Dan dia dikasih
     animasi SEUMUR UPACARA — animasi bawaannya (bon #5) cuma 1,9 detik, jadi
     dari detik ~1,4 di bawah WASTED cuma ada lubang. */
  .sopwst9 .sopvonis9{position:relative;left:auto;right:auto;top:auto;z-index:2;
    animation:sopwstvn9 3.6s cubic-bezier(.15,.9,.25,1) forwards}
  @keyframes sopwstvn9{
    0%{transform:scale(1.8);opacity:0;filter:blur(7px)}
    14%{transform:scale(1);opacity:1;filter:blur(0)}
    18%{transform:scale(1.06)}
    24%{transform:scale(1)}
    85%{opacity:1}
    100%{opacity:0;transform:scale(1.02)}}
  .sopwst9 .sopvonis9 b{font-size:clamp(13px,2.5vw,27px);letter-spacing:.34em}
  .sopwst9 .sopvonis9 u{margin-top:5px}
  /* Pil FINAL BLOW pergi pas pukulannya mendarat: dia nyala terang di
     panggung yang lagi mati, DAN dia masih bisa ditahan lagi — upacara
     kemenangan yang main buat kemenangan yang kaga kejadian. */
  .sopfbpergi9{pointer-events:none;animation:sopfbpergi9k .45s ease-out forwards}
  @keyframes sopfbpergi9k{to{opacity:0;transform:translateY(8px) scale(.96)}}
  .sopwsttg9{position:relative;z-index:2;text-align:center;padding:0 14px;
    font-size:9px;letter-spacing:.26em;color:#ffd9c8;
    animation:sopwsttg9k 3.6s ease-out forwards}
  .sopwsttg9 b{color:#fff;font-weight:400}
  @keyframes sopwsttg9k{0%,25%{opacity:0;transform:translateY(9px)}
    37%{opacity:.92;transform:translateY(0)}85%{opacity:.92}100%{opacity:0}}
  .soptumbang9{animation:soprubuh9 1.1s cubic-bezier(.3,.1,.4,1) forwards}
  @keyframes soprubuh9{
    0%{transform:translateY(0) rotate(0deg)}
    22%{transform:translateY(-6px) rotate(-3deg)}
    100%{transform:translateY(26px) rotate(-16deg);opacity:.15}}
  .sopdiem9 .sopredup9,.sopdiem9 .sopvonis9,.sopdiem9 .soptumbang9,.sopdiem9 .sopwst9,.sopdiem9 .sopwstkabut9,.sopdiem9 .sopwstw9,.sopdiem9 .sopwstw9 i,.sopdiem9 .sopwstw9 u,.sopdiem9 .sopwst9 .sopvonis9,.sopdiem9 .sopwsttg9{animation:none}
  @media (prefers-reduced-motion:reduce){
    .sopredup9,.sopvonis9,.soptumbang9,.sopwst9,.sopwstkabut9,.sopwstw9,.sopwstw9 i,.sopwstw9 u,.sopwst9 .sopvonis9,.sopwsttg9{animation:none}
  }
  .soprnt9{margin-left:auto;font-size:9px;letter-spacing:.16em;color:#ffd27a;opacity:.28}
  .soprnt9 b{font-size:12px;color:#fff;font-weight:700;
    text-shadow:0 0 8px #ffb020,0 0 22px rgba(255,140,60,.8)}
  .soprnt9[data-on="1"]{animation:soprntai9 1.6s ease-out forwards}
  @keyframes soprntai9{0%{transform:scale(1.45);opacity:1}12%{transform:scale(1);opacity:1}
    76%{opacity:1}100%{opacity:.28}}
  /* pesta dimatiin: bloknya TETEP pecah, rantainya TETEP jalan — yang ilang
     cuma pestanya. Efeknya emang kaga dibikin sama sekali (liat komentar
     patch), ini cuma pager keduanya. */
  .sopdiem9 .sopjeger9,.sopdiem9 .sopjegergede9,.sopdiem9 .sopkilau9{animation:none}
  @media (prefers-reduced-motion:reduce){
    .sopjeger9,.sopjegergede9,.sopkilau9,.soppcah9,.soppcah9 u,.soppcah9 b,.sopangka9{animation:none}
  }
  /* 🔋 TENAGA — ruas pertama rantai KERJA NYATA → TENAGA → GAPLOK → FINAL BLOW */
  .soptng9{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;
    font-size:8.5px;letter-spacing:.14em;color:#8fa0bf}
  .soptl9{color:#3ddc97;letter-spacing:.2em}
  .soptb9{display:inline-flex;gap:2px;align-items:center}
  .soptb9 i{width:9px;height:9px;border-radius:50%;background:rgba(120,140,175,.2);
    box-shadow:inset 0 0 0 1px rgba(150,170,210,.3)}
  .soptb9 i[data-n="1"]{background:radial-gradient(circle at 34% 32%,#c8ffe6,#3ddc97 58%,#127a52 100%);
    box-shadow:0 0 9px -1px rgba(61,220,151,.95)}
  .soptv9 b{color:#cfe9dc;font-weight:400}
  /* petarung yang lagi dipilih — dia yang papannya lagi nongol */
  .soppilih9{opacity:1 !important}
  .soppilih9::after{content:"";position:absolute;left:50%;bottom:2px;width:24px;height:3px;
    transform:translateX(-50%);border-radius:2px;background:var(--sopak,#ffb020);
    box-shadow:0 0 12px 2px var(--sopak,#ffb020)}
  /* cuma yang di dalem form — tombol LEMPAR KE JALAN di kartu task tetep
     kecil, itu kontrak S8 (relock K2) dan kaga ikut dikencengin. */
  .sopbk9 .soplbtn9{align-self:flex-start;border-style:solid;border-color:var(--amber);
    color:var(--amber);padding:6px 14px;letter-spacing:.14em;background:rgba(242,177,61,.06)}
  .sopbk9 .soplbtn9:hover{background:rgba(242,177,61,.14);color:#ffd98a;border-color:#ffd98a}
  /* v11.24 🌃 LORONG PARALLAX — tujuh lapis, semuanya CSS.
     Kenapa CSS dan kaga kanvas kaya mockupnya: badan sop dilarang megang
     rAF/timer (gembok S7-a), dan animasi CSS itu jawaban yang lebih bener
     buat halaman — dia mati sendiri pas node-nya dibuang route, ke-throttle
     sendiri pas tab ditinggal, dan kaga ada yang bisa lupa matiin.
     Ubinnya SVG data-URI deterministik; gesernya PERSIS satu lebar ubin,
     jadi sambungannya kaga keliatan. */
  .sopkota9{position:relative;height:340px;border-radius:14px;overflow:hidden;isolation:isolate;
    border:1px solid #1b2338;background:#05040f;box-shadow:0 22px 60px -26px #000, inset 0 0 90px -34px #000}
  /* ⚠ ANAK LANGSUNG doang. Versi pertama `.sopkota9 i` nyamber tiap <i>
     keturunan — termasuk blok di dalem bilah ronde, yang langsung jadi
     absolut, numpuk, lebar nol, dan kegambar sebagai papan KOSONG.
     Selektor kelewat lebar itu bom waktu yang meledaknya nanti. */
  .sopkota9 > i{position:absolute;display:block;pointer-events:none}
  .soplangit9{left:0;right:0;top:0;height:56%;
    background:linear-gradient(180deg,#04030d 0%,#0b0620 30%,#170a30 58%,#2e0f47 82%,#4a1552 100%)}
  /* UFUK — sumber cahaya yang bikin gedung sama bahu geng kebaca sebagai
     SILUET. Tanpa ini semuanya sama-sama ungu dan kaga ada yang nongol. */
  .sopufuk9{left:0;right:0;bottom:44%;height:26%;
    background:radial-gradient(66% 124% at 50% 100%,rgba(255,64,146,.22) 0%,rgba(140,44,168,.09) 40%,transparent 72%)}
  .sopbintang9{left:0;right:0;top:0;height:40%;background-repeat:repeat-x;opacity:.85}
  .sopbulan9{right:13%;top:7%;width:22px;height:22px;border-radius:50%;
    background:radial-gradient(circle at 36% 36%,#fdf7de,#e6d9a8 62%,#c9b982 100%);
    box-shadow:0 0 24px 7px rgba(255,246,214,.20)}
  .sopjalan9{left:0;right:0;bottom:0;height:42%;
    background:linear-gradient(180deg,#2b1a40 0 1px,#180e2b 1px,#0c0716 44%,#160e26 100%)}
  /* kabut: dua tepi ngilang. Tepi keras bikin dia kebaca sebagai PALANG,
     bukan udara. */
  .sopkabut9{left:0;right:0;top:30%;height:36%;
    background:linear-gradient(180deg,rgba(122,92,164,0),rgba(122,92,164,.26) 46%,rgba(122,92,164,0))}
  .sopgaris9{left:0;right:0;bottom:0;height:42%;
    background:repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 1px,transparent 1px 11px)}
  /* lapis yang jalan. width sengaja 100%+satu ubin: yang digeser persis satu
     ubin, jadi frame terakhir sama persis kaya frame pertama. */
  .soplap9{left:0;background-repeat:repeat-x;width:calc(100% + var(--tile,300px));
    animation:sopgeser9 var(--laju,60s) linear infinite}
  @keyframes sopgeser9{from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(var(--tile,300px) * -1),0,0)}}
  .sopl1{bottom:50%;height:23%}
  .sopl2{bottom:50%;height:31%}
  .sopl3,.sopl3k{bottom:51%;height:21%}
  .sopl3k{animation:sopgeser9 var(--laju,60s) linear infinite, sopkedip9 5.3s steps(1,end) infinite}
  .sopl4{bottom:42%;height:19%}
  .sopsorot9{bottom:0;height:42%;mix-blend-mode:screen;opacity:.34}
  .sopl5{bottom:0;height:42%;opacity:.8}
  .sopl6{top:0;bottom:0}
  @keyframes sopkedip9{0%,72%{opacity:1}73%{opacity:.12}75%{opacity:1}77%{opacity:.2}79%,100%{opacity:1}}
  /* ujan: pola miring 22px yang digeser TEGAK 126,7px — satu putaran penuh
     pas satu periode pola, jadi tetesannya kaga pernah kelompat. */
  .sophujan9{left:0;right:0;top:0;bottom:0;overflow:hidden;opacity:.26;z-index:8}
  .sophujan9 b{position:absolute;left:-12%;right:-12%;top:-140px;bottom:-140px;display:block;
    background:repeating-linear-gradient(100deg,rgba(190,214,255,0) 0 10px,
      rgba(190,214,255,.22) 10px 10.7px,rgba(190,214,255,0) 10.7px 22px);
    animation:sopjatuh9 1.05s linear infinite}
  @keyframes sopjatuh9{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,126.7px,0)}}
  .sopbingkai9{left:0;right:0;top:0;bottom:0;z-index:9;border-radius:13px;
    box-shadow:inset 0 0 70px -18px #000, inset 0 -1px 0 rgba(255,176,32,.14)}
  /* DIEM: lorongnya tetep kegambar utuh, yang mati cuma geraknya. Dua pintu —
     saklar tangan di manager, sama titah sistem orangnya sendiri. */
  /* bon #42s · 🎲 MEJA TARUHAN — strip ketiga di STREET. Kursi = orang yang lagi punya taruhan; SVG-nya latar, kursinya HTML biar mukanya kolam foto yang sama */
  .sopmeja9{position:relative;margin:10px 0 12px;height:250px;border-radius:13px;overflow:hidden;border:1px solid rgba(255,210,58,.22);background:#07040b;box-shadow:inset 0 0 60px -20px #000}
  .sopmeja9.sopmejakos9{height:190px}
  .sopmejabg9{position:absolute;inset:0;width:100%;height:100%;display:block}
  .sopmejah9{position:absolute;left:12px;top:9px;z-index:3;display:flex;align-items:baseline;gap:10px}
  .sopmejah9 b{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;color:#ffd23a;text-shadow:0 0 10px rgba(255,210,58,.5)}
  .sopmejah9 span{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:#a89f7a}
  .sopmejak9{position:absolute;left:0;right:0;bottom:46px;z-index:2;display:flex;justify-content:center;gap:10px;padding:0 12px;overflow-x:auto;scrollbar-width:none}
  .sopmejak9::-webkit-scrollbar{display:none}
  .sopmejas9{flex:none;width:112px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;user-select:none;transition:transform .15s}
  .sopmejas9:hover{transform:translateY(-3px)}
  .sopmejas9 .m{height:72px;display:grid;place-items:end center;filter:drop-shadow(0 6px 10px rgba(0,0,0,.7))}
  .sopmejas9 .m svg,.sopmejas9 .m>span{height:72px!important;width:auto!important}
  .sopmejas9 b{max-width:110px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;color:#fff;background:rgba(4,3,10,.8);border:1px solid var(--sc,#ffd23a);border-radius:99px;padding:2px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-6px}
  .sopmejas9 u{max-width:110px;text-decoration:none;font-size:9px;color:#d8cbb4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px #000}
  .sopmejas9 i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.06em;color:#1a1200;background:#ffd23a;border-radius:4px;padding:1px 6px;font-weight:600;white-space:nowrap;box-shadow:0 2px 0 #a8811a,0 4px 8px -2px #000}
  .sopmejas9 em{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.08em;color:#a89f7a;white-space:nowrap}
  .sopmejas9.sopmejasc9 i{background:#ff5a3c;color:#fff;box-shadow:0 2px 0 #8a2b1c,0 4px 8px -2px #000}
  .sopmejas9.sopmejaslewat9 i{background:#6b6478;color:#fff;box-shadow:0 2px 0 #2c2833}
  .sopmejalebih9{justify-content:center}
  .sopmejakosong9{position:absolute;left:12px;right:12px;bottom:14px;z-index:2;text-align:center;font-size:11px;color:#a89f7a;line-height:1.5;text-shadow:0 1px 3px #000}
  @media(max-width:520px){.sopmejak9{justify-content:flex-start}.sopmejas9{width:96px}.sopmejas9 .m svg,.sopmejas9 .m>span{height:60px!important}.sopmejas9 .m{height:60px}}
  /* §8b · CUACA KOTA — satu kelas di .sopkota9, sisanya di sini. 0 BADAI · 1 MENDUNG · 2 BIASA (bawaan) · 3 CERAH · 4 GEMILANG */
  .sopcuaca0 .sophujan9{opacity:.6}.sopcuaca0 .sophujan9 b{animation-duration:.55s}.sopcuaca0 .sopkabut9{opacity:1;filter:brightness(.7)}
  .sopcuaca0 .sopl3,.sopcuaca0 .sopl3k,.sopcuaca0 .sopsorot9{filter:brightness(.45) saturate(.6)}.sopcuaca0 .sopl6{opacity:.5}
  .sopcuaca0 .sopufuk9{filter:brightness(.55)}
  .sopcuaca1 .sophujan9{opacity:.4}.sopcuaca1 .sophujan9 b{animation-duration:.8s}.sopcuaca1 .sopl3,.sopcuaca1 .sopl3k,.sopcuaca1 .sopsorot9{filter:brightness(.7)}
  .sopcuaca3 .sophujan9{opacity:.07}.sopcuaca3 .sopkabut9{opacity:.45}.sopcuaca3 .sopl3,.sopcuaca3 .sopl3k,.sopcuaca3 .sopsorot9{filter:brightness(1.18) saturate(1.15)}
  .sopcuaca4 .sophujan9{opacity:0}.sopcuaca4 .sopkabut9{opacity:.25}.sopcuaca4 .sopl3,.sopcuaca4 .sopl3k,.sopcuaca4 .sopsorot9{filter:brightness(1.4) saturate(1.3)}
  .sopcuaca4 .sopl6{opacity:1;filter:brightness(1.3)}.sopcuaca4 .sopufuk9{filter:brightness(1.25) saturate(1.2)}
  .sopcuaca9{font-style:normal;margin-left:6px;padding:2px 8px;border-radius:99px;border:1px solid rgba(255,255,255,.12);font-size:9px;letter-spacing:.14em;color:#e6e1f2;cursor:help}
  .sopcuaca0 ~ .sophead9 .sopcuaca9{color:#ff9d8a}
  .sopdrnx9{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.06em;color:#22e0ff;margin-top:2px}
  .sopkcnx9{margin-top:6px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.06em;color:#22e0ff}
  .sopwbisik9{margin:4px 0 0;font-size:11px;font-style:italic;color:#8d86a0;line-height:1.4}
  .sopwbisik9::before{content:"↳ ";color:#22e0ff;font-style:normal}
  .sopkej9{margin-top:8px}
  .sopkejf9{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
  .sopkejf9 .sopka9.sopkac9{cursor:pointer;user-select:none;color:#8d86a0}
  .sopkejf9 .sopka9.sopkac9.sopkaon9{color:#000;background:#22d3ee;border-color:#22d3ee;font-weight:600}
  .sopkejsp9{width:1px;height:14px;background:rgba(255,255,255,.12);margin:0 4px}
  .sopkejl9 .sopwrwn9{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
  .sopkejk9{margin-top:6px;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.12em;color:#6d6780}
  .sopstw9cu{cursor:help;filter:drop-shadow(0 0 4px rgba(255,255,255,.25))}
  .sopdiem9 .soplap9,.sopdiem9 .sophujan9 b{animation:none}
  @media (prefers-reduced-motion:reduce){ .soplap9,.sophujan9 b{animation:none} }
  /* tinggi panggung sama gede figur SEKARANG DIUKUR di renderStreet (satu
     penakar). Yang ketinggalan di sini cuma yang emang urusan layar. */
  @media (max-width:480px){ .sopbulan9{width:16px;height:16px} .sopmkg9{grid-template-columns:1fr} }
  .rule{display:flex;align-items:center;gap:13px;margin:0 0 13px}
  .rule .t{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--low);white-space:nowrap}
  .rule .l{flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
  .rule .n{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}

  /* cards */
  .prime{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:32px}
  .card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:block;transition:border-color .18s, transform .18s;overflow:hidden;cursor:pointer}
  .card::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .25s;pointer-events:none;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--c,#f2b13d) 10%, transparent), transparent 65%)}
  .card:hover::before{opacity:1}
  .card i.sheen{position:absolute;top:0;bottom:0;width:55%;left:-70%;pointer-events:none;background:linear-gradient(105deg, transparent, rgba(255,255,255,.05) 45%, rgba(255,255,255,.09) 50%, rgba(255,255,255,.05) 55%, transparent);transform:skewX(-12deg)}
  .card:hover i.sheen{left:130%;transition:left .7s cubic-bezier(.3,.6,.3,1)}
  .card:hover{border-color:var(--line-2);transform:translateY(-3px)}
  .card:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
  .bk{position:absolute;width:11px;height:11px;border-color:var(--line-2);transition:border-color .18s;z-index:2}
  .bk.a{top:7px;left:7px;border-top:1.5px solid;border-left:1.5px solid}
  .bk.b{top:7px;right:7px;border-top:1.5px solid;border-right:1.5px solid}
  .bk.c{bottom:7px;left:7px;border-bottom:1.5px solid;border-left:1.5px solid}
  .bk.d{bottom:7px;right:7px;border-bottom:1.5px solid;border-right:1.5px solid}
  .card:hover .bk{border-color:var(--c,var(--amber))}
  .card .ct{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:19px;margin-bottom:7px;position:relative;z-index:1}
  .card .cd{font-size:13.5px;color:var(--mid);line-height:1.5;max-width:30ch;margin-bottom:15px;position:relative;z-index:1}
  .tags{display:flex;gap:6px;flex-wrap:wrap;position:relative;z-index:1}
  .tag{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:500;border:1px solid var(--line-2);border-radius:20px;padding:3px 9px;color:var(--mid)}
  .tag.t-now{color:var(--now);border-color:rgba(76,201,240,.35);background:rgba(76,201,240,.07)}
  .tag.t-yore{color:var(--yore);border-color:rgba(255,93,93,.35);background:rgba(255,93,93,.07)}
  .tag.t-soon{color:var(--soon);border-color:rgba(45,212,167,.35);background:rgba(45,212,167,.07)}
  .tag.t-amber{color:var(--amber);border-color:rgba(242,177,61,.35);background:rgba(242,177,61,.07)}
  .art{position:absolute;right:18px;top:18px;width:66px;height:66px;z-index:1}
  .art svg{width:100%;height:100%;stroke:var(--line-2);fill:none;stroke-width:1.2;transition:stroke .18s}
  .card:hover .art svg{stroke:var(--c);opacity:.6}
  .art .sweep{position:absolute;inset:6px;border-radius:50%;background:conic-gradient(from 0deg, transparent 0 78%, color-mix(in srgb, var(--c) 45%, transparent) 100%);-webkit-mask-image:radial-gradient(circle, transparent 18%, #000 19%);mask-image:radial-gradient(circle, transparent 18%, #000 19%);animation:spin 4.5s linear infinite;opacity:.5}
  @keyframes spin{to{transform:rotate(360deg)}}
  .art .live{animation:tickpulse 2.8s ease-in-out infinite}
  @keyframes tickpulse{0%,100%{opacity:.35}50%{opacity:1}}
  .art .dot{fill:var(--c);stroke:none;animation:blinkdot 2.4s ease-in-out infinite}
  @keyframes blinkdot{0%,100%{opacity:.15}50%{opacity:.9}}

  /* category grid + halo emoji */
  .cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:8px;margin-bottom:32px}
  .cat{position:relative;background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--c);border-radius:var(--r);padding:12px 13px 12px 12px;transition:.16s;display:flex;align-items:center;gap:11px;overflow:hidden;cursor:pointer}
  .cat::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .25s;pointer-events:none;background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--c) 12%, transparent), transparent 70%)}
  .cat:hover::before{opacity:1}
  .cat:hover{border-color:var(--line-2);transform:translateX(2px)}
  .cat:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
  .em{position:relative;width:36px;height:36px;flex:none;display:grid;place-items:center;font-size:17px;border-radius:9px;background:var(--panel-2);border:1px solid var(--line);animation:float 4.6s ease-in-out infinite;animation-delay:var(--fd,0ms)}
  .em::before{content:"";position:absolute;inset:-9px;border-radius:14px;z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--c) 42%, transparent), transparent 70%);filter:blur(8px);opacity:.55;animation:halo 3.8s ease-in-out infinite;animation-delay:var(--fd,0ms)}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
  @keyframes halo{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.22;transform:scale(.88)}}
  .cat:hover .em{border-color:color-mix(in srgb, var(--c) 55%, var(--line))}
  .cat .body{min-width:0}
  .cat .cn{font-family:"Chakra Petch",sans-serif;font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cat .cc{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cat.quiet{border-left-style:dashed;opacity:.85}
  .cat.hide{display:none}
  .logs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .logs .em{width:42px;height:42px;font-size:20px;margin-bottom:14px}
  /* ══ W2 · WIDGET STREET — tiga tampilan (bon #42 v4 §8). Duduk DI SINI (irisan 002, sesudah blok W bawaan) biar kaskadnya menang. Selektor CUMA kelas sopstw9* (gembok V1-g). Dazzling = kulit. ══ */
  .sopstw9hb{margin-left:8px;color:#ffd23a;font-weight:600;animation:sopstkedip9 2.4s ease-in-out infinite}
  .sopstw9hr{display:flex;gap:5px;align-items:center}
  .sopstw9pc{color:#ffd23a;border-color:rgba(255,210,58,.4);background:rgba(255,210,58,.08)}
  .sopstw9pc:hover{background:#ffd23a;color:#1a1200}
  .sopstw9kartu,.sopstw9baris,.sopstw9strip{position:relative}
  .sopstw9lk{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-auto-rows:max-content;gap:8px;align-content:start}
  .sopstw9ls{flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:6px}
  .sopstw9m{flex:none;width:36px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:rgba(0,0,0,.35)}
  .sopstw9m svg,.sopstw9m>span{height:44px!important;width:auto!important}
  .sopstw9ch{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
  .sopstw9ch i{font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:7.5px;letter-spacing:.08em;color:#8d86a0;padding:1px 6px;border-radius:5px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);white-space:nowrap}
  .sopstw9kt{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border-radius:13px;border:1px solid rgba(255,255,255,.08);border-left:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));box-shadow:0 10px 30px -18px #000}
  .sopstw9kt:hover{transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
  .sopstw9kt.sopstw9k{background:linear-gradient(180deg,rgba(255,90,60,.07),rgba(255,255,255,.012))}
  .sopstw9f{position:relative;display:block;height:150px;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--wc,#6b6478) 35%,#0a0812),#06050b 70%)}
  .sopstw9f>svg,.sopstw9f>span:first-child{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:150px!important;width:auto!important;max-width:100%}
  .sopstw9f>span:first-child img{height:100%;width:100%;object-fit:cover}
  .sopstw9fg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,3,10,0) 40%,rgba(4,3,10,.92) 100%);pointer-events:none}
  .sopstw9ke{position:absolute;right:8px;top:8px;font-size:16px;filter:drop-shadow(0 0 6px var(--wc,#ffb020))}
  .sopstw9kt .sopstw9n{position:absolute;left:10px;bottom:8px;right:10px;font-size:14px;letter-spacing:.08em;color:#fff;font-weight:600;text-shadow:0 1px 6px #000}
  .sopstw9kt .sopstw9n i{display:block;margin:2px 0 0;font-size:8px;letter-spacing:.2em;color:var(--wc,#ffb020);text-shadow:0 0 8px var(--wc,#ffb020)}
  .sopstw9bd{display:flex;flex-direction:column;gap:4px;padding:9px 11px 11px;border-top:2px solid var(--wc,#6b6478);box-shadow:0 -1px 18px -6px var(--wc,#6b6478)}
  .sopstw9vb{font-family:ui-monospace,Menlo,monospace;font-size:7.5px;letter-spacing:.22em;color:var(--wc,#8d86a0)}
  .sopstw9kt .sopstw9t{font-size:13px;color:#fff;white-space:normal;line-height:1.3;font-weight:500}
  .sopstw9seg{display:flex;gap:2px;margin-top:6px;height:9px}
  .sopstw9seg i{flex:1;border-radius:2px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
  .sopstw9seg i[data-s="siap"]{background:#ffd23a;box-shadow:0 0 6px rgba(255,210,58,.6)}
  .sopstw9seg i[data-s="pecah"]{background:#ff5a3c;box-shadow:0 0 6px rgba(255,90,60,.6)}
  .sopstw9pd{position:relative;height:6px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,#ff5a3c,#ffd23a 50%,#35d29b);opacity:.9}
  .sopstw9pd i{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 0 8px currentColor,0 1px 4px #000}
  .sopstw9pj{display:block;height:4px;border-radius:99px;margin-top:5px;overflow:hidden;background:rgba(0,0,0,.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
  .sopstw9pj i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#12a8c8,#22e0ff);box-shadow:0 0 9px rgba(34,224,255,.55)}
  .sopstw9kt .sopstw9v{font-size:18px;font-weight:600;letter-spacing:.04em;text-align:left;margin-top:4px;min-width:0}
  .sopstw9kt .sopstw9v em{font-style:normal;font-size:10px;color:#8fe9ff;margin-left:6px}
  .sopstw9wk{font-family:ui-monospace,Menlo,monospace;font-size:8px;letter-spacing:.06em;color:#6d6780;margin-top:2px}
  .sopstw9say{font-size:11px;font-style:italic;color:#c6cddc;line-height:1.4;margin-top:4px}
  .sopstw9nx{font-family:ui-monospace,Menlo,monospace;font-size:8.5px;letter-spacing:.06em;color:#22e0ff;margin-top:2px}
  .sopstw9ac{display:flex;gap:6px;margin-top:8px}
  .sopstw9ac u{flex:1;text-align:center;text-decoration:none;cursor:pointer;user-select:none;font-family:ui-monospace,Menlo,monospace;font-size:9px;letter-spacing:.16em;padding:7px 6px;border-radius:9px;border:1px solid rgba(255,255,255,.14);color:#e6e1f2;background:rgba(255,255,255,.03)}
  .sopstw9ac u:first-child{color:#0a1a1e;background:linear-gradient(180deg,#fff,var(--wc,#ffb020));border-color:var(--wc,#ffb020);font-weight:600}
  .sopstw9ac u[data-on="1"]{color:#35d29b;border-color:rgba(53,210,155,.5)}
  .sopstw9ac u[data-gagal]{border-color:#ff5a3c;color:#ff5a3c}
  .sopstw9butuh .sopstw9f{animation:sopstkedip9 2.6s ease-in-out infinite}
  .sopstw9st{flex-direction:column;align-items:center;gap:3px;padding:0 0 6px;width:116px;overflow:hidden;border-radius:11px;border-left:1px solid rgba(255,255,255,.06)}
  .sopstw9st .sopstw9f{height:96px;width:100%}
  .sopstw9st .sopstw9f>svg,.sopstw9st .sopstw9f>span:first-child{height:96px!important}
  .sopstw9st .sopstw9n{font-size:10px;text-align:center;max-width:104px}
  .sopstw9st .sopstw9n i{display:block;margin:1px 0 0;font-size:7px}
  .sopstw9st .sopstw9v{min-width:0;text-align:center;font-size:9px}
  @keyframes sopstkedip9{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35) saturate(1.2)}}

  /* ============ HARIAN ============ */
  .capture{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 11px;margin-bottom:16px;box-shadow:0 22px 46px -30px #000, inset 0 1px 0 rgba(255,255,255,.03)}
  .capture::before{content:"⚡ COMMIT KE HARI INI";position:absolute;top:-9px;left:16px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--now);background:var(--void);padding:1px 8px;border-radius:20px;border:1px solid var(--line)}
  .caprow{display:flex;align-items:center;gap:10px}
  .caprow input{flex:1;background:transparent;border:none;outline:none;color:var(--ink);font-size:16px;padding:8px 4px;caret-color:var(--now);font-family:"Barlow",sans-serif}
  .caprow input::placeholder{color:var(--low)}
  .gobtn{background:var(--now);color:#04222f;border:none;cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;padding:9px 17px;border-radius:var(--r);white-space:nowrap;transition:transform .08s,filter .15s;box-shadow:0 0 20px -6px var(--now)}
  .gobtn:hover{filter:brightness(1.08)} .gobtn:active{transform:translateY(1px)}
  .preview{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:22px;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
  .preview .hint{font-size:11px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;border:1px solid;line-height:1.4}
  .chip.pick{cursor:pointer;transition:filter .14s, transform .1s}
  .chip.pick:hover{filter:brightness(1.3)}
  .chip.pick:active{transform:translateY(1px)}
  .chip.ok{animation:okpop .32s cubic-bezier(.2,.9,.3,1.2)}
  @keyframes okpop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
  /* page motion */
  @keyframes slideIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
  @keyframes popIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
  @keyframes growW{from{width:0}}
  .anim-slide{animation:slideIn .3s cubic-bezier(.2,.7,.3,1)}
  .rchip.anim{opacity:0;animation:popIn .3s cubic-bezier(.2,.9,.3,1.15) forwards;animation-delay:var(--d,0ms)}
  .task.anim{opacity:0;animation:slideIn .34s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d,0ms)}
  .month.anim{opacity:0;animation:popIn .3s cubic-bezier(.2,.9,.3,1.15) forwards;animation-delay:var(--d,0ms)}
  .goal.anim{opacity:0;animation:slideIn .34s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d,0ms)}
  .goal .gprog i{animation:growW .7s cubic-bezier(.2,.7,.3,1)}
  .mitem.anim{opacity:0;animation:slideIn .3s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:var(--d,0ms)}
  .blk{animation:blkin .4s cubic-bezier(.2,.8,.3,1)}
  @keyframes blkin{from{opacity:0;transform:scaleY(.3)}to{opacity:1;transform:none}}
  .chip.k{font-family:"JetBrains Mono",monospace;font-weight:500;color:var(--low);border-color:var(--line)}

  .routines{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:20px}
  .routines .rh{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px;flex-wrap:wrap;gap:8px}
  .routines .rt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px}
  .routines .rhint{font-size:10px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .rglabel{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin:9px 0 7px 2px}
  .rchips{display:flex;gap:7px;flex-wrap:wrap}
  .rchip{display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;font-size:12px;font-weight:600;padding:6px 11px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line);color:var(--mid);transition:.12s}
  .rchip:hover{color:var(--ink);border-color:var(--line-2)}
  .rchip.done{color:var(--soon);border-color:rgba(45,212,167,.4);background:rgba(45,212,167,.07)}
  .rchip.pending{color:var(--amber);border-color:rgba(242,177,61,.4);background:rgba(242,177,61,.07)}
  .rchip.failed{color:var(--yore);border-color:rgba(255,93,93,.4);background:rgba(255,93,93,.07)}

  .zone.z-pin{--zc:#ff5d5d}
  .zone.z-pin .zl{color:#ff5d5d;text-shadow:0 0 12px rgba(255,93,93,.5)}
  .zone.z-pin .zdot{background:#ff5d5d;box-shadow:0 0 12px #ff5d5d;animation:beat 1.4s ease-in-out infinite}
  .z-pin>ul>.task{border:1px solid rgba(255,93,93,.5);border-radius:12px;animation:pinp 1.7s ease-in-out infinite}
  /* FIX: baris pinned + animasi masuk. Dua masalah:
     (1) legacy: rule pinp di atas lebih spesifik dari .task.anim → slideIn kegusur → stuck opacity:0.
         solusi: gabung dua animasi sekaligus (slideIn sekali, pinp muter).
     (2) motion engine (xlite+) nyuntik animation:none!important ke baris ini (mindahin glow ke ::after)
         → slideIn ikut mati → stuck opacity:0. solusi: paksa opacity:1 di mode-mode itu. */
  .z-pin>ul>.task.anim{opacity:0;animation:slideIn .34s cubic-bezier(.2,.7,.3,1) forwards,pinp 1.7s ease-in-out infinite;animation-delay:var(--d,0ms),0ms}
  [data-mo-pulse="off"] .z-pin>ul>.task,[data-mo-pulse="static"] .z-pin>ul>.task,[data-mo-pulse="flash"] .z-pin>ul>.task,[data-mo-pulse="glow"] .z-pin>ul>.task{opacity:1!important}
  @keyframes pinp{0%,100%{box-shadow:0 0 0 0 rgba(255,93,93,0)}50%{box-shadow:0 0 16px -4px #ff5d5d,inset 0 0 14px -10px #ff5d5d}}
  /* [reduced-motion → pretsia-motion.js] z-pin task + zdot */
  .zone.z-krat{--zc:#4ade80}
  .zone.z-krat .zl{color:#4ade80}
  .zone.z-krat .zdot{background:#4ade80;box-shadow:0 0 10px #4ade80}
  .zone{margin-bottom:18px}
  .zonehd{display:flex;align-items:center;gap:9px;margin:0 2px 9px}
  .zonehd .zdot{width:8px;height:8px;border-radius:50%;background:var(--zc);box-shadow:0 0 10px var(--zc)}
  .zonehd .zl{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em}
  .zonehd .zn{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--low)}
  .zonehd .zr{flex:1;height:1px;background:linear-gradient(90deg,var(--zc),transparent)}
  .zone.z-today{--zc:var(--now)} .zone.z-future{--zc:var(--soon)} .zone.z-past{--zc:var(--yore)} .zone.z-done{--zc:var(--done)}
  ul{list-style:none}
  .task{display:flex;align-items:flex-start;gap:12px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--zc,var(--line));border-radius:var(--r);padding:11px 13px;margin-bottom:7px;position:relative;transition:.14s}
  .task.pinned2{border-left-width:3px;box-shadow:inset 3px 0 0 var(--amber)}
  .task.pinned2::after{content:"📌";position:absolute;top:7px;right:9px;font-size:10px;opacity:.65;pointer-events:none}
  .task:hover{border-color:var(--line-2);transform:translateX(1px)}
  .task.glow-now{box-shadow:0 0 0 1px rgba(76,201,240,.25),0 0 26px -10px var(--now)}
  .task.glow-past{box-shadow:0 0 22px -12px var(--yore)}
  .task.closed{opacity:.5}
  .task.closed .ttl{text-decoration:line-through;color:var(--mid)}
  .cbox{width:20px;height:20px;flex:none;margin-top:1px;border-radius:6px;border:1.8px solid var(--line-2);background:transparent;cursor:pointer;display:grid;place-items:center;transition:.12s}
  .cbox:hover{border-color:var(--soon)}
  .cbox.on{background:var(--soon);border-color:var(--soon)}
  .cbox svg{width:12px;height:12px;stroke:#04240f;stroke-width:3;opacity:0}
  .cbox.on svg{opacity:1}
  .cbox.park{border-color:var(--pc,var(--amber))}
  .cbox.park i{width:8px;height:8px;border-radius:2px;background:var(--pc,var(--amber));display:block}
  .tbody{flex:1;min-width:0}
  .ttl{font-size:14px;line-height:1.35;word-break:break-word;outline:none;border-radius:4px;padding:1px 2px;margin:-1px -2px}
  .ttl:focus{background:var(--panel-2);box-shadow:0 0 0 2px rgba(76,201,240,.25)}
  .meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:6px;justify-content:flex-end}
  /* ══ 🎛 TATA BARIS — EMPAT MODE, SATU ATRIBUT ══════════════════════════
     data-tlfam  = keluarga  : "row" (judul & atribut sebaris) | "stack" (numpuk)
     data-tl     = mode persis: 1 · 1w · 2 · 2b
     Dua-duanya DITURUNIN dari satu daftar TL_MODE di JS — nol ada nama mode
     yang diketik dua kali. Aturan keluarga dipasang ke data-tlfam, jadi mode
     kelima besok cukup nambah satu baris di daftar dan dia langsung kebagian
     fondasinya tanpa nyentuh CSS ini.
     ⚠ flex-wrap di .tbody keluarga row itu WAJIB, bukan hiasan: tanpa dia,
     baris komen (kalo ditaro di bawah) jadi anak flex yang nol boleh turun dan
     dia mereges judulnya sampe LEBAR NOL. Itu bug v10.68 yang bikin judul bang
     Sam ilang sama sekali. */
  html[data-tlfam="row"] .task .tbody{display:flex;flex-wrap:wrap;align-items:center;gap:10px;row-gap:6px;min-width:0}
  /* ⚠ LANTAI KOLOM JUDUL — 120px, DAN ANGKANYA DARI NGUKUR BUKAN DARI SELERA.
     Di 360px mode padet ngasih judul 19 PIKSEL. Itu bukan "padet", itu ilang:
     nol ada kata yang muat di 19px. Dan janji "satu baris"-nya pun udah nol
     ketepatan di situ — atributnya sendiri wrap jadi tiga baris.
     Di bawah lantai ini, yang TURUN itu rak atributnya (barisnya emang boleh
     wrap), bukan judulnya yang diperes sampe nol. Aturan yang sama di semua
     tempat: YANG NYUSUT ITU YANG PINGGIRAN, BUKAN YANG JADI ALESAN BARISNYA ADA. */
  /* ⚠ BASIS 0, BUKAN auto — DAN INI PENTING BANGET.
     Percobaan pertama gue pake `flex:1 1 auto`, dan mode SATU BARIS langsung
     ilang jati dirinya: flex mutusin wrap pake ukuran HIPOTETIS (flex-basis),
     jadi basis auto = selebar judul mentah, dan atributnya kedorong turun ke
     baris bawah. Mode yang namanya "SATU BARIS" jadi dua baris.
     Basis 0 = kolom judul nol pernah ngedorong siapa pun turun; min-width yang
     ngejaga dia nol diperes sampe ilang. Dua-duanya perlu, satu doang nol cukup. */
  html[data-tlfam="row"] .task .tbody>div:first-child{flex:1 1 0%;min-width:120px;margin:0}
  /* ⚠ min-width:0 ITU YANG BIKIN max-width:64% BENERAN NGIKET. Tanpa dia .meta
     maksa selebar isi minimumnya, capnya nol pernah kepake, dan di HP judulnya
     tinggal 38px dari 263px — 14%. Diukur, bukan dikira. */
  html[data-tlfam="row"] .task .meta{margin-top:0;flex:none;max-width:64%;min-width:0;justify-content:flex-end}
  html[data-tlfam="row"] .task .pill{font-size:10.5px;padding:2px 7px}
  html[data-tlfam="row"] .task .dtl{font-size:10.5px}

  /* MODE 1 · SATU BARIS — judul DIPOTONG. Ini kontrak lamanya dan dia SENGAJA:
     yang dijual mode ini kepadetan, dan yang dibayar kepanjangan judul. */
  html[data-tl="1"] .task .tbody>div:first-child{display:flex;align-items:center}
  html[data-tl="1"] .task .ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  /* MODE 1w · JUDUL NGALIR — atribut TETEP di pinggir kanan, rata tengah, nol
     geser semili. Yang berubah cuma judulnya boleh turun baris di kolomnya
     sendiri, bukan dipotong. Baris cuma nambah tinggi kalo judulnya emang
     panjang — judul pendek tingginya nol berubah. */
  html[data-tl="1w"] .task .tbody{align-items:flex-start}
  html[data-tl="1w"] .task .tbody>div:first-child{display:block;line-height:1.5;padding-top:1px}
  html[data-tl="1w"] .task .tbody>div:first-child>.ttl{display:inline}
  html[data-tl="1w"] .task .tbody>div:first-child>*{vertical-align:middle}
  html[data-tl="1w"] .task .ttl{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  html[data-tl="1w"] .task .meta{align-self:center}

  /* ⚠ LANTAI JUDUL — CUMA DI LAYAR SEMPIT, DAN INI SENGAJA.
     Percobaan pertama gue pasang lantai 60% di SEMUA lebar, dan hasilnya
     kebalik: flex mutusin wrap pake ukuran HIPOTETIS (flex-basis), BUKAN
     ukuran sesudah nyusut — jadi di desktop atributnya malah turun ke baris
     bawah. Itu ngelanggar janji mode ini yang paling inti, kalimat bang Sam
     sendiri: "attribute ya tetap dipinggir rapih".
     Di layar lebar: nol lantai, atribut TETEP di pinggir.
     Di layar sempit: judul ambil sebaris penuh, atributnya yang ngalah turun —
     soalnya di 412px kolomnya cuma 80px dan judulnya jadi SEBELAS BARIS.
     Pengecualiannya ditulis di menu, bukan didiemin. */
  @media (max-width:640px){
    html[data-tl="1w"] .task .tbody>div:first-child{flex:1 1 100%}
  }

  /* MODE 2 · DUA BARIS — judul dapet selebar baris, atribut rata kanan di
     bawah. Ini kelakuan default app dari dulu, jadi aturannya nol ada:
     yang bener itu justru NOL NAMBAH APA-APA di sini. */

  /* ⚡ EKOR: ＋ sama ⤢ itu SATU benda. Dua kotak inline atomik yang bersebelahan
     PUNYA titik putus baris di antaranya (UAX#14 merlakuin mereka kaya objek),
     jadi tanpa pembungkus ini ⤢ bisa turun sendirian kaya yatim — dan bisanya
     tergantung judulnya nabrak di mana, makanya uji satu contoh nol nangkep. */
  .tekor{display:inline-flex;align-items:center;vertical-align:middle;white-space:nowrap;flex:none}

  /* ⚡ BARIS KOMEN — dia sebaris penuh, TAPI komennya TETEP DICAPIT.
     ⚠ INI YANG PALING GAMPANG SALAH: komen jalan itu nyala CUMA kalo teksnya
     lebih lebar dari kotaknya. Di v10.68 gue kasih dia selebar baris, dia nol
     overflow lagi, dan animasinya NOL PERNAH NYALA — bang Sam: "text nya malah
     diem". Gue matiin fiturnya sambil ngira lagi ngasih dia tempat. */
  .kmline{margin-top:6px;width:100%;min-width:0;flex:0 0 100%}
  /* ⚠ 340px, BUKAN 560px. Diukur: di 560px kotaknya jadi 502px, komen 83 huruf
     MUAT, jadi animasi jalannya nol pernah nyala — persis penyakit v10.68 dalam
     bentuk lebih kecil. Cukup lega buat kebaca, cukup sempit biar tetep JALAN. */
  /* ⚠ capitnya DISETEL JS dari lebar baris teks utamanya (lihat kmarSapu).
     Angka mati 340px itu yang bikin komen panjang kepotong di layar lebar dan
     komen pendek nol pernah jalan di layar sempit — dua-duanya salah, dan
     dua-duanya lahir dari satu angka yang nol pernah diukur. */
  .kmline .kmar{margin-left:0;padding-left:9px;opacity:.82;max-width:100%}
  .noderow>.kmline{margin-top:0}
  /* ⚡ di HP judul papan ngambil sebaris penuh. Diukur: tanpa ini dia cuma
     kebagian 84px dari 294px dan tingginya belasan baris, gara-gara
     ⠿ ▶ ◎ ＋ ⤢ "21 Agu" plus sela-selanya ngabisin sisanya. Nol ada yang
     disembunyiin — glyph-glyphnya cuma turun, bareng rak aksinya. */
  @media (max-width:600px){ .noderow>.ntitle{flex:1 1 100%} }
  .pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;line-height:1.5;cursor:pointer}
  .pill.time{font-family:"JetBrains Mono",monospace;font-weight:500;color:var(--mid);background:var(--panel-2);border:1px solid var(--line)}
  .pill.time.add{color:var(--low);background:transparent;border:1px dashed var(--line-2);font-family:"Barlow",sans-serif}
  .urg{cursor:pointer;font-size:12.5px;user-select:none}
  .urg.empty{filter:grayscale(1) opacity(.32)}
  .aged{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);background:var(--panel-2);border:1px solid var(--line);padding:2px 7px;border-radius:20px}
  .aged.hot{color:var(--yore);border-color:rgba(255,93,93,.3)}
  .sig{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
  .sig.now{color:var(--now);background:rgba(76,201,240,.12);border:1px solid rgba(76,201,240,.35)}
  .sig.here{color:#04222f;background:var(--now);box-shadow:0 0 16px -4px var(--now);animation:beat2 2.2s ease-in-out infinite}
  @keyframes beat2{0%,100%{opacity:1}50%{opacity:.7}}
  .sig.soonlbl{color:var(--amber);background:rgba(242,177,61,.1);border:1px solid rgba(242,177,61,.3)}
  .sig.what{color:var(--yore);background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.4)}
  .sig.future{color:var(--soon);background:rgba(45,212,167,.08);border:1px solid rgba(45,212,167,.3)}
  .sig.donelbl{color:var(--done);border:1px solid var(--line-2)}
  .statp{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px}
  /* ONGOING — tiga kotak ijo di DALAM chip, nempel setelah teks "ON GOING" */
  .statp.ongoc{display:inline-flex;align-items:center;gap:5px}
  .ongo{display:inline-flex;gap:2.5px;align-items:center;vertical-align:middle}
  .ongo i{width:7px;height:7px;border-radius:2px;background:#243244;display:block}
  .ongo i.on{background:#2dd4a7}
  [data-mo-ongoing="fill"] .ongo i{background:#243244}
  [data-mo-ongoing="fill"] .ongo i:nth-child(1){animation:ongoFill var(--mo-ongo-speed,2.6s) steps(1) infinite}
  [data-mo-ongoing="fill"] .ongo i:nth-child(2){animation:ongoFill var(--mo-ongo-speed,2.6s) steps(1) infinite;animation-delay:calc(var(--mo-ongo-speed,2.6s) * .25)}
  [data-mo-ongoing="fill"] .ongo i:nth-child(3){animation:ongoFill var(--mo-ongo-speed,2.6s) steps(1) infinite;animation-delay:calc(var(--mo-ongo-speed,2.6s) * .5)}
  @keyframes ongoFill{0%,8%{background:#243244}9%,92%{background:#2dd4a7}93%,100%{background:#243244}}
  /* LITE: statis penuh */
  [data-mo-ongoing="static"] .ongo i{background:#2dd4a7;animation:none}
  /* OFF: satu titik ijo diam */
  [data-mo-ongoing="off"] .ongo i{background:#243244;animation:none}
  [data-mo-ongoing="off"] .ongo i:nth-child(1){background:#2dd4a7}
  .srcic{font-size:12px;margin-right:2px}
  .xdel{opacity:0;background:transparent;border:none;cursor:pointer;color:var(--low);font-size:15px;padding:2px 6px;border-radius:6px;flex:none;margin-top:1px}
  .task:hover .xdel{opacity:1} .xdel:hover{color:var(--yore);background:var(--panel-2)}
  .nowline{display:flex;align-items:center;gap:10px;margin:2px 0 9px;padding:0 2px}
  .nowline .nd{width:9px;height:9px;border-radius:50%;background:var(--now);box-shadow:0 0 12px var(--now);flex:none;animation:beat 2.2s ease-in-out infinite}
  .nowline .nl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;color:var(--now);text-transform:uppercase;font-weight:700;flex:none}
  .nowline .nr{flex:1;height:1px;background:linear-gradient(90deg,var(--now),transparent)}

  /* popover menu */
  .pop-scrim{position:fixed;inset:0;z-index:590}
  .pop{position:fixed;z-index:600;background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;padding:6px;box-shadow:0 22px 54px -18px #000;display:grid;grid-template-columns:1fr 1fr;gap:3px;max-height:320px;overflow:auto;min-width:224px}
  .pop.single{grid-template-columns:1fr;min-width:170px}
  /* v11.19 B3 — ekor setelan roda: sticky di dasar sheet */
  .carcfg9ekor{position:sticky;bottom:-1px;display:grid;gap:3px;background:var(--panel-2);border-top:1px solid var(--line);padding-top:5px;margin-top:5px}
  .pop .opt{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--mid);transition:.1s;white-space:nowrap}
  .pop .opt:hover{background:var(--line);color:var(--ink)}
  .pop .opt.sel{background:var(--panel);color:var(--ink)}
  .pop.statgrp{min-width:190px}
  /* v10.50 — chip emoji kecil TRIO. Sengaja NOL PAKE TULISAN: bang Sam
     "emoji aja kecil". Keterangannya pindah ke title, jadi yang nol tau tinggal
     nunggu sedetik, dan yang udah tau nol keganggu tiga kata tambahan. */
  .tri9{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
    font-size:14px;line-height:1;border-radius:9px;cursor:pointer;user-select:none;
    border:1px solid var(--line-2);background:rgba(255,255,255,.03);transition:.14s}
  .tri9:hover{border-color:var(--tc,#a78bfa);background:color-mix(in srgb,var(--tc,#a78bfa) 15%,transparent);transform:translateY(-1px)}
  .tri9.mini{width:22px;height:22px;font-size:12px;border-radius:7px}
  /* ⚠ IKON "PUTER LAGI" NEBENG .tri9.mini, NOL NGETIK ULANG UKURANNYA.
     Bang Sam: "sebesar 3 icon lainnya" — dan "3 icon lainnya" itu chip trio
     persis di sebelahnya. Kalo ukurannya diketik ulang di sini, dua angka yang
     wajib sama bakal beda begitu salah satunya dioprek. Yang beda cuma
     WARNANYA ("beda sikit"), bukan bentuknya. */
  .carlagi9{--tc:var(--cc9,#ff2d78);color:var(--cc9,#ff2d78);
    border-color:color-mix(in srgb,var(--cc9,#ff2d78) 55%,transparent);
    background:color-mix(in srgb,var(--cc9,#ff2d78) 12%,transparent)}
  .carlagi9:hover{background:color-mix(in srgb,var(--cc9,#ff2d78) 26%,transparent);
    box-shadow:0 0 16px -6px var(--cc9,#ff2d78)}
  .tri9.mati9{opacity:.28;filter:grayscale(1)}
  .tri9row{display:inline-flex;gap:5px;align-items:center}
  .statghd{display:flex;align-items:center;gap:7px;padding:9px 8px 4px;margin-top:6px;border-top:1px dashed var(--line-2)}   /* Q3: divider antar golongan */
  .statghd .ge{font-size:10px}
  .statghd .gl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;font-weight:800;color:var(--gc,var(--mid))}
  .statghd .gline{flex:1;height:1px;background:linear-gradient(90deg,var(--gc,var(--line-2)),transparent);opacity:.5}
  .pop .opt.statopt{border-left:2px solid transparent;transition:.1s}
  .pop .opt.statopt:hover{border-left-color:var(--oc);background:color-mix(in srgb,var(--oc) 12%,transparent);color:var(--ink)}
  .pop .opt.statopt.sel{border-left-color:var(--oc);background:color-mix(in srgb,var(--oc) 16%,transparent)}
  .pop .opt.statclr{opacity:.6;font-style:italic}
  .pop .opt.statclr:hover{opacity:1}
  .pop .opt .pd{width:8px;height:8px;border-radius:50%;flex:none}
  .pop .opt .mono{font-family:"JetBrains Mono",monospace;font-size:12px}

  /* ============ MY PAD ============ */
  .focuscard{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:16px;overflow:visible}
  .focuscard::before{content:"";position:absolute;inset:0;border-radius:var(--r);background:radial-gradient(420px 140px at 12% 0%, rgba(242,177,61,.09), transparent 70%);pointer-events:none}
  .focuscard .fl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:10px;display:flex;align-items:center;gap:8px}
  .focuscard .fl i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber);animation:beat 2.2s ease-in-out infinite}
  .focustitle{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(20px,3vw,30px);line-height:1.2;word-break:break-word}
  /* klik-teks buat edit fokus (My Pad + overlay) */
  .fedit{cursor:text;border-radius:7px;padding:2px 8px;transition:background .12s,box-shadow .12s}
  .fedit:hover{background:color-mix(in srgb,var(--amber) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 35%,transparent)}
  .fedit.editing{background:color-mix(in srgb,var(--amber) 9%,transparent);box-shadow:inset 0 0 0 1px var(--amber);outline:none;cursor:text}
  .fedit .ph{color:var(--low);font-weight:400}
  .focusmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
  .fbtn{background:transparent;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:20px;transition:.14s}
  .fbtn:hover{color:var(--ink);border-color:var(--mid)}
  .fbtn.doneb{border-color:var(--soon);color:var(--soon)} .fbtn.doneb:hover{background:var(--soon);color:#04240f}
  .fpicker{position:relative}
  .fpicker input{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:var(--r);color:var(--ink);font-size:16px;padding:13px 14px;outline:none;font-family:"Barlow",sans-serif}
  .fpicker input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,177,61,.1)}
  .fopts{margin-top:8px;display:flex;flex-direction:column;gap:5px;max-height:260px;overflow:auto}
  .fopt{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--fc,var(--line-2));border-radius:var(--r);padding:9px 12px;cursor:pointer;transition:.12s;font-size:13.5px}
  .fopt:hover{border-color:var(--line-2);transform:translateX(2px)}
  .fopt .fmeta{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);margin-left:auto;white-space:nowrap}
  .fopt.free{border-left-color:var(--amber);color:var(--amber);font-weight:600}
  .padgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .padbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
  .padbox.quietbox{border-style:dashed}
  .padbox .bh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
  .padbox .bt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}
  .padbox .bsub{font-size:11.5px;color:var(--low);margin-bottom:12px}
  .hideme{background:transparent;border:1px solid var(--line);color:var(--mid);cursor:pointer;font-size:10.5px;font-weight:700;font-family:"JetBrains Mono",monospace;padding:4px 10px;border-radius:20px;transition:.13s}
  .hideme:hover{color:var(--ink);border-color:var(--line-2)}
  .noteinput{display:flex;gap:8px;margin-bottom:12px}
  .noteinput input{flex:1;background:var(--void);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:13.5px;padding:10px 12px;outline:none;font-family:"Barlow",sans-serif}
  .noteinput input:focus{border-color:var(--bcol,var(--amber))}
  .noteinput button{background:var(--bcol,var(--amber));color:#111;border:none;border-radius:var(--r);font-weight:700;font-size:12.5px;padding:0 14px;cursor:pointer}
  .notes{display:flex;flex-direction:column;gap:6px}
  .note{display:flex;align-items:flex-start;gap:9px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;font-size:13px;line-height:1.45}
.note{position:relative;transition:background .12s,border-color .12s,opacity .12s}
.fchipsp{flex:1}
.fchip.pkatur{border-color:var(--line-2);color:var(--mid);background:var(--panel-2)}
.fchip.pkatur:hover{border-color:color-mix(in srgb,var(--violet) 40%,transparent);color:var(--violet)}
.fchip.pkatur.active{background:var(--violet);color:var(--void);border-color:var(--violet);box-shadow:0 0 0 2px color-mix(in srgb,var(--violet) 25%,transparent),0 2px 12px -2px var(--violet)}
.note .pkbox{width:18px;height:18px;flex:none;border:1.6px solid var(--line-2);border-radius:5px;display:grid;place-items:center;background:var(--void);margin-top:1px}
.note .pkbox.on{background:var(--violet);border-color:var(--violet)}
.note .pkbox.on::after{content:"✓";color:var(--void);font-size:11px;font-weight:800;line-height:1}
.note.pksel{background:color-mix(in srgb,var(--violet) 13%,transparent);border-color:color-mix(in srgb,var(--violet) 48%,transparent)}
.note.pksel::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--violet)}
.popsep{height:1px;background:var(--line);margin:7px 6px 9px;position:relative}
.popsep span{position:absolute;top:-7px;left:10px;background:var(--panel);padding:0 8px;font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.14em;color:var(--low)}
.selpkbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(30px);background:var(--panel);border:1px solid color-mix(in srgb,var(--violet) 45%,transparent);border-radius:16px;padding:12px 14px;box-shadow:0 20px 50px -12px rgba(0,0,0,.75);opacity:0;pointer-events:none;transition:.24s cubic-bezier(.2,.8,.3,1);z-index:120;max-width:calc(100vw - 24px)}
.selpkbar.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.pkb-top{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.pkb-n{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;color:var(--violet);white-space:nowrap}
.pkb-n b{font-size:19px}
.pkb-hint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);flex:1}
.pkb-all{background:color-mix(in srgb,var(--soon) 14%,transparent);border:1px solid var(--soon);color:var(--soon);border-radius:8px;padding:7px 11px;font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.pkb-x{background:none;border:1px solid var(--line-2);color:var(--mid);border-radius:8px;padding:7px 10px;font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;cursor:pointer}
.pkb-x:hover{border-color:var(--yore);color:var(--yore)}
.pkb-acts{display:flex;gap:8px;flex-wrap:wrap}
.pkb-btn{display:flex;align-items:center;gap:7px;border-radius:10px;padding:10px 14px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800;cursor:pointer;border:1px solid;white-space:nowrap;transition:.12s;color:var(--void)}
.pkb-btn .bi{font-size:15px}
.pkb-arch{background:color-mix(in srgb,var(--amber) 14%,transparent);border-color:var(--amber);color:var(--amber)}
.pkb-harian{background:color-mix(in srgb,var(--now) 14%,transparent);border-color:var(--now);color:var(--now)}
.pkb-diary{background:color-mix(in srgb,var(--violet) 14%,transparent);border-color:var(--violet);color:var(--violet)}
.pkb-kat{background:color-mix(in srgb,var(--soon) 14%,transparent);border-color:var(--soon);color:var(--soon)}
.pkb-nuke{background:color-mix(in srgb,var(--yore) 14%,transparent);border-color:var(--yore);color:var(--yore)}
.pkb-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}
  .note .nt{flex:1;min-width:0;word-break:break-word}
  .note .nts{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);white-space:nowrap;margin-top:2px}
  .note .nact{display:flex;gap:4px;flex:none}
  .nbtn{background:transparent;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;transition:.12s;font-family:"JetBrains Mono",monospace}
  .nbtn:hover{color:var(--ink);border-color:var(--mid)}
  .nbtn.ship{color:var(--bcol,var(--amber));border-color:color-mix(in srgb,var(--bcol,var(--amber)) 45%, transparent)}
  .nbtn.ship:hover{background:var(--bcol,var(--amber));color:#111}
  .nbtn.shipped{color:var(--soon);border-color:transparent;cursor:default}
  .nbtn.nuke:hover{color:var(--yore);border-color:var(--yore)}
  .emptybox{font-family:"JetBrains Mono",monospace;font-size:11.5px;color:var(--low);border:1px dashed var(--line-2);border-radius:var(--r);padding:16px;text-align:center}

  /* ============ CALENDAR ============ */
  .goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:9px;margin-bottom:20px}
  .goal{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gc,var(--line));border-radius:var(--r);padding:11px 13px}
  .goal .gcat{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;color:var(--mid);margin-bottom:5px}
  .goal .gtitle{font-size:13.5px;font-weight:600;line-height:1.3}
  .goal .gprog{margin-top:9px;height:5px;border-radius:20px;background:var(--panel-2);overflow:hidden}
  .goal .gprog i{display:block;height:100%;background:var(--gc);border-radius:20px}
  .goal .gmeta{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);margin-top:6px}
  .months{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px}
  .month{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:11px 10px;cursor:pointer;transition:.12s;min-height:76px;position:relative}
  .month:hover{border-color:var(--line-2);transform:translateY(-1px)}
  .month.on{border-color:var(--now);box-shadow:0 0 0 1px var(--now),0 0 22px -12px var(--now)}
  .month.cur::after{content:"NOW";position:absolute;top:8px;right:8px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.1em;color:var(--now)}
  .month .mname{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px}
  .month .mcount{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);margin-top:2px}
  .month .mdots{display:flex;gap:3px;flex-wrap:wrap;margin-top:9px}
  .month .mdots i{width:6px;height:6px;border-radius:50%}
  @media(max-width:720px){.months{grid-template-columns:repeat(3,1fr)}}
  .detail{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:16px;animation:slideIn .3s cubic-bezier(.2,.7,.3,1)}
  .detail .dh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;flex-wrap:wrap}
  .detail .dt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:16px}
  .detail .dsub{font-size:11px;color:var(--mid);font-family:"JetBrains Mono",monospace}
  .tri{margin-bottom:13px} .tri:last-child{margin-bottom:0}
  .trilabel{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mid);margin:0 0 7px 2px}
  .trilabel .trng{color:var(--low)}
  .mitem{display:flex;align-items:center;gap:11px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--mc,var(--line));border-radius:var(--r);padding:10px 12px;margin-bottom:6px;flex-wrap:wrap}
  .mitem .mbody{flex:1;min-width:180px}
  .mitem .mtitle{font-size:13px;font-weight:500;line-height:1.3;word-break:break-word}
  .mitem .mmeta{display:flex;gap:6px;align-items:center;margin-top:5px;flex-wrap:wrap}
  .mitem .mcat{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid)}
  .schips{display:flex;gap:5px;flex-wrap:wrap}
  .schip{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);background:var(--panel);border:1px solid var(--line);padding:2px 8px;border-radius:20px;cursor:pointer;transition:.12s}
  .schip:hover{color:var(--ink);border-color:var(--line-2)}
  /* v9.12 — target KEPASANG = nyala, warnanya nunjukin levelnya. Makin deket makin tajem.
     Yang kosong tetep 🎯 monokrom, biar kebaca "belum berarti apa-apa". */
  .schip.set{color:var(--dlc,#4cc9f0);border-color:color-mix(in srgb,var(--dlc,#4cc9f0) 45%,transparent);
             background:color-mix(in srgb,var(--dlc,#4cc9f0) 11%,transparent);font-weight:800;
             text-shadow:0 0 12px color-mix(in srgb,var(--dlc,#4cc9f0) 55%,transparent)}
  .schip.set:hover{color:#fff;border-color:var(--dlc,#4cc9f0)}
  .schip.dl-d{--dlc:#4cc9f0} .schip.dl-w{--dlc:#2dd4a7} .schip.dl-p{--dlc:#84cc16}
  .schip.dl-m{--dlc:#f2b13d} .schip.dl-y{--dlc:#a78bfa}
  .schip.set.od{color:#ff8b8b;border-color:rgba(255,107,107,.45);background:rgba(255,107,107,.12);text-shadow:none}
  /* v9.22 — dart kosong ikut aturan yang sama kaya 🔥 urgensi kosong (.urg.empty) sama
     💪 sebelum komit (.tbtn.cmt.off9): monokrom & redup sampe ada yang nyalain. Bedanya
     dart ini SELALU begitu — target yang udah kepasang ganti bentuk jadi LABEL, bukan
     dart yang nyala. Filternya nempel di <i class="tgo"> doang, JANGAN di .schip: chip
     yang sama kepake juga di riwayat Budget buat tanggal & akun yang bawa emoji dompet,
     kalo aturannya kelewat lebar mereka ikut kelabu. Sodaranya jebakan .wsec v9.08. */
  .tgo{font-style:normal;filter:grayscale(1) opacity(.42);transition:filter .16s,opacity .16s}
  .schip.kosong:hover .tgo,.almnrow:hover .tgo{filter:grayscale(.15) opacity(.95)}
  .commit{background:transparent;border:1px solid var(--now);color:var(--now);cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;padding:6px 12px;border-radius:20px;white-space:nowrap;transition:.12s;flex:none}
  .commit:hover{background:var(--now);color:#04222f;box-shadow:0 0 16px -5px var(--now)}
  .committed{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;color:var(--soon);white-space:nowrap;flex:none}
  .addrow{display:flex;gap:8px;margin-top:10px}
  .addrow input{flex:1;background:var(--void);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:13px;padding:9px 12px;outline:none;font-family:"Barlow",sans-serif}
  .addrow input:focus{border-color:var(--now)}
  .unsched{background:var(--panel);border:1px dashed var(--line-2);border-radius:var(--r);padding:15px}
  .unsched .uh{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;margin-bottom:3px}
  .unsched .usub{font-size:11.5px;color:var(--mid);margin-bottom:12px}

  /* ============ CATEGORY BOARD ============ */
  .fchips{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
  .fchip{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;background:var(--panel);border:1px solid var(--line);color:var(--mid);transition:.12s}
  .fchip:hover{color:var(--ink)}
  .fchip.on{color:var(--ck,var(--amber));border-color:color-mix(in srgb,var(--ck,var(--amber)) 45%,transparent);background:color-mix(in srgb,var(--ck,var(--amber)) 10%,transparent)}
  /* ============ v9.21 — ☰ LIST + : lensa kedua ============ */
  /* deretan pill lintas papan — kelas SENDIRI (.abz), bukan numpang .kalz, soalnya
     .kalz.on udah dipatok pink buat pill zoom BUZZ-TIME. Sodaranya jebakan .wsec v9.08. */
  .abbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
  .abz{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.12em;font-weight:800;color:var(--low);
       border:1px solid var(--line-2);border-radius:99px;padding:5px 12px;cursor:pointer;transition:.13s;white-space:nowrap}
  .abz:hover{color:var(--abc,#f2b13d);border-color:color-mix(in srgb,var(--abc,#f2b13d) 45%,transparent)}
  .abz.on{color:var(--abc,#f2b13d);border-color:color-mix(in srgb,var(--abc,#f2b13d) 70%,transparent);
          background:color-mix(in srgb,var(--abc,#f2b13d) 12%,transparent);
          text-shadow:0 0 12px color-mix(in srgb,var(--abc,#f2b13d) 60%,transparent);cursor:default}

  .lpsort{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;padding:5px 12px;border-radius:20px;
          border:1px solid rgba(255,209,102,.42);background:rgba(255,209,102,.08);transition:.13s}
  .lpsort:hover{border-color:rgba(255,209,102,.8);background:rgba(255,209,102,.16);box-shadow:0 0 22px -11px #ffd166}
  .lpsort b{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;font-weight:800;color:#ffd166}
  .lpsv{font-family:"Chakra Petch",sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.03em;color:var(--ink)}
  .lpar{font-style:normal;font-size:12px;color:#ffd166}
  .lpsw{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.1em;color:var(--low);
        border:1px solid var(--line-2);border-radius:6px;padding:2px 6px;white-space:nowrap}
  .lpsw.on{color:#ffd166;border-color:rgba(255,209,102,.45)}

  .lpwrap{display:flex;flex-direction:column;gap:3px}
  .lpsec{margin-bottom:14px}
  .lpsechd{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0 0 7px;padding:6px 11px;border-radius:10px;
           border:1px solid color-mix(in srgb,var(--hc,#f2b13d) 30%,var(--line));
           background:linear-gradient(90deg,color-mix(in srgb,var(--hc,#f2b13d) 12%,transparent),transparent 70%);transition:.13s}
  .lpsechd:hover{border-color:color-mix(in srgb,var(--hc,#f2b13d) 60%,transparent)}
  .lpse{font-size:14px}
  .lpsn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--ink)}
  .lpsechd i{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--hc,#f2b13d) 40%,transparent),transparent)}
  .lpsc{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;color:var(--low)}
  .lprow{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 11px;border-radius:10px;
         border:1px solid var(--line);background:var(--panel);transition:.12s;
         box-shadow:inset 2.5px 0 0 color-mix(in srgb,var(--nc,#f2b13d) 60%,transparent)}
  .lprow:hover{border-color:color-mix(in srgb,var(--nc,#f2b13d) 45%,transparent);background:var(--panel-2)}
  .lprow.pinned{box-shadow:inset 2.5px 0 0 var(--nc,#f2b13d),0 0 22px -14px var(--nc,#f2b13d)}
  .lprow.done9{opacity:.5}
  .lpdep{flex:none;width:calc(var(--dep,0) * 17px);height:1px}
  .lpcar{flex:none;width:13px;font-size:8px;color:var(--low);cursor:pointer;transition:.13s;user-select:none;text-align:center}
  .lpcar.open{transform:rotate(90deg)}
  .lpcar.leaf{cursor:default;opacity:0}
  .lpst{flex:none;width:19px;height:19px;display:grid;place-items:center;border-radius:6px;cursor:pointer;font-size:10px;
        color:var(--sc,#8890a3);border:1px solid color-mix(in srgb,var(--sc,#8890a3) 40%,transparent);transition:.13s}
  .lpst:hover{background:color-mix(in srgb,var(--sc,#8890a3) 16%,transparent)}
  .lppin{flex:none;font-size:10px}
  .lptt{flex:1;min-width:0;cursor:pointer;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lptt:hover{color:var(--amber)}
  .lprow.done9 .lptt{text-decoration:line-through;color:var(--low)}
  .lpsub{flex:none;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.1em;color:var(--low);
         border:1px solid var(--line-2);border-radius:5px;padding:1px 5px}
  .lpbk{flex:none;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.1em;
        color:color-mix(in srgb,var(--nc,#f2b13d) 78%,#fff);white-space:nowrap;
        border:1px solid color-mix(in srgb,var(--nc,#f2b13d) 38%,transparent);border-radius:6px;padding:2px 7px;transition:.13s}
  .lpbk:hover{background:color-mix(in srgb,var(--nc,#f2b13d) 15%,transparent)}
  .lpurg{flex:none;font-size:12px}
  .lpcm{flex:none;font-size:12px;filter:grayscale(1);opacity:.28;transition:.14s}
  .lpcm.on{filter:none;opacity:1}
  .lpmade{flex:none;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);white-space:nowrap}
  .lptenda{margin-top:9px;padding:9px;border:1px dashed var(--line-2);border-radius:11px;display:flex;flex-direction:column;gap:3px}
  .lpthd{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;font-weight:800;color:var(--low);margin-bottom:3px}
  .lpthd .cnt{color:var(--soon);margin-left:6px}

  .lpsheet{padding:14px}
  .lpblk{margin-bottom:14px}
  .lpbh{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.24em;font-weight:800;color:var(--low);margin-bottom:8px}
  .lpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
  @media(max-width:620px){.lpgrid{grid-template-columns:1fr 1fr}}
  .lpop{position:relative;overflow:hidden;cursor:pointer;padding:11px 12px;transition:.15s;
        border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));
        clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}
  .lpop:hover{border-color:rgba(255,209,102,.6);transform:translateY(-2px)}
  .lpop.on{border-color:rgba(255,209,102,.88);box-shadow:0 0 0 1px rgba(255,209,102,.2) inset;
           background:radial-gradient(400px 120px at 15% -30%,rgba(255,209,102,.2),transparent 62%),linear-gradient(180deg,#141108,#0a0a10)}
  .lpop .pnscan{opacity:.3}
  .lpoe{display:block;font-size:18px;margin-bottom:4px;filter:grayscale(1) opacity(.5);transition:.15s}
  .lpop.on .lpoe,.lpop:hover .lpoe{filter:none;opacity:1}
  .lpop b{display:block;font-family:"Chakra Petch",sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.03em;color:var(--ink)}
  .lpop.on b{color:#ffe6a8;text-shadow:.6px 0 0 rgba(255,60,120,.32),-.6px 0 0 rgba(64,220,255,.3)}
  .lpop u{display:block;margin-top:4px;text-decoration:none;font-size:10.5px;line-height:1.5;color:var(--low)}
  .lprow2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  @media(max-width:520px){.lprow2{grid-template-columns:1fr}}
  .lptog{cursor:pointer;padding:10px 12px;border-radius:11px;transition:.14s;
         border:1px solid var(--line);background:var(--panel);
         font-family:"Chakra Petch",sans-serif;font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--mid)}
  .lptog:hover{border-color:rgba(255,209,102,.55);color:var(--ink)}
  .lptog.on{color:#ffe6a8;border-color:rgba(255,209,102,.8);background:rgba(255,209,102,.11);
            box-shadow:0 0 24px -14px #ffd166}
  .lptog small{display:block;margin-top:3px;font-family:Barlow,sans-serif;font-weight:400;font-size:10.5px;letter-spacing:0;color:var(--low)}
  .lpnote{font-size:11.5px;line-height:1.62;color:var(--low)}
  .lpnote b{color:var(--mid)}

  .bl-add{margin-bottom:14px}
  .bl-add input,.bl-add textarea{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:14px;padding:12px 13px;outline:none;font-family:"Barlow",sans-serif;resize:none;overflow:hidden;line-height:1.5;display:block;box-sizing:border-box}
.bl-add textarea.multi{border-color:var(--ck,var(--amber));box-shadow:0 0 0 1px color-mix(in srgb,var(--ck,var(--amber)) 25%,transparent)}
.blbar{display:none;align-items:center;gap:10px;margin-top:7px;padding:8px 11px;background:color-mix(in srgb,var(--ck,var(--amber)) 10%,transparent);border:1px solid color-mix(in srgb,var(--ck,var(--amber)) 35%,transparent);border-radius:8px}
.blbar.show{display:flex}
.blbar-c{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;color:var(--ck,var(--amber));flex:1}
.blbar-k{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid)}
.blbar-go{background:var(--ck,var(--amber));color:var(--void);border:none;border-radius:6px;padding:6px 13px;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;cursor:pointer}
.blbar-go:hover{filter:brightness(1.1)}
  .bl-add input:focus,.bl-add textarea:focus{border-color:var(--ck,var(--amber));box-shadow:0 0 0 3px color-mix(in srgb,var(--ck,var(--amber)) 12%,transparent)}
  .node{margin-bottom:5px}
  /* ⚠ OFFSIDE LAMA, DIUKUR BUKAN DIKIRA: di 412px, .nact2 lebarnya 462px di
     dalem baris 346px, dan .ntitle diperes sampe 6 PIKSEL. Itu udah begitu dari
     jauh sebelum rilis ini — nol pernah keliatan karena di layar lebar dia muat.
     Penyakit yang sama persis kaya .top sama .tdhd di v10.66: FLEX TANPA WRAP
     plus anak yang nol boleh nyusut. Dan wrap di sini juga yang bikin baris
     komen aman turun, bukan mereges judulnya. */
  .noderow{display:flex;flex-wrap:wrap;align-items:center;gap:9px;row-gap:6px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--nc,var(--line));border-radius:var(--r);padding:9px 11px;transition:.12s}
.fchip.atur{border-color:var(--line-2);color:var(--mid);background:var(--panel-2)}
.fchip.atur:hover{border-color:color-mix(in srgb,var(--pink) 40%,transparent);color:var(--pink)}
.fchip.atur.active{background:var(--pink);color:var(--void);border-color:var(--pink);box-shadow:0 0 0 2px color-mix(in srgb,var(--pink) 25%,transparent),0 2px 12px -2px var(--pink)}
.noderow.selmvon{cursor:pointer}
.noderow.selmvsel{cursor:grab}
.dragghost.multi{padding-right:20px;overflow:visible}
.ghostbadge{position:absolute;top:-8px;right:-8px;background:var(--pink);color:var(--void);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 5px;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.selmvbox{width:19px;height:19px;flex:none;border:1.6px solid var(--line-2);border-radius:5px;display:grid;place-items:center;background:var(--void);transition:.12s}
.noderow.selmvon:hover .selmvbox{border-color:var(--pink)}
.selmvbox.on{background:var(--pink);border-color:var(--pink)}
.selmvbox.on::after{content:"✓";color:var(--void);font-size:12px;font-weight:800;line-height:1}
.noderow.selmvon:hover{border-color:color-mix(in srgb,var(--pink) 40%,transparent);background:var(--panel-2)}
.noderow.selmvsel{background:color-mix(in srgb,var(--pink) 13%,transparent);border-color:color-mix(in srgb,var(--pink) 48%,transparent);border-left-color:var(--pink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pink) 20%,transparent)}
.selmvbar{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(30px);background:var(--panel);border:1px solid color-mix(in srgb,var(--pink) 45%,transparent);border-radius:14px;padding:11px 13px 11px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 18px 44px -10px rgba(0,0,0,.7),0 0 0 1px color-mix(in srgb,var(--pink) 12%,transparent);opacity:0;pointer-events:none;transition:.24s cubic-bezier(.2,.8,.3,1);z-index:120;min-width:320px;max-width:calc(100vw - 32px)}
.selmvbar.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.selmvbar .smb-n{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;color:var(--pink);white-space:nowrap}
.selmvbar .smb-n b{font-size:17px}
.selmvbar .smb-sp{flex:1}
.selmvbar .smb-go{background:var(--pink);color:var(--void);border:none;border-radius:8px;padding:9px 16px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.selmvbar .smb-go:hover{filter:brightness(1.1)}
.selmvbar .smb-x{background:none;border:1px solid var(--line-2);color:var(--mid);border-radius:8px;padding:9px 13px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;cursor:pointer}
.selmvbar .smb-x:hover{border-color:var(--yore);color:var(--yore)}
.selmvbar .smb-all{background:color-mix(in srgb,var(--soon) 14%,transparent);border:1px solid var(--soon);color:var(--soon);border-radius:8px;padding:9px 13px;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.selmvbar .smb-all:hover{background:color-mix(in srgb,var(--soon) 24%,transparent)}
.selmvopt .smo-ic{width:26px;height:26px;flex:none;border-radius:7px;display:grid;place-items:center;font-size:14px;background:color-mix(in srgb,var(--mc) 16%,transparent);border:1px solid color-mix(in srgb,var(--mc) 32%,transparent);margin-right:2px}
.selmvopt.dis{opacity:.35;cursor:not-allowed}
.minitoast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(20px);background:var(--panel);border:1px solid var(--soon);color:var(--soon);font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:700;padding:10px 18px;border-radius:22px;opacity:0;transition:.25s;pointer-events:none;z-index:130}
.minitoast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .noderow:hover{border-color:var(--line-2)}
  .noderow.committedrow{opacity:.6}
  .caret2{width:16px;height:16px;flex:none;display:grid;place-items:center;cursor:pointer;color:var(--mid);font-size:10px;transition:transform .12s;border-radius:4px}
  .caret2:hover{background:var(--line);color:var(--ink)}
  .caret2.open{transform:rotate(90deg)}
  .caret2.leaf{visibility:hidden;cursor:default}
  .ntitle{flex:1;min-width:0;font-size:13.5px;line-height:1.35;word-break:break-word;outline:none;border-radius:4px;padding:1px 3px;margin:-1px -3px}
  .ntitle:focus{background:var(--panel-2);box-shadow:0 0 0 2px rgba(76,201,240,.25)}
  .noderow.parentrow .ntitle{font-weight:700}
  .ncount{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);flex:none}
  /* ⚠ 462px di dalem baris 346px — diukur. Rak aksinya sendiri yang offside,
     dan komen 220px yang numpang di dia bikin makin jauh. flex:none nol boleh
     berarti "boleh meleber keluar kartu". */
  .nact2{display:flex;flex-wrap:wrap;align-items:center;gap:5px;row-gap:5px;flex:0 1 auto;min-width:0;justify-content:flex-end;max-width:100%}
  .tbtn{background:transparent;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;transition:.12s;white-space:nowrap}
  .tbtn:hover{color:var(--ink);border-color:var(--mid)}
  .tbtn.sub{color:var(--violet);border-color:transparent;background:rgba(167,139,250,.1);font-size:14px;line-height:1;padding:4px 9px}
  .tbtn.sub:hover{background:rgba(167,139,250,.2)}
  /* v9.12 — 💪 belum komit: redup monokrom, ga ada tanda kehidupan */
  .tbtn.cmt.off9{color:var(--low);border-color:var(--line-2);filter:grayscale(1);opacity:.42;transition:all .16s}
  .tbtn.cmt.off9:hover{filter:none;opacity:1;color:var(--now);border-color:var(--now);background:transparent}
  .ndone.cmton{color:var(--soon);filter:none;opacity:1;text-shadow:0 0 14px rgba(45,212,167,.55)}
  .tbtn.cmt{color:var(--now);border-color:var(--now)}
  .tbtn.cmt:hover{background:var(--now);color:#04222f}
  .tbtn.del:hover{color:var(--yore);border-color:var(--yore)}
  .ndone{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;color:var(--soon);white-space:nowrap}
  .children{margin-left:15px;padding-left:11px;border-left:1px dashed var(--line-2);margin-top:5px}
  /* mini calendar popover */
  .pop.cal{display:block;min-width:242px;padding:10px}
  .calhd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px}
  .calnav{cursor:pointer;color:var(--mid);padding:2px 10px;border-radius:6px;user-select:none}
  .calnav:hover{background:var(--line);color:var(--ink)}
  .calwd{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:3px}
  .calwd span{text-align:center;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low)}
  .calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
  .cald{padding:6px 0;text-align:center;font-family:"JetBrains Mono",monospace;font-size:11px;border-radius:6px;cursor:pointer;color:var(--mid)}
  .cald:hover{background:var(--line);color:var(--ink)}
  .cald.dim{opacity:.25;cursor:default}
  .cald.tdy{box-shadow:inset 0 0 0 1px var(--amber);color:var(--amber)}
  .cald.sel{background:var(--now);color:#04222f;font-weight:700}
  .calclear{margin-top:9px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--low);cursor:pointer;padding:6px;border:1px dashed var(--line-2);border-radius:6px}
  .calquick{display:flex;gap:6px;align-items:center;padding:2px 2px 8px;border-bottom:1px dashed var(--line-2);margin-bottom:8px}
  .calq{flex:1;text-align:center;padding:5px 0;border-radius:9px;background:rgba(167,139,250,.10);border:1px solid rgba(167,139,250,.3);color:var(--violet);font-weight:700;font-size:11.5px;cursor:pointer;transition:.13s}
  .calq:hover{background:rgba(167,139,250,.22)}
  .calqh{font-size:9.5px;color:var(--low);letter-spacing:.08em}
  .caldosa{margin-top:8px;padding-top:7px;border-top:1px dashed var(--line-2)}
  .cdh{font-size:9.5px;color:var(--amber);letter-spacing:.1em;font-weight:700;margin-bottom:4px}
  .cdrow{font-size:10px;color:var(--low);font-family:"JetBrains Mono",monospace;padding:1px 0}
  .cdmd{opacity:.7}
  /* ===== HARIAN V2 (F2) — preset bar + sub-kasta + sink ===== */
  .pbar2{display:flex;gap:7px;align-items:center;margin:2px 0 14px;font-family:"JetBrains Mono",monospace}
  .pchip2{padding:5px 13px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel);color:var(--mid);font-size:10.5px;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:.15s}
  .pchip2.on{color:#06070b;background:var(--amber);border-color:var(--amber);box-shadow:0 0 16px -6px var(--amber)}
  .pplus2{width:26px;height:26px;border-radius:999px;border:1px dashed var(--line-2);color:var(--low);font-size:14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.6}
  .pplus2:hover{opacity:1;color:var(--amber);border-color:var(--amber)}
  .pl2{margin-left:auto;font-size:8.5px;color:var(--low);letter-spacing:.18em}
  .khd2{display:flex;align-items:center;gap:8px;margin:12px 4px 7px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;font-weight:800;color:var(--kc,var(--low))}
  .khd2 .n2{font-size:8px;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:0 6px}
  .khd2 .bar2{height:1px;flex:1;background:linear-gradient(90deg,var(--kc,var(--line-2)),transparent);opacity:.5}
  .khd2.sink2{border-top:1px dashed var(--line-2);padding-top:9px;margin-top:14px}
  .bbwrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:13px}
  .bbx{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--bc,#22d3ee);border-radius:14px;overflow:hidden;transition:.18s}
  .bbxh{display:flex;align-items:center;gap:8px;padding:10px 13px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.06em;cursor:pointer;user-select:none}
  .bbxh:hover .bmore{color:var(--ink)}
  .bbxh .bn{color:var(--bc)}
  .bbxh .cnt{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-left:auto}
  .bbxh .bmore{color:var(--low);font-size:13px}
  .bbx.tray .bbxh{cursor:default}
  .bbxb{padding:9px 10px 11px;min-height:56px}
  .bbempty{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);text-align:center;padding:14px 0;letter-spacing:.08em}
  .bbwrap.picking .bbx{cursor:pointer;animation:bbtp 1.2s ease infinite}
  .bbwrap.picking .bbx:hover{border-color:var(--amber);transform:translateY(-2px)}
  .bbwrap.picking .bbx.src{animation:none;opacity:.55}
  @keyframes bbtp{0%,100%{box-shadow:0 0 8px -7px var(--amber)}50%{box-shadow:0 0 18px -7px var(--amber)}}
  .bcd{display:flex;align-items:flex-start;gap:9px;background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:8px 11px;margin-bottom:7px;font-size:12.5px;line-height:1.45}
  .bcd:last-child{margin-bottom:0}
  .bcd .btx{flex:1;min-width:0;padding-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .bcd.g3 .btx{text-decoration:line-through;color:var(--low)}
  .bcd.lifted{opacity:.35;border-style:dashed;border-color:rgba(242,177,61,.5)}
  .bsb{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;color:var(--sc,#8890a3);border:1.5px solid color-mix(in srgb,var(--sc,#8890a3) 55%,transparent);background:color-mix(in srgb,var(--sc,#8890a3) 9%,transparent);cursor:pointer;user-select:none;transition:.15s}
  .bsb:hover{box-shadow:0 0 11px -4px var(--sc);transform:scale(1.1)}
  .bsb .ongo{margin:0}
  .bbwrap.picking .bsb{pointer-events:none;opacity:.4}
  .bbadd{border:1px dashed var(--line-2);border-radius:14px;display:grid;place-items:center;color:var(--low);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;min-height:104px;cursor:pointer;text-align:center;padding:10px}
  .bbadd:hover{color:var(--violet);border-color:rgba(167,139,250,.5)}
  .bpbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;background:var(--panel);border:1px solid rgba(242,177,61,.6);border-radius:13px;padding:10px 16px;display:flex;align-items:center;gap:11px;box-shadow:0 10px 40px -12px rgba(0,0,0,.9),0 0 26px -10px var(--amber);animation:pin .2s ease}
  .bpbar .pe{font-size:16px;animation:bwave 1s ease infinite}
  @keyframes bwave{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}
  .bpbar .pt{font-size:12px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bpbar .ph{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .bpbar .px{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--yore);border:1px solid rgba(255,93,93,.4);border-radius:8px;padding:5px 10px;cursor:pointer}
  .trailbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px}
  .trh{display:flex;align-items:center;gap:9px;padding:11px 14px;cursor:pointer;user-select:none}
  .trh:hover{background:rgba(255,255,255,.015)}
  .tri{font-size:14px}
  .trt2{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em}
  .trn2{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low)}
  .trlast2{flex:1;min-width:0;font-size:11px;color:var(--mid);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .trd2{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--amber);flex:none}
  .trcar2{color:var(--low);font-size:10px;transition:.2s}
  .trcar2.op{transform:rotate(90deg)}
  .trb2{border-top:1px solid var(--line);padding:12px 14px 14px;animation:c2in .2s ease}
  .trmini{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-bottom:11px}
  .trml{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;color:var(--low);margin-right:6px}
  .trc2{width:12px;height:12px;border-radius:4px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
  .trc2.on{background:rgba(242,177,61,.24);border-color:rgba(242,177,61,.55);box-shadow:0 0 7px -3px var(--amber)}
  .trc2.tdy{outline:1px solid var(--now)}
  .trta2{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:9px 11px;color:var(--ink);font-size:12px;min-height:50px;resize:vertical;font-family:inherit}
  .trta2:focus{outline:none;border-color:rgba(76,201,240,.45)}
  .trrow2{display:flex;align-items:center;gap:6px;margin:7px 0 11px;flex-wrap:wrap}
  .trtag2{font-family:"JetBrains Mono",monospace;font-size:8.5px;border-radius:7px;padding:3px 8px}
  .trtag2.auto{color:var(--now);border:1px solid rgba(76,201,240,.4);background:rgba(76,201,240,.06)}
  .trtag2.sk{color:var(--violet);border:1px dashed rgba(167,139,250,.45);cursor:pointer}
  .trtag2.sk:hover{background:rgba(167,139,250,.08)}
  .trsave2{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:700;color:var(--soon);border:1px solid rgba(45,212,167,.45);border-radius:8px;padding:5px 12px;cursor:pointer;background:rgba(45,212,167,.06)}
  .trfil2{display:flex;gap:5px;margin-bottom:9px}
  .trf2{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);border:1px solid var(--line-2);border-radius:7px;padding:3px 9px;cursor:pointer;user-select:none}
  .trf2.on{color:var(--now);border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.07)}
  .trentry{display:flex;gap:9px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--mc,#4cc9f0);border-radius:10px;padding:9px 12px;margin-bottom:7px}
  .trentry.sk{cursor:pointer}
  .trentry.sk:hover{border-color:rgba(167,139,250,.5)}
  .tre{flex:none;font-size:13px}
  .trbody3{flex:1;min-width:0}
  .trtx{font-size:12px;line-height:1.5}
  .trgo{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--violet);opacity:.8}
  .trts{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);margin-top:4px}
  .trarow{display:flex;align-items:center;gap:8px;padding:5px 11px;margin-bottom:4px;border-radius:8px;background:rgba(255,255,255,.014);border:1px solid rgba(27,31,43,.6)}
  .trarow.at{cursor:pointer}
  .trarow.at:hover{border-color:var(--line-2)}
  .tra1{flex:none;width:15px;text-align:center;font-size:10.5px}
  .tra2{flex:1;min-width:0;font-size:10.5px;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tra3{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);flex:none}
  .wcc{flex:none;width:36px;height:36px;border-radius:9px;  /* v9.87: disamain .wcell biar kolom lurus */display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.016),rgba(255,255,255,.004));border:1px solid rgba(42,48,66,.28);font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;color:transparent}
  .wcc.tdy{border-color:rgba(76,201,240,.4)}
  .wcc.on{background:linear-gradient(145deg,rgba(242,177,61,.16),rgba(242,177,61,.05));border-color:rgba(242,177,61,.42);color:#ffd27a;box-shadow:0 0 9px -4px var(--amber)}
  .wcc.on.hot{font-size:11px}
  .wcc.on.tdy{border-color:rgba(76,201,240,.6)}
  .fsep{width:1px;height:18px;background:var(--line-2);margin:0 4px;flex:none}
  .trktag{font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);flex:none;border:1px solid var(--line);border-radius:5px;padding:1px 5px}
  .atrhd{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--amber);margin:4px 0 8px}
  .wle{margin-right:6px}
  .nsbox{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;cursor:pointer;user-select:none;color:var(--sc);border:1.5px solid color-mix(in srgb,var(--sc) 55%,transparent);background:color-mix(in srgb,var(--sc) 9%,transparent)}
  .nsbox:hover{box-shadow:0 0 11px -4px var(--sc)}
  .nsbox .ongo{margin:0}
  .btree .tenda.bkt2{margin-top:12px;border:1px dashed var(--line-2);border-radius:12px;overflow:hidden}
  .btree .tenda.bkt2 .thd{display:flex;align-items:center;gap:8px;padding:9px 13px;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.12em;color:var(--soon);cursor:pointer;user-select:none}
  .btree .tenda.bkt2 .thd:hover{background:rgba(45,212,167,.05)}
  .btree .tenda.bkt2 .cnt{color:var(--mid)}
  .btree .tenda.bkt2 .car{margin-left:auto;color:var(--low)}
  .btree .tenda.bkt2 .tbody{border-top:1px dashed var(--line-2);padding:7px 9px 9px}
  .bsink{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;color:var(--low);text-align:center;padding:9px 0 6px;border-top:1px dashed var(--line-2);margin-top:8px}
  .vtg{font-size:12px;color:var(--low);border:1px solid var(--line-2);border-radius:8px;padding:5px 9px;cursor:pointer;user-select:none;flex:none}
  .vtg.hid{display:none}
  .vtg.on{color:var(--now);border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.08);box-shadow:0 0 11px -6px var(--now)}
  .cap2{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;color:var(--low);text-transform:uppercase;margin:26px 0 11px}
  .cats .cat.mini .em{width:32px;height:32px;font-size:15px}
  .cats .cat.mini{padding:11px 13px}
  .cog2 .brow{display:flex;align-items:center;gap:10px;padding:8px 11px;margin:0 0 3px;background:transparent;border:1px solid transparent;border-radius:9px}
  .cog2 .brow:hover{background:rgba(255,255,255,.02);border-color:var(--line)}
  .cog2 .brow .bl{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;white-space:nowrap;overflow:hidden}
  .cog2 .brow .bl small{display:inline;margin:0;color:var(--low);font-size:10px;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
  .lkbar{display:flex;align-items:center;gap:9px;margin:2px 0 12px}
  .lkbar input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 14px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:12px}
  .lkbar input:focus{outline:none;border-color:rgba(76,201,240,.5);box-shadow:0 0 18px -10px var(--now)}
  .lkview{display:inline-flex;gap:4px}
  .lkview b{font-size:13px;font-weight:400;color:var(--low);border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;cursor:pointer;user-select:none}
  .lkview b.on{color:var(--now);border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.08)}
  .lktab .lkrow{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:10px 13px;margin-bottom:7px;cursor:pointer;transition:.13s}
  .lktab .lkrow:hover{border-color:rgba(76,201,240,.45);box-shadow:0 0 18px -12px var(--now);transform:translateX(3px)}
  .lke{flex:none}
  .lkn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--ink);flex:none;max-width:32%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lkh{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--now);opacity:.85;flex:none;max-width:26%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lkd{flex:1;min-width:0;font-size:11px;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lka{flex:none;display:inline-flex;gap:3px}
  .lka span{font-size:12px;color:var(--low);padding:4px 6px;border-radius:7px;cursor:pointer;opacity:0;transition:.13s}
  .lkrow:hover .lka span,.lkcard:hover .lka span{opacity:.85}
  .lka span:hover{color:var(--ink);background:rgba(255,255,255,.06);opacity:1}
  @media(hover:none){ .lka span{opacity:.5} }
  .lkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px}
  .lkcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;transition:.14s;position:relative}
  .lkcard:hover{border-color:rgba(76,201,240,.5);box-shadow:0 0 26px -14px var(--now);transform:translateY(-3px)}
  .lkc1{display:flex;align-items:center;gap:8px;margin-bottom:5px}
  .lkcard .lkn{max-width:none;font-size:14px}
  .lkcard .lkh{max-width:none;display:block;margin-bottom:4px}
  .lkcard .lkd{white-space:normal;font-size:10.5px;line-height:1.5}
  .lkcard .lka{position:absolute;top:9px;right:9px}
  /* ============ v9.15 — 🔗 FOLDER MY LINKS & 📋 SUB-ITEM PRESET ============
     Nama kelas dicek satu-satu ga nabrak yang lama (pelajaran .wsec v9.08 & .wqname v9.11). */
  .lkcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 11px;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.13em}
  .lkcrumb i{font-style:normal;color:var(--line-2)}
  .lkcb{color:var(--low);cursor:pointer;padding:4px 8px;border:1px solid transparent;border-radius:7px;transition:.13s;white-space:nowrap}
  .lkcb:hover{color:var(--ink);border-color:var(--line-2)}
  .lkcb.on{color:var(--fc,#4cc9f0);border-color:color-mix(in srgb,var(--fc,#4cc9f0) 45%,transparent);background:color-mix(in srgb,var(--fc,#4cc9f0) 10%,transparent);cursor:default}
  .lkbtn{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;font-weight:800;color:#0a0c12;background:var(--lkacc,#4cc9f0);
         border-radius:9px;padding:9px 12px;cursor:pointer;user-select:none;white-space:nowrap;flex:none;transition:.13s}
  .lkbtn:hover{filter:brightness(1.12)}
  .lkbtn.gh{background:transparent;color:var(--mid);border:1px solid var(--line-2)}
  .lkbtn.gh:hover{color:var(--ink);border-color:var(--mid)}
  .lkfgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px;margin-bottom:15px}
  .lkfcard{position:relative;display:flex;flex-direction:column;gap:3px;background:var(--panel);border:1px solid var(--line);
           border-left:3px solid var(--fc,#4cc9f0);border-radius:13px;padding:13px 14px;cursor:pointer;transition:.14s}
  .lkfcard:hover{border-color:color-mix(in srgb,var(--fc,#4cc9f0) 55%,transparent);border-left-color:var(--fc,#4cc9f0);
                 box-shadow:0 0 24px -14px var(--fc,#4cc9f0);transform:translateY(-2px)}
  .lkfe{font-size:20px;line-height:1}
  .lkfn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.06em;color:var(--ink);
        overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lkfm{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;color:var(--low)}
  .lkfcog{position:absolute;top:9px;right:9px;font-size:11px;color:var(--low);padding:3px 5px;border-radius:6px;opacity:0;transition:.13s}
  .lkfcard:hover .lkfcog{opacity:.8}
  .lkfcog:hover{opacity:1!important;color:var(--ink);background:rgba(255,255,255,.06)}
  .lkgrip{flex:none;width:13px;color:var(--line-2);cursor:grab;font-size:10px;user-select:none}
  .lkrow:hover .lkgrip,.lksep:hover .lkgrip{color:var(--mid)}
  .lksep{display:flex;align-items:center;gap:9px;margin:13px 0 6px;padding:0 3px}
  .lksep b{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--lkacc,#4cc9f0);
           cursor:pointer;white-space:nowrap}
  .lksep i{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--lkacc,#4cc9f0) 45%,transparent),transparent)}
  .lksep .lka span{opacity:0}
  .lksep:hover .lka span{opacity:.8}
  .lksep.g{grid-column:1/-1;margin:6px 0 0}
  .lksep.g b{font-size:9.5px}

  .pzsep{display:flex;align-items:center;gap:10px;margin:14px 0 7px;padding:0 4px}
  .pzsep b{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--amber,#f2b13d);cursor:pointer;white-space:nowrap}
  .pzsep i{flex:1;height:1px;background:linear-gradient(90deg,rgba(242,177,61,.45),transparent)}
  .pzsep.dragging{opacity:.35}
  .pztab .pzrow.subz{margin-left:26px;background:var(--panel-2);border-style:dashed}
  .pztick{flex:none;color:var(--line-2);font-size:11px;margin-left:-4px}
  .pzrow.indukz .pzn{font-weight:700}
  .pzkid{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;color:var(--soon);margin-left:8px;
         border:1px solid rgba(45,212,167,.3);border-radius:6px;padding:2px 5px}
  .pzind{flex:none;font-size:11px;color:var(--line-2);cursor:pointer;padding:3px 5px;border-radius:6px;transition:.12s}
  .pzrow:hover .pzind{color:var(--low)}
  .pzind:hover{color:var(--ink);background:rgba(255,255,255,.06)}
  .pzind.on{color:var(--amber,#f2b13d)}
  .pzhead{display:flex;align-items:center;gap:11px;padding:5px 13px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.12em;color:var(--low)}
  .pzhdrag{width:14px;flex:none}.pzhbox{width:20px;flex:none}
  .pzhn{flex:1;min-width:0}
  .pzhc{flex:none;width:clamp(80px,18%,150px);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pzhc:hover{color:var(--amber)}
  .pzhx{width:46px;flex:none}   /* v9.15: baris sekarang punya DUA tombol di ujung (⇥ sama ✕) — kepalanya ikut dilebarin biar kolomnya lurus */
  .pzdrag{flex:none;width:14px;color:var(--line-2);cursor:grab;font-size:11px;user-select:none}
  .pzrow:hover .pzdrag{color:var(--mid)}
  .pzrow.dragging{opacity:.35}
  .pzrow .pzl{width:clamp(80px,18%,150px);max-width:none}
  /* ⚰ DUA DEKLARASI .pzbox INI MATI, dan matinya diem-diem: yang di bawah
     (~20 baris lagi) nyetel `border:` shorthand yang NGERESET border-color, dan
     `.pzrow.ck .pzbox` versi ijo nimpa versi --sc.
     ⚠ AKIBATNYA: markup-nya masih ngirim `style="--sc:<warna status>"` tiap
     baris, tapi warnanya NOL PERNAH KEPAKE — semua kotak status kegambar ijo.
     DIBIARIN KEGAMBAR IJO DI RILIS INI, sengaja: mbalikin warna per-status itu
     KEPUTUSAN TAMPILAN, bukan tambelan, dan itu haknya bang Sam. Yang dibenerin
     cuma bohongnya — sekarang matinya keliatan, bukan nyamar idup. */
  .pzboxMATI9{color:var(--sc,#525a6d);border-color:color-mix(in srgb,var(--sc,#525a6d) 55%,transparent)}
  .pzrow.ck .pzboxMATI9{border-color:color-mix(in srgb,var(--sc) 70%,transparent);background:color-mix(in srgb,var(--sc) 14%,transparent);box-shadow:0 0 11px -5px var(--sc)}
  .pzstats{display:inline-flex;align-items:center;gap:4px;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low)}
  .pzst{color:var(--sc);border:1px solid color-mix(in srgb,var(--sc) 45%,transparent);border-radius:6px;padding:2px 6px;font-weight:800}
  .cogz{font-size:13px}
  .pzn[data-en]{cursor:pointer}
  .pzn[data-en]:hover{color:var(--now)}
  .pzgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
  .pzcard{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:17px 15px;cursor:pointer;text-align:center;transition:.15s}
  .pzcard:hover{border-color:rgba(45,212,167,.5);box-shadow:0 0 26px -13px var(--soon);transform:translateY(-3px)}
  .pze{font-size:27px;margin-bottom:7px}
  .pznm{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.07em;color:var(--ink);margin-bottom:6px}
  .pzpg{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;color:#4ade80;display:inline-block;border:1px solid rgba(74,222,128,.35);background:rgba(74,222,128,.06);border-radius:7px;padding:2px 8px}
  .pzbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:2px 0 12px}
  .pzbar .warn{color:var(--yore);border-color:rgba(255,93,93,.35)}
  .pzprog{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;color:#4ade80}
  .pztab .pzrow{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:10px 13px;margin-bottom:7px;cursor:pointer;transition:.12s}
  .pztab .pzrow:hover{border-color:rgba(45,212,167,.4)}
  .pzbox{flex:none;width:20px;height:20px;border-radius:7px;border:1.5px solid var(--line-2);display:grid;place-items:center;font-size:12px;color:var(--soon)}
  .pzrow.ck .pzbox{border-color:rgba(45,212,167,.6);background:rgba(45,212,167,.12);box-shadow:0 0 11px -5px var(--soon)}
  .pzrow.ck .pzn{text-decoration:line-through;color:var(--low)}
  .pzn{flex:1;min-width:0;font-size:13px;color:var(--ink)}
  .pzl{flex:none;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid);border:1px solid var(--line-2);border-radius:7px;padding:3px 8px;max-width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pzl:hover{color:var(--amber);border-color:rgba(242,177,61,.45)}
  .pzx{flex:none;color:var(--line-2);font-size:12px;padding:3px 5px;cursor:pointer;opacity:0;transition:.13s}
  .pzrow:hover .pzx{opacity:.8}
  .pzx:hover{color:var(--yore)}
  @media(hover:none){ .pzx{opacity:.4} }
  /* v9.24 — aturan `.pop.cogp.wide{width:min(780px,94vw)}` DICABUT dari sini.
     Dia ditulis DUA KALI: yang ini minta 780px, yang di bawah (sekitar 25 baris lagi)
     ngunci max-width:360px. Bobotnya sama persis, jadi yang belakangan menang dan yang
     ini ga pernah kepake seumur hidupnya — cockpit kejepit di 360px, kolom navnya makan
     118px, sisanya 230px buat label, makanya tulisannya kepotong semua sama muncul
     scrollbar mendatar. Sekarang cockpit-nya jadi LEMBAR TENGAH, lebarnya diurus
     mountSheet, dan `.pop.insheet` yang bikin isinya selebar lembarnya. Bukan aturan
     kelewat lebar kaya .wsec v9.08 — ini satu selektor yang sama ditulis dua kali
     dengan angka yang bertengkar. Sengaja ditinggalin catatan, bukan cuma dihapus. */
  .pheadact{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
  .cog2{display:flex;gap:0;width:100%;box-sizing:border-box}
  .cog2nav{flex:none;width:118px;display:flex;flex-direction:column;gap:3px;padding-right:10px;border-right:1px solid var(--line);margin-right:12px}
  .c2n{display:flex;align-items:center;gap:7px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.09em;color:var(--mid);padding:8px 9px;border-radius:9px;cursor:pointer;user-select:none;border:1px solid transparent}
  .c2n i{font-style:normal;font-size:12px;width:16px;text-align:center}
  .c2n:hover{color:var(--ink);background:rgba(255,255,255,.03)}
  .c2n.on{color:var(--amber);border-color:rgba(242,177,61,.45);background:rgba(242,177,61,.07);box-shadow:0 0 14px -8px var(--amber)}
  .cog2panes{flex:1;min-width:0;max-height:min(62vh,560px);overflow-y:auto;padding-right:4px}
  .c2p{display:none}
  .c2p.on{display:block;animation:c2in .18s ease}
  @keyframes c2in{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:none}}
  .icgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:6px 2px}
  .icg{font-size:16px;text-align:center;padding:6px 0;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;user-select:none}
  .icg:hover{border-color:var(--amber);background:rgba(242,177,61,.08)}
  .icg.on{border-color:var(--amber);background:rgba(242,177,61,.14);box-shadow:0 0 10px -5px var(--amber)}
  .statp.ic{font-size:11px;padding:2px 7px;line-height:1.3;font-weight:800}
  .statp.ic.ongoc .ongo{margin-left:0}
  @media(max-width:640px){ .cog2{min-width:0;flex-direction:column} .cog2nav{width:auto;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px;margin:0 0 10px} }
  .fchip.atur-top{margin-left:auto}
  .kastachip.ic{font-size:11px;padding:2px 6px;letter-spacing:0;line-height:1.2}
  .kic{cursor:pointer;font-size:13px;flex:none;padding:0 2px}
  .kic:hover{transform:scale(1.2)}
  .kastachip{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.08em;font-weight:800;padding:2px 6px;border-radius:6px;color:var(--kc);background:color-mix(in srgb,var(--kc) 13%,transparent);border:1px solid color-mix(in srgb,var(--kc) 40%,transparent);flex:none;margin-right:2px}
  .rgroup.rg-in{margin:11px 0 5px}
  .rrow .kastachip{margin-left:4px}
  /* v9.24 — LAPISAN KEDUA dari bug yang sama, dan ini yang beneran nyekek.
     `.pop.insheet` (di bawah) udah nyuruh isi lembar jadi lebar penuh & lepas kunci
     tinggi — TAPI bobotnya cuma (0,2,0), sementara `.pop.cogp.wide` sama
     `.pop.cogp.scrolly` bobotnya (0,3,0). Yang bobotnya lebih gede menang, jadi
     kunci 360px sama gulungan-sendiri ITU TETEP NEMPEL walau popupnya udah pindah
     ke dalem lembar. Lembarnya 780 tapi isinya kejepit 360 — dari luar kelihatan
     "udah dibenerin" padahal belum. Makanya dua aturan ini DIKUNCI cuma buat popup
     yang beneran nempel: begitu dia di dalem lembar, dua-duanya ga berlaku. */
  .pop.cogp{min-width:230px;max-width:320px;padding:9px 9px 8px}
  .pop.cogp.wide:not(.insheet){min-width:280px;max-width:360px}
  .pop.cogp.scrolly:not(.insheet){max-height:min(70vh,560px);overflow-y:auto}
  .cogt{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;font-weight:800;color:var(--cc,#a78bfa);margin:2px 2px 8px}
  .cogt small{display:block;color:var(--low);font-size:8px;letter-spacing:.1em;margin-top:2px;font-weight:600}
  .cogsec{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.22em;color:var(--low);font-weight:800;margin:12px 2px 5px;border-bottom:1px dashed var(--line-2);padding-bottom:4px}
  .cogo{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:9px;font-size:12.5px;color:var(--mid);cursor:pointer;border:1px solid transparent}
  .cogo:hover{background:var(--panel-2)} .cogo.on{color:var(--ink);border-color:var(--line-2);background:var(--panel-2)}
  .cogo .cd{width:9px;height:9px;border-radius:99px;background:var(--dc,#888);flex:none}
  .cogo small{display:block;font-size:9.5px;color:var(--low)}
  .cogok{margin-top:8px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--amber);border:1px dashed rgba(242,177,61,.5);border-radius:9px;padding:7px;cursor:pointer}
  .cogin{width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);padding:8px 10px;font-size:13px;margin:2px 0 4px}
  /* ⚠ dulu namanya .krow, dan itu ketabrak KARTU KAUL yang dateng belakangan
     dengan display:grid. Menu aksi ini dirancang flex rata-tengah (ikon + tebal
     + miring sebaris), tapi kegambar grid — jadi tiap barisnya numpuk ke bawah. */
  .karow{display:flex;align-items:center;gap:7px;padding:6px 6px;border:1px solid var(--line);border-radius:10px;margin-bottom:5px;background:var(--panel-2)}
  .kmv{color:var(--low);cursor:pointer;font-size:10px;padding:2px 3px}
  .kc2{width:13px;height:13px;border-radius:5px;background:var(--kc);cursor:pointer;flex:none;box-shadow:0 0 8px -2px var(--kc)}
  .kn2{flex:1;font-size:12.5px;color:var(--ink);cursor:pointer;font-weight:600}
  .kn2 small{color:var(--low);font-weight:400}
  .kdf{color:var(--low);cursor:pointer;font-size:12px} .kdf.on{color:var(--amber);text-shadow:0 0 8px var(--amber)}
  .kx{color:var(--low);cursor:pointer;font-size:11px;padding:2px 4px} .kx:hover{color:var(--yore)}
  .pd{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.06em;color:var(--mid);border:1px solid var(--line-2);border-radius:7px;padding:2px 6px;cursor:pointer}
  .px{color:var(--low);font-size:9px}
  .fbar2{display:flex;gap:5px;align-items:center;margin:-6px 0 12px;overflow-x:auto;padding:3px 2px;scrollbar-width:none}
  .fbar2::-webkit-scrollbar{display:none}
  .fch3{flex:none;font-size:13px;padding:3px 8px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel);cursor:pointer;opacity:.55;transition:.13s}
  .fch3.on{opacity:1;border-color:var(--dc,var(--now));box-shadow:0 0 10px -3px var(--dc,var(--now));background:var(--panel-2)}
  .fch3.clr{color:var(--yore);opacity:.8}
  .fch3.tz{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.1em;padding:5px 9px}
  .fsep{flex:none;width:1px;height:16px;background:var(--line-2);margin:0 3px}
  .pfun{padding:5px 10px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel);color:var(--mid);font-size:10.5px;font-weight:700;cursor:pointer}
  .pfun.on{color:#06070b;background:var(--now);border-color:var(--now)}
  .zone.colz{padding-bottom:4px;opacity:.82}
  .zcaret{color:var(--low);font-size:10px;margin-left:2px}
  .zone .zonehd{cursor:pointer}
  /* ===== F2\' DIALOG TASK ===== */
  .tdOv{position:fixed;inset:0;z-index:560;background:rgba(3,4,8,.72);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:3vh 14px 8vh}
  .tdlg{width:min(560px,100%);background:linear-gradient(180deg,var(--panel),var(--void));border:1px solid var(--line-2);border-radius:18px;padding:14px 14px 11px;box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 40px -18px var(--violet)}
  /* ⚡ penyakit yang SAMA PERSIS kaya .top: flex tanpa wrap, tujuh anak, muat
     di layar lebar jadi nol pernah keliatan salah — sampe isinya rame. Di potret
     bang Sam yang kena tombol ✕-nya, kedorong keluar kepala kartunya. */
  .tdhd{display:flex;align-items:center;gap:8px;row-gap:7px;flex-wrap:wrap;margin-bottom:9px;font-family:"JetBrains Mono",monospace;min-width:0}
  .tdhd>*{min-width:0}
  .tdsrc{font-size:8px;letter-spacing:.18em;color:var(--low);border:1px dashed var(--line-2);border-radius:99px;padding:3px 9px}
  .tdsrc b{color:var(--violet)}
  .tdx{margin-left:auto;color:var(--low);cursor:pointer;font-size:15px;padding:2px 8px}
  .tdtitle{width:100%;box-sizing:border-box;background:var(--panel-2);border:1px solid var(--line-2);border-radius:12px;color:var(--ink);font-size:15px;line-height:1.45;padding:11px 13px;font-family:inherit;resize:none;min-height:54px}
  .tdtitle:focus{outline:none;border-color:var(--amber);box-shadow:0 0 14px -6px var(--amber)}
  .tdnote{font-size:9px;color:var(--low);margin:4px 2px 10px;font-family:"JetBrains Mono",monospace}
  .tdrows{display:flex;flex-direction:column;gap:6px}
  .tdrow{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--panel-2);cursor:pointer}
  .tdrow:hover{border-color:var(--line-2)}
  .tdi{width:20px;text-align:center;flex:none;font-size:13px}
  .tdl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;color:var(--low);width:70px;flex:none;font-weight:800}
  .tdv{flex:1;font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tdv small{color:var(--low);font-size:10px}
  .tdchip{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;padding:2px 8px;border-radius:7px;border:1px solid currentColor}
  .tdchev{color:var(--low);font-size:10px}
  .tdpick{border:1px solid var(--line-2);border-radius:11px;background:var(--void);padding:7px;display:none}
  .tdpick.show{display:block;animation:tdin .14s ease}
  @keyframes tdin{from{opacity:0;transform:translateY(-4px)}to{opacity:1}}
  .tdghd{display:flex;align-items:center;gap:7px;padding:7px 6px 4px;margin-top:5px;border-top:1px dashed var(--line-2);font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;font-weight:800}
  .tdghd:first-child{border-top:none;margin-top:0}
  .tdghd .gl2{flex:1;height:1px;background:linear-gradient(90deg,currentColor,transparent);opacity:.4}
  .tdo{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;font-size:12px;color:var(--mid);cursor:pointer}
  .tdo:hover{background:var(--panel-2)} .tdo.sel{color:var(--ink);background:var(--panel-2)}
  .tdo .pd2{width:8px;height:8px;border-radius:99px;flex:none}
  .tdcr{display:flex;flex-wrap:wrap;gap:6px;padding:4px}
  .tdc{padding:5px 11px;border-radius:999px;border:1px solid var(--line-2);font-size:12px;cursor:pointer;color:var(--mid)}
  .tdc.sel{color:#06070b;font-weight:700;background:var(--amber);border-color:var(--amber)}
  .tdcalq{display:flex;gap:5px;margin-bottom:9px}
  .tdq{flex:1;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;border:1px solid var(--line-2);border-radius:9px;padding:6px;color:var(--now);cursor:pointer}
  .tdmd{margin-left:auto;flex:1.6;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);border-radius:9px;padding:6px;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--mid);cursor:pointer}
  .tdmd.on{color:var(--flexc,#5eead4);border-color:rgba(94,234,212,.5)}
  .tdnav{display:flex;align-items:center;margin-bottom:6px;font-family:"JetBrains Mono",monospace}
  .tdnav b{flex:1;text-align:center;font-size:10.5px;letter-spacing:.18em;color:var(--ink)}
  .tdnav span{color:var(--low);cursor:pointer;padding:2px 10px;font-size:12px}
  .tdgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
  .tddh{text-align:center;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:var(--low);padding:3px 0;font-weight:800}
  .tdd{aspect-ratio:1.15;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:11.5px;color:var(--mid);cursor:pointer;border:1px solid transparent;font-family:"JetBrains Mono",monospace}
  .tdd:hover{border-color:var(--line-2)}
  .tdd.out{opacity:.22;pointer-events:none}
  .tdd.today{border-color:var(--amber);color:var(--amber)}
  .tdd.sel{background:var(--amber);color:#06070b;font-weight:800}
  .tdd.inr{background:rgba(94,234,212,.14);color:#5eead4;border-radius:0}
  .tdd.r0{background:#5eead4;color:#06070b;font-weight:800;border-radius:8px 0 0 8px}
  .tdd.r1{background:#5eead4;color:#06070b;font-weight:800;border-radius:0 8px 8px 0}
  .tdsum{margin-top:8px;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:#5eead4;text-align:center;letter-spacing:.06em}
  .tddosa{border-top:1px dashed var(--line-2);margin-top:9px;padding-top:7px;font-size:10px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .tddosa b{color:var(--amber)}
  .tdtogs{display:flex;gap:6px}
  .tdtog{flex:1;border:1px solid var(--line);border-radius:11px;padding:9px 11px;background:var(--panel-2);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--mid)}
  .tdtog .st2{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;color:var(--low)}
  .tdtog.on{border-color:currentColor}
  .tdtog.tspin.on{color:var(--yore)} .tdtog.tfpin.on{color:#5eead4}
  .tdtog.on .st2{color:currentColor}
  .tdacts{display:flex;gap:6px;margin-top:12px;border-top:1px dashed var(--line-2);padding-top:10px}
  .tdact{flex:1;text-align:center;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em;font-weight:800;border:1px solid var(--line-2);border-radius:10px;padding:9px 5px;color:var(--mid);cursor:pointer}
  .tdact:hover{color:var(--ink)}
  .tdact.del:hover{color:var(--yore);border-color:rgba(255,93,93,.4)}
  .tdsubnew{margin-top:7px}
  .tdsubin{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:7px 10px;outline:none;font-family:Barlow,sans-serif;font-size:12.5px}
  .tdsubin:focus{border-color:var(--now)}
  .tdsub{margin-top:8px;font-size:10px;color:var(--low);font-family:"JetBrains Mono",monospace;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .tdsub .k2{color:var(--violet)}
  .tdsub .act2{text-decoration:underline dotted;cursor:pointer}
  .vtabs{display:flex;gap:5px;margin:2px 0 4px;border-bottom:1px solid var(--line);overflow-x:auto}
  .vtab{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;font-weight:800;color:var(--low);padding:8px 13px 10px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:.14s}
  .vtab:hover{color:var(--mid)}
  .vtab.on{color:var(--vc);border-bottom-color:var(--vc);text-shadow:0 0 14px color-mix(in srgb,var(--vc) 55%,transparent)}
  .kbstub{border:1px dashed var(--line-2);border-radius:15px;padding:44px 20px;text-align:center;color:var(--low);font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;line-height:2.1;margin-top:10px}
  .kbstub b{color:var(--mid)}
  .gbar{display:flex;align-items:center;gap:8px;margin:8px 0 11px;font-family:"JetBrains Mono",monospace}
  .gdim{font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--now);border:1px solid var(--line-2);border-radius:99px;padding:5px 12px;cursor:pointer}
  .gdim:hover{border-color:var(--now)}
  .ghintt{font-size:8.5px;color:var(--low)}
  .chest{margin-bottom:12px}
  .chestbar{border:1px dashed rgba(242,177,61,.45);border-radius:13px;background:linear-gradient(180deg,rgba(242,177,61,.06),transparent);padding:9px 13px;display:flex;align-items:center;gap:9px;cursor:pointer;font-family:"JetBrains Mono",monospace}
  .chestbar:hover{border-color:var(--amber)}
  .chestbar.tgt{border-color:var(--amber);box-shadow:0 0 22px -8px var(--amber)}
  .chestbar .ce2{font-size:14px;transition:transform .3s}
  .chest.open .chestbar .ce2{transform:rotate(-12deg) scale(1.15)}
  .chestbar .cl2{font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--amber)}
  .chestbar .cn2{font-size:9px;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:1px 8px}
  .chestbar .car{margin-left:auto;color:var(--low);font-size:10px;transition:transform .25s}
  .chest.open .car{transform:rotate(180deg)}
  .chestbody{display:none;border:1px solid var(--line);border-top:none;border-radius:0 0 13px 13px;margin:0 8px;padding:11px 10px 6px;background:var(--panel);position:relative;overflow:hidden}
  .chest.open .chestbody{display:flex;gap:7px;flex-wrap:wrap;animation:chestop .35s ease}
  @keyframes chestop{0%{opacity:0;transform:translateY(-8px)}60%{box-shadow:inset 0 0 46px -18px var(--amber)}100%{opacity:1}}
  .chest.open .chestbody::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(242,177,61,.12),transparent 62%);pointer-events:none;animation:kshine 1.4s ease}
  @keyframes kshine{0%{opacity:1}100%{opacity:.35}}
  .chestbody .kbcard{width:236px;margin-bottom:5px}
  .kbcols{display:grid;gap:11px;align-items:start}
  .kbcol{display:flex;flex-direction:column;gap:11px;min-width:0}
  .kbslot{border:1px dashed rgba(42,48,66,.32);border-radius:10px;height:28px;display:flex;align-items:center;justify-content:center;color:rgba(82,90,109,.3);font-size:12px;transition:.15s;cursor:pointer;opacity:.65}
  .kbslot:hover{color:var(--mid);border-color:var(--line-2);opacity:1}
  .kbslot.tgt{border-color:var(--now);box-shadow:0 0 18px -9px var(--now);color:var(--now);opacity:1}
  .kbx{border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,var(--panel),rgba(12,14,21,.5));padding:8px 8px 11px;transition:border-color .15s, box-shadow .15s}
  .kbx.hovr{border-color:var(--lc);box-shadow:0 0 26px -12px var(--lc)}
  .kbx.bdrag{opacity:.3;border-style:dashed}
  .kbhd{display:flex;align-items:center;gap:6px;padding:2px 4px 8px;font-family:"JetBrains Mono",monospace}
  .kbgrab{touch-action:none;color:var(--low);cursor:grab;font-size:12px;padding:0 2px;flex:none}
  .kbgrab:hover{color:var(--lc)}
  .kbdot{width:8px;height:8px;border-radius:99px;background:var(--lc);box-shadow:0 0 9px var(--lc);flex:none}
  .kbn{font-size:9.5px;letter-spacing:.18em;font-weight:800;color:var(--lc);outline:none;border-radius:5px;padding:1px 4px;min-width:36px}
  .kbn:focus{background:var(--panel-2);box-shadow:0 0 0 1px var(--lc)}
  .kbdel{color:var(--low);cursor:pointer;font-size:10px;padding:0 3px}
  .kbdel:hover{color:var(--yore)}
  .kbc{margin-left:auto;font-size:9px;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:1px 8px;flex:none;cursor:pointer}
  .kbx.over .kbc{color:var(--yore);border-color:rgba(255,93,93,.5);animation:kwip 1.1s ease-in-out infinite}
  @keyframes kwip{0%,100%{box-shadow:0 0 0 rgba(255,93,93,0)}50%{box-shadow:0 0 12px rgba(255,93,93,.5)}}
  .kbbar{height:2px;border-radius:99px;background:linear-gradient(90deg,var(--lc),transparent);margin:0 4px 8px;opacity:.6}
  .kbsep{padding:5px 8px 6px}
  .kbsep .kbhd{padding:2px 4px}
  .kbsep .kbn{letter-spacing:.26em}
  .kbsline{flex:1;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--lc),transparent);opacity:.85;box-shadow:0 0 9px var(--lc)}
  .kbcard{touch-action:none;border:1px solid var(--line-2);border-radius:12px;background:var(--panel-2);padding:8px 10px;margin-bottom:6px;cursor:grab;user-select:none;transition:transform .12s, opacity .12s}
  .kbcard:hover{border-color:var(--lc,var(--amber));transform:translateY(-1px)}
  .kbcard.cdrag{opacity:.35;border-style:dashed}
  /* ⚠ dulu namanya .kbt, dan itu ketabrak TAB KUBU yang dateng belakangan
     (display:grid + bingkai + radius 18px + padding 15px). Judul kartu kanban
     jadi kotak gede berbingkai, dan nol pernah ada yang ngasih tau. */
  .kbttl{font-size:12px;line-height:1.4;margin-bottom:6px}
  .kbcard.kdone .kbttl{text-decoration:line-through;opacity:.6}
  .kbm{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace}
  .kbb{font-size:8px;padding:1px 7px;border-radius:99px;border:1px solid var(--line-2);color:var(--mid)}
  .kbb.par{color:var(--violet);border-color:rgba(167,139,250,.35);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kbb.cmt{color:var(--ges);border-color:rgba(34,211,238,.35)}
  .kbb.tgt{color:var(--violet);border-color:rgba(167,139,250,.35)}
  .kbb.prog{color:var(--soon);border-color:rgba(45,212,167,.35)}
  .kalbar{display:flex;align-items:center;gap:7px;margin:8px 0 12px;font-family:"JetBrains Mono",monospace;flex-wrap:wrap}
  .kalnav{color:var(--low);cursor:pointer;padding:3px 10px;font-size:13px;border:1px solid var(--line-2);border-radius:9px}
  .kalnav:hover{color:var(--ink);border-color:var(--now)}
  .kallbl{font-size:10.5px;letter-spacing:.18em;color:var(--ink);min-width:150px;text-align:center}
  .kalsp{flex:1}
  .kalsep{width:1px;height:16px;background:var(--line-2)}
  .kalz{font-size:8.5px;letter-spacing:.12em;font-weight:800;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:4px 11px;cursor:pointer}
  .kalz.on{color:#f472b6;border-color:rgba(244,114,182,.5);text-shadow:0 0 12px rgba(244,114,182,.5)}
  .kalz.m2.on{color:var(--now);border-color:rgba(76,201,240,.5);text-shadow:0 0 12px rgba(76,201,240,.5)}
  .kalnavr{display:flex;align-items:center;gap:8px;margin:4px 0 10px;font-family:"JetBrains Mono",monospace}
  .kalz.dis{opacity:.3;cursor:not-allowed}
  .kalz.ms3.on{color:var(--sky,#7dd3fc);border-color:rgba(125,211,252,.55);text-shadow:0 0 12px rgba(125,211,252,.6)}
  .kbztray{border:1px dashed rgba(136,144,163,.4);border-radius:13px;padding:9px 13px;margin:2px 0 10px;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid);cursor:pointer;display:flex;align-items:center;gap:9px}
  .kbztray .n{border:1px solid rgba(255,93,93,.4);border-radius:99px;padding:1px 9px;color:var(--yore);font-weight:800}
  .kbztray .car{margin-left:auto;color:var(--low);transition:transform .25s}
  .kbztray.open .car{transform:rotate(180deg)}
  .kbztraybody{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:0 0 13px 13px;background:var(--panel)}
  .kbzdream{border:1px solid var(--line-2);border-radius:99px;padding:5px 12px;font-size:11px;cursor:pointer;background:var(--panel-2)}
  .kbzdream:hover{border-color:#f472b6;box-shadow:0 0 12px -6px #f472b6}
  .kbzfeed{display:flex;flex-direction:column}
  .kbzseg{margin-bottom:4px}
  .kbzsec{display:flex;align-items:center;gap:9px;margin:13px 2px 7px;font-family:"JetBrains Mono",monospace}
  .kbzseg:first-child .kbzsec{margin-top:2px}
  .kbzsec .t{font-size:9px;letter-spacing:.24em;font-weight:800;color:var(--lc);text-shadow:0 0 14px color-mix(in srgb,var(--lc) 60%,transparent)}
  .kbzsec .ln{flex:1;height:1.5px;background:linear-gradient(90deg,var(--lc),transparent);opacity:.5;border-radius:99px;box-shadow:0 0 8px var(--lc)}
  .kbzsec .cnt{font-size:8px;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:1px 8px}
  .kbzrow{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-left:2.5px solid var(--lv,var(--line-2));border-radius:11px;background:linear-gradient(90deg,color-mix(in srgb,var(--lv,#000) 5%,var(--panel-2)),var(--panel-2) 40%);padding:8px 13px;font-size:12.5px;margin-bottom:5px;cursor:pointer;transition:.13s}
  .kbzrow:hover{border-color:var(--lv);box-shadow:0 0 16px -9px var(--lv);transform:translateX(2px)}
  .kbzrow b{color:#f472b6;font-size:9.5px;letter-spacing:.06em;min-width:64px;font-family:"JetBrains Mono",monospace}
  .kbzrow .ut{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kbzrow.guest{opacity:.5;border-style:dashed}
  .kbzrow.late{border-color:rgba(255,93,93,.4);box-shadow:inset 0 0 22px -16px var(--yore)}
  .kbzrow.late b{color:var(--yore)}
  .kbzrow.kdone .ut{text-decoration:line-through;opacity:.5}
  .kbzlv{font-family:"JetBrains Mono",monospace;font-size:7.5px;border:1px solid var(--line-2);border-radius:99px;padding:2px 8px;color:var(--mid);flex:none}
  .kbzlv.ld{color:#fbcfe8;border-color:rgba(244,114,182,.5)}
  .kbzlv.lp{color:var(--soon);border-color:rgba(45,212,167,.5)}
  .kbzlv.lm{color:var(--violet);border-color:rgba(167,139,250,.5)}
  .kbzlv.ly{color:#94a3b8;border-color:rgba(148,163,184,.5)}
  .ms2{font-size:11px;filter:drop-shadow(0 0 6px rgba(125,211,252,.8))}
  .kbzyear{display:flex;align-items:center;gap:10px;margin:18px 2px 4px;font-family:"JetBrains Mono",monospace}
  .kbzfeed .kbzyear:first-child{margin-top:2px}
  .kbzyear .t{font-size:12px;letter-spacing:.34em;font-weight:800;color:#f472b6;text-shadow:0 0 18px rgba(244,114,182,.65)}
  .kbzyear .ln{flex:1;height:2px;border-radius:99px;background:linear-gradient(90deg,#f472b6,rgba(148,163,184,.25),transparent);box-shadow:0 0 10px rgba(244,114,182,.5)}
  .kbznow{display:flex;align-items:center;gap:8px;margin:9px 0;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--amber);letter-spacing:.2em}
  .kbznow .l2{flex:1;height:1.5px;background:linear-gradient(90deg,var(--amber),transparent);box-shadow:0 0 10px var(--amber);animation:kbzp 2s ease-in-out infinite}
  @keyframes kbzp{0%,100%{opacity:1}50%{opacity:.45}}
  .kalres{display:flex;flex-direction:column;gap:6px}
  .kalrhd{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.18em;font-weight:800;color:#f472b6;margin-bottom:3px;display:flex;align-items:center;gap:8px}
  .kaln{font-size:9px;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:1px 8px}
  .lvf{font-size:8.5px;letter-spacing:.08em;font-weight:800;font-family:"JetBrains Mono",monospace;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:5px 11px;cursor:pointer;transition:.13s}
  .lvf.lvy.on{color:#94a3b8;border-color:rgba(148,163,184,.6);text-shadow:0 0 10px rgba(148,163,184,.6)}
  .lvf.lvm.on{color:var(--violet);border-color:rgba(167,139,250,.6);text-shadow:0 0 10px rgba(167,139,250,.6)}
  .lvf.lvp.on{color:var(--soon);border-color:rgba(45,212,167,.6);text-shadow:0 0 10px rgba(45,212,167,.6)}
  .lvf.lvd.on{color:#f472b6;border-color:rgba(244,114,182,.6);text-shadow:0 0 10px rgba(244,114,182,.6)}
  .tenda{margin-top:20px;border:1px dashed rgba(45,212,167,.4);border-radius:14px;background:linear-gradient(180deg,rgba(45,212,167,.05),transparent);overflow:hidden}
  .tenda .thd{display:flex;align-items:center;gap:9px;padding:10px 14px;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--soon)}
  .tenda .thd .cnt{font-size:8px;color:var(--low);border:1px solid var(--line-2);border-radius:99px;padding:1px 8px}
  .tenda .thd .car{margin-left:auto;transition:transform .25s;color:var(--low)}
  .tenda.open .thd .car{transform:rotate(180deg)}
  .tenda .tbody{display:none;padding:2px 12px 12px}
  .tenda.open .tbody{display:block}
  .tgdscrim{position:fixed;inset:0;background:rgba(4,5,9,.74);backdrop-filter:blur(3px);z-index:900;display:flex;align-items:center;justify-content:center;padding:14px}
  .tgd{width:min(480px,100%);max-height:92vh;overflow-y:auto;background:linear-gradient(180deg,var(--panel),var(--void));border:1px solid var(--line-2);border-radius:18px;padding:14px 16px 12px;box-shadow:0 30px 90px -20px rgba(0,0,0,.95),0 0 46px -20px #f472b6}
  .tgdhd{display:flex;align-items:center;gap:9px;margin-bottom:10px}
  .tgdhd .t{font-family:"Chakra Petch",sans-serif;font-size:12px;letter-spacing:.2em;color:#f472b6;text-shadow:0 0 14px rgba(244,114,182,.6)}
  .tgdhd .cur{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--amber);border:1px solid rgba(242,177,61,.4);border-radius:99px;padding:2px 9px}
  .tgdhd .cur.ghost{color:var(--low);border-color:var(--line-2)}
  .tgdx{margin-left:auto;cursor:pointer;color:var(--low);font-size:15px;padding:2px 6px}
  .tgdx:hover{color:var(--yore)}
  .tgsec{display:flex;align-items:center;gap:6px;margin:10px 0 6px}
  .tgsec.wrap{flex-wrap:wrap}
  .tgsec .sl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--lc);text-shadow:0 0 10px color-mix(in srgb,var(--lc) 55%,transparent);flex:none}
  .tgsec .ln{flex:1 1 8px;min-width:8px;height:1.5px;background:linear-gradient(90deg,var(--lc),transparent);opacity:.5;border-radius:99px}
  .tgq,.tgb{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.06em;border:1px solid var(--line-2);border-radius:9px;padding:5px 10px;cursor:pointer;color:var(--mid);transition:.12s;flex:none}
  .tgq:hover,.tgb:hover{border-color:var(--lc);color:var(--ink);box-shadow:0 0 12px -6px var(--lc)}
  .tgb.sel{border-color:var(--lc);color:var(--lc);box-shadow:inset 0 0 12px -8px var(--lc)}
  .tgnav{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 5px;font-family:"JetBrains Mono",monospace}
  .tgnav b{font-size:9.5px;letter-spacing:.2em;color:var(--ink)}
  .tgnav .nv{cursor:pointer;color:var(--mid);border:1px solid var(--line-2);border-radius:8px;padding:2px 11px}
  .tgnav .nv:hover{color:var(--now);border-color:rgba(76,201,240,.5)}
  .tgcal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}
  .tgcal .wd{font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);text-align:center;letter-spacing:.1em;padding:2px 0}
  .tgcal .dd{font-family:"JetBrains Mono",monospace;font-size:9.5px;text-align:center;padding:6px 0;border:1px solid transparent;border-radius:8px;cursor:pointer;color:var(--mid)}
  .tgcal .dd:hover{border-color:rgba(244,114,182,.55);color:var(--ink);box-shadow:0 0 10px -5px #f472b6}
  .tgcal .dd.tdy{color:var(--amber);border-color:rgba(242,177,61,.4)}
  .tgcal .dd.sel{border-color:#f472b6;color:#f472b6;box-shadow:inset 0 0 10px -6px #f472b6}
  .tgft{display:flex;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}
  .tgdel{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;color:var(--yore);border:1px solid rgba(255,93,93,.35);border-radius:99px;padding:4px 11px;cursor:pointer}
  .tgdel:hover{box-shadow:0 0 12px -6px var(--yore)}
  .tgft .hint{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low)}
  .gtl{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;position:relative;margin-top:4px}
  .gtl-head{display:flex;border-bottom:1px solid var(--line-2);background:var(--panel-2)}
  .gtl-nhd{flex:none;width:190px;border-right:1px solid var(--line-2);padding:7px 12px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.18em;color:var(--low);font-weight:800}
  .gtl-cols{flex:1;display:flex}
  .gtl-col{flex:1;text-align:center;font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);padding:7px 0;border-left:1px solid rgba(27,31,43,.7);overflow:hidden}
  .gtl-col.wk{background:rgba(255,255,255,.014)}
  .gtl-col.tdy{color:var(--amber);background:rgba(242,177,61,.07)}
  .gtl-row{display:flex;border-bottom:1px solid rgba(27,31,43,.65);min-height:40px;align-items:stretch}
  .gtl-row:hover{background:rgba(255,255,255,.016)}
  .gtl-name{flex:none;width:190px;border-right:1px solid var(--line-2);padding:7px 10px;font-size:11.5px;display:flex;align-items:center;gap:6px;overflow:hidden;cursor:pointer}
  .gtl-name .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .gtl-name .dot{width:6px;height:6px;border-radius:99px;background:var(--lv);box-shadow:0 0 8px var(--lv);flex:none}
  .gtl-name.kid{padding-left:22px}
  .gtl-name.kid .tx::before{content:"↳ ";color:var(--violet);opacity:.8}
  .gtl-name.par .tx{font-weight:700}
  .gtl-track{flex:1;position:relative}
  .gtl-bar{position:absolute;top:5px;height:17px;border-radius:7px;display:flex;align-items:center;padding:0 6px;font-family:"JetBrains Mono",monospace;font-size:8px;overflow:hidden;white-space:nowrap;background:linear-gradient(90deg,color-mix(in srgb,var(--lv) 32%,transparent),color-mix(in srgb,var(--lv) 12%,transparent));border:1px solid var(--lv);color:var(--ink);box-shadow:0 0 16px -8px var(--lv);cursor:pointer;transition:.12s}
  .gtl-bar:hover{filter:brightness(1.35)}
  .gtl-bar.fz{border-style:dashed;background:repeating-linear-gradient(115deg,color-mix(in srgb,var(--lv) 20%,transparent) 0 7px,transparent 7px 14px)}
  .gtl-bar.late{border-color:var(--yore);box-shadow:0 0 18px -7px var(--yore)}
  .gtl-bar.kdone{opacity:.75;text-decoration:line-through;text-decoration-thickness:2px;color:#b9f5df;background:repeating-linear-gradient(45deg,rgba(45,212,167,.28) 0 5px,rgba(45,212,167,.07) 5px 10px)!important;border:1px solid rgba(45,212,167,.55);box-shadow:0 0 10px -5px var(--soon)}
  .gtl-bar.kdone::after{content:"✓";margin-left:5px;font-weight:800;color:#7ff2cd;text-decoration:none;display:inline-block}
  .gtl-name.kdone .tx{text-decoration:line-through;text-decoration-thickness:1.5px;color:var(--soon);opacity:.75}
  .gtl-name.kdone .dot{background:var(--soon)!important;box-shadow:0 0 7px -1px var(--soon)}
  .gtl-sum{position:absolute;top:10px;height:9px;border-left:2px solid var(--violet);border-right:2px solid var(--violet);border-top:2px solid var(--violet);opacity:.75}
  .gtl-diam{position:absolute;top:7px;width:13px;height:13px;transform:rotate(45deg);background:#7dd3fc;box-shadow:0 0 14px rgba(125,211,252,.85);border-radius:2px;pointer-events:none}
  .gtl-tick{position:absolute;top:25px;width:13px;height:13px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-size:8px;background:rgba(242,177,61,.16);border:1px solid var(--amber);color:var(--amber);box-shadow:0 0 10px -3px var(--amber);pointer-events:none}
  .gtl-tick.dn{background:rgba(45,212,167,.16);border-color:var(--soon);color:var(--soon);box-shadow:0 0 10px -3px var(--soon)}
  .gtl-drift{position:absolute;top:30px;height:0;border-top:2px dotted var(--yore);opacity:.8;pointer-events:none}
  .gtl-now{position:absolute;top:0;bottom:0;width:1.5px;background:var(--amber);box-shadow:0 0 12px var(--amber);z-index:5;animation:bzp 2s ease-in-out infinite;pointer-events:none}
  .gtl-now::before{content:"▼";position:absolute;top:-2px;left:-4.5px;color:var(--amber);font-size:8px}
  .gtl-scroll{max-height:560px;overflow-y:auto}
  .gtl-leg{margin-top:9px;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.05em;line-height:1.8}
  .kbzgrab{cursor:grab;color:var(--low);font-size:11px;touch-action:none;padding:0 3px;flex:none;user-select:none}
  .kbzgrab:hover{color:var(--ink)}
  .kbzrow.dragging{opacity:.45}
  .kbzseg.bkthov{outline:1.5px dashed rgba(255,255,255,.25);border-radius:11px}
  .kbzseg.bkthov .kbzsec .t{color:#fff}
  .tgb.nx{border-style:dashed}
  .lvf.catf.on{color:var(--cc);border-color:color-mix(in srgb,var(--cc) 60%,transparent);text-shadow:0 0 10px color-mix(in srgb,var(--cc) 60%,transparent)}
  .caprow.c2{margin-top:8px;gap:7px;flex-wrap:wrap}
  .caprow.c2 input{min-width:0}
  .txty{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);border:1px solid var(--line-2);border-radius:8px;padding:3px 7px;flex:none;user-select:none}
  .txty:hover{color:var(--ink);border-color:var(--now)}
  .brask{border:1px solid rgba(242,177,61,.4);background:linear-gradient(180deg,rgba(242,177,61,.07),transparent);border-radius:15px;padding:13px 15px;margin:0 0 14px;box-shadow:0 0 26px -14px var(--amber)}
  .brask .brt{font-size:12.5px;margin-bottom:9px}
  .brask .brt b{color:var(--amber)}
  .brline{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:10.5px;padding:5px 2px;cursor:pointer;border-bottom:1px solid rgba(27,31,43,.55)}
  .brline input{accent-color:var(--amber)}
  .brbtns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}
  .hszone{position:relative;background:linear-gradient(180deg,rgba(76,201,240,.05),rgba(6,7,11,0) 62%),var(--panel);border:1px solid rgba(76,201,240,.26);border-radius:15px;padding:12px 13px 10px;margin:0 0 14px;box-shadow:0 0 40px -22px var(--now)}
  .hszone:before,.hszone:after{content:"";position:absolute;width:12px;height:12px;border:1.5px solid var(--now);opacity:.5;pointer-events:none}
  .hszone:before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-radius:15px 0 0 0}
  .hszone:after{bottom:-1px;right:-1px;border-left:0;border-top:0;border-radius:0 0 15px 0}
  .hshd{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .hst{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.13em;color:var(--now);text-shadow:0 0 14px rgba(76,201,240,.5)}
  .hsp{flex:1}
  .hscount{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--amber);letter-spacing:.06em}
  .hschip{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid);border:1px solid var(--line-2);border-radius:7px;padding:5px 7px;cursor:pointer;letter-spacing:.06em;user-select:none}
  .hschip:hover{border-color:var(--now);color:var(--now)}
  .hschip.rst{color:var(--yore);border-color:rgba(255,93,93,.3)}
  .hsrow{display:flex;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid rgba(27,31,43,.6)}
  .hsrow:last-child{border-bottom:0}
  .hsbox{width:23px;height:23px;flex:none;border:1.5px solid var(--sc,var(--low));border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--sc,var(--low));background:rgba(255,255,255,.012)}
  .hsbox:active{transform:scale(.93)}
  .hsbox.on{background:rgba(45,212,167,.16);box-shadow:0 0 13px -4px var(--sc)}
  .hsnm{flex:1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hsnm .hrt{font-size:10px;color:var(--violet);margin-left:5px;opacity:.85}
  .hsnm .hce{margin-right:6px}
  .hshr{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--amber);flex:none;letter-spacing:.02em;opacity:.92;cursor:pointer;padding:4px 2px}
  .hshr.empty{color:var(--low);border-bottom:1px dashed var(--line-2)}
  .lchip.hastm:after{content:"⏲";font-size:8px;margin-left:5px;opacity:.85;color:#4ade80}
  /* ⚠ NOL BOLEH WRAP KE DALEM. Rak chip yang numpuk dua di dalem dirinya
     sendiri itu BARIS KETIGA yang bang Sam potret — dan dia nol keliatan di
     ukuran tinggi .top kalo yang diukur cuma anak langsungnya. */
  .rtw{position:relative;flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
  .rtchip{display:inline-flex;align-items:center;gap:6px;cursor:pointer;user-select:none;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.05em;color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:6px 9px;background:rgba(255,255,255,.02)}
  .rtchip:hover{border-color:var(--now)}
  .rtchip #rtico{color:var(--now)}
  .rtchip.run{border-color:rgba(242,177,61,.55);background:rgba(242,177,61,.09);box-shadow:0 0 16px -6px var(--amber)}
  .rtchip.run #rtico{color:var(--amber)}
  .rtchip.run .rtnum{color:#ffd27a;font-weight:800;text-shadow:0 0 12px rgba(242,177,61,.55)}
  .rtchip.run.ending{border-color:rgba(255,93,93,.6);animation:rtpulse 1s ease infinite}
  .rtchip.run.ending .rtnum{color:#ff8a8a;text-shadow:0 0 12px rgba(255,93,93,.6)}
  .rtchip.done{border-color:rgba(45,212,167,.55);background:rgba(45,212,167,.1);animation:rtpulse 1.1s ease infinite}
  .rtchip.done .rtnum,.rtchip.done #rtico{color:#7ff2cd;font-weight:800}
  @keyframes rtpulse{0%,100%{box-shadow:0 0 8px -6px currentColor}50%{box-shadow:0 0 18px -3px currentColor}}
  .rtchip.flashing .rtnum,.rtchip.flashing .rtlbl,.rtchip.flashing #rtico{animation:rtblink .75s steps(2,start) infinite}
  @keyframes rtblink{50%{opacity:.12}}
  .rtchip .rtlbl{color:#c7cddb;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rtchip .rtnum{font-weight:800;font-size:12px}
  .rtchip .rtms{font-size:8.5px;opacity:.8;font-weight:600}
  .rtb{cursor:pointer;opacity:.75;padding:0 1px;color:var(--ink)}
  .rtb:hover{opacity:1}
  .rtpop{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:250px;background:var(--panel);border:1px solid rgba(76,201,240,.3);border-radius:13px;padding:11px 12px;box-shadow:0 14px 44px -18px rgba(0,0,0,.9),0 0 30px -18px var(--now);display:none}
  .rtpop.show{display:block}
  .rtsec{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;color:var(--mid);margin:9px 0 6px}
  .rtsec:first-child{margin-top:0}
  .rtgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  .rtp{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:#c7cddb;border:1px solid var(--line-2);border-radius:7px;padding:7px 0;text-align:center;cursor:pointer;user-select:none}
  .rtp:hover{color:var(--amber);border-color:rgba(242,177,61,.5)}
  .rtup{display:flex;align-items:center;gap:7px;font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:#c7cddb;border:1px dashed var(--line-2);border-radius:7px;padding:8px 10px;cursor:pointer;margin-top:5px}
  .rtup:hover{color:var(--now);border-color:rgba(76,201,240,.5)}
  .rtlab{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:7px 9px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:11px}
  .rtrow{display:flex;align-items:center;gap:6px;margin-top:9px}
  .rttog{display:inline-flex;align-items:center;gap:5px;font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:700;color:#aab2c5;border:1px solid var(--line-2);border-radius:7px;padding:6px 7px;cursor:pointer;user-select:none;flex:1;justify-content:center}
  .rttog.on{color:var(--amber);border-color:rgba(242,177,61,.55);background:rgba(242,177,61,.09)}
  .rthint{font-family:"JetBrains Mono",monospace;font-size:8.5px;line-height:1.6;color:var(--mid);margin-top:8px;letter-spacing:.04em}
  @media(max-width:720px){ .rtchip .rtlbl{display:none} .rtpop{width:238px} }
  /* ⚰ deklarasi .dicebar yang di sini DICABUT — dia dulu kepake SEPARO:
     display/gap/margin-bottom-nya ditimpa aturan di bawah, tapi flex-wrap-nya
     TETEP kepake. Kelakuannya nyampur dari dua aturan yang keliatan saling
     nimpa, dan itu bentuk paling licik dari nama kelas kembar. Sekarang satu
     aturan, dan nilai efektifnya diukur sebelum-sesudah biar nol geser. */
  .slnow{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.1em;color:var(--yore);margin-left:8px;text-shadow:0 0 10px rgba(255,93,93,.6)}
  .pop .opt .pd{box-shadow:0 0 9px -2px currentColor}
  .hsnm.go{cursor:pointer}
  .hsnm.go:hover{color:var(--now);text-shadow:0 0 12px rgba(76,201,240,.45)}
  .hsx{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--line-2);cursor:pointer;padding:5px 3px;flex:none;opacity:0;transition:opacity .14s}
  .hsrow:hover .hsx,.hsrow:focus-within .hsx,.hsrow:active .hsx{opacity:1}
  @media (hover:none){ .hsrow .hsx{opacity:.4} }
  .hsx:hover{color:var(--yore)}
  .hsrow.dn .hsnm{text-decoration:line-through;color:var(--low)}
  .hsrow.dn .hshr{opacity:.4}
  .hsnow{display:flex;align-items:center;gap:8px;margin:3px 0}
  .hsnow i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--yore),transparent);opacity:.55}
  .hsnow span{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--yore);letter-spacing:.15em;text-shadow:0 0 12px rgba(255,93,93,.55)}
  .hsband{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);letter-spacing:.14em;padding:11px 3px 5px;border-top:1px dashed var(--line)}
  .hsempty{font-family:"JetBrains Mono",monospace;font-size:10.5px;line-height:1.7;color:var(--low);text-align:center;padding:20px 12px}
  .hsoff{border:1px dashed var(--line-2);border-radius:12px;padding:10px 13px;display:flex;align-items:center;gap:10px;background:rgba(12,14,21,.55);margin:0 0 14px}
  .hsoff span{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);letter-spacing:.11em;flex:1}
  .hsoff b{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--now);border:1px solid rgba(76,201,240,.34);border-radius:7px;padding:6px 9px;font-weight:400;cursor:pointer}
  .hstg{width:13px;height:13px;flex:none;border:1px solid rgba(76,201,240,.22);border-radius:4px;cursor:pointer;display:inline-flex;background:rgba(76,201,240,.15);vertical-align:middle;padding:0}
  .hstg:active{transform:scale(.86)}
  .hstg:hover{border-color:rgba(76,201,240,.5)}
  .hstg.on{background:rgba(76,201,240,.85);border-color:var(--now);box-shadow:0 0 10px -2px var(--now)}
  .meta .hstg{order:130;margin-left:7px}
  .rrow .hstg{margin-left:7px}
  .noderow .hstg{margin-left:7px;flex:none}
  .hstg.dlg{margin-right:7px}
  .noderow .tbtn.del{opacity:0;transition:opacity .14s}
  .noderow:hover .tbtn.del,.noderow:focus-within .tbtn.del,.noderow:active .tbtn.del{opacity:1}
  @media (hover:none){ .noderow .tbtn.del{opacity:.4} }
  .hsnow.pk i{background:linear-gradient(90deg,transparent,var(--done),transparent)}
  .hsnow.pk span{color:var(--done);text-shadow:none}
  .hsrow.pk .hsnm{color:var(--low)}
  .hsrow.pk .hshr{opacity:.45}
  .hsbox .ongo.hso{display:inline-flex;gap:2px;align-items:center}
  .hsbox .ongo.hso i{width:4px;height:4px;border-radius:1.5px}
  .hschip.min.on{color:var(--now);border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.08)}
  .hshint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);letter-spacing:.09em;text-align:center;padding:9px 0 4px}
  /* ===== v8.99 — JENDELA TENGAH: satu cangkang buat semua setelan & daftar berat.
     Selalu di tempat yang sama, selalu di depan, gulungannya sendiri — ga bisa offside. ===== */
  .sheetscrim{position:fixed;inset:0;background:rgba(3,4,8,.78);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:22px 14px;animation:shfade .16s ease}
  @keyframes shfade{from{opacity:0}to{opacity:1}}
  .sheetwrap{width:min(460px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid color-mix(in srgb,var(--shc,#a78bfa) 34%,transparent);border-radius:15px;box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 58px -22px var(--shc,#a78bfa);animation:shrise .18s cubic-bezier(.2,.8,.3,1)}
  @keyframes shrise{from{transform:translateY(10px) scale(.985);opacity:.4}to{transform:none;opacity:1}}
  .sheethd{display:flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.13em;color:var(--shc,#a78bfa);padding:13px 15px;border-bottom:1px solid var(--line);flex:none}
  .sheett{font-weight:700}
  .sheets{color:var(--low);letter-spacing:.05em;font-size:9px;font-weight:400}
  .sheetx{margin-left:auto;cursor:pointer;color:var(--mid);padding:2px 6px;font-size:13px;line-height:1}
  .sheetx:hover{color:var(--yore)}
  .sheetbody{overflow-y:auto;overflow-x:hidden;padding:9px 11px 13px;min-height:0}
  /* pop yang dipindahin ke dalem sheet: lepas semua sifat "ngambang"-nya */
  .pop.insheet{position:static;max-height:none;max-width:none;min-width:0;width:100%;border:0;background:none;box-shadow:0 0 0 0 transparent;padding:0;overflow:visible;z-index:auto}
  .pop.insheet .opt{white-space:normal}
  .hslscrim{position:fixed;inset:0;background:rgba(3,4,8,.78);backdrop-filter:blur(3px);z-index:900;display:flex;align-items:center;justify-content:center;padding:22px 14px}
  .hslpanel{width:min(480px,100%);max-height:82vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid rgba(167,139,250,.35);border-radius:15px;box-shadow:0 0 60px -20px var(--violet)}
  .hslt{display:flex;align-items:center;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;color:var(--violet);padding:13px 15px;border-bottom:1px solid var(--line)}
  .hslx{margin-left:auto;cursor:pointer;color:var(--mid);padding:3px 6px}
  .hslx:hover{color:var(--yore)}
  .hslbody{overflow-y:auto;padding:11px 15px 15px}
  .hslblk{border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin-bottom:11px;background:var(--panel-2)}
  .hslhd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.08em;color:var(--violet);padding-bottom:7px;border-bottom:1px solid var(--line)}
  .hslsum{margin-left:auto;color:var(--low)}
  .hslrow{display:flex;align-items:center;gap:10px;padding:6px 1px;border-bottom:1px solid rgba(27,31,43,.5);font-size:12px}
  .hslrow:last-child{border-bottom:0}
  .hslh{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);flex:none;width:80px}
  .hslv{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.08em;flex:none;padding:4px 6px;border-radius:6px;border:1px solid currentColor;opacity:.9}
  .hsln{flex:1;color:var(--mid);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tmchip{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;color:#ffd27a;border:1px solid rgba(242,177,61,.55);background:rgba(242,177,61,.1);border-radius:8px;padding:3px 7px;cursor:pointer;flex:none;user-select:none;box-shadow:0 0 9px -5px var(--amber)}
  [data-mo-pulse="glow"] .tmchip{animation:tmglow 2.2s ease infinite}
  [data-mo-pulse="flash"] .tmchip{animation:tmflash 1s steps(2,start) infinite}
  @keyframes tmglow{0%,100%{box-shadow:0 0 7px -5px var(--amber)}50%{box-shadow:0 0 14px -4px var(--amber)}}
  @keyframes tmflash{50%{box-shadow:0 0 12px -3px var(--amber);background:rgba(242,177,61,.22)}}
  .tmchip:active{transform:scale(.92)}
  .tmstat{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;color:#4ade80;border:1px solid rgba(74,222,128,.4);background:rgba(74,222,128,.07);border-radius:7px;padding:3px 7px;flex:none;letter-spacing:.04em;white-space:nowrap}
  .tmadd{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--low);cursor:pointer;padding:3px 6px;flex:none;user-select:none;margin-left:4px}
  .tmadd:hover{color:var(--amber)}
  .hstmp{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;color:#c084fc;border:1px solid rgba(192,132,252,.45);background:rgba(192,132,252,.09);border-radius:6px;padding:2px 5px;margin-left:7px;letter-spacing:.04em;vertical-align:middle}
  .tmstat.rt{color:#7dd3fc;border-color:rgba(125,211,252,.4);background:rgba(125,211,252,.07)}
  .rrow .attrbtn,.noderow .attrbtn,.hsrow .attrbtn{width:19px;height:19px;font-size:12px;margin-left:7px}
  .tmchip,.tmstat{margin-left:7px}
  .rrow .pill.time{margin-left:auto}
  .rrow .hstg{margin-left:7px}
  .noderow .hstg{margin-left:7px}
  .meta .hstg{order:130;margin-left:7px}
  .kalempty{border:1px dashed var(--line-2);border-radius:13px;padding:26px;text-align:center;color:var(--low);font-family:"JetBrains Mono",monospace;font-size:10px}
  .klit{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);padding:9px 12px;cursor:pointer;font-size:12.5px}
  .klit:hover{border-color:#f472b6}
  .klit.kdone .klt{text-decoration:line-through;opacity:.55}
  .klit.klate{border-color:rgba(255,93,93,.35)}
  .kldate{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;color:#f472b6;flex:none;min-width:52px}
  .klt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .klp{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--violet);border:1px solid rgba(167,139,250,.3);border-radius:99px;padding:1px 7px;flex:none;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .klb{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--mid);border:1px solid var(--line-2);border-radius:99px;padding:1px 6px;flex:none}
  .klb.lt{color:var(--yore);border-color:rgba(255,93,93,.4)}
  .kalwk{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:start}
  .kalcol{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:7px 6px;min-height:120px}
  .kalcol.today{border-color:var(--amber);box-shadow:0 0 18px -10px var(--amber)}
  .kalch{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;color:var(--low);margin-bottom:7px;text-align:center}
  .kalch b{color:var(--ink)}
  .kalcol .klit{padding:6px 8px;font-size:10.5px;margin-bottom:5px;flex-wrap:wrap}
  .kalmo{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
  .kalmh{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.14em;color:var(--low);text-align:center;padding:3px 0;font-weight:800}
  .kalmc{border:1px solid var(--line);border-radius:10px;background:var(--panel);min-height:74px;padding:5px;cursor:pointer;display:flex;flex-direction:column;gap:3px}
  .kalmc:hover{border-color:var(--line-2)}
  .kalmc.out{opacity:.18;pointer-events:none}
  .kalmc.today{border-color:var(--amber);box-shadow:0 0 16px -10px var(--amber)}
  .kalmd{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--mid)}
  .kalmi{display:block;font-size:9px;line-height:1.35;color:var(--ink);background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;padding:2px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
  .kalmi:hover{border-color:#f472b6}
  .kalmi.kdone{text-decoration:line-through;opacity:.5}
  .kalmi.klate{border-color:rgba(255,93,93,.4)}
  .kalmore{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low)}
  .kalyr{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .kalyc{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:8px;min-height:82px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
  .kalyc:hover{border-color:#f472b6}
  .kalyc.today{border-color:var(--amber)}
  .kalyh{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;font-weight:800;color:#f472b6;display:flex;align-items:center;gap:7px}
  .kbghostc{position:fixed;pointer-events:none;z-index:900;width:236px;transform:rotate(3.2deg) scale(1.03);box-shadow:0 22px 50px -12px rgba(0,0,0,.9),0 0 30px -10px var(--now);opacity:.94}
  .kbghostb{position:fixed;pointer-events:none;z-index:900;width:190px;transform:rotate(-2deg) scale(.85);box-shadow:0 22px 50px -12px rgba(0,0,0,.9),0 0 34px -8px var(--lc,#4cc9f0);opacity:.92}
  .wthrow{display:flex;align-items:center;gap:6px;padding:7px 10px 9px;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex-wrap:wrap}
  /* v9.46 — pas ada hasil pencarian di atasnya, rak lempar dikasih garis pemisah &
     latar lebih gelap. Dia mesti kebaca sebagai RAK TETAP di bawah, bukan sebagai
     hasil pencarian nomor sekian — biar mata tetep jatuh ke hasil teratas duluan. */
  .wthrow.rak{border-top:1px solid var(--line);background:color-mix(in srgb,var(--void) 55%,transparent);
    padding:9px 10px 10px;margin-top:2px}
  .wthrow .wtlbl{flex:none;letter-spacing:.16em;opacity:.8}
  .wtc{padding:5px 11px;border-radius:999px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.05em}
  .wtc:hover{color:var(--ink);border-color:var(--now);box-shadow:0 0 10px -6px var(--now)}
  .tdrealm{display:flex;gap:5px;margin-left:8px}
  .tdbub{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.08em;padding:4px 10px;border-radius:99px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer}
  .tdbub.on{color:#06070b;background:var(--violet);border-color:var(--violet)}
  .tdbub.k.on{background:#c084fc;border-color:#c084fc}
  .tdbub.ghost{opacity:.45;border-style:dashed}
  .tdbub.ghost:hover{opacity:1;color:var(--now);border-color:var(--now)}
  .tdw{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:7px;cursor:pointer;font-size:12px;color:var(--violet);opacity:.3;border:1px solid transparent;transition:.13s}
  .tdw:hover{opacity:1;border-color:rgba(167,139,250,.4)}
  .task.fdim{opacity:.42;filter:saturate(.35)}
  .task.fdim:hover{opacity:.7}
  .z-flex{--zc:#5eead4}
  .z-flex .zl,.z-flex .zdot{filter:saturate(.75)}
  /* FLEX PIN = nol shaming: sinyal telat, umur, glow waktu, merah dosa — semua dibungkam di tenda ini */
  .z-flex .task .sig,.z-flex .task .aged{display:none!important}
  .z-flex .task .pill.tg-r,.z-flex .task .pill.tg-y,.z-flex .task .pill.tg-g{animation:none!important;box-shadow:none!important;border-color:var(--line-2)!important;color:var(--mid)!important}
  .z-flex .task .pill.time{color:var(--mid)!important;border-color:var(--line-2)!important;box-shadow:none!important}
  .z-flex .task .pill.time.alt1,.z-flex .task .pill.time.alt2{border-color:var(--line-2)!important;color:var(--mid)!important;box-shadow:none!important}
  .pill.fpinp{color:#5eead4;border-color:rgba(94,234,212,.4);font-size:8px;letter-spacing:.08em;font-weight:800}
  .fsdig{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
  .szin{width:52px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:6px;color:var(--ink);font-size:11px;padding:2px 4px;text-align:center}
  .ovcap{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.18em;color:var(--yore);border:1px dashed rgba(255,93,93,.5);border-radius:8px;padding:3px 8px;margin:8px 0 4px;opacity:.85}
  .pill.time.alt1{border-color:rgba(242,177,61,.55);box-shadow:0 0 0 1px rgba(242,177,61,.14) inset}
  .pill.time.alt2{border-color:rgba(255,93,93,.6);box-shadow:0 0 0 1px rgba(255,93,93,.16) inset;color:var(--red)}
  .calclear:hover{color:var(--yore);border-color:var(--yore)}
  .ndone.pickable{cursor:pointer;border:1px solid transparent;padding:3px 8px;border-radius:20px;transition:.12s}
  .ndone.pickable:hover{border-color:rgba(45,212,167,.5)}
  .nmade{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:none;white-space:nowrap}

  /* ============ BUDGET ============ */
  .bstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:16px}
  .bstat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;animation:slideIn .3s cubic-bezier(.2,.7,.3,1)}
  .bstat b{font-family:"JetBrains Mono",monospace;font-size:16px;display:block;color:var(--ink);line-height:1.2;white-space:nowrap}
  .bstat span{font-size:9px;letter-spacing:.13em;color:var(--low);text-transform:uppercase}
  .bstat.pos b{color:var(--soon)} .bstat.neg b{color:var(--yore)} .bstat.amb b{color:var(--amber)}
  /* ============ v9.17 — BUDGET: hero, jalur, catat dari→ke ============ */
  /* ============ v9.19 — JENDELA KARTU · PICKER LEMBAR · KOTAK CATAT GUEDE ============ */
  .bpanel.karth{position:relative;overflow:hidden;
    border:1px solid color-mix(in srgb,var(--kacc,#4cc9f0) 30%,var(--line));
    background:radial-gradient(700px 220px at 10% -25%,color-mix(in srgb,var(--kacc,#4cc9f0) 11%,transparent),transparent 62%),
               linear-gradient(180deg,#0b0d14,#080a10);
    box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 18px 50px -40px color-mix(in srgb,var(--kacc,#4cc9f0) 95%,transparent);
    clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px))}
  .bpanel.karth .bpt{color:var(--kink,#e8ecf6);letter-spacing:.06em;
    text-shadow:.6px 0 0 rgba(255,45,120,.3),-.6px 0 0 rgba(64,220,255,.26)}
  .bpanel.karth .bph{position:relative}
  .bpanel.karth::before{content:"";position:absolute;left:0;right:0;top:0;height:96px;pointer-events:none;opacity:.4;
    background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--kacc,#4cc9f0) 8%,transparent) 0 1px,transparent 1px 4px)}
  .bpwx,.bpcogx{flex:none;font-size:12px;color:var(--low);cursor:pointer;padding:3px 6px;border-radius:7px;
    border:1px solid var(--line-2);transition:.13s;line-height:1}
  .bpwx:hover,.bpcogx:hover{color:var(--kacc,#4cc9f0);border-color:color-mix(in srgb,var(--kacc,#4cc9f0) 55%,transparent);
    background:color-mix(in srgb,var(--kacc,#4cc9f0) 12%,transparent)}
  .bpbody{position:relative;overflow:hidden}
  .bpbody.xp{max-height:none!important;overflow:visible}
  .bpbody.tangan{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}   /* bon #43 — scroll tangan */
  .bpwt9{font-size:11px}
  .bpwk9{display:inline-flex;gap:3px;align-items:center;flex:none}
  .bkisi9 .bpwx,.bkisi9 .bpcogx{padding:2px 5px;font-size:11px}   /* bon #43 C — kepala kartu 2/6 sempit, chipnya dirampingin */
  .bmuat9{margin:8px 0 2px;padding:8px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;
    color:var(--kacc,#4cc9f0);border:1px dashed color-mix(in srgb,var(--kacc,#4cc9f0) 45%,transparent);border-radius:9px;cursor:pointer}
  .bmuat9:hover{background:color-mix(in srgb,var(--kacc,#4cc9f0) 12%,transparent)}
  .bwcl9{padding:0;margin:0}
  .bpkaki{padding-top:9px;margin-top:7px;border-top:1px solid color-mix(in srgb,var(--kacc,#4cc9f0) 20%,var(--line))}
  .bpkaki .baddmini{margin-top:0}
  .bpgrip{height:14px;margin:4px -16px -14px;cursor:ns-resize;position:relative;touch-action:none}   /* bon #43 B1 — 14px biar kena jari */
  .bpgrip::after{content:"";position:absolute;left:50%;top:5px;width:42px;height:3px;border-radius:3px;
    transform:translateX(-50%);background:var(--line-2);transition:.13s}
  .bpgrip:hover::after{background:var(--kacc,#4cc9f0);width:64px}
  .bpmini{font-style:normal;font-size:8px;letter-spacing:.14em;color:var(--low);text-transform:uppercase;margin-left:3px}
  .baccgrip{flex:none;width:12px;color:var(--line-2);cursor:grab;font-size:10px;user-select:none}
  .brow.bacc:hover .baccgrip{color:var(--mid)}
  .brow.bacc.dragging{opacity:.35}
  .brow.bacc.bawaan{box-shadow:inset 2.5px 0 0 var(--ac9,#4cc9f0),0 0 22px -14px var(--ac9,#4cc9f0)}
  .baccdef{font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.16em;font-weight:800;color:var(--ac9,#4cc9f0);
    border:1px solid color-mix(in srgb,var(--ac9,#4cc9f0) 45%,transparent);border-radius:5px;padding:1px 5px;margin-left:6px;vertical-align:middle}

  /* picker jadi lembar tengah — tiap jenis satu BLOK WARNA utuh */
  .accpick{padding:0}
  .accq{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
    font-family:"JetBrains Mono",monospace;font-size:12.5px;padding:9px 12px;outline:none}
  .accq:focus{border-color:rgba(76,201,240,.55)}
  .apblok{margin:10px 10px 0;border-radius:12px;overflow:hidden;
    border:1px solid color-mix(in srgb,var(--apc,#4cc9f0) 42%,transparent);
    background:color-mix(in srgb,var(--apc,#4cc9f0) 7%,transparent)}
  .aphd{display:flex;align-items:center;gap:8px;padding:8px 12px;
    background:color-mix(in srgb,var(--apc,#4cc9f0) 17%,transparent);
    border-bottom:1px solid color-mix(in srgb,var(--apc,#4cc9f0) 30%,transparent)}
  .aphe{font-size:14px}
  .aphn{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--apc,#4cc9f0)}
  .aphd i{flex:1;height:1px;background:color-mix(in srgb,var(--apc,#4cc9f0) 30%,transparent)}
  .aphv{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--apc,#4cc9f0);opacity:.85}
  .aprow{display:flex;align-items:center;gap:10px;padding:9px 13px;cursor:pointer;transition:.11s;
    border-left:2px solid transparent}
  .aprow:hover{background:color-mix(in srgb,var(--apc,#4cc9f0) 15%,transparent);border-left-color:var(--apc,#4cc9f0)}
  .aprow.on{background:color-mix(in srgb,var(--apc,#4cc9f0) 22%,transparent);border-left-color:var(--apc,#4cc9f0)}
  .ape{font-size:15px;flex:none}
  .apn{flex:1;min-width:0;font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .apdef{font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.14em;color:var(--apc,#4cc9f0);
    border:1px solid color-mix(in srgb,var(--apc,#4cc9f0) 45%,transparent);border-radius:5px;padding:1px 5px;margin-left:7px;font-weight:800}
  .apv{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--mid);flex:none}

  /* kotak catat GUEDE */
  .bamtwrap{display:flex;align-items:center;gap:6px;flex:none;background:var(--void);border:1.5px solid var(--line-2);
    border-radius:13px;padding:4px 13px 4px 14px;transition:.14s}
  .bamtwrap:focus-within{border-color:var(--amber);box-shadow:0 0 26px -12px var(--amber)}
  .bamtrp{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--low);font-weight:700}
  /* DUA kelas, bukan satu: .caprow input di atas sana itu (0,1,1) dan bakal ngalahin
     .bamtin yang cuma (0,1,0) — nominalnya nyangkut di 16px padahal maunya 27px.
     Jebakan spesifisitas, sodaranya kasus .wsec v9.08. */
  .bcaprow .bamtin{width:172px;flex:none;background:transparent;border:none;border-radius:0;padding:10px 0;
    font-family:"Chakra Petch",ui-monospace,monospace;font-size:27px;font-weight:700;letter-spacing:.02em;
    color:var(--ink);outline:none;text-align:right}
  .bcaprow .bamtin:focus{border:none;box-shadow:none}
  .bpk2{display:flex;flex-direction:column;gap:1px;flex:none;max-width:210px;cursor:pointer;padding:8px 14px;border-radius:12px;
    border:1.5px solid color-mix(in srgb,var(--pc,#4cc9f0) 45%,transparent);
    background:color-mix(in srgb,var(--pc,#4cc9f0) 9%,transparent);transition:.14s}
  .bpk2:hover{background:color-mix(in srgb,var(--pc,#4cc9f0) 20%,transparent);border-color:var(--pc,#4cc9f0)}
  .bpk2 b{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.24em;color:var(--low);font-weight:800}
  .bpk2n{font-family:"Chakra Petch",sans-serif;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--pc,#4cc9f0);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .barrow{font-size:19px;color:var(--amber);padding:3px 7px;text-shadow:0 0 14px var(--amber)}
  .bcaprow .bnotein{font-size:15.5px;padding:10px 4px}
  .bgo2{font-size:12px;padding:13px 20px;letter-spacing:.1em}

  /* ============ v9.18 — BUDGET: persamaan, purse, pill preset, cekup ============ */
  .beqrow{display:flex;align-items:stretch;gap:9px;margin-bottom:12px;flex-wrap:wrap}
  .beq{position:relative;overflow:hidden;flex:1;min-width:180px;border-radius:15px;padding:15px 17px 14px;
       border:1px solid color-mix(in srgb,var(--eqc,#4cc9f0) 34%,var(--line));
       background:radial-gradient(600px 200px at 12% -30%,color-mix(in srgb,var(--eqc,#4cc9f0) 15%,transparent),transparent 62%),
                  linear-gradient(180deg,#0b0d14,#080a10);
       box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 18px 52px -38px color-mix(in srgb,var(--eqc,#4cc9f0) 95%,transparent);
       clip-path:polygon(0 0,calc(100% - 15px) 0,100% 15px,100% 100%,15px 100%,0 calc(100% - 15px));transition:.16s}
  .beq .pnscan{opacity:.34}
  .beq.a{--eqc:#4cc9f0} .beq.b{--eqc:#2dd4a7} .beq.c{--eqc:#ff5d5d} .beq.d{--eqc:#f2b13d;flex:1.35}
  .beq.neg{--eqc:#ff5d5d}
  .beql{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;color:var(--low);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .beqn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:27px;font-weight:700;letter-spacing:.03em;line-height:1.05;
        color:var(--eqc,#4cc9f0);text-shadow:.9px 0 0 rgba(255,45,120,.34),-.9px 0 0 rgba(64,220,255,.3),0 0 30px color-mix(in srgb,var(--eqc,#4cc9f0) 55%,transparent)}
  .beq.d .beqn{font-size:33px}
  .beqs{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.08em;color:var(--low);margin-top:6px;
        white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .beqop{display:grid;place-items:center;flex:none;font-family:"Chakra Petch",monospace;font-size:19px;font-weight:700;color:var(--line-2);padding:0 1px}
  .beqop.eq{color:var(--amber)}
  @media(max-width:900px){.beqop{display:none}.beq{min-width:44%}}

  .bpurse{margin-bottom:13px}
  .bpursehd{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.24em;
            font-weight:800;color:var(--low);margin-bottom:7px}
  .bpcog{margin-left:auto;cursor:pointer;font-size:12px;padding:3px 6px;border-radius:6px;border:1px solid var(--line-2)}
  .bpcog:hover{color:var(--ink);border-color:var(--mid)}
  .bpurseg{display:grid;grid-template-columns:repeat(auto-fill,minmax(163px,1fr));gap:8px}
  .bpc{position:relative;border-radius:12px;padding:11px 13px;cursor:pointer;transition:.14s;
       border:1px solid color-mix(in srgb,var(--pcc,#4cc9f0) 30%,var(--line));background:var(--panel);
       box-shadow:inset 2.5px 0 0 var(--pcc,#4cc9f0)}
  .bpc:hover{border-color:var(--pcc,#4cc9f0);transform:translateY(-2px)}
  .bpcl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.13em;color:var(--mid);
        white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bpcn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:19px;font-weight:700;color:var(--pcc,#4cc9f0);margin-top:3px;line-height:1.1}
  .bpc.neg .bpcn{color:var(--yore)}
  .bpcs{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.08em;color:var(--low);margin-top:4px;
        white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bpc.add{display:grid;place-items:center;align-content:center;border-style:dashed;box-shadow:none;--pcc:#8890a3}
  .bpcplus{font-size:20px;color:var(--mid);line-height:1}

  .bpills{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .bpqin{flex:none;width:158px;background:var(--void);border:1px solid var(--line-2);border-radius:8px;color:var(--ink);
         font-family:"JetBrains Mono",monospace;font-size:10px;padding:6px 9px;outline:none}
  .bpqin:focus{border-color:var(--amber)}
  .bpill{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.08em;font-weight:800;padding:6px 9px;border-radius:8px;
         border:1px solid color-mix(in srgb,var(--plc,#4cc9f0) 38%,transparent);color:var(--plc,#4cc9f0);
         background:color-mix(in srgb,var(--plc,#4cc9f0) 8%,transparent);cursor:pointer;white-space:nowrap;transition:.12s}
  .bpill:hover{background:color-mix(in srgb,var(--plc,#4cc9f0) 18%,transparent)}
  .bpill.on{background:var(--plc,#4cc9f0);color:#0a0c12;box-shadow:0 0 14px -4px var(--plc,#4cc9f0)}
  .bpill.tebak{border-style:dashed}
  .bpill.mati{opacity:.4;border-style:dashed}
  .bpill.mati:hover{opacity:.85}
  .bpillnil{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .bpillcog{margin-left:auto;cursor:pointer;font-size:12px;color:var(--low);padding:4px 7px;border-radius:7px;border:1px solid var(--line-2)}
  .bpillcog:hover{color:var(--ink);border-color:var(--mid)}
  .bkind.refund,.bkind.koreksi{color:#4cc9f0;border-color:rgba(76,201,240,.4);background:rgba(76,201,240,.08)}
  .bkind.aneh,.bkind.warn{color:var(--yore);border-color:rgba(255,93,93,.6);background:rgba(255,93,93,.14);animation:pulseW 1.5s ease-in-out infinite}
  @keyframes pulseW{0%,100%{opacity:1}50%{opacity:.62}}
  .bkindfix{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.1em;color:#0a0c12;background:var(--yore);
            border-radius:7px;padding:5px 10px;cursor:pointer}
  .bkindfix:hover{filter:brightness(1.12)}

  .bcek{border:1px solid rgba(255,93,93,.4);background:rgba(255,93,93,.06);border-radius:13px;margin-bottom:13px;overflow:hidden}
  .bcekhd{display:flex;align-items:center;gap:8px;padding:11px 14px;cursor:pointer;font-family:"JetBrains Mono",monospace;
          font-size:10.5px;color:var(--yore)}
  .bcekhd b{font-size:13px}
  .bcekar{margin-left:auto;font-size:9px;color:var(--mid)}
  .bcekbody{border-top:1px solid rgba(255,93,93,.25);padding:6px 10px 10px}
  .bcekrow{padding:9px 10px;border-radius:9px;background:rgba(0,0,0,.24);margin-top:6px}
  .bcekt{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--yore)}
  .bcekd{font-size:11.5px;color:var(--mid);margin-top:4px;line-height:1.5}
  .bceka{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
  .bcekb{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.1em;color:#0a0c12;background:var(--yore);
         border-radius:7px;padding:5px 10px;cursor:pointer}
  .bcekb.gh{background:transparent;color:var(--mid);border:1px solid var(--line-2)}
  .bcekb:hover{filter:brightness(1.12)}

  .blanehd{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.24em;
           font-weight:800;color:var(--mid);padding:8px 12px;border:1px solid var(--line);border-radius:11px;
           background:linear-gradient(180deg,var(--panel-2),var(--panel));text-transform:uppercase;
           box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
  .blhe{font-size:13px;filter:drop-shadow(0 0 8px var(--amber))}
  .blhn{color:var(--ink)}
  .blanehd i{flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
  .blhd{font-size:7.5px;letter-spacing:.1em;color:var(--low);text-transform:none;white-space:nowrap}
  .brow.bacc.gawat{border-color:rgba(255,93,93,.5);background:rgba(255,93,93,.07)}
  .baccwarn{color:var(--yore);cursor:help}
  .brow.btx.gawat{border-color:rgba(255,93,93,.45);background:rgba(255,93,93,.05)}
  .btxwarn{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.06em;color:var(--yore);
           border:1px solid rgba(255,93,93,.45);border-radius:6px;padding:2px 6px;margin-left:6px;white-space:nowrap}
  .btxflip{flex:none;font-size:13px;color:#0a0c12;background:var(--yore);border-radius:7px;padding:4px 8px;cursor:pointer;font-weight:800}
  .btxflip:hover{filter:brightness(1.14)}
  .bhero{position:relative;overflow:hidden;border-radius:16px;padding:20px 22px 18px;margin-bottom:12px;
         border:1px solid rgba(45,212,167,.34);
         background:radial-gradient(900px 260px at 10% -25%,rgba(45,212,167,.15),transparent 62%),linear-gradient(180deg,#0b0d14,#080a10);
         box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 22px 60px -40px rgba(45,212,167,.9);
         clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
  .bhero.neg{border-color:rgba(255,93,93,.42);
             background:radial-gradient(900px 260px at 10% -25%,rgba(255,93,93,.15),transparent 62%),linear-gradient(180deg,#0b0d14,#080a10);
             box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 22px 60px -40px rgba(255,93,93,.9)}
  .bhero .pnscan{opacity:.4}
  .bherol{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.28em;color:var(--low);margin-bottom:6px}
  .bheron{font-family:"Chakra Petch",ui-monospace,monospace;font-size:38px;font-weight:700;letter-spacing:.04em;line-height:1.05;color:#2dd4a7;
          text-shadow:1.2px 0 0 rgba(255,45,120,.4),-1.2px 0 0 rgba(64,220,255,.36),0 0 40px rgba(45,212,167,.5)}
  .bhero.neg .bheron{color:#ff5d5d;text-shadow:1.2px 0 0 rgba(255,45,120,.5),-1.2px 0 0 rgba(64,220,255,.3),0 0 40px rgba(255,93,93,.55)}
  .bheroeq{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--low);margin-top:7px}
  .bheroeq i{font-style:normal;color:var(--mid);margin:0 5px}
  .bstat.mut9 b{color:#4cc9f0} .bstat.viol b{color:#a78bfa}
  .blanes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
  /* bon #43 B1 — satu kisi 6 kolom; lebar kartu = data-bk9 (1..6). ≤1100 dua kolom (w≥4 selebar), ≤760 satu kolom. */
  .bkisi9{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start}
  .bkisi9>.bpanel,.bkisi9>.blaneend{min-width:0;grid-column:span 2;position:relative}   /* painter kartu nimpa className — jangan andelin kelas */
  /* bon #43 C — tinggi kartu dipatok (--bkh), kartu = flex kolom: badan ngisi sisanya & di-scroll, kaki nempel bawah → satu baris sama tinggi */
  .bkisi9>.bpanel{display:flex;flex-direction:column;box-sizing:border-box;height:var(--bkh,420px)}
  .bkisi9>.bpanel:has(>.bpbody.xp){height:auto}
  .bkisi9>.bpanel>.bph,.bkisi9>.bpanel>.bpsub,.bkisi9>.bpanel>.bpkaki,.bkisi9>.bpanel>.bpgrip{flex:none}
  .bkisi9>.bpanel>.bpbody{flex:1 1 auto;min-height:0}
  .bkisi9>.bpanel>.bpgrip{margin-top:auto}
  .bkisi9>[data-bk9="1"]{grid-column:span 1}.bkisi9>[data-bk9="3"]{grid-column:span 3}.bkisi9>[data-bk9="4"]{grid-column:span 4}
  .bkisi9>[data-bk9="5"]{grid-column:span 5}.bkisi9>[data-bk9="6"]{grid-column:span 6}
  .bkisi9>.blaneend{grid-column:1/-1}
  .bkisi9 .bpanel>.bph{user-select:none;touch-action:none}
  .bkisi9 .bpanel>.bph .bpt{cursor:grab}
  .bpanel.laykiri9{box-shadow:inset 4px 0 0 0 #2dd4a7}
  .bpanel.laykanan9{box-shadow:inset -4px 0 0 0 #2dd4a7}
  .bkrszw9{position:absolute;top:14px;bottom:14px;right:0;width:10px;cursor:ew-resize;touch-action:none;border-radius:6px;z-index:3}
  .bkrszw9::after{content:"";position:absolute;left:3px;top:50%;width:3px;height:38px;border-radius:3px;transform:translateY(-50%);background:var(--line-2);transition:.13s}
  .bkrszw9:hover::after,.bksizing9 .bkrszw9::after{background:var(--kacc,#4cc9f0);height:64px}
  .bkrszw9 b{display:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:"JetBrains Mono",monospace;font-size:10px;
    padding:3px 7px;border-radius:7px;background:var(--panel-2);border:1px solid var(--kacc,#4cc9f0);color:var(--kacc,#4cc9f0);white-space:nowrap}
  .bksizing9 .bkrszw9 b{display:block}
  .bksizing9{outline:1px dashed color-mix(in srgb,var(--kacc,#4cc9f0) 60%,transparent)}
  @media(max-width:1100px){.bkisi9{grid-template-columns:repeat(2,minmax(0,1fr))}.bkisi9>.bpanel{grid-column:span 1}
    .bkisi9>[data-bk9="4"],.bkisi9>[data-bk9="5"],.bkisi9>[data-bk9="6"]{grid-column:span 2}.bkrszw9{display:none}}
  @media(max-width:760px){.bkisi9{grid-template-columns:1fr}.bkisi9>.bpanel{grid-column:1/-1}}
  @media(max-width:1100px){.blanes{grid-template-columns:1fr 1fr}}
  @media(max-width:760px){.blanes{grid-template-columns:1fr}}
  .blane{display:flex;flex-direction:column;gap:12px;min-width:0}
  .blanehd{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.24em;font-weight:800;color:var(--low);
           padding:0 2px 2px;border-bottom:1px solid var(--line);text-transform:uppercase}

  /* ============ v9.20 — PERIODE · JALUR BISA DINAMAIN · KARTU BISA DISERET ============ */
  /* satu bar buat semua angka yang punya umur. Ungu — sengaja beda dari hijau neraca
     sama biru kartu, biar kebaca "ini saklar waktu", bukan salah satu angka. */
  .bper{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
        margin-bottom:12px;padding:9px 14px;border:1px solid rgba(192,132,252,.34);
        background:radial-gradient(700px 200px at 12% -40%,rgba(192,132,252,.16),transparent 62%),linear-gradient(180deg,#0b0d14,#080a10);
        box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 18px 46px -38px rgba(192,132,252,.95);
        clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
  .bper .pnscan{opacity:.34}
  .bperk{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.3em;font-weight:800;color:var(--low)}
  .bperx{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:8px;cursor:pointer;user-select:none;
         border:1px solid var(--line-2);color:var(--mid);font-size:15px;line-height:1;transition:.13s}
  .bperx:hover{color:#c084fc;border-color:rgba(192,132,252,.6);background:rgba(192,132,252,.13);box-shadow:0 0 18px -8px #c084fc}
  .bperx.mati{opacity:.2;pointer-events:none}
  .bperb{display:flex;align-items:baseline;gap:9px;cursor:pointer;padding:6px 13px;border-radius:11px;
         border:1px solid rgba(192,132,252,.4);background:rgba(192,132,252,.08);transition:.14s}
  .bperb:hover{background:rgba(192,132,252,.17);border-color:rgba(192,132,252,.78);box-shadow:0 0 26px -12px #c084fc}
  .bperb b{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;color:#ecdcff;
           text-shadow:.6px 0 0 rgba(255,60,120,.34),-.6px 0 0 rgba(64,220,255,.3)}
  .bperb span{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#c084fc}
  .bperb i{font-style:normal;color:var(--low);font-size:10px}
  .bperline{flex:1;min-width:10px;height:1px;background:linear-gradient(90deg,rgba(192,132,252,.34),transparent)}
  .bperinfo{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em;color:var(--low);white-space:nowrap}
  .bperflow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .bperflow b{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:800;letter-spacing:.03em;white-space:nowrap;
              border:1px solid transparent;border-radius:7px;padding:3px 8px}
  .bperflow b.in{color:var(--soon);border-color:color-mix(in srgb,var(--soon) 32%,transparent);background:color-mix(in srgb,var(--soon) 9%,transparent)}
  .bperflow b.out{color:var(--yore);border-color:rgba(255,93,93,.32);background:rgba(255,93,93,.08)}
  .bperflow b.mut{color:#4cc9f0;border-color:rgba(76,201,240,.32);background:rgba(76,201,240,.08)}
  .bpertag{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;color:var(--amber);white-space:nowrap;
           border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:6px;padding:2px 7px}
  .bperchip{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.12em;font-weight:800;
            color:#c084fc;border:1px solid rgba(192,132,252,.45);border-radius:8px;padding:4px 9px;transition:.13s;white-space:nowrap}
  .bperchip:hover{background:rgba(192,132,252,.16);box-shadow:0 0 20px -10px #c084fc}
  /* lencana "ini angka BULAN, bukan angka rentang" — nempel di amplop & target */
  .bpbln{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;color:var(--amber);
         border:1px solid color-mix(in srgb,var(--amber) 38%,transparent);border-radius:5px;padding:1px 5px;margin-left:4px;white-space:nowrap}

  .perpick{padding:14px}
  .pergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  @media(max-width:620px){.pergrid{grid-template-columns:1fr 1fr}}
  .perop{position:relative;overflow:hidden;cursor:pointer;padding:12px 13px 11px;transition:.15s;
         display:flex;flex-direction:column;
         border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));
         clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}
  .perop:hover{border-color:rgba(192,132,252,.6);transform:translateY(-2px)}
  .perop.on{border-color:rgba(192,132,252,.85);box-shadow:0 0 0 1px rgba(192,132,252,.22) inset;
            background:radial-gradient(400px 120px at 15% -30%,rgba(192,132,252,.2),transparent 62%),linear-gradient(180deg,#12101c,#0a0a12)}
  .perop .pnscan{opacity:.3}
  .perop b{display:block;font-family:"Chakra Petch",sans-serif;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
  .perop.on b{color:#ecdcff;text-shadow:.6px 0 0 rgba(255,60,120,.34),-.6px 0 0 rgba(64,220,255,.3)}
  .perlbl{display:block;margin-top:3px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em;color:#c084fc}
  .perop u{display:block;margin-top:auto;padding-top:7px;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.06em;color:var(--low)}
  .perbebas{margin-top:12px;padding:12px 13px;border-radius:13px;border:1px dashed var(--line-2);background:var(--void)}
  .perbebas.on{border-style:solid;border-color:rgba(192,132,252,.7);box-shadow:0 0 0 1px rgba(192,132,252,.14) inset}
  .perbl{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.22em;font-weight:800;color:var(--mid);margin-bottom:9px}
  .perbl span{letter-spacing:.06em;font-weight:600;color:var(--low);margin-left:6px}
  .perbr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .perbr input{flex:1;min-width:132px;background:var(--panel);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
               font-family:"JetBrains Mono",monospace;font-size:12px;padding:8px 10px;outline:none;color-scheme:dark}
  .perbr input:focus{border-color:rgba(192,132,252,.7)}
  .perar{color:var(--low)}
  .perbgo{cursor:pointer;border:none;border-radius:9px;padding:9px 17px;background:#c084fc;color:#0a0c12;
          font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;letter-spacing:.18em}
  .perbgo:hover{filter:brightness(1.12);box-shadow:0 0 26px -10px #c084fc}
  .pernote{margin-top:11px;font-size:11.5px;line-height:1.62;color:var(--low)}
  .pernote b{color:var(--mid)}

  /* kepala jalur balik jadi kotak — sekalian jadi tombol ganti nama */
  .blanehd{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;transition:.15s;
           border:1px solid var(--line);border-radius:11px;color:var(--mid);
           background:linear-gradient(180deg,var(--panel-2),var(--panel));
           box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
  .blanehd:hover{border-color:color-mix(in srgb,var(--amber) 44%,var(--line));
                 box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 30px -26px var(--amber)}
  .blanehd:hover .blhn{color:var(--amber)}
  .blaneend{min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:11px;
            border:1px dashed var(--line-2);transition:.15s}
  .blaneend.layover{border-color:#2dd4a7;background:rgba(45,212,167,.1);box-shadow:0 0 30px -14px #2dd4a7}
  .blnew{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;font-weight:800;
         color:var(--low);padding:8px 13px;transition:.13s}
  .blnew:hover{color:#2dd4a7;text-shadow:0 0 16px rgba(45,212,167,.7)}
  .bpanel[data-lay]>.bph{cursor:grab}
  .bpanel[data-lay]>.bph:active{cursor:grabbing}
  .bpanel.laydrag{opacity:.32;filter:saturate(.35)}
  /* garis jatuhnya INSET — kartunya kena clip-path, bayangan luar bakal kepotong */
  .bpanel.layatas{box-shadow:inset 0 4px 0 0 #2dd4a7}
  .bpanel.laybawah{box-shadow:inset 0 -4px 0 0 #2dd4a7}

  .kbaru{padding:14px}
  .kbname{margin-bottom:12px}
  .kbq{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:11px;color:var(--ink);outline:none;
       font-family:"Chakra Petch",sans-serif;font-size:16px;font-weight:700;letter-spacing:.05em;padding:11px 14px;text-transform:uppercase}
  .kbq:focus{border-color:rgba(45,212,167,.7);box-shadow:0 0 26px -14px #2dd4a7}
  .kbop{position:relative;overflow:hidden;cursor:pointer;display:grid;grid-template-columns:46px 1fr;gap:3px 12px;
        align-items:center;padding:13px 78px 13px 15px;margin-bottom:10px;transition:.15s;
        border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));
        clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}
  .kbop:hover{border-color:rgba(45,212,167,.65);transform:translateY(-2px);
              background:radial-gradient(500px 150px at 8% -30%,rgba(45,212,167,.14),transparent 62%),linear-gradient(180deg,#0b1014,#080a10)}
  .kbop .pnscan{opacity:.3}
  .kbe{grid-column:1;grid-row:1/3;font-size:27px;text-align:center;filter:drop-shadow(0 0 12px rgba(45,212,167,.55))}
  .kbop b{grid-column:2;grid-row:1;align-self:end;font-family:"Chakra Petch",sans-serif;font-size:16px;font-weight:700;letter-spacing:.05em;color:var(--ink)}
  .kbop:hover b{color:#8ff0d0;text-shadow:.6px 0 0 rgba(255,60,120,.32),-.6px 0 0 rgba(64,220,255,.3)}
  .kbop u{grid-column:2;grid-row:2;align-self:start;text-decoration:none;font-size:11.5px;line-height:1.55;color:var(--low)}
  .kbop em{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;opacity:0;transition:.15s;
           font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.18em;font-weight:800;color:#2dd4a7}
  .kbop:hover em{opacity:1}
  .kartuku .bpt::after{content:"RAKITAN";margin-left:8px;vertical-align:middle;
                       font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.16em;color:var(--low);
                       border:1px solid var(--line-2);border-radius:4px;padding:1px 4px}
  .bcap9{padding:12px 14px 10px}
  .bcaprow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .bamtin{flex:none;width:130px;background:var(--void);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);
          font-family:"JetBrains Mono",monospace;font-size:17px;font-weight:700;padding:9px 11px;outline:none;text-align:right}
  .bamtin:focus{border-color:var(--amber);box-shadow:0 0 20px -11px var(--amber)}
  .bnotein{flex:1;min-width:120px;background:transparent;border:none;outline:none;color:var(--ink);font-size:14px;padding:8px 4px;font-family:Barlow,sans-serif}
  .bnotein::placeholder{color:var(--low)}
  .chip.bpk{border-color:color-mix(in srgb,var(--pc,#4cc9f0) 45%,transparent);color:var(--pc,#4cc9f0);
            background:color-mix(in srgb,var(--pc,#4cc9f0) 10%,transparent);white-space:nowrap}
  .barrow{font-family:"JetBrains Mono",monospace;font-size:14px;color:var(--mid);cursor:pointer;padding:2px 5px;border-radius:6px;user-select:none;flex:none}
  .barrow:hover{color:var(--ink);background:rgba(255,255,255,.07)}
  .bcaphint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;
            font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em}
  .bkind{padding:4px 9px;border-radius:7px;border:1px solid var(--line-2);color:var(--mid);font-weight:800}
  .bkind.out{color:var(--yore);border-color:rgba(255,93,93,.4);background:rgba(255,93,93,.08)}
  .bkind.in{color:var(--soon);border-color:rgba(45,212,167,.4);background:rgba(45,212,167,.08)}
  .bkind.mut{color:#4cc9f0;border-color:rgba(76,201,240,.4);background:rgba(76,201,240,.08)}
  .bhintq{color:var(--low)} .bhintq b{color:var(--mid)}
  .brow.bacc{box-shadow:inset 2.5px 0 0 var(--ac9,#4cc9f0)}
  .bacce{filter:drop-shadow(0 0 7px var(--ac9,#4cc9f0))}
  .baccog{flex:none;font-size:12px;color:var(--low);cursor:pointer;padding:3px 5px;border-radius:6px;opacity:0;transition:.13s}
  .brow.bacc:hover .baccog{opacity:.85}
  .baccog:hover{opacity:1!important;color:var(--ink);background:rgba(255,255,255,.07)}
  .bfils{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
  .bfil{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;font-weight:800;padding:5px 9px;
        border:1px solid var(--line-2);border-radius:7px;color:var(--low);cursor:pointer;white-space:nowrap}
  .bfil:hover{color:var(--ink)}
  .bfil.on{color:var(--amber);border-color:rgba(242,177,61,.55);background:rgba(242,177,61,.1)}
  .brow.btx .schip{cursor:pointer;border-color:color-mix(in srgb,var(--fc9,#8890a3) 40%,transparent);color:var(--fc9,#8890a3)}
  .brow.btx .schip:hover{background:color-mix(in srgb,var(--fc9,#8890a3) 14%,transparent)}
  .bar9{font-style:normal;color:var(--line-2);margin:0 1px}
  .brecask{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--amber);border:1px solid rgba(242,177,61,.35);
           background:rgba(242,177,61,.07);border-radius:11px;padding:10px 13px;margin-bottom:12px}
  .bgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:880px){.bgrid{grid-template-columns:1fr}}
  .bpanel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0;animation:slideIn .34s cubic-bezier(.2,.7,.3,1)}
  .bpanel .bph{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;gap:8px;flex-wrap:wrap}
  .bpanel .bpt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;display:flex;gap:8px;align-items:center}
  .bpanel .bpsub{font-size:11.5px;color:var(--low);margin-bottom:12px}
  .bpanel .bptotal{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--mid)}
  .brow{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;margin-bottom:6px;flex-wrap:wrap;animation:slideIn .26s ease}
  .brow .bmain{flex:1;min-width:130px}
  .brow .bname{font-size:13px;font-weight:600;word-break:break-word}
  .brow .bsubtxt{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-top:3px}
  .bamt{font-family:"JetBrains Mono",monospace;font-size:12.5px;font-weight:700;white-space:nowrap}
  .bamt.in{color:var(--soon)} .bamt.out{color:var(--yore)} .bamt.mut{color:var(--mid)}
  .bamt.edit{cursor:pointer;border-bottom:1px dashed var(--line-2)}
  .bamt.edit:hover{color:var(--ink);border-color:var(--mid)}
  .bprog{height:6px;border-radius:20px;background:var(--void);overflow:hidden;margin-top:7px;width:100%}
  .bprog i{display:block;height:100%;border-radius:20px;background:var(--bc,var(--now));animation:growW .6s cubic-bezier(.2,.7,.3,1)}
  .bprog.over i{background:var(--yore)}
  .btgl{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:20px;padding:3px;gap:2px;flex:none}
  .btgl span{cursor:pointer;font-size:10.5px;font-weight:700;padding:4px 12px;border-radius:20px;color:var(--mid);font-family:"JetBrains Mono",monospace;transition:.12s}
  .btgl span.on.tout{background:rgba(255,93,93,.16);color:var(--yore)}
  .btgl span.on.tin{background:rgba(45,212,167,.16);color:var(--soon)}
  .baddmini{display:flex;gap:6px;margin-top:9px}
  .baddmini input{flex:1;min-width:0;background:var(--void);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:12.5px;padding:8px 10px;outline:none;font-family:"Barlow",sans-serif}
  .baddmini input:focus{border-color:var(--amber)}
  .baddmini button{background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);border-radius:var(--r);padding:0 13px;cursor:pointer;font-weight:700;font-size:14px}
  .baddmini button:hover{color:var(--ink)}
  .spark{display:flex;align-items:flex-end;gap:3px;height:36px;margin:10px 0 2px}
  .spark i{flex:1;background:rgba(255,93,93,.45);border-radius:2px 2px 0 0;min-height:2px;transition:.2s}
  .spark i.tdy{background:var(--amber)}
  .bmn{display:flex;align-items:center;gap:6px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px}
  .pop.inp{display:block;min-width:210px;padding:10px}
  .pop.inp input{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:6px;color:var(--ink);font-size:13px;padding:9px 10px;outline:none;font-family:"JetBrains Mono",monospace}
  .pop.inp input:focus{border-color:var(--amber)}
  .pop.inp .ihint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-top:6px}
  .pop.inp textarea{width:100%;min-height:70px;background:var(--void);border:1px solid var(--line-2);border-radius:6px;color:var(--ink);font-size:13px;padding:9px 10px;outline:none;font-family:"Barlow",sans-serif;resize:vertical}
  .pop.inp textarea:focus{border-color:var(--amber)}

  /* ============ KANVAS ============ */
  .kgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
  .kcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer;transition:.16s;animation:popIn .3s cubic-bezier(.2,.9,.3,1.1)}
  .kcard:hover{border-color:var(--line-2);transform:translateY(-2px)}
  .kthumb{height:130px;background:var(--void);display:grid;place-items:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
  .kthumb img{width:100%;height:100%;object-fit:cover}
  .kthumb .kempty{font-size:26px;opacity:.3}
  .kinfo{padding:11px 12px}
  .kname{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .kmeta{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-top:4px;display:flex;justify-content:space-between;align-items:center;gap:6px}
  .knew{border-style:dashed;display:grid;place-items:center;min-height:190px;color:var(--mid);font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px}
  .knew:hover{color:var(--pink);border-color:var(--pink)}

  .kfull{position:fixed;inset:0;z-index:400;background:var(--void);display:flex;flex-direction:column}
  .kbar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}
  .kbar .kback{background:transparent;border:1px solid var(--line);color:var(--mid);border-radius:6px;padding:7px 12px;cursor:pointer;font-size:12px;font-weight:600}
  .kbar .kback:hover{color:var(--ink);border-color:var(--line-2)}
  .kbar .ktitle{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;outline:none;border-radius:5px;padding:4px 8px;min-width:60px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .kbar .ktitle:focus{max-width:min(72vw,560px);white-space:normal;overflow:visible;text-overflow:clip;background:var(--panel-2);box-shadow:0 0 0 2px rgba(76,201,240,.25)}
  .kbar .ktitle:focus{background:var(--panel-2);box-shadow:0 0 0 2px rgba(242,177,61,.3)}
  .ksep{width:1px;height:22px;background:var(--line);margin:0 2px}
  .ktool{width:36px;height:34px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:16px;color:var(--mid);transition:.12s;position:relative}
  .ktool:hover{background:var(--panel-2);color:var(--ink)}
  .ktool.on{background:var(--panel-2);border-color:var(--tc,var(--amber));color:var(--ink);box-shadow:0 0 14px -6px var(--tc,var(--amber))}
  .kdot{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:.12s;flex:none}
  .kdot.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--void),0 0 10px currentColor}
  .ksize{display:flex;align-items:center;gap:5px}
  .ksize span{cursor:pointer;border-radius:50%;background:var(--mid);transition:.12s}
  .ksize span:hover{background:var(--ink)}
  .ksize span.on{background:var(--amber);box-shadow:0 0 8px var(--amber)}
  .kright{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .kstat{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);white-space:nowrap;min-width:62px;text-align:right}
  /* v9.28 — ikon HURUF disamain optiknya sama ikon EMOJI. Emoji di 16px kerender jauh
     lebih gede & tebel daripada glyph huruf di ukuran yang sama, makanya ▭ ⬚ ↩ ↪ ⚙
     selama ini keliatan kekecilan padahal angkanya sama persis. Yang disetel ukuran
     optiknya, bukan kotaknya — kotaknya tetep 36x34 semua. */
  .ktool.ktg{font-size:19.5px;line-height:1;font-weight:600}
  .ktool.ktg.tee{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:21px;letter-spacing:.02em;
                 text-shadow:.7px 0 0 rgba(255,60,120,.45),-.7px 0 0 rgba(64,220,255,.4)}
  .ktool.ktg.tee.on{text-shadow:.7px 0 0 rgba(255,60,120,.62),-.7px 0 0 rgba(64,220,255,.56),0 0 13px rgba(234,236,243,.4)}
  /* ⚡ WARP + ⏱ TIMER yang dipinjem dari bar atas — lihat kLoanIn/kLoanOut */
  .kloan{display:flex;align-items:center;gap:8px}
  /* v9.29 — lembar gambar yatim */
  .kyrow{display:flex;align-items:center;gap:10px;padding:9px 3px;border-bottom:1px solid var(--line)}
  .kyrow:last-of-type{border-bottom:0}
  .kyl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;color:var(--low);flex:1}
  .kyv{font-family:"JetBrains Mono",monospace;font-size:14px;font-weight:800;color:var(--ink)}
  .kyv.bad{color:var(--yore,#ff5d5d);text-shadow:0 0 14px rgba(255,93,93,.45)}
  .kyv.ok{color:var(--soon,#2dd4a7)}
  .kbar .warp.inkbar{flex:none;width:clamp(150px,20vw,260px);min-width:150px}
  .kbar .warp.inkbar input{font-size:11.5px;padding:7px 11px;border-radius:8px}
  .kbar .warp.inkbar .warpdrop{min-width:min(360px,92vw);left:0;right:auto;z-index:640;max-height:min(62vh,440px);overflow:auto}
  .kbar .rtw.inkbar{flex:none}
  .kbar .rtw.inkbar .rtpop{z-index:640;right:auto;left:0}
  /* v9.26: lebar dikunci — angka persen yang goyang bikin .kbar (flex-wrap) ngitung ulang tiap frame */
  .kbar #kreset{min-width:76px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:11px}

  /* ---- v9.27 PRESET KERTAS — semua kelasnya berawalan kp biar ga nabrak yang lain ---- */
  .kpwrap{display:flex;flex-direction:column;gap:1px}
  .kpsec{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.2em;font-weight:800;
         color:var(--kpc,#4cc9f0);margin:14px 2px 7px;display:flex;align-items:center;gap:9px}
  .kpsec i{flex:1;height:1px;font-style:normal;background:linear-gradient(90deg,color-mix(in srgb,var(--kpc,#4cc9f0) 50%,transparent),transparent)}
  .kprow{display:flex;align-items:center;gap:8px;padding:4px 2px;flex-wrap:wrap}
  .kplbl{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em;color:var(--low);width:66px;flex:none}
  .kpchip{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;font-weight:700;
          border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer;color:var(--mid);
          background:transparent;transition:.13s;white-space:nowrap;
          clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
  .kpchip:hover{color:var(--ink);border-color:var(--line-2)}
  .kpchip.on{color:var(--void);background:var(--kpa,#4cc9f0);border-color:var(--kpa,#4cc9f0);box-shadow:0 0 15px -5px var(--kpa,#4cc9f0)}
  .kpsw{width:23px;height:23px;border-radius:6px;cursor:pointer;border:2px solid transparent;flex:none;transition:.12s}
  .kpsw.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--void),0 0 10px currentColor}
  .kpsl{flex:1;min-width:110px;height:4px;-webkit-appearance:none;appearance:none;background:var(--line);border-radius:3px;outline:none;cursor:pointer}
  .kpsl::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--kpa,#2dd4a7);box-shadow:0 0 9px -2px var(--kpa,#2dd4a7);cursor:pointer}
  .kpsl::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--kpa,#2dd4a7);cursor:pointer}
  .kpnum{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--amber);width:54px;text-align:right;flex:none}
  .kpprev{width:100%;height:134px;border:1px solid var(--line);border-radius:10px;display:block;margin-top:3px}
  .kpact{display:flex;gap:8px;margin-top:15px}
  .kpbtn{flex:1;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;font-weight:700;text-align:center;
         border:1px solid var(--line);border-radius:8px;padding:9px 6px;cursor:pointer;color:var(--mid);background:transparent;transition:.13s}
  .kpbtn:hover{color:var(--ink);border-color:var(--line-2);background:var(--panel-2)}
  .kpbtn.pri{color:var(--amber);border-color:rgba(242,177,61,.45)}
  .kpbtn.pri:hover{background:rgba(242,177,61,.1);color:var(--amber)}
  .kparah{display:grid;grid-template-columns:repeat(8,23px);gap:4px}
  .kpar{width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:11px;color:var(--low);transition:.12s}
  .kpar:hover{color:var(--ink);border-color:var(--line-2)}
  .kpar.on{color:var(--void);background:var(--soon);border-color:var(--soon)}
  .kphint{font-family:"JetBrains Mono",monospace;font-size:9px;line-height:1.55;color:var(--low);padding:9px 2px 2px}
  .kpchip.mati9{opacity:.4;pointer-events:none}
.kpin{width:86px;flex:none;background:var(--panel-2);border:1px solid var(--line-2);border-radius:7px;padding:6px 9px;
        color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:11px;outline:none}
  .kpin:focus{border-color:var(--amber)}
  .kstage{flex:1;position:relative;overflow:hidden;touch-action:none}
  .kstage canvas{position:absolute;inset:0;touch-action:none}
  .kchooser{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,7,11,.82);backdrop-filter:blur(4px);z-index:5}
  .kchoose{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center;max-width:340px;animation:popIn .3s ease}
  .kchoose h3{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:16px;margin-bottom:5px}
  .kchoose p{font-size:12px;color:var(--mid);margin-bottom:16px}
  .kchoose .kopt{display:flex;align-items:center;gap:11px;width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:12px 14px;cursor:pointer;color:var(--ink);font-size:13.5px;font-weight:600;margin-bottom:8px;transition:.14s;text-align:left}
  .kchoose .kopt:hover{border-color:var(--amber);transform:translateX(2px)}
  .kchoose .kopt small{display:block;font-weight:400;font-size:10.5px;color:var(--low);font-family:"JetBrains Mono",monospace;margin-top:2px}
  .ktextedit{position:absolute;background:transparent;border:none;outline:1.5px dashed rgba(242,177,61,.5);outline-offset:5px;border-radius:3px;min-width:14px;min-height:1em;white-space:pre;z-index:6;caret-color:var(--amber);font-weight:600;line-height:1.32;padding:0;margin:0}

  /* ============ DIARY ============ */
  .dcomp{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:18px;position:relative}
  .dcomp::before{content:"📖 ENTRI BARU";position:absolute;top:-9px;left:16px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:#a78bfa;background:var(--void);padding:1px 8px;border-radius:20px;border:1px solid var(--line)}
  .dmoods{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
  .dmood{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line);color:var(--mid);transition:.13s;font-family:"JetBrains Mono",monospace}
  .dmood:hover{color:var(--ink);transform:translateY(-1px)}
  .dmood.on{color:var(--mc);border-color:color-mix(in srgb,var(--mc) 55%,transparent);background:color-mix(in srgb,var(--mc) 12%,transparent);box-shadow:0 0 14px -6px var(--mc)}
  .dcomp textarea{width:100%;min-height:96px;background:var(--void);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:14px;line-height:1.65;padding:13px 14px;outline:none;font-family:"Barlow",sans-serif;resize:vertical}
  .dcomp textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.1)}
  .dcomp .dfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
  .dcomp .dhint{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low)}
  .dimgstrip{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 2px}
  .dimgstrip:empty{display:none}
  .dimgc{position:relative;width:58px;height:58px;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;flex:none}
  .dimgc img{width:100%;height:100%;object-fit:cover;display:block}
  .dimgc i{position:absolute;top:2px;right:2px;font-style:normal;font-size:9px;background:rgba(6,7,11,.8);border:1px solid var(--line-2);border-radius:99px;padding:1px 5px;cursor:pointer;color:var(--yore)}
  .dimb{background:transparent!important;border:1px solid var(--line-2)!important;color:var(--mid)!important;box-shadow:none!important}
  .dimb:hover{border-color:#7dd3fc!important;color:#7dd3fc!important}
  /* v9.33 — tombol muat lagi (feed dipotong per halaman) */
.jmore{display:flex;align-items:center;justify-content:center;gap:11px;padding:18px 0 6px}
.jmoreb{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.1em;
        color:var(--amber);border:1px solid rgba(242,177,61,.45);background:color-mix(in srgb,var(--amber) 7%,transparent);
        border-radius:22px;padding:9px 20px;cursor:pointer;transition:.15s}
.jmoreb:hover{background:var(--amber);color:#06070b}
.jmore i{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);font-style:normal}
.dthumbwrap{position:relative;flex:none;width:52px;height:52px;border:1px solid var(--line-2);border-radius:11px;overflow:hidden;cursor:pointer;align-self:center;box-shadow:0 0 14px -8px #7dd3fc}
  .dthumbwrap:hover{border-color:#7dd3fc}
  .dthumb{width:100%;height:100%;object-fit:cover;display:block}
  .dthumbwrap b{position:absolute;right:2px;bottom:2px;font-family:"JetBrains Mono",monospace;font-size:8px;background:rgba(6,7,11,.85);border-radius:6px;padding:1px 5px;color:#7dd3fc}
  .dimgview{position:fixed;inset:0;background:rgba(4,5,9,.92);backdrop-filter:blur(4px);z-index:950;display:flex;align-items:center;justify-content:center}
  .dimgview img{max-width:94vw;max-height:92vh;border-radius:14px;border:1px solid var(--line-2);box-shadow:0 30px 90px -20px rgba(0,0,0,.95)}
  .dimgview .dvq{position:fixed;top:14px;right:18px;cursor:pointer;color:var(--mid);font-size:18px;padding:6px 10px}
  .dimgview .dvq:hover{color:var(--yore)}
  .dimgview .dvn{position:fixed;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--ink);font-size:26px;padding:14px 16px;background:rgba(16,19,28,.6);border:1px solid var(--line-2);border-radius:12px;user-select:none}
  .dimgview .dvp{left:12px}
  .dimgview .dvx{right:12px}
  .dimgview .dvc{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid);letter-spacing:.14em}
  /* v9.39 — kabar kecil pas export lagi narik foto dari baris samping */
  .jexpkabar{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:980;
    background:var(--panel);border:1px solid var(--line-2);border-radius:12px;padding:11px 18px;
    color:var(--ink);font-family:"Chakra Petch",system-ui,sans-serif;font-size:12.5px;letter-spacing:.06em;
    box-shadow:0 20px 60px -18px rgba(0,0,0,.9)}
  .dimgview .dvc[data-jload]{font-size:13px;letter-spacing:.1em;color:#7dd3fc}
  /* ===== v9.41 — ⌁ SHORTCUT strip. Bahasa visualnya nyambung sama STRIP STREAK
     (v9.37): mono, kurung siku di pojok, sapuan cahaya, garis pindai tipis. ===== */
  .lkstrip{position:relative;border:1px solid var(--line);border-radius:14px;background:
    linear-gradient(180deg,rgba(34,211,238,.05),rgba(4,5,9,0) 62%),var(--panel);
    overflow:hidden;margin:0 0 14px}
  .lkstrip::before,.lkstrip::after{content:"";position:absolute;width:13px;height:13px;pointer-events:none;
    border-color:rgba(34,211,238,.55);border-style:solid;opacity:.9}
  .lkstrip::before{left:6px;top:6px;border-width:1px 0 0 1px;border-radius:4px 0 0 0}
  .lkstrip::after{right:6px;bottom:6px;border-width:0 1px 1px 0;border-radius:0 0 4px 0}
  .lkstrip .lkscan{position:absolute;inset:0;pointer-events:none;opacity:.28;
    background:repeating-linear-gradient(180deg,rgba(34,211,238,.12) 0 1px,transparent 1px 4px)}
  .lkbar{display:flex;align-items:center;gap:10px;padding:10px 14px;position:relative;z-index:1;min-height:44px}
  .lkzap{color:#22d3ee;font-size:15px;text-shadow:0 0 12px rgba(34,211,238,.7);flex:none}
  .lklbl{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;color:#22d3ee;flex:none}
  .lkmain{display:flex;gap:7px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:1px 0}
  .lkmain::-webkit-scrollbar{display:none}
  .lkn{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);flex:none}
  .lkgear,.lkcar{flex:none;cursor:pointer;color:var(--mid);font-size:12px;padding:3px 7px;border-radius:8px;
    border:1px solid transparent;transition:.16s}
  .lkgear:hover,.lkcar:hover{color:#22d3ee;border-color:rgba(34,211,238,.35);background:rgba(34,211,238,.07)}
  .lkcar{transform:rotate(0);font-size:11px}
  .lkstrip.on .lkcar{transform:rotate(180deg)}
  .lkbody{display:none;padding:2px 14px 13px;position:relative;z-index:1;border-top:1px solid var(--line)}
  .lkstrip.on .lkbody{display:block}
  .lkgrp{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:10px 0 0}
  .lkgh{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;color:var(--low);
    padding:3px 8px;border:1px dashed var(--line);border-radius:7px;flex:none}
  .lkchip{display:inline-flex;align-items:center;gap:6px;max-width:190px;cursor:grab;   /* v11.15 ⌁ geserable */
    font-family:"Chakra Petch",system-ui,sans-serif;font-size:11.5px;letter-spacing:.05em;color:var(--ink);
    padding:5px 11px;border:1px solid var(--line-2);border-radius:9px;background:rgba(255,255,255,.02);
    transition:.16s;white-space:nowrap;flex:none}
  .lkchip b{font-weight:600;overflow:hidden;text-overflow:ellipsis;max-width:150px}
  .lkchip:hover{border-color:rgba(34,211,238,.5);background:rgba(34,211,238,.09);
    box-shadow:0 0 18px -8px rgba(34,211,238,.8);transform:translateY(-1px)}
  .lkchip .lkdot{width:5px;height:5px;border-radius:50%;background:var(--low);flex:none;transition:.16s}
  .lkchip.pin .lkdot{background:#22d3ee;box-shadow:0 0 8px rgba(34,211,238,.9)}
  .lkpinb{cursor:pointer;color:var(--low);font-size:10px;padding:0 2px;flex:none;opacity:.55}
  .lkpinb:hover{color:#22d3ee;opacity:1}
  .lkchip.pin .lkpinb{color:#22d3ee;opacity:1}
  .lkkosong{font-size:11.5px;color:var(--low);font-style:italic;padding:2px 0}
  .lkauto{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--low);
    padding:9px 0 0;opacity:.75}
  /* ===== v9.43 — kotak cari setelan ===== */
  .setfind{display:flex;gap:10px;align-items:center;margin:0 0 14px}
  #setq{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 14px;
    color:var(--ink);font-family:"Chakra Petch",system-ui,sans-serif;font-size:13px;letter-spacing:.04em;outline:none;transition:.16s}
  #setq::placeholder{color:var(--low)}
  #setq:focus{border-color:rgba(34,211,238,.55);box-shadow:0 0 20px -11px #22d3ee}
  .setfn{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--low);flex:none;min-width:78px;text-align:right}
  .setfx{cursor:pointer;color:var(--low);font-size:13px;padding:5px 9px;border-radius:9px;border:1px solid var(--line);flex:none;transition:.16s}
  .setfx:hover{color:#ff5d5d;border-color:rgba(255,93,93,.45)}
  /* mode cari: SEMUA lembar dipajang barengan, soalnya yang dicari bisa di lembar mana aja */
  .setdetail.qmode .spane{display:block!important}
  .setdetail.qmode .spane.qkos{display:none!important}
  .setdetail.qmode .setcard.qkos{display:none!important}
  .setdetail.qmode .srow.qkos,.setdetail.qmode .brow.qkos,.setdetail.qmode .schips.qkos{display:none!important}
  .setdetail.qmode .setcard.col .cbody{display:block!important}
  /* kartu ⚙ Cockpit punya TAB SENDIRI di dalemnya (.c2p), dan cuma tab yang lagi
     aktif yang kelihatan. Pas nyari, semuanya dibuka — kalo engga, hasil yang
     kena tab lain "ketemu" tapi ga kelihatan, dan itu lebih bikin kesel daripada
     ga ketemu sama sekali. */
  .setdetail.qmode .c2p{display:block!important}
  .setdetail.qmode .c2p.qkos{display:none!important}
  .setdetail.qmode .cog2nav{opacity:.35;pointer-events:none}
  .qpane{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;color:#22d3ee;
    padding:4px 9px;border:1px dashed rgba(34,211,238,.4);border-radius:7px;display:inline-block;margin:14px 0 6px}
  .qkosong{padding:30px;text-align:center;color:var(--low);font-size:13px;font-style:italic}
  /* ===== v9.44 — widget di luar The Screen. Cangkangnya .swg yang SAMA PERSIS,
     jadi widget kelihatan identik di mana pun dia nempel. ===== */
  .pwrack{margin:0 0 14px}
  .pwhd{display:flex;align-items:center;gap:9px;margin:0 0 9px}
  .pwhd .t{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.24em;color:var(--amber)}
  .pwhd .l{flex:1;height:1px;background:var(--line)}
  .pwhd .n{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
  .pwhd .b{cursor:pointer;color:var(--mid);font-size:11px;padding:4px 9px;border:1px solid var(--line);
    border-radius:8px;transition:.16s;font-family:"JetBrains Mono",monospace;letter-spacing:.1em}
  .pwhd .b:hover{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);
    background:color-mix(in srgb,var(--amber) 8%,transparent)}
  /* v9.50 — rak jadi KISI 4 kolom. Tiap widget bilang dia makan berapa kolom
     (--pwk), jadi satu garis bisa diisi beberapa widget yang dipepetin. Bawaannya
     4 = selebar rak, biar yang lama nol berubah. */
  .pwgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-items:start}
  .pwgrid > .pwg{grid-column:span var(--pwk,4)}
  /* layar sempit: semua balik selebar rak. Widget seperempat di HP itu ga kebaca. */
  @media (max-width:760px){ .pwgrid > .pwg{grid-column:span 4} }
  .pwrszw{position:absolute;top:0;bottom:0;right:0;width:9px;cursor:ew-resize;touch-action:none}
  .pwrszw:after{content:"";position:absolute;top:50%;right:3px;transform:translateY(-50%);
    width:2px;height:34px;border-radius:2px;background:var(--line-2);transition:.16s}
  .pwrszw:hover:after{background:var(--amber);box-shadow:0 0 10px -2px var(--amber)}
  .pwkol{position:absolute;right:12px;bottom:4px;font-family:"JetBrains Mono",monospace;
    font-size:8.5px;letter-spacing:.1em;color:var(--amber);opacity:0;transition:.16s;pointer-events:none}
  .pwg.pwsizing .pwkol{opacity:.95}
  .pwrack .swg,.hblk .swg{position:relative}
  .pwg{min-height:90px}
  .pwg .swHd{cursor:grab}
  /* di The Screen tombol ⚙/✕ ngumpet sampe di-hover, soalnya di sana ada MODE NGEDIT
     yang munculin semuanya sekaligus. Di Home/Harian ga ada mode ngedit — kalo dia
     nunggu hover doang, orang ga bakal tau widget-nya bisa diatur. Jadi di rak dia
     nyala samar dari awal. */
  .pwg .swBtn{opacity:.4}
  .pwg:hover .swBtn{opacity:.95}
  .pwg.pwdrag{opacity:.42;cursor:grabbing}
  .pwg.pwatas{box-shadow:0 -3px 0 -1px var(--amber),0 10px 30px -18px #000}
  .pwg.pwbawah{box-shadow:0 3px 0 -1px var(--amber),0 10px 30px -18px #000}
  /* widget yang ga selebar rak = lagi bersebelahan, jadi penandanya di KIRI/KANAN */
  .pwgrid > .pwg:not([style*="--pwk:4"]).pwatas{box-shadow:-3px 0 0 -1px var(--amber),0 10px 30px -18px #000}
  .pwgrid > .pwg:not([style*="--pwk:4"]).pwbawah{box-shadow:3px 0 0 -1px var(--amber),0 10px 30px -18px #000}
  .pwrsz{position:absolute;left:0;right:0;bottom:0;height:9px;cursor:ns-resize;touch-action:none}
  .pwrsz:after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);
    width:36px;height:2px;border-radius:2px;background:var(--line-2);transition:.16s}
  .pwrsz:hover:after{background:var(--amber);box-shadow:0 0 10px -2px var(--amber)}
  .pwkosong{border:1px dashed var(--line);border-radius:12px;padding:22px;text-align:center;
    color:var(--low);font-size:12.5px;font-style:italic}
  /* bon #41 — rak yang lagi disasar seretan widget dari line lain */
  .pwrack.pwrakon .pwgrid{outline:1px dashed var(--amber);outline-offset:5px;border-radius:12px}
  .pwrack.pwrakon .pwkosong{border-color:var(--amber);color:var(--amber)}
  /* ===== v9.48 — 🚪 JUMP INTO ===== */
  .pjgrid{display:grid;grid-template-columns:repeat(var(--jc,2),minmax(0,1fr));gap:7px;padding:1px}
  .pjt{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer;
    padding:8px 11px;border:1px solid var(--line-2);border-radius:10px;background:rgba(255,255,255,.02);
    font-family:"Chakra Petch",system-ui,sans-serif;font-size:11.5px;letter-spacing:.03em;color:var(--ink);
    transition:.16s}
  .pjt b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .pjt .pje{font-style:normal;font-size:14px;flex:none}
  .pjt:hover{border-color:var(--sacc,#22d3ee);background:color-mix(in srgb,var(--sacc,#22d3ee) 10%,transparent);
    box-shadow:0 0 18px -8px var(--sacc,#22d3ee);transform:translateY(-1px)}
  .pjilang{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;color:var(--yore);
    opacity:.75;padding:7px 2px 0}
  /* bon #51 — seret urutan tujuan. Nama kelasnya sendiri (pjdrag9/pjkiri9/pjkanan9/pjekor9),
     ga numpang nama yang udah kepake — pelajaran P8-a. Ditaro SESUDAH .pjt:hover biar garis
     amber-nya menang pas kotak sasaran lagi ke-hover. */
  .pjilang.pjsapu9{color:var(--low)}   /* bon #53 — kabar beberes, bukan peringatan */
  .pjt.pjdrag9{opacity:.42;border-style:dashed;transform:none;box-shadow:none}
  .pjt.pjkiri9{box-shadow:inset 3px 0 0 0 var(--amber)}
  .pjt.pjkanan9{box-shadow:inset -3px 0 0 0 var(--amber)}
  .pjgrid.pjekor9{outline:1px dashed var(--amber);outline-offset:4px;border-radius:10px}
  /* v9.49 — tombol ganti nama seksi pin. Samar sampe di-hover, biar header-nya
     ga rame — tapi tetep kelihatan ada, bukan rahasia. */
  .pinrn{cursor:pointer;color:var(--low);font-size:10px;padding:2px 6px;border-radius:6px;
    opacity:.35;transition:.16s;flex:none}
  .zonehd:hover .pinrn{opacity:.9}
  .pinrn:hover{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent)}
  .dsave{background:#a78bfa;color:#1b1030;border:none;cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;padding:10px 20px;border-radius:var(--r);box-shadow:0 0 22px -8px #a78bfa;transition:filter .14s,transform .1s}
  .dsave:hover{filter:brightness(1.08)} .dsave:active{transform:translateY(1px)}
  .dstats{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
  .dstreak{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--amber);border:1px solid rgba(242,177,61,.35);background:rgba(242,177,61,.07);border-radius:20px;padding:5px 12px}
  .dbar{flex:1;min-width:160px;height:10px;border-radius:20px;overflow:hidden;display:flex;background:var(--panel-2);border:1px solid var(--line)}
  .dbar i{height:100%}
  .dentry{display:flex;gap:13px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--mc,var(--line));border-radius:var(--r);padding:13px 14px;margin-bottom:8px;animation:slideIn .28s ease}
  .dentry .dtext{flex:1;min-width:0;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word;outline:none;border-radius:5px;padding:1px 3px;margin:-1px -3px}
  .dentry .dtext:focus{background:var(--void);box-shadow:0 0 0 2px rgba(167,139,250,.3)}
  .dentry .dts{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-top:7px}
  .dentry .dact{display:flex;flex-direction:column;gap:5px;flex:none}

  /* ============ GAME CHRONICLE ============ */
  .dcomp.game::before{content:"🎮 CATAT SESI";color:#fb923c}
  .gbadge{display:inline-flex;align-items:center;gap:5px;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;border:1px solid;white-space:nowrap}
  .gdur{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:10px}
  .gdur .lbl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;color:var(--low);text-transform:uppercase}

  /* ============ MY PAD v2 ============ */
  .tcard{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:16px;overflow:hidden;text-align:center}
  .tcard::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 160px at 50% 0%, rgba(76,201,240,.08), transparent 70%);pointer-events:none}
  .tclock{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--amber);letter-spacing:.18em;margin-bottom:6px}
  .tdigits{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:clamp(54px,9vw,96px);line-height:1;letter-spacing:.02em;color:var(--now);text-shadow:0 0 24px rgba(76,201,240,.55),0 0 60px rgba(76,201,240,.25);transition:color .2s}
  .tdigits.low{color:var(--yore);text-shadow:0 0 24px rgba(255,93,93,.6),0 0 60px rgba(255,93,93,.3)}
  .tmode{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.22em;color:var(--low);text-transform:uppercase;margin-top:8px}
  .twake{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.06em;color:var(--soon);margin-top:5px}
  /* satuan + detik kecil + ukuran timer normal */
  .tdigits .tu{font-size:.34em;font-weight:700;color:var(--mid);vertical-align:super;margin-left:1px;letter-spacing:0}
  .tdigits .tsep{opacity:.5;margin:0 .02em}
  .tdigits .tsec{font-size:.6em;opacity:.85}
  .tdigits.tsz-s{font-size:clamp(38px,6vw,60px)}
  .tdigits.tsz-m{font-size:clamp(54px,9vw,96px)}
  .tdigits.tsz-l{font-size:clamp(72px,13vw,140px)}
  .tdigits.tsz-xl{font-size:clamp(92px,18vw,200px)}
  /* ===== FULLSCREEN OVERLAY v2 (glass, kolom) ===== */
  .fsov{position:fixed;inset:0;z-index:9999;background:var(--void);display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:44px 24px 26px;overflow:hidden}
  .fsov.show{display:flex}
  .fsov-top{position:absolute;top:16px;right:16px;display:flex;gap:8px;z-index:120}
  .fsov-top .fchip{background:color-mix(in srgb,var(--panel) 60%,transparent);backdrop-filter:blur(10px)}
  .fsgroup{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;width:100%;overflow:hidden}
  .fsclock{font-family:"JetBrains Mono",monospace;font-size:clamp(13px,2.4vw,20px);color:var(--amber);letter-spacing:.18em;margin-bottom:12px}
  .fsdig{font-family:"JetBrains Mono",monospace;font-weight:700;line-height:.95;color:var(--now);text-shadow:0 0 42px color-mix(in srgb,var(--now) 42%,transparent);max-width:96vw;white-space:nowrap;text-align:center}
  .fsdig.low{color:var(--yore);text-shadow:0 0 42px color-mix(in srgb,var(--yore) 42%,transparent)}
  .fsdig.tword{color:var(--amber);text-shadow:0 0 42px color-mix(in srgb,var(--amber) 42%,transparent);font-size:min(11vw,15vh)!important}
  .fsdig.sz-s{font-size:min(10vw,14vh)}
  .fsdig.sz-m{font-size:min(13vw,19vh)}
  .fsdig.sz-l{font-size:min(16vw,24vh)}
  .fsdig.sz-xl{font-size:min(20vw,30vh)}
  .fsdig.sz-xl2{font-size:min(25vw,38vh)}
  .fsdig.sz-dyn{font-size:min(16vw,24vh)}   /* fallback; DYNAMIC diset inline via JS */
  .fsdig .tu{font-size:.34em;font-weight:700;color:color-mix(in srgb,var(--now) 75%,var(--mid));vertical-align:super;margin-left:1px;letter-spacing:0;text-shadow:0 0 20px color-mix(in srgb,var(--now) 45%,transparent)}
  .fsdig.low .tu{color:color-mix(in srgb,var(--yore) 75%,var(--mid));text-shadow:0 0 20px color-mix(in srgb,var(--yore) 45%,transparent)}
  .fsdig .tsep{opacity:.5;margin:0 .02em}
  .fsdig .tsec{font-size:.6em;opacity:.9}
  .fsmode{font-family:"JetBrains Mono",monospace;font-size:clamp(10px,1.6vw,13px);color:var(--low);letter-spacing:.2em;margin-top:14px;text-transform:uppercase}
  .fswake{font-family:"JetBrains Mono",monospace;font-size:clamp(10px,1.5vw,13px);color:var(--soon);letter-spacing:.05em;margin-top:7px;cursor:pointer}
  .fswake:hover{color:var(--ink)}
  .fsctrl .fchip.qtog.qwk.on{background:color-mix(in srgb,var(--soon) 20%,transparent);border-color:var(--soon);color:var(--soon)}
  .fsfocus{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(16px,2.6vw,26px);color:var(--amber);margin-top:16px;text-align:center;max-width:80vw}
  .fsfocus .lbl{display:block;font-family:"JetBrains Mono",monospace;font-size:clamp(9px,1.3vw,12px);letter-spacing:.2em;color:var(--low);margin-bottom:5px}
  .fsfocus .fftext{display:inline-block;max-width:92vw}
  .fsfocus .fftext.ftsz-s{font-size:clamp(13px,1.6vw,18px)}
  .fsfocus .fftext.ftsz-m{font-size:clamp(15px,2.2vw,22px)}
  .fsfocus .fftext.ftsz-l{font-size:clamp(18px,2.9vw,29px)}
  .fsfocus .fftext.ftsz-xl{font-size:clamp(22px,3.8vw,40px)}
  .fsfocus .fftext.ftsz-xl2{font-size:clamp(26px,5vw,56px)}
  .fsfocus .fftext.ftsz-dyn{}   /* DYNAMIC diset inline via JS */
  .fsfocus .fsdice{display:block;margin-top:14px}
  .fsctrl{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:22px;max-width:min(680px,94vw)}
  .fsctrl .fchip{--ck:#4cc9f0}
  .fsctrl .fchip.qtog{font-size:14px}
  .fsctrl .fchip.qtog.on{background:color-mix(in srgb,var(--pink) 20%,transparent);border-color:var(--pink);color:var(--pink)}
  .fsctrl .fchip.qtog.qpk.on{background:color-mix(in srgb,var(--amber) 20%,transparent);border-color:var(--amber);color:var(--amber)}
  .fspanels{width:min(600px,92vw);display:flex;flex-direction:column;gap:10px;flex:none}
  .fsinrow{display:flex;gap:10px;align-items:center;background:color-mix(in srgb,var(--panel) 55%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--pink) 50%,transparent);border-radius:14px;padding:12px 14px;box-shadow:0 8px 32px -8px rgba(0,0,0,.55)}
  .fsinrow.coret{align-items:flex-start}
  .fsinrow.parkin{border-color:color-mix(in srgb,var(--amber) 50%,transparent)}
  .fsinrow .ic{font-size:15px;flex:none}
  .fsinrow input,.fsinrow textarea{flex:1;background:none;border:none;color:var(--ink);font-family:"Barlow",sans-serif;font-size:14.5px;outline:none;resize:none}
  .fsinrow.coret textarea{line-height:1.6;height:22vh;min-height:118px;max-height:26vh;overflow-y:auto}
  .fsinrow .sendb{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;padding:6px 11px;border-radius:8px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;background:none;flex:none}
  .fsinrow .sendb:hover{color:var(--ink);border-color:var(--pink)}
  .fsset{position:absolute;top:56px;right:16px;width:280px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:12px;padding:12px;display:none;flex-direction:column;gap:2px;box-shadow:0 14px 40px -10px rgba(0,0,0,.7);z-index:130}
  .fsset.show{display:flex}
  .fsset .sh{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--low);padding:7px 6px 4px;text-transform:uppercase}
  .fsset .row{display:flex;align-items:center;gap:8px;padding:9px 8px;border-radius:8px;cursor:pointer;font-size:13px}
  .fsset .row:hover{background:var(--panel-2)}
  .fsset .row .lbl{flex:1}
  .fsset .row .val{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;color:var(--soon)}
  .fsset .row .val.off{color:var(--low)}
  .fssize{display:flex;gap:5px;padding:4px 6px}
  .fssize .sz{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;padding:6px 10px;border-radius:7px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);cursor:pointer}
  .fssize .sz.on{background:var(--now);color:var(--void);border-color:var(--now)}
  .tctrl{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:14px;position:relative;z-index:1}
  .tcard.tdone{animation:cyb .5s steps(2) infinite;opacity:1!important;transform:none!important}
  @keyframes cyb{
    0%{border-color:var(--now);box-shadow:0 0 0 1px var(--now),0 0 42px -6px var(--now), inset 0 0 60px -30px var(--now)}
    100%{border-color:var(--pink);box-shadow:0 0 0 1px var(--pink),0 0 42px -6px var(--pink), inset 0 0 60px -30px var(--pink)}
  }
  .tcard.tdone .tdigits{animation:cybt2 .5s steps(2) infinite}
  .tdigits.tword{font-size:clamp(28px,5.5vw,60px);letter-spacing:.05em;white-space:normal;line-height:1.15;font-family:"Chakra Petch",sans-serif}
  @keyframes cybt2{
    0%{color:var(--now);text-shadow:0 0 30px var(--now),0 0 90px var(--now),0 0 180px var(--now);transform:scale(1.03)}
    100%{color:var(--pink);text-shadow:0 0 30px var(--pink),0 0 90px var(--pink),0 0 180px var(--pink);transform:scale(1)}
  }
  body.tflash::before{content:"";position:fixed;inset:0;z-index:300;pointer-events:none;mix-blend-mode:screen;animation:cybwash .5s steps(2) infinite}
  @keyframes cybwash{
    0%{background:radial-gradient(75% 75% at 50% 38%, color-mix(in srgb,var(--now) 26%,transparent), transparent 72%)}
    100%{background:radial-gradient(75% 75% at 50% 38%, color-mix(in srgb,var(--pink) 24%,transparent), transparent 72%)}
  }
  @keyframes cybt{0%{color:var(--now)}100%{color:var(--pink)}}
  .focuscard.neo{border-color:rgba(242,177,61,.4);box-shadow:0 0 0 1px rgba(242,177,61,.18),0 0 44px -14px rgba(242,177,61,.5), inset 0 1px 0 rgba(255,255,255,.04)}
  .focuscard.neo .focustitle{animation:ftpulse 2.1s ease-in-out infinite}
  @keyframes ftpulse{
    0%,100%{text-shadow:0 0 2px color-mix(in srgb,var(--amber) 25%,transparent);filter:brightness(1)}
    50%{text-shadow:0 0 14px color-mix(in srgb,var(--amber) 85%,transparent),0 0 42px color-mix(in srgb,var(--amber) 55%,transparent),0 0 90px color-mix(in srgb,var(--amber) 30%,transparent);filter:brightness(1.28)}
  }
  .padfull{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:14px}
  .ptabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
  .ptab{cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;padding:7px 15px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line);color:var(--mid);transition:.13s}
  .ptab:hover{color:var(--ink)}
  .ptab.on{color:#f472b6;border-color:rgba(244,114,182,.5);background:rgba(244,114,182,.09);box-shadow:0 0 14px -6px #f472b6}
  .ptabact{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
  .pdoc{width:100%;min-height:260px;background:var(--void);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:14.5px;line-height:1.7;padding:16px;outline:none;font-family:"Barlow",sans-serif;resize:vertical}
  .pdoc:focus{border-color:#f472b6;box-shadow:0 0 0 3px rgba(244,114,182,.08)}
  .psheetwrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r)}
  .psheet{border-collapse:collapse;width:100%;min-width:520px}
  .psheet td{border:1px solid var(--line);padding:0;min-width:96px}
  .psheet td>div{padding:9px 11px;outline:none;font-size:13px;font-family:"Barlow",sans-serif;min-height:1.4em}
  .psheet td>div:focus{background:var(--panel-2);box-shadow:inset 0 0 0 2px rgba(244,114,182,.4)}
  .psheet tr:first-child td{background:var(--panel-2)}
  .psheet tr:first-child td>div{font-weight:700;font-family:"Chakra Petch",sans-serif;font-size:12px}
  .pmini{position:relative;height:340px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--void);touch-action:none}
  .pmini canvas{position:absolute;inset:0;touch-action:none}
  .pmini.big{height:72vh}
  .pmexp{position:absolute;top:8px;right:8px;z-index:6;cursor:pointer;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--panel-2) 80%,transparent);border:1px solid var(--line-2);color:var(--mid);font-size:15px;display:grid;place-items:center;transition:.13s}
  .pmexp:hover{color:var(--ink);border-color:var(--pink);box-shadow:0 0 14px -5px var(--pink)}
  .pmtext{position:absolute;z-index:5;background:transparent;border:1px dashed rgba(242,177,61,.5);border-radius:4px;outline:none;color:inherit;font-family:"Caveat",cursive;font-size:22px;line-height:1.2;padding:2px 6px;min-width:40px;caret-color:var(--amber)}
  .pminibar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:9px}
  .parkhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;flex-wrap:wrap}
  .parkhead .bulk{display:flex;gap:6px}
  .cyhd{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.26em;text-transform:uppercase;display:flex;align-items:center;gap:11px;margin-bottom:10px}
  .cyhd::before{content:"▮";font-size:11px;color:var(--hc,var(--amber));text-shadow:0 0 12px var(--hc,var(--amber));animation:beat 2.2s ease-in-out infinite}
  .cyhd .t{background:linear-gradient(90deg,var(--hc,var(--amber)) 20%,#fff 160%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--hc,var(--amber)) 55%,transparent))}
  .cyhd .sub{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);letter-spacing:.16em;text-transform:none;filter:none}
  .cyhd::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--hc,var(--amber)) 70%,transparent),transparent);box-shadow:0 0 10px -2px var(--hc,var(--amber))}

  /* ============ DADU RANDOMIZER ============ */
  .dicebar{position:relative;display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px;margin:2px 0 22px}
  .dcube{flex:none;text-align:center;cursor:pointer;user-select:none}
  .dcube .dz{display:block;font-size:36px;line-height:1;animation:dwig 3s ease-in-out infinite;filter:drop-shadow(0 0 12px var(--dg,var(--now)))}
  /* v11.49 BON B2 — dhue dulu = hue-rotate + drop-shadow di SATU filter → Chrome
     nolak composite (drop-shadow "may move pixels") → 60 recalc/dtk buat satu dadu,
     dan tiap recalc nyapu 1.600 elemen. Sekarang: .dz cuma hue-rotate (composited,
     0 recalc — uji kecil 4 Sep 2026), glow pink statis pindah ke bungkus .dzglow9.
     Yang keliatan sama persis: dadu goyang + warna muter + glow pink. */
  .dcube.mixg .dzglow9{display:block;filter:drop-shadow(0 0 12px #ff4fd8)}
  .dcube.mixg .dz{animation:dwig 3s ease-in-out infinite, dhue 5s linear infinite;filter:hue-rotate(0deg);will-change:filter}
  .dcube.rolling .dz{animation:dspin .45s linear infinite}
  .dcube .dt{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;color:var(--dg,var(--now));margin-top:4px;text-shadow:0 0 9px var(--dg,var(--now))}
  @keyframes dwig{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg) translateY(-2px)}}
  @keyframes dspin{to{transform:rotate(360deg)}}
  @keyframes dhue{to{filter:hue-rotate(360deg)}}
  /* dhue2 = bentuk lama, dipake .dz2 di dpick doang (popup sebentar, bukan idle) */
  @keyframes dhue2{to{filter:hue-rotate(360deg) drop-shadow(0 0 12px #ff4fd8)}}
  .dtease{flex:1;min-width:0;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;color:var(--mid);transition:opacity .3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dtease.fade{opacity:0}
  .dres{flex:1;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .dres .rt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15.5px;color:var(--ink);cursor:pointer;text-decoration:none;border-bottom:1px dashed var(--dg,var(--now))}
  .dres .rt:hover{color:var(--dg,var(--now))}
  .dmenu{position:absolute;bottom:calc(100% + 12px);right:0;left:auto;top:auto;display:none;flex-direction:column;background:var(--panel);border:1px solid var(--line-2);border-radius:12px;padding:6px;box-shadow:0 -14px 44px -12px #000,0 0 0 1px rgba(167,139,250,.15);z-index:860;min-width:250px;max-width:calc(100vw - 28px)}
  .dmenu.show{display:flex}
  /* v8.99 — pas lagi di dalem jendela tengah, dia bukan lagi elemen ngambang */
  /* v9.03 — baris dadu di panel gabungan: nama + SUMBERNYA + jumlah item di kolamnya,
     biar ketauan mana dadu yang kering sebelum dikocok */
  .dxrow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer;transition:.12s;border:1px solid transparent}
  .dxrow:hover{background:color-mix(in srgb,var(--dg,#8890a3) 10%,transparent);border-color:color-mix(in srgb,var(--dg,#8890a3) 30%,transparent)}
  .dxrow.on{background:color-mix(in srgb,var(--dg,#8890a3) 14%,transparent);border-color:color-mix(in srgb,var(--dg,#8890a3) 55%,transparent)}
  .dxrow.kering{opacity:.55}
  .dxrow .dxe{flex:none;font-size:14px}
  .dxrow .dxn{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
  .dxrow .dxn b{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dxrow .dxn small{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.03em;color:var(--low);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dxrow .dxc{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;padding:2px 7px;border-radius:6px;border:1px solid var(--line-2);color:var(--mid)}
  .dxrow .dxc.kering{color:var(--yore);border-color:rgba(255,93,93,.35)}
  .dxrow .dxa{flex:none;cursor:pointer;font-size:11px;opacity:.45;padding:3px 5px;border-radius:6px;transition:.12s}
  .dxrow .dxa:hover{opacity:1;background:var(--line)}
  .dxrow .dxa.eye.on{opacity:.95}
  .dxrow .dxa.del:hover{color:var(--yore)}
  .dmenu.dminsheet:after{display:none}
  .dmenu:after{content:"";position:absolute;bottom:-7px;right:16px;width:12px;height:12px;background:var(--panel);border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);transform:rotate(45deg)}
  .dmenu-hd{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--low);padding:8px 10px 5px;text-transform:uppercase;display:flex;justify-content:space-between}
  .dmsep{height:1px;background:var(--line);margin:5px 8px}
  .dmadd{display:flex;align-items:center;gap:9px;padding:10px;border-radius:9px;cursor:pointer;color:var(--violet)}
  .dmadd:hover{background:color-mix(in srgb,var(--violet) 10%,transparent)}
  .dmadd .plus{font-size:16px;font-weight:700}
  .dmadd span:last-child{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700}
  /* toggle row (tampilin dadu lain) */
  .dgrow{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;cursor:pointer;font-size:13px}
  .dgrow:hover{background:var(--panel-2)}
  .dgrow .lbl{flex:1;font-family:"Chakra Petch",sans-serif;font-weight:600}
  .dgrow .sw{width:38px;height:21px;border-radius:12px;background:var(--line-2);position:relative;transition:.2s;flex:none}
  .dgrow.on .sw{background:var(--soon)}
  .dgrow .sw:after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s}
  .dgrow.on .sw:after{left:19px}
  /* pilih dadu row (dalam menu) */
  .dgpick{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;cursor:pointer;font-size:13px}
  .dgpick:hover{background:var(--panel-2)}
  .dgpick.on{background:color-mix(in srgb,var(--violet) 12%,transparent);border:1px solid color-mix(in srgb,var(--violet) 35%,transparent)}
  .dgpick .gze{font-size:16px;flex:none;filter:drop-shadow(0 0 6px var(--dg))}
  .dgpick .gn{flex:1;font-weight:600;font-family:"Chakra Petch",sans-serif;color:var(--ink)}
  .dgpick .ga{font-size:13px;color:var(--low);cursor:pointer;padding:3px 5px;border-radius:6px}
  .dgpick .ga:hover{color:var(--ink);background:var(--panel)}
  .dgpick .ga.del:hover{color:var(--yore)}
  .dgpick .ga.eye{opacity:.4}
  .dgpick .ga.eye.on{opacity:1}
  .dgpick .ga.eye:hover{opacity:1;background:var(--panel)}
  /* pill quick-access horizontal */
  .dmidwrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
  .dpills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .dpill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line-2);cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;color:var(--mid);transition:.14s}
  .dpill:hover{color:var(--ink)}
  .dpill.on{border-color:var(--dg);color:var(--dg);background:color-mix(in srgb,var(--dg) 12%,transparent)}
  .dpill .pz{font-size:12px;filter:drop-shadow(0 0 5px var(--dg))}
  .dpill.add{border-style:dashed;color:var(--low)}
  /* multi-pill dadu My Pad: baris sendiri (My Pad) / center (overlay) */
  .padpills{flex-basis:100%;margin-top:4px}
  .fsfocus .padpills{justify-content:center;margin-top:12px;flex-basis:auto}
  /* efek roll-text (slot machine) pas kocok dadu */
  .rolltext{color:var(--amber);text-shadow:0 0 18px color-mix(in srgb,var(--amber) 55%,transparent);animation:rollpulse .16s ease-in-out infinite alternate;will-change:opacity,transform}
  @keyframes rollpulse{from{opacity:.7;transform:scale(.99)}to{opacity:1;transform:scale(1.012)}}
  .dgearb{flex:none;background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;color:var(--mid);cursor:pointer;font-size:15px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:.15s}
  .dgearb:hover,.dgearb.act{color:var(--violet);border-color:var(--violet)}
  /* bubble My Pad — 2 zona [nama=kocok | ▾=menu] */
  .dbubblewrap{position:relative;display:inline-block;vertical-align:middle}
  .dbubble{position:relative;display:inline-flex;align-items:stretch;border-radius:16px;background:color-mix(in srgb,var(--dg,var(--violet)) 10%,transparent);border:1px solid color-mix(in srgb,var(--dg,var(--violet)) 45%,transparent);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--dg,var(--violet));overflow:hidden;vertical-align:middle}
  .dbubble .bzone-roll{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;cursor:pointer;transition:.14s}
  .dbubble .bzone-roll:hover{background:color-mix(in srgb,var(--dg,var(--violet)) 15%,transparent)}
  .dbubble .bzone-roll .bz{font-size:14px;filter:drop-shadow(0 0 5px var(--dg,var(--violet)))}
  .dbubble .bzone-roll.rolling .bz{animation:dspin .45s linear infinite}
  .dbubble .bzone-menu{display:inline-flex;align-items:center;padding:0 9px;cursor:pointer;border-left:1px solid color-mix(in srgb,var(--dg,var(--violet)) 35%,transparent);font-size:11px;transition:.14s}
  .dbubble .bzone-menu:hover{background:color-mix(in srgb,var(--dg,var(--violet)) 20%,transparent)}
  .bmenu{position:absolute;bottom:calc(100% + 10px);right:0;display:none;flex-direction:column;background:var(--panel);border:1px solid var(--line-2);border-radius:12px;padding:6px;box-shadow:0 -14px 44px -12px #000,0 0 0 1px rgba(167,139,250,.15);z-index:860;min-width:240px;max-width:calc(100vw - 28px);color:var(--ink);font-weight:400}
  .bmenu.show{display:flex}
  .bmenu:after{content:"";position:absolute;bottom:-7px;right:14px;width:12px;height:12px;background:var(--panel);border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);transform:rotate(45deg)}
  .dpick .dopt{cursor:pointer;text-align:center;opacity:.55;transition:.14s}
  .dpick .dopt:hover,.dpick .dopt.on{opacity:1;transform:translateY(-2px)}
  .dpick .dopt .dz2{display:block;font-size:22px;filter:drop-shadow(0 0 9px var(--dg))}
  .dpick .dopt.mixg .dz2{animation:dhue2 5s linear infinite}
  .dpick .dopt small{display:block;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.12em;color:var(--dg);margin-top:3px}
  .noderow.flash,.task.flash,.rrow.flash,.prow.flash{animation:rowflash 1.4s ease}
  .noderow.flash2,.task.flash2,.rrow.flash2{animation:rowflash .95s ease 2}   /* v8.87 — lompat dari warp: kedip DUA kali */
  .alabar{cursor:pointer;user-select:none}
  .alabar .lpc{margin-left:4px}

  /* ============ 📡 DATASTREAM ============ */
  #dstream{display:none;margin:-6px 0 14px;border-top:1px solid color-mix(in srgb,var(--now) 22%,transparent);border-bottom:1px solid color-mix(in srgb,var(--now) 22%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 80%,transparent),color-mix(in srgb,var(--panel) 70%,transparent));backdrop-filter:blur(6px);position:relative;overflow:hidden}
  #dstream.on{display:block}
  #dstream.stick{position:sticky;z-index:115;box-shadow:0 10px 26px -18px #000}
  #dstream::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.12) 2px 3px);opacity:.5}
  .dlane.sty-kalem .ditem{filter:saturate(.35) brightness(.85);opacity:.72}
  .dlane.sty-kontras .ditem{filter:saturate(1.45) brightness(1.18);text-shadow:0 0 9px currentColor}
  .dlane{position:relative;height:27px;display:flex;align-items:center;overflow:hidden}
  .dlane+.dlane{border-top:1px dashed color-mix(in srgb,var(--line-2) 70%,transparent)}
  .dlbl{position:absolute;left:0;top:0;bottom:0;z-index:3;display:flex;align-items:center;padding:0 12px 0 14px;font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:700;letter-spacing:.22em;color:var(--low);background:linear-gradient(90deg,var(--void) 55%,transparent)}
  .dlane .dtrack{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;padding-left:110px}
  .dlane.l1 .dtrack{animation:dsL var(--d1,46s) linear infinite}
  .dlane.l2 .dtrack{animation:dsR var(--d2,64s) linear infinite}
  .dlane:hover .dtrack{animation-play-state:paused}
  @keyframes dsL{to{transform:translateX(-50%)}}
  @keyframes dsR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
  .ditem{display:inline-flex;align-items:center;gap:7px;font-family:"Chakra Petch",sans-serif;font-size:11.5px;font-weight:600;color:var(--mid);cursor:pointer;transition:.12s;padding:2px 4px;border-radius:6px}
  .ditem:hover{color:var(--ink);text-shadow:0 0 12px color-mix(in srgb,var(--dc,var(--now)) 70%,transparent)}
  .ditem b{color:var(--dc,var(--now))}
  .ditem.ro{cursor:default}
  .ditem.pinit{color:var(--amber)}
  .ditem.pinit::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);animation:beat 1.6s infinite;box-shadow:0 0 8px var(--amber)}
  .dsep{margin:0 16px;color:color-mix(in srgb,var(--now) 65%,transparent);font-size:9px;text-shadow:0 0 8px color-mix(in srgb,var(--now) 50%,transparent)}
  .dtruth{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.04em}
  .dtruth.note{color:var(--amber)}
  /* [reduced-motion → pretsia-motion.js] dlane dtrack (GLOBAL !important) */
  @keyframes rowflash{0%{outline:2px solid var(--nc);box-shadow:0 0 26px -6px var(--nc);background:color-mix(in srgb,var(--nc) 8%,transparent)}100%{outline:2px solid transparent;box-shadow:none}}

  /* ============ v9.23 — STRIP 🔥 STREAK QUEST (satu baris, di atas Routine) ============ */
  .wqsline{position:relative;overflow:hidden;display:flex;align-items:center;gap:11px;cursor:pointer;
          margin-bottom:11px;padding:8px 14px;transition:.15s;
          border:1px solid rgba(255,93,93,.3);
          background:radial-gradient(680px 190px at 10% -45%,rgba(255,93,93,.14),transparent 62%),linear-gradient(180deg,#0b0d14,#080a10);
          box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 16px 42px -36px rgba(255,93,93,.95);
          clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))}
  .wqsline:hover{border-color:rgba(255,93,93,.62)}
  .wqsline .pnscan{opacity:.32}
  .wqslbl{flex:none;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.24em;font-weight:800;color:var(--yore);
       text-shadow:0 0 14px rgba(255,93,93,.55);white-space:nowrap}
  .wqsvp{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);
        mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
  .wqsin{display:flex;align-items:center;gap:12px;white-space:nowrap;width:max-content}
  /* bolak-balik, bukan gulung tanpa henti — ujung kirinya (nama quest) ga pernah ilang lama */
  @keyframes wqsslide{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--wqsh,0px)))}}
  .wqsline.jalan .wqsin{animation:wqsslide var(--wqdur,14s) linear infinite alternate}
  .wqsline:hover .wqsin{animation-play-state:paused}
  .wqsq{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
  .wqsty{flex:none;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.16em;font-weight:800;color:#0a0c12;
        background:var(--soon);border-radius:5px;padding:2px 6px}
  .wqsq.neg .wqsty{background:var(--yore)}
  .wqsnm{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.04em;color:var(--ink);
        text-shadow:.5px 0 0 rgba(255,60,120,.3),-.5px 0 0 rgba(64,220,255,.26)}
  .wqsday{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;color:var(--low)}
  .wqsdots{display:inline-flex;gap:2.5px;align-items:center}
  .wqsd{width:9px;height:9px;border-radius:2.5px;background:var(--line-2);display:inline-block}
  .wqsd.win{background:var(--soon);box-shadow:0 0 9px -1px var(--soon)}
  .wqsd.lose{background:var(--yore);box-shadow:0 0 9px -1px var(--yore)}
  .wqsd.today{background:transparent;border:1px solid var(--amber);box-shadow:0 0 9px -3px var(--amber)}
  .wqsd.future{background:transparent;border:1px solid var(--line-2)}
  .wqsn{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.08em;font-weight:800;
       border:1px solid transparent;border-radius:6px;padding:2px 7px;white-space:nowrap}
  .wqsn.ok{color:var(--soon);border-color:color-mix(in srgb,var(--soon) 34%,transparent);background:color-mix(in srgb,var(--soon) 9%,transparent)}
  .wqsn.bad{color:var(--yore);border-color:rgba(255,93,93,.34);background:rgba(255,93,93,.09)}
  .wqsn.sisa{color:var(--low);border-color:var(--line-2)}
  .wqsn.jebol{color:#ff8b8b;border-color:rgba(255,107,107,.45);background:rgba(255,107,107,.12)}
  .wqsv{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;font-weight:800;color:var(--soon);
       text-shadow:0 0 14px rgba(45,212,167,.6)}
  .wqssep{flex:none;width:1px;height:15px;background:linear-gradient(180deg,transparent,var(--line-2),transparent)}
  @media(max-width:620px){.wqslbl{display:none}}

  /* ============ v9.25 — BLOK HARIAN BISA DIGESER ============ */
  .hblk{position:relative}
  /* v11.52 🔋 HEMAT GPU — blok yang keluar layar (dikasih .diem9 sama gerakSapu9):
     animasinya DI-PAUSE, bukan dicabut. Balik keliatan, dia nyambung dari tempat
     berhentinya — mata nol keliatan bedanya, GPU-nya beda jauh. */
  /* ⚠ SENGAJA DIDAFTAR SATU-SATU, bukan `.diem9 *`. Yang boleh dipadem cuma animasi
     yang MUTER SELAMANYA — pita datastream, marquee judul, marquee baris konsekuensi.
     Animasi MASUK (rise/slideIn) HARAM dipadem: keadaan dasarnya `opacity:0` dan yang
     mbikin dia keliatan itu `forwards`, jadi di-pause di tengah = elemennya beku
     tembus pandang selamanya (kejadian beneran, 17 dari 20 kartu HOME ilang). */
  /* ⚠ `!important`-nya WAJIB, dan ini bukan jalan pintas — dibuktiin di audit
     `lapor/AUDIT_MERAH_KEDIP_v1.md`: tanpa dia, remnya KALAH ADU dan 510 dari 510
     marquee di blok yang keluar layar tetep jalan. Yang nyalain (`.pscrow .tt.jln9
     .ttmq9`, 4 kelas) lebih kuat dari remnya (`.diem9 .ttmq9`, 2 kelas), dan
     `animation:` bentuk pendek nyetel ulang play-state balik ke `running`.
     Rem WAJIB menang lawan siapa pun yang nyalain — dan dia cuma nyentuh play-state,
     bukan animasinya, jadi balik keliatan dia NYAMBUNG bukan mulai dari nol.
     ⚠ Daftarnya tetep SEMPIT — HARAM balik ke `.diem9 *` (patch2657d: animasi MASUK
     ikut kepadem, 17 dari 20 kartu HOME beku tembus pandang). */
  .diem9 .dtrack,.diem9 .ttmq9,.diem9 .kmar i,.diem9 .mq9,.diem9 [data-gerak9]{animation-play-state:paused!important}
  /* browser boleh ngelewatin gaya/susunan/gambar buat blok yang keluar layar.
     contain-intrinsic-size = tinggi tebakan biar batang gulung nol loncat-loncat. */
  #stream>.hblk{content-visibility:auto;contain-intrinsic-size:auto 340px}
  /* pita datastream: lapisan komposit permanen 11.040px itu cuma dibutuhin PAS
     PITANYA GERAK. Keluar layar → will-change dilepas, teksturnya dibalikin. */
  .dlane.diem9 .dtrack{will-change:auto}
  .hjangkar{position:relative}
  /* ============ v9.53 — SUSUNAN HARIAN JADI KISI EMPAT KOLOM ============
     Tiap blok bilang dia makan berapa kolom lewat --hk. Bawaannya 4 = selebar
     halaman, jadi susunan yang udah ada NOL BERUBAH sampe ada yang narik.

     Dua aturan yang WAJIB dan sengaja ditulis paling jelas:
     · .hjangkar itu rumah SEMUA zona task (PIN, TODAY, SOON, DAH LEWAT, TUTUP
       WARUNG). Dia ga pernah ikut berkolom — ujung ke ujung, titik. Untung
       semuanya tinggal di satu pembungkus, jadi ini satu baris bukan perang
       per zona.
     · jarak antar kolom 22px itu BUKAN selera. Rel pegangan ⣿ duduk di LUAR badan
       blok (left:-18px). Di susunan lurus dia nyempil di padding halaman dan gratis.
       Begitu ada kolom, blok di kolom 2/3/4 rel-nya bakal ngambang di atas tetangga
       kirinya. Jaraknya dibikin selebar rel biar rel-nya punya jalur sendiri —
       daripada rel-nya dipindah ke dalem dan nutupin isi blok. */
  /* v9.58 — JARAK ANTAR BARIS. v9.53 gue setel row-gap:0 dengan alasan blok asli udah
     punya margin sendiri-sendiri — dan itu bener buat mereka, tapi SALAH buat widget:
     kotak widget nol margin, jadi dua widget yang numpuk ke bawah nempel plek tanpa
     sela. Diukur berdampingan sama rak Home: Home 11px atas-bawah, Harian 0px. Bukan
     selera, emang ketinggalan. Sekarang 14 — sedikit lebih lega dari Home karena blok
     Harian rata-rata lebih tinggi, jadi butuh napas lebih. */
  .hgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:22px;row-gap:14px;align-items:start}
  .hgrid > .hblk{grid-column:span var(--hk,4);min-width:0}
  .hgrid > .hjangkar{grid-column:1/-1}
  /* di layar sempit semua balik selebar halaman. Blok seperempat di HP itu ga kebaca. */
  @media(max-width:760px){ .hgrid > .hblk{grid-column:1/-1} }
  /* penanda jatuh: yang selebar halaman tetep atas/bawah, yang sempit jadi kiri/kanan */
  .hblk.hbkiri{box-shadow:inset 4px 0 0 0 #2dd4a7}
  .hblk.hbkanan{box-shadow:inset -4px 0 0 0 #2dd4a7}
  /* v9.54 — grip lebar buat TUJUH BLOK ASLI. Ditaro di dalem jarak antar kolom
     (right:-11px dari jarak 22px), jadi dia nol nutupin isi blok — pelajaran yang
     sama kaya rel ⣿. Widget ga dikasih grip ini: dia udah punya sendiri di dalem
     kotaknya, dan dua grip numpuk di titik yang sama itu rebutan pointer. */
  /* v9.58 — grip lebar dipindah KE DALEM (right:0). Waktu dia duduk di jarak antar
     kolom, dia rebutan lajur sama rel ⣿ punya blok sebelah kanan — dua sasaran pointer
     numpuk di celah 22px yang sama, dan yang menang tergantung urutan pasang. Sekarang
     jarak antar kolom itu MILIK REL, dan grip lebar nempel di badan bloknya sendiri —
     persis kaya grip widget di rak Home yang emang dari dulu di dalem. */
  .hbrszw{position:absolute;top:0;bottom:0;right:0;width:12px;cursor:ew-resize;touch-action:none;
          opacity:0;transition:.15s;z-index:4;border-radius:6px}
  .hblk:hover>.hbrszw{opacity:.5}
  .hbrszw:hover{opacity:1;background:color-mix(in srgb,var(--amber) 13%,transparent);box-shadow:inset -2px 0 0 0 var(--amber)}
  @media(hover:none){ .hblk>.hbrszw{opacity:.3} }
  .hbkol{position:absolute;right:9px;bottom:3px;font-family:"JetBrains Mono",monospace;font-size:8px;
         letter-spacing:.14em;font-weight:800;color:var(--amber);opacity:0;pointer-events:none;z-index:5;transition:.12s}
  .hblk.hbsizing .hbkol{opacity:.95}
  .hblk.hbsizing{outline:1.5px dashed color-mix(in srgb,var(--amber) 45%,transparent);outline-offset:2px}
  @media(max-width:760px){ .hbrszw{display:none} }
  /* rel pegangan duduk DI LUAR badan blok, nyempil di padding halaman (26px di layar
     lega, 16px di HP) — jadi dia nol makan tempat dan nol nutupin isi blok. Muncul
     cuma pas disenggol, biar halaman tetep bersih pas lagi dipake normal. */
  .hbgrip{position:absolute;left:-18px;top:0;width:15px;height:38px;display:flex;align-items:center;justify-content:center;
          color:var(--line-2);font-size:11px;cursor:grab;opacity:0;transition:.15s;user-select:none;z-index:4;border-radius:6px}
  .hblk:hover>.hbgrip{opacity:1}
  .hbgrip:hover{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);box-shadow:0 0 16px -8px var(--amber)}
  .hbgrip:active{cursor:grabbing}
  @media(max-width:760px){ .hbgrip{left:-13px;opacity:.32} }
  @media(hover:none){ .hblk>.hbgrip{opacity:.32} }
  .hblk.hbdrag{opacity:.32;filter:saturate(.35)}
  /* garis jatuhnya INSET — beberapa blok punya clip-path/overflow sendiri, bayangan
     luar bakal kepotong di sana. Pelajaran yang sama kaya kartu Budget v9.20. */
  .hblk.hbatas,.hjangkar.hbatas{box-shadow:inset 0 4px 0 0 #2dd4a7}
  .hblk.hbbawah,.hjangkar.hbbawah{box-shadow:inset 0 -4px 0 0 #2dd4a7}

  /* ============ ROUTINE À LA CARTE ============ */
  /* ===== v9.01 AUTOMATA ===== */
  .aubtn{cursor:pointer;font-family:"JetBrains Mono",monospace;font-weight:700;font-size:9.5px;letter-spacing:.12em;padding:7px 13px;border-radius:20px;background:rgba(154,166,191,.07);border:1px solid rgba(154,166,191,.32);color:#9aa6bf;margin-right:8px;transition:.15s}
  .aubtn:hover{box-shadow:0 0 24px -6px #9aa6bf;transform:translateY(-1px);color:var(--ink)}
  .aubtn b{margin-left:6px;font-weight:800;opacity:.8}
  /* zona dark silver — sengaja beda rasa dari zona lain biar keliatan "ini yang jalan sendiri" */
  .auzone{margin-top:16px;border:1px solid rgba(154,166,191,.3);border-radius:14px;background:linear-gradient(180deg,rgba(154,166,191,.07),rgba(154,166,191,.02) 70%,transparent);padding:10px 12px 12px}
  .auzone.mager{opacity:.62;padding-bottom:10px}
  .auhd{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none}
  .auhd .auc{font-size:9px;color:#9aa6bf;transition:transform .15s;display:inline-block}
  .auhd .auc.open{transform:rotate(90deg)}
  .aut9{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.2em;color:#9aa6bf;font-weight:700}
  .aun{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .aumg{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.06em;color:var(--low)}
  .aumgb,.aucog{font-family:"JetBrains Mono",monospace;font-size:9px;padding:4px 9px;border-radius:7px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;transition:.13s}
  .aumgb:hover,.aucog:hover{color:#9aa6bf;border-color:rgba(154,166,191,.5)}
  .aucog{margin-left:6px}
  .aubody{margin-top:9px;display:flex;flex-direction:column;gap:5px}
  .aurow{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;cursor:pointer;font-size:12.5px;transition:.12s;border:1px solid transparent}
  .aurow:hover{background:rgba(154,166,191,.08);border-color:rgba(154,166,191,.22)}
  .aurow.off,.aurow.stop{opacity:.5}
  .aurow .aue{flex:none}
  .aurow .aut{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}
  .aurow .auw{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.05em;color:var(--low);flex:none}
  .aurow .aud{font-family:"JetBrains Mono",monospace;font-size:8.5px;padding:2px 6px;border-radius:6px;border:1px solid var(--line-2);color:var(--low);flex:none}
  .aurow .aud.on{color:#9aa6bf;border-color:rgba(154,166,191,.45)}
  /* kotak-kotak riwayat — nyala = berhasil hari itu (pola dari titik STREAK QUEST) */
  .aubox{display:inline-flex;gap:2px;flex:none;align-items:center}
  .aubox i{width:7px;height:12px;border-radius:2px;background:var(--line-2);display:inline-block}
  .aubox i.due{background:rgba(154,166,191,.28)}
  .aubox i.v-done{background:var(--soon,#2dd4a7);box-shadow:0 0 6px -1px var(--soon,#2dd4a7)}
  .aubox i.v-hold{background:var(--amber)}
  .aubox i.v-ambyar{background:#ff5d5d}
  .auflag{flex:none;font-size:8.5px;opacity:.75}
  .hsrow.au{border-left:2px solid rgba(154,166,191,.45)}
  .aulog{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);padding:0 6px 4px;display:flex;flex-direction:column;gap:3px}
  .aulr{display:flex;gap:9px;align-items:baseline}
  .aulr .t{color:var(--line-2);flex:none;min-width:74px}
  .tqbtn{margin-left:auto;cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12px;padding:7px 14px;border-radius:20px;background:rgba(242,177,61,.08);border:1px solid rgba(242,177,61,.45);color:var(--amber);box-shadow:0 0 16px -6px var(--amber);transition:.14s}
  .tqbtn:hover{box-shadow:0 0 24px -6px var(--amber);transform:translateY(-1px)}
  .looprow{display:flex;align-items:center;gap:10px;padding:9px 12px;margin-top:8px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--lc,var(--line-2));border-radius:9px;cursor:pointer;transition:.13s}
  .looprow:hover{border-color:var(--lc)}
  .looprow.ghost{border-style:dashed;opacity:.6}
  .looprow.ghost:hover{opacity:1}
  .lcaret{font-size:9px;color:var(--low);transition:transform .15s}
  .lcaret.open{transform:rotate(90deg);color:var(--lc)}
  .lpe{font-size:15px}
  .lpn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.08em;color:var(--ink)}
  .lpc{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low)}
  .lmore{margin-left:auto;opacity:.5}
  .looprow:hover .lmore{opacity:1}
  .loopchips{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px;background:color-mix(in srgb,var(--lc) 3%,transparent);border:1px dashed color-mix(in srgb,var(--lc) 25%,transparent);border-top:none;border-radius:0 0 9px 9px;margin:0 6px}
  .lchip{cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:600;font-size:11.5px;padding:6px 13px;border-radius:18px;background:var(--panel);border:1px solid var(--line-2);color:var(--mid);transition:.12s;user-select:none}
  .lchip:hover{color:var(--ink);border-color:var(--lc)}
  .lchip.pk{color:var(--lc);border-color:var(--lc);background:color-mix(in srgb,var(--lc) 12%,transparent);box-shadow:0 0 14px -5px var(--lc);transform:translateY(-1px)}
  .lchip.sent{opacity:.45;cursor:default;text-decoration:none;border-style:dashed}
  .lchip.ghost{border-style:dashed;color:var(--low)}
  .lchip.ghost:hover{color:var(--lc)}
  .cartbar{position:sticky;bottom:12px;display:flex;align-items:center;gap:12px;margin-top:12px;padding:11px 16px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--now);border-radius:12px;box-shadow:0 0 0 1px color-mix(in srgb,var(--now) 30%,transparent),0 14px 40px -12px var(--now);z-index:5;animation:cartin .25s ease}
  @keyframes cartin{from{transform:translateY(8px);opacity:0}}
  .cartbar span{font-family:"Chakra Petch",sans-serif;font-size:13px;color:var(--ink)}
  .cartbar b{color:var(--now)}
  .cartbar button#cartgo{cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;padding:8px 18px;border:none;border-radius:9px;background:var(--now);color:#04222f;box-shadow:0 0 22px -6px var(--now)}
  .rgroup{margin:12px 0 4px;border:1px solid color-mix(in srgb,#c084fc 30%,transparent);border-radius:10px;background:color-mix(in srgb,#c084fc 4%,transparent);overflow:hidden}
  .rghead{display:flex;align-items:center;gap:9px;padding:9px 13px;cursor:pointer;user-select:none}
  .rgc{font-size:9px;color:var(--low);transition:transform .15s}
  .rgc.open{transform:rotate(90deg);color:#c084fc}
  .rgt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.14em;color:#c084fc}
  .rgn{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--mid)}
  .rgr{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,#c084fc 40%,transparent),transparent)}
  .rghint{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .rrow{display:flex;align-items:center;gap:10px;padding:7px 13px;border-top:1px solid var(--line)}
  .rrow.done .rln{text-decoration:line-through;color:var(--done)}
  .rbox{width:19px;height:19px;flex:none;border-radius:6px;border:1.5px solid var(--lc,var(--line-2));display:grid;place-items:center;cursor:pointer;color:var(--lc);font-size:12px;font-weight:900;transition:.12s}
  .rrow.done .rbox{background:var(--lc);color:#0a0c12;box-shadow:0 0 14px -4px var(--lc)}
  .rle{font-size:13px}
  .rln{flex:1;min-width:0;font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tqrow button{font-size:11px}

  /* ============ 🍕 EAT YOUR PIZZA (pz9) ============ */
  .pz9tabs{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 18px}
  .pz9tab{--tc:var(--now);cursor:pointer;user-select:none;font-family:"Chakra Petch",sans-serif;font-weight:600;font-size:11.5px;
    letter-spacing:.1em;color:var(--mid);padding:9px 14px 8px;background:var(--panel);
    border:1px solid var(--line);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:.15s}
  .pz9tab:hover{color:var(--ink);border-color:var(--tc)}
  .pz9tab.on{color:#0b0b12;background:linear-gradient(120deg,var(--tc),color-mix(in srgb,var(--tc) 65%,#fff 12%));
    border-color:var(--tc);box-shadow:0 0 20px -5px var(--tc)}
  .pz9grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.9fr);gap:16px;align-items:start}
  @media(max-width:900px){.pz9grid{grid-template-columns:1fr}}
  .pz9card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:15px;position:relative;overflow:hidden}
  .pz9hd{display:flex;align-items:center;gap:9px;margin-bottom:11px}
  .pz9hd .t{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12px;letter-spacing:.15em;color:var(--ink)}
  .pz9hd .s{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);letter-spacing:.08em;margin-left:auto;text-align:right}
  .pz9chip{display:inline-flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;font-size:8.5px;
    letter-spacing:.08em;color:var(--mid);background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:999px;padding:4px 9px}
  .pz9chip b{color:var(--ink)}
  .pz9wrap{position:relative;width:min(430px,94%);margin:8px auto 4px;filter:drop-shadow(0 22px 44px rgba(0,0,0,.55))}
  .pz9wrap svg{width:100%;height:auto;display:block}
  .pz9slice{transition:transform .2s cubic-bezier(.2,.7,.3,1),filter .2s;cursor:pointer;transform-box:fill-box;transform-origin:center}
  .pz9slice:hover{filter:brightness(1.16) drop-shadow(0 0 12px rgba(255,200,90,.5))}
  .pz9hub{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
  .pz9hub .in{background:rgba(8,8,15,.84);border:1px solid var(--line-2);border-radius:50%;width:33%;aspect-ratio:1;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
    box-shadow:0 0 0 5px rgba(8,8,15,.4),0 0 30px -6px rgba(255,177,61,.5)}
  .pz9hub .pc{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(19px,4vw,27px);color:#ffcf6b;text-shadow:0 0 16px rgba(255,207,107,.6);line-height:1}
  .pz9hub .lb{font-family:"JetBrains Mono",monospace;font-size:7px;letter-spacing:.26em;color:var(--low)}
  .pz9hub .ss{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--now);letter-spacing:.06em}
  /* ⚡ STAT PER-SLICE YANG STRIKING — pesenan: "slice A tinggal 10%, biar
     semangat ngabisinnya". Angka gede, warna slice-nya, DEG-DEGAN pas dikit. */
  .pz9stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:13px 0 2px}
  .pz9st{--sc:#888;background:color-mix(in srgb,var(--sc) 9%,var(--panel));border:1px solid color-mix(in srgb,var(--sc) 40%,transparent);
    border-radius:11px;padding:9px 10px;text-align:center;position:relative;overflow:hidden}
  .pz9st::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--sc);width:var(--w,0%);
    box-shadow:0 0 10px var(--sc);transition:width .8s cubic-bezier(.2,.7,.3,1)}
  .pz9st .nm{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.1em;color:var(--mid);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* v10.91 ⚠ dulunya kelas `bg` — NABRAK .bg global (lapisan latar halaman,
     position:fixed z-index:-1): angka SISA-nya kabur ke belakang layar sejak
     v10.88 dan gembok textContent nol nangkep (KEGAMBAR ≠ ADA — harusnya
     ngukur GEOMETRI). Penyakit nama-kelas-kembar v9.08, kena sendiri. */
  .pz9st .sg9{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:21px;line-height:1.15;color:var(--sc);text-shadow:0 0 14px color-mix(in srgb,var(--sc) 70%,transparent)}
  .pz9st .ket{font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.06em}
  .pz9st.dikit .sg9{animation:pz9deg 1.1s ease-in-out infinite}
  .pz9st.ludes{opacity:.75}
  .pz9st.ludes .sg9{color:#2dd4a7}
  @keyframes pz9deg{50%{transform:scale(1.09);filter:brightness(1.3)}}
  .pz9btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:13px}
  .pz9b{--mc:var(--now);cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:"Chakra Petch",sans-serif;
    font-weight:600;font-size:11px;letter-spacing:.08em;color:var(--ink);padding:10px 15px;
    background:color-mix(in srgb,var(--mc) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--mc) 55%,transparent);
    clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:.14s}
  .pz9b:hover{background:color-mix(in srgb,var(--mc) 28%,var(--panel));box-shadow:0 0 18px -6px var(--mc)}
  .pz9b.go{background:linear-gradient(120deg,var(--mc),color-mix(in srgb,var(--mc) 55%,#fff 10%));color:#0b0b12;font-weight:700}
  .pz9feed .fr{display:flex;align-items:center;gap:9px;padding:8px 2px;border-bottom:1px dashed var(--line)}
  .pz9feed .fr:last-child{border-bottom:none}
  .pz9feed .fj{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);width:40px;flex:none}
  .pz9feed .fa{flex:1;min-width:0;font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pz9feed .fa small{display:block;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.05em;font-weight:500}
  .pz9feed .fg{--gc:var(--green);flex:none;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:10px;color:var(--gc);
    background:color-mix(in srgb,var(--gc) 12%,transparent);border:1px solid color-mix(in srgb,var(--gc) 40%,transparent);border-radius:7px;padding:3px 7px}
  .pz9menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:14px}
  .pz9mc{--pc:var(--amber);border:1px solid var(--line);transition:.18s;display:flex;flex-direction:column}
  .pz9mc:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pc) 55%,transparent);box-shadow:0 16px 40px -18px color-mix(in srgb,var(--pc) 55%,transparent)}
  .pz9mc h3{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em}
  .pz9mc .wk{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--pc);letter-spacing:.12em;margin-top:2px}
  .pz9rr{cursor:pointer;border-radius:7px;padding:3px 6px;transition:.12s}
  .pz9rr:hover{background:rgba(255,255,255,.05)}
  .pz9rr .rl{display:flex;align-items:center;gap:7px;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--mid)}
  .pz9rr .rl i{width:7px;height:7px;border-radius:2px;flex:none;font-style:normal;box-shadow:0 0 6px currentColor}
  .pz9rr .rl b{margin-left:auto;color:var(--ink)}
  .pz9rr .rl .emf{font-size:10px;opacity:.25;filter:grayscale(1);transition:.14s}
  .pz9rr .rl .emf.on{opacity:1;filter:none;text-shadow:0 0 9px rgba(255,207,107,.8)}
  .pz9rr .isi9{display:none;margin:4px 0 2px 14px;border-left:2px solid var(--rc,#4cc9f0);padding-left:8px}
  .pz9rr.buka .isi9{display:block}
  .pz9rr .isi9 div{font-size:10.5px;color:var(--mid);padding:2px 0}
  .pz9logs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:13px}
  .pz9resi{--lc:var(--green);background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);
    border-radius:4px 4px 13px 13px;padding:13px 15px;position:relative;font-family:"JetBrains Mono",monospace}
  .pz9resi::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
    background:repeating-linear-gradient(90deg,var(--lc) 0 8px,transparent 8px 14px);opacity:.8}
  .pz9resi .rh{display:flex;align-items:baseline;gap:8px}
  .pz9resi .tgl{font-size:8px;color:var(--low);letter-spacing:.08em}
  .pz9resi .st{margin-left:auto;font-size:7.5px;font-weight:800;letter-spacing:.12em;color:var(--lc);
    border:1px solid color-mix(in srgb,var(--lc) 50%,transparent);border-radius:6px;padding:3px 7px;background:color-mix(in srgb,var(--lc) 10%,transparent)}
  .pz9resi h4{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.05em;margin:6px 0 8px;color:var(--ink)}
  .pz9resi .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:9px}
  .pz9resi .g{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;padding:6px 7px;text-align:center}
  .pz9resi .g b{display:block;font-family:"Chakra Petch",sans-serif;font-size:14px;font-weight:700;color:var(--ink)}
  .pz9resi .g span{font-size:6.5px;letter-spacing:.14em;color:var(--low)}
  .pz9resi .hb{height:8px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow:hidden}
  .pz9resi .hb i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--lc) 55%,#000 10%),var(--lc));box-shadow:0 0 9px var(--lc)}
  .pz9kv{border:1px solid color-mix(in srgb,#e8963e 35%,transparent);border-radius:13px;padding:12px 14px;margin-bottom:14px;
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,#1a1210,var(--panel));position:relative;overflow:hidden}
  .pz9kv::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px 100px at 18% 125%, rgba(255,120,40,.2), transparent 70%)}
  .pz9kv .kt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.13em;
    background:linear-gradient(90deg,#ffd166,#ff8e3c);-webkit-background-clip:text;background-clip:text;color:transparent}
  .pz9kv .tools{margin-left:auto;display:flex;gap:9px;font-size:15px;filter:drop-shadow(0 0 7px rgba(255,150,60,.4))}
  .pz9brow{--bc:#888;display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px dashed var(--line)}
  .pz9brow i{width:9px;height:9px;border-radius:3px;background:var(--bc);box-shadow:0 0 8px var(--bc);flex:none;font-style:normal}
  .pz9brow .nm{flex:1;min-width:0;font-weight:600;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pz9brow .nm small{display:block;font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);letter-spacing:.08em;font-weight:500}
  .pz9brow .stp{flex:none;display:flex;align-items:center;gap:5px}
  .pz9brow .stp b{cursor:pointer;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--panel-2);
    border:1px solid var(--line-2);color:var(--mid);font-size:12px;transition:.12s}
  .pz9brow .stp b:hover{border-color:var(--bc);color:var(--ink)}
  .pz9brow .stp .pv{width:38px;text-align:center;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:12px;color:var(--bc)}
  .pz9brow .buang{cursor:pointer;color:var(--yore);opacity:.6;font-size:11px}
  .pz9tot{margin-top:11px;display:flex;align-items:center;gap:11px}
  .pz9tot .tr{flex:1;height:11px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow:hidden;display:flex}
  .pz9tot .v{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px}
  /* v10.89 — 📅 PIZZA CALENDAR + 🍕 widget layar + 🧊 freezer ber-bingkai */
  .pz9kalhd{display:flex;align-items:center;gap:10px;margin-bottom:11px}
  .pz9kalhd .bl{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;letter-spacing:.14em;color:var(--ink)}
  .pz9kalhd .nv{cursor:pointer;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);transition:.13s}
  .pz9kalhd .nv:hover{border-color:#a78bfa;color:var(--ink)}
  .pz9kal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
  .pz9kal .dh{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.18em;color:var(--low);text-align:center;padding:3px 0}
  .pz9kd{min-height:76px;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:5px 6px 10px;cursor:pointer;position:relative;overflow:hidden;transition:.14s}
  .pz9kd:hover{border-color:#a78bfa;box-shadow:0 0 14px -7px #a78bfa}
  .pz9kd.luar{opacity:.32}
  .pz9kd.tdy{border-color:#f2b13d;box-shadow:0 0 16px -7px #f2b13d}
  .pz9kd .tg{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid)}
  .pz9kd.tdy .tg{color:#ffcf6b;font-weight:800}
  .pz9kd .pl{--pc:#f2b13d;margin-top:3px;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--ink);
    background:color-mix(in srgb,var(--pc) 14%,transparent);border:1px solid color-mix(in srgb,var(--pc) 40%,transparent);
    border-radius:6px;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pz9kd .rz{position:absolute;top:4px;right:5px;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:8.5px}
  .pz9kd .strip{position:absolute;left:0;right:0;height:4px;bottom:2px;background:var(--spc,#f2b13d);opacity:.8;box-shadow:0 0 7px var(--spc,#f2b13d)}
  .pz9kd .strip.s2{bottom:7px;opacity:.55}
  .pz9kd .strip.a{left:4px;border-radius:99px 0 0 99px}
  .pz9kd .strip.z{right:4px;border-radius:0 99px 99px 0}
  .pz9wg{display:flex;flex-direction:column;height:100%;gap:3px;padding:3px 2px;min-height:0}
  .pz9wg .hd9{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:9.5px;letter-spacing:.07em;color:var(--ink)}
  .pz9wg .hd9 span{font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);font-weight:500;white-space:nowrap}
  .pz9wg .pw9{flex:1;min-height:0;display:grid;place-items:center;cursor:pointer}
  .pz9wg .pw9 svg{height:100%;max-height:150px;width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
  .pz9wg .pct9{text-align:center;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;color:#ffcf6b;text-shadow:0 0 12px rgba(255,207,107,.55);line-height:1}
  .pz9wg .mtr9{height:5px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid var(--line);overflow:hidden}
  .pz9wg .mtr9 i{display:block;height:100%;background:linear-gradient(90deg,#b96f28,#ffcf6b);box-shadow:0 0 8px #ffcf6b}
  .pz9wg .sl9{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}
  .pz9wg .sl9 span{--sc:#888;font-family:"JetBrains Mono",monospace;font-size:6.5px;font-weight:800;color:var(--sc);
    background:color-mix(in srgb,var(--sc) 12%,transparent);border:1px solid color-mix(in srgb,var(--sc) 35%,transparent);border-radius:5px;padding:1px 4px}
  .pz9wg.kosong{align-items:center;justify-content:center;gap:6px;color:var(--mid);font-family:"Chakra Petch",sans-serif;font-size:10px;letter-spacing:.1em}
  .pz9wg.kosong [data-pzwgo]{cursor:pointer;color:#ffcf6b;font-size:9px;font-family:"JetBrains Mono",monospace}
  .pz9fzg{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:8px;margin:4px 0 2px}
  .pz9fzw{--fc:#888;border:1px solid color-mix(in srgb,var(--fc) 38%,transparent);border-radius:10px;overflow:hidden;cursor:pointer;
    background:linear-gradient(180deg,color-mix(in srgb,var(--fc) 9%,var(--panel)),var(--panel));transition:.14s}
  .pz9fzw:hover{transform:translateY(-2px);box-shadow:0 12px 26px -15px var(--fc);border-color:color-mix(in srgb,var(--fc) 65%,transparent)}
  .pz9fzw .bar{display:flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--fc) 16%,transparent);
    border-bottom:1px solid color-mix(in srgb,var(--fc) 28%,transparent);padding:5px 7px;font-family:"Chakra Petch",sans-serif;
    font-weight:600;font-size:8.5px;letter-spacing:.05em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pz9fzw .bd{padding:4px 7px 6px;font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);letter-spacing:.06em}
  /* v10.91 — 🔥 HOTTEST BITE + kocok teater + tautan detail */
  .pz9hot{filter:drop-shadow(0 0 9px rgba(255,177,61,.85)) drop-shadow(0 0 22px rgba(255,120,40,.5));animation:pz9hotp 1.7s ease-in-out infinite}
  @keyframes pz9hotp{50%{filter:drop-shadow(0 0 14px rgba(255,207,107,1)) drop-shadow(0 0 32px rgba(255,120,40,.8))}}
  .pz9st.panas{border-color:color-mix(in srgb,#ffb13d 75%,transparent);box-shadow:0 0 20px -6px #ffb13d,inset 0 0 24px -14px rgba(255,177,61,.6)}
  .pz9st.panas .nm{color:#ffcf6b}
  .pz9nud{display:flex;align-items:center;gap:8px;margin:2px 0 11px;padding:8px 11px;border:1px dashed color-mix(in srgb,#ffb13d 55%,transparent);
    border-radius:9px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.06em;color:#ffcf6b;
    background:linear-gradient(90deg,rgba(255,150,50,.1),transparent 70%)}
  .pz9nud b{color:#fff}
  .pz9nyisir{filter:brightness(1.55) drop-shadow(0 0 14px rgba(255,255,255,.65))}
  .pz9menang{filter:brightness(1.85) drop-shadow(0 0 24px rgba(255,207,107,1));transition:filter .12s}
  .pz9tanya{padding:4px 6px 8px;text-align:center}
  .pz9tanya .tny{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:19px;letter-spacing:.14em;margin:14px 0 12px;
    color:var(--ink);text-shadow:0 0 18px rgba(255,207,107,.4);animation:pz9deg 1.4s ease-in-out infinite}
  .pz9lnk{cursor:pointer;border-bottom:1px dotted color-mix(in srgb,currentColor 50%,transparent);transition:.12s}
  .pz9lnk:hover{color:#fff;border-bottom-style:solid}
  /* v10.93 — 🕐📥 ANTRIAN NUDGE + baris pill panggung kocok */
  .nd9pil9{margin-top:7px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
  .nd9pil9 .nd9q9{font-size:10px}
  .nd9aw{border:1px solid color-mix(in srgb,var(--nd9acc,#a78bfa) 30%,var(--line));border-radius:13px;
    padding:10px 13px;margin:0 0 14px;background:linear-gradient(180deg,color-mix(in srgb,var(--nd9acc,#a78bfa) 7%,var(--panel)),var(--panel))}
  .nd9ah{display:flex;align-items:baseline;gap:9px;margin-bottom:6px}
  .nd9ah b{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.13em;color:var(--ink)}
  .nd9ah i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);letter-spacing:.06em}
  .nd9axp{margin-left:auto;cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;
    letter-spacing:.1em;color:var(--nd9acc,#a78bfa);padding:3px 8px;border:1px solid color-mix(in srgb,var(--nd9acc,#a78bfa) 45%,transparent);border-radius:7px;transition:.13s}
  .nd9axp:hover{background:color-mix(in srgb,var(--nd9acc,#a78bfa) 14%,transparent)}
  .nd9ar{--qc:#a78bfa;display:flex;align-items:center;gap:9px;padding:6px 2px;border-bottom:1px dashed var(--line)}
  .nd9ar:last-of-type{border-bottom:none}
  .nd9ar>i{width:9px;height:9px;border-radius:3px;background:var(--qc);box-shadow:0 0 8px var(--qc);flex:none;font-style:normal}
  .nd9ar .qn{flex:1;min-width:0;font-weight:600;font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nd9ar small{font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.05em;flex:none}
  .nd9am{cursor:pointer;text-align:center;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--mid);
    letter-spacing:.1em;padding:6px 0 1px;transition:.13s}
  .nd9am:hover{color:var(--ink)}
  /* v10.94 — 📡 DATA STREAM STUDIO */
  .ds9grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
  .ds9card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:13px 15px}
  .ds9glob{grid-column:1/-1}
  .ds9hd{display:flex;align-items:baseline;gap:9px;margin-bottom:8px}
  .ds9hd .t{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--ink)}
  .ds9hd .s{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);letter-spacing:.06em}
  .ds9chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}
  .ds9note{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid);letter-spacing:.04em}
  .ds9note b{cursor:pointer;color:#22d3ee;font-weight:800}
  .ds9note b:hover{text-shadow:0 0 10px #22d3ee}
  .ds9card .opt{background:transparent;padding:7px 2px;border-bottom:1px dashed var(--line);display:flex;align-items:center}
  .ds9card .opt:last-child{border-bottom:none}
  /* v10.95 — 🏠 SI KOTAK² HOME (hl9): geser · lebar · hide ber-gerigi */
  .hl9host{display:flex;flex-direction:column;align-items:stretch}
  .hl9b{position:relative}
  .hl9hid{display:none!important}
  .hl9wf{grid-column:1/-1}
  .hl9ctl{position:absolute;top:7px;right:7px;z-index:6;display:flex;gap:4px;opacity:0;transition:opacity .16s;pointer-events:none}
  /* bon #34 — kotak shortcut & widget: ujung kanan headernya udah ada tombol (⚙ ▾ / ＋ TAMBAH).
     Headernya disisain 54px di kanan, kontrol hl9 (⠿ ✕ = 48px) duduk di situ — nol numpang di tombol. */
  .hl9b[data-hl9^="widget"] .pwhd{padding-right:54px}
  .hl9b[data-hl9^="widget"]>.hl9ctl{top:1px;right:0}
  /* bon #35 — 🏠 PETA HOME di Settings: baris kotak + tombol naik/turun/hide/nama/buang/＋ LINE */
  .hlpeta{display:flex;flex-direction:column;gap:3px}
  .hlphd{display:flex;align-items:center;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--low);padding:6px 8px}
  .hlprow{cursor:default;border:1px solid var(--line);background:var(--panel-2)}
  .hlprow.hid{opacity:.5}
  .hlprow .si{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low)}
  .hlprow .hlpn{font-weight:700}
  .hlprow .hlpin{width:180px;max-width:100%;background:var(--panel);border:1px solid #22d3ee;border-radius:7px;color:var(--ink);padding:4px 8px;font:inherit;font-size:12px}
  .hlpb{display:flex;gap:4px;align-items:center;flex:none;flex-wrap:wrap;justify-content:flex-end}
  .hlpb b,.hlphd b{cursor:pointer;height:24px;min-width:24px;padding:0 6px;display:grid;place-items:center;border-radius:7px;font-weight:400;font-size:11px;background:rgba(8,10,16,.6);border:1px solid var(--line-2);color:var(--mid);transition:.13s;white-space:nowrap}
  .hlpb b:hover,.hlphd b:hover{color:var(--ink);border-color:#22d3ee;box-shadow:0 0 10px -4px #22d3ee}
  .hlpb b.hlpln,.hlphd b.hlpln{color:#22d3ee;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.08em}
  .hlpket{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);line-height:1.6;padding:8px}
  .hl9b[data-hl9="shortcut"] .lkbar{padding-right:68px}
  .hl9b[data-hl9="shortcut"]>.hl9ctl{top:11px;right:14px}
  .hl9b:hover>.hl9ctl,.prime>.card:hover>.hl9ctl{opacity:1;pointer-events:auto}
  .hl9ctl b{cursor:pointer;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;font-weight:400;
    background:rgba(8,10,16,.88);border:1px solid var(--line-2);color:var(--mid);font-size:11px;transition:.13s}
  .hl9ctl b:hover{color:var(--ink);border-color:#22d3ee;box-shadow:0 0 10px -4px #22d3ee}
  .hl9ctl b[data-hlact="drag"]{cursor:grab;touch-action:none}
  .hl9seret{opacity:.55;outline:1.5px dashed #22d3ee;outline-offset:3px}
  /* GERIGI — "kalo dideketiin baru muncul": redup nyaris ilang, nyala pas
     kursor nyamperin. Gigi-giginya beneran gerigi (zigzag clip-path). */
  .hl9g{opacity:.16;display:flex;align-items:center;gap:8px;margin:5px 0;padding:5px 11px 5px 8px;cursor:pointer;
    border:1px dashed var(--line-2);border-radius:8px;font-family:"JetBrains Mono",monospace;font-size:8.5px;
    letter-spacing:.09em;color:var(--mid);background:var(--panel);transition:opacity .22s,border-color .22s;user-select:none}
  .hl9g i{width:14px;align-self:stretch;min-height:14px;font-style:normal;flex:none;background:#22d3ee;opacity:.75;
    clip-path:polygon(0 0,100% 12%,0 24%,100% 36%,0 48%,100% 60%,0 72%,100% 84%,0 100%,0 0)}
  .hl9g b{margin-left:auto;font-size:7.5px;font-weight:800;letter-spacing:.12em;color:#22d3ee;opacity:0;transition:.2s}
  .hl9g:hover{opacity:1;border-color:color-mix(in srgb,#22d3ee 55%,transparent)}
  .hl9g:hover b{opacity:1}
  /* ============ THE WALL ============ */
  /* ===== v9.08 — TAB THE WALL + dua tampilan gabungan baru =====
     Kosakata cyberpunk-nya SENGAJA dipinjem dari yang udah kepake di Carnival & THE SCREEN
     (Chakra Petch · tracking lebar · aberasi kromatik magenta/cyan · sudut dipangkas),
     bukan bikin gaya baru lagi — biar satu rasa, bukan tambah dialek. */
  .wtabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid var(--line);padding-bottom:11px}
  .wtab{font-family:"Chakra Petch",ui-monospace,monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
        color:var(--low);border:1px solid var(--line-2);border-radius:8px;padding:7px 12px;cursor:pointer;user-select:none;
        clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));transition:all .18s}
  .wtab b{font-size:12px;letter-spacing:0;margin-right:3px}
  .wtab:hover{color:var(--ink);border-color:var(--mid)}
  /* ═══ v10.58 — TAB THE WALL DINAIKIN ══════════════════════════════════════
     Sudut kepotong sama aberasi kromatiknya DIPERTAHANIN — itu yang bikin dia
     udah lebih cakep dari mockup, dan bang Sam minta dipertahanin. Yang naik:
     WARNA PER-TAB. Sampe v10.57 sembilan-sembilannya oranye yang sama persis,
     jadi bar-nya NOL BISA dibaca sekilas — mata mesti baca tulisannya satu-satu
     tiap kali. Di bar yang isinya sembilan, itu bukan detail kecil. */
  .wtab{position:relative;--wc:#ff7a3c}
  /* ⚠ v11.55 (bon #49) — WARNA TAB ITU PER-KURSI (nth-child), BUKAN PER-TAB.
     Jadi nyelipin tab baru di tengah barisan diem-diem NGECAT ULANG semua tab
     sesudahnya, dan yang paling ekor nol kebagian warna sama sekali. Itu yang
     kejadian pas 🪞 STREAK CHECK-INS masuk kursi ke-3 (bon #48): 13 aturan buat
     14 tab, dan Black Book/Silver Book/Manager ketuker warnanya. Ketangkep
     gembok harness_wr, bukan sama mata. Sekarang tiap tab dibalikin ke warna
     ASLINYA, cuma nomor kursinya yang digeser satu. Kalo besok ada tab baru
     lagi di tengah: geser lagi dari sini, jangan nambal di ekor. */
  .wtab:nth-child(1){--wc:#ff7a3c}    /* 🔥 STREAK */
  .wtab:nth-child(2){--wc:#22d3ee}    /* 🔢 STREAK MATRIX */
  .wtab:nth-child(3){--wc:#7cf5c8}    /* 🪞 STREAK CHECK-INS — bon #48, mint, senada sama kepala kartunya */
  .wtab:nth-child(4){--wc:#a78bfa}    /* ⚔ QUEST */
  .wtab:nth-child(5){--wc:#2dd48a}    /* 👁 PANTAU */
  .wtab:nth-child(6){--wc:#f472b6}    /* 🐾 TRAILS */
  .wtab:nth-child(7){--wc:#4cc9f0}    /* ⏲ TIMER */
  .wtab:nth-child(8){--wc:#ffd166}    /* 🧬 DEEP DIVE */
  .wtab:nth-child(9){--wc:#8fa2ff}    /* 📜 STREAM */
  .wtab:nth-child(10){--wc:#e0b070}   /* ⏳ TUNDA */
  .wtab:nth-child(11){--wc:#a3e635}   /* 🍽 JATAH */
.wtab:nth-child(12){--wc:#ff5d5d}   /* v11.05 🖤 BLACK BOOK — merah kegagalan, beda dari saudara-saudaranya */
.wtab:nth-child(13){--wc:#c9d4e4}   /* v11.13 🥈 SILVER BOOK — perak kemenangan (v11.19 B12: naik kursi, MANAGER pindah ke ekor) */
.wtab:nth-child(14){--wc:#38bdf8}   /* v11.08 🏗 STREAK MANAGER — biru bengkel, tetep di EKOR barisan (B12) */
  /* ⚠ TAB BARU WAJIB NAMBAH SATU BARIS DI SINI. Tanpa itu dia jatuh ke --wc
     bawaan dan KEMBAR sama tab ke-1 — dan seluruh alesan bar ini dinaikin di
     v10.58 adalah biar tabnya kebaca SEKILAS. CSS nol punya gelung jadi daftar
     ini nol bisa diturunin dari WTABS; yang bisa, bikin LUPANYA MUSTAHIL —
     gembok di harness_td ngitung aturan di sini terus ngebandingin sama panjang
     WTABS, dan merah kalo kurang. */
  .wtab:hover{color:var(--ink);border-color:color-mix(in srgb,var(--wc) 55%,transparent);
              box-shadow:0 0 14px -8px var(--wc)}
  .wtab.on{color:var(--wc);border-color:color-mix(in srgb,var(--wc) 58%,transparent);
           background:linear-gradient(180deg,color-mix(in srgb,var(--wc) 14%,transparent),color-mix(in srgb,var(--wc) 5%,transparent));
           text-shadow:.6px 0 0 rgba(255,60,120,.4),-.6px 0 0 rgba(64,220,255,.36),0 0 14px color-mix(in srgb,var(--wc) 42%,transparent);
           box-shadow:0 0 20px -8px var(--wc),inset 0 0 18px -12px var(--wc)}
  /* kilau di sudut yang kepotong — cahaya kecil persis di potongannya. Detail
     yang cuma keliatan kalo diliatin, dan itu emang maksudnya. */
  .wtab.on:before{content:"";position:absolute;top:0;right:0;width:9px;height:9px;pointer-events:none;
    background:linear-gradient(225deg,var(--wc),transparent 62%);opacity:.85;
    clip-path:polygon(100% 0,0 0,100% 100%)}
  /* bekas jejak: garis pendek yang nyambung ke garis bawah .wtabs, jadi tabnya
     kebaca NEMPEL ke isinya — bukan ngambang di atasnya */
  .wtab.on:after{content:"";position:absolute;left:14%;right:14%;bottom:-12px;height:2px;pointer-events:none;
    background:linear-gradient(90deg,transparent,var(--wc),transparent);
    box-shadow:0 0 10px -1px var(--wc);animation:wtjejak .5s ease-out both}
  @keyframes wtjejak{from{opacity:0;transform:scaleX(.25)}to{opacity:1;transform:scaleX(1)}}
  /* pemindai SEKALI-LEWAT pas tab ganti. Sekali, bukan abadi: bar navigasi yang
     kedip terus itu bikin mata capek, dan yang capek nol bakal keliatan sebagai
     "keren" — dia keliatan sebagai "kok goyang terus". */
  .wtab.on span.wscan{position:absolute;inset:0;pointer-events:none;overflow:hidden;
    clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px))}
  .wtab.on span.wscan:after{content:"";position:absolute;top:0;bottom:0;width:38%;
    background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--wc) 30%,transparent),transparent);
    animation:wtscan .72s ease-out 1 both}
  @keyframes wtscan{from{left:-42%}to{left:104%}}
  .wtab .wn9{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:0;margin-left:6px;
    padding:1px 5px;border-radius:5px;background:color-mix(in srgb,var(--wc) 16%,transparent);color:var(--wc)}
  html[data-motion="off"] .wtab.on:after,html[data-motion="off"] .wtab.on span.wscan:after{animation:none}
  html[data-motion="off"] .wtab.on span.wscan{display:none}
  [data-theme="mono"] .wtab,[data-theme="monolith"] .wtab{--wc:var(--mid)!important}
  .wtrails,.wtimer,.wpantau,.wtunda{display:block}
  /* ═══ v10.58 — ⏳ TUNDA ════════════════════════════════════════════════════ */
  .tdbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
  .tdbar .tdsp,.tdsheet .tdsp,.tdshd .tdsp{flex:1}
  .tdttl{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:15px;letter-spacing:.12em;color:#e0b070;
    text-shadow:0 0 16px rgba(224,176,112,.4)}
  .tdsub2{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);letter-spacing:.08em}
  .tdbtn{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.09em;padding:6px 12px;
    border:1px solid var(--line-2);border-radius:8px;color:var(--mid);cursor:pointer;user-select:none;transition:.15s;white-space:nowrap}
  .tdbtn:hover{color:var(--ink);border-color:var(--mid)}
  .tdbtn.tiny{font-size:8.5px;padding:4px 9px;opacity:.7}
  .tdbtn.go{color:#e0b070;border-color:rgba(224,176,112,.5);background:rgba(224,176,112,.09)}
  .tdbtn.go:hover{box-shadow:0 0 16px -6px #e0b070}
  .tdbtn.bad{color:#ff5d5d;border-color:rgba(255,93,93,.35)}
  .tdbtn.bad:hover{box-shadow:0 0 16px -6px #ff5d5d}
  /* seksi */
  .tdsek{border:1px solid var(--line-2);border-radius:13px;background:var(--panel);margin-bottom:14px;overflow:hidden}
  .tdshd{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(255,255,255,.022),transparent)}
  .tdsek.clp .tdshd{border-bottom:0}
  .tdsi{font-size:12px}
  .tdst{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:10.5px;letter-spacing:.16em;color:var(--mid)}
  .tdsx{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);letter-spacing:.06em}
  .tdsb{font-size:9px;color:var(--low);cursor:pointer;padding:3px 6px;border-radius:5px;user-select:none;transition:.14s}
  .tdsb:hover{color:var(--ink);background:rgba(255,255,255,.05)}
  .tdsb.off{opacity:.22;pointer-events:none}
  .tdsb.x:hover{color:#ff5d5d}
  .tdsb9{padding:16px}
  .tdnol{color:var(--low);font-size:12.5px;padding:22px 6px;text-align:center;line-height:1.9}
  .tdnol small{display:block;color:var(--low);font-size:10px;margin-top:7px;opacity:.75}
  .tdnot{color:var(--low);font-size:11px;padding:10px 12px;border:1px dashed var(--line-2);border-radius:8px;margin:10px 0}
  /* HERO */
  .tdhero{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
  .tdring{position:relative;width:150px;height:150px;flex:none}
  .tdring svg{width:100%;height:100%;transform:rotate(-90deg)}
  .tdrbg{fill:none;stroke:var(--line-2);stroke-width:7}
  .tdrfg{fill:none;stroke:var(--tdc,#e0b070);stroke-width:7;stroke-linecap:round;
    filter:drop-shadow(0 0 9px color-mix(in srgb,var(--tdc,#e0b070) 65%,transparent));transition:stroke-dashoffset .6s ease}
  .tdrmid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}
  .tdrmid b{font-family:"Chakra Petch",sans-serif;font-size:38px;font-weight:800;line-height:1;color:var(--ink);
    text-shadow:0 0 22px color-mix(in srgb,var(--tdc,#e0b070) 45%,transparent)}
  .tdrmid span{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;color:var(--mid);text-transform:uppercase}
  .tdrmid i{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);font-style:normal;margin-top:3px}
  .tdinfo{flex:1;min-width:260px}
  .tdnm{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:19px;letter-spacing:.04em;color:var(--ink)}
  .tdsub{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);letter-spacing:.06em;margin-top:3px}
  .tdakt{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 12px}
  .tdmeter{display:flex;gap:9px;flex-wrap:wrap}
  .tdm9{border:1px solid var(--line);border-radius:9px;padding:7px 12px;background:rgba(0,0,0,.28);min-width:98px}
  .tdm9 b{display:block;font-family:"Chakra Petch",sans-serif;font-size:16px;color:var(--ink);line-height:1.15}
  .tdm9{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--mid);letter-spacing:.05em}
  .tdm9 i{display:block;font-style:normal;color:var(--low);font-size:7.5px;margin-top:2px}
  .tdm9.abis b{color:#ff5d5d} .tdm9.abis{border-color:rgba(255,93,93,.3)}
  /* rak pakta */
  .tdrak{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
  .tdkart{position:relative;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line-2);
    border-radius:11px;background:rgba(0,0,0,.3);cursor:pointer;transition:.16s}
  .tdkart:hover{border-color:var(--mid)}
  .tdkart.on{border-color:color-mix(in srgb,var(--tdc,#e0b070) 62%,transparent);
    background:linear-gradient(180deg,color-mix(in srgb,var(--tdc,#e0b070) 11%,transparent),rgba(0,0,0,.3));
    box-shadow:0 0 18px -8px var(--tdc,#e0b070)}
  .tdkart.mati{opacity:.45}
  .tke{font-size:19px;flex:none}
  .tkn{flex:1;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--ink);min-width:0}
  .tkn small{display:block;font-family:"JetBrains Mono",monospace;font-weight:400;font-size:8px;color:var(--low);letter-spacing:.05em;margin-top:2px}
  .tkw{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:17px;color:var(--tdc,#e0b070);text-align:right;line-height:1.05}
  .tkw i{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.06em}
  .tkx{position:absolute;top:5px;right:7px;font-size:9px;color:var(--low);opacity:0;transition:.14s;padding:2px 4px;border-radius:4px}
  .tdkart:hover .tkx{opacity:.6}
  .tkx:hover{opacity:1!important;color:#ff5d5d;background:rgba(255,93,93,.12)}
  /* lembar setelan */
  .tdsheet .tdshtab{display:flex;gap:6px;flex-wrap:wrap;padding:0 0 11px;border-bottom:1px solid var(--line);margin-bottom:13px}
  .tdsht{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.11em;padding:6px 11px;border:1px solid var(--line-2);
    border-radius:8px;color:var(--low);cursor:pointer;user-select:none;transition:.15s}
  .tdsht:hover{color:var(--ink)}
  .tdsht.on{color:#e0b070;border-color:rgba(224,176,112,.55);background:rgba(224,176,112,.1)}
  .tdblk{margin-bottom:15px}
  .tdbh{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.17em;color:var(--low);
    text-transform:uppercase;margin-bottom:7px;display:flex;gap:8px;align-items:baseline}
  .tdbh i{font-style:normal;color:var(--mid);letter-spacing:.05em;text-transform:none;font-size:8.5px}
  .tdgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:7px}
  .tdop{border:1px solid var(--line-2);border-radius:9px;padding:9px 11px;cursor:pointer;transition:.15s;background:rgba(0,0,0,.25)}
  .tdop:hover{border-color:var(--mid)}
  .tdop.on{border-color:rgba(224,176,112,.6);background:rgba(224,176,112,.1);box-shadow:0 0 14px -7px #e0b070}
  .tdoe{font-size:13px;margin-right:6px}
  .tdop b{font-family:"Chakra Petch",sans-serif;font-size:10.5px;letter-spacing:.08em;color:var(--ink)}
  .tdop u{display:block;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);margin-top:3px;line-height:1.5}
  .tdchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
  .tdc9{font-family:"JetBrains Mono",monospace;font-size:9px;padding:5px 10px;border:1px solid var(--line-2);border-radius:16px;
    color:var(--mid);cursor:pointer;user-select:none;transition:.14s}
  .tdc9:hover{color:var(--ink);border-color:var(--mid)}
  .tdc9.on{color:#e0b070;border-color:rgba(224,176,112,.6);background:rgba(224,176,112,.1)}
  .tdfoot{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);margin-top:6px}
  /* ═══ v10.59 — KURVA · STAT · CATATAN ════════════════════════════════════ */
  .tdkv{--tdc:#e0b070}
  .tdsvg{width:100%;height:auto;display:block;overflow:visible}
  .tdgl{stroke:var(--line);stroke-width:1}
  .tdax{fill:var(--low);font-family:"JetBrains Mono",monospace;font-size:8px}
  .tdaxm{fill:#8fa2ff;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.08em}
  .tdarea{fill:color-mix(in srgb,var(--tdc) 15%,transparent);stroke:none}
  .tdline{fill:none;stroke:var(--tdc);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;
    filter:drop-shadow(0 0 6px color-mix(in srgb,var(--tdc) 55%,transparent))}
  .tddot{fill:var(--tdc)}
  .tddot.pk{fill:#fff;filter:drop-shadow(0 0 7px var(--tdc))}
  .tdmc{stroke:#ffd166;stroke-width:5;opacity:.16}
  .tdmb{stroke:#ff5d5d;stroke-width:5;opacity:.2}
  .tdmm{stroke:#8fa2ff;stroke-width:1.4;stroke-dasharray:3 4;opacity:.8}
  .tdjam{display:flex;gap:2px;align-items:flex-end;height:34px;margin-top:12px}
  .tdjb{flex:1;border-radius:2px 2px 0 0;min-height:2px;height:calc(4px + var(--jv) * 30px);
    background:linear-gradient(180deg,color-mix(in srgb,var(--tdc) 78%,transparent),color-mix(in srgb,var(--tdc) 22%,transparent))}
  .tdjb.pk{background:linear-gradient(180deg,#fff,var(--tdc));box-shadow:0 0 10px -2px var(--tdc)}
  .tdjl{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);margin-top:3px}
  .tdjl2{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.13em;color:var(--low);margin-top:7px;text-transform:uppercase}
  .tdkal{display:flex;gap:14px;flex-wrap:wrap;margin-top:13px;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .tdkal b{color:var(--ink);font-weight:700}
  .tdkal .mm b{color:#8fa2ff}
  .tdpola{margin-top:9px;padding:8px 12px;border:1px solid rgba(143,162,255,.25);border-radius:8px;
    background:rgba(143,162,255,.06);font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid)}
  .tdpola b{color:#8fa2ff}
  /* ⚠ DULU NAMANYA .tdlg — DAN ITU NAMANYA JENDELA DETAIL, yang udah kepake
     dari jauh sebelum ini (lihat baris ~1502: kartu 560px, bingkai, bayangan).
     Aturan ini dateng belakangan, jadi dia MENANG, dan diem-diem nyetel kartu
     detail jadi baris flex yang wrap dengan huruf 8px abu-abu. Seluruh kartunya
     berantakan sejak v10.59 dan nol pernah ada yang ngasih tau — CSS yang
     nabrak itu nol pernah teriak, dia cuma menang.
     Namanya sekarang .tdlgn (LEGENDA), dan yang dirombak yang dateng
     belakangan, bukan yang punya rumah. */
  .tdlgn{display:flex;gap:12px;flex-wrap:wrap;margin-top:11px;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low)}
  .tdlgn .l1{color:var(--tdc,#e0b070)} .tdlgn .l2{color:#ffd166} .tdlgn .l3{color:#ff5d5d}
  .tdlgn .l4{color:#8fa2ff} .tdlgn .l5{color:var(--mid)}
  /* stat harian */
  .tdsik{margin-bottom:15px}
  .tdsikh{display:flex;gap:9px;align-items:baseline;margin-bottom:6px;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low)}
  .tdsikh b{font-family:"Chakra Petch",sans-serif;font-size:10px;letter-spacing:.14em;color:var(--mid)}
  .tdsikh span{padding:1px 7px;border-radius:5px;font-size:8px;letter-spacing:.08em}
  .tdsikh .jalan{color:#2dd4a7;background:rgba(45,212,167,.12)}
  .tdsikh .menang{color:#2dd48a;background:rgba(45,212,138,.12)}
  .tdsikh .bocor{color:#ff5d5d;background:rgba(255,93,93,.12)}
  .tdsikh .ulang{color:var(--low);background:rgba(255,255,255,.05)}
  .tdsikh i{font-style:normal;margin-left:auto;opacity:.8}
  .tdboxr{display:flex;gap:3px;flex-wrap:wrap}
  .tdbox{position:relative;width:26px;height:30px;border:1px solid var(--line-2);border-radius:5px;
    display:flex;align-items:center;justify-content:center;overflow:hidden;background:rgba(0,0,0,.3)}
  .tdbox i{position:absolute;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--tdc,#e0b070) 30%,transparent)}
  .tdbox b{position:relative;font-size:10px;line-height:1}
  .tdbox u{position:absolute;top:1px;right:2px;font-size:6.5px;color:#a78bfa;text-decoration:none}
  .tdbox.w{border-color:rgba(45,212,138,.4)} .tdbox.c{border-color:rgba(255,209,102,.5);background:rgba(255,209,102,.08)}
  .tdbox.f{border-color:rgba(255,93,93,.5);background:rgba(255,93,93,.09)}
  .tdbox.blm{opacity:.34;border-style:dashed}
  .tdlgn .l6{color:var(--low)} .tdlgn .l7{color:#a78bfa} .tdlgn .l8{color:var(--low);opacity:.7}
  /* catatan */
  .tdncomp{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:13px}
  .tdmoods{display:flex;gap:4px}
  .tdmd{font-size:15px;padding:4px 6px;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;
    opacity:.5;transition:.14s;user-select:none;line-height:1}
  .tdmd:hover{opacity:.9}
  .tdmd.on{opacity:1;border-color:rgba(224,176,112,.6);background:rgba(224,176,112,.12);box-shadow:0 0 12px -5px #e0b070}
  .tdnin{flex:1;min-width:180px;background:var(--panel);border:1px solid var(--line-2);border-radius:8px;
    color:var(--ink);font-family:Barlow,sans-serif;font-size:12.5px;padding:8px 12px;outline:none}
  .tdnin:focus{border-color:rgba(224,176,112,.5)}
  .tdnlist{display:flex;flex-direction:column;gap:5px}
  .tdnrow{display:flex;gap:9px;align-items:center;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.25)}
  .tdnm9{font-size:14px;flex:none}
  .tdnt{flex:1;font-size:12.5px;color:var(--ink);min-width:0}
  .tdnd{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);white-space:nowrap}
  .tdnx{font-size:9px;color:var(--low);cursor:pointer;opacity:0;transition:.14s;padding:2px 5px;border-radius:4px}
  .tdnrow:hover .tdnx{opacity:.6}
  .tdnx:hover{opacity:1!important;color:#ff5d5d;background:rgba(255,93,93,.12)}
  /* ═══ v10.60 — 🥊 RING KRU ═══════════════════════════════════════════════ */
  .tdkrubar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
  .tdring2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  @media(max-width:760px){.tdring2{grid-template-columns:1fr}}
  .tdkru{position:relative;border:1px solid var(--line-2);border-radius:12px;padding:13px 15px;background:rgba(0,0,0,.3);overflow:hidden}
  .tdkru.solo{grid-column:1 / -1}
  .tdkru:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
  .tdkru.p{border-color:rgba(76,201,240,.3)} .tdkru.p:before{background:#4cc9f0;box-shadow:0 0 14px -2px #4cc9f0}
  .tdkru.v{border-color:rgba(255,77,109,.3)} .tdkru.v:before{background:#ff4d6d;box-shadow:0 0 14px -2px #ff4d6d}
  .tdkru.nol{border-style:dashed;text-align:center;padding:20px;color:var(--low)}
  .tdkru.nol b{display:block;font-family:"Chakra Petch",sans-serif;font-size:12px;letter-spacing:.1em;color:var(--mid)}
  .tdkru.nol small{display:block;font-size:9.5px;margin-top:5px;opacity:.8}
  .tdkh{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .tdkn{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:15px;letter-spacing:.05em;color:var(--ink)}
  .tdkb{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);letter-spacing:.07em}
  .tdkp{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--mid);margin:4px 0 8px;letter-spacing:.05em}
  .tdkq{font-size:13px;line-height:1.65;color:var(--ink);margin:9px 0;padding-left:2px;font-style:italic}
  .tdkq.diem{color:var(--low);font-style:normal;font-family:"JetBrains Mono",monospace;font-size:10px}
  .tdkm{font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);letter-spacing:.09em;text-transform:uppercase}
  .tdadu{margin-top:13px;border:1px solid var(--line);border-radius:11px;padding:12px 14px;background:rgba(0,0,0,.22)}
  .tdaduh{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.15em;color:var(--low);text-transform:uppercase;margin-bottom:9px}
  .tdadur{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.035)}
  .tdadur:last-child{border-bottom:0}
  .tdan{font-family:"JetBrains Mono",monospace;font-size:8.5px;white-space:nowrap;flex:none;min-width:92px;letter-spacing:.05em}
  .tdadur.p .tdan{color:#4cc9f0} .tdadur.v .tdan{color:#ff4d6d}
  .tdat{font-size:12px;color:var(--mid);line-height:1.6}
  .tdkabur{margin-top:11px;padding:8px 12px;border:1px solid var(--line-2);border-radius:8px;
    font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .tdkabur b{color:var(--mid)}
  .tdkabur.go{border-color:rgba(45,212,138,.4);background:rgba(45,212,138,.08);color:#2dd48a}
  .tdkabur.go b{color:#2dd48a}
  /* ═══ v10.61 — POLA · RIWAYAT · widget ═════════════════════════════════ */
  .tdpolar{display:flex;flex-direction:column;gap:8px}
  .tdpol1{display:flex;gap:11px;align-items:center;padding:10px 13px;border:1px solid var(--line);
    border-radius:10px;background:rgba(0,0,0,.25)}
  .tdpol1.go{border-color:rgba(45,212,138,.4);background:rgba(45,212,138,.07)}
  .tdpi{font-size:15px;flex:none}
  .tdpt{flex:1;font-size:12.5px;color:var(--mid);line-height:1.5;min-width:0}
  .tdpt b{color:var(--ink);font-weight:700}
  .tdpt small{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);margin-top:3px;letter-spacing:.05em}
  .tdlogr{display:flex;flex-direction:column;gap:5px}
  .tdlog1{display:flex;gap:11px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:8px;
    background:rgba(0,0,0,.25);font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .tdlog1.menang{border-left:3px solid #2dd48a} .tdlog1.bocor{border-left:3px solid #ff5d5d}
  .tdlog1.ulang{border-left:3px solid var(--line-2)}
  .tdln{color:var(--mid);font-weight:700;min-width:26px}
  .tdlh{min-width:74px}
  .tdlog1.menang .tdlh{color:#2dd48a} .tdlog1.bocor .tdlh{color:#ff5d5d}
  .tdld{flex:1;color:var(--mid)}
  .tdlt{white-space:nowrap;opacity:.75}
  .tdwring{position:relative;width:100%;max-width:132px;margin:2px auto 4px;aspect-ratio:1}
  .tdwring svg{width:100%;height:100%;transform:rotate(-90deg)}
  .tdwring .tdrmid b{font-size:26px}
  .tdwring .tdrmid span{font-size:7px}
  /* sel TUNDA di grid The Wall */
  .wcell.td-c{color:#ffd166;background:rgba(255,209,102,.13);border-color:rgba(255,209,102,.32)}
  .wcell.td-k{color:var(--mid);background:rgba(224,176,112,.09);font-family:"JetBrains Mono",monospace;font-size:8px}
  /* NB: nama .wsec UDAH KEPAKE grid streak (label seksi, flex + garis ::after) — dulu
     kolam nama begini yang bikin panel dadu v9.03 kebajak. Punya sini .wpane. */
  .wpane{display:block;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;position:relative;overflow:hidden}
  .wpane::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,122,60,.5),transparent)}
  .wsechd{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;margin-bottom:12px}
  .wsechd .wt{font-family:"Chakra Petch",ui-monospace,monospace;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);
              text-shadow:.7px 0 0 rgba(255,60,120,.38),-.7px 0 0 rgba(64,220,255,.34)}
  .wsechd .wsub{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;color:var(--low)}
  .wtfil{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}
  .wtf{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.09em;color:var(--low);border:1px solid var(--line-2);
       border-radius:7px;padding:4px 8px;cursor:pointer;user-select:none}
  .wtf:hover{color:var(--ink);border-color:var(--mid)}
  .wtf.on{color:var(--now);border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.08)}
  .wtfeed{max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:4px}
  .wtrow{display:flex;align-items:flex-start;gap:9px;padding:7px 9px;border-left:2px solid var(--mc,#8890a3);
         background:color-mix(in srgb,var(--mc,#8890a3) 5%,transparent);border-radius:0 8px 8px 0;cursor:pointer;transition:background .15s}
  .wtrow:hover{background:color-mix(in srgb,var(--mc,#8890a3) 12%,transparent)}
  .wtri{flex:none;font-size:12px;line-height:1.5}
  .wtrx{flex:1;font-size:11.5px;line-height:1.55;color:var(--mid);min-width:0}
  .wtrx.b{color:var(--ink);font-weight:600}
  .wtrb{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
  .wtrc{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.06em;color:var(--low);white-space:nowrap}
  .wtrd{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);min-width:44px;text-align:right}
  .wmtot{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}
  .wmt{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;letter-spacing:.08em;border:1px solid var(--line-2);border-radius:7px;padding:5px 9px}
  .wmt.r{color:#c084fc} .wmt.t{color:#4cc9f0} .wmt.n{color:#2dd4a7}
  .wmrow{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px}
  .wmrow:hover{background:var(--panel)}
  .wmi{flex:none;font-size:13px}
  .wmn{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
  .wmn b{font-size:12px;color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wmn small{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.07em;color:var(--low);text-transform:uppercase}
  .wmbar{flex:0 0 118px;height:6px;background:var(--void);border-radius:4px;overflow:hidden;border:1px solid var(--line-2)}
  .wmbar i{display:block;height:100%;background:linear-gradient(90deg,var(--mc,#8890a3),color-mix(in srgb,var(--mc,#8890a3) 45%,transparent))}
  .wmv{flex:none;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--ink);min-width:56px;text-align:right}
  .wmv small{display:block;font-size:8px;font-weight:400;color:var(--low)}
  @media(max-width:640px){ .wtrc{display:none} .wmbar{flex-basis:60px} }
  /* ===== v9.10 — 👁 SI PANTAU: KARTU BERTEMA, bukan tabel Excel =====
     Rombakan total tampilan. Yang lama kebaca kaya laporan RT: garis kisi tipis, huruf
     kecil, sel kosong sunyi. Sekarang tiap papan itu KARTU dengan temanya sendiri
     (tujuh tema yang sama persis kaya Carnival — dipinjem, bukan bikin baru), tiap
     kegiatan jadi LAJUR dengan nama gede, dan tiap periode jadi UBIN yang bisa nyala.
     ================================================================================ */
  .pnbts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
  .pnbt{font-family:"Chakra Petch",ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
        color:var(--low);border:1px solid var(--line-2);border-radius:9px;padding:8px 13px;cursor:pointer;user-select:none;transition:all .18s;
        clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}
  .pnbt:hover{color:var(--ink);border-color:var(--mid)}
  .pnbt.on{color:var(--bc,#22d3ee);border-color:color-mix(in srgb,var(--bc,#22d3ee) 60%,transparent);
           background:color-mix(in srgb,var(--bc,#22d3ee) 11%,transparent);
           text-shadow:.6px 0 0 rgba(255,60,120,.4),-.6px 0 0 rgba(64,220,255,.36),0 0 16px color-mix(in srgb,var(--bc,#22d3ee) 55%,transparent)}
  .pnbt.add{font-weight:800;font-size:13px;padding:8px 14px}

  .pncard{position:relative;overflow:hidden;border-radius:16px;padding:0;
          border:1px solid color-mix(in srgb,var(--acc) 34%,var(--line));
          background:radial-gradient(900px 300px at 12% -10%,color-mix(in srgb,var(--acc) 13%,transparent),transparent 62%),
                     linear-gradient(180deg,#0b0d14,#080a10);
          box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 22px 60px -34px color-mix(in srgb,var(--acc) 75%,transparent);
          clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
  .pnscan{position:absolute;left:0;right:0;top:0;height:130px;pointer-events:none;opacity:.5;
          background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--acc) 9%,transparent) 0 1px,transparent 1px 4px)}
  .pnhd{display:flex;align-items:center;gap:12px;padding:18px 22px 14px;position:relative;
        border-bottom:1px solid color-mix(in srgb,var(--acc) 22%,transparent)}
  .pnhe{font-size:26px;filter:drop-shadow(0 0 12px var(--acc))}
  .pnhn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:23px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
        color:var(--ink);text-shadow:1px 0 0 rgba(255,45,120,.45),-1px 0 0 rgba(64,220,255,.4),0 0 30px color-mix(in srgb,var(--acc) 60%,transparent)}
  .pnhm{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;color:var(--acc);
        border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:7px;padding:4px 9px;white-space:nowrap}
  .pnsp{flex:1}
  .pnnav{font-family:"JetBrains Mono",monospace;font-size:16px;color:color-mix(in srgb,var(--acc) 78%,var(--mid));
         border:1px solid color-mix(in srgb,var(--acc) 30%,transparent);border-radius:9px;
         width:34px;height:32px;line-height:30px;text-align:center;cursor:pointer;user-select:none;flex:none;transition:all .16s}
  .pnnav:hover{color:#fff;border-color:var(--acc);background:color-mix(in srgb,var(--acc) 18%,transparent);box-shadow:0 0 18px -6px var(--acc)}
  .pnnav.now{color:var(--soon);border-color:rgba(45,212,167,.5)}
  .pnnav.cog{font-size:14px}

  .pnbody{padding:16px 22px 6px;position:relative}
  .pnlane{margin-bottom:16px}
  .pnlane.dim{opacity:.42}
  .pnlh{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .pnle{font-size:17px;flex:none;filter:drop-shadow(0 0 8px var(--ac))}
  .pnln{font-family:"Chakra Petch",ui-monospace,monospace;font-size:16px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
        color:var(--ink);cursor:pointer;transition:color .16s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pnln:hover{color:var(--ac);text-shadow:0 0 18px color-mix(in srgb,var(--ac) 70%,transparent)}
  .pnlm{margin-left:auto;flex:none;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;
        color:color-mix(in srgb,var(--ac) 70%,var(--low))}
  .pntiles{display:flex;gap:8px;flex-wrap:wrap}
  .pntile{position:relative;flex:1 1 84px;min-width:70px;max-width:150px;height:66px;cursor:pointer;user-select:none;
          display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
          border:1px solid color-mix(in srgb,var(--tc) 26%,var(--line));border-radius:11px;
          background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);transition:all .17s;
          clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}
  .pntile:hover{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent);transform:translateY(-2px)}
  .pntile.on{border-color:color-mix(in srgb,var(--tc) 70%,transparent);
             background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 24%,transparent),color-mix(in srgb,var(--tc) 7%,transparent));
             box-shadow:0 0 26px -10px var(--tc),0 0 0 1px color-mix(in srgb,var(--tc) 22%,transparent) inset}
  .pntile.now{outline:1px dashed color-mix(in srgb,var(--tc) 60%,transparent);outline-offset:2px}
  .pntile.fut{opacity:.32}
  .pntg{font-style:normal;font-size:24px;line-height:1;color:var(--tc);
        text-shadow:0 0 20px color-mix(in srgb,var(--tc) 80%,transparent)}
  .pntile:not(.on) .pntg::before{content:"·";color:color-mix(in srgb,var(--tc) 45%,transparent);font-size:24px}
  .pntl{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;
        color:color-mix(in srgb,var(--tc) 62%,var(--low))}
  .pntile.on .pntl{color:color-mix(in srgb,var(--tc) 88%,#fff)}
  .pntile.note::after{content:"";position:absolute;top:7px;right:8px;width:6px;height:6px;border-radius:50%;
                      background:var(--amber);box-shadow:0 0 10px var(--amber)}

  .pnsep{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.22em;color:var(--low);
         padding:11px 0 13px;cursor:pointer;user-select:none;border-top:1px dashed var(--line-2);margin-top:4px}
  .pnsep:hover{color:var(--ink)}
  .pnfoot{display:flex;gap:9px;flex-wrap:wrap;padding:8px 22px 20px}
  .pnbtn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;
         color:var(--acc,#22d3ee);border:1px solid color-mix(in srgb,var(--acc,#22d3ee) 45%,transparent);border-radius:10px;
         padding:9px 16px;cursor:pointer;user-select:none;display:inline-block;transition:all .17s;
         clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}
  .pnbtn:hover{color:#fff;background:color-mix(in srgb,var(--acc,#22d3ee) 16%,transparent);box-shadow:0 0 22px -8px var(--acc,#22d3ee)}
  .pnbtn.gh{color:var(--mid);border-color:var(--line-2)}
  .pnbtn.big{font-size:13px;padding:12px 22px;margin-top:16px}
  .pnempty{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.14em;color:var(--low);
           text-align:center;padding:26px;border:1px dashed var(--line-2);border-radius:12px}
  .pnkosong{text-align:center;padding:48px 22px;border:1px dashed var(--line-2);border-radius:16px;
            background:radial-gradient(600px 200px at 50% 0%,rgba(167,139,250,.09),transparent 70%)}
  .pnkt{font-family:"Chakra Petch",ui-monospace,monospace;font-size:26px;font-weight:700;letter-spacing:.2em;color:var(--ink);
        text-shadow:1px 0 0 rgba(255,45,120,.4),-1px 0 0 rgba(64,220,255,.36)}
  .pnkd{font-size:13px;color:var(--mid);line-height:1.8;margin-top:12px}

  .pnlgh{font-family:"Chakra Petch",ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.24em;
         color:var(--amber);margin:22px 0 10px}
  .pnlgs{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:5px}
  .pnlg{display:flex;align-items:baseline;gap:11px;padding:9px 13px;border-left:2px solid rgba(242,177,61,.5);
        background:rgba(242,177,61,.05);border-radius:0 10px 10px 0}
  .pnlgd{flex:none;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);min-width:48px}
  .pnlgn{flex:none;font-family:"Chakra Petch",ui-monospace,monospace;font-size:12.5px;font-weight:600;letter-spacing:.06em;
         text-transform:uppercase;color:var(--ink);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pnlgt{flex:1;font-size:13px;color:var(--mid);line-height:1.6;min-width:0}
  .pnlgp{flex:none;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}

  .pnsr{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line)}
  .pnsg{flex:none;width:38px;height:32px;line-height:30px;text-align:center;border:1px solid var(--line-2);border-radius:8px;
        cursor:pointer;color:var(--sc,#8890a3);font-size:17px}
  .pnsn{flex:1;font-family:"Chakra Petch",ui-monospace,monospace;font-size:13px;letter-spacing:.1em;color:var(--ink);cursor:pointer}
  .pnsc{flex:none;width:26px;height:26px;border-radius:7px;background:var(--sc,#8890a3);cursor:pointer;border:1px solid var(--line-2)}
  .pnsx{flex:none;color:var(--low);cursor:pointer;font-size:13px;padding:0 5px}
  .pnsx:hover{color:var(--yore)}
  @media(max-width:640px){
    .pnhn{font-size:17px} .pnln{font-size:13.5px} .pntile{height:56px;min-width:58px;flex-basis:62px}
    .pntg{font-size:19px} .pnbody{padding:14px 14px 6px} .pnhd{padding:14px 14px 12px} .pnfoot{padding:8px 14px 16px}
  }
  .wallhero{display:flex;align-items:center;gap:26px;flex-wrap:wrap;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:20px 26px;margin-bottom:16px;position:relative;overflow:hidden}
  .wallhero::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 130px at 18% 0%,rgba(255,120,60,.12),transparent 70%);pointer-events:none}
  .wflame{font-size:52px;filter:drop-shadow(0 0 18px #ff7a3c);animation:beat 1.8s ease-in-out infinite}
  .wcur{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:46px;line-height:1;color:#ffb15c;text-shadow:0 0 26px rgba(255,140,60,.6)}
  .wcur small{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--low);margin-top:5px}
  .wbest{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--mid)}
  .wnav{margin-left:auto;display:flex;gap:8px;align-items:center;font-family:"Chakra Petch",sans-serif;font-weight:700}
  .wnav button{cursor:pointer;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:6px 12px;font-size:14px}
  /* v11.17 — padding samping DICOPOT dari scroller: sticky nge-pin ke tepi
     scrollport, padding scroller ninggalin selokan 16px yang sel-selnya
     kelewatan lewat (persis penyakit mockup "mbelakangi"). Napasnya pindah
     ke wrapper dalem .wgin9 — plat label sekarang nempel rapet ke tepi. */
  .wallgrid{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 0}
  .wgin9{width:max-content;min-width:100%;padding:0 16px}
  .wallgrid .wlbl{position:sticky;left:0;z-index:3;background:var(--panel);box-shadow:10px 0 12px -10px rgba(0,0,0,.8);padding-right:6px;padding-left:16px;width:144px}
  .wallgrid .wlbl::after{content:"";position:absolute;left:100%;top:0;bottom:0;width:6px;background:linear-gradient(90deg,var(--panel),transparent);pointer-events:none}
  .wallgrid .wsec{padding-left:16px}
  .wallgrid .wdates>span:first-child{width:144px!important;padding-left:16px}
  .wallgrid .wsec{position:sticky;left:0;z-index:2;background:var(--panel);width:max-content;padding-right:14px}
  .wallgrid .wdates>span:first-child{position:sticky;left:0;z-index:3;background:var(--panel)}
  .wsec.tm{cursor:pointer;user-select:none;color:var(--amber)}
  .wtmsum{font-family:"JetBrains Mono",monospace;font-size:9px;color:#4ade80;border:1px solid rgba(74,222,128,.4);background:rgba(74,222,128,.07);border-radius:7px;padding:2px 7px;margin-left:8px;font-weight:800}
  .wtmcar{color:var(--low);margin-left:6px;font-size:9px}
  .wtmbox{width:max-content;min-width:100%;position:sticky;left:0;padding:2px 0 8px}
  .wtmbox.hid{display:none}
  .wtmrow{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid rgba(27,31,43,.5);width:min(560px,100%)}
  .wtmrow:last-child{border-bottom:0}
  .wtmi{flex:none;font-size:13px}
  .wtmn{flex:1;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.05em;color:var(--wc);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wtmv{flex:none;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;color:#4ade80;border:1px solid rgba(74,222,128,.35);background:rgba(74,222,128,.06);border-radius:7px;padding:3px 8px}
  .wwin{display:inline-flex;gap:5px;margin-left:10px;vertical-align:middle}
  .wwin b{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:400;letter-spacing:.08em;color:var(--low);border:1px solid var(--line-2);border-radius:7px;padding:4px 7px;cursor:pointer;user-select:none}
  .wwin b:hover{color:var(--mid);border-color:var(--mid)}
  .wwin b.on{color:var(--amber);border-color:rgba(242,177,61,.5);background:rgba(242,177,61,.08)}
  .wrow{display:flex;align-items:center;gap:4px;margin-bottom:7px}
  .wlbl{flex:none;width:128px;display:flex;align-items:center;gap:7px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.06em;color:var(--wc)}
  .wcell{flex:none;width:36px;height:36px;border-radius:9px;background:#0c0e14;border:1px solid var(--line);cursor:pointer;position:relative;display:grid;place-items:center;font-size:14px;transition:.12s;font-family:"JetBrains Mono",monospace;font-weight:800;color:var(--wc)}
  /* seksi header di grid The Wall */
  .wsec{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.24em;color:var(--now);margin:16px 0 8px;padding-left:2px;display:flex;align-items:center;gap:8px}
  .wsec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--now),transparent);opacity:.4}
  .wsec.neg{color:var(--yore);margin-top:22px}
  .wsec.neg::after{background:linear-gradient(90deg,var(--yore),transparent)}
  /* sel negatif — model hari bersih */
  .wcell.neg.clean{background:color-mix(in srgb,#2dd4a7 10%,#0c0e14);border-color:rgba(45,212,167,.28);color:#2dd4a7;font-size:10px}
  .wcell.neg.slip{background:color-mix(in srgb,#ff5d5d 20%,#0c0e14);border-color:rgba(255,93,93,.55);color:#ff8a8a;font-size:11px}
  .wcell.neg.nb{background:#0a0b10;border-color:rgba(255,255,255,.04);color:transparent}
  .wcell.neg.tdy{outline:1.5px solid var(--amber);outline-offset:1px}
  .wcell.hasnote::before{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:var(--amber)}
  .wrow.neg .wlbl{color:var(--wc)}
  .wallgrid .wrow{margin-bottom:6px;padding:3px 0}
  .wallgrid .wrow.neg{margin-bottom:8px}
  .wallgrid .wdates{margin-bottom:4px}
  .cleanb{margin-left:0;flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;color:#2dd4a7;background:rgba(45,212,167,.1);border:1px solid rgba(45,212,167,.3);border-radius:20px;padding:1px 6px;white-space:nowrap;line-height:1.4}
  .wlbl.neglbl{flex-direction:column;align-items:flex-start;gap:3px;justify-content:center}
  .neglbl .negname{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  /* popup backdate + catatan */
  .bdpop{padding:10px !important}
  .bdhead{font-weight:800;font-size:11px;letter-spacing:.08em;color:var(--hc);padding:4px 6px 8px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .bdhead .bdd{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);font-weight:600}
  .bdhead .bdneg{margin-left:auto;font-size:8px;font-weight:800;letter-spacing:.15em;color:var(--void);background:var(--yore);padding:2px 6px;border-radius:5px}
  .bdlbl{font-size:10px;color:var(--mid);padding:2px 6px 5px}
  .bdrow{cursor:default !important}
  .bdnotewrap{display:flex;flex-direction:column;gap:5px;padding:7px 4px 4px;border-top:1px solid var(--line);margin-top:6px}
  .bdnote-in{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:7px;color:var(--ink);font-family:inherit;font-size:12px;padding:7px 9px;resize:vertical;box-sizing:border-box}
  .bdnote-in:focus{outline:none;border-color:var(--amber)}
  .bdnote-add{align-self:flex-end;background:rgba(242,177,61,.12);border:1px solid rgba(242,177,61,.4);color:var(--amber);border-radius:6px;padding:4px 12px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
  .bdnote-add:hover{background:rgba(242,177,61,.22)}
  .bdnotes{display:flex;flex-direction:column;gap:4px;padding:5px 4px}
  .bdnote{display:flex;align-items:flex-start;gap:6px;background:var(--panel);border-left:2px solid var(--amber);border-radius:5px;padding:5px 8px}
  .bdnote .bdnt{flex:1;font-size:11.5px;color:var(--ink);line-height:1.4}
  .bdnote .bdnx{background:none;border:none;color:var(--low);cursor:pointer;font-size:10px;padding:0}
  .bdnote .bdnx:hover{color:var(--yore)}
  .bdreset{width:100%;margin-top:7px;background:rgba(255,93,93,.1);border:1px solid rgba(255,93,93,.35);color:#ff8a8a;border-radius:6px;padding:6px;font-size:10px;font-weight:700;cursor:pointer;font-family:"JetBrains Mono",monospace;letter-spacing:.1em}
  .bdreset:hover{background:rgba(255,93,93,.2)}
  .bdfoot{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);text-align:center;padding:7px 0 2px;margin-top:4px}
  .commb{flex:none;font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--soon);background:rgba(45,212,167,.12);border:1px solid rgba(45,212,167,.35);border-radius:20px;padding:2px 7px;white-space:nowrap;cursor:pointer;transition:.12s}
  .commb:hover{background:rgba(45,212,167,.25)}
  .commb.off{color:var(--low);background:rgba(136,144,163,.08);border-color:rgba(136,144,163,.25)}
  .commb.off:hover{color:var(--mid);border-color:rgba(136,144,163,.5);background:rgba(136,144,163,.15)}
  /* stream catatan di bawah grid */
  .wstream{margin-top:22px}
  .wstitle{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.24em;color:var(--violet);margin-bottom:10px}
  .wfilter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
  .wfchip{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:700;padding:4px 11px;border-radius:20px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;transition:.12s;background:var(--panel)}
  .wfchip:hover{border-color:var(--fc,var(--mid));color:var(--ink)}
  .wfchip.on{background:color-mix(in srgb,var(--fc,var(--violet)) 16%,transparent);border-color:var(--fc,var(--violet));color:var(--ink)}
  .wslist{display:flex;flex-direction:column;gap:8px}
  .wsempty{font-size:12px;color:var(--low);text-align:center;padding:24px;border:1px dashed var(--line-2);border-radius:10px}
  .wsitem{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--sc);border-radius:10px;padding:10px 13px}
  .wsi-h{display:flex;align-items:center;gap:8px;margin-bottom:4px}
  .wsi-cat{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--sc)}
  .wsi-neg{font-size:7.5px;font-weight:800;letter-spacing:.12em;color:var(--void);background:var(--yore);padding:1px 5px;border-radius:4px}
  .wsi-d{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .wsi-t{font-size:13px;color:var(--ink);line-height:1.5}
  .wnegadd{margin-left:auto;background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.35);color:#ff8a8a;border-radius:6px;width:22px;height:22px;cursor:pointer;font-size:11px;padding:0;line-height:1}
  .wnegadd:hover{background:rgba(255,93,93,.25)}
  .ngmcat{border:1px solid var(--line);border-left:2px solid var(--cc);border-radius:8px;padding:8px;margin:6px 2px}
  .ngmch{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:11px;color:var(--cc);letter-spacing:.06em;margin-bottom:6px}
  .ngmitem{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink);padding:3px 6px;background:var(--panel);border-radius:5px;margin-bottom:3px}
  .ngmadd{display:flex;gap:5px;margin-top:5px}
  .ngmii,.ngmnewcat input{flex:1;background:var(--void);border:1px solid var(--line-2);border-radius:6px;color:var(--ink);font-family:inherit;font-size:11px;padding:5px 8px;box-sizing:border-box}
  .ngmii:focus,.ngmnewcat input:focus{outline:none;border-color:var(--yore)}
  .ngmib,.ngmnewcat button{background:rgba(255,93,93,.12);border:1px solid rgba(255,93,93,.35);color:#ff8a8a;border-radius:6px;padding:5px 11px;font-size:10px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
  .ngmib:hover,.ngmnewcat button:hover{background:rgba(255,93,93,.22)}
  .ngmnewcat{display:flex;gap:5px;margin:10px 2px 4px;padding-top:8px;border-top:1px solid var(--line)}
  .ngmemo{flex:none !important;width:44px;text-align:center;font-size:14px !important}
  .ngmib.sheet{flex:none;padding:5px 9px}
  .bulksheet{padding:12px !important;min-width:340px}
  .bshead{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--bc,var(--amber));padding:2px 2px 4px}
  .bssub{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);padding:0 2px 9px}
  .bstext{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:13px;line-height:1.55;padding:10px 12px;resize:vertical;box-sizing:border-box;min-height:150px}
  .bstext:focus{outline:none;border-color:var(--bc,var(--amber))}
  .bsfoot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
  .bscount{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;color:var(--bc,var(--soon))}
  .bsadd{background:color-mix(in srgb,var(--bc,var(--amber)) 16%,transparent);border:1px solid color-mix(in srgb,var(--bc,var(--amber)) 42%,transparent);color:var(--bc,var(--amber));border-radius:8px;padding:8px 16px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
  .bsadd:hover{background:color-mix(in srgb,var(--bc,var(--amber)) 26%,transparent)}
  .nmgbtns{display:flex;gap:6px;padding:8px 4px 2px;border-top:1px solid var(--line);margin-top:6px}
  .nmgb{flex:1;background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);border-radius:7px;padding:8px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:.12s}
  .nmgb:hover{border-color:var(--amber);color:var(--ink)}
  .dpanrow{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px}
  .dpanrow:hover{background:var(--panel-2)}
  .dpandot{width:9px;height:9px;flex:none;border-radius:50%;background:var(--dg);box-shadow:0 0 8px var(--dg)}
  .dpantx{flex:1;min-width:0}
  .dpantx b{font-size:12.5px;font-weight:600;color:var(--ink)}
  .dpantx small{display:block;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dpanb{background:var(--panel);border:1px solid var(--line-2);color:var(--mid);border-radius:6px;width:26px;height:26px;flex:none;cursor:pointer;font-size:11px;transition:.12s}
  .dpanb:hover{border-color:var(--violet);color:var(--ink)}
  .dpanb.del:hover{border-color:var(--yore);color:var(--yore)}
  .wcell:hover{transform:scale(1.25);z-index:2;border-color:var(--wc)}
  .wcell.l1{background:color-mix(in srgb,var(--wc) 28%,#0c0e14);border-color:color-mix(in srgb,var(--wc) 45%,transparent)}
  .wcell.l2{background:color-mix(in srgb,var(--wc) 55%,#0c0e14);border-color:var(--wc);box-shadow:0 0 8px -2px var(--wc)}
  .wcell.l3{background:var(--wc);border-color:var(--wc);box-shadow:0 0 18px -2px var(--wc),0 0 34px -8px var(--wc);color:#0c0e14}
  .wcell.sk{background:rgba(255,60,60,.14);border-color:rgba(255,80,80,.6)}
  .wcell.fut{opacity:.22;cursor:default}
  .wcell.tdy{outline:2px solid var(--amber);outline-offset:1px;animation:beat 1.6s infinite}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:transparent}
  ::-webkit-scrollbar-thumb{background:linear-gradient(135deg,color-mix(in srgb,var(--now) 75%,transparent),color-mix(in srgb,#a78bfa 75%,transparent));border-radius:99px;border:2px solid var(--void);box-shadow:0 0 10px -3px var(--now)}
  ::-webkit-scrollbar-thumb:hover{box-shadow:0 0 18px -3px var(--now);background:linear-gradient(135deg,var(--now),#a78bfa)}
  ::-webkit-scrollbar-corner{background:transparent}
  /* v11.49 BON B1 — scrollbar-color itu INHERITED: cukup di html. Di `*` tiap elemen
     ngitung color-mix sendiri tiap recalc DAN ngelahirin transisi scrollbar-color
     terus-terusan (2.052 transisi/1,5 dtk di HOME diem — trace 4 Sep 2026).
     Warnanya sama persis; elemen yang punya --now sendiri (jarang, cuma kartu) bakal
     ngikut warna root buat scrollbar-nya — di HP scrollbar-nya overlay, ga keliatan. */
  *{scrollbar-width:thin}
  html{scrollbar-color:color-mix(in srgb,var(--now) 60%,#20242e) transparent}
  .wauto{font-family:"JetBrains Mono",monospace;font-size:7.5px;font-weight:700;letter-spacing:.12em;color:var(--low);border:1px solid var(--line-2);border-radius:8px;padding:1px 6px;margin-left:6px;vertical-align:middle}
  .wdayrow .wcell{background:transparent;border:none;font-size:12px;cursor:default}
  .wdayrow .wcell.lit{filter:drop-shadow(0 0 6px #ff8a3c)}
  .wdayrow .wcell.off{opacity:.18;filter:grayscale(1)}
  .wdates{display:flex;gap:4px;margin:2px 0 10px}
  .wdates span{flex:none;width:36px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  /* v9.87 — header grid dua lantai: inisial hari + tanggal, hari ini nyala */
  .wdates.jls9 span{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}
  .wdates.jls9 span i{font-style:normal;font-size:6.5px;letter-spacing:.08em;color:var(--low)}
  .wdates.jls9 span b{font-size:10px;color:var(--dim)}
  .wdates.jls9 span em{font-style:normal;font-size:6.5px;color:var(--amber);letter-spacing:.06em}
  .wdates.jls9 span.wknd i,.wdates.jls9 span.wknd b{color:#6b7488}
  .wdates.jls9 span.tdy9 i,.wdates.jls9 span.tdy9 b{color:var(--amber);text-shadow:0 0 9px color-mix(in srgb,var(--amber) 65%,transparent)}
  .wtsep9{display:flex;align-items:center;gap:10px;margin:18px 0 10px}
  .wtsep9 i{flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--now) 55%,transparent),transparent);
    box-shadow:0 0 8px -1px color-mix(in srgb,var(--now) 45%,transparent)}
  .wtsep9 span{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.3em;color:var(--now);
    text-shadow:0 0 11px color-mix(in srgb,var(--now) 60%,transparent)}
  /* v9.88 — 🧬 combos + MARK E! */
  .ebdg9{display:inline-block;margin-left:6px;font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:9px;color:#f472b6;
    border:1px solid rgba(244,114,182,.55);border-radius:5px;padding:0 4px;letter-spacing:.04em;vertical-align:2px;
    text-shadow:0 0 8px rgba(244,114,182,.8);box-shadow:0 0 10px -4px #f472b6,inset 0 0 6px -3px #f472b6;animation:ebdg9p 2.6s infinite}
  @keyframes ebdg9p{0%,100%{opacity:.82}50%{opacity:1;box-shadow:0 0 14px -3px #f472b6,inset 0 0 8px -3px #f472b6}}
  .tbtn.e9on9{color:#f472b6;border-color:rgba(244,114,182,.55);box-shadow:0 0 10px -4px #f472b6}
  .cbk9r{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
  .cbk9{display:inline-block;border:1px solid var(--line-2);color:var(--dim);border-radius:8px;padding:3px 9px;
    font-family:"JetBrains Mono",monospace;font-size:10px;cursor:pointer;user-select:none;transition:.12s}
  .cbk9:hover{color:var(--ink);border-color:var(--mid)}
  .cbk9.on{border-color:currentColor;box-shadow:0 0 10px -4px currentColor;background:color-mix(in srgb,currentColor 8%,transparent)}
  .cat.kombo9 .em{box-shadow:0 0 16px -5px #22d3ee;border-color:rgba(34,211,238,.45)}
  /* v9.89 — saringan LIST+ + HARIAN + */
  .lpfil9{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:2px 0 10px}
  .lpfc9{display:inline-block;border:1px solid var(--line-2);color:var(--dim);border-radius:16px;padding:4px 10px;
    font-family:"JetBrains Mono",monospace;font-size:10.5px;cursor:pointer;user-select:none;transition:.12s}
  .lpfc9:hover{color:var(--ink);border-color:var(--mid)}
  .lpfc9.on{color:var(--ink);border-color:var(--amber);box-shadow:0 0 11px -4px var(--amber);background:rgba(242,177,61,.08)}
  .lpfc9.pgf9.on{border-color:#a78bfa;box-shadow:0 0 11px -4px #a78bfa;background:rgba(167,139,250,.09)}
  .lpfc9.bkf9.on{border-color:currentColor;box-shadow:0 0 11px -4px currentColor;background:color-mix(in srgb,currentColor 9%,transparent)}
  .lpfc9.reset{border-color:rgba(255,77,109,.45);color:#ff8aa0}
  .lps9{width:1px;height:16px;background:var(--line-2);flex:none}
  /* v10.53 — chip preset yang LAGI KEPASANG. Sengaja beda rasa dari chip
     saringan biasa (.lpfc9.on): preset itu MODE — dia nyetel banyak hal
     sekaligus — jadi dia nyala lebih terang plus ada denyut tipis. Bang Sam:
     "preset aktiv dibuat lebih menyala dong / kalo yg mati ya mati redup". */
  /* ⚠ position:relative WAJIB — ::after di bawah pake inset:0. Tanpa ini dia
     ngambang ke leluhur berposisi terdekat dan pendarnya nyasar ke pojok
     halaman. Kelas .lpfc9 dasarnya emang nol punya position. */
  .lpfc9.prc9{position:relative;opacity:.5;transition:.16s}
  .lpfc9.prc9:hover{opacity:.86}
  .lpfc9.prc9.on{opacity:1;color:#ffd166;border-color:rgba(255,209,102,.62);
    background:linear-gradient(180deg,rgba(255,209,102,.20),rgba(255,209,102,.07));
    box-shadow:0 0 0 1px rgba(255,209,102,.20),0 0 15px -3px rgba(255,209,102,.65);
    text-shadow:0 0 9px rgba(255,209,102,.55);font-weight:800;letter-spacing:.04em}
  .lpfc9.prc9.on::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    box-shadow:0 0 12px -2px rgba(255,209,102,.7);animation:prc9d 2.4s ease-in-out infinite}
  @keyframes prc9d{0%,100%{opacity:.32}50%{opacity:.9}}
  /* v10.09 — separator pendar antar kelompok bar + chip nama preset */
  .lpsep9{display:block;width:100%;height:1px;border:0;margin:1px 0 7px;flex:none;
    background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--now) 45%,var(--line-2)),transparent);
    box-shadow:0 0 9px -2px var(--now)}
  .lpfc9.prc9{color:#f2b13d;border-color:color-mix(in srgb,#f2b13d 40%,var(--line-2))}
  .lpfc9.prc9:hover{text-shadow:0 0 8px rgba(242,177,61,.6)}
  .hp9{display:grid;gap:5px}
  /* ═══ v10.53 — BATAS KUBU. Dua rasa, satu keluarga:
       .hp9kubu — di HARIAN+, batas harian↔bucket. Tebel, dua sisi ber-nama,
                  belah ketupat di tengah. Dia mesti kalah sama kepala band
                  di soal warna (band punya warnanya sendiri) tapi menang di
                  soal BERAT — soalnya dia batas yang paling penting.
       .lpkubu  — di LIST+, batas yang sama pas urutannya emang misahin.
     Nol satu warna baru pun: dua-duanya minjem --now / --line-2 / --dim. ═══ */
  .hp9kubu{display:flex;align-items:center;gap:12px;margin:26px 0 16px;user-select:none}
  .hp9kubu i{flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,#2dd48a 55%,transparent))}
  .hp9kubu i:last-child{background:linear-gradient(90deg,color-mix(in srgb,#4cc9f0 55%,transparent),transparent)}
  .hp9kubu span{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:10px;letter-spacing:.18em;white-space:nowrap}
  .hp9kubu .kl{color:#2dd48a;text-shadow:0 0 10px rgba(45,212,138,.45)}
  .hp9kubu .kr{color:#4cc9f0;text-shadow:0 0 10px rgba(76,201,240,.45)}
  .hp9kubu b{font-size:9px;color:var(--low);letter-spacing:0;transform:translateY(-.5px)}
  .lpkubu{display:flex;align-items:center;gap:10px;margin:14px 2px 10px;user-select:none}
  .lpkubu i{flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--amber) 42%,transparent),transparent)}
  .lpkubu span{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.16em;color:var(--low);white-space:nowrap}
  .lpkubu.tk i{background:linear-gradient(90deg,transparent,color-mix(in srgb,#2dd48a 45%,transparent),transparent)}
  .lpkubu.tk span{color:#2dd48a;text-shadow:0 0 9px rgba(45,212,138,.4)}
  .hp9hd{display:flex;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--hc,#2dd48a) 34%,transparent);border-radius:11px;
    padding:8px 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--hc,#2dd48a) 7%,transparent),transparent)}
  .hp9hd .t{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:11.5px;letter-spacing:.1em;color:var(--hc,#2dd48a);
    text-shadow:0 0 11px color-mix(in srgb,var(--hc,#2dd48a) 55%,transparent)}
  .hp9hd .n{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--dim);margin-left:auto}
  .hp9tg{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--dim);border:1px solid var(--line-2);border-radius:8px;
    padding:3px 8px;cursor:pointer;user-select:none;flex:none}
  .hp9tg:hover{color:var(--ink)}
  .hp9tg.on{color:var(--amber);border-color:rgba(242,177,61,.45)}
  .hp9row{display:flex;gap:9px;align-items:baseline;border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;
    font-size:13px;color:var(--ink);transition:.12s;min-width:0}
  .hp9row:hover{border-color:var(--line-2);background:rgba(255,255,255,.02)}
  .hp9row.cm{border-left:3px solid #2dd48a}
  .hp9row .ic{flex:none}
  .hp9row .tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hp9row .tag{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);border:1px solid var(--line-2);border-radius:6px;padding:1px 6px}
  .hp9row .tag.murni{color:#2dd48a;border-color:rgba(45,212,138,.4)}
  .hp9row .jam{flex:none;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--dim)}
  .hp9nol{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--low);font-style:italic;padding:8px 12px}
  /* v10.00 — HARIAN+ naik kelas */
  .hp9ctl{margin:2px 0 10px}
  .hp9row.hp9d1{margin-left:24px}
  .hp9row.hp9d2{margin-left:48px}
  .hp9pill.red{color:var(--red,#ff5d5d);border-color:rgba(255,93,93,.4)}
  /* v10.02 — 📈 progress universal */
  .itpg9n{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:700;color:var(--pc,#4cc9f0);flex:none;
    border:1px solid color-mix(in srgb,var(--pc,#4cc9f0) 45%,transparent);border-radius:7px;padding:1px 5px;
    text-shadow:0 0 8px color-mix(in srgb,var(--pc,#4cc9f0) 75%,transparent)}
  .itpg9x .grid9{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;padding:7px 5px}
  .itpg9x .grid9 i{height:8px;border-radius:2px;background:rgba(255,255,255,.06)}
  .itpg9x .grid9 i.on{background:var(--pc);box-shadow:0 0 6px -1px var(--pc)}
  .itpg9x .bar9{display:flex;gap:5px;align-items:center;padding:4px;flex-wrap:wrap}
  .itpg9x .bar9 input{flex:1;min-width:110px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:5px 8px;font-size:10.5px}
  .itpg9x .bar9 .in9{flex:none;width:52px;min-width:52px;text-align:center}
  .itpg9x .chip9{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:9.5px;border:1px solid var(--line-2);border-radius:7px;padding:3px 6px;color:var(--mid);user-select:none}
  .itpg9x .chip9:hover{color:var(--pc);border-color:var(--pc)}
  .itpg9x .pal9{display:flex;gap:5px;padding:2px 6px}
  .itpg9x .pal9 i{width:14px;height:14px;border-radius:4px;cursor:pointer}
  .itpg9x .log9{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);padding:4px 6px;display:grid;gap:2px}
  .itpg9x .chip9.on{color:var(--now);border-color:var(--now)}
  .itcw9n{flex:none;font-size:10px;filter:drop-shadow(0 0 5px rgba(242,177,61,.7))}
  .hslt9{cursor:pointer;font-weight:400;color:var(--dim);margin-left:6px}
  .hslt9.on,.hslt9:hover{color:var(--now)}
  .hspr9{cursor:pointer}
  .hspr9.burem9{opacity:.32;cursor:default}
  .hspr9.cek9 .hsln{color:var(--now);text-shadow:0 0 8px color-mix(in srgb,var(--now) 55%,transparent)}
  .itpg9x input[type=date]{color-scheme:dark}
  .cwork9{display:grid;gap:8px;padding:4px 0}
  .cwrow9{display:grid;grid-template-columns:120px 120px 110px 1fr 200px;gap:10px;align-items:center;cursor:pointer;
    border:1px solid color-mix(in srgb,var(--cc,#2dd48a) 35%,transparent);border-radius:11px;padding:10px 13px;background:var(--panel-2)}
  .cwrow9:hover{border-color:var(--cc)}
  .cwrow9 .nm9{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:12px;color:var(--ink)}
  .cwrow9 .jn9,.cwrow9 .st9c{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--cc);letter-spacing:.06em}
  .cwrow9 .tt9{font-size:12px;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cwrow9 .dl9{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--cc);text-align:right}
  .cwrow9 .bar9c{grid-column:1/-1;height:6px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden}
  .cwrow9 .bar9c i{display:block;height:100%;background:linear-gradient(90deg,var(--cc),color-mix(in srgb,var(--cc) 55%,transparent));
    box-shadow:0 0 10px -2px var(--cc);border-radius:4px;transition:width .3s}
  /* v9.91 — ◈ AUTOSPIN box widget list */
  /* v9.92 — STICKY: badan widget list bisa scroll sendiri (mesin v8.98 maenin
     scrollTop), jadi kotaknya dipaku di atas biar ga ikut naik-turun. Lapisan
     bawah background dibikin SOLID (var(--panel)) biar baris yang lewat di
     belakangnya ga nembus. */
  .pspn9{display:flex;align-items:center;gap:9px;margin:0 0 8px;padding:7px 11px;border-radius:10px;overflow:hidden;
    position:sticky;top:0;z-index:6;
    border:1px solid color-mix(in srgb,var(--now) 45%,transparent);
    background:linear-gradient(90deg,color-mix(in srgb,var(--now) 16%,transparent),color-mix(in srgb,var(--now) 6%,transparent) 60%),var(--panel);
    box-shadow:0 0 16px -7px var(--now)}
  .pspn9::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.07) 3px 4px)}
  /* v9.93 — label dibuang, teks dinaikin di atas scanline (z-index), ellipsis
     diganti marquee kmarq (konten dobel geser -50%) — news ticker beneran */
  .pspn9 .win{flex:1;min-width:0;position:relative;z-index:1;cursor:pointer;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;color:var(--ink);
    overflow:hidden;white-space:nowrap;text-shadow:0 0 12px color-mix(in srgb,var(--now) 35%,transparent)}
  .pspn9 .win i.mq9{display:inline-block;font-style:normal;white-space:nowrap;animation:kmarq var(--kd,14s) linear infinite}
  .pspn9.anim .win{color:var(--now);text-shadow:.7px 0 0 rgba(255,60,120,.6),-.7px 0 0 rgba(64,220,255,.6)}
  .pspn9 .cd{flex:none;position:relative;z-index:1;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--amber);min-width:34px;text-align:right;
    text-shadow:0 0 9px color-mix(in srgb,var(--amber) 55%,transparent)}
  .pspn9 .go{flex:none;cursor:pointer;color:var(--dim);font-size:13px;transition:.13s;user-select:none;z-index:1}
  .pspn9 .go:hover{color:var(--now);transform:rotate(90deg)}
  /* ═══ ⛔ JANGAN PASANG `content-visibility` DI `.swBody` — UDAH DICOBA, GERAK MATI ═══
     Bon #60 masang `.swBody{content-visibility:auto;contain-intrinsic-size:auto 300px}`.
     Kecepetannya beneran (masuk #harian 1348 → 800 ms) dan tampilannya beneran nol
     berubah (36 potret) — TAPI dia MATIIN GERAK WIDGET, dan itu ketauan dari bang Sam,
     bukan dari suite. Dibalikin di bon #61.

     Mesinnya, `inti/032` baris ~114:
         if(body.scrollHeight <= body.clientHeight + 8) return;   // muat semua → diem aja
     `mvStart` ngukur tinggi isi SEKALI pas widget digambar, terus pulang SELAMANYA kalo
     keitung muat. `content-visibility:auto` ngasih size containment ke badan yang lagi
     nol keliatan → `scrollHeight` == `clientHeight` → semua widget yang pas digambar
     lagi di luar layar (di #harian hampir semuanya) mati permanen.
     Diukur: badan di luar layar yang keitung luber — aturan nyala 0, aturan mati 8.
     Satu badan isinya 54 anak dilaporin 239 = 239 (aslinya 2232 lawan 239).

     Mau nyoba lagi? Syaratnya SATU: `mvStart` mesti berhenti mutusin sekali seumur
     hidup — dia wajib nanya ulang pas widget balik keliatan (pengintipnya udah ada di
     `mvLihat`). Selama itu belom, aturan ini HARAM balik. Dijaga `probe_baris60` G8. */

  /* v9.96 — kotak sekarang anak cangkang .swg (sebelum .swBody), bukan isi body */
  .swg>.pspn9{margin:3px 9px 7px;flex:none}
  .wdates{display:flex;gap:4px;margin-bottom:8px}
  .wdates span.wknd{color:var(--pink)}
  .whonor{font-family:"Caveat",cursive;font-size:17px;color:var(--mid);text-align:right;margin-top:10px}
  .whonor.top{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:700;letter-spacing:.28em;color:var(--amber);text-align:center;margin:0 0 16px;opacity:.85;display:flex;align-items:center;justify-content:center;gap:10px}
  .whonor.top .whi{color:var(--yore);opacity:.7;font-size:8px}
  .wnegadd.pos{background:rgba(45,212,167,.12);border-color:rgba(45,212,167,.35);color:#5eead4}
  .wnegadd.pos:hover{background:rgba(45,212,167,.25)}
  .ngmcat.pos{border-left-color:var(--cc)}
  .ngmib.pos,.ngmnewcat.pos button{background:rgba(45,212,167,.12);border-color:rgba(45,212,167,.35);color:#5eead4}
  .ngmib.pos:hover,.ngmnewcat.pos button:hover{background:rgba(45,212,167,.22)}
  .ngmnewcat.pos input:focus{border-color:var(--now)}
  .strkw{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0 6px;padding:9px 16px;background:var(--panel);border:1px solid var(--line);border-radius:24px;cursor:pointer;transition:.15s;text-decoration:none}
  .strkw:hover{border-color:#ff8a3c;box-shadow:0 0 22px -8px #ff8a3c}
  .strkw .sflame{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:13px;color:#ffb15c;text-shadow:0 0 12px rgba(255,140,60,.6)}
  .strkw .sgen{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:var(--low);display:inline-flex;align-items:center;gap:4px;transition:.15s}
  .strkw .sgen.on{color:var(--gc);text-shadow:0 0 10px var(--gc)}
  .strkw .sdiv{width:1px;height:14px;background:var(--line-2)}

  /* ============ CALENDAR: LENSA WAKTU ============ */
  .calhead{position:sticky;top:64px;z-index:40;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin-bottom:10px;box-shadow:0 10px 30px -18px #000}
  .calhead .cnav{display:flex;gap:6px;align-items:center}
  .calhead .cnav button{cursor:pointer;background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);border-radius:8px;padding:6px 12px;font-size:14px;font-weight:700}
  .calhead .clabel{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:17px;letter-spacing:.05em;color:var(--ink);min-width:190px}
  .calhead .clabel small{display:block;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--low)}
  .cseg{margin-left:auto;display:flex;background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;overflow:hidden}
  .cseg button{cursor:pointer;border:none;background:transparent;color:var(--mid);font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.08em;padding:8px 15px;transition:.13s}
  .cseg button.on{background:var(--now);color:#04222f;box-shadow:0 0 18px -6px var(--now)}
  .calbars{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
  .calbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
  .calbar .lbl{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;color:var(--low)}
  .lay{cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;padding:5px 12px;border-radius:16px;background:var(--panel);border:1px solid var(--line-2);color:var(--low);transition:.13s;user-select:none}
  .lay.on{color:var(--lc);border-color:var(--lc);background:color-mix(in srgb,var(--lc) 9%,transparent);box-shadow:0 0 12px -5px var(--lc)}
  .calwrap{display:block}
  .caltray.band{position:static;max-height:none;padding:0;margin-bottom:12px;overflow:visible;background:none;border:none}
  .trayhd{display:flex;align-items:center;gap:10px;cursor:pointer;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.006)),color-mix(in srgb,var(--panel) 80%,transparent);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:9px 14px;transition:.14s}
  .trayhd:hover{border-color:color-mix(in srgb,var(--amber) 50%,transparent);box-shadow:0 0 16px -8px var(--amber)}
  .trayhd .bsk{font-size:16px;display:inline-block;animation:bskw 2.8s ease-in-out infinite;transform-origin:50% 88%;filter:drop-shadow(0 0 6px rgba(242,177,61,.5))}
  @keyframes bskw{0%,52%,100%{transform:rotate(0)}60%{transform:rotate(-15deg)}68%{transform:rotate(12deg)}76%{transform:rotate(-8deg)}84%{transform:rotate(5deg)}91%{transform:rotate(0)}}
  /* [reduced-motion → pretsia-motion.js] trayhd basket */
  .trayhd .tt2{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--amber)}
  .trayhd .tc2{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .trayhd .tr2{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--amber) 35%,transparent),transparent)}
  .trayhd .tv2{font-size:11px;color:var(--mid);transition:.2s}
  .caltray.open .trayhd .tv2{transform:rotate(180deg)}
  .traylane{display:none;margin-top:8px;padding:9px 10px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.005)),color-mix(in srgb,var(--panel) 78%,transparent);backdrop-filter:blur(9px);border:1px solid rgba(255,255,255,.055);border-radius:12px}
  .caltray.open .traylane{display:block;animation:nxin .22s both}
  .lanegrp{margin-top:9px}
  .lanegrp:first-child{margin-top:2px}
  .lgl{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;font-weight:700;color:var(--lc,var(--mid));margin-bottom:6px}
  .lgl::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--lc,var(--mid)) 35%,transparent),transparent)}
  .lanewrap{display:flex;flex-wrap:wrap;gap:7px}
  .lanewrap .tchip{flex:none;white-space:nowrap;max-width:240px}
  .laneadd{flex:none}
  .laneadd input{width:150px;background:var(--void);border:1px dashed color-mix(in srgb,var(--amber) 45%,transparent);border-radius:9px;color:var(--ink);font-size:11px;padding:7px 10px;outline:none}
  .laneadd input:focus{border-style:solid;border-color:var(--amber);box-shadow:0 0 12px -6px var(--amber)}
  .calmain{min-width:0}
  .caltray{position:sticky;top:150px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:13px;max-height:70vh;overflow-y:auto}
  .caltray .tsec{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--amber);margin:10px 0 7px}
  .tchip{display:flex;align-items:center;gap:7px;padding:7px 10px;margin-bottom:6px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--tc);border-radius:8px;font-size:12px;color:var(--ink);cursor:grab;user-select:none;touch-action:none}
  .tchip:hover{border-color:var(--tc);box-shadow:0 0 12px -6px var(--tc)}
  .tchip .te{flex:none}
  .tchip .tn{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* YEAR */
  .cyear{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
  .cym{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;cursor:pointer;transition:.15s;position:relative;overflow:hidden}
  .cym:hover{border-color:var(--now);transform:translateY(-2px);box-shadow:0 14px 34px -16px var(--now)}
  .cym.cur{border-color:var(--amber);box-shadow:0 0 0 1px rgba(242,177,61,.25),0 0 26px -10px var(--amber)}
  .cym .yn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;color:var(--ink)}
  .cym .ym{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin:3px 0 9px}
  .cym .heat{display:flex;gap:2px;align-items:flex-end;height:26px}
  .cym .heat i{flex:1;background:var(--line);border-radius:1.5px;min-height:3px}
  .cym .heat i.h1{background:color-mix(in srgb,var(--now) 45%,transparent)}
  .cym .heat i.h2{background:var(--now);box-shadow:0 0 6px -1px var(--now)}
  .cym .heat i.fk{background:#ff8a3c}
  /* MONTH */
  .cshelf{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
  .cwk{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
  .cwd{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;color:var(--low);text-align:center;padding:4px 0}
  .cwd.we{color:var(--pink)}
  .calcell{min-height:96px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:6px 7px;position:relative;transition:.12s;cursor:pointer}
  .calcell:hover{border-color:var(--line-2)}
  .calcell.out{opacity:.35}
  .calcell.tdy{border-color:var(--amber);box-shadow:0 0 0 1px rgba(242,177,61,.3),0 0 22px -8px var(--amber)}
  .calcell.hot{border-color:rgba(255,80,80,.5)}
  .calcell.drophl2{border-color:var(--soon);box-shadow:0 0 18px -6px var(--soon);transform:scale(1.02)}
  .calcell .cnum{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--mid)}
  .calcell .cics{position:absolute;top:5px;right:7px;font-size:10px;display:flex;gap:2px}
  /* ⚰ deklarasi .cchip yang lama DICABUT — dia ditimpa BULAT-BULAT sama versi
     redesign ~20 baris di bawah (display:block → display:flex). Kode mati yang
     keliatan idup itu bikin orang berikutnya ngedit yang salah. */
  .cchipMATI9{display:block;margin-top:4px;font-size:10.5px;font-weight:600;line-height:1.25;padding:2.5px 7px;border-radius:6px;background:color-mix(in srgb,var(--tc) 12%,transparent);border-left:2.5px solid var(--tc);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;user-select:none;touch-action:none}
  .cchip.dn{opacity:.4;text-decoration:line-through}
  .cchip.ms{border-left-color:var(--amber)}
  .cchip.tg{border-style:dashed;border-left-width:2px;opacity:.8;cursor:pointer}
  .cmoreMATI9{display:block;margin-top:4px;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);cursor:pointer}
  .cmore:hover{color:var(--now)}
  /* ═══ GLASS CALENDAR v8.34 ═══ */
  .cwk .cwd{font-size:8.5px;letter-spacing:.24em;color:var(--mid);padding-bottom:7px;position:relative}
  .cwk .cwd::after{content:"";position:absolute;left:16%;right:16%;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--now) 48%,transparent),transparent)}
  .cwk .cwd.we{color:#ff8b9d}
  .calcell{min-height:106px;border-radius:13px;padding:7px 8px;background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.006) 46%),color-mix(in srgb,var(--panel) 78%,transparent);backdrop-filter:blur(9px) saturate(1.25);-webkit-backdrop-filter:blur(9px) saturate(1.25);border:1px solid rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 22px -18px rgba(0,0,0,.95);overflow:hidden}
  .calcell::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(130% 70% at 50% -14%,rgba(125,211,252,.07),transparent 58%)}
  .calcell.we{background:linear-gradient(180deg,rgba(255,139,157,.04),rgba(255,255,255,.005) 46%),color-mix(in srgb,var(--panel) 78%,transparent)}
  .calcell:hover{transform:translateY(-2px) scale(1.012);border-color:color-mix(in srgb,var(--now) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--now) 30%,transparent),0 14px 30px -18px var(--now),inset 0 1px 0 rgba(255,255,255,.08);z-index:3}
  .calcell.tdy{border-color:color-mix(in srgb,var(--amber) 80%,transparent);box-shadow:0 0 0 1px rgba(242,177,61,.55),0 0 26px -8px var(--amber),inset 0 1px 0 rgba(255,255,255,.07)}
  .calcell.tdy::before{background:radial-gradient(130% 80% at 50% -10%,rgba(242,177,61,.12),transparent 60%)}
  .calcell.out{opacity:.3;filter:saturate(.35)}
  .calcell .cnum{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:700;color:var(--mid)}
  .calcell.tdy .cnum{color:#0c0e14;background:var(--amber);padding:1px 7px;border-radius:99px;box-shadow:0 0 12px -3px var(--amber)}
  .mdband{display:flex;flex-direction:column;gap:2px;margin:4px 0 3px}
  .mdb{height:6px;font-size:7px;line-height:6px;letter-spacing:.04em}
  .mdb.ghost{background:transparent!important;box-shadow:none!important}
  .mdovf{position:absolute;top:6px;right:7px;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:#7dd3fc;background:rgba(125,211,252,.12);border:1px solid rgba(125,211,252,.32);padding:0 5px;border-radius:99px}
  .cchip{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:10px;line-height:1.35;padding:2.5px 7px;border-radius:7px;background:color-mix(in srgb,var(--tc) 13%,transparent);border-left:2px solid var(--tc);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 14px -12px var(--tc);transition:.12s;cursor:pointer}
  .cchip:hover{background:color-mix(in srgb,var(--tc) 24%,transparent);box-shadow:inset 0 0 16px -10px var(--tc),0 0 10px -6px var(--tc)}
  .cchip b{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--tc)}
  .cchip.dn{opacity:.4;text-decoration:line-through}
  .cmore{margin-top:4px;font-size:8.5px;color:#7dd3fc;background:rgba(125,211,252,.09);border:1px dashed rgba(125,211,252,.4);padding:2px 8px;border-radius:99px;display:inline-block;transition:.12s;font-family:"JetBrains Mono",monospace}
  .cmore:hover{color:#04121c;background:#7dd3fc;border-style:solid}
  .wk2{position:relative}
  .wk2 .calcell{padding-top:calc(30px + var(--lanes,0)*var(--lh,12px))}
  .calcell .cnum{position:absolute;top:7px;left:9px;z-index:4}
  .mdrib{position:absolute;top:calc(28px + var(--l)*var(--lh,12px));left:calc(var(--cs)*100%/7 + 4px);width:calc((var(--ce) - var(--cs))*100%/7 - 8px);height:calc(var(--cfs,11.5px) + 5px);z-index:2;display:flex;align-items:center;padding:0 8px;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:calc(var(--cfs,11.5px)*.74);letter-spacing:.03em;color:#eefaff;background:linear-gradient(90deg,color-mix(in srgb,var(--mc) 40%,transparent),color-mix(in srgb,var(--mc) 28%,transparent));border:1px solid color-mix(in srgb,var(--mc) 62%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:0 0 12px -5px var(--mc),inset 0 0 12px -8px var(--mc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:.13s}
  .mdrib:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--mc) 58%,transparent),color-mix(in srgb,var(--mc) 44%,transparent));box-shadow:0 0 18px -4px var(--mc);z-index:5}
  .mdrib.s{border-radius:99px 0 0 99px}
  .mdrib.e{border-radius:0 99px 99px 0}
  .mdrib.s.e{border-radius:99px}
  .mdrib.pz{opacity:.35;filter:grayscale(.65)}
  #calmain{--cfs:11.5px}
  .cchip{font-size:var(--cfs,11.5px);padding:3px 8px}
  .cchip b{font-size:calc(var(--cfs,11.5px)*.8)}
  .cmore{font-size:calc(var(--cfs,11.5px)*.8)}
  /* ═══ UNIFORM 4-VIEW v8.37 ═══ */
  #calmain,#calmain .cnum,.cchip,.cmore,.mdrib,.cwhead .cwh,.cwrow .chh,.cyear{font-family:"JetBrains Mono",monospace}
  .cchip{font-weight:700;letter-spacing:.015em}
  .cwhead .cwh{font-size:calc(var(--cfs,11.5px)*.85);letter-spacing:.12em;background:linear-gradient(180deg,rgba(255,255,255,.032),transparent);border-left:1px solid rgba(255,255,255,.05)}
  .cwrow .chh{font-size:calc(var(--cfs,11.5px)*.7)}
  .wkcell{border-left:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,rgba(255,255,255,.016),rgba(255,255,255,.004));backdrop-filter:blur(6px) saturate(1.15);-webkit-backdrop-filter:blur(6px) saturate(1.15);transition:.13s}
  .wkcell:hover{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.014));box-shadow:inset 0 0 26px -16px var(--now)}
  .wkcell.nowcell{box-shadow:inset 0 0 0 1px rgba(242,177,61,.55),inset 0 0 28px -14px var(--amber)}
  .cyear *{font-family:inherit}
  .cseg #calCog{color:var(--mid)}
  .cseg #calCog:hover{color:#7dd3fc}
  .calpage #calhead,.calpage #calbars,.calpage #calmain,.calpage #caltray{font-family:var(--cff,"JetBrains Mono",monospace)}
  .calpage #calmain *,.calpage #caltray *,.calpage #calbars *{font-family:inherit!important;font-weight:500!important;font-style:normal!important}
  .calpage{--lh:calc(var(--cfs,11.5px) + 9px)}
  .calpage #calmain *,.calpage #caltray *{font-size:var(--cfs,11.5px)!important;line-height:1.45!important}
  .calpage[data-fit="all"] .calcell{height:auto;overflow:hidden}
  .calcell,.cchip,.cwk>*{min-width:0;max-width:100%}
  .cchip .ct{flex:1;min-width:0;display:block;overflow:hidden;white-space:nowrap}
  .tchip .tn{min-width:0;display:block;overflow:hidden;white-space:nowrap}
  .ct.mq,.tn.mq{text-overflow:clip;animation:mqx var(--mqd,6s) linear 1.4s infinite alternate}
  @keyframes mqx{0%,10%{transform:translateX(0)}90%,100%{transform:translateX(var(--mqx,-40px))}}
  /* [reduced-motion → pretsia-motion.js] running text ct/tn mq */
  .calpage #calmain{font-size:var(--cfs,11.5px)}
  /* WEEK / DAY */
  .cwgrid{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
  .cwhead{display:grid;grid-template-columns:52px repeat(var(--cols,7),1fr);border-bottom:1px solid var(--line)}
  .cwhead .cwh{padding:8px 6px;text-align:center;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;color:var(--mid);border-left:1px solid var(--line)}
  .cwhead .cwh.tdy{color:var(--amber);text-shadow:0 0 10px rgba(242,177,61,.5)}
  .cwrow{display:grid;grid-template-columns:52px repeat(var(--cols,7),1fr);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
  .cwrow .chh{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);padding:4px 6px;border-right:1px solid var(--line)}
  .wkcell{min-height:34px;border-left:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding:2px 4px;transition:.1s}
  .wkcell.nowcell{background:color-mix(in srgb,var(--now) 7%,transparent);box-shadow:inset 3px 0 0 var(--now)}
  .wkcell.drophl2{background:color-mix(in srgb,var(--soon) 10%,transparent);box-shadow:inset 0 0 0 1.5px var(--soon)}
  .allday .wkcell{min-height:40px}
  .cghost{position:fixed;z-index:700;pointer-events:none;background:var(--panel-2);border:1px solid var(--now);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink);box-shadow:0 14px 34px -10px #000,0 0 22px -8px var(--now);max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%,-130%)}

  /* ============ DRAG & DROP PAPAN ============ */
  .dragh{flex:none;cursor:grab;color:var(--low);font-size:13px;padding:2px 4px;border-radius:5px;user-select:none;touch-action:none;line-height:1}
  .dragh:hover{color:var(--ink);background:var(--line)}
  body.kdrag,body.kdrag *{cursor:grabbing!important;user-select:none!important}
  .dragghost{position:fixed;z-index:700;pointer-events:none;background:var(--panel-2);border:1px solid var(--now);border-radius:8px;padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--ink);box-shadow:0 14px 34px -10px #000,0 0 22px -8px var(--now);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%,-120%)}
  .dropline{position:fixed;z-index:690;height:2.5px;background:var(--now);box-shadow:0 0 12px var(--now);border-radius:2px;pointer-events:none}
  .noderow.drophl{outline:2px solid var(--soon);outline-offset:-2px;box-shadow:0 0 20px -8px var(--soon)}
  .catdock{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:695;display:flex;flex-direction:column;gap:6px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:14px;padding:8px;box-shadow:0 20px 50px -16px #000;max-height:80vh;overflow:auto}
  .catdock .cd-it{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:var(--panel);border:1px solid var(--line);transition:.1s}
  .catdock .cd-it.hl{border-color:var(--ck);box-shadow:0 0 16px -4px var(--ck);transform:scale(1.12)}

  /* ============ LOG PAGES ============ */
  .daycard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:15px;margin-bottom:12px}
  .daycard .dch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px;flex-wrap:wrap}
  .daycard .dcd{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px}
  .daycard .dcn{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);margin-left:8px}
  .daycard .dact{display:flex;gap:6px}

  .authwrap{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px;background:var(--void)}
  .authcard{width:100%;max-width:390px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 34px 80px -26px #000}
  .authcard .amark{display:flex;align-items:center;gap:10px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:21px;letter-spacing:.1em;margin-bottom:5px}
  .authcard .asub{color:var(--mid);font-size:13px;margin-bottom:20px}
  .authcard label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--low);margin:14px 0 6px;font-weight:600;font-family:"JetBrains Mono",monospace}
  .authcard input{width:100%;background:var(--void);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px;padding:11px 12px;outline:none;font-family:"Barlow",sans-serif}
  .authcard input:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,177,61,.1)}
  .abtn{width:100%;margin-top:20px;background:var(--amber);color:#241a06;border:none;border-radius:8px;padding:12px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 0 24px -6px var(--amber);transition:filter .15s}
  .abtn:hover{filter:brightness(1.07)} .abtn:disabled{opacity:.6;cursor:default;box-shadow:none}
  .aremember{display:flex;align-items:center;gap:8px;margin-top:15px;font-size:12px;color:var(--mid);cursor:pointer;user-select:none}
  .aremember input{width:15px;height:15px;accent-color:var(--amber);cursor:pointer;margin:0}
  .aremember span{line-height:1}
  .atoggle{margin-top:15px;text-align:center;font-size:12.5px;color:var(--mid)}
  .atoggle a{color:var(--amber);cursor:pointer;font-weight:600}
  .amsg{margin-top:12px;font-size:12.5px;min-height:17px;line-height:1.4}
  /* --- PIN pad + tile --- */
  .protile{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:4px;cursor:pointer;
    background:var(--panel-2);border:1px solid var(--line-2);border-radius:12px;transition:.14s;text-align:left}
  .protile:hover{border-color:var(--amber);box-shadow:0 0 18px -8px var(--amber)}
  .proav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
    background:linear-gradient(135deg,var(--amber),#c8891f);color:#241a06;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:18px}
  .proname{flex:1;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;color:var(--ink);display:flex;flex-direction:column;line-height:1.35}
  .proname small{font-family:"JetBrains Mono",monospace;font-weight:400;font-size:10px;color:var(--low);letter-spacing:0}
  .prochev{color:var(--low);font-size:20px}
  .pindots{display:flex;justify-content:center;gap:11px;margin:18px 0 16px}
  .pindots i{width:11px;height:11px;border-radius:50%;background:var(--void);border:1.5px solid var(--line-2);transition:.14s}
  .pindots i.on{background:var(--amber);border-color:var(--amber);box-shadow:0 0 10px -2px var(--amber)}
  .pindots.err i{border-color:var(--yore);animation:pinshake .4s}
  @keyframes pinshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
  .pinpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
  .pinpad button{aspect-ratio:1;border-radius:12px;cursor:pointer;font-family:"JetBrains Mono",monospace;font-weight:700;font-size:20px;
    background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);transition:.1s;display:grid;place-items:center}
  .pinpad button:hover{border-color:var(--amber);color:var(--amber)}
  .pinpad button:active{background:var(--amber);color:#241a06;transform:scale(.95)}
  .pinpad button.pinghost{background:transparent;border-color:transparent;color:var(--low);font-size:17px}
  .pinpad button.pinghost:hover{color:var(--ink);background:var(--panel-2)}
  .amsg.err{color:var(--yore)} .amsg.ok{color:var(--soon)}

  .nores{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--low);border:1px dashed var(--line-2);border-radius:var(--r);padding:22px;text-align:center;margin-bottom:32px}
  /* v9.06 — stream ⟷ journal: chip pasangan, gambar, entri titipan folder */
  /* v9.07 — dua pill "naikin" di header dialog */
  .tdpost{display:inline-flex;gap:5px;margin-left:8px;align-items:center}
  .tdpb{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.06em;font-weight:700;color:var(--low);
        border:1px dashed var(--line-2);border-radius:7px;padding:3px 7px;cursor:pointer;user-select:none;white-space:nowrap;transition:all .16s}
  .tdpb:hover{color:var(--now);border-color:var(--now)}
  .tdpb.on{color:var(--now);border-style:solid;border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.09)}
  .tdpb.hr.on{color:#f2b13d;border-color:rgba(242,177,61,.5);background:rgba(242,177,61,.09)}
  .tdpb.hr.cm{color:var(--soon);border-style:solid;border-color:rgba(45,212,167,.4)}
  .tdpb.gd.on{color:#f2d24a;border-style:solid;border-color:rgba(242,210,74,.6);background:rgba(242,210,74,.09);box-shadow:0 0 10px rgba(242,210,74,.15)}   /* bon #45 🥇 */
  .trtag2.jf{cursor:pointer;border-style:solid}
  .trtag2.jf.off{border-style:dashed;color:var(--low)}
  .trtag2.jf.ro{opacity:.75}
  .trtag2.im{cursor:pointer}
  .trtag2.hint{opacity:.45;cursor:help}
  .trimgs{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0}
  .trimgc{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;border:1px solid var(--line-2);flex:none}
  .trimgc img{width:100%;height:100%;object-fit:cover;display:block}
  .trimgc i{position:absolute;top:1px;right:1px;background:rgba(0,0,0,.7);color:#fff;font-style:normal;font-size:9px;width:14px;height:14px;line-height:14px;text-align:center;border-radius:4px;cursor:pointer}
  .trimgs.ro .trimgc{width:44px;height:44px}
  .trimgs.ro b{align-self:center;font-size:10px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .trentry.j{cursor:pointer}
  .trentry.j:hover{background:var(--panel)}
  .zone.z-lease .zonehd .zl{color:#f2b13d}
  .zone.z-lease{border-left:2px solid rgba(242,177,61,.35)}
  .verline{margin-top:38px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);letter-spacing:.08em;user-select:all}
  /* v9.04 — baris versi jadi PINTU, bukan jembrengan teks */
  .verlink{cursor:pointer;user-select:none;border-bottom:1px dashed var(--line-2);padding-bottom:3px;transition:color .18s}
  .verlink:hover{color:var(--now);border-bottom-color:var(--now)}
  /* v9.04 — jendela 📜 LOG VERSI */
  .pop.vlog{padding:4px 2px}
  .pop.vlog .vlog9catat{font:500 11px/1.4 "JetBrains Mono",monospace;color:var(--mid);padding:6px 8px;border-bottom:1px dashed var(--line-2);letter-spacing:.04em}
  .pop.vlog .vrow{border-bottom:1px solid var(--line)}
  .pop.vlog .vrow:last-child{border-bottom:none}
  .vhd{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;cursor:pointer;white-space:normal;transition:background .15s}
  .vhd:hover{background:var(--panel)}
  .vv{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--low);flex:none;min-width:50px;padding-top:1px}
  .vj{flex:1;font-size:12px;line-height:1.42;color:var(--mid)}
  .vk{flex:none;font-family:"JetBrains Mono",monospace;font-size:15px;color:var(--low);line-height:1}
  .vrow.on .vv{color:var(--violet)} .vrow.on .vj{color:var(--ink);font-weight:600} .vrow.on .vk{color:var(--violet)}
  .vbd{display:flex;flex-direction:column;gap:8px;padding:1px 15px 15px 15px}
  .vb{font-size:11.5px;line-height:1.6;color:var(--mid);padding-left:12px;position:relative;white-space:normal}
  .vb:before{content:"·";position:absolute;left:1px;color:var(--low);font-weight:700}
  .vt{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);letter-spacing:.1em;margin-top:5px;padding-left:12px}
  .hidden{display:none!important}

  @media(max-width:880px){.prime{grid-template-columns:1fr}.padgrid{grid-template-columns:1fr}.art{width:54px;height:54px}}
  @media(max-width:620px){
    .shell{padding:0 16px 70px}
    .logs{grid-template-columns:1fr}
    .cats{grid-template-columns:1fr}
    .rail{height:42px}
  }
  /* ===== HARIAN drag nested ===== */
  .fchip.hatur{background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);font-family:"JetBrains Mono";font-size:11px;font-weight:700;letter-spacing:.04em;padding:7px 13px}
  .fchip.hatur.active{background:var(--now);color:var(--void);border-color:var(--now);box-shadow:0 0 0 2px color-mix(in srgb,var(--now) 25%,transparent)}
  .fchip.hatur-top{align-self:center}
  /* ============ v9.57 — 🎧 AUDIO PLAYER ============ */
  .pauw{display:flex;flex-direction:column;gap:7px;height:100%;min-height:0;padding:2px}
  .pahd{display:flex;align-items:baseline;gap:8px;min-width:0}
  .panm{font-family:"Chakra Petch",sans-serif;font-weight:600;font-size:13px;color:var(--ink);
        white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
  .paix{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;color:var(--low,#525a6d);flex:none}
  .paerr{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:#ff5d5d}
  .pabar{position:relative;height:6px;border-radius:5px;background:color-mix(in srgb,var(--void,#06070b) 62%,transparent);
         border:1px solid var(--line,#1b1f2b);overflow:hidden;cursor:pointer;flex:none}
  /* u = yang udah kecicil browser, i = posisi main. Dua lapis, biar kelihatan bedanya
     antara "udah siap sampe sini" sama "lagi di sini" — persis pemutar mana pun. */
  .pabar u{position:absolute;inset:0;display:block;height:100%;width:0;background:color-mix(in srgb,var(--sacc,#f2b13d) 24%,transparent);transition:width .4s linear}
  .pabar i{position:relative;display:block;height:100%;width:0;background:var(--sacc,#f2b13d);transition:width .25s linear}
  .pastat{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.1em;color:var(--sacc,#f2b13d);opacity:.9}
  /* ===== v9.59 — jendela daftar lagu ===== */
  .palw9{padding:2px}
  .palcari{display:flex;align-items:center;gap:9px;margin-bottom:9px}
  .palcari input{flex:1;min-width:0;background:color-mix(in srgb,var(--void,#06070b) 55%,transparent);
                 border:1px solid var(--line-2,#2a3042);border-radius:9px;padding:9px 12px;color:var(--ink);
                 font-family:"JetBrains Mono",monospace;font-size:11px;outline:none}
  .palcari input:focus{border-color:var(--shc,#f2b13d);box-shadow:0 0 0 2px color-mix(in srgb,var(--shc,#f2b13d) 18%,transparent)}
  .palnn{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.12em;color:var(--low,#525a6d);flex:none}
  .pallist{max-height:56vh;overflow:auto;display:flex;flex-direction:column;gap:2px}
  .palrow{display:flex;gap:10px;align-items:center;padding:8px 11px;border-radius:9px;cursor:pointer;
          border:1px solid transparent;color:var(--mid,#8890a3);font-size:12px;transition:.12s}
  .palrow:hover{background:color-mix(in srgb,var(--shc,#f2b13d) 10%,transparent);color:var(--ink);border-color:color-mix(in srgb,var(--shc,#f2b13d) 30%,transparent)}
  .palrow.on{color:var(--shc,#f2b13d);background:color-mix(in srgb,var(--shc,#f2b13d) 15%,transparent);
             border-color:color-mix(in srgb,var(--shc,#f2b13d) 55%,transparent);
             box-shadow:inset 3px 0 0 0 var(--shc,#f2b13d),0 0 22px -12px var(--shc,#f2b13d)}
  .palrow .pali{font-family:"JetBrains Mono",monospace;font-size:8.5px;width:22px;flex:none;text-align:right;opacity:.72}
  .palrow .palt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
  /* v9.64 — tata daftar lagu: toggle + kelompok folder (nested lewat jorokan) */
  .paltata{display:flex;gap:4px;flex:none}
  .ptt{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.08em;
       padding:6px 9px;border-radius:8px;border:1px solid var(--line-2,#2a3042);color:var(--low,#525a6d);cursor:pointer;transition:.13s}
  .ptt:hover{color:var(--ink)}
  .ptt.on{color:var(--shc,#f2b13d);border-color:color-mix(in srgb,var(--shc,#f2b13d) 55%,transparent);
          background:color-mix(in srgb,var(--shc,#f2b13d) 12%,transparent)}
  .palgrp{display:flex;align-items:center;gap:6px;padding:7px 11px;margin-top:4px;cursor:pointer;
          font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.1em;
          color:var(--shc,#f2b13d);border-radius:8px;padding-left:calc(11px + var(--ind,0)*16px);
          border:1px dashed color-mix(in srgb,var(--shc,#f2b13d) 30%,transparent)}
  .palgrp:hover{background:color-mix(in srgb,var(--shc,#f2b13d) 8%,transparent)}
  .palgrp .car{flex:none;opacity:.8}
  .palgrp .n{color:var(--low,#525a6d);letter-spacing:0;margin-left:auto}
  .palrow[style*="--ind"]{padding-left:calc(11px + var(--ind,0)*16px)}
  .pameta{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--mid,#8890a3)}
  .panarik{color:var(--sacc,#f2b13d)}
  .pactl{display:flex;align-items:center;gap:8px;flex:none}
  .pab{cursor:pointer;font-size:14px;line-height:1;color:var(--mid,#8890a3);transition:.14s;user-select:none;padding:2px 4px;border-radius:6px}
  .pab:hover{color:var(--ink);background:color-mix(in srgb,var(--sacc,#f2b13d) 12%,transparent)}
  .pab.main{font-size:20px;color:var(--sacc,#f2b13d)}
  .pab.kecil{font-size:11px;margin-left:auto}
  .pab.kecil.on{color:var(--sacc,#f2b13d)}
  .pavol{display:flex;align-items:center;gap:5px;flex:1;min-width:0;max-width:130px}
  .pavol i{font-style:normal;font-size:10px;opacity:.7}
  .pavol input{flex:1;min-width:0;accent-color:var(--sacc,#f2b13d);height:3px;cursor:pointer}
  .palist{flex:1;min-height:0;overflow:auto;border-top:1px solid var(--line,#1b1f2b);padding-top:5px}
  .parow{display:flex;gap:8px;align-items:center;padding:4px 6px;border-radius:7px;font-size:11px;cursor:pointer;color:var(--mid,#8890a3)}
  .parow:hover{background:color-mix(in srgb,var(--sacc,#f2b13d) 9%,transparent);color:var(--ink)}
  .parow.on{color:var(--sacc,#f2b13d);background:color-mix(in srgb,var(--sacc,#f2b13d) 13%,transparent)}
  .parow .pai{font-family:"JetBrains Mono",monospace;font-size:8px;width:16px;flex:none;text-align:right;opacity:.75}
  .parow .pat{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .pab.kecil[data-pashuf]{margin-left:0}
  .pab.kecil.on{color:var(--sacc,#f2b13d);text-shadow:0 0 10px color-mix(in srgb,var(--sacc,#f2b13d) 70%,transparent)}
  .palsiap{flex:none;font-size:9px;opacity:.8}
  .palrow.siap .palt{color:color-mix(in srgb,var(--ink) 88%,var(--shc,#f2b13d))}
  /* ===== v9.63 — jendela pilih folder Drive / playlist ===== */
  .drvw9{padding:2px}
  .drvsep{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:9px;
          letter-spacing:.2em;font-weight:800;color:var(--shc,#f2b13d);margin:11px 2px 7px}
  .drvsep .n{color:var(--low,#525a6d);letter-spacing:0}
  .drvsep::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--shc,#f2b13d) 28%,transparent)}
  .drvpls,.drvlist{display:flex;flex-direction:column;gap:2px;max-height:24vh;overflow:auto}
  .drvrow{display:flex;gap:10px;align-items:center;padding:8px 11px;border-radius:9px;cursor:pointer;
          border:1px solid transparent;color:var(--mid,#8890a3);font-size:12px;transition:.12s}
  .drvrow:hover{background:color-mix(in srgb,var(--shc,#f2b13d) 10%,transparent);color:var(--ink);
                border-color:color-mix(in srgb,var(--shc,#f2b13d) 30%,transparent)}
  .drvrow.on{color:var(--shc,#f2b13d);background:color-mix(in srgb,var(--shc,#f2b13d) 14%,transparent);
             border-color:color-mix(in srgb,var(--shc,#f2b13d) 55%,transparent);
             box-shadow:inset 3px 0 0 0 var(--shc,#f2b13d),0 0 22px -12px var(--shc,#f2b13d)}
  .drvrow .di{flex:none;font-size:12px}
  .drvrow .dt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .drvrow .dp{flex:none;color:var(--low,#525a6d)}
  .drvrow .dx{flex:none;font-size:10px;color:var(--low,#525a6d);padding:2px 5px;border-radius:6px;opacity:.55}
  .drvrow .dx:hover{color:#ff5d5d;opacity:1;background:color-mix(in srgb,#ff5d5d 14%,transparent)}
  .drvcrumb{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:2px 2px 7px;
            font-family:"JetBrains Mono",monospace;font-size:9.5px}
  .drvcrumb .dc{color:var(--mid,#8890a3);cursor:pointer;padding:3px 7px;border-radius:6px;border:1px solid transparent}
  .drvcrumb .dc:hover{color:var(--ink);border-color:var(--line-2,#2a3042)}
  .drvcrumb .dc.on{color:var(--shc,#f2b13d);border-color:color-mix(in srgb,var(--shc,#f2b13d) 45%,transparent)}
  .drvcrumb i{color:var(--low,#525a6d);font-style:normal}
  .drvinfo{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid,#8890a3);margin:0 2px 7px}
  .drvinfo b{color:var(--shc,#f2b13d)}
  .drvkosong{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low,#525a6d);padding:9px 4px}
  .drvact{display:flex;gap:9px;margin-top:10px;flex-wrap:wrap}
  .drvbtn{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.1em;
          padding:9px 15px;border-radius:9px;border:1px solid var(--line-2,#2a3042);color:var(--mid,#8890a3);cursor:pointer;transition:.14s}
  .drvbtn:hover{color:var(--ink);border-color:var(--shc,#f2b13d)}
  .drvbtn.go{color:var(--shc,#f2b13d);border-color:color-mix(in srgb,var(--shc,#f2b13d) 55%,transparent)}
  .drvbtn.go:hover{background:color-mix(in srgb,var(--shc,#f2b13d) 14%,transparent);box-shadow:0 0 18px -8px var(--shc,#f2b13d)}
  .drvsim{display:flex;gap:8px;margin-top:9px;align-items:center}
  .drvsim input{flex:1;min-width:0;background:color-mix(in srgb,var(--void,#06070b) 55%,transparent);
                border:1px solid var(--line-2,#2a3042);border-radius:9px;padding:8px 11px;color:var(--ink);
                font-family:"JetBrains Mono",monospace;font-size:11px;outline:none}
  .drvsim input:focus{border-color:var(--shc,#f2b13d)}
  /* v9.56 — ⟲ RESET di baris hitungan widget HOURLY */
  .pscsep.hsrs9{display:flex;align-items:center;gap:8px}
  .pscsep.hsrs9 .rs9{margin-left:auto;font-size:8px;letter-spacing:.12em;padding:2px 7px;border-radius:6px;
                     border:1px solid color-mix(in srgb,#ff5d5d 42%,transparent);color:#ff5d5d;cursor:pointer;opacity:.72;transition:.14s}
  .pscsep.hsrs9 .rs9:hover{opacity:1;background:color-mix(in srgb,#ff5d5d 14%,transparent)}
  /* ============ v9.55 — 🎲 JENDELA DADU + DUA GERBANGNYA ============ */
  /* v10.53 — 🎲 di rel blok Harian. Nempel di rel yang sama kaya gagang seret,
     PERSIS DI BAWAHNYA: dua-duanya perkakas blok, jadi mereka kumpul di satu
     kolom tipis, bukan nyempil di kepala blok yang isinya udah penuh. */
  /* v10.54 — 🎲 di kepala panel PIP. Nebeng kelas .hschip biar bentuk, jarak,
     sama tinggi barisnya OTOMATIS sama kaya ⎔ / ▤n / ⚙ di sebelahnya — nol
     ukuran kedua yang bisa meleset pas kepala panelnya dioprek nanti. */
  .hschip.pipd9{cursor:pointer;opacity:.55;transition:.14s}
  .hschip.pipd9:hover{opacity:1;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--now,#f2b13d) 70%,transparent));transform:scale(1.1)}
  .hschip.pipd9:active{transform:scale(.92)}
  .hbdadu{position:absolute;left:-1px;top:34px;width:16px;height:22px;display:flex;align-items:center;justify-content:center;
    font-size:11px;cursor:pointer;opacity:.26;transition:.15s;z-index:3;user-select:none;
    border-radius:0 5px 5px 0;background:transparent}
  .hbdadu:hover{opacity:1;background:color-mix(in srgb,var(--now,#f2b13d) 16%,transparent);
    filter:drop-shadow(0 0 7px color-mix(in srgb,var(--now,#f2b13d) 70%,transparent));transform:scale(1.12)}
  .hbdadu:active{transform:scale(.9)}
  .hblk:hover .hbdadu{opacity:.62}
  .dadu9{padding:4px 2px 2px}
  .dd9box{display:flex;flex-direction:column;align-items:center;gap:9px;padding:22px 16px 18px;text-align:center;
          border:1px solid var(--line,#1b1f2b);border-radius:14px;
          background:radial-gradient(220px circle at 50% 0%,color-mix(in srgb,var(--shc,#f2b13d) 11%,transparent),transparent 72%)}
  .dd9cube{font-size:34px;line-height:1;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--shc,#f2b13d) 55%,transparent))}
  .dd9cube.muter{animation:dd9spin .5s linear infinite}
  @keyframes dd9spin{from{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.14)}to{transform:rotate(360deg) scale(1)}}
  .dd9big{font-family:"Chakra Petch",sans-serif;font-weight:600;font-size:16px;line-height:1.32;color:var(--ink);
          min-height:42px;display:flex;align-items:center;justify-content:center;word-break:break-word}
  .dd9big.menang{color:var(--shc,#f2b13d);text-shadow:0 0 18px color-mix(in srgb,var(--shc,#f2b13d) 45%,transparent)}
  .dd9big.kering{font-size:12.5px;color:var(--mid,#8890a3);font-weight:400}
  .dd9sub{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;color:var(--mid,#8890a3)}
  .dd9sub.kecil{font-size:8px;color:var(--low,#525a6d)}
  .dd9act{display:flex;gap:9px;justify-content:center;margin-top:12px;flex-wrap:wrap}
  .dd9btn{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.1em;
          padding:9px 16px;border-radius:9px;border:1px solid var(--line-2,#2a3042);color:var(--mid,#8890a3);cursor:pointer;transition:.14s}
  .dd9btn:hover{color:var(--ink);border-color:var(--shc,#f2b13d)}
  .dd9btn.go{color:var(--shc,#f2b13d);border-color:color-mix(in srgb,var(--shc,#f2b13d) 55%,transparent)}
  .dd9btn.go:hover{background:color-mix(in srgb,var(--shc,#f2b13d) 14%,transparent)}
  .dd9btn.mati{opacity:.32;pointer-events:none}
  /* gerbang 1 — logo dadu di kepala widget */
  .swBtn.dadu9b{font-size:11px}
  .swBtn.dadu9b:hover{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--sacc,#f2b13d) 75%,transparent))}
  /* gerbang 2 — emoji kartu papan. "pas ditekan malah terang": ditekan = nyala,
     bukan cuma berubah kursor. Tanpa umpan balik itu, orang ga tau emojinya bisa
     dipencet sama sekali — dia keliatan persis kaya hiasan. */
  .cat .em.dadu9e{cursor:pointer;transition:.14s}
  .cat .em.dadu9e:hover{border-color:var(--c);box-shadow:0 0 16px -4px var(--c);transform:scale(1.09)}
  .cat .em.dadu9e:active{transform:scale(.94);box-shadow:0 0 26px -2px var(--c),inset 0 0 20px -6px var(--c);
                         background:color-mix(in srgb,var(--c) 26%,transparent)}
  /* bon #44 — KILAU: kotak emoji yang jadi gerbang dadu nyapu kilau tipis tiap ±4 detik +
     napas glow di dalem, delay ikut --fd biar ga serempak. Ketokan bang Sam: "kotaknya dikasi
     animasi shemering biar oh apa nih pengen diteken". Hiasan yang ga bisa dipencet (emoji
     kartu LAINNYA, kepala seksi) GA dapet — kilau = janji bisa dikocok. */
  .dadu9e{position:relative}
  .dadu9e::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,var(--c,#f2b13d) 55%,#fff) 50%,transparent 62%);
    background-size:260% 100%;background-position:180% 0;
    animation:dadu9kilau 4.4s ease-in-out infinite;animation-delay:calc(var(--fd,0ms) + 600ms)}
  @keyframes dadu9kilau{
    0%{background-position:180% 0;opacity:0;box-shadow:inset 0 0 0 0 transparent}
    8%{opacity:.75}
    22%{box-shadow:inset 0 0 12px -3px color-mix(in srgb,var(--c,#f2b13d) 80%,transparent)}
    36%{background-position:-80% 0;opacity:0}
    52%{box-shadow:inset 0 0 0 0 transparent}
    100%{background-position:-80% 0;opacity:0;box-shadow:inset 0 0 0 0 transparent}}
  .dadu9e:hover::after,.dadu9e:active::after{animation-play-state:paused;opacity:0}
  @media(prefers-reduced-motion:reduce){.dadu9e::after{animation:none;opacity:0}}
  /* v9.52 — chip HANTU: ada tapi ga ikut rame. Dipake ＋ WIDGET di header Harian. */
  .fchip.hatur.hatur-hantu{background:transparent;border-color:color-mix(in srgb,var(--line-2) 65%,transparent);color:var(--low);opacity:.55;transition:.16s}
  .fchip.hatur.hatur-hantu:hover{opacity:1;color:var(--amber);border-color:color-mix(in srgb,var(--amber) 48%,transparent);background:color-mix(in srgb,var(--amber) 8%,transparent)}
  @media(hover:none){ .fchip.hatur.hatur-hantu{opacity:.8} }
  .task .thandle{cursor:grab;color:var(--low);font-size:13px;flex:none;touch-action:none;opacity:.28;align-self:center;margin-right:-3px;transition:opacity .12s}
  .task:hover .thandle{opacity:.9}
  .task .thandle:active{cursor:grabbing}
  .task .tpromote{color:var(--pink);font-size:13px;flex:none;cursor:pointer;opacity:.7;padding:0 4px;touch-action:none}
  .task .tpromote:hover{opacity:1}
  .task.selh{cursor:pointer}
  .task.selhsel{background:color-mix(in srgb,var(--now) 12%,transparent);border-color:color-mix(in srgb,var(--now) 45%,transparent)}
  .task.hpicked{opacity:.4}
  .task.hdrop-child{background:color-mix(in srgb,var(--soon) 15%,transparent);border-color:var(--soon);box-shadow:inset 0 0 0 1px var(--soon)}
  body.hdrag{cursor:grabbing}
  body.hdrag .task{transition:none}
  .hdragghost{position:fixed;top:0;left:0;pointer-events:none;z-index:2000;transform:translate(-50%,-130%);background:var(--panel);border:1px solid var(--now);border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;color:var(--ink);box-shadow:0 14px 34px -8px rgba(0,0,0,.7);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hdragghost .hgb{position:absolute;top:-8px;right:-8px;background:var(--now);color:var(--void);font-family:"JetBrains Mono";font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;padding:0 5px}
  .harianbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(30px);background:var(--panel);border:1px solid var(--now);border-radius:14px;padding:11px 16px;display:flex;align-items:center;gap:12px;opacity:0;pointer-events:none;transition:.24s;z-index:120;box-shadow:0 12px 34px -10px rgba(0,0,0,.7)}
  .harianbar.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
  .harianbar .hb-n{font-family:"Chakra Petch";font-weight:700;font-size:14px;color:var(--now)}
  .harianbar .hb-hint{font-family:"JetBrains Mono";font-size:9.5px;color:var(--low);max-width:220px;line-height:1.3}
  .harianbar .hb-all,.harianbar .hb-x{background:var(--panel-2);border:1px solid var(--line-2);color:var(--mid);border-radius:8px;padding:7px 12px;font-family:"JetBrains Mono";font-size:11px;font-weight:700;cursor:pointer}
  .harianbar .hb-all:hover,.harianbar .hb-x:hover{color:var(--ink);border-color:var(--now)}
  .htoast{position:fixed;left:50%;bottom:78px;transform:translateX(-50%) translateY(16px);background:var(--panel);border:1px solid var(--soon);color:var(--soon);font-family:"JetBrains Mono";font-size:12px;font-weight:700;padding:9px 16px;border-radius:20px;opacity:0;transition:.22s;pointer-events:none;z-index:130}
  .htoast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  @media(max-width:640px){ .harianbar .hb-hint{display:none} }
  /* [reduced-motion → pretsia-motion.js] GLOBAL * killer (nuklir 405-char) */

  /* ===== v8.74 — GELOMBANG 1 ===== */
  /* #2 — kotak besar THE SCREEN di Papan Komando (span dua kolom .prime) */
  .card.wide{grid-column:1/-1}
  .card.wide .cd{max-width:58ch}
  .card.wide .art{right:24px;top:16px;width:74px;height:74px}
  /* #6 — trails unlimited pake scroll: feed dibatesin tinggi, sisanya ngegulung */
  .trfeed,.trscroll{max-height:min(560px,62vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:3px}

  /* ===== v8.80 — 📓 THE JOURNAL (#3) ===== */
  .jtool{display:flex;gap:10px;align-items:center;margin-bottom:12px}
  .jsearch{flex:1;display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line-2);border-radius:12px;padding:9px 14px}
  .jsearch input{flex:1;background:none;border:none;outline:none;color:var(--ink);font-family:Barlow,sans-serif;font-size:13.5px;min-width:0}
  .jsearch:focus-within{border-color:rgba(192,132,252,.5);box-shadow:0 0 16px -8px #c084fc}
  .jbtn2{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.08em;color:var(--mid);border:1px solid var(--line-2);border-radius:10px;padding:9px 13px;cursor:pointer;background:var(--panel);white-space:nowrap}
  .jbtn2:hover{color:var(--ink);border-color:#c084fc}
  .jkth{flex:none;width:92px;height:58px;border-radius:9px;border:1px solid var(--line-2);background:#0a0c13;display:grid;place-items:center;overflow:hidden;cursor:pointer}
  .jkth img{width:100%;height:100%;object-fit:cover;display:block}
  .jkth:hover{border-color:var(--violet)}
  #jcompw .dcomp{margin-top:16px;position:relative}
  /* ===== v8.82 — GELOMBANG 5 ===== */
  /* rail folder digedein — biar sekali lirik jelas mana rumah, mana saringan */
  #jrail .fchip{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.05em;padding:10px 17px;border-radius:12px}
  #jrail .fchip span{font-family:"JetBrains Mono",monospace;font-weight:600}
  /* item-based: cogwheel special attributes + input progress */
  .jattr9{position:absolute;top:10px;right:12px;z-index:3;cursor:pointer;font-size:14px;opacity:.55;transition:.14s;padding:3px 5px}
  .jattr9:hover{opacity:1;text-shadow:0 0 10px var(--jr,#c084fc)}
  .japrog9{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:11px;padding:6px 10px;outline:none;width:170px}
  .japrog9:focus{border-color:rgba(125,211,252,.5)}
  /* mitigasi "offside": phead & konten journal jangan pernah kesedot ke balik top bar */
  #view .phead{scroll-margin-top:84px}
  /* ===== v8.84 — nudge "item tanpa target" di ALMANAC of <BUCKET>/ALL ===== */
  .almnudge{display:flex;align-items:center;gap:8px;margin:10px 0 6px;padding:10px 14px;border:1px dashed rgba(242,177,61,.55);border-radius:11px;background:rgba(242,177,61,.06);color:var(--amber);font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;cursor:pointer;user-select:none}
  .almnudge b{font-size:15px}
  .almnudge .anc{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid);letter-spacing:.1em}
  .almnudge:hover{box-shadow:0 0 16px -8px var(--amber)}
  .almnlist{margin:0 0 10px;border:1px solid var(--line);border-radius:11px;overflow:hidden;max-height:min(420px,50vh);overflow-y:auto;scrollbar-width:thin}
  .almnrow{display:flex;align-items:center;gap:9px;padding:8px 13px;border-bottom:1px solid var(--line);cursor:pointer;font-size:12.5px;transition:.12s}
  .almnrow:last-child{border-bottom:none}
  .almnrow:hover{background:rgba(242,177,61,.05)}
  .almnrow .tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .almnrow .nb9{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);border:1px solid var(--line);border-radius:6px;padding:2px 7px;flex:none}
  .almnrow .go9{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--amber);flex:none;opacity:.7}
  .almnrow:hover .go9{opacity:1}
  /* ===== v8.86 — 🔥 STREAK QUEST (The Wall) ===== */
  .wquest{margin:0 0 14px}
  .wqbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}
  .wqbtn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.1em;padding:9px 15px;border:1px dashed rgba(255,138,60,.5);border-radius:11px;color:#ff8a3c;cursor:pointer;user-select:none;transition:.14s}
  .wqbtn:hover{background:rgba(255,138,60,.08);box-shadow:0 0 18px -8px #ff8a3c}
  .wqbtn.add{border-style:solid}
  .wqempty{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);letter-spacing:.08em;border:1px dashed var(--line-2);border-radius:11px;padding:12px 15px}
  /* ===== v9.11 — KARTU QUEST BERTEMA, huruf gede, lima bentuk grafik =====
     Tema & sudut-dipangkas dipinjem dari Carnival (sama kaya SI PANTAU) biar satu rasa. */
  .wqcard{position:relative;overflow:hidden;border-radius:16px;padding:0 0 4px;margin-bottom:14px;
          border:1px solid color-mix(in srgb,var(--acc,#22d3ee) 34%,var(--line));
          background:radial-gradient(900px 300px at 10% -12%,color-mix(in srgb,var(--acc,#22d3ee) 13%,transparent),transparent 62%),
                     linear-gradient(180deg,#0b0d14,#080a10);
          box-shadow:0 22px 60px -34px color-mix(in srgb,var(--acc,#22d3ee) 80%,transparent);
          clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}
  .wqcard.neg{border-color:color-mix(in srgb,#ff2d55 40%,var(--line))}
  .wqico{font-size:30px;flex:none;cursor:pointer;filter:drop-shadow(0 0 14px var(--acc,#22d3ee));transition:transform .16s}
  .wqico:hover{transform:scale(1.14)}
  .wqttl{display:flex;flex-direction:column;gap:3px;min-width:0}
  .wqname{font-family:"Chakra Petch",ui-monospace,monospace;font-size:21px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
          color:var(--ink);text-shadow:1px 0 0 rgba(255,45,120,.45),-1px 0 0 rgba(64,220,255,.4),0 0 28px color-mix(in srgb,var(--acc,#22d3ee) 55%,transparent);
          overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wqsub{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.13em;color:color-mix(in srgb,var(--acc,#22d3ee) 65%,var(--mid))}
  .wqsp{flex:1}
  .wqbig{flex:none;font-family:"Chakra Petch",ui-monospace,monospace;color:var(--acc,#22d3ee);line-height:1;
         text-shadow:0 0 26px color-mix(in srgb,var(--acc,#22d3ee) 70%,transparent)}
  .wqbig b{font-size:32px;font-weight:700} .wqbig small{font-size:14px;opacity:.6}
  .wqbig.bad{color:#ff5d5d;text-shadow:0 0 26px rgba(255,93,93,.55)}
  .wqcog{flex:none;font-size:15px;color:color-mix(in srgb,var(--acc,#22d3ee) 78%,var(--mid));cursor:pointer;
         border:1px solid color-mix(in srgb,var(--acc,#22d3ee) 30%,transparent);border-radius:9px;width:34px;height:32px;line-height:30px;text-align:center;transition:all .16s}
  .wqcog:hover{color:#fff;border-color:var(--acc,#22d3ee);background:color-mix(in srgb,var(--acc,#22d3ee) 18%,transparent)}
  .wqgfx{padding:4px 18px 12px}
  .wqmeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:0 18px 10px}
  .wqhint{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;color:var(--low)}
  /* --- bentuk 1 & default: KOTAK --- */
  .wqdots.dots .wqd{width:26px;height:26px;border-radius:7px;font-size:12px}
  /* --- bentuk 2: KAPSUL --- */
  .wqdots.caps{gap:6px}
  .wqcp{flex:1 1 22px;min-width:16px;max-width:46px;height:34px;border-radius:99px;cursor:pointer;position:relative;
        border:1px solid color-mix(in srgb,var(--acc,#22d3ee) 24%,var(--line));background:rgba(255,255,255,.02);transition:all .16s}
  .wqcp:hover{transform:translateY(-2px)}
  .wqcp.win{background:linear-gradient(180deg,var(--acc,#22d3ee),color-mix(in srgb,var(--acc,#22d3ee) 40%,transparent));
            border-color:var(--acc,#22d3ee);box-shadow:0 0 20px -5px var(--acc,#22d3ee)}
  .wqcp.lose{background:linear-gradient(180deg,#ff2d55,rgba(255,45,85,.35));border-color:#ff2d55;box-shadow:0 0 20px -6px #ff2d55}
  .wqcp.today{border-style:dashed;border-color:color-mix(in srgb,var(--acc,#22d3ee) 70%,transparent)}
  .wqcp.future{opacity:.42}
  /* --- bentuk 3: CINCIN --- */
  .wqring{position:relative;width:180px;height:180px;margin:6px auto 2px}
  .wqring svg{width:100%;height:100%;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--acc,#22d3ee) 45%,transparent))}
  .wqring path{transition:opacity .2s}
  .wqring path:hover{opacity:1!important;stroke-width:16}
  .wqrc{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2px;pointer-events:none;
        font-family:"Chakra Petch",ui-monospace,monospace;color:var(--acc,#22d3ee);
        text-shadow:0 0 30px color-mix(in srgb,var(--acc,#22d3ee) 75%,transparent)}
  .wqrc b{font-size:44px;font-weight:700;line-height:1} .wqrc small{font-size:16px;opacity:.55;align-self:flex-end;padding-bottom:7px}
  /* --- bentuk 4: TABUNG CAIRAN --- */
  .wqlab{display:flex;align-items:stretch;gap:16px;padding:4px 0}
  .wqtube{position:relative;flex:none;width:62px;height:132px;border-radius:14px 14px 26px 26px;overflow:hidden;
          border:2px solid color-mix(in srgb,var(--acc,#22d3ee) 45%,transparent);background:rgba(255,255,255,.025);
          box-shadow:inset 0 0 26px -8px color-mix(in srgb,var(--acc,#22d3ee) 60%,transparent)}
  .wqfluid{position:absolute;left:0;right:0;bottom:0;
           background:linear-gradient(180deg,color-mix(in srgb,var(--acc,#22d3ee) 85%,transparent),color-mix(in srgb,var(--acc,#22d3ee) 42%,transparent));
           box-shadow:0 -3px 22px -2px var(--acc,#22d3ee);transition:height .7s cubic-bezier(.4,0,.2,1)}
  .wqfluid::after{content:"";position:absolute;left:0;right:0;top:-4px;height:8px;border-radius:50%;
                  background:color-mix(in srgb,var(--acc,#22d3ee) 95%,#fff);opacity:.85;animation:wqwave 3.2s ease-in-out infinite}
  @keyframes wqwave{0%,100%{transform:translateX(-8%) scaleY(1)}50%{transform:translateX(8%) scaleY(.6)}}
  .wqbub{position:absolute;left:34%;bottom:8%;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);animation:wqbub 4.2s linear infinite}
  .wqbub.b2{left:62%;width:5px;height:5px;animation-duration:5.6s;animation-delay:1.4s}
  @keyframes wqbub{0%{transform:translateY(0);opacity:0}18%{opacity:.75}100%{transform:translateY(-108px);opacity:0}}
  .wqlabr{flex:1;display:flex;flex-direction:column;justify-content:center;gap:11px;min-width:0}
  .wqlabp{font-family:"Chakra Petch",ui-monospace,monospace;font-size:12px;letter-spacing:.2em;color:var(--mid)}
  .wqlabp b{font-size:34px;font-weight:700;color:var(--acc,#22d3ee);letter-spacing:.04em;
            text-shadow:0 0 28px color-mix(in srgb,var(--acc,#22d3ee) 70%,transparent);margin-right:7px}
  .wqnts{display:flex;gap:4px;flex-wrap:wrap}
  .wqnt{width:12px;height:12px;border-radius:3px;cursor:pointer;background:rgba(255,255,255,.05);
        border:1px solid color-mix(in srgb,var(--acc,#22d3ee) 22%,transparent);transition:all .15s}
  .wqnt.win{background:var(--acc,#22d3ee);box-shadow:0 0 10px -1px var(--acc,#22d3ee);border-color:var(--acc,#22d3ee)}
  .wqnt.lose{background:#ff2d55;border-color:#ff2d55} .wqnt.future{opacity:.25}
  .wqnt.tdy{outline:1px dashed var(--acc,#22d3ee);outline-offset:2px}
  /* --- bentuk 5: SARANG LEBAH --- */
  .wqdots.hex{gap:5px}
  .wqhx9{width:32px;height:36px;cursor:pointer;background:rgba(255,255,255,.04);transition:all .16s;
         clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
         border:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc,#22d3ee) 26%,transparent)}
  .wqhx9:hover{transform:translateY(-2px) scale(1.06)}
  .wqhx9.win{background:linear-gradient(180deg,var(--acc,#22d3ee),color-mix(in srgb,var(--acc,#22d3ee) 45%,transparent));
             filter:drop-shadow(0 0 12px color-mix(in srgb,var(--acc,#22d3ee) 70%,transparent))}
  .wqhx9.lose{background:linear-gradient(180deg,#ff2d55,rgba(255,45,85,.4));filter:drop-shadow(0 0 12px rgba(255,45,85,.6))}
  .wqhx9.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--acc,#22d3ee) 75%,transparent)}
  .wqhx9.future{opacity:.4;background:rgba(255,255,255,.06)}
  .wqhx9.fxn{position:relative}
  @media(max-width:640px){
    .wqname{font-size:16px} .wqico{font-size:23px} .wqbig b{font-size:23px}
    .wqring{width:140px;height:140px} .wqrc b{font-size:33px}
    .wqgfx{padding:4px 12px 10px} .wqmeta{padding:0 12px 9px}
  }
  .wqhd{display:flex;align-items:center;gap:13px;flex-wrap:nowrap;position:relative;padding:16px 18px 12px;
        border-bottom:1px solid color-mix(in srgb,var(--acc,#22d3ee) 20%,transparent)}
  .wqtype{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.2em;color:#ff8a3c;border:1px solid rgba(255,138,60,.5);border-radius:7px;padding:3px 8px}
  .wqcard.neg .wqtype{color:#ff5d5d;border-color:rgba(255,93,93,.5)}
  /* v9.11: aturan .wqname LAMA (16px, glow oranye mati) DICABUT — dia nimpa yang baru
     karena ada di bawah. Sama kaya jebakan .wsec di v9.08; yang di atas kalah tanpa suara. */
  .wqgen{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--gc,#8890a3);border:1px solid color-mix(in srgb,var(--gc,#8890a3) 45%,transparent);background:color-mix(in srgb,var(--gc,#8890a3) 9%,transparent);border-radius:7px;padding:3px 8px}
  .wqday{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--ink)}
  .wqperf{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.14em;color:#2dd4a7;border:1px solid rgba(45,212,167,.45);background:rgba(45,212,167,.08);border-radius:7px;padding:3px 8px}
  .wqperf.bad{color:#ff5d5d;border-color:rgba(255,93,93,.45);background:rgba(255,93,93,.07)}
  .wqdots{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:11px;position:relative}
  .wqd{width:17px;height:17px;border-radius:5px;border:1px solid var(--line-2);background:rgba(255,255,255,.02);display:grid;place-items:center;font-size:9px;color:#ff5d5d}
  .wqd.win{background:linear-gradient(145deg,rgba(255,138,60,.75),rgba(242,177,61,.5));border-color:#ff8a3c;box-shadow:0 0 9px -2px #ff8a3c}
  .wqcard.neg .wqd.win{background:linear-gradient(145deg,rgba(45,212,167,.6),rgba(34,211,238,.4));border-color:#2dd4a7;box-shadow:0 0 9px -2px #2dd4a7}
  .wqd.lose{border-color:rgba(255,93,93,.65);background:rgba(255,93,93,.08)}
  .wqd.today{outline:1.5px solid var(--now);outline-offset:1.5px;animation:beat 1.6s infinite}
  .wqd.future{opacity:.28}
  .wqact{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px;position:relative;padding:0 18px}
  .wqchip{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.08em;border-radius:8px;padding:5px 11px;border:1px solid var(--line-2);color:var(--mid);user-select:none}
  .wqchip.go{color:#0a0c12;background:#ff8a3c;border-color:#ff8a3c;cursor:pointer;font-weight:800;box-shadow:0 0 16px -6px #ff8a3c}
  .wqchip.on{color:#2dd4a7;border-color:rgba(45,212,167,.45);background:rgba(45,212,167,.07)}
  .wqchip.bad{color:#ff5d5d;border-color:rgba(255,93,93,.5);background:rgba(255,93,93,.07)}
  .wqchip.dim{opacity:.6}
  .wqchip.srr{margin-left:auto;cursor:pointer;color:var(--low)}
  .wqchip.srr:hover{color:#ff5d5d;border-color:rgba(255,93,93,.5)}
  .wqnotes{position:relative;padding:0 18px}
  .wqnote{font-size:11.5px;color:var(--mid);padding:4px 2px;border-top:1px dashed color-mix(in srgb,var(--line-2) 70%,transparent)}
  .wqnote .t9{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);margin-right:8px}
  .wqnote.dim{color:var(--low);font-size:9.5px}
  .wqcomp{display:flex;gap:7px;margin-top:7px;position:relative;padding:0 18px 14px}
  .wqin{flex:1;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-size:12px;padding:7px 11px;outline:none;font-family:Barlow,sans-serif}
  .wqin:focus{border-color:rgba(255,138,60,.5)}
  .wqcatat{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;color:#0a0c12;background:var(--amber);border-radius:9px;padding:7px 13px;cursor:pointer;user-select:none;box-shadow:0 0 16px -7px var(--amber)}
  .wqhist{border:1px dashed rgba(255,138,60,.4);border-radius:12px;padding:11px 14px;margin-top:4px;background:rgba(12,14,21,.7);animation:c2in .2s ease}
  .wqht{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.22em;color:#ff8a3c;margin-bottom:8px}
  .wqhrow{display:flex;align-items:center;gap:10px;padding:6px 4px;border-top:1px solid var(--line);font-size:12px}
  .wqhv{font-size:15px}
  .wqhn{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wqhm{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);flex:none}
  .wqhs{font-family:"JetBrains Mono",monospace;font-size:9px;flex:none}
  .wqhs .g9{color:#2dd4a7}.wqhs .r9{color:#ff5d5d}
  /* ===== v8.86 — ⭐ STARRED SCREEN (Harian, di bawah hourly) ===== */
  .starzone{border:1px solid rgba(255,215,0,.38);border-radius:13px;background:linear-gradient(180deg,rgba(255,215,0,.06),transparent 70%);margin:10px 0;padding:8px 11px;box-shadow:0 0 26px -16px #ffd700}
  .strow{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:12.5px;transition:.12s}
  .strow:hover{background:rgba(255,215,0,.07)}
  .strow .ste{flex:none}
  .strow .stt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffe9a8;font-weight:600}
  .strow .stc{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:none}
  /* ===== v8.87 — 💀 GAGAL berkali-kali di STREAK QUEST ===== */
  .wqchip.fail{cursor:pointer;color:#ff5d5d;border-color:rgba(255,93,93,.5)}
  .wqchip.fail:hover{background:rgba(255,93,93,.12);box-shadow:0 0 14px -6px #ff5d5d}
  .wqchip.unfx{cursor:pointer;color:var(--low);padding:5px 8px}
  .wqchip.unfx:hover{color:var(--ink)}
  .wqd.fxn{position:relative;overflow:visible}
  .wqd.fxn::after{content:"×" attr(data-n);position:absolute;top:-7px;right:-6px;font-family:"JetBrains Mono",monospace;font-size:7.5px;font-weight:800;color:#0a0c12;background:#ff5d5d;border-radius:6px;padding:0 3px;line-height:1.5;box-shadow:0 0 8px -2px #ff5d5d}
  .wqfxt{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:#ff5d5d;border:1px solid rgba(255,93,93,.4);background:rgba(255,93,93,.06);border-radius:7px;padding:3px 8px}
  /* v8.87 — history bisa diteken → bar hari persis kaya pas aktif */
  .wqhrow{cursor:pointer}
  .wqhrow:hover{background:rgba(255,138,60,.05)}
  .wqhx{padding:8px 4px 4px;border-top:1px dashed color-mix(in srgb,var(--line-2) 70%,transparent);animation:c2in .18s ease}
  .wqhx .wqdots{margin-bottom:7px}
  .wqhx .wqd{width:14px;height:14px;font-size:8px}
  .wqhx .wqd.today{animation:none;outline-color:var(--line-2)}
  .wqhxi{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);letter-spacing:.06em;margin-bottom:5px}
  /* ===== v8.87 — widget THE SCREEN: ▦ HOURLY · ⭐ STARRED · 🔥 STREAK QUEST ===== */
  .pschsnow{display:flex;align-items:center;gap:7px;margin:3px 0;font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.18em;color:var(--sacc,var(--now))}
  .pschsnow i{flex:1;height:1px;background:color-mix(in srgb,var(--sacc,var(--now)) 55%,transparent);box-shadow:0 0 7px -1px var(--sacc,var(--now))}
  .pscrow .hsb9{width:14px;height:14px;flex:none;border-radius:4.5px;border:1.5px solid var(--sc9,#8890a3);display:grid;place-items:center;font-size:9px;color:#0a0c12;cursor:pointer}
  .pscrow .hsb9.on{background:var(--sc9,#2dd4a7);box-shadow:0 0 8px -2px var(--sc9,#2dd4a7)}
  .pscrow.dn9 .tt{text-decoration:line-through;opacity:.55}
  .pscsep.pk9{color:var(--low)}
  .pscstar .tt{color:#ffe9a8}
  .pscstar .cb{background:#ffd700;box-shadow:0 0 8px -2px #ffd700}
  .pscwq{border:1px solid color-mix(in srgb,var(--sacc,#ff8a3c) 40%,transparent);border-radius:10px;padding:7px 9px;margin-bottom:7px;background:color-mix(in srgb,var(--sacc,#ff8a3c) 6%,transparent)}
  .pscwq .hd9x{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:11px}
  .pscwq .nm9{font-family:"Chakra Petch",sans-serif;font-weight:700;letter-spacing:.05em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pscwq .ty9{font-family:"JetBrains Mono",monospace;font-size:7.5px;font-weight:800;letter-spacing:.14em;flex:none;color:#ff8a3c}
  .pscwq.neg9 .ty9{color:#ff5d5d}
  .pscwq .dy9{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);flex:none}
  .pscwq .wqdots{margin-bottom:0;gap:3.5px}
  .pscwq .wqd{width:12px;height:12px;font-size:7px;border-radius:4px}
  .pscwq .wqd.today{outline-width:1px;outline-offset:1px}
  .pscwq .st9x{font-family:"JetBrains Mono",monospace;font-size:8px;margin-top:5px;letter-spacing:.08em}
  /* ===== v8.92 — 🗄 ASPIRA: rak yang ngelompokin The Buckets ===== */
  .aspsec{display:flex;align-items:center;gap:10px;margin:20px 0 10px}
  .aspsec:first-of-type{margin-top:4px}
  .aspsec .ae{width:26px;height:26px;flex:none;display:grid;place-items:center;font-size:13px;border-radius:8px;border:1px solid color-mix(in srgb,var(--ac,#8890a3) 42%,transparent);background:color-mix(in srgb,var(--ac,#8890a3) 11%,transparent);box-shadow:0 0 14px -7px var(--ac,#8890a3)}
  .aspsec .an{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--ac,var(--mid))}
  .aspsec .al{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--ac,#8890a3) 45%,transparent),transparent)}
  .aspsec .ac{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;color:var(--low);flex:none}
  .cats.grp{margin-bottom:6px}
  /* manajer ASPIRA di Setting Buckets */
  .asphd{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:6px 0 10px}
  .aspnew{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;letter-spacing:.11em;padding:8px 14px;border:1px solid var(--now);border-radius:10px;color:var(--now);cursor:pointer;user-select:none;background:color-mix(in srgb,var(--now) 7%,transparent)}
  .aspnew:hover{background:color-mix(in srgb,var(--now) 15%,transparent);box-shadow:0 0 20px -8px var(--now)}
  .asprow{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:11px;border:1px solid var(--line);border-left:3px solid var(--ac,#8890a3);background:var(--panel);margin-bottom:7px}
  .asprow .an{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.09em;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .asprow .ax{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);flex:none}
  .aspmv{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--low);cursor:pointer;padding:2px 5px;border-radius:5px;user-select:none;flex:none}
  .aspmv:hover{color:var(--ink);background:rgba(255,255,255,.06)}
  .aspmv.off{opacity:.22;cursor:default}
  .aspmv.off:hover{color:var(--low);background:transparent}
  .aspgh{display:flex;align-items:center;gap:9px;margin:18px 0 8px}
  .aspgh .ge{font-size:13px;flex:none}
  .aspgh .gn{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ac,var(--low))}
  .aspgh .gl{flex:1;height:1px;background:var(--line)}
  .aspgh .gc{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low)}
  .aspchip{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;padding:3px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--ac,#8890a3) 45%,transparent);color:var(--ac,var(--low));cursor:pointer;user-select:none;flex:none;white-space:nowrap}
  .aspchip:hover{background:color-mix(in srgb,var(--ac,#8890a3) 14%,transparent)}
  .aspnote{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);line-height:1.8;letter-spacing:.04em;border:1px dashed var(--line-2);border-radius:11px;padding:11px 14px;margin-bottom:14px}
  .aspnote b{color:var(--now)}
  /* ===== v8.93 — SUPER ATTRIBUTE + PIP-nya di Harian ===== */
  .sabar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
  .sabl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.22em;color:var(--low);flex:none}
  /* v8.96 — chip pemilih KATA di editor super attribute (punya sendiri, ga numpang .pscfg) */
  /* .pop .opt bawaannya white-space:nowrap — di pop ini paragrafnya WAJIB turun baris,
     kalo ga penjelasan + chip-nya kabur ke kanan kepotong. Cuma berlaku di pop ini. */
  .pop.saed{max-width:430px}
  .pop.saed .opt{white-space:normal}
  .sawr{display:flex;gap:5px;flex-wrap:wrap;padding:3px 0 1px}
  .sawc{white-space:nowrap;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.06em;padding:4px 8px;border:1px solid var(--line-2);border-radius:7px;color:var(--mid);cursor:pointer;transition:.13s;user-select:none}
  .sawc:hover{color:var(--ink);border-color:var(--line)}
  .sawc.on{color:#06070b;background:var(--amber);border-color:var(--amber);font-weight:700}
  .sawlbl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;color:var(--low);display:block;margin-bottom:5px}
  /* v8.98 — nama di editor jadi tombol rename langsung, pensil ✎ dipensiunin */
  .sarow2 .n9.ren9{cursor:text;border-bottom:1px dashed transparent;transition:.13s}
  .sarow2 .n9.ren9:hover{border-bottom-color:color-mix(in srgb,var(--sac,#f2b13d) 60%,transparent);color:var(--ink)}
  .sachip{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.07em;padding:4px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--low);cursor:pointer;opacity:.52;transition:.13s;user-select:none;flex:none}
  .sachip:hover{opacity:.9}
  .sachip.on{opacity:1;color:var(--sac,var(--now));border-color:color-mix(in srgb,var(--sac,var(--now)) 52%,transparent);background:color-mix(in srgb,var(--sac,var(--now)) 9%,transparent);box-shadow:0 0 13px -5px var(--sac,var(--now))}
  .sachip b{font-weight:800;margin-left:4px}
  .sacog{font-size:11px;color:var(--low);cursor:pointer;padding:3px 6px;border-radius:6px;user-select:none;flex:none}
  .sacog:hover{color:var(--ink);background:rgba(255,255,255,.06)}
  .sazone{position:relative;border:1px solid color-mix(in srgb,var(--sac,#f2b13d) 36%,transparent);border-radius:13px;background:linear-gradient(180deg,color-mix(in srgb,var(--sac,#f2b13d) 7%,transparent),transparent 72%);margin:9px 0;padding:8px 11px;box-shadow:0 0 26px -17px var(--sac,#f2b13d)}
  .sabody{position:relative;overflow:hidden}
  /* v8.98 — kotak Hourly ikut bisa dikunci tingginya & digulung, pola sama kaya .sabody */
  .hsbody{position:relative;overflow:hidden}
  /* v9.02 — pas MEKAR: kunci tinggi dilepas, isinya kelihatan semua */
  .sabody.xp,.hsbody.xp{max-height:none!important;overflow:visible}
  .hschip.on{color:var(--now)!important;border-color:var(--now)!important;background:rgba(76,201,240,.1)}
  /* klon buat gerak infinite/credit — WAJIB nol padding, soalnya tinggi ulangannya diukur
     SEBELUM klonnya ditempel; kalo dia punya jarak, sambungannya keliatan lompat */
  .sacl9{padding:0;margin:0}
  /* judul kelompok di dalam MEGA — inilah separator-nya */
  .samhd{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;padding:9px 4px 5px;font-weight:700}
  .samhd i{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--sac,#8fa2ff) 45%,transparent),transparent)}
  .samhd b{font-weight:800;opacity:.65;font-size:8px}
  .samhd:first-child{padding-top:2px}
  .sazone.samega{border-color:rgba(143,162,255,.4);background:linear-gradient(180deg,rgba(143,162,255,.06),transparent 72%)}
  .sachip.mega{letter-spacing:.14em;font-weight:700}
  .sarow{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:12.5px;transition:.12s}
  .sarow:hover{background:color-mix(in srgb,var(--sac,#f2b13d) 9%,transparent)}
  .sarow .sae{flex:none}
  .sarow .sat{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600}
  .sarow .sac9{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:none}
  /* v9.00 — pill di baris panggung: jam \u00b7 panen mini timer \u00b7 target/deadline.
     Sengaja tipis & flex:none biar judulnya yang ngalah (dia udah punya ellipsis sendiri). */
  .sarow .sapill{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.04em;padding:2px 6px;border-radius:6px;border:1px solid var(--line-2);color:var(--mid);white-space:nowrap}
  .sarow .sapill.jam{color:var(--now);border-color:rgba(76,201,240,.32);background:rgba(76,201,240,.07)}
  .sarow .sapill.panen{color:var(--amber);border-color:rgba(242,177,61,.32);background:rgba(242,177,61,.07)}
  .sarow .sapill.tgt{color:var(--soon,#2dd4a7);border-color:rgba(45,212,167,.3);background:rgba(45,212,167,.06)}
  .saleft{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;color:var(--sac,#f2b13d);border:1px solid color-mix(in srgb,var(--sac,#f2b13d) 42%,transparent);border-radius:5px;padding:1px 5px;flex:none;letter-spacing:.06em}
  .saurg{font-size:10px;flex:none;opacity:.9}
  .sahint{font-family:"JetBrains Mono",monospace;font-size:8.5px;padding:4px 8px 1px;letter-spacing:.06em}
  /* chip focus di dialog task */
  .tdsa{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
  .tdsa .b9{font-family:"JetBrains Mono",monospace;font-size:9px;padding:2px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--sac,#8890a3) 48%,transparent);color:var(--sac,#8890a3);background:color-mix(in srgb,var(--sac,#8890a3) 10%,transparent)}
  .sapick{display:flex;gap:6px;flex-wrap:wrap;padding:4px 2px}
  .sapc{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.05em;padding:5px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--low);cursor:pointer;opacity:.55;transition:.13s;user-select:none}
  .sapc:hover{opacity:1}
  .sapc.on{opacity:1;color:var(--sac,var(--now));border-color:color-mix(in srgb,var(--sac,var(--now)) 55%,transparent);background:color-mix(in srgb,var(--sac,var(--now)) 11%,transparent)}
  .sapc i{font-style:normal;font-size:8px;margin-left:5px;opacity:.85}
  /* manajer di Settings */
  .sarow2{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:11px;border:1px solid var(--line);border-left:3px solid var(--sac,#8890a3);background:var(--panel);margin-bottom:7px}
  .sarow2 .n9{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.09em;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sarow2 .c9{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);flex:none}
  .sapip{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.1em;padding:3px 8px;border-radius:6px;border:1px solid var(--line-2);color:var(--low);cursor:pointer;user-select:none;flex:none}
  .sapip.on{color:var(--sac,var(--now));border-color:color-mix(in srgb,var(--sac,var(--now)) 50%,transparent);background:color-mix(in srgb,var(--sac,var(--now)) 10%,transparent)}
  /* ===== v8.88 — 🎡 CARNIVAL: pasar malem tiap bucket ===== */
  .carbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:2px 0 13px}
  .carnew{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.1em;padding:9px 15px;border:1px solid #ff2d78;border-radius:11px;color:#ff2d78;cursor:pointer;user-select:none;transition:.14s;background:rgba(255,45,120,.06)}
  .carnew:hover{background:rgba(255,45,120,.14);box-shadow:0 0 22px -7px #ff2d78}
  .carq{background:var(--panel);border:1px solid var(--line);border-radius:20px;color:var(--ink);font-size:12px;padding:7px 14px;outline:none;font-family:Barlow,sans-serif;width:170px}
  .carq:focus{border-color:rgba(255,45,120,.5)}
  .carct{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--low);margin-left:auto}
  .carshelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:15px;margin-bottom:16px}
  .carsechd{display:flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.2em;color:var(--sc9,#ff2d78);margin:16px 0 10px}
  .carsechd i{flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--sc9,#ff2d78) 55%,transparent),transparent)}
  .carcard{position:relative;border:1px solid color-mix(in srgb,var(--cc9,#ff2d78) 40%,transparent);border-radius:4px 15px 4px 15px;padding:13px 13px 11px;background:linear-gradient(160deg,color-mix(in srgb,var(--cc9,#ff2d78) 9%,transparent),rgba(6,8,13,.78) 55%,rgba(9,11,17,.94));box-shadow:0 0 40px -20px var(--cc9,#ff2d78),inset 0 0 44px -30px var(--cc9,#ff2d78);overflow:hidden;animation:c2in .22s ease}
  .carcard::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.13) 2px 3px);opacity:.6}
  .carcard::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--cc9,#ff2d78),transparent);opacity:.7;animation:carscan 4.6s linear infinite}
  @keyframes carscan{0%{left:-40%}100%{left:100%}}
  .carcard.brw{border-style:dashed;opacity:.97}
  .carcard.flash9{animation:carflash 1s ease 2}
  @keyframes carflash{0%{box-shadow:0 0 0 2px var(--cc9,#ff2d78),0 0 44px -6px var(--cc9,#ff2d78)}100%{box-shadow:0 0 0 0 transparent,0 0 40px -20px var(--cc9,#ff2d78)}}
  .carhd{display:flex;align-items:center;gap:7px;position:relative;margin-bottom:5px}
  .carhd>span:first-child{filter:drop-shadow(0 0 7px var(--cc9,#ff2d78))}
  .carnm{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--cink,#dff6ff);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:1.1px 0 0 rgba(255,45,120,.5),-1.1px 0 0 rgba(64,220,255,.45),0 0 17px color-mix(in srgb,var(--cc9,#ff2d78) 60%,transparent)}
  .carcog{font-size:12px;color:var(--low);cursor:pointer;flex:none;padding:2px 4px}
  .carcog:hover{color:var(--cink,#dff6ff);text-shadow:0 0 9px var(--cc9,#ff2d78)}
  .carmeta{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--low);position:relative;margin-bottom:7px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
  .carmeta b{color:var(--cc9,#ff2d78);text-shadow:0 0 8px color-mix(in srgb,var(--cc9,#ff2d78) 55%,transparent)}
  .carmeta .thc{border:1px solid color-mix(in srgb,var(--cc9,#ff2d78) 40%,transparent);border-radius:4px;padding:1.5px 5px;color:color-mix(in srgb,var(--cc9,#ff2d78) 88%,#fff)}
  .carstage{position:relative;display:grid;place-items:center;padding:5px 0 9px}
  /* ══ 🎲🎡 RAK NGAMBANG ═══════════════════════════════════════════════
     ⚠ SEJARAH LAJUR: dulu rak duduk di KIRI ◐ biar nol rebutan sama
     .mo-drawer (bottom:66). v11.03 mindahin rak ke SUMBU ◐ atas perintah
     papan ("belom sejajar vertically") — rebutannya diselesain pake z-index
     tegas, bukan dihindarin: drawer (939) menang selama kebuka. */
  /* v10.85 — VERTIKAL ("VERTIKAL aja stack"): keping numpuk ke ATAS, tools
     tetep di kaki (urutan DOM: keping → sep → tools; kolom = tools paling
     bawah). Kebanyakan keping? nggulung ke dalem, nol pernah nutupin layar. */
  /* v11.03 — SEJAJAR VERTIKAL SAMA ◐ (papan: "lo belom sejajar vertically"):
     rak sekarang SATU SUMBU sama tombol ◐ — width dipaku 56, right dihitung
     biar pusat rak = pusat ◐ (16+21=37 → right 9). Duduknya DI ATAS ◐
     (bottom 66 = 16+42+8). Lajur ini emang rumah .mo-drawer — dan itu
     nol jadi rebutan buta lagi: z-index tegas (drawer 939 > rak 936),
     drawer kebuka ya dia yang di depan, ketutup rak balik. */
  .dok9{position:fixed;right:9px;bottom:66px;width:56px;z-index:936;display:flex;flex-direction:column;align-items:center;
    justify-content:flex-end;gap:6px;max-height:calc(100vh - 170px);overflow-y:auto;
    padding:6px 7px;border-radius:16px;transition:background .16s,border-color .16s;
    background:transparent;border:1px solid transparent;scrollbar-width:none}
  .dok9::-webkit-scrollbar{display:none}
  /* pas bar mini ☁ nongol, rak NAIK di atasnya — CSS doang, mesin audio nol
     disentuh. :has() udah dipake app ini dari v10.4x, aman. */
  /* v10.92 — lift 92px DICABUT atas perintah "BUAT SEJAJAR DENGAN INI" (◐):
     rak tetep duduk sebaris ◐ (bottom sama), yang ngalah bar mini — dia
     dijangkar kiri + nyisain 152px kanan. Kemaren rak yang terbang malah
     numpang di atas panel ANTRIAN halaman ☁ — obat yang lebih jelek dari
     penyakitnya. Gembok Y di harness_dok di-relock ke aturan baru. */
  .dok9:hover{background:color-mix(in srgb,var(--panel) 88%,transparent);border-color:var(--line)}
  .dok9.kiri{right:auto;left:16px;justify-content:flex-start}
  .dok9i{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;user-select:none;flex:none}
  .dok9p{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:15px;
    background:var(--panel);border:1px solid var(--line-2);box-shadow:0 8px 24px -10px #000;
    transition:.15s;position:relative;overflow:hidden}   /* v10.85: 42→32, "kecilin" */
  .dok9i:hover .dok9p{border-color:var(--dc,#f2b13d);box-shadow:0 0 20px -4px var(--dc,#f2b13d);transform:translateY(-2px)}
  .dok9i:active .dok9p{transform:scale(.93)}
  .dok9n{font:800 6.5px "JetBrains Mono",monospace;letter-spacing:.06em;color:var(--low);
    max-width:42px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}   /* v11.03: 52→42, ngepas width rak 56 biar sumbunya lurus */
  /* v10.85 — "kalo mentok textnya running": yang muat DIEM, yang mentok JALAN.
     Kelasnya dipasang SESUDAH DIUKUR di dokPaint, bukan ditebak dari panjang
     string — huruf itu beda-beda lebarnya (pelajaran KEGAMBAR ≠ ADA). */
  .dok9n i{font-style:normal;display:inline-block}
  .dok9n em{font-style:normal;opacity:.4}
  .dok9n.lari{text-overflow:clip;text-align:left}
  .dok9n.lari i{animation:dok9lari linear infinite}
  @keyframes dok9lari{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  /* hormat kill-switch gerak — saklar yang sama kaya marquee komentar */
  [data-mo-marquee="0"] .dok9n.lari i{animation:none!important}
  /* ⚠ keping yatim KELIATAN MATI ber-alesan, bukan lenyap diem-diem: roda bisa
     ikut mati kalo buckets-nya dihapus, dan keping yang ngilang sendiri bikin
     orang ngira rak-nya yang rusak. */
  .dok9i.yatim{opacity:.42;filter:grayscale(1);cursor:not-allowed}
  .dok9i.yatim:hover .dok9p{border-color:var(--yore);box-shadow:none;transform:none}
  .dok9sep{height:1px;align-self:center;width:26px;background:var(--line-2);flex:none;margin:1px 0}   /* v10.85: kolom → sekat mendatar */
  .dok9tool{opacity:0;transform:translateY(3px);transition:.15s;pointer-events:none}
  .dok9:hover .dok9tool,.dok9.buka .dok9tool,.dok9.kosong .dok9tool{opacity:1;transform:none;pointer-events:auto}
  .dok9.kosong{background:color-mix(in srgb,var(--panel) 88%,transparent);border-color:var(--line)}
  /* ⚠ ANAKNYA NOL BOLEH NYUSUT. Ini bukan kerapian — ini beda antara daftar
     yang NGGULUNG sama daftar yang NGGENCET. Tanpa flex:none, begitu isinya
     lewat max-height tiap barisnya kepites sampe hurufnya kepotong keluar
     kotak, dan yang keliatan cuma pil kosong. Diukur: 31 baris di jendela
     700px → tiap baris 13px, NOL dari 16 namanya kebaca. */
  .dok9list{display:flex;flex-direction:column;gap:4px;max-height:38vh;overflow:auto}
  .dok9list>*{flex:none}
  /* baris pemilih dibikin FLEX BENERAN. Sebelum ini dia nebeng .nd9itm yang
     display:block, jadi `flex:1` di anak dalemnya nol ngefek sama sekali —
     nama sama keterangannya nempel tanpa sela ("DADU HARIANbawaan"). */
  .dok9pi{display:flex;align-items:center;gap:8px;cursor:pointer;padding:5px 9px;
    white-space:nowrap;overflow:hidden}
  .dok9pi .dok9pe{flex:none;font-size:14px;line-height:1}
  .dok9pi .dok9pn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
    font:600 10.5px "Barlow",sans-serif;color:var(--ink);letter-spacing:.01em}
  .dok9pi .dok9psub{flex:none;font:8px "JetBrains Mono",monospace;color:var(--low);
    letter-spacing:.06em;max-width:38%;overflow:hidden;text-overflow:ellipsis}
  .dok9pi .dok9pt{flex:none;font:800 11px "JetBrains Mono",monospace;margin-left:2px}
  .dok9pi:hover{border-color:var(--dc,#f2b13d);background:color-mix(in srgb,var(--dc,#f2b13d) 10%,var(--panel-2))}
  .dok9b{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:13px;
    background:var(--panel-2);border:1px dashed var(--line-2);color:var(--mid);cursor:pointer;transition:.14s}
  .dok9b:hover{border-style:solid;border-color:var(--amber);color:var(--amber)}
  .dok9i.seret{opacity:.45}
  .dok9i.sasar .dok9p{border-color:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 40%,transparent)}
  /* panggung roda di dalem popup — nebeng kelas yang sama kaya kartu Carnival */
  .dok9stage{--ws:230px;display:grid;place-items:center;padding:6px 0 2px}
  .dok9row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
  @media(max-width:640px){ .dok9{gap:5px}   /* v11.03: right/bottom/width ikut desktop — sumbu ◐ sama di semua layar */
    .dok9p{width:36px;height:36px;font-size:16px} .dok9n{max-width:46px;font-size:6.5px} }

  .carwv{position:relative;width:var(--ws,210px);height:var(--ws,210px);max-width:100%}
  .carsvg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 0 16px color-mix(in srgb,var(--cc9,#ff2d78) 38%,transparent))}
  .carrot{transform-origin:100px 100px}
  .carrim{fill:none;stroke:color-mix(in srgb,var(--cc9,#ff2d78) 70%,transparent);stroke-width:2.4}
  .carbulb{fill:#fff;opacity:.85}
  .carcard.spin .carbulb{animation:carbulb .5s linear infinite}
  @keyframes carbulb{0%,100%{opacity:.25}50%{opacity:1}}
  .cardisc{fill:#05070c}
  .carseg{stroke-width:.9;stroke-linejoin:round}
  .carlbl{font-family:"JetBrains Mono",monospace;font-weight:700;letter-spacing:.06em;fill:var(--cink,#dff6ff);paint-order:stroke;stroke:#04060b;stroke-width:2.6px;stroke-linejoin:round;pointer-events:none}
  .carhubg{cursor:pointer}
  .carhub9{fill:#05070c;stroke:color-mix(in srgb,var(--cc9,#ff2d78) 80%,transparent);stroke-width:2;transition:.15s}
  .carhubg:hover .carhub9{stroke-width:3;fill:#0b0f18}
  .carhubr{fill:none;stroke:var(--cc9,#ff2d78);stroke-width:1;opacity:.42;stroke-dasharray:4 6}
  .carhubg:hover .carhubr{opacity:.95}
  .carcard.spin .carhubr{animation:carhubspin 1.7s linear infinite}
  @keyframes carhubspin{100%{transform:rotate(360deg);transform-origin:100px 100px}}
  .carhubt{font-family:"JetBrains Mono",monospace;font-size:7px;font-weight:800;fill:var(--cc9,#ff2d78);letter-spacing:.16em;pointer-events:none}
  .carpin9{position:absolute;top:-9px;left:50%;margin-left:-9px;width:18px;height:22px;z-index:3;filter:drop-shadow(0 2px 6px rgba(0,0,0,.75));transform-origin:50% 12%}
  .carpin9 i{display:block;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:19px solid var(--cc9,#ff2d78)}
  .carpin9.tick{animation:carpin .11s ease}
  @keyframes carpin{0%{transform:rotate(0)}45%{transform:rotate(-19deg)}100%{transform:rotate(0)}}
  .carspark{position:absolute;inset:0;pointer-events:none;z-index:4}
  .carspark i{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:var(--cc9,#ff2d78);box-shadow:0 0 10px 2px var(--cc9,#ff2d78);animation:carspk .72s ease-out forwards}
  @keyframes carspk{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.1);opacity:0}}
  .carcard.landed{animation:carland .42s ease}
  @keyframes carland{0%{transform:translateY(0)}22%{transform:translateY(-4px)}55%{transform:translateY(2px)}100%{transform:translateY(0)}}
  .caract{display:flex;gap:6px;flex-wrap:wrap;position:relative}
  .carbtn{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.1em;border-radius:9px;padding:7px 12px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;user-select:none;transition:.13s}
  .carbtn:hover{color:var(--ink);border-color:var(--cc9,#ff2d78)}
  .carbtn.go{color:#0a0c12;background:var(--cc9,#ff2d78);border-color:var(--cc9,#ff2d78);box-shadow:0 0 18px -6px var(--cc9,#ff2d78)}
  .carbtn.go:hover{filter:brightness(1.12)}
  .carbtn.dim{opacity:.55;cursor:default}
  .carbtn.dim:hover{color:var(--mid);border-color:var(--line-2)}
  .carwin9{position:relative;margin-top:9px;border:1px solid color-mix(in srgb,var(--cc9,#ff2d78) 58%,transparent);border-radius:3px 12px 3px 12px;padding:9px 11px;background:linear-gradient(135deg,color-mix(in srgb,var(--cc9,#ff2d78) 14%,transparent),rgba(5,7,12,.88));box-shadow:inset 0 0 30px -18px var(--cc9,#ff2d78);animation:c2in .25s ease}
  .carwl{font-family:"JetBrains Mono",monospace;font-size:7.5px;font-weight:800;letter-spacing:.3em;color:var(--cc9,#ff2d78);margin-bottom:3px;text-shadow:0 0 11px var(--cc9,#ff2d78)}
  .carwt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--cink,#dff6ff);line-height:1.25;margin-bottom:2px;text-shadow:1.1px 0 0 rgba(255,45,120,.42),-1.1px 0 0 rgba(64,220,255,.38),0 0 18px color-mix(in srgb,var(--cc9,#ff2d78) 55%,transparent)}
  .carwb{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--low);margin-bottom:7px}
  .carwx{position:absolute;top:7px;right:9px;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);cursor:pointer;padding:2px 4px}
  .carwx:hover{color:var(--cink,#dff6ff)}
  .carempty{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);letter-spacing:.06em;text-align:center;padding:26px 12px;line-height:1.8}
  .carbig{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);letter-spacing:.08em;border:1px dashed var(--line-2);border-radius:13px;padding:18px 16px;line-height:1.9}
  .carlog{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);letter-spacing:.05em;margin-top:7px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* picker */
  .carppanel{width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid rgba(255,45,120,.4);border-radius:16px;box-shadow:0 0 70px -22px #ff2d78;overflow:hidden}
  .carpt{display:flex;align-items:center;gap:9px;font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.13em;color:#ff2d78;padding:13px 15px;border-bottom:1px solid var(--line)}
  .carpsum{margin-left:auto;color:var(--low);font-size:9px;letter-spacing:.08em}
  .carphd{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}
  .carphd input{flex:1;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);font-size:12.5px;padding:8px 12px;outline:none;font-family:Barlow,sans-serif}
  .carphd input:focus{border-color:rgba(255,45,120,.5)}
  .carpbody{overflow-y:auto;padding:9px 12px 13px;flex:1}
  .carpsec{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;letter-spacing:.18em;color:var(--low);padding:11px 3px 6px;display:flex;align-items:center;gap:8px}
  /* v9.35 — borongan: pilih sekelompok sekaligus */
  .carpall{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.12em;
    color:currentColor;border:1px solid currentColor;border-radius:20px;padding:3px 9px;cursor:pointer;
    opacity:.55;transition:.13s;white-space:nowrap;flex:none}
  .carpall:hover{opacity:1;background:color-mix(in srgb,currentColor 16%,transparent)}
  .carpbulk{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.1em;
    border:1px solid var(--line-2);border-radius:20px;padding:0 13px;cursor:pointer;color:var(--mid);
    display:flex;align-items:center;transition:.13s;white-space:nowrap;flex:none}
  .carpbulk:hover{color:#ff2d78;border-color:rgba(255,45,120,.6)}
  .carpbulk.sapu:hover{color:#ff8a8a;border-color:rgba(255,93,93,.6)}
  .carpsec i{flex:1;height:1px;background:var(--line)}
  .carpsec.done9{color:var(--yore)}
  .carprow{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;cursor:pointer;font-size:12.5px;border:1px solid transparent;transition:.11s}
  .carprow:hover{background:rgba(255,45,120,.05);border-color:rgba(255,45,120,.2)}
  .carprow.on{background:rgba(255,45,120,.07);border-color:rgba(255,45,120,.35);box-shadow:inset 2.5px 0 0 #ff2d78}
  .carpbx{flex:none;min-width:26px;height:20px;border-radius:6px;border:1px solid var(--line-2);display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;color:var(--low);padding:0 4px}
  .carprow.on .carpbx{background:#ff2d78;border-color:#ff2d78;color:#0a0c12;box-shadow:0 0 10px -3px #ff2d78}
  .carpn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
  /* v11.19 B6 — detail kegiatan: stat + tiga pintu + genre */
  .ld9s9{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
  .ld9st9{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.07em;color:var(--mid);border:1px solid var(--line);border-radius:7px;padding:3px 7px}
  .ld9st9 b{color:var(--ink)}
  .ld9p9{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
  .ld9btn9{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;letter-spacing:.07em;border:1px solid var(--line-2);border-radius:8px;padding:6px 9px;cursor:pointer;color:var(--ink)}
  .ld9btn9.z{color:#4cc9f0;border-color:rgba(76,201,240,.5)}
  .ld9btn9.k{color:#2dd48a;border-color:rgba(45,212,138,.5)}
  .ld9btn9.f{color:#ff4d6d;border-color:rgba(255,77,109,.5)}
  .ld9btn9:hover{background:rgba(255,255,255,.05)}
  .ld9tm9{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:700;color:var(--amber);border:1px dashed rgba(242,177,61,.5);border-radius:7px;padding:4px 6px;cursor:pointer}
  .ld9tm9:hover{background:rgba(242,177,61,.09)}
  .ld9g9{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 10px}
  .ld9gc9{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--mid);border:1px solid var(--line-2);border-radius:8px;padding:5px 8px;cursor:pointer;user-select:none}
  .ld9gc9.on{color:var(--gc9,var(--ink));border-color:color-mix(in srgb,var(--gc9,#8890a3) 55%,transparent);background:color-mix(in srgb,var(--gc9,#8890a3) 12%,transparent);box-shadow:0 0 10px -4px var(--gc9,#8890a3)}
  /* v11.19 B5 — pill asal-usul di ISI RODA (bucket/harian/bebas/routine) */
  .carpj9{flex:none;font-family:"JetBrains Mono",monospace;font-size:7.5px;font-weight:800;letter-spacing:.09em;color:var(--cj9,#8890a3);border:1px solid color-mix(in srgb,var(--cj9,#8890a3) 42%,transparent);border-radius:6px;padding:2px 5px;background:color-mix(in srgb,var(--cj9,#8890a3) 9%,transparent)}
  .carprow.on .carpn{opacity:.45}
  .carpn small{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-left:6px}
  .carpx{display:none;gap:3px;flex:none}
  .carprow.on .carpx{display:flex}
  .carpx i{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;font-style:normal;border:1px solid var(--line-2);border-radius:6px;padding:3px 6px;color:var(--low);cursor:pointer}
  .carpx i:hover{color:var(--ink);border-color:#ff2d78}
  .carpx i.on{background:rgba(255,45,120,.16);border-color:#ff2d78;color:#ff8ab4}
  .carpdel{flex:none;color:var(--low);cursor:pointer;padding:2px 5px}
  .carpdel:hover{color:var(--yore)}
  .carpfoot{display:flex;gap:8px;padding:11px 14px;border-top:1px solid var(--line);background:var(--panel-2)}
  .carpfoot input{flex:1;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);font-size:12.5px;padding:8px 12px;outline:none;font-family:Barlow,sans-serif}
  .carpfoot input:focus{border-color:rgba(255,45,120,.5)}
  .carpgo{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;color:#0a0c12;background:#ff2d78;border-radius:9px;padding:8px 14px;cursor:pointer;user-select:none;flex:none;display:grid;place-items:center}

  /* ============ v9.13 — 🧪 SANDBOX / PROJECTS ============
     Kartunya minjem kosakata Carnival/PANTAU: potongan sudut, garis pindai, aberasi warna.
     Nama kelas semua diawali prj-/p- yang belum kepake — dicek satu-satu biar ga ketiban
     aturan lama kaya .wsec (v9.08) sama .wqname (v9.11). */
  .prjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px;margin-top:16px}
  .prjcard{position:relative;overflow:hidden;display:block;text-decoration:none;border-radius:16px;padding:0 0 15px;
           border:1px solid color-mix(in srgb,var(--acc,#4cc9f0) 34%,var(--line));
           background:radial-gradient(700px 260px at 14% -12%,color-mix(in srgb,var(--acc,#4cc9f0) 14%,transparent),transparent 62%),
                      linear-gradient(180deg,#0b0d14,#080a10);
           box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 20px 56px -34px color-mix(in srgb,var(--acc,#4cc9f0) 78%,transparent);
           clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));transition:.16s}
  .prjcard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--acc,#4cc9f0) 62%,transparent)}
  .prjhd{display:flex;align-items:center;gap:11px;padding:17px 19px 12px;position:relative}
  .prje{font-size:25px;filter:drop-shadow(0 0 12px var(--acc,#4cc9f0));flex:none}
  .prjn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
        color:var(--ink);line-height:1.12;overflow:hidden;
        text-shadow:.9px 0 0 rgba(255,45,120,.42),-.9px 0 0 rgba(64,220,255,.38),0 0 26px color-mix(in srgb,var(--acc,#4cc9f0) 55%,transparent)}
  .prjbar{height:5px;margin:2px 19px 11px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden}
  .prjbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--acc,#4cc9f0) 55%,transparent),var(--acc,#4cc9f0));
            box-shadow:0 0 14px -2px var(--acc,#4cc9f0);transition:width .3s}
  .prjmeta{display:flex;gap:14px;padding:0 19px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--low);text-transform:uppercase}
  .prjmeta b{font-size:13px;color:var(--acc,#4cc9f0);margin-right:3px;font-weight:800}
  .prjbk{display:flex;gap:5px;flex-wrap:wrap;padding:11px 19px 0}
  .prjbc{font-size:12px;line-height:1;padding:4px 5px;border-radius:7px;border:1px solid color-mix(in srgb,var(--bc,#8890a3) 45%,transparent);
         background:color-mix(in srgb,var(--bc,#8890a3) 12%,transparent)}
  .prjcard.add{display:grid;place-items:center;gap:7px;align-content:center;min-height:148px;cursor:pointer;
               border-style:dashed;--acc:#f472b6;background:linear-gradient(180deg,#0b0d14,#080a10)}
  .prjplus{font-size:32px;color:#f472b6;line-height:1;text-shadow:0 0 22px rgba(244,114,182,.7)}
  .prjat{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--mid)}
  .prjkosong{margin:22px auto;max-width:520px;text-align:center;color:var(--low);font-size:13px;line-height:1.85;
             border:1px dashed var(--line-2);border-radius:14px;padding:26px 20px;background:rgba(255,255,255,.012)}
  .prjkosong b{color:var(--mid)}

  /* ============ v9.16 — STRIP 🧪 SANDBOX DI HOME ============
     Kosakata yang sama kaya kartu PANTAU/QUEST/PROJECT: potongan sudut, garis pindai,
     aberasi warna. Bedanya ini melintang selebar halaman, bukan kartu kotak. */
  .sbxwrap{position:relative;overflow:hidden;margin:16px 0 4px;border-radius:16px;
           border:1px solid rgba(244,114,182,.32);
           background:radial-gradient(1100px 300px at 8% -30%,rgba(244,114,182,.14),transparent 60%),
                      linear-gradient(180deg,#0b0d14,#080a10);
           box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 22px 60px -40px rgba(244,114,182,.85);
           clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));
           transition:border-color .18s,box-shadow .18s}
  .sbxwrap.open{border-color:rgba(244,114,182,.55);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 26px 70px -38px rgba(244,114,182,1)}
  .sbxwrap .pnscan{opacity:.42}
  .sbxhd{display:flex;align-items:center;gap:11px;padding:15px 19px;position:relative;flex-wrap:wrap}
  .sbxtri{flex:none;font-size:15px;color:#f472b6;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;
          border:1px solid rgba(244,114,182,.4);border-radius:8px;transition:.18s;user-select:none;
          text-shadow:0 0 12px rgba(244,114,182,.8)}
  .sbxtri:hover{background:rgba(244,114,182,.14);border-color:#f472b6}
  .sbxwrap.open .sbxtri{transform:rotate(90deg);background:rgba(244,114,182,.16);border-color:#f472b6}
  .sbxgo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;flex:none}
  .sbxe{font-size:23px;filter:drop-shadow(0 0 12px #f472b6)}
  .sbxn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:20px;font-weight:700;letter-spacing:.16em;color:var(--ink);
        text-shadow:1px 0 0 rgba(255,45,120,.45),-1px 0 0 rgba(64,220,255,.4),0 0 28px rgba(244,114,182,.6)}
  .sbxgo:hover .sbxn{color:#f472b6}
  .sbxsub{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.15em;color:var(--low);text-transform:uppercase;
          border-left:1px solid rgba(244,114,182,.28);padding-left:11px;white-space:nowrap}
  .sbxsp{flex:1;min-width:6px}
  .sbxcog{flex:none;font-size:13px;color:var(--low);cursor:pointer;padding:5px 8px;border-radius:8px;border:1px solid var(--line-2);transition:.14s}
  .sbxcog:hover{color:#f472b6;border-color:rgba(244,114,182,.5);background:rgba(244,114,182,.08)}
  .sbxrail{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px;padding:0 19px 17px;
           animation:sbxdrop .22s cubic-bezier(.2,.8,.3,1)}
  @keyframes sbxdrop{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
  .sbxcard{position:relative;overflow:hidden;display:block;text-decoration:none;border-radius:13px;padding:12px 14px 13px;
           border:1px solid color-mix(in srgb,var(--acc,#f472b6) 38%,var(--line));
           background:radial-gradient(400px 140px at 12% -20%,color-mix(in srgb,var(--acc,#f472b6) 16%,transparent),transparent 62%),
                      linear-gradient(180deg,#0d1018,#0a0c12);
           box-shadow:0 12px 34px -26px color-mix(in srgb,var(--acc,#f472b6) 90%,transparent);
           clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));transition:.15s}
  .sbxcard:hover{transform:translateY(-2px);border-color:var(--acc,#f472b6)}
  .sbxc1{display:flex;align-items:center;gap:8px;margin-bottom:9px}
  .sbxce{font-size:17px;flex:none;filter:drop-shadow(0 0 9px var(--acc,#f472b6))}
  /* bon #44 — emoji-nya jadi gerbang dadu (data-dcat="prj:…"), jadi bentuknya disamain sama
     kotak emoji papan (.cat .em.dadu9e): kotak ber-bingkai, nyala pas disentuh, terang pas ditekan.
     --c dipinjem dari --acc biar kilau .dadu9e::after (dadu/002) warnanya ikut tema project. */
  .sbxce.dadu9e{--c:var(--acc,#f472b6);display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-size:16px;
    filter:none;cursor:pointer;transition:.14s;
    background:color-mix(in srgb,var(--acc,#f472b6) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc,#f472b6) 42%,transparent)}
  .sbxce.dadu9e:hover{border-color:var(--acc,#f472b6);box-shadow:0 0 16px -4px var(--acc,#f472b6);transform:scale(1.09)}
  .sbxce.dadu9e:active{transform:scale(.94);box-shadow:0 0 26px -2px var(--acc,#f472b6),inset 0 0 20px -6px var(--acc,#f472b6);
    background:color-mix(in srgb,var(--acc,#f472b6) 26%,transparent)}
  .sbxcn{font-family:"Chakra Petch",ui-monospace,monospace;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
         color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
         text-shadow:.6px 0 0 rgba(255,45,120,.4),-.6px 0 0 rgba(64,220,255,.34)}
  .sbxbar{height:4px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden;margin-bottom:8px}
  .sbxbar i{display:block;height:100%;border-radius:99px;background:var(--acc,#f472b6);box-shadow:0 0 12px -2px var(--acc,#f472b6);transition:width .3s}
  .sbxm{display:flex;gap:10px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.12em;color:var(--low);text-transform:uppercase}
  .sbxm b{font-size:11.5px;color:var(--acc,#f472b6);margin-right:2px;font-weight:800}
  .sbxkosong{grid-column:1/-1;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.1em;color:var(--low);
             text-align:center;padding:16px;border:1px dashed var(--line-2);border-radius:12px}
  /* kotak cari di halaman Sandbox — kelasnya .sbxfind, BUKAN .sbxbar: .sbxbar udah
     kepake buat bar progres di kartu pintasan. Nyaris ketiban lagi kaya .wsec v9.08. */
  .sbxfind{display:flex;align-items:center;gap:9px;margin:2px 0 14px}
  .sbxct{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.16em;font-weight:800;color:#f472b6;
         border:1px solid rgba(244,114,182,.4);border-radius:8px;padding:8px 11px;white-space:nowrap;flex:none}
  #sbxq{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 14px;color:var(--ink);
        font-family:"JetBrains Mono",monospace;font-size:12px;outline:none}
  #sbxq:focus{border-color:rgba(244,114,182,.55);box-shadow:0 0 20px -11px #f472b6}

  .prjbar2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
  .prjsp{flex:1;min-width:8px}
  .prjbtn{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.16em;font-weight:800;color:#0a0c12;background:var(--pa,#f2b13d);
          border-radius:9px;padding:9px 14px;cursor:pointer;user-select:none;white-space:nowrap;transition:.14s;
          box-shadow:0 8px 26px -14px var(--pa,#f2b13d)}
  .prjbtn:hover{filter:brightness(1.12)}
  .prjbtn.gh{background:transparent;color:var(--mid);border:1px solid var(--line-2)}
  .prjbtn.gh:hover{color:var(--ink);border-color:var(--mid)}
  /* v9.14: .vtab.soon9 dibuang — enam tab project udah nyala semua, ga ada lagi yang diredupin */

  .prjlist{display:flex;flex-direction:column;gap:4px;margin-top:14px}
  .prow{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);
        background:var(--panel);box-shadow:inset 2.5px 0 0 var(--nc,#8890a3);transition:.13s}
  .prow:hover{border-color:var(--line-2);background:var(--panel-2)}
  .prow.done9 .ptt{opacity:.42;text-decoration:line-through}
  .pgrip{flex:none;color:var(--low);cursor:grab;font-size:12px;letter-spacing:-1px;padding:0 1px;user-select:none}
  .pgrip:active{cursor:grabbing}
  .pnum{flex:none;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;color:var(--low);min-width:16px;text-align:right}
  .psb{flex:none;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800;
       color:var(--sc,#8890a3);border:1px solid color-mix(in srgb,var(--sc,#8890a3) 45%,transparent);
       background:color-mix(in srgb,var(--sc,#8890a3) 11%,transparent)}
  .ptt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13.5px;cursor:pointer}
  .ptt:hover{color:var(--now)}
  .pbk{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.11em;color:var(--nc,#8890a3);cursor:pointer;
       border:1px solid color-mix(in srgb,var(--nc,#8890a3) 40%,transparent);border-radius:6px;padding:3px 6px;white-space:nowrap;
       max-width:132px;overflow:hidden;text-overflow:ellipsis}
  .pbk:hover{background:color-mix(in srgb,var(--nc,#8890a3) 15%,transparent)}
  .purg{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--yore);border:1px solid rgba(255,93,93,.4);border-radius:6px;padding:3px 6px}
  .pcm{flex:none;font-size:12px;filter:drop-shadow(0 0 8px rgba(45,212,167,.6))}
  .pdel{flex:none;color:var(--low);cursor:pointer;font-size:12px;padding:2px 5px;border-radius:6px}
  .pdel:hover{color:var(--yore);background:rgba(255,93,93,.1)}

  /* 🚧 di baris bucket — tanda barang ini lagi dipinjem project */
  .prjbadge{flex:none;font-size:11px;cursor:pointer;opacity:.8;padding:0 2px;filter:drop-shadow(0 0 7px rgba(242,177,61,.55))}
  .prjbadge:hover{opacity:1}

  /* layar milih bahan baku */
  .prjq{width:100%;background:var(--void);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
        font-size:13px;padding:9px 12px;outline:none;font-family:Barlow,sans-serif}
  .prjq:focus{border-color:rgba(244,114,182,.55)}
  .pbfr{display:flex;gap:5px;flex-wrap:wrap}
  .pbfc{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;padding:4px 8px;border:1px solid var(--line-2);
        border-radius:7px;color:var(--low);cursor:pointer;white-space:nowrap}
  .pbfc:hover{color:var(--ink)}
  .pbfc.on{color:var(--bc,#f472b6);border-color:color-mix(in srgb,var(--bc,#f472b6) 60%,transparent);
           background:color-mix(in srgb,var(--bc,#f472b6) 13%,transparent)}
  .pksec{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--nc,#8890a3);
         padding:12px 14px 5px;text-transform:uppercase}
  .pkrow{display:flex;align-items:center;gap:9px;padding:7px 14px 7px calc(14px + var(--d9,0) * 17px);cursor:default;
         border-left:2px solid transparent}
  .pkrow:hover{background:rgba(255,255,255,.028)}
  .pkrow.on{border-left-color:var(--nc,#8890a3);background:color-mix(in srgb,var(--nc,#8890a3) 9%,transparent)}
  .pkbox{flex:none;width:19px;height:19px;border-radius:6px;border:1px solid var(--line-2);display:grid;place-items:center;
         font-size:11px;font-weight:800;color:transparent;cursor:pointer;transition:.12s}
  .pkbox:hover{border-color:var(--mid)}
  .pkrow.on .pkbox{background:var(--nc,#8890a3);border-color:var(--nc,#8890a3);color:#0a0c12;box-shadow:0 0 11px -3px var(--nc,#8890a3)}
  .pkt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink)}
  .pkrow.on .pkt{color:var(--nc,#8890a3)}
  .pkkid{flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);border:1px solid var(--line-2);
         border-radius:6px;padding:3px 6px;cursor:pointer}
  .pkkid:hover{color:var(--ink);border-color:var(--mid)}
  /* ===== v9.65 — 🫱 ACCOUNTABILITY PARTNER: hologram + kaul ===== */
  .kholo{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:10px;flex:none;
         color:var(--hc,#4cc9f0);background:
           radial-gradient(ellipse at 50% 88%,color-mix(in srgb,var(--hc,#4cc9f0) 22%,transparent),transparent 62%),
           linear-gradient(180deg,rgba(255,255,255,.02),transparent);
         border:1px solid color-mix(in srgb,var(--hc,#4cc9f0) 34%,transparent);
         box-shadow:0 0 14px -6px var(--hc,#4cc9f0),inset 0 -8px 14px -10px var(--hc,#4cc9f0);
         overflow:hidden;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--hc,#4cc9f0) 45%,transparent))}
  .kholo svg{width:80%;height:80%;opacity:.92;animation:khfl 3.1s infinite steps(1)}
  .kholo img{width:100%;height:100%;object-fit:cover;opacity:.85;mix-blend-mode:screen;
             filter:sepia(1) hue-rotate(var(--hrot,160deg)) saturate(4) brightness(.95);animation:khfl 3.1s infinite steps(1)}   /* v11.18 — rotasi DITURUNIN dari warna hologram, nol dipatok biru */
  .kholo .scan{position:absolute;inset:0;pointer-events:none;
               background:repeating-linear-gradient(0deg,transparent 0 2px,color-mix(in srgb,var(--hc,#4cc9f0) 9%,transparent) 2px 3px)}
  .kholo .tepi{position:absolute;left:0;right:0;height:32%;pointer-events:none;
               background:linear-gradient(180deg,color-mix(in srgb,var(--hc,#4cc9f0) 16%,transparent),transparent);
               animation:khsw 4.6s linear infinite}
  .kholo.gede{width:84px;height:84px;border-radius:14px}
  .kholo.gede.kosong{color:var(--low);font-size:30px;border-style:dashed;box-shadow:none;filter:none}
  /* rekor idup: menang terus = makin terang, kalah terus = hologram RUSAK */
  .kholo.jaya{box-shadow:0 0 22px -4px var(--hc,#4cc9f0),inset 0 -8px 16px -8px var(--hc,#4cc9f0)}
  .kholo.jaya svg,.kholo.jaya img{opacity:1}
  .kholo.rusak svg,.kholo.rusak img{opacity:.62;animation:khrs .9s infinite steps(2)}
  .kholo.rusak{border-style:dashed;box-shadow:0 0 8px -6px var(--hc,#4cc9f0)}
  .kholo .khload{font-size:15px;color:var(--low)}
  @keyframes khfl{0%,93%{opacity:.92;transform:none}94%{opacity:.55;transform:translateX(1px)}96%{opacity:.92;transform:none}98%{opacity:.7;transform:translateX(-1px)}}
  @keyframes khsw{0%{top:-32%}100%{top:100%}}
  @keyframes khrs{0%{transform:translateX(0);opacity:.62}50%{transform:translateX(2px) skewX(3deg);opacity:.3}}
  .kbanner{border:1px solid rgba(255,77,109,.4);background:rgba(255,77,109,.08);color:#ff9eb1;border-radius:12px;
           padding:11px 14px;font-size:12.5px;font-weight:700;margin:10px 0}
  .kchars{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 16px}
  .kchar{display:grid;justify-items:center;gap:5px;padding:12px 14px 10px;border:1px solid var(--line-2);border-radius:14px;
         background:rgba(255,255,255,.015);cursor:pointer;min-width:118px;transition:.15s}
  .kchar:hover{border-color:var(--mid);transform:translateY(-2px)}
  .kchar b{font-size:12.5px;color:var(--ink)}
  .kchar i{font-style:normal;font-size:9.5px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .kchar em{font-style:normal;font-size:9.5px;color:var(--dim)}
  /* ===== v10.32 — DUA RUANGAN: tab kubu GEDE (bukan pil) + sceneri ikut kubu.
     Permintaan bang Sam: "jangan kaya pil gini mesti gede mewah kaya tab
     PARTNER sama TAB villain, sceneri page nya pun beda". Warna kubu idup
     sebagai token --kbc DI CSS, bukan hex mentah di JS — biar kill-switch tema
     kelabu tetep megang (pelajaran v10.23). ===== */
  .kbtab{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 18px}
  .kbt{position:relative;overflow:hidden;display:grid;gap:3px;cursor:pointer;user-select:none;
       border:1px solid var(--line-2);border-radius:18px;padding:15px 17px 14px;transition:.18s;
       background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
  .kbt .kbe{font-size:26px;line-height:1}
  .kbt b{font-size:14.5px;letter-spacing:.14em;color:var(--ink)}
  .kbt i{font-style:normal;font-size:9.5px;color:var(--low);font-family:"JetBrains Mono",monospace;letter-spacing:.04em}
  .kbt .kbn{position:absolute;right:13px;top:13px;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--low);
            border:1px solid var(--line-2);border-radius:8px;padding:3px 7px}
  .kbt::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--kbc);opacity:0;transition:.18s}
  .kbt:hover{transform:translateY(-2px);border-color:var(--mid)}
  .kbt.p{--kbc:#4cc9f0}
  .kbt.v{--kbc:#ff4d6d}
  .kbt.on{border-color:color-mix(in srgb,var(--kbc) 46%,transparent);
          background:radial-gradient(120% 130% at 50% 0%,color-mix(in srgb,var(--kbc) 13%,transparent),transparent 72%);
          box-shadow:0 0 26px -14px var(--kbc)}
  .kbt.on::after{opacity:.85}
  .kbt.on b{color:var(--kbc)}
  .kbt.on .kbn{border-color:color-mix(in srgb,var(--kbc) 40%,transparent);color:var(--kbc)}
  .kbt.v.on{animation:kbtv 5.4s ease-in-out infinite}
  @keyframes kbtv{0%,100%{box-shadow:0 0 26px -14px var(--kbc)}50%{box-shadow:0 0 36px -9px var(--kbc)}}
  .kwrap{position:relative}
  .kwrap.kb-p{--kbc:#4cc9f0}
  .kwrap.kb-v{--kbc:#ff4d6d}
  .kwrap::before{content:"";position:absolute;left:-14px;right:-14px;top:-12px;height:240px;pointer-events:none;z-index:0;
                 background:radial-gradient(78% 100% at 50% 0%,color-mix(in srgb,var(--kbc) 10%,transparent),transparent 72%)}
  .kwrap.kb-v::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.55;
                     background:repeating-linear-gradient(180deg,transparent 0 54px,color-mix(in srgb,var(--kbc) 5%,transparent) 54px 56px)}
  .kwrap>*{position:relative;z-index:1}
  .kwrap.kb-v .rule .t{color:color-mix(in srgb,var(--kbc) 72%,#fff)}
  .kwrap.kb-v .kchar{border-color:color-mix(in srgb,var(--kbc) 24%,transparent);background:color-mix(in srgb,var(--kbc) 5%,transparent)}
  .kwrap.kb-v .kchar:hover{border-color:color-mix(in srgb,var(--kbc) 55%,transparent)}
  .kwrap.kb-v .kbtn.go{border-color:color-mix(in srgb,var(--kbc) 50%,transparent);color:var(--kbc);background:color-mix(in srgb,var(--kbc) 8%,transparent)}
  .kwrap.kb-v .kbtn.go:hover{background:color-mix(in srgb,var(--kbc) 15%,transparent)}
  .kwrap.kb-v .kkard{border-color:color-mix(in srgb,var(--kbc) 22%,transparent)}
  /* v10.33 — pemilih jenis output. Dua kartu gede, bukan dropdown: pilihan ini
     yang nentuin SELURUH cara sesi nyetor nanti, jadi dia pantes makan ruang. */
  .kjn{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 10px}
  .kjni{display:grid;gap:3px;cursor:pointer;user-select:none;border:1px solid var(--line-2);border-radius:13px;
        padding:11px 13px;transition:.15s;background:rgba(255,255,255,.014)}
  .kjni b{font-size:12.5px;color:var(--ink);letter-spacing:.05em}
  .kjni i{font-style:normal;font-size:9.5px;color:var(--low);line-height:1.45}
  .kjni:hover{border-color:var(--mid)}
  .kjni.on{border-color:rgba(76,201,240,.5);background:rgba(76,201,240,.08);box-shadow:0 0 22px -14px #4cc9f0}
  .kjni.on b{color:#4cc9f0}
  .kwrap.kb-v .kjni.on{border-color:color-mix(in srgb,var(--kbc) 50%,transparent);
                       background:color-mix(in srgb,var(--kbc) 9%,transparent);box-shadow:0 0 22px -14px var(--kbc)}
  .kwrap.kb-v .kjni.on b{color:var(--kbc)}
  /* v10.34 — PIL CERITA. Pil sesi bergaris warna (turunan ledger), pil manual
     abu. Dua ikon, dua warna — mata langsung tau mana yang dikerjain mana yang
     diaku. Bentuknya keluarga sama pil panen Super Trail, tapi ADA KARAKTERNYA. */
  .kpil{display:grid;gap:5px;margin:8px 0 4px}
  .kpl{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:11px;
       border:1px solid var(--line-2);background:rgba(255,255,255,.012);transition:.14s}
  .kpl.sesi{border-left:3px solid var(--pc,#4cc9f0);background:color-mix(in srgb,var(--pc,#4cc9f0) 6%,transparent)}
  .kpl.sesi.receh{opacity:.62;border-left-style:dashed}
  .kpl .ik{font-size:14px;line-height:1.2;flex:none}
  .kpl .tx{flex:1;min-width:0;display:grid;gap:1px}
  .kpl .tx b{font-size:11.5px;color:var(--ink);font-weight:800}
  .kpl .tx i{font-style:normal;font-size:9.5px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .kpl .tx em{font-style:italic;font-size:10.5px;color:var(--dim);margin-top:2px;line-height:1.45}
  .kpl .am{flex:none;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;color:var(--pc,var(--low))}
  .kpl.man .am{color:var(--low)}
  .kpilnb{font-size:9.5px;color:var(--low);line-height:1.55;margin:4px 2px 2px}
  .kbtn.mini.gas9{border-color:rgba(45,212,138,.45);color:#2dd48a}
  .kwrap.kb-v .kbtn.mini.gas9{border-color:color-mix(in srgb,var(--kbc) 45%,transparent);color:var(--kbc)}
  /* v10.38 — KARTU GERTAK. Merah bara, buktinya dipajang terang, dan tiga
     jawabannya sejajar — DIEMIN sengaja nol dibikin kecil ato malu-malu. */
  .kgt{display:grid;gap:10px;margin:6px 0 16px}
  .kgti{position:relative;overflow:hidden;border:1px solid rgba(255,77,109,.4);border-radius:17px;padding:14px 15px;
        background:radial-gradient(120% 100% at 0% 0%,rgba(255,77,109,.12),transparent 62%),rgba(255,77,109,.03)}
  .kgti::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#ff4d6d;opacity:.85}
  .kgth{display:flex;align-items:center;gap:10px;margin-bottom:9px}
  .kgthn{display:grid;gap:1px;min-width:0}
  .kgthn b{font-size:12.5px;color:#ff8aa0;letter-spacing:.08em}
  .kgthn i{font-style:normal;font-size:9.5px;color:var(--low);font-family:"JetBrains Mono",monospace}
  .kgtb{margin-left:auto;flex:none;font-size:9px;font-weight:800;letter-spacing:.09em;color:var(--low);
        border:1px solid var(--line-2);border-radius:8px;padding:4px 8px;white-space:nowrap}
  .kgtq{font-size:12px;color:var(--ink);line-height:1.55;font-style:italic;margin-bottom:9px}
  .kgtbukti{display:flex;gap:8px;align-items:baseline;border:1px dashed rgba(255,77,109,.32);border-radius:11px;
            padding:8px 10px;margin-bottom:8px;background:rgba(0,0,0,.14)}
  .kgtbukti .lbl{flex:none;font-size:8.5px;font-weight:800;letter-spacing:.14em;color:#ff8aa0}
  .kgtbukti .isi{font-size:10.5px;color:var(--dim);line-height:1.5}
  .kgtu{font-size:11px;color:var(--ink);background:rgba(255,255,255,.02);border:1px solid var(--line-2);
        border-radius:11px;padding:8px 10px;margin-bottom:10px}
  .kgta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
  .kgta .kbtn.go{border-color:rgba(255,77,109,.55);color:#ff8aa0;background:rgba(255,77,109,.1)}
  .kgtn9{font-style:normal;font-size:9px;color:var(--low);flex:1;min-width:120px;line-height:1.45}
  .pkgt{margin-top:6px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#ff8aa0;cursor:pointer;
        border:1px solid rgba(255,77,109,.4);border-radius:9px;padding:5px 8px;text-align:center}
  .kbtnbar{display:flex;gap:8px;margin:4px 0 10px}
  .kbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:10px;padding:8px 14px;
        font-size:12px;font-weight:800;color:var(--ink);cursor:pointer;user-select:none;transition:.13s}
  .kbtn:hover{border-color:var(--mid)}
  .kbtn.go{border-color:rgba(76,201,240,.5);color:#4cc9f0;background:rgba(76,201,240,.07)}
  .kbtn.go:hover{background:rgba(76,201,240,.14)}
  .kbtn.go.mati{opacity:.45;border-color:var(--line-2);color:var(--low);background:none}
  .kbtn.mini{padding:5px 9px;font-size:11px}
  .kbtn.mini.on{border-color:rgba(76,201,240,.5);color:#4cc9f0}
  .kbtn.mini.vonis{border-color:rgba(255,77,109,.45);color:#ff8aa0}
  .kbtn.del{border-color:rgba(255,77,109,.4);color:#ff8aa0}
  .kkards{display:grid;gap:10px}
  .kkard{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line-2);border-radius:14px;padding:12px 14px;
         background:rgba(255,255,255,.015)}
  .kkard.f-mepet{border-color:rgba(242,177,61,.4)}
  .kkard.f-lewat{border-color:rgba(255,77,109,.5);background:rgba(255,77,109,.04)}
  .kkm{flex:1;min-width:0;display:grid;gap:6px}
  .kkt{font-size:14px;font-weight:800;color:var(--ink)}
  .kkn{font-size:11.5px;color:var(--dim)}
  /* v9.81 — dulu bernama .kbar dan NABRAK toolbar kanvas (yang lahir duluan):
     height:5px + overflow:hidden dari sini menang kaskade, toolbar gambar
     kegencet 19px dan semua alatnya kepotong. Bar progres kaul sekarang punya
     nama sendiri: .krbar. */
  .krbar{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
  .krbar i{display:block;height:100%;border-radius:99px;transition:width .3s}
  .kkinfo{display:flex;gap:6px;flex-wrap:wrap}
  .ktag{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--tc,var(--dim));border:1px solid color-mix(in srgb,var(--tc,#8890a3) 35%,transparent);
        border-radius:7px;padding:2px 7px}
  .kquip{font-size:12px;color:var(--dim);border-left:2px solid var(--line-2);padding:3px 0 3px 9px;cursor:pointer;font-style:italic}
  .kquip:hover{color:var(--ink)}
  .kkr{display:grid;gap:6px;flex:none}
  .khist{display:grid;gap:6px}
  /* v9.82 — 📓 CATETAN DIA (nama kelas kr* SENGAJA unik — pelajaran v9.81:
     kelas generik antar-modul bisa tabrakan kaskade tanpa satu pun pesan eror) */
  .krlog{border:1px solid color-mix(in srgb,#4cc9f0 22%,transparent);border-radius:13px;padding:10px 12px;display:grid;gap:4px;
         background:linear-gradient(180deg,rgba(76,201,240,.05),rgba(0,0,0,.22));font-family:"JetBrains Mono",monospace}
  .krlhd{display:flex;align-items:baseline;gap:9px;padding-bottom:5px;border-bottom:1px dashed var(--line-2)}
  .krlhd span{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:12px;letter-spacing:.09em;color:#4cc9f0}
  .krlhd i{font-style:normal;font-size:9.5px;color:var(--low)}
  .krlrow{display:flex;gap:9px;align-items:baseline;font-size:11px;color:var(--mid);cursor:pointer;
          border-left:2px solid transparent;padding:2px 0 2px 7px;min-width:0}
  .krlrow:hover{border-left-color:#4cc9f0;color:var(--ink);background:rgba(76,201,240,.05)}
  .krd{color:var(--low);font-size:9.5px;flex:none;min-width:34px}
  .krlrow b{color:var(--ink);font-size:10.5px;flex:none}
  .krv{flex:none;font-weight:700}
  .krv.up{color:#2dd48a}.krv.dn{color:#ff4d6d}.krv.nl{color:#8890a3}
  .krt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .krlrow em{font-style:normal;color:var(--low);font-size:9.5px;flex:none}
  /* v9.84 — 📦 PROGRESS GW + 🗒 muara. Nama kelas kprg- dan kmura SENGAJA unik. */
  .kprgs{display:grid;gap:9px}
  .kprg{border:1px solid color-mix(in srgb,var(--pc,#4cc9f0) 32%,transparent);border-radius:13px;overflow:hidden;
    background:linear-gradient(180deg,color-mix(in srgb,var(--pc,#4cc9f0) 5%,transparent),rgba(0,0,0,.2))}
  .kprghd{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;user-select:none}
  .kprghd:hover{background:color-mix(in srgb,var(--pc,#4cc9f0) 7%,transparent)}
  .kprghd .cv{font-size:11px;color:var(--pc,#4cc9f0);transition:.18s;flex:none}
  .kprg.tutup .cv{transform:rotate(-90deg)}
  .kprghd .jdl{flex:1;min-width:0;display:grid;gap:3px;justify-items:start}
  .kprghd .jdl b{font-family:"Chakra Petch",sans-serif;font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kprgch{font-style:normal;display:flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--dim)}
  .kprgch:hover{color:var(--ink)}
  .kprgch.kosong{color:var(--low)}
  .kprgch .kholo{width:22px;height:22px;border-radius:7px}
  .kprgch .kholo svg{width:15px;height:15px}
  .kprgch .kholo img{width:100%;height:100%;object-fit:cover}
  .kprgpct{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:14.5px;color:var(--pc,#4cc9f0);flex:none;
    text-shadow:0 0 12px color-mix(in srgb,var(--pc,#4cc9f0) 60%,transparent)}
  .kprgmini{width:64px;height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;flex:none}
  .kprgmini i{display:block;height:100%;background:var(--pc,#4cc9f0);border-radius:99px;transition:width .4s}
  .kprgdone{display:flex;align-items:center;gap:5px;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--dim);cursor:pointer;flex:none}
  .kprgdone .db{width:15px;height:15px;border:1px solid var(--line-2);border-radius:4px;display:grid;place-items:center;font-size:10px;color:transparent;transition:.15s}
  .kprgdone:hover .db{border-color:var(--amber)}
  .kprg.beres{--pc:#f2b13d}
  .kprg.beres .kprgdone .db{background:rgba(242,177,61,.18);border-color:var(--amber);color:var(--amber);box-shadow:0 0 12px -4px var(--amber)}
  .kprg.beres .kprghd .jdl b{color:var(--amber)}
  .kprged{flex:none;color:var(--low);cursor:pointer;font-size:12px}
  .kprged:hover{color:var(--ink)}
  .kprgbody{padding:2px 12px 12px;display:grid;gap:9px}
  .kprg.tutup .kprgbody{display:none}
  .kprgsel{display:grid;grid-template-columns:repeat(20,1fr);gap:3px}
  .kprgsel .s1{aspect-ratio:1;border-radius:2.5px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);transition:.25s}
  .kprgsel .s1.on{background:color-mix(in srgb,var(--pc,#4cc9f0) 55%,transparent);
    border-color:color-mix(in srgb,var(--pc,#4cc9f0) 80%,transparent);box-shadow:0 0 7px -2px var(--pc,#4cc9f0)}
  .kprg.beres .kprgsel .s1.on{animation:kprgnyala .5s ease both}
  @keyframes kprgnyala{0%{filter:brightness(2.4)}100%{filter:none}}
  .kprgtools{display:flex;gap:7px;flex-wrap:wrap}
  .kprgchip{border:1px solid color-mix(in srgb,var(--pc,#4cc9f0) 45%,transparent);color:var(--pc,#4cc9f0);
    font-family:"JetBrains Mono",monospace;font-weight:700;font-size:11px;border-radius:7px;padding:5px 11px;cursor:pointer;user-select:none}
  .kprgchip:hover{background:color-mix(in srgb,var(--pc,#4cc9f0) 12%,transparent);box-shadow:0 0 13px -4px var(--pc,#4cc9f0)}
  .kprgchip.min{border-color:rgba(255,77,109,.4);color:#ff8aa0}
  .kprgrow{display:flex;gap:8px}
  .kprgin{flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
    font-family:"JetBrains Mono",monospace;font-size:11.5px;padding:8px 11px;outline:none}
  .kprgin:focus{border-color:color-mix(in srgb,var(--pc,#2dd48a) 55%,transparent);box-shadow:0 0 14px -6px var(--pc,#2dd48a)}
  .kprgbtn{flex:none;border:1px solid color-mix(in srgb,var(--pc,#2dd48a) 50%,transparent);color:var(--pc,#2dd48a);border-radius:9px;
    padding:8px 13px;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11.5px;cursor:pointer;letter-spacing:.05em;user-select:none}
  .kprgbtn:hover{background:color-mix(in srgb,var(--pc,#2dd48a) 12%,transparent);box-shadow:0 0 16px -5px var(--pc,#2dd48a)}
  .kprglog{display:grid;gap:2px;font-family:"JetBrains Mono",monospace;border-top:1px dashed var(--line-2);padding-top:6px}
  .kprglr{display:flex;gap:8px;align-items:baseline;font-size:10.5px;color:var(--mid);min-width:0}
  .kprglr .d{color:var(--low);font-size:9px;flex:none;min-width:32px}
  .kprglr b{color:var(--pc,#4cc9f0);flex:none}
  .kprglr .tag{flex:none;font-size:8.5px;color:var(--pc,#2dd48a);border:1px solid color-mix(in srgb,var(--pc,#2dd48a) 35%,transparent);
    border-radius:5px;padding:1px 6px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kprglr .isi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .kprgmq{overflow:hidden;border:1px solid color-mix(in srgb,var(--pc,#2dd48a) 35%,transparent);border-radius:9px;
    background:color-mix(in srgb,var(--pc,#2dd48a) 5%,transparent);padding:6px 0;position:relative}
  .kprgmq::before{content:attr(data-lbl);position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:2;
    font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;color:var(--pc,#2dd48a);
    background:var(--void,#07090f);border:1px solid color-mix(in srgb,var(--pc,#2dd48a) 40%,transparent);border-radius:5px;padding:2px 6px}
  .kprgmq i{display:inline-block;white-space:nowrap;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:10.5px;
    color:var(--pc,#2dd48a);animation:kmarq var(--kd,16s) linear infinite}
  .kprgmq.hd{flex:2;min-width:80px;border:none;background:transparent;padding:0}
  .kprgmq.hd::before{display:none}
  .kprgmq.hd i{font-size:9px;opacity:.8;animation-duration:12s}
  .kprgnew{display:block;text-align:center;border:1px dashed var(--line-2);color:var(--dim);border-radius:12px;padding:10px;
    font-family:"Chakra Petch",sans-serif;font-size:12px;letter-spacing:.08em;cursor:pointer;user-select:none}
  .kprgnew:hover{color:var(--now);border-color:rgba(76,201,240,.5);box-shadow:0 0 18px -8px var(--now)}
  .kmura{border:1px solid rgba(45,212,138,.28);border-radius:13px;padding:11px 12px;display:grid;gap:9px;--pc:#2dd48a;
    background:linear-gradient(180deg,rgba(45,212,138,.045),rgba(0,0,0,.22))}
  /* v9.85 — progress nempel di kartu kaul: mini stat (collapsed) + panel ngembang */
  .kkprg{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-family:"JetBrains Mono",monospace;
    font-size:9.5px;color:var(--dim);border:1px dashed color-mix(in srgb,var(--pgc,#4cc9f0) 32%,transparent);
    border-radius:8px;padding:5px 9px;margin-top:2px;transition:.14s}
  .kkprg:hover{border-style:solid;color:var(--ink);box-shadow:0 0 12px -5px var(--pgc,#4cc9f0)}
  .kkprg .lbl{flex:none;letter-spacing:.12em;color:var(--pgc,#4cc9f0)}
  .kkprg .bar{flex:1;min-width:50px;height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
  .kkprg .bar i{display:block;height:100%;border-radius:99px;transition:width .4s;box-shadow:0 0 8px -2px var(--pgc,#4cc9f0)}
  .kkprg b{flex:none;font-size:11px;color:var(--pgc,#4cc9f0);text-shadow:0 0 10px color-mix(in srgb,var(--pgc,#4cc9f0) 55%,transparent)}
  .kkprg .ket{flex:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--low);font-size:9px}
  .kkprgx{display:grid;gap:9px;margin-top:8px;border:1px solid color-mix(in srgb,var(--pc,#4cc9f0) 30%,transparent);
    border-radius:11px;padding:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--pc,#4cc9f0) 4%,transparent),rgba(0,0,0,.18))}
  .kprgpal{display:flex;gap:4px;flex-wrap:wrap}
  .kprgpal span{width:14px;height:14px;border-radius:4px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);transition:.12s}
  .kprgpal span:hover{transform:scale(1.25);box-shadow:0 0 9px -1px currentColor}
  .kprgpal span.on{outline:2px solid rgba(255,255,255,.35);box-shadow:0 0 9px -1px currentColor}
  /* v9.86 — 📡 CLAUDE UPLINK (kelas cu9* unik) */
  .pscw-cu{display:flex;flex-direction:column;gap:8px;height:100%;padding:2px;min-height:0}
  .cu9inc{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,#f2b13d 34%,transparent);border-radius:11px;
    background:linear-gradient(180deg,rgba(242,177,61,.05),rgba(0,0,0,.25));overflow:hidden;position:relative}
  .cu9inc::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.14) 3px 4px)}
  .cu9hd{display:flex;align-items:center;justify-content:space-between;padding:7px 11px;border-bottom:1px dashed color-mix(in srgb,#f2b13d 30%,transparent)}
  .cu9hd span{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:11px;letter-spacing:.16em;color:#f2b13d;
    text-shadow:0 0 12px color-mix(in srgb,#f2b13d 60%,transparent)}
  .cu9hd i{font-style:normal;cursor:pointer;color:var(--dim);font-size:13px}
  .cu9hd i:hover{color:#f2b13d}
  .cu9body{flex:1;overflow:auto;padding:8px 11px;display:grid;gap:8px;align-content:start;font-family:"JetBrains Mono",monospace}
  .cu9nol{font-size:10.5px;color:var(--low);font-style:italic}
  .cu9msg{border-left:2px solid color-mix(in srgb,#f2b13d 40%,transparent);padding:2px 0 2px 9px;opacity:.75}
  .cu9msg.anyar{opacity:1;border-left-color:#f2b13d}
  .cu9mt{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
  .cu9mt b{font-size:10.5px;color:#f2b13d;letter-spacing:.08em}
  .cu9mt i{font-style:normal;font-size:8.5px;color:var(--low)}
  .cu9mb{font-size:11px;color:var(--mid);line-height:1.55;margin-top:3px;white-space:normal}
  .cu9msg.anyar .cu9mb{color:var(--ink)}
  .cu9chips{display:flex;gap:6px;flex-wrap:wrap}
  .cu9chip{border:1px solid color-mix(in srgb,#4cc9f0 42%,transparent);color:#4cc9f0;font-family:"JetBrains Mono",monospace;
    font-weight:700;font-size:9.5px;letter-spacing:.04em;border-radius:8px;padding:5px 9px;cursor:pointer;user-select:none;transition:.13s}
  .cu9chip:hover{background:color-mix(in srgb,#4cc9f0 12%,transparent);box-shadow:0 0 13px -4px #4cc9f0}
  .cu9chip.kust{border-color:color-mix(in srgb,#a78bfa 45%,transparent);color:#a78bfa}
  .cu9chip.kust:hover{background:color-mix(in srgb,#a78bfa 12%,transparent);box-shadow:0 0 13px -4px #a78bfa}
  .cu9chip.vonis{border-color:rgba(255,77,109,.5);color:#ff8aa0}
  .cu9chip.vonis:hover{background:rgba(255,77,109,.1);box-shadow:0 0 13px -4px #ff4d6d}
  .cu9chip.kapsul{border-color:color-mix(in srgb,#2dd48a 45%,transparent);color:#2dd48a}
  .cu9chip.kapsul:hover{background:color-mix(in srgb,#2dd48a 12%,transparent);box-shadow:0 0 13px -4px #2dd48a}
  .cu9row{display:flex;gap:7px}
  .cu9in{flex:1;min-width:0;background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
    font-family:"JetBrains Mono",monospace;font-size:10.5px;padding:7px 10px;outline:none}
  .cu9in:focus{border-color:rgba(76,201,240,.5);box-shadow:0 0 13px -6px #4cc9f0}
  .cu9row.surat .cu9in:focus{border-color:rgba(45,212,138,.5);box-shadow:0 0 13px -6px #2dd48a}
  .cu9go{flex:none;display:grid;place-items:center;width:36px;border:1px solid var(--line-2);border-radius:9px;cursor:pointer;
    color:var(--dim);font-size:13px;transition:.13s;user-select:none}
  .cu9go:hover{color:#4cc9f0;border-color:rgba(76,201,240,.5);box-shadow:0 0 12px -5px #4cc9f0}
  .cu9row.surat .cu9go:hover{color:#2dd48a;border-color:rgba(45,212,138,.5);box-shadow:0 0 12px -5px #2dd48a}
  .khrow{display:flex;gap:8px;align-items:center;border:1px solid var(--line-2);border-radius:10px;padding:7px 11px;font-size:12px}
  .khrow.beres{border-color:rgba(45,212,138,.28)}
  .khrow.gagal{opacity:.75}
  .khrow .kht{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
  .klsee{cursor:pointer;opacity:.6}.klsee:hover{opacity:1}
  /* lembar-lembar kaul */
  /* v10.44 — grid-template-columns:1fr WAJIB. `.pop` bawaannya DUA KOLOM
     (baris 734), dan tiap lembar mesti nulis `pop single` buat ngelepasnya.
     `.kform` kelewat dari dulu, jadi judul seksi sama isinya kelempar ke
     kolom yang beda. Sodara kandung bug v9.24 di cockpit harian. */
  .kform{display:grid;grid-template-columns:1fr;gap:10px;padding:4px 2px;max-width:100%}
  .kfx{display:flex;gap:14px;align-items:center}
  .kfxr{flex:1;display:grid;gap:8px}
  .kfn{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);
       padding:9px 12px;font-size:13.5px;font-weight:700;outline:none}
  .kfn:focus{border-color:rgba(76,201,240,.5)}
  .kfn.sub{font-size:12px;font-weight:500}
  .kfrow{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
  .kfl{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--dim)}
  .kfl input{width:96px;background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:8px;color:var(--ink);
             padding:6px 8px;font-size:12.5px;outline:none;font-family:"JetBrains Mono",monospace}
  .kfl input[type=number]{width:64px}
  .kdot{width:22px;height:22px;border-radius:7px;cursor:pointer;background:color-mix(in srgb,var(--hc) 22%,transparent);
        border:1px solid color-mix(in srgb,var(--hc) 55%,transparent);box-shadow:0 0 8px -3px var(--hc)}
  .kdot.on{outline:2px solid var(--hc);outline-offset:2px}
  .kfcap{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;color:var(--low);margin-top:4px}
  .kavg{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px}
  .kav{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line-2);border-radius:11px;cursor:pointer;
       color:var(--dim);transition:.13s}
  .kav svg{width:74%;height:74%}
  .kav:hover{border-color:var(--mid);color:var(--ink)}
  .kav.on{border-color:rgba(76,201,240,.6);color:#4cc9f0;background:rgba(76,201,240,.06)}
  .kav.up{font-size:19px}
  .kpg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}
  .kp{display:grid;gap:3px;border:1px solid var(--line-2);border-radius:11px;padding:8px 10px;cursor:pointer;transition:.13s}
  .kp b{font-size:11.5px;color:var(--ink)}
  .kp i{font-style:normal;font-size:9.8px;color:var(--low);line-height:1.35}
  .kp:hover{border-color:var(--mid)}
  .kp.on{border-color:rgba(76,201,240,.6);background:rgba(76,201,240,.06)}
  .kfprev{border-left:2px solid rgba(76,201,240,.45);padding:6px 0 6px 10px;font-size:12.5px;font-style:italic;color:var(--dim);cursor:pointer}
  .kfprev:hover{color:var(--ink)}
  .kfhint{font-size:11px;color:var(--low);line-height:1.55;border:1px dashed var(--line-2);border-radius:10px;padding:8px 11px}
  .kfbtns{display:flex;gap:8px;justify-content:flex-end;margin-top:2px}
  .kchpick{display:flex;gap:8px;flex-wrap:wrap}
  .kchp{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line-2);border-radius:11px;padding:6px 11px 6px 7px;
        cursor:pointer;font-size:12px;font-weight:700;color:var(--dim)}
  .kchp.on{border-color:rgba(76,201,240,.6);color:var(--ink);background:rgba(76,201,240,.06)}
  .kmenu{display:grid;gap:7px}
  .krow{display:grid;gap:2px;border:1px solid var(--line-2);border-radius:11px;padding:9px 12px;cursor:pointer;transition:.13s}
  .krow b{font-size:12.5px;color:var(--ink)}
  .krow i{font-style:normal;font-size:10.5px;color:var(--low)}
  .krow:hover{border-color:var(--mid)}
  .karow.bahaya{border-color:rgba(255,77,109,.3)}
  .karow.bahaya:hover{border-color:rgba(255,77,109,.6);background:rgba(255,77,109,.05)}
  .kledger{display:grid;gap:4px;max-height:220px;overflow:auto}
  .klrow{font-size:11.5px;color:var(--dim);display:flex;gap:8px;align-items:baseline}
  .klrow b{color:var(--ink);font-size:11px}
  .klts{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);flex:none;width:52px}
  .kvgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
  .kv{display:grid;place-items:center;height:52px;border:1px solid rgba(255,77,109,.4);border-radius:12px;font-size:19px;
      font-weight:900;color:#ff8aa0;cursor:pointer;font-family:"JetBrains Mono",monospace;transition:.13s}
  .kv:hover{background:rgba(255,77,109,.1)}
  .kv.ok{border-color:rgba(45,212,138,.45);color:#2dd48a}
  .kv.ok:hover{background:rgba(45,212,138,.1)}
  /* v9.66 — widget partner */
  .pscw-kaul{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:start;padding:4px 2px;height:100%}
  .pscw-kaul .pkz{display:grid;gap:5px;min-width:0}
  .pscw-kaul .pkz>b{font-size:12.5px;color:var(--ink)}
  .pscw-kaul .pkz>b em{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}
  .pscw-kaul .pkt{font-size:13.5px;font-weight:800;color:var(--ink);cursor:pointer;line-height:1.3}
  .pscw-kaul .pkt:hover{text-decoration:underline}
  .pscw-kaul .krbar{display:block}
  .pscw-kaul .pki{display:flex;gap:8px;flex-wrap:wrap}
  .pscw-kaul .pki i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--dim)}
  .pscw-kaul .pkvon{color:#ff8aa0!important;border:1px solid rgba(255,77,109,.45);border-radius:7px;padding:2px 7px;cursor:pointer}
  .pscw-kaul .pkvon:hover{background:rgba(255,77,109,.1)}
  .pscw-kaul .pkq{grid-column:1/-1;margin-top:2px}
  .pscw-kaul.kosong{align-items:center}
  .pscw-kaul.kosong .pkz>span{font-size:11px;color:var(--low)}
  .pscw-kaul .pkgo{font-size:11px;color:#4cc9f0;cursor:pointer}
  .pscw-kaul .pkgo:hover{text-decoration:underline}
  .pscw-kaul.f-lewat .kholo{animation:khrs 1.2s infinite steps(2)}
  /* v11.19 B1 — widget partner mode SEMUA/PILIH: kartu mini informatif */
  .pkw9l{display:flex;flex-direction:column;gap:7px;height:100%;min-height:0;overflow-y:auto;padding-right:2px;scrollbar-width:thin}
  .pkw9k{position:relative;display:flex;gap:9px;align-items:flex-start;padding:7px 9px;background:color-mix(in srgb,var(--panel) 72%,transparent);border:1px solid var(--line);border-left:3px solid var(--pk9c,#4cc9f0);border-radius:3px 10px 3px 10px;flex:none}
  .pkw9k .kholo{width:38px;height:38px;border-radius:9px}
  .pkw9k.f-lewat .kholo{animation:khrs 1.2s infinite steps(2)}
  .pkw9z{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
  .pkw9h{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--ink);display:flex;gap:6px;align-items:baseline;min-width:0}
  .pkw9h b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .pkw9h em{font-style:normal;font-size:8.5px;color:var(--low);flex:none;letter-spacing:.1em}
  .pkw9t{font-size:10.5px;color:var(--mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
  .pkw9t:hover{color:var(--ink)}
  .pkw9i{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.05em;color:var(--low)}
  .pkw9i i{font-style:normal}
  .pkw9k .krbar{height:4px}
  .pkw9k .krnd{margin:0;padding:4px 7px;gap:7px}
  .pkw9k .krnd .m{font-size:8.5px}
  .pkw9k .krnd .s{font-size:8px}
  .pkw9k .kstr{margin:1px 0 0}
  .pkw9k .kck{width:20px}
  .pkw9n{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.08em;color:var(--low)}
  .pkw9satu{max-height:none}
  .pkw9lain{margin-top:6px;font-size:9px;letter-spacing:.1em;color:#8fa0bf;cursor:pointer}
  .pkw9lain:hover{color:#cfe9ff}
  /* ═══ 🎴 KARTU BURON (bon #7 B3) — berkas buronan, bukan baris daftar ═══ */
  .pkw9k.brn9{display:block;padding:0;gap:0;overflow:hidden;border-left:3px solid var(--bc,#4cc9f0)}
  .brn9::before{content:"";position:absolute;left:0;right:0;top:0;height:52px;pointer-events:none;
    background:linear-gradient(180deg,color-mix(in srgb,var(--bc) 15%,transparent),transparent)}
  .brn9hd{position:relative;display:flex;gap:11px;align-items:flex-start;padding:10px 11px 9px}
  .brn9mug{position:relative;flex:0 0 auto}
  /* CAP LEWAT TENGGAT — kepotong pinggir kartu, persis berkas yang distempel.
     Dia sengaja NOL bisa diketok (pointer-events) biar nol nutupin sandera. */
  .brn9.f-lewat::after{content:"LEWAT";position:absolute;right:6px;top:9px;
    transform:rotate(11deg);pointer-events:none;opacity:.5;
    font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:800;letter-spacing:.26em;
    color:#ff4d6d;border:2px solid #ff4d6d;border-radius:4px;padding:3px 9px 3px 12px;
    box-shadow:0 0 16px -6px #ff4d6d}
  .pkw9k.brn9 .brn9mug .kholo{width:62px;height:62px;border-radius:12px}
  .brn9ct{position:absolute;right:-5px;bottom:-5px;font-style:normal;font-size:9px;font-weight:800;
    letter-spacing:.02em;padding:1px 5px;border-radius:999px;background:var(--bc,#4cc9f0);
    color:#07050d;box-shadow:0 0 11px -2px var(--bc,#4cc9f0)}
  .brn9id{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}
  .brn9nm{font-family:"JetBrains Mono",monospace;font-size:12.5px;font-weight:800;letter-spacing:.13em;
    color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    text-shadow:0 0 13px color-mix(in srgb,var(--bc) 65%,transparent)}
  .brn9meta{font-size:8px;letter-spacing:.16em;color:#7d8aa5;text-transform:uppercase;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* meter: gradasi MENGUASAI → KABUR, penandanya jalan di atasnya */
  .brn9gt{position:relative;display:block;height:5px;border-radius:3px;margin-top:3px;
    background:linear-gradient(90deg,#ff4d6d,#f2b13d 27%,#8890a3 50%,#4cc9f0 73%,#2dd48a)}
  .brn9gt::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;border-radius:3px;
    background:rgba(7,5,13,.5)}
  .brn9gt i{position:absolute;top:-3.5px;width:3px;height:12px;border-radius:2px;z-index:2;
    transform:translateX(-50%);background:var(--gc,#fff);box-shadow:0 0 10px 1px var(--gc,#fff)}
  .brn9gtl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.15em;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brn9gtl b{font-weight:800}
  /* SANDERA — kotaknya yang bikin "dia megang INI" kebaca tanpa nebak */
  .brn9hold{margin:0 11px 8px;padding:7px 9px 8px;border-radius:10px;
    border:1px dashed color-mix(in srgb,var(--bc) 45%,transparent);
    background:color-mix(in srgb,var(--bc) 8%,transparent)}
  .brn9lbl{display:block;font-family:"JetBrains Mono",monospace;font-size:7.5px;
    letter-spacing:.3em;color:var(--bc,#4cc9f0);margin-bottom:5px}
  .brn9tgt{display:flex;align-items:center;gap:9px;cursor:pointer}
  .brn9tx{flex:1 1 auto;min-width:0}
  .brn9tgt b{display:block;font-size:12px;font-weight:400;color:#eaf2ff;letter-spacing:.03em;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brn9tgt em{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;
    font-size:8px;letter-spacing:.06em;color:#8fa0bf;margin-top:4px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brn9tgt u{text-decoration:none}
  .brn9go{flex:0 0 auto;font-style:normal;font-size:14px;color:var(--bc,#4cc9f0);opacity:.75;
    transition:transform .16s ease,opacity .16s ease}
  .brn9tgt:hover b{color:#fff}
  .brn9tgt:hover .brn9go{opacity:1;transform:translateX(3px)}
  /* BUKTI — apa yang dia pegang ATAS lu */
  .brn9bkt{margin:0 11px 8px;padding:5px 9px;border-radius:8px;
    font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.07em;color:#ffc2b4;
    background:color-mix(in srgb,var(--bc) 12%,transparent);
    border-left:2px solid var(--bc,#4cc9f0)}
  .brn9bkt b{color:var(--bc,#4cc9f0);font-weight:800;letter-spacing:.14em}
  /* KERUSAKAN — angka yang sama, kalimat yang beda */
  .brn9dmg{display:flex;align-items:center;gap:9px;margin:0 11px 7px}
  .brn9dmg .krbar{flex:1 1 auto}
  .brn9dmg b{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;flex:none}
  .brn9dmg em{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7.5px;
    letter-spacing:.24em;color:#7d8aa5;flex:none}
  .brn9ft{display:flex;flex-direction:column;gap:6px;padding:0 11px 10px}
  .pkw9von{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800;color:#ff4d6d;border:1px solid color-mix(in srgb,#ff4d6d 45%,transparent);border-radius:6px;padding:2px 7px;cursor:pointer;align-self:flex-start}
  .pkw9von:hover{background:color-mix(in srgb,#ff4d6d 18%,transparent)}
  /* ===== v9.67 — 🗨 komen terakhir jalan di baris ===== */
  .kmar{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;vertical-align:middle;margin-left:6px;
        border-left:2px solid rgba(167,139,250,.45);padding:1px 0 1px 7px;cursor:pointer;opacity:.72;transition:opacity .15s}
  .kmar:hover{opacity:1}
  .kmar i{display:inline-block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:#a78bfa;
          white-space:nowrap;letter-spacing:.02em}
  .kmar.jln i{animation:kmarq var(--kd,10s) linear infinite}
  @keyframes kmarq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  .dtl.kmoff{opacity:.5;border-style:dashed}
  /* ===== v9.68 — terminal INCOMING buat omongan partner ===== */
  .kquip.ktermin{display:flex;flex-direction:column;gap:4px;border:1px solid color-mix(in srgb,var(--hc,#4cc9f0) 36%,transparent);
    border-radius:11px;padding:7px 11px 8px;font-style:normal;position:relative;overflow:hidden;cursor:pointer;
    background:linear-gradient(180deg,color-mix(in srgb,var(--hc,#4cc9f0) 8%,transparent),transparent 60%),rgba(0,0,0,.28);
    box-shadow:0 0 13px -8px var(--hc,#4cc9f0),inset 0 0 20px -15px var(--hc,#4cc9f0)}
  .kquip.ktermin:hover{border-color:color-mix(in srgb,var(--hc,#4cc9f0) 60%,transparent)}
  .kquip.ktermin::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.017) 3px 4px)}
  .ktermin .kth{display:flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;font-size:8.5px;
    letter-spacing:.16em;color:var(--hc,#4cc9f0);opacity:.85}
  .ktermin .ktdot{width:6px;height:6px;border-radius:50%;background:var(--hc,#4cc9f0);
    box-shadow:0 0 7px var(--hc,#4cc9f0);animation:ktdot 1.6s infinite}
  .ktermin .ktb{font-size:12.5px;color:var(--ink);font-style:italic;line-height:1.5}
  .ktermin .ktcur{display:inline-block;width:7px;height:12px;margin-left:3px;vertical-align:-2px;
    background:var(--hc,#4cc9f0);opacity:.85;animation:ktcur 1.05s steps(1) infinite}
  @keyframes ktdot{0%,100%{opacity:1}50%{opacity:.22}}
  @keyframes ktcur{0%,49%{opacity:.85}50%,100%{opacity:0}}
  /* ===== v9.69 — hasil spin ngambang di pusat roda + auto-muter ===== */
  .carstage{position:relative}
  .carwinov{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:4}
  .carwinov .carwin9{pointer-events:auto;margin:0;max-width:88%;border-radius:6px 16px 6px 16px;
    background:linear-gradient(150deg,color-mix(in srgb,var(--cc9,#ff2d78) 20%,rgba(5,7,12,.94)),rgba(5,7,12,.94));
    backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
    box-shadow:0 0 34px -10px var(--cc9,#ff2d78),inset 0 0 30px -18px var(--cc9,#ff2d78),0 18px 40px -18px rgba(0,0,0,.85);
    animation:carfl 3.6s ease-in-out infinite,c2in .28s ease}
  @keyframes carfl{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  .carbtn.lagi9{font-size:11.5px;padding:7px 16px;border-radius:99px;
    background:linear-gradient(120deg,color-mix(in srgb,var(--cc9,#ff2d78) 34%,transparent),color-mix(in srgb,var(--cc9,#ff2d78) 12%,transparent));
    border:1px solid color-mix(in srgb,var(--cc9,#ff2d78) 70%,transparent);
    box-shadow:0 0 16px -5px var(--cc9,#ff2d78);text-shadow:0 0 8px var(--cc9,#ff2d78);letter-spacing:.12em}
  .carbtn.lagi9:hover{box-shadow:0 0 24px -4px var(--cc9,#ff2d78);transform:translateY(-1px)}
  .carcd{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.1em;color:var(--cc9,#ff2d78);
    border:1px dashed color-mix(in srgb,var(--cc9,#ff2d78) 45%,transparent);border-radius:8px;padding:4px 8px;opacity:.85}
  /* ===== v9.70 — SUPER TRAIL ===== */
  .stbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:10px 0}
  .stchip{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.08em;border:1px solid var(--line-2);
    border-radius:9px;padding:5px 9px;cursor:pointer;color:var(--dim);transition:.13s}
  .stchip:hover{border-color:var(--mid);color:var(--ink)}
  .stchip.on{border-color:rgba(255,138,60,.55);color:#ff8a3c;background:rgba(255,138,60,.07)}
  .stq{margin-left:auto;background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
    padding:6px 10px;font-size:12px;outline:none;min-width:170px}
  .stq:focus{border-color:rgba(255,138,60,.5)}
  .stlist{display:grid;gap:3px}
  .sthari{font-family:"Chakra Petch",sans-serif;font-size:11px;font-weight:800;letter-spacing:.22em;color:#ff8a3c;
    margin:14px 0 5px;display:flex;align-items:center;gap:10px}
  .sthari::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,138,60,.4),transparent)}
  .strow{display:flex;gap:9px;align-items:baseline;padding:4px 8px;border-radius:8px;border-left:2px solid transparent}
  .strow:hover{background:rgba(255,255,255,.025);border-left-color:rgba(255,138,60,.5)}
  .stjam{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:none;width:34px}
  .ste{flex:none}
  .stt{font-size:12.5px;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .stsn{margin-left:auto;flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;color:var(--low)}
  .stmore{text-align:center;padding:9px;border:1px dashed var(--line-2);border-radius:10px;color:var(--dim);cursor:pointer;
    font-size:11px;letter-spacing:.08em;margin-top:8px}
  .stmore:hover{color:var(--ink);border-color:var(--mid)}
  /* v9.71 — overlay pemenang versi widget */
  .pcw-stage .carwinov{z-index:5}
  .carwin9.mini9{padding:8px 10px;max-width:92%}
  .carwin9.mini9 .carwt{font-size:13.5px;cursor:pointer}
  .carwin9.mini9 .carwt:hover{text-decoration:underline}
  .carwin9.mini9 .caract{margin-top:6px}
  /* ===== v9.72 — sheet pilih widget ===== */
  .pwsheet{display:grid;gap:8px;padding:2px}
  .pwq{background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);
    padding:9px 12px;font-size:13px;outline:none;width:100%}
  .pwq:focus{border-color:rgba(34,211,238,.5)}
  .pwsheet .pwgcap{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.16em;color:var(--low);
    margin:6px 0 0;padding:0;border:0;background:none;display:block}
  .pwsheet .pwgcap span{color:var(--low)}
  .pwsheet .pwgrid9{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:7px}
  .pwsheet .pwkad{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:11px;padding:10px 12px;
    font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;transition:.13s;background:rgba(255,255,255,.015);
    white-space:normal;gap:6px}
  .pwsheet .pwkad:hover{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.06);transform:translateY(-1px);
    box-shadow:0 0 14px -8px #22d3ee;color:var(--ink)}
  /* v9.73 — sandbox multi-sumber + pantau nempel */
  .ppnx{font-style:normal;opacity:.55;margin-left:5px;cursor:pointer}
  .ppnx:hover{opacity:1;color:#ff5d5d}
  #ppnthost .pnbts{margin-bottom:8px}
  /* ===== v9.74 — respect & feeling ===== */
  .kfeel{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.08em;color:var(--fc,#8890a3);
    border:1px solid color-mix(in srgb,var(--fc,#8890a3) 40%,transparent);border-radius:7px;padding:2px 7px;margin-top:2px}
  .kholo.aura{box-shadow:0 0 30px -2px var(--hc,#4cc9f0),inset 0 -8px 18px -6px var(--hc,#4cc9f0)}
  .kholo.aura::before{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--hc,#4cc9f0) 55%,transparent);
    animation:kaura 2.6s ease-in-out infinite;pointer-events:none}
  @keyframes kaura{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:.25;transform:scale(1.09)}}
  .kholo.abyss{filter:invert(1) hue-rotate(180deg) drop-shadow(0 0 4px color-mix(in srgb,var(--hc,#4cc9f0) 45%,transparent))}
  .kholo.abyss svg,.kholo.abyss img{animation:khrs .5s infinite steps(2)}
  /* v9.76 — banner eror yang KELIATAN */
  #eror9{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:99999;display:flex;gap:9px;align-items:center;
    background:rgba(30,5,12,.96);border:1px solid rgba(255,77,109,.65);border-radius:12px;padding:9px 14px;max-width:min(680px,92vw);
    font-size:12px;color:#ffb3c2;box-shadow:0 8px 30px -8px rgba(255,45,85,.5);backdrop-filter:blur(6px)}
  #eror9 b{color:#ff4d6d;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;flex:none}
  #eror9 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"JetBrains Mono",monospace;font-size:10.5px}
  #eror9 i{font-style:normal;cursor:pointer;opacity:.7;flex:none}
  #eror9 i:hover{opacity:1}
  /* ===== v9.78 — 🏁 widget SKOR ===== */
  .pskor{display:flex;flex-direction:column;gap:9px;height:100%;padding:2px}
  .skq{font-size:12px;font-style:italic;color:var(--dim);border-left:2px solid var(--now);padding:3px 0 3px 9px;line-height:1.45}
  .skbig{display:flex;align-items:baseline;gap:10px}
  .skbig b{font-family:"Chakra Petch",sans-serif;font-size:46px;color:var(--now);text-shadow:0 0 18px color-mix(in srgb,var(--now) 55%,transparent)}
  .skbig i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.14em;color:var(--low)}
  .skrow3{display:flex;gap:10px;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--dim)}
  .skstat{display:grid;gap:7px}
  .skst{display:grid;grid-template-columns:86px 1fr 26px;gap:8px;align-items:center;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--dim)}
  .skst i{display:block;height:7px;border-radius:99px;box-shadow:0 0 8px -2px currentColor;transition:width .4s}
  .skst b{text-align:right;color:var(--ink);font-size:12px}
  .skst.tot{grid-template-columns:1fr 26px;border-top:1px dashed var(--line-2);padding-top:6px}
  .skvs{display:grid;gap:9px;margin-top:4px}
  .skvr{display:grid;grid-template-columns:64px 1fr 26px;gap:8px;align-items:center;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--dim)}
  .skvr i{display:block;height:13px;border-radius:4px;background:var(--mid);box-shadow:0 0 10px -3px var(--now);transition:width .5s}
  .skvr.kmrn i{opacity:.45;box-shadow:none}
  .skvr b{color:var(--ink);font-size:13px;text-align:right}
  .skgrf{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:end;min-height:70px}
  .skgc{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;height:100%}
  .skgc b{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--dim)}
  .skgc i{width:70%;border-radius:5px 5px 2px 2px;background:color-mix(in srgb,var(--now) 30%,transparent);border:1px solid color-mix(in srgb,var(--now) 45%,transparent);transition:height .5s;position:relative;overflow:hidden}
  /* v10.92 — 🚩 segmen ROUTINE di dasar bar (stack): "dibedanin aja routine
     graph dari yg biasa biru... jadi keliatan berapa routine berapa non" —
     ungu 💫 yang sama kaya gaya stat, biar satu bahasa warna */
  .skgc i .skru9{position:absolute;left:0;right:0;bottom:0;display:block;
    background:linear-gradient(180deg,color-mix(in srgb,#a78bfa 80%,#fff 6%),#7c5fd6);box-shadow:0 0 9px -2px #a78bfa}
  .sklg9{display:flex;align-items:center;gap:5px;font-family:"JetBrains Mono",monospace;font-size:6.5px;letter-spacing:.12em;color:var(--low);margin:2px 2px 3px}
  .sklg9 i{width:7px;height:7px;border-radius:2px;display:inline-block}
  .sklg9 i.a{background:#a78bfa;box-shadow:0 0 5px #a78bfa}
  .sklg9 i.b{background:color-mix(in srgb,var(--now) 55%,transparent);margin-left:7px}
  .skgc span{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.08em;color:var(--low)}
  .skgc.ini i{background:color-mix(in srgb,var(--now) 65%,transparent);box-shadow:0 0 14px -4px var(--now)}
  .skgc.ini b,.skgc.ini span{color:var(--now)}
  .skgc.rek i{border-color:#f2b13d;box-shadow:0 0 12px -4px #f2b13d}
  /* v9.83 — nav mundur/maju + rentang panjang + popup rincian (nama sk* unik) */
  .skgc{cursor:pointer}
  .skgc:hover i{border-color:var(--now);box-shadow:0 0 12px -3px var(--now)}
  .sknav{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace}
  .sknav b{width:24px;height:19px;display:grid;place-items:center;cursor:pointer;font-size:12px;line-height:1;color:var(--now);
           border:1px solid color-mix(in srgb,var(--now) 45%,transparent);border-radius:5px;user-select:none;transition:.13s}
  .sknav b:hover{background:color-mix(in srgb,var(--now) 13%,transparent);box-shadow:0 0 11px -3px var(--now)}
  .sknav b.mati{opacity:.22;pointer-events:none}
  .sknav span{flex:1;text-align:center;font-size:8.5px;letter-spacing:.13em;color:var(--low)}
  .skgrf.r30{gap:2px}
  .skgrf.r30 .skgc b{font-size:6.5px}
  .skgrf.r30 .skgc span{font-size:6px}
  .skgrf.r30 .skgc i{width:88%;border-radius:2px 2px 1px 1px}
  .skgrf.r365 .skgc b{font-size:7.5px}
  .skgrf.r365 .skgc span{font-size:6.5px}
  /* v9.87 — position:relative DIBUANG: dia ngalahin .pop{position:fixed} dan bikin
     popup ngalir ke dasar dokumen ("LAHH nongolnya dibawah"). Anak absolut (.skpx)
     tetep nempel bener karena fixed juga non-static. */
  .skpop{min-width:250px;max-width:340px;padding:12px 13px;font-family:"JetBrains Mono",monospace;
         border:1px solid color-mix(in srgb,var(--now) 45%,transparent);
         box-shadow:0 0 26px -8px color-mix(in srgb,var(--now) 55%,transparent),0 18px 50px -12px rgba(0,0,0,.8)}
  .skpop .skpx{position:absolute;top:7px;right:10px;font-style:normal;font-size:8px;color:color-mix(in srgb,var(--now) 55%,transparent);letter-spacing:2px}
  .skph{display:flex;align-items:baseline;gap:9px;padding-bottom:7px;border-bottom:1px dashed var(--line-2);margin-bottom:7px}
  .skph b{font-family:"Chakra Petch",sans-serif;font-size:30px;color:var(--now);text-shadow:0 0 14px color-mix(in srgb,var(--now) 55%,transparent)}
  .skph span{font-size:9.5px;letter-spacing:.12em;color:var(--low)}
  .skps{display:grid;gap:2px;margin:5px 0}
  .skpr{display:flex;gap:8px;align-items:baseline;font-size:11px;color:var(--mid)}
  .skpr i{font-style:normal;flex:none}
  .skpr span{flex:1}
  .skpr b{color:var(--ink)}
  .skpr.jdl span{letter-spacing:.1em;font-size:10px;color:var(--dim)}
  .skpi{font-size:10px;color:var(--mid);padding-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .skpi.lagi{color:var(--low);font-style:italic}
  /* v9.97 — jembreng semua: >10 item dipecah dua kolom menyamping */
  .skpop.lebar9{min-width:520px;max-width:620px}
  .skpil9.dua{column-count:2;column-gap:16px}
  .skpil9.dua .skpi{break-inside:avoid}
  .skpn{margin-top:7px;padding-top:6px;border-top:1px dashed var(--line-2);font-size:8.5px;letter-spacing:.08em;color:var(--low)}
  .skmar{overflow:hidden;border-top:1px dashed var(--line-2);padding-top:5px}
  .skmar i{display:inline-block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:#2dd48a;
    white-space:nowrap;animation:kmarq 26s linear infinite;text-shadow:0 0 8px rgba(45,212,138,.4)}
:root{
  /* v10.17 — TOKEN MODUL RANSOM COIN.
     Ini bolong #1 dari dokumen master: empat token ini cuma idup di :root
     halaman MOCKUP, ga ikut kesalin di "Blok 1 CSS WAJIB". Tanpa mereka tiap
     color-mix(in srgb,var(--rc9c) …) di 130 kelas modul jadi nilai INVALID —
     dan invalid di CSS itu diem-diem: nol pesan error, cuma aturannya dibuang.
     Hasilnya brankas jadi kotak item tanpa garis, tanpa gradien, tanpa pendar,
     dan cakram hologramnya (stroke=currentColor) jatuh jadi abu-abu. */
  --rc9c:#ffd166;    /* emas — aksen RANSOM COIN */
  --rc9m:#2dd48a;    /* ijo — nambang */
  --rc9b:#ff5d5d;    /* merah — bakar */
  --rc9l:#4cc9f0;    /* cyan — buku besar */
}
/* ══════════════════════════════════════════════════════════════════════════
   MODUL RANSOM COIN — SEMUA kelas berawalan rc9 (nol tabrakan, terverifikasi
   0 hit `.rc9` di index.html)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. BRANKAS (hero) ────────────────────────────────────────────────── */
.rc9vault{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;
  border:1px solid color-mix(in srgb,var(--rc9c) 30%,transparent);border-radius:16px;padding:20px 24px;margin-bottom:24px;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--rc9c) 7%,transparent),transparent 62%),linear-gradient(180deg,var(--panel-2),var(--panel));
  box-shadow:0 0 34px -22px var(--rc9c),inset 0 0 60px -48px var(--rc9c)}
.rc9vault::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.016) 3px 4px)}
.rc9vault::before{content:"";position:absolute;left:0;right:0;height:44px;top:-44px;pointer-events:none;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--rc9c) 12%,transparent),transparent);animation:rc9scan 5.2s linear infinite}
@keyframes rc9scan{to{transform:translateY(calc(100% + 240px))}}
@media(max-width:820px){.rc9vault{grid-template-columns:1fr;text-align:center;justify-items:center;gap:16px}}

/* cakram brankas */
.rc9disc{position:relative;width:132px;height:132px;flex:0 0 auto;color:var(--rc9c)}
.rc9disc svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.rc9disc .rc9ring{animation:rc9spin 26s linear infinite;transform-origin:50% 50%}
.rc9disc .rc9ring2{animation:rc9spin 17s linear infinite reverse;transform-origin:50% 50%}
.rc9disc .rc9brt{animation:rc9breathe 3.4s ease-in-out infinite}
.rc9disc .rc9pip{fill:currentColor;stroke:none}
.rc9disc::after{content:"";position:absolute;inset:14%;border-radius:50%;pointer-events:none;
  box-shadow:0 0 42px -8px var(--rc9c);opacity:.5;animation:rc9breathe 3.4s ease-in-out infinite}
@keyframes rc9spin{to{transform:rotate(360deg)}}
@keyframes rc9breathe{0%,100%{opacity:.42}50%{opacity:1}}
.rc9disc.rc9kosong{color:var(--low);filter:saturate(.2)}
.rc9disc.rc9kosong::after{opacity:.12}

/* angka saldo */
.rc9num{display:flex;flex-direction:column;gap:5px;min-width:0}
.rc9nlbl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--low)}
.rc9nbig{font-family:"JetBrains Mono",monospace;font-weight:800;font-size:clamp(46px,8vw,74px);line-height:.94;color:var(--rc9c);
  text-shadow:.9px 0 0 rgba(255,60,120,.42),-.9px 0 0 rgba(64,220,255,.38),0 0 34px color-mix(in srgb,var(--rc9c) 42%,transparent);
  display:flex;align-items:baseline;gap:10px}
.rc9nbig i{font-style:normal;font-family:"Chakra Petch",sans-serif;font-size:15px;font-weight:700;letter-spacing:.2em;color:var(--mid);text-shadow:none}
.rc9nbig.rc9zero{color:var(--yore);text-shadow:.9px 0 0 rgba(255,60,120,.5),-.9px 0 0 rgba(64,220,255,.3),0 0 34px rgba(255,93,93,.4)}
.rc9nbig.rc9hit{animation:rc9glitch .42s steps(2) 2}
@keyframes rc9glitch{0%{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-1px)}100%{transform:translate(0,0)}}
.rc9nsub{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--mid);letter-spacing:.04em}
.rc9nsub b{color:var(--rc9c)}

/* daya beli + statistik hari ini */
.rc9daya{display:flex;flex-direction:column;gap:9px;min-width:186px}
.rc9dcard{border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:rgba(0,0,0,.24)}
.rc9dlbl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--low);margin-bottom:3px}
.rc9dval{font-family:"JetBrains Mono",monospace;font-weight:800;font-size:17px;color:var(--ink)}
.rc9dval small{font-size:9.5px;color:var(--mid);font-weight:400;margin-left:3px}
.rc9dval.up{color:var(--rc9m)}.rc9dval.dn{color:var(--rc9b)}

/* ── 2. ATURAN GUE (manifesto) ────────────────────────────────────────── */
.rc9rule{position:relative;border:1px dashed color-mix(in srgb,var(--violet) 44%,transparent);border-radius:12px;padding:13px 16px;
  margin-bottom:24px;background:rgba(167,139,250,.05);display:flex;gap:13px;align-items:flex-start}
.rc9rule .rc9rk{font-size:19px;line-height:1;flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(167,139,250,.5))}
.rc9rule .rc9rt{font-size:13px;line-height:1.6;color:var(--ink);font-style:italic;flex:1;min-width:0}
.rc9rule .rc9rh{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--violet);
  display:block;margin-bottom:4px;font-style:normal}
.rc9rule .rc9red{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);cursor:pointer;border:1px solid var(--line-2);
  border-radius:6px;padding:3px 7px;flex:0 0 auto}
.rc9rule .rc9red:hover{color:var(--violet);border-color:var(--violet)}

/* ── 3. RAK KEGIATAN (nambang & bakar) ────────────────────────────────── */
.rc9grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:11px;margin-bottom:28px}
.rc9k{position:relative;border:1px solid var(--line);border-radius:13px;padding:13px 14px 12px;overflow:hidden;transition:.18s;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));display:flex;flex-direction:column}
.rc9k::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--kc9,var(--rc9m));
  box-shadow:0 0 14px -2px var(--kc9,var(--rc9m))}
.rc9k:hover{border-color:color-mix(in srgb,var(--kc9,var(--rc9m)) 50%,transparent);transform:translateY(-2px)}
.rc9k .rc9kh{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.rc9k .rc9ke{font-size:19px;line-height:1;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--kc9,var(--rc9m)) 60%,transparent))}
.rc9k .rc9kn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14.5px;flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc9k .rc9kcog{font-size:11px;color:var(--low);cursor:pointer;padding:2px 4px;border-radius:5px;flex:0 0 auto}
.rc9k .rc9kcog:hover{color:var(--kc9,var(--rc9m));background:rgba(255,255,255,.05)}
.rc9k .rc9kspec{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--mid);display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.rc9k .rc9kspec i{font-style:normal;border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;background:rgba(0,0,0,.25)}
.rc9k .rc9kspec i.rc9hot{color:var(--kc9,var(--rc9m));border-color:color-mix(in srgb,var(--kc9,var(--rc9m)) 45%,transparent)}
.rc9k .rc9kfoot{display:flex;align-items:center;gap:7px;margin-top:auto}
.rc9k .rc9kfoot .rc9go{flex:1}
.rc9k .rc9khari{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-bottom:8px;
  display:flex;align-items:center;gap:6px;min-height:15px;letter-spacing:.03em}
.rc9k .rc9khari b{color:var(--kc9,var(--rc9m));font-weight:800}

/* tombol aksi */
.rc9go{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--kc9,var(--rc9m));color:var(--kc9,var(--rc9m));background:color-mix(in srgb,var(--kc9,var(--rc9m)) 11%,transparent);
  border-radius:8px;padding:7px 13px;cursor:pointer;transition:.15s;white-space:nowrap;position:relative;overflow:hidden}
.rc9go:hover{background:var(--kc9,var(--rc9m));color:var(--void);box-shadow:0 0 18px -4px var(--kc9,var(--rc9m))}
.rc9go:active{transform:scale(.95)}
.rc9go.rc9lock{border-color:var(--line-2);color:var(--low);background:rgba(0,0,0,.3);cursor:not-allowed}
.rc9go.rc9lock:hover{background:rgba(0,0,0,.3);color:var(--low);box-shadow:none}
.rc9go.rc9lock.rc9shake{animation:rc9rattle .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes rc9rattle{10%,90%{transform:translateX(-1.5px)}20%,80%{transform:translateX(3px)}30%,50%,70%{transform:translateX(-5px)}40%,60%{transform:translateX(5px)}}
.rc9qty{display:flex;align-items:center;gap:0;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;flex:0 0 auto}
.rc9qty span{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800;padding:6px 8px;cursor:pointer;color:var(--mid);
  background:rgba(0,0,0,.3);transition:.13s;user-select:none}
.rc9qty span:hover{color:var(--kc9,var(--rc9m));background:color-mix(in srgb,var(--kc9,var(--rc9m)) 15%,transparent)}
.rc9qty b{font-family:"JetBrains Mono",monospace;font-size:11.5px;font-weight:800;min-width:34px;text-align:center;color:var(--ink)}

/* kartu terkunci */
.rc9k.rc9dead{opacity:.62}
.rc9k.rc9dead::before{background:var(--low);box-shadow:none}
.rc9k .rc9need{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--yore);letter-spacing:.06em}
.rc9gembok{width:15px;height:15px;flex:0 0 auto;color:var(--low);vertical-align:-3px}
.rc9gembok svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.rc9k.rc9dead:hover .rc9gembok{color:var(--yore);animation:rc9rattle .42s}

/* nyantol ke routine */
.rc9link{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;color:var(--now);
  border:1px solid rgba(76,201,240,.35);border-radius:5px;padding:1.5px 5px;background:rgba(76,201,240,.07)}
.rc9link.rc9auto{color:var(--rc9c);border-color:rgba(255,209,102,.4);background:rgba(255,209,102,.08)}

/* ── 4. TIMER BAKAR ───────────────────────────────────────────────────── */
.rc9live{position:relative;border:1px solid color-mix(in srgb,var(--rc9b) 46%,transparent);border-radius:14px;padding:15px 18px;
  margin-bottom:24px;overflow:hidden;background:linear-gradient(180deg,rgba(255,93,93,.1),transparent 66%),rgba(0,0,0,.34);
  box-shadow:0 0 30px -18px var(--rc9b),inset 0 0 50px -40px var(--rc9b)}
.rc9live::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,120,120,.02) 3px 4px)}
.rc9live.rc9habis{animation:rc9alarm 1.05s steps(1) infinite}
@keyframes rc9alarm{0%,49%{border-color:color-mix(in srgb,var(--rc9b) 46%,transparent)}50%,100%{border-color:var(--rc9b);box-shadow:0 0 40px -12px var(--rc9b)}}
.rc9lvh{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-family:"JetBrains Mono",monospace;font-size:8.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--rc9b)}
.rc9lvh i{width:6px;height:6px;border-radius:50%;background:var(--rc9b);box-shadow:0 0 8px var(--rc9b);animation:rc9dot 1.5s infinite;font-style:normal}
@keyframes rc9dot{0%,100%{opacity:1}50%{opacity:.2}}
.rc9lvb{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rc9lvclk{font-family:"JetBrains Mono",monospace;font-weight:800;font-size:38px;line-height:1;color:var(--ink);
  text-shadow:.9px 0 0 rgba(255,60,120,.4),-.9px 0 0 rgba(64,220,255,.34),0 0 26px rgba(255,93,93,.35)}
.rc9lvwhat{flex:1;min-width:130px}
.rc9lvwhat b{font-family:"Chakra Petch",sans-serif;font-size:15px;display:block}
.rc9lvwhat small{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid)}
.rc9lvbar{height:5px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:11px;position:relative}
.rc9lvbar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--rc9b),#ff9f43);
  box-shadow:0 0 12px -2px var(--rc9b);transition:width .5s linear}
.rc9lvbtn{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.35);border-radius:8px;padding:7px 12px;cursor:pointer;transition:.15s}
.rc9lvbtn:hover{border-color:var(--rc9m);color:var(--rc9m)}

/* chip countdown di topbar */
.rc9chip{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--rc9b) 50%,transparent);
  border-radius:9px;padding:5px 10px;background:rgba(255,93,93,.09);cursor:pointer;position:relative;overflow:hidden}
.rc9chip i{font-style:normal;font-size:12px;filter:drop-shadow(0 0 6px var(--rc9b))}
.rc9chip b{font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800;color:var(--ink);letter-spacing:.02em}
.rc9chip s{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;color:var(--rc9b);text-transform:uppercase}
.rc9chip::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:var(--rc9w,100%);background:var(--rc9b);
  box-shadow:0 0 8px var(--rc9b);transition:width .5s linear}
.rc9chip.rc9tipis{animation:rc9alarm 1s steps(1) infinite}

/* ── 5. BUKU BESAR (terminal ledger) ──────────────────────────────────── */
.rc9lg{border:1px solid color-mix(in srgb,var(--rc9l) 30%,transparent);border-radius:13px;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--rc9l) 6%,transparent),transparent 45%),rgba(0,0,0,.3);position:relative}
.rc9lg::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.015) 3px 4px)}
.rc9lgh{display:flex;align-items:center;gap:9px;padding:9px 13px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--rc9l);flex-wrap:wrap}
.rc9lgh i{width:6px;height:6px;border-radius:50%;background:var(--rc9l);box-shadow:0 0 7px var(--rc9l);animation:rc9dot 1.6s infinite;font-style:normal}
.rc9lgh .rc9sp{flex:1}
.rc9fc{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em;padding:3px 8px;border-radius:6px;
  border:1px solid var(--line-2);color:var(--low);cursor:pointer;transition:.14s;text-transform:uppercase}
.rc9fc:hover{color:var(--ink);border-color:var(--rc9l)}
.rc9fc.on{color:var(--void);background:var(--rc9l);border-color:var(--rc9l)}
.rc9lgb{max-height:330px;overflow-y:auto;padding:5px 0}
.rc9row{display:flex;align-items:center;gap:10px;padding:7px 13px;border-bottom:1px solid rgba(255,255,255,.033);
  font-family:"JetBrains Mono",monospace;font-size:11px;transition:.13s}
.rc9row:hover{background:rgba(255,255,255,.026)}
.rc9row:last-child{border-bottom:0}
.rc9row .rc9jam{font-size:9px;color:var(--low);flex:0 0 auto;min-width:74px}
.rc9row .rc9ico{font-size:12px;flex:0 0 auto;width:17px;text-align:center}
.rc9row .rc9txt{flex:1;min-width:0;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Barlow,sans-serif;font-size:12.5px}
.rc9row .rc9txt em{font-style:normal;color:var(--low);font-size:10px;font-family:"JetBrains Mono",monospace;margin-left:6px}
.rc9row .rc9dv{font-weight:800;font-size:12px;flex:0 0 auto;min-width:42px;text-align:right}
.rc9row .rc9dv.up{color:var(--rc9m);text-shadow:0 0 11px rgba(45,212,138,.4)}
.rc9row .rc9dv.dn{color:var(--rc9b);text-shadow:0 0 11px rgba(255,93,93,.4)}
.rc9row .rc9dv.nt{color:var(--low)}
.rc9row.rc9baru{animation:rc9flash 1.5s ease-out}
@keyframes rc9flash{0%{background:rgba(255,209,102,.2)}100%{background:transparent}}
.rc9hari{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--low);
  padding:9px 13px 4px;display:flex;align-items:center;gap:9px}
.rc9hari::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.rc9kosongbox{padding:26px 16px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--low);line-height:1.9}

/* ── 6. koin terbang (+1 / −1) ────────────────────────────────────────── */
.rc9fly{position:fixed;z-index:200;pointer-events:none;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:19px;
  display:flex;align-items:center;gap:5px;animation:rc9float 1.15s cubic-bezier(.2,.7,.3,1) forwards}
.rc9fly svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:5;stroke-linejoin:round}
@keyframes rc9float{0%{opacity:0;transform:translateY(6px) scale(.7)}18%{opacity:1;transform:translateY(-6px) scale(1.12)}
  100%{opacity:0;transform:translateY(-64px) scale(.86)}}
/* bara api pas bakar */
.rc9ember{position:fixed;z-index:199;pointer-events:none;width:4px;height:4px;border-radius:50%;background:#ff9f43;
  box-shadow:0 0 8px #ff5d5d;animation:rc9rise 1.25s ease-out forwards}
@keyframes rc9rise{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx,0),-72px) scale(.2)}}

/* ── 7. toast ─────────────────────────────────────────────────────────── */
.rc9toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:300;border:1px solid var(--line-2);
  border-radius:11px;padding:11px 18px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(10px);
  font-size:12.5px;box-shadow:0 16px 44px -20px #000;animation:rc9tin .3s ease-out;max-width:min(440px,90vw)}
@keyframes rc9tin{from{opacity:0;transform:translate(-50%,14px)}}

/* ── 8. sheet / dialog ────────────────────────────────────────────────── */
.rc9scrim{position:fixed;inset:0;z-index:250;background:rgba(2,3,6,.72);backdrop-filter:blur(4px);display:flex;
  align-items:center;justify-content:center;padding:20px;animation:rc9fade .18s}
@keyframes rc9fade{from{opacity:0}}
.rc9sheet{width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;border:1px solid var(--line-2);border-radius:15px;
  overflow:hidden;background:var(--panel);box-shadow:0 30px 80px -30px #000,0 0 0 1px color-mix(in srgb,var(--shc,var(--rc9c)) 22%,transparent)}
.rc9shd{display:flex;align-items:center;gap:10px;padding:13px 17px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--shc,var(--rc9c)) 9%,transparent),transparent)}
.rc9shd b{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.05em}
.rc9shd small{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:1}
.rc9shd s{text-decoration:none;cursor:pointer;color:var(--low);font-size:15px;padding:2px 6px;border-radius:6px}
.rc9shd s:hover{color:var(--yore);background:rgba(255,93,93,.1)}
.rc9sbd{padding:15px 17px;overflow-y:auto}
.rc9f{margin-bottom:13px}
.rc9f>label{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--low);margin-bottom:5px}
.rc9in{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:8px;padding:8px 11px;font-size:13px;outline:none;transition:.15s}
.rc9in:focus{border-color:var(--rc9c);box-shadow:0 0 0 3px rgba(255,209,102,.1)}
.rc9r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc9r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.rc9chips{display:flex;gap:5px;flex-wrap:wrap}
.rc9chips span{font-family:"JetBrains Mono",monospace;font-size:10px;padding:5px 10px;border-radius:7px;border:1px solid var(--line-2);
  color:var(--mid);cursor:pointer;transition:.13s}
.rc9chips span:hover{border-color:var(--rc9c);color:var(--ink)}
.rc9chips span.on{background:var(--rc9c);color:var(--void);border-color:var(--rc9c);font-weight:800}
.rc9pal{display:flex;gap:4px;flex-wrap:wrap}
.rc9pal span{width:16px;height:16px;border-radius:5px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);transition:.12s}
.rc9pal span:hover{transform:scale(1.25);box-shadow:0 0 9px -1px currentColor}
.rc9pal span.on{outline:2px solid rgba(255,255,255,.4);box-shadow:0 0 9px -1px currentColor}
.rc9sft{display:flex;gap:8px;padding:12px 17px;border-top:1px solid var(--line);justify-content:flex-end;flex-wrap:wrap}
.rc9btn{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.3);border-radius:8px;padding:8px 15px;cursor:pointer;transition:.15s}
.rc9btn:hover{color:var(--ink);border-color:var(--mid)}
.rc9btn.pri{background:var(--rc9c);color:var(--void);border-color:var(--rc9c)}
.rc9btn.pri:hover{box-shadow:0 0 20px -5px var(--rc9c)}
.rc9btn.bad{border-color:rgba(255,93,93,.4);color:var(--yore)}
.rc9btn.bad:hover{background:rgba(255,93,93,.14)}
.rc9hint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);line-height:1.75;margin-top:4px}

/* ── 9. widget (buat The Screen) ──────────────────────────────────────── */
.rc9wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:12px}
.rc9wg{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.rc9wgh{display:flex;align-items:center;gap:7px;padding:7px 11px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--low)}
.rc9wgh b{color:var(--rc9c);font-weight:800}
.rc9wgh .rc9sp{flex:1}
.rc9wgb{padding:12px}
.rc9mini{display:flex;align-items:center;gap:12px}
.rc9mini .rc9disc{width:62px;height:62px}
.rc9mnum{font-family:"JetBrains Mono",monospace;font-weight:800;font-size:31px;line-height:1;color:var(--rc9c);
  text-shadow:.7px 0 0 rgba(255,60,120,.4),-.7px 0 0 rgba(64,220,255,.34),0 0 20px color-mix(in srgb,var(--rc9c) 40%,transparent)}
.rc9mlbl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--low);margin-top:3px}
.rc9wrow{display:flex;align-items:center;gap:7px;padding:5px 0;border-top:1px solid rgba(255,255,255,.04);
  font-family:"JetBrains Mono",monospace;font-size:10.5px}
.rc9wrow em{font-style:normal;flex:1;color:var(--mid);font-family:Barlow,sans-serif;font-size:12px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc9wrow b{font-weight:800}
.rc9wrow b.up{color:var(--rc9m)}.rc9wrow b.dn{color:var(--rc9b)}

/* ══════════════════════════════════════════════════════════════════════════
   v2 — SESI · 9 GAYA TIMER · AMANDEMEN · COGWHEEL · PICKER
   ══════════════════════════════════════════════════════════════════════════ */

/* warna halaman ikut sesi (Keputusan 4A) */
/* v10.17 — bolong #2: .rc9pop nol aturan, padahal .pop punya kita itu MENU
   GRID DUA KOLOM (baris .pop{display:grid;grid-template-columns:1fr 1fr}).
   .pop.insheet cuma ngelepas posisi/lebar/tinggi — grid-nya ga direset, jadi
   badan dialog & footer ke-tarik jadi dua kolom sejajar. Di-scope ke .rc9pop
   doang biar lembar-lembar lama yang MEMANG butuh dua kolom nol kesenggol. */
.pop.rc9pop{display:block;grid-template-columns:none;gap:0;padding:0;min-width:0;max-height:none;overflow:visible}
.pop.rc9pop .rc9sbd{padding:15px 17px}
.pop.rc9pop .rc9sft{background:var(--panel)}   /* nol sticky: numpuk di tengah isi pas lembarnya panjang — footer nempel di ujung, persis mockup */
body[data-sesi="mine"]{--rc9c:#2dd48a}
body[data-sesi="burn"]{--rc9c:#ff5d5d}
body[data-sesi]{transition:none}

/* ── PANEL SESI ───────────────────────────────────────────────────────── */
.rc9ses{position:relative;border:1px solid color-mix(in srgb,var(--rc9s) 45%,transparent);border-radius:15px;padding:15px 18px 16px;
  margin-bottom:24px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--rc9s) 10%,transparent),transparent 64%),rgba(0,0,0,.34);
  box-shadow:0 0 32px -20px var(--rc9s),inset 0 0 54px -42px var(--rc9s)}
.rc9ses::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.017) 3px 4px)}
.rc9ses.mepet{animation:rc9alarm 1.05s steps(1) infinite}
.rc9sh{display:flex;align-items:center;gap:9px;margin-bottom:11px;font-family:"JetBrains Mono",monospace;font-size:8.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--rc9s);flex-wrap:wrap}
.rc9sh i{width:6px;height:6px;border-radius:50%;background:var(--rc9s);box-shadow:0 0 8px var(--rc9s);animation:rc9dot 1.5s infinite;font-style:normal}
.rc9sh .sp{flex:1}
.rc9sh em{font-style:normal;color:var(--low);letter-spacing:.1em}
.rc9sb{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}
@media(max-width:760px){.rc9sb{grid-template-columns:1fr}}
.rc9sinfo{display:flex;flex-direction:column;gap:9px;min-width:0}
.rc9swhat{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:17px;display:flex;align-items:center;gap:8px}
.rc9swhat small{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);font-weight:400;letter-spacing:.08em}
.rc9smeta{display:flex;gap:6px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:9.5px}
.rc9smeta span{border:1px solid var(--line-2);border-radius:6px;padding:2.5px 7px;color:var(--mid);background:rgba(0,0,0,.28)}
.rc9smeta span.hot{color:var(--rc9s);border-color:color-mix(in srgb,var(--rc9s) 45%,transparent)}
.rc9sact{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}
.rc9sbtn{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.36);border-radius:8px;padding:7px 13px;cursor:pointer;transition:.15s}
.rc9sbtn:hover{border-color:var(--rc9s);color:var(--rc9s)}
.rc9sbtn.pri{border-color:var(--rc9s);color:var(--rc9s);background:color-mix(in srgb,var(--rc9s) 12%,transparent)}
.rc9sbtn.pri:hover{background:var(--rc9s);color:var(--void)}
.rc9stage{display:flex;align-items:center;justify-content:center;min-width:212px;min-height:146px;position:relative}
@media(max-width:760px){.rc9stage{min-height:160px}}

/* ══ GAYA 1 · REAKTOR ══ */
.g-rk{position:relative;width:146px;height:146px;color:var(--rc9s)}
.g-rk svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.g-rk .rg{animation:rc9spin 18s linear infinite;transform-origin:50% 50%}
.g-rk .seg{stroke-width:5.4;opacity:.13;transition:opacity .3s}
.g-rk .seg.on{opacity:1;filter:drop-shadow(0 0 6px currentColor)}
.g-rk .arc{stroke-width:5.4;opacity:.9;filter:drop-shadow(0 0 5px currentColor);transition:stroke-dashoffset .18s linear}
.g-rk .cen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.g-rk .cen b{font-family:"JetBrains Mono",monospace;font-size:21px;font-weight:800;color:var(--ink);
  text-shadow:.8px 0 0 rgba(255,60,120,.4),-.8px 0 0 rgba(64,220,255,.34)}
.g-rk .cen s{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.15em;color:var(--rc9s)}

/* ══ GAYA 2 · BAR BLOK ══ */
.g-bl{width:100%;max-width:280px;display:flex;flex-direction:column;gap:10px;align-items:center}
.g-bl .num{font-family:"JetBrains Mono",monospace;font-size:31px;font-weight:800;color:var(--ink);line-height:1;
  text-shadow:.8px 0 0 rgba(255,60,120,.4),-.8px 0 0 rgba(64,220,255,.34)}
.g-bl .row{display:flex;gap:5px;width:100%}
.g-bl .blk{flex:1;min-width:14px;height:28px;border-radius:5px;border:1px solid var(--line-2);background:rgba(0,0,0,.36);position:relative;overflow:hidden}
.g-bl .blk i{position:absolute;inset:0;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--rc9s) 55%,transparent),var(--rc9s));
  box-shadow:0 0 12px -3px var(--rc9s)}
.g-bl .blk.full{border-color:var(--rc9s)}
.g-bl .blk.full::after{content:"🪙";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px}
.g-bl .blk.full i{width:100%!important;opacity:.4}
.g-bl .blk.pop{animation:rc9pop .45s cubic-bezier(.2,.8,.3,1)}
.g-bl .sub{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;color:var(--rc9s)}
@keyframes rc9pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}

/* ══ GAYA 3 · TERMINAL ══ */
.g-tm{width:100%;max-width:270px;border:1px solid color-mix(in srgb,var(--rc9s) 34%,transparent);border-radius:9px;padding:11px 13px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--rc9s) 7%,transparent),transparent 60%),rgba(0,0,0,.4);
  position:relative;overflow:hidden;font-family:"JetBrains Mono",monospace}
.g-tm::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.02) 3px 4px)}
.g-tm .tl{font-size:8.5px;letter-spacing:.16em;color:var(--rc9s);opacity:.85;display:flex;align-items:center;gap:6px;margin-bottom:7px}
.g-tm .tl i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor;animation:rc9dot 1.5s infinite;font-style:normal}
.g-tm .body{font-size:11.5px;color:var(--ink);line-height:2.05;white-space:pre}
.g-tm .body em{font-style:normal;color:var(--rc9s)}
.g-tm .body u{text-decoration:none;color:var(--low)}
.g-tm .cur{display:inline-block;width:6px;height:11px;background:var(--rc9s);vertical-align:-1px;animation:rc9cur 1.05s steps(1) infinite}
@keyframes rc9cur{0%,49%{opacity:.85}50%,100%{opacity:0}}

/* ══ GAYA 4 · PASIR ══ */
.g-ps{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--rc9s)}
.g-ps .art{width:110px;height:150px}
.g-ps svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.g-ps .sandT{fill:currentColor;stroke:none;opacity:.5}
.g-ps .sandB{fill:currentColor;stroke:none;opacity:.85}
.g-ps .drip{stroke-width:1.6;animation:rc9drip .85s linear infinite}
@keyframes rc9drip{0%{opacity:0;transform:translateY(-3px)}35%{opacity:.95}100%{opacity:0;transform:translateY(5px)}}
.g-ps .lbl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;color:var(--rc9s)}

/* ══ GAYA 5 · DENYUT ══ */
.g-dn{width:100%;max-width:280px;height:132px;border-radius:12px;border:1px solid color-mix(in srgb,var(--rc9s) 30%,transparent);
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.32)}
.g-dn::before{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 52px -14px var(--rc9s);animation:rc9brea 3.6s ease-in-out infinite}
.g-dn::after{content:"";position:absolute;left:-40%;top:0;bottom:0;width:40%;pointer-events:none;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rc9s) 15%,transparent),transparent);animation:rc9swp 4.5s linear infinite}
@keyframes rc9brea{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes rc9swp{to{left:110%}}
.g-dn b{font-family:"JetBrains Mono",monospace;font-size:36px;font-weight:800;color:var(--ink);z-index:1;text-shadow:0 0 26px var(--rc9s)}
.g-dn s{position:absolute;bottom:12px;text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:9px;
  letter-spacing:.13em;color:var(--rc9s);z-index:1}

/* ══ GAYA 6 · PICKAXE (nambang) ══ */
.g-px{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--rc9s);position:relative}
.g-px .art{width:196px;height:170px;position:relative}
.g-px svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.g-px .axe{transform-origin:142px 130px;animation:rc9swing 1.15s cubic-bezier(.5,.05,.35,1) infinite}
.g-px .axe path{stroke-width:3.4}
.g-px .axe .head{fill:color-mix(in srgb,var(--rc9s) 32%,transparent);stroke-width:2}
.g-px .ore .rock{fill:rgba(0,0,0,.45)}
.g-px .ore path{stroke-width:2.6}
.g-px .crack{stroke-width:1.8;opacity:0;transition:opacity .25s}
.g-px .crack.on{opacity:.9}
.g-px .spark{opacity:0;animation:rc9spark 1.15s linear infinite;stroke-width:2.2}
.g-px .ore.hit{animation:rc9shake .28s}
.g-px .lbl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;color:var(--rc9s)}
.g-px .clk{font-family:"JetBrains Mono",monospace;font-size:21px;font-weight:800;color:var(--ink);
  text-shadow:.8px 0 0 rgba(255,60,120,.4),-.8px 0 0 rgba(64,220,255,.34)}
@keyframes rc9swing{0%{transform:rotate(40deg)}38%{transform:rotate(-4deg)}46%{transform:rotate(4deg)}56%{transform:rotate(0deg)}100%{transform:rotate(40deg)}}
@keyframes rc9spark{0%,37%{opacity:0}41%{opacity:1}56%{opacity:0}100%{opacity:0}}
@keyframes rc9shake{0%,100%{transform:translate(0,0)}30%{transform:translate(1.5px,1.5px)}60%{transform:translate(-1.5px,.5px)}}

/* ══ GAYA 7 · BALOK (nambang) ══ */
.g-bk{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--rc9s)}
.g-bk .art{width:218px;height:158px}
.g-bk svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.g-bk .cube path{stroke-width:1.9}
.g-bk .cube .top{fill:color-mix(in srgb,var(--rc9s) 26%,transparent)}
.g-bk .cube .lf{fill:rgba(0,0,0,.42)}
.g-bk .cube .rt{fill:color-mix(in srgb,var(--rc9s) 11%,transparent)}
.g-bk .cube.set{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--rc9s) 55%,transparent))}
.g-bk .cube.drop{animation:rc9drop .5s cubic-bezier(.3,1.4,.5,1)}
.g-bk .cube.ghost path{opacity:.24;stroke-dasharray:3 4;fill:none}
.g-bk .grid{stroke-width:1;opacity:.3;stroke-dasharray:4 5}
.g-bk .lbl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;color:var(--rc9s)}
.g-bk .clk{font-family:"JetBrains Mono",monospace;font-size:21px;font-weight:800;color:var(--ink);
  text-shadow:.8px 0 0 rgba(255,60,120,.4),-.8px 0 0 rgba(64,220,255,.34)}
@keyframes rc9drop{0%{transform:translateY(-26px);opacity:0}62%{transform:translateY(2px);opacity:1}100%{transform:translateY(0)}}

/* ══ GAYA 8 · API (bakar) ══ */
.g-ap{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--rc9s);width:100%;max-width:262px}
.g-ap .art{width:150px;height:140px;position:relative;display:flex;align-items:flex-end;justify-content:center}
.g-ap svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.g-ap .fl{transform-origin:50% 100%;transform-box:fill-box}
.g-ap .fl1{fill:color-mix(in srgb,#ff5d5d 20%,transparent);stroke-width:2;opacity:.42;animation:rc9fl1 .93s ease-in-out infinite}
.g-ap .fl2{fill:color-mix(in srgb,#ff9f43 26%,transparent);stroke:#ff9f43;stroke-width:1.8;opacity:.72;animation:rc9fl2 .67s ease-in-out infinite}
.g-ap .fl3{fill:color-mix(in srgb,#ffd166 40%,transparent);stroke:#ffd166;stroke-width:1.6;opacity:1;animation:rc9fl3 .47s ease-in-out infinite}
.g-ap .log{stroke-width:2.4;opacity:.75}
.g-ap.mepet .fl3{stroke:#fff;fill:rgba(255,255,255,.5)}
.g-ap .fuel{width:100%;height:6px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden;position:relative}
.g-ap .fuel i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#ff5d5d,#ff9f43,#ffd166);
  box-shadow:0 0 12px -2px #ff9f43;transition:width .4s linear}
.g-ap .clk{font-family:"JetBrains Mono",monospace;font-size:26px;font-weight:800;color:var(--ink);line-height:1;
  text-shadow:.8px 0 0 rgba(255,60,120,.42),-.8px 0 0 rgba(64,220,255,.34)}
.g-ap .lbl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;color:var(--rc9s)}
@keyframes rc9fl1{0%,100%{transform:scale(1,1)}25%{transform:scale(.93,1.09) translateY(-2px)}50%{transform:scale(1.07,.94)}75%{transform:scale(.97,1.05) translateY(-1px)}}
@keyframes rc9fl2{0%,100%{transform:scale(1,1) skewX(0deg)}30%{transform:scale(1.06,.95) skewX(3deg)}60%{transform:scale(.94,1.1) skewX(-3deg)}}
@keyframes rc9fl3{0%,100%{transform:scale(1,1)}20%{transform:scale(.9,1.14) translateY(-3px)}45%{transform:scale(1.1,.9)}70%{transform:scale(.95,1.06) translateX(1.5px)}}

/* ══ GAYA 9 · BOM (bakar) ══ */
.g-bm{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--rc9s)}
.g-bm .art{width:196px;height:150px;position:relative}
.g-bm svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.g-bm .body{stroke-width:2.8;fill:rgba(0,0,0,.5)}
.g-bm .shine{stroke-width:2;opacity:.5}
.g-bm .fuseBg{stroke-width:2.8;opacity:.22;stroke-dasharray:2 5}
.g-bm .fuse{stroke-width:3;filter:drop-shadow(0 0 4px currentColor)}
.g-bm .spark{fill:#ffd166;stroke:none;filter:drop-shadow(0 0 7px #ff9f43)}
.g-bm .spark2{fill:#fff;stroke:none;opacity:.9}
.g-bm .ray{stroke:#ffd166;stroke-width:1.6;opacity:.75;transform-box:fill-box;transform-origin:center;animation:rc9ray .52s linear infinite}
.g-bm.mepet .whole{animation:rc9shake .22s infinite}
.g-bm.mepet .body{stroke:#ff5d5d}
.g-bm .clk{font-family:"JetBrains Mono",monospace;font-size:23px;font-weight:800;color:var(--ink);
  text-shadow:.8px 0 0 rgba(255,60,120,.4),-.8px 0 0 rgba(64,220,255,.34)}
.g-bm .lbl{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;color:var(--rc9s)}
@keyframes rc9ray{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.7)}}
.rc9boom{position:fixed;inset:0;z-index:400;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fff,rgba(255,159,67,.6) 30%,transparent 68%);
  animation:rc9boomfx .85s ease-out forwards}
@keyframes rc9boomfx{0%{opacity:0;transform:scale(.2)}12%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.5)}}

/* ── CHIP TOPBAR v2 (gaya + pip) ───────────────────────────────────────── */
.rc9chip .pips{display:flex;gap:2px}
.rc9chip .pips u{text-decoration:none;width:5px;height:5px;border-radius:1px;background:currentColor;opacity:.22}
.rc9chip .pips u.on{opacity:1;box-shadow:0 0 5px currentColor}
.rc9chip.mine{border-color:color-mix(in srgb,#2dd48a 52%,transparent);background:rgba(45,212,138,.09);color:#2dd48a}
.rc9chip.mine::after{background:#2dd48a;box-shadow:0 0 8px #2dd48a}

/* ── AMANDEMEN ─────────────────────────────────────────────────────────── */
.rc9amd{border:1px solid color-mix(in srgb,var(--violet) 30%,transparent);border-radius:13px;overflow:hidden;position:relative;
  background:linear-gradient(180deg,color-mix(in srgb,var(--violet) 6%,transparent),transparent 45%),rgba(0,0,0,.3)}
.rc9amd::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.015) 3px 4px)}
.rc9amdh{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--violet);flex-wrap:wrap}
.rc9amdh i{width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 7px var(--violet);animation:rc9dot 1.6s infinite;font-style:normal}
.rc9amdh .sp{flex:1}
.rc9amdh em{font-style:normal;color:var(--rc9c);border:1px solid rgba(255,209,102,.35);border-radius:5px;padding:2px 7px;
  background:rgba(255,209,102,.07);animation:rc9dot 2.4s infinite}
.rc9amdh b{cursor:pointer;color:var(--violet);border:1px solid rgba(167,139,250,.35);border-radius:5px;padding:2.5px 8px;
  background:rgba(167,139,250,.07);letter-spacing:.11em}
.rc9amdh b:hover{background:rgba(167,139,250,.18);color:#fff}
.rc9amdb{max-height:300px;overflow-y:auto}
.rc9ar{display:flex;align-items:center;gap:9px;padding:8px 13px;border-bottom:1px solid rgba(255,255,255,.033);
  font-family:"JetBrains Mono",monospace;font-size:11px}
.rc9ar:last-child{border-bottom:0}
.rc9ar .no{font-size:9px;color:var(--low);min-width:32px;flex:0 0 auto}
.rc9ar .ic{width:17px;text-align:center;font-size:12px;flex:0 0 auto}
.rc9ar .tx{flex:1;min-width:0;font-family:Barlow,sans-serif;font-size:12.5px;color:var(--ink);line-height:1.45}
.rc9ar .tx u{text-decoration:line-through;color:var(--yore);font-family:"JetBrains Mono",monospace;font-size:11px}
.rc9ar .tx em{font-style:normal;color:var(--rc9m);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700}
.rc9ar .bd{font-size:8.5px;letter-spacing:.09em;padding:2px 7px;border-radius:5px;border:1px solid var(--line-2);color:var(--low);
  text-transform:uppercase;white-space:nowrap;flex:0 0 auto}
.rc9ar .bd.ket{color:var(--rc9m);border-color:rgba(45,212,138,.42);background:rgba(45,212,138,.08)}
.rc9ar .bd.lon{color:var(--rc9b);border-color:rgba(255,93,93,.42);background:rgba(255,93,93,.08)}
.rc9ar .bd.pnd{color:var(--rc9c);border-color:rgba(255,209,102,.45);background:rgba(255,209,102,.09);animation:rc9dot 2.2s infinite;cursor:pointer}
.rc9ar .bd.pnd:hover{background:rgba(255,209,102,.24);color:#fff}
.rc9ar.pending{background:rgba(255,209,102,.045)}

/* ── COGWHEEL ──────────────────────────────────────────────────────────── */
.rc9cog{font-size:15px;color:var(--low);cursor:pointer;border:1px solid var(--line-2);border-radius:9px;padding:7px 12px;
  background:rgba(0,0,0,.3);transition:.16s;font-family:"JetBrains Mono",monospace;letter-spacing:.1em;
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.rc9cog span{font-size:9px;font-weight:800;text-transform:uppercase}
.rc9cog:hover{color:var(--rc9c);border-color:var(--rc9c);box-shadow:0 0 18px -8px var(--rc9c)}
.rc9cog i{font-style:normal;display:inline-block;transition:transform .5s}
.rc9cog:hover i{transform:rotate(180deg)}
.rc9sect{margin-bottom:16px}
.rc9sect>h6{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--rc9s3,var(--rc9c));margin-bottom:9px;display:flex;align-items:center;gap:8px;font-weight:800}
.rc9sect>h6::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--rc9s3,var(--rc9c)) 55%,transparent),transparent)}
.rc9amdw{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--rc9c);background:rgba(255,209,102,.08);
  border:1px solid rgba(255,209,102,.28);border-radius:6px;padding:5px 9px;margin-top:6px;line-height:1.6}
.rc9gpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:7px}
.rc9gp{border:1px solid var(--line-2);border-radius:9px;padding:8px 6px;cursor:pointer;text-align:center;transition:.14s;background:rgba(0,0,0,.3)}
.rc9gp:hover{border-color:var(--rc9s4,var(--rc9c))}
.rc9gp.on{border-color:var(--rc9s4,var(--rc9c));background:color-mix(in srgb,var(--rc9s4,var(--rc9c)) 12%,transparent);
  box-shadow:0 0 16px -8px var(--rc9s4,var(--rc9c))}
.rc9gp .ge{font-size:17px;display:block;margin-bottom:3px}
.rc9gp .gn{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.11em;color:var(--mid);text-transform:uppercase}
.rc9gp.on .gn{color:var(--ink);font-weight:800}
.rc9gp .gx{font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);display:block;margin-top:2px}

/* ── PICKER (combo dari routine) ───────────────────────────────────────── */
.rc9combo{display:flex;align-items:stretch;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:rgba(0,0,0,.35)}
.rc9combo input{flex:1;background:transparent;border:0;padding:8px 11px;font-size:13px;color:var(--ink);outline:none;min-width:0}
.rc9combo span{padding:8px 12px;background:rgba(255,209,102,.1);color:var(--rc9c);cursor:pointer;font-size:10px;
  border-left:1px solid var(--line-2);font-family:"JetBrains Mono",monospace;letter-spacing:.09em;white-space:nowrap;display:flex;align-items:center}
.rc9combo span:hover{background:rgba(255,209,102,.22)}
.rc9combo:focus-within{border-color:var(--rc9c);box-shadow:0 0 0 3px rgba(255,209,102,.1)}
.rc9dd{position:absolute;z-index:270;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--panel);
  box-shadow:0 22px 60px -20px #000;max-height:290px;overflow-y:auto;min-width:280px}
.rc9dg{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.19em;text-transform:uppercase;color:var(--low);
  padding:9px 12px 4px;display:flex;align-items:center;gap:8px}
.rc9dg::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.rc9do{display:flex;align-items:center;gap:9px;padding:7px 12px;cursor:pointer;font-size:13px;transition:.12s}
.rc9do:hover{background:rgba(255,255,255,.04)}
.rc9do .dt{width:6px;height:6px;border-radius:50%;background:var(--pc,var(--low));flex:0 0 auto}
.rc9do .em{font-size:15px}
.rc9do .nm{flex:1;color:var(--ink);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc9do .mt{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:0 0 auto}
.rc9prov{display:inline-flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.08em;
  color:var(--now);border:1px solid rgba(76,201,240,.35);border-radius:6px;padding:3px 8px;background:rgba(76,201,240,.07);margin-top:6px}
.rc9prov s{text-decoration:none;cursor:pointer;color:var(--low);font-size:11px}
.rc9prov s:hover{color:var(--yore)}
.rc9off{opacity:.45;pointer-events:none}
.rc9why{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--yore);margin-top:5px;line-height:1.6}

/* ── kartu: badge mode timer ───────────────────────────────────────────── */
.rc9tmode{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.09em;border-radius:5px;padding:2px 6px;
  border:1px solid var(--line-2);color:var(--low)}
.rc9tmode.w{color:var(--rc9c);border-color:rgba(255,209,102,.45);background:rgba(255,209,102,.09)}
.rc9tmode.o{color:var(--now);border-color:rgba(76,201,240,.35);background:rgba(76,201,240,.07)}
.rc9k .rc9kfoot .rc9go.half{flex:1;font-size:9px;padding:7px 8px}
.rc9k.jalan{border-color:var(--kc9);box-shadow:0 0 26px -14px var(--kc9)}
.rc9k.jalan::before{animation:rc9dot 1.3s infinite}
.rc9pend{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--rc9c);border:1px solid rgba(255,209,102,.4);
  border-radius:5px;padding:2px 6px;background:rgba(255,209,102,.08);animation:rc9dot 2.4s infinite}
/* ══════════════════════════════════════════════════════════════════════════════
   v10.18 — 🆘 FIRST AID KIT · "LO BISA NOLAK ~ RIDE THE WAVE"
   Semua kelas & token ber-prefix fa9. Diaudit lawan index.html sebelum ditempel.

   PENYESUAIAN DARI MOCKUP — dan alasannya (jangan dibalikin):
   1. Mockup pake token pendek --kc/--lc/--pc/--fw/--ic/--sp/--w. EMPAT di antaranya
      UDAH KEPAKE di app: --kc (10 deklarasi), --lc (14), --pc (18), --hc (46).
      Kalo disalin apa adanya, kartu godaan bakal ngewarnain ulang barang orang lain
      diem-diem — persis penyakit .kbar v9.81. Semua direname ber-prefix fa9.
   2. Mockup NULIS ULANG blok .psctik (replika biar dia jalan standalone). Di app kita
      .psctik ASLINYA idup di baris 6384 dan dipake widget 📡 TICKER beneran. Nyalin
      replikanya = kelas didefinisiin dua kali = yang belakangan menang diem-diem.
      DI SINI CUMA ADA MODIFIER .psctik.fa9tik — badan aslinya nol disentuh.
   3. Token modul didaftarin ke kill-switch mono/monolith (baris 69). Modul yang
      lupa daftar bakal nyala sendirian di tema kelabu.
   ══════════════════════════════════════════════════════════════════════════════ */
:root{
  --fa9c:#7dd3fc;      /* aksen modul — biru es, klinis */
  --fa9sos:#ff5d5d;    /* darurat */
  --fa9win:#2dd4a7; --fa9lose:#ff5d5d;
}
/* warna app ikut fase gelombang — dipasang di <body> pas sesi jalan */
body[data-fa9="on"]{--fa9c:var(--fa9fw,#ff5d5d)}

/* pembungkus judul melar biar ⚙ nempel di kanan, bukan kelempar ke baris sendiri */
.phead .fa9phl{flex:1 1 auto;min-width:0}

/* ── HERO ── */
.fa9hero{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;
  border:1px solid color-mix(in srgb,var(--fa9c) 28%,transparent);border-radius:16px;padding:20px 24px;margin-bottom:22px;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--fa9c) 6%,transparent),transparent 62%),linear-gradient(180deg,var(--panel-2),var(--panel));
  box-shadow:0 0 34px -22px var(--fa9c)}
.fa9hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.016) 3px 4px)}
@media(max-width:820px){.fa9hero{grid-template-columns:1fr;text-align:center;justify-items:center;gap:16px}}
.fa9kit{width:112px;height:112px;color:var(--fa9c);flex:0 0 auto;position:relative}
.fa9kit svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.fa9kit .brt9{animation:fa9breathe 3.4s ease-in-out infinite}
/* pendar dicat SEKALI di ::after, yang dianimasiin OPACITY — nol animasi box-shadow (Bab 5.3) */
.fa9kit::after{content:"";position:absolute;inset:16%;border-radius:14px;box-shadow:0 0 40px -8px var(--fa9c);opacity:.45;
  animation:fa9breathe 3.4s ease-in-out infinite;pointer-events:none}
@keyframes fa9breathe{0%,100%{opacity:.4}50%{opacity:1}}
.fa9hn{display:flex;flex-direction:column;gap:5px;min-width:0}
.fa9lbl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--low)}
.fa9big{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(24px,3.8vw,36px);line-height:1.05;color:var(--ink)}
.fa9big em{font-style:normal;color:var(--fa9c);text-shadow:0 0 26px color-mix(in srgb,var(--fa9c) 45%,transparent)}
.fa9sub{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--mid);letter-spacing:.04em}
.fa9sub b{color:var(--fa9c)}
.fa9stat{display:flex;flex-direction:column;gap:9px;min-width:172px}
.fa9sc{border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:rgba(0,0,0,.24)}
.fa9sl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--low);margin-bottom:3px}
.fa9sv{font-family:"JetBrains Mono",monospace;font-weight:800;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}
.fa9sv small{font-size:9.5px;color:var(--mid);font-weight:400;margin-left:3px}
.fa9sv.up{color:var(--fa9win)}.fa9sv.dn{color:var(--fa9lose)}

/* ── PANEL SESI NGAMBANG ── */
.fa9ses{position:relative;border:1px solid color-mix(in srgb,var(--fa9fw) 45%,transparent);border-radius:16px;padding:16px 20px 18px;
  margin-bottom:22px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--fa9fw) 10%,transparent),transparent 62%),rgba(0,0,0,.36);
  box-shadow:0 0 36px -20px var(--fa9fw),inset 0 0 60px -46px var(--fa9fw);transition:box-shadow .8s}
.fa9ses::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.017) 3px 4px)}
.fa9sh{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-family:"JetBrains Mono",monospace;font-size:8.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--fa9fw);flex-wrap:wrap;transition:color .8s}
.fa9sh i{width:6px;height:6px;border-radius:50%;background:var(--fa9fw);box-shadow:0 0 8px var(--fa9fw);animation:fa9dot 1.5s infinite;font-style:normal}
@keyframes fa9dot{0%,100%{opacity:1}50%{opacity:.2}}
.fa9sh .fa9gap{flex:1}
.fa9sh em{font-style:normal;color:var(--low);letter-spacing:.1em}
.fa9sb{display:grid;grid-template-columns:minmax(280px,1fr) minmax(270px,1fr);gap:22px;align-items:center}
@media(max-width:900px){.fa9sb{grid-template-columns:1fr}}

/* gelombang */
.fa9wv{width:100%;max-width:390px;margin:0 auto;position:relative}
.fa9wv svg{width:100%;display:block;overflow:visible}
.fa9wv .fa9gr{stroke:var(--line-2);stroke-width:.5;opacity:.45;fill:none}
.fa9wv .fa9cv{fill:none;stroke:var(--line-2);stroke-width:1.8;stroke-linecap:round}
.fa9wv .fa9dn{fill:none;stroke:var(--fa9fw);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--fa9fw));transition:stroke .8s}
.fa9wv .fa9fl{fill:var(--fa9fw);opacity:.13;transition:fill .8s;stroke:none}
.fa9wv .fa9dt{fill:var(--fa9fw);filter:drop-shadow(0 0 9px var(--fa9fw));transition:fill .8s;stroke:none}
/* transform di elemen SVG relatif ke origin SVG — fill-box biar halonya mekar DI TEMPATNYA (Bab 10.4) */
.fa9wv .fa9hl{fill:none;stroke:var(--fa9fw);stroke-width:1.3;opacity:.5;animation:fa9hal 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes fa9hal{0%{opacity:.6;transform:scale(.7)}100%{opacity:0;transform:scale(2.6)}}
.fa9wv .fa9pk{stroke:var(--yore);stroke-width:.9;stroke-dasharray:3 4;opacity:.42;fill:none}
.fa9wv .fa9pt{font-family:"JetBrains Mono",monospace;font-size:3.4px;letter-spacing:.14em;fill:var(--yore);opacity:.75;stroke:none}
.fa9fase{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:20px;letter-spacing:.08em;color:var(--fa9fw);
  text-shadow:0 0 20px color-mix(in srgb,var(--fa9fw) 50%,transparent);transition:color .8s;text-align:center;margin-top:8px}
.fa9kata{font-size:15px;line-height:1.5;color:var(--ink);text-align:center;min-height:46px;display:flex;align-items:center;justify-content:center;padding:0 8px}
.fa9clk{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;color:var(--low);text-align:center;font-variant-numeric:tabular-nums}
.fa9clk b{color:var(--mid);font-weight:800}

/* kolom kanan sesi */
.fa9rt{display:flex;flex-direction:column;gap:11px;min-width:0}
.fa9what{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:17px;display:flex;align-items:center;gap:8px}
.fa9meta{display:flex;gap:6px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:9.5px}
.fa9meta span{border:1px solid var(--line-2);border-radius:6px;padding:2.5px 7px;color:var(--mid);background:rgba(0,0,0,.3)}
.fa9meta span.hot{color:var(--fa9fw);border-color:color-mix(in srgb,var(--fa9fw) 45%,transparent)}

/* ── PENGALIH: roda & dadu, DI DALEM panel (bukan disuruh pergi) ── */
.fa9pg{border:1px solid color-mix(in srgb,var(--fa9c) 32%,transparent);border-radius:13px;overflow:hidden;background:rgba(0,0,0,.34);position:relative}
.fa9pgh{display:flex;align-items:center;gap:7px;padding:7px 11px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--fa9c)}
.fa9pgh .fa9gap{flex:1}
.fa9pgh s{text-decoration:none;cursor:pointer;color:var(--low);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;font-size:8px}
.fa9pgh s:hover{color:var(--fa9c);border-color:var(--fa9c)}
.fa9pgb{padding:13px 12px;display:flex;flex-direction:column;align-items:center;gap:9px;min-height:168px;justify-content:center}
.fa9rd{width:146px;height:146px;position:relative}
.fa9rd svg{width:100%;height:100%;display:block}
.fa9rd .fa9rot{transform-origin:50% 50%;transition:transform 3.4s cubic-bezier(.14,.72,.16,1)}
.fa9rd .fa9rim{fill:none;stroke:var(--fa9c);stroke-width:2.4;opacity:.85}
.fa9rd .fa9sg{stroke:rgba(0,0,0,.5);stroke-width:.6}
.fa9rd .fa9hub{fill:var(--panel);stroke:var(--fa9c);stroke-width:2}
.fa9rd .fa9pin{fill:var(--fa9c);filter:drop-shadow(0 0 6px var(--fa9c));stroke:none}
.fa9rd .fa9slab{font-family:"JetBrains Mono",monospace;font-size:5.4px;fill:#06070b;font-weight:800;letter-spacing:.04em;stroke:none}
.fa9dd{width:108px;height:108px;perspective:600px}
.fa9dd .fa9cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform 2.6s cubic-bezier(.2,.7,.2,1)}
.fa9dd .fa9f{position:absolute;inset:0;border:2px solid var(--fa9c);border-radius:14px;background:rgba(0,0,0,.72);
  display:flex;align-items:center;justify-content:center;font-size:33px;box-shadow:inset 0 0 24px -14px var(--fa9c),0 0 18px -12px var(--fa9c)}
.fa9dd .fa9f1{transform:translateZ(54px)}.fa9dd .fa9f2{transform:rotateY(90deg) translateZ(54px)}
.fa9dd .fa9f3{transform:rotateY(180deg) translateZ(54px)}.fa9dd .fa9f4{transform:rotateY(-90deg) translateZ(54px)}
.fa9dd .fa9f5{transform:rotateX(90deg) translateZ(54px)}.fa9dd .fa9f6{transform:rotateX(-90deg) translateZ(54px)}
.fa9hasil{text-align:center}
.fa9hasil b{display:block;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:16px;color:var(--ink);line-height:1.3}
.fa9hasil small{display:block;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--fa9c);letter-spacing:.1em;margin-top:3px}
.fa9hasil.spin b{color:var(--low)}
.fa9putar{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);letter-spacing:.08em}

/* ── RODA CARNIVAL DIPINJEM UTUH ──────────────────────────────────────────────
   Roda buatan sendiri DICABUT di v10.19. Yang muter sekarang mesin Carnival asli
   (carWheelSVG + carSpin + carBurst + 27 tema). Alasannya bukan cuma cakep:
   syncBusyTyping() UDAH nganggep CARSP yang lagi jalan sebagai MOMEN SAKRAL dan
   nunda repaint. Roda buatan sendiri nol dapet perlindungan itu — sekali syncPull
   mendarat di tengah putaran, route() gambar ulang dan rodanya mati di tengah
   jalan, `salve`-nya bisa ga pernah kecatet. Ini roda satu-satunya yang dijagain sync.
   DI SINI CUMA PENYESUAIAN UKURAN — nol aturan .car* yang ditulis ulang. */
.fa9car{position:relative;width:100%;max-width:230px;margin:0 auto}
.fa9car .carstage{display:grid;place-items:center;position:relative;padding:2px 0}
.fa9car .carwv{position:relative;width:100%}
.fa9car .carsvg{width:100%;height:auto;display:block}
.fa9duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;width:100%}
@media(max-width:760px){.fa9duo{grid-template-columns:1fr}}
.fa9duo .fa9car{max-width:none}
.fa9cw{display:flex;flex-direction:column;gap:6px;align-items:center;min-width:0}
.fa9cwl{font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fa9cc,var(--fa9c));text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fa9spin{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--fa9cc,var(--fa9c));color:var(--fa9cc,var(--fa9c));background:color-mix(in srgb,var(--fa9cc,var(--fa9c)) 11%,transparent);
  border-radius:7px;padding:5px 11px;cursor:pointer;transition:.15s}
.fa9spin:hover{background:var(--fa9cc,var(--fa9c));color:var(--void)}
.fa9spin.dim{opacity:.4;pointer-events:none}

/* ── TICKER MINI (konteks lokal, di dalem panel) ── */
.fa9tk{border:1px solid color-mix(in srgb,var(--fa9sos) 50%,transparent);border-radius:11px;overflow:hidden;position:relative;
  background:linear-gradient(180deg,rgba(255,93,93,.11),transparent 70%),rgba(0,0,0,.42);margin-top:2px}
.fa9tk::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,120,120,.022) 3px 4px)}
.fa9tkh{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid rgba(255,93,93,.2);
  font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fa9sos)}
.fa9tkh i{width:5px;height:5px;border-radius:50%;background:var(--fa9sos);box-shadow:0 0 7px var(--fa9sos);animation:fa9dot 1.1s infinite;font-style:normal}
.fa9tkh .fa9gap{flex:1}
.fa9tkh s{text-decoration:none;cursor:pointer;color:var(--low)}
.fa9tkh s:hover{color:var(--fa9sos)}
.fa9tkb{overflow:hidden;padding:6px 0;white-space:nowrap;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
/* isinya ditulis DUA KALI terus digeser -50% → sambungan mulus tanpa jeda kosong.
   (-100% + padding-left:100% bikin bolong panjang tiap putaran) */
.fa9tkb span{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink);letter-spacing:.06em;
  animation:fa9mq var(--fa9sp,26s) linear infinite}
.fa9tkb span em{font-style:normal;color:var(--fa9sos);font-weight:800}
.fa9tkb span u{text-decoration:none;color:var(--fa9c)}
.fa9tkb span s{text-decoration:none;color:var(--low)}
@keyframes fa9mq{to{transform:translateX(-50%)}}

/* ── aksi sesi ── */
.fa9act{display:flex;gap:7px;flex-wrap:wrap;margin-top:3px}
.fa9btn{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.36);border-radius:8px;padding:8px 13px;cursor:pointer;transition:.15s}
.fa9btn:hover{border-color:var(--fa9c);color:var(--fa9c)}
.fa9btn.lose{border-color:rgba(255,93,93,.45);color:var(--fa9lose)}
.fa9btn.lose:hover{background:rgba(255,93,93,.14);color:#fff}
.fa9btn.win{border-color:var(--fa9win);color:var(--fa9win);background:color-mix(in srgb,var(--fa9win) 12%,transparent)}
.fa9btn.win:hover{background:var(--fa9win);color:var(--void)}

/* ── KARTU GODAAN ── */
.fa9grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:11px;margin-bottom:24px}
.fa9k{position:relative;border:1px solid var(--line);border-radius:13px;padding:13px 14px 12px;overflow:hidden;transition:.18s;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));display:flex;flex-direction:column}
.fa9k::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fa9kc,var(--fa9c));box-shadow:0 0 14px -2px var(--fa9kc,var(--fa9c))}
.fa9k:hover{border-color:color-mix(in srgb,var(--fa9kc,var(--fa9c)) 50%,transparent);transform:translateY(-2px)}
.fa9k.jalan{border-color:var(--fa9kc);box-shadow:0 0 26px -14px var(--fa9kc)}
.fa9k.jalan::before{animation:fa9dot 1.3s infinite}
.fa9kh{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.fa9ke{font-size:19px;line-height:1;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--fa9kc,var(--fa9c)) 60%,transparent))}
.fa9kn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:14.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa9kc9{font-size:11px;color:var(--low);cursor:pointer;padding:2px 4px;border-radius:5px;flex:0 0 auto}
.fa9kc9:hover{color:var(--fa9kc,var(--fa9c));background:rgba(255,255,255,.05)}
.fa9spec{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--mid);display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.fa9spec i{font-style:normal;border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;background:rgba(0,0,0,.25)}
.fa9spec i.hot{color:var(--fa9kc,var(--fa9c));border-color:color-mix(in srgb,var(--fa9kc,var(--fa9c)) 45%,transparent)}
.fa9spec i.src{color:var(--violet);border-color:rgba(167,139,250,.35);background:rgba(167,139,250,.07)}
.fa9spec i.coin{color:#ffd166;border-color:rgba(255,209,102,.4)}
.fa9rec{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-bottom:9px;display:flex;align-items:center;gap:8px;min-height:15px}
.fa9rec b{font-weight:800}
.fa9rec .w{color:var(--fa9win)}.fa9rec .l{color:var(--fa9lose)}
.fa9bar{flex:1;height:4px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden;max-width:80px}
.fa9bar i{display:block;height:100%;background:var(--fa9win);box-shadow:0 0 8px -1px var(--fa9win)}
.fa9foot{display:flex;align-items:center;gap:7px;margin-top:auto}
.fa9go{flex:1;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--fa9kc,var(--fa9c));color:var(--fa9kc,var(--fa9c));background:color-mix(in srgb,var(--fa9kc,var(--fa9c)) 11%,transparent);
  border-radius:8px;padding:8px 13px;cursor:pointer;transition:.15s;white-space:nowrap}
.fa9go:hover{background:var(--fa9kc,var(--fa9c));color:var(--void);box-shadow:0 0 18px -4px var(--fa9kc,var(--fa9c))}
.fa9go:active{transform:scale(.96)}

/* ── LACI PENGALIH ── */
.fa9lc{display:grid;grid-template-columns:repeat(auto-fill,minmax(182px,1fr));gap:9px;margin-bottom:24px}
.fa9li{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:linear-gradient(180deg,var(--panel-2),var(--panel));
  display:flex;align-items:center;gap:10px;transition:.15s;cursor:pointer;position:relative;overflow:hidden}
.fa9li:hover{border-color:color-mix(in srgb,var(--fa9lc,var(--fa9c)) 55%,transparent);transform:translateY(-2px)}
.fa9li .fa9e{font-size:21px;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--fa9lc,var(--fa9c)) 55%,transparent))}
.fa9li .fa9b{flex:1;min-width:0}
.fa9li .fa9b b{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa9li .fa9b small{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-top:2px;letter-spacing:.06em}
.fa9li .fa9b small em{font-style:normal;color:var(--fa9lc,var(--fa9c))}
.fa9li .fa9x{font-size:10px;color:var(--low);padding:3px 5px;border-radius:5px;flex:0 0 auto}
.fa9li .fa9x:hover{color:var(--yore);background:rgba(255,93,93,.1)}
.fa9li.off{opacity:.4}

/* ── RIWAYAT + POLA ── */
.fa9lg{border:1px solid color-mix(in srgb,var(--violet) 30%,transparent);border-radius:13px;overflow:hidden;position:relative;
  background:linear-gradient(180deg,color-mix(in srgb,var(--violet) 6%,transparent),transparent 45%),rgba(0,0,0,.3);margin-bottom:24px}
.fa9lg::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.015) 3px 4px)}
.fa9lgh{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--violet);flex-wrap:wrap}
.fa9lgh i{width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 7px var(--violet);animation:fa9dot 1.6s infinite;font-style:normal}
.fa9lgh .fa9gap{flex:1}
.fa9lgb{max-height:290px;overflow-y:auto}
.fa9row{display:flex;align-items:center;gap:10px;padding:8px 13px;border-bottom:1px solid rgba(255,255,255,.033);font-family:"JetBrains Mono",monospace;font-size:11px}
.fa9row:last-child{border-bottom:0}
.fa9row .fa9jm{font-size:9px;color:var(--low);min-width:70px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.fa9row .fa9ic{width:17px;text-align:center;font-size:12px;flex:0 0 auto}
.fa9row .fa9tx{flex:1;min-width:0;font-family:Barlow,sans-serif;font-size:12.5px;color:var(--ink);line-height:1.4}
.fa9row .fa9tx em{font-style:normal;color:var(--low);font-size:10px;font-family:"JetBrains Mono",monospace;margin-left:6px}
.fa9row .fa9bd{font-size:8.5px;letter-spacing:.09em;padding:2px 7px;border-radius:5px;border:1px solid var(--line-2);color:var(--low);
  text-transform:uppercase;white-space:nowrap;flex:0 0 auto}
.fa9row .fa9bd.w{color:var(--fa9win);border-color:rgba(45,212,167,.42);background:rgba(45,212,167,.08)}
.fa9row .fa9bd.l{color:var(--fa9lose);border-color:rgba(255,93,93,.42);background:rgba(255,93,93,.08)}
.fa9hari{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--low);padding:9px 13px 4px;
  display:flex;align-items:center;gap:9px}
.fa9hari::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}
.fa9kosong{padding:26px 16px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--low);line-height:1.9}

.fa9pola{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:11px;margin-bottom:24px}
.fa9pc9{border:1px solid var(--line);border-left:3px solid var(--fa9pc,var(--fa9c));border-radius:11px;padding:13px 15px;background:rgba(0,0,0,.25)}
.fa9pc9 h5{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--fa9pc,var(--fa9c));margin-bottom:7px}
.fa9pc9 b{display:block;font-family:"Chakra Petch",sans-serif;font-size:17px;margin-bottom:5px;line-height:1.2}
.fa9pc9 p{font-size:12px;color:var(--mid);line-height:1.55;margin:0}
.fa9jam{display:flex;gap:2px;margin-top:8px;align-items:flex-end;height:32px}
.fa9jam i{flex:1;background:var(--fa9pc,var(--fa9c));border-radius:2px 2px 0 0;opacity:.32;min-height:2px}
.fa9jam i.hi{opacity:1;box-shadow:0 0 8px -1px var(--fa9pc,var(--fa9c))}

/* ── chip topbar: SOS + countdown ber-gelombang mini ── */
.fa9sos9{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--fa9sos) 50%,transparent);
  border-radius:9px;padding:4px 10px;background:rgba(255,93,93,.09);cursor:pointer;font-family:"JetBrains Mono",monospace;transition:.15s}
.fa9sos9:hover{background:rgba(255,93,93,.2);border-color:var(--fa9sos)}
.fa9sos9 b{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--fa9sos)}
.fa9chip{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--fa9fw) 50%,transparent);
  border-radius:9px;padding:3px 9px;background:color-mix(in srgb,var(--fa9fw) 10%,transparent);cursor:pointer;position:relative;overflow:hidden;
  font-family:"JetBrains Mono",monospace}
.fa9chip svg{width:32px;height:15px;overflow:visible}
.fa9chip .fa9c1{fill:none;stroke:var(--fa9fw);stroke-width:1.6;opacity:.3}
.fa9chip .fa9c2{fill:none;stroke:var(--fa9fw);stroke-width:2;filter:drop-shadow(0 0 4px var(--fa9fw))}
.fa9chip .fa9cd{fill:var(--fa9fw);stroke:none}
.fa9chip b{font-size:11px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.fa9chip s{text-decoration:none;font-size:7.5px;letter-spacing:.12em;color:var(--fa9fw);text-transform:uppercase}
.fa9chip::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:var(--fa9pw,100%);background:var(--fa9fw);box-shadow:0 0 8px var(--fa9fw)}

/* ── NEWS TICKER DARURAT — strip full-width di bawah topbar ──────────────────
   Yang jalan = kelas .psctik ASLI (baris 6384). DI SINI CUMA MODIFIER .fa9tik.
   Badan .psctik nol disentuh sebaris pun — dia masih punya widget 📡 TICKER. */
.fa9drtwrap{padding:0 14px;margin:8px 0 0}
.fa9drt{display:flex;align-items:center;gap:0;border:1px solid color-mix(in srgb,var(--fa9sos) 52%,transparent);
  border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(255,93,93,.13),transparent 70%),rgba(0,0,0,.5);
  box-shadow:0 0 26px -16px var(--fa9sos);position:relative;animation:fa9drtin .4s ease-out}
@keyframes fa9drtin{from{opacity:0;transform:translateY(-8px)}}
.fa9drt::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,120,120,.03) 3px 4px)}
.fa9drt .fa9dh{display:flex;align-items:center;gap:6px;padding:0 11px;height:32px;flex:0 0 auto;
  border-right:1px solid rgba(255,93,93,.28);background:rgba(255,93,93,.1);
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fa9sos);white-space:nowrap}
.fa9drt .fa9dh i{width:5px;height:5px;border-radius:50%;background:var(--fa9sos);box-shadow:0 0 7px var(--fa9sos);animation:fa9dot 1.05s infinite;font-style:normal}
.fa9drt .fa9dx{padding:0 10px;height:32px;display:flex;align-items:center;flex:0 0 auto;cursor:pointer;z-index:2;
  border-left:1px solid rgba(255,93,93,.28);background:rgba(0,0,0,.6);
  font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.13em;color:var(--low)}
.fa9drt .fa9dx:hover{color:var(--fa9sos);background:rgba(255,93,93,.14)}
/* teksnya ngilang halus sebelum nabrak ✕ MATIIN — bukan kepotong mendadak */
.fa9drt .psctik{flex:1;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 22px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 22px),transparent 100%)}
/* .in itu inline-flex — spasi ANTAR anak dibuang flexbox. Jaraknya lewat GAP, jangan spasi. */
.psctik.fa9tik .in{color:var(--ink);height:32px;align-items:center;gap:.34em}
.psctik.fa9tik em{font-style:normal;color:var(--fa9sos);font-weight:800}
.psctik.fa9tik u{text-decoration:none;color:var(--fa9fw,var(--fa9c))}
.psctik.fa9tik s{text-decoration:none;color:var(--low)}
/* DARURAT: jalan terus walau motion engine matiin marquee.
   Override ini CUMA kena kalo ada kelas .fa9tik — marquee lain di app nol kesentuh. */
html[data-motion="off"] .psctik.fa9tik .in,[data-mo-marquee="0"] .psctik.fa9tik .in{animation-play-state:running!important;animation-name:pscmq!important}

/* ── sheet KETOK: geseran intensitas ── */
.fa9int{display:flex;gap:7px}
.fa9int span{flex:1;border:1px solid var(--line-2);border-radius:9px;padding:11px 4px;text-align:center;cursor:pointer;transition:.14s;background:rgba(0,0,0,.28)}
.fa9int span:hover{border-color:var(--fa9ic)}
.fa9int span.on{border-color:var(--fa9ic);background:color-mix(in srgb,var(--fa9ic) 15%,transparent);box-shadow:0 0 18px -9px var(--fa9ic)}
.fa9int span b{display:block;font-family:"JetBrains Mono",monospace;font-size:17px;font-weight:800;color:var(--fa9ic)}
.fa9int span small{display:block;font-family:"JetBrains Mono",monospace;font-size:7.5px;color:var(--low);margin-top:3px;letter-spacing:.06em}
.fa9fld{margin-bottom:13px}
.fa9fld>label{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--low);margin-bottom:5px}
/* ⚠ v10.19 — input HTML default warnanya HITAM kalo `color` ga di-set. Latarnya juga
   item. Jadi bang Sam ngetik ke dalem LUBANG. Mockup punya baris
   `button,input,select,textarea{color:inherit}` di pucuknya — baris itu ga ikut kesalin
   pas infus, dan nol pesan error yang ngasih tau. Sekarang tiap elemen isian modul ini
   dipaksa `--ink` di satu tempat, bukan ditambal per-kotak. */
.fa9in,.fa9pop input,.fa9pop textarea,.fa9pop select{color:var(--ink);font-family:inherit}
.fa9in::placeholder,.fa9pop input::placeholder{color:var(--low)}
.fa9in{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:8px;padding:8px 11px;font-size:13px;outline:none;transition:.15s}
.fa9in:focus{border-color:var(--fa9c);box-shadow:0 0 0 3px rgba(125,211,252,.1)}
.fa9r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fa9chips{display:flex;gap:5px;flex-wrap:wrap}
.fa9mnc{display:flex;align-items:center;gap:9px;margin-top:7px}
.fa9mnc .fa9in{width:132px;flex:0 0 auto;padding:6px 10px;font-size:12.5px;font-family:"JetBrains Mono",monospace;-moz-appearance:textfield}
.fa9mnc .fa9in::-webkit-outer-spin-button,.fa9mnc .fa9in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fa9mnc .fa9mnu{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--low)}
.fa9mnc.on .fa9in{border-color:var(--fa9c);background:color-mix(in srgb,var(--fa9c) 11%,transparent)}
.fa9mnc.on .fa9mnu{color:var(--fa9c)}
.fa9chips span{font-family:"JetBrains Mono",monospace;font-size:10px;padding:5px 10px;border-radius:7px;border:1px solid var(--line-2);color:var(--mid);cursor:pointer;transition:.13s}
.fa9chips span:hover{border-color:var(--fa9c);color:var(--ink)}
.fa9chips span.on{background:var(--fa9c);color:var(--void);border-color:var(--fa9c);font-weight:800}
.fa9hint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);line-height:1.75;margin-top:4px}
.fa9sect{margin-bottom:16px}
.fa9sect>h6{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:var(--fa9sc9,var(--fa9c));
  margin-bottom:9px;display:flex;align-items:center;gap:8px;font-weight:800}
.fa9sect>h6::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--fa9sc9,var(--fa9c)) 55%,transparent),transparent)}
.fa9tog{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--line-2);border-radius:9px;margin-bottom:6px;
  cursor:pointer;transition:.14s;background:rgba(0,0,0,.24)}
.fa9tog:hover{border-color:var(--fa9c)}
.fa9tog.on{border-color:var(--fa9c);background:color-mix(in srgb,var(--fa9c) 9%,transparent)}
.fa9tog .sw9{width:32px;height:17px;border-radius:9px;background:var(--line-2);position:relative;flex:0 0 auto;transition:.16s}
.fa9tog .sw9::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--low);transition:.16s}
.fa9tog.on .sw9{background:color-mix(in srgb,var(--fa9c) 40%,transparent)}
.fa9tog.on .sw9::after{left:17px;background:var(--fa9c);box-shadow:0 0 9px var(--fa9c)}
.fa9tog .fa9tt{flex:1;min-width:0}
.fa9tog .fa9tt b{display:block;font-size:13px}
.fa9tog .fa9tt small{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-top:2px;line-height:1.5}
.fa9ftr{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.fa9btn2{font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.3);border-radius:8px;padding:8px 15px;cursor:pointer;transition:.15s}
.fa9btn2:hover{color:var(--ink);border-color:var(--mid)}
.fa9btn2.pri{background:var(--fa9c);color:var(--void);border-color:var(--fa9c)}
/* baris godaan di sheet SOS */
.fa9sosr{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;
  cursor:pointer;transition:.14s;background:linear-gradient(180deg,var(--panel-2),var(--panel))}
.fa9sosr:hover{border-color:var(--fa9kc,var(--fa9c));transform:translateX(2px)}
.fa9sosr .fa9e{font-size:18px;flex:0 0 auto}
.fa9sosr .fa9b{flex:1;min-width:0}
.fa9sosr .fa9b b{display:block;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa9sosr .fa9b small{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-top:2px;letter-spacing:.07em}
.fa9sosr .fa9pcts{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;color:var(--fa9win);flex:0 0 auto}
/* badan widget The Screen */
.fa9wg{display:flex;flex-direction:column;gap:7px;height:100%;justify-content:center;padding:2px}
.fa9wgb{display:flex;align-items:center;gap:9px}
.fa9wgn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;line-height:1.15;min-width:0}
.fa9wgs{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);letter-spacing:.1em}

/* ── PICKER MODUL & PICKER RODA — "pop up cantik", bukan kotak ketik hash ── */
.fa9pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;max-height:46vh;overflow-y:auto;padding:2px}
.fa9pi{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer;transition:.14s;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));min-width:0}
.fa9pi:hover{border-color:var(--fa9c);transform:translateY(-2px)}
.fa9pi.on{border-color:var(--fa9c);background:color-mix(in srgb,var(--fa9c) 12%,transparent);box-shadow:0 0 18px -9px var(--fa9c)}
.fa9pi .fa9pe{font-size:17px;flex:0 0 auto;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--fa9c) 45%,transparent))}
.fa9pi .fa9pn{flex:1;min-width:0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa9pi small{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);letter-spacing:.08em;font-weight:400}
/* kartu Home 🆘 — sebelah kotak Ransom Coin, sepupu .card yang udah ada */
.card .fa9tg{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.1em}

/* tombol ⚙ di kepala halaman — pola dari .rc9cog, nama sendiri biar nol tabrakan */
.fa9cog{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:9px;padding:6px 11px;cursor:pointer;
  background:rgba(0,0,0,.3);font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);
  transition:.15s;align-self:flex-start;flex:0 0 auto}
.fa9cog:hover{border-color:var(--fa9c);color:var(--fa9c)}
.fa9cog i{font-style:normal;font-size:12px}
/* sheet modul: .pop punya kita GRID 2 KOLOM — modifier ini WAJIB ngelepas grid-nya.
   Ini bolong yang bikin dialog Ransom Coin kebelah dua di v10.16 (.rc9pop nol aturan). */
.pop.fa9pop{display:block;grid-template-columns:none;gap:0;padding:0;min-width:0;max-height:none;overflow:visible}
.pop.fa9pop .fa9sbd{padding:15px 17px}
.pop.fa9pop .fa9ftr{padding:12px 17px;background:var(--panel)}

/* ══════════════════════════════════════════════════════════════════════════════
   v10.20 — ☁ CLOUD AUDIO. Semua kelas & token ber-prefix ca9.

   PENYESUAIAN DARI MOCKUP — dan alasannya (jangan dibalikin):
   1. Mockup nulis token `--live` LANGSUNG ke <html> tiap ganti lagu. Itu bukan cuma
      nama yang nabrak — dia ngegeser warna SELURUH APP: latar, topbar, kepala seksi,
      ::selection. Di sini dia jadi `--ca9live` dan cuma dipasang di WADAH MODUL +
      bar mini, jadi halaman lain nol kesenggol.
   2. Mockup nyalin ulang kelas chrome app (.top .shell .pane .doc .co .cyhd .bg).
      NOL yang disalin ke sini — app kita udah punya, dan nulis ulang = kelas
      didefinisiin dua kali = yang belakangan menang diem-diem.
   3. Token pendek mockup yang di-set inline (--cc --gc --pc --tc --hc --s3 --shc
      --ac1 --ac2 --armdeg) semuanya ber-prefix ca9 — custom property itu DIWARISIN,
      jadi nama pendek bisa kebocoran dari ancestor mana pun di app.
   4. Kelas anak generik mockup (.main .on .art .pl .tip .disc .lbl .hole) semuanya
      diganti nama ber-prefix. `.on` doang yang dipertahanin, TAPI selalu di-scope
      ke induk ca9 (mis. `.ca9chip.on`), nol pernah berdiri sendiri.
   ══════════════════════════════════════════════════════════════════════════════ */
:root{
  --ca9:#22d3ee;        /* aksen identitas modul — sian */
  --ca9g:#2dd4a7;       /* mesin analisis — ijo */
  --ca9w:#f2b13d;       /* peringatan lembut / taksiran — amber */
  --ca9live:#22d3ee;    /* warna dominan lagu — digeser JS, DI WADAH MODUL DOANG */
}

/* ── kepala halaman ── */
.ca9head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.ca9hact{display:flex;gap:7px;flex-wrap:wrap;flex:0 0 auto}
.ca9btn{font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--line-2);color:var(--mid);background:rgba(0,0,0,.32);border-radius:9px;padding:8px 13px;cursor:pointer;transition:.15s;white-space:nowrap}
.ca9btn:hover{border-color:var(--ca9live);color:var(--ca9live)}
.ca9btn.pri{background:var(--ca9live);color:var(--void);border-color:var(--ca9live)}
.ca9btn.pri:hover{filter:brightness(1.12);color:var(--void)}
.ca9btn.on{border-color:var(--ca9live);color:var(--ca9live);background:color-mix(in srgb,var(--ca9live) 12%,transparent)}
.ca9btn[disabled]{opacity:.38;pointer-events:none}

/* ── NOW PLAYING ─────────────────────────────────────────────────────────────── */
.ca9np{position:relative;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ca9live) 30%,transparent);border-radius:18px;padding:20px 24px;margin-bottom:22px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ca9live) 7%,transparent),transparent 60%),linear-gradient(180deg,var(--panel-2),var(--panel));
  box-shadow:0 0 40px -26px var(--ca9live);transition:box-shadow .8s,border-color .8s}
.ca9np::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.013) 3px 4px)}
@media(max-width:900px){.ca9np{grid-template-columns:1fr;justify-items:center}}

/* piringan hitam — alurnya gradien berulang yang di-mask, bukan SVG */
.ca9deck{width:196px;height:196px;position:relative;flex:0 0 auto}
.ca9disc{position:absolute;inset:0;border-radius:50%;overflow:hidden;
  background:radial-gradient(circle at 50% 50%,#1a1d26 0 17%,#08090e 17.5% 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.07),0 16px 44px -14px #000,inset 0 0 44px rgba(0,0,0,.85);
  animation:ca9spin 3.6s linear infinite;animation-play-state:paused}
.ca9deck.spin .ca9disc{animation-play-state:running}
.ca9disc::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:repeating-radial-gradient(circle at 50% 50%,transparent 0 2px,rgba(255,255,255,.048) 2px 2.6px);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 0 26%,#000 27% 96%,transparent 97%);
  mask-image:radial-gradient(circle at 50% 50%,transparent 0 26%,#000 27% 96%,transparent 97%)}
.ca9disc::after{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 8%,rgba(255,255,255,.11) 13%,transparent 20% 55%,rgba(255,255,255,.07) 62%,transparent 70%)}
@keyframes ca9spin{to{transform:rotate(360deg)}}
.ca9lab{position:absolute;left:33%;top:33%;width:34%;height:34%;border-radius:50%;display:grid;place-items:center;font-size:26px;z-index:2;
  background:linear-gradient(145deg,var(--ca9a1,#22d3ee),var(--ca9a2,#a78bfa));
  box-shadow:0 0 24px -6px var(--ca9a1,#22d3ee),inset 0 0 18px rgba(0,0,0,.4);transition:background .6s}
.ca9hol{position:absolute;left:46.75%;top:46.75%;width:6.5%;height:6.5%;border-radius:50%;background:var(--void);z-index:3}
.ca9arm{position:absolute;right:-6px;top:0;width:104px;height:104px;z-index:4;pointer-events:none;
  transform-origin:88% 12%;transform:rotate(-25deg);transition:transform .6s cubic-bezier(.4,0,.2,1)}
.ca9deck.spin .ca9arm{transform:rotate(var(--ca9arm,0deg))}
.ca9arm svg{width:100%;height:100%;overflow:visible}

/* kolom info */
.ca9ni{display:flex;flex-direction:column;gap:9px;min-width:0;width:100%}
.ca9lbl2{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.24em;text-transform:uppercase;color:var(--low)}
.ca9tt{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(19px,2.4vw,27px);line-height:1.12;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9tt em{font-style:italic;color:var(--mid)}
.ca9ar{font-size:13px;color:var(--ca9live);transition:color .6s}
.ca9al{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--mid)}
.ca9chips{display:flex;gap:5px;flex-wrap:wrap}
.ca9chip{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.09em;padding:3px 8px;border-radius:7px;
  border:1px solid color-mix(in srgb,var(--ca9cc,var(--ca9live)) 40%,transparent);color:var(--ca9cc,var(--ca9live));
  background:color-mix(in srgb,var(--ca9cc,var(--ca9live)) 9%,transparent);white-space:nowrap}
.ca9chip.klik{cursor:pointer}
.ca9chip.klik:hover{background:color-mix(in srgb,var(--ca9cc,var(--ca9live)) 22%,transparent)}
.ca9chip b{font-weight:800;color:var(--ink)}
.ca9st{display:inline-flex;gap:2px;cursor:pointer;user-select:none}
.ca9st span{font-size:14px;opacity:.26;transition:.13s;line-height:1}
.ca9st span.on{opacity:1;filter:drop-shadow(0 0 6px var(--amber))}
.ca9st.big span{font-size:21px}
.ca9st:hover span{opacity:.5}
.ca9st:hover span.on{opacity:1}

/* bentang gelombang & visualizer — dua-duanya canvas */
.ca9wf{position:relative;height:56px;border-radius:9px;overflow:hidden;cursor:pointer;background:rgba(0,0,0,.3);border:1px solid var(--line)}
.ca9wf canvas{width:100%;height:100%;display:block}
.ca9wf .ca9ph{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 10px #fff,0 0 22px var(--ca9live);pointer-events:none;left:0}
.ca9wf .ca9tip{position:absolute;top:4px;transform:translateX(-50%);font-family:"JetBrains Mono",monospace;font-size:9px;
  background:rgba(6,7,11,.92);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;opacity:0;transition:.12s;pointer-events:none;white-space:nowrap}
.ca9wf:hover .ca9tip{opacity:1}
.ca9viz{height:58px;border-radius:10px;overflow:hidden;border:1px solid var(--line);
  background:radial-gradient(120% 100% at 50% 100%,color-mix(in srgb,var(--ca9live) 9%,transparent),transparent),#080a10}
.ca9viz canvas{width:100%;height:100%;display:block}

/* transport */
.ca9tr{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ca9b{width:36px;height:36px;border-radius:11px;border:1px solid var(--line-2);background:rgba(0,0,0,.34);color:var(--mid);
  cursor:pointer;display:grid;place-items:center;font-size:14px;transition:.14s;flex:0 0 auto;padding:0}
.ca9b:hover{border-color:var(--ca9live);color:var(--ca9live)}
.ca9b.main{width:48px;height:48px;font-size:19px;border-color:var(--ca9live);color:var(--ca9live);
  background:color-mix(in srgb,var(--ca9live) 13%,transparent)}
.ca9b.main:hover{background:var(--ca9live);color:var(--void)}
.ca9b.on{border-color:var(--ca9live);color:var(--ca9live);background:color-mix(in srgb,var(--ca9live) 13%,transparent)}
.ca9b small{font-family:"JetBrains Mono",monospace;font-size:8.5px;font-weight:800}
.ca9tm{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--mid);font-variant-numeric:tabular-nums;white-space:nowrap}
.ca9tm b{color:var(--ink);font-weight:800}

/* ── BAR MINI GLOBAL — bukti visual kalo sesi punya APP, bukan punya widget ── */
/* v10.92 — dijangkar KIRI, kanan disisain 152px buat rak ngambang + ◐:
   perintahnya "BUAT SEJAJAR DENGAN INI" — tiga penghuni lantai bawah duduk
   sebaris, nol ada yang ngambang nutupin konten */
.ca9mini{position:fixed;left:14px;bottom:14px;z-index:90;
  width:min(1000px,calc(100vw - 152px));display:flex;align-items:center;gap:11px;padding:9px 14px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--ca9live) 34%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--ca9live) 10%,transparent),rgba(6,7,11,.93));
  box-shadow:0 14px 44px -18px #000,0 0 30px -18px var(--ca9live);backdrop-filter:blur(14px);overflow:hidden;transition:.4s}
.ca9mini.ca9hide{transform:translateY(140%);opacity:0;pointer-events:none}
.ca9mart{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:19px;flex:0 0 auto;
  background:linear-gradient(145deg,var(--ca9a1,#22d3ee),var(--ca9a2,#a78bfa));transition:background .6s}
.ca9mart.spin{border-radius:50%;animation:ca9spin 3.6s linear infinite}
.ca9mnm{flex:1;min-width:0;cursor:pointer}
.ca9mnm .ca9n1{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9mnm .ca9n2{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9mini .ca9b{width:31px;height:31px;border-radius:9px;font-size:12px}
.ca9mini .ca9b.main{width:36px;height:36px;font-size:15px}
.ca9mprog{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.07)}
.ca9mprog i{display:block;height:100%;width:0;background:var(--ca9live);box-shadow:0 0 8px var(--ca9live);transition:width .25s linear}

/* ── MESIN ANALISIS ── */
.ca9eng{border:1px solid color-mix(in srgb,var(--ca9g) 26%,transparent);border-radius:14px;overflow:hidden;margin-bottom:22px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ca9g) 5%,transparent),transparent 50%),rgba(0,0,0,.28)}
.ca9engh{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line);flex-wrap:wrap;
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ca9g)}
.ca9engh i{width:6px;height:6px;border-radius:50%;background:var(--ca9g);box-shadow:0 0 7px var(--ca9g);font-style:normal;opacity:.35}
.ca9engh i.run{animation:ca9beat 1s ease-in-out infinite;opacity:1}
@keyframes ca9beat{0%,100%{opacity:1}50%{opacity:.3}}
.ca9engb{padding:13px}
.ca9pbar{position:relative;height:7px;border-radius:9px;background:rgba(255,255,255,.06);overflow:hidden;margin-bottom:8px}
.ca9pbar i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--ca9w) 30%,transparent);transition:width .3s}
.ca9pbar u{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--ca9g),#7ef5c8);
  box-shadow:0 0 10px -2px var(--ca9g);transition:width .3s}
.ca9pl2{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);display:flex;gap:10px;flex-wrap:wrap}
.ca9pl2 b{color:var(--ink);font-weight:800}
.ca9pl2 em{font-style:normal;color:var(--ca9g)}
.ca9tier{display:grid;grid-template-columns:repeat(auto-fit,minmax(206px,1fr));gap:9px;margin-top:11px}
.ca9tc{border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:rgba(0,0,0,.26);cursor:pointer;transition:.15s}
.ca9tc:hover{border-color:var(--ca9tcc,var(--ca9))}
.ca9tc.on{border-color:var(--ca9tcc,var(--ca9));background:color-mix(in srgb,var(--ca9tcc,var(--ca9)) 8%,transparent)}
.ca9tc .h{display:flex;align-items:center;gap:8px;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ca9tcc,var(--ca9));margin-bottom:5px}
.ca9tc .sw{width:24px;height:13px;border-radius:8px;background:var(--line-2);position:relative;flex:0 0 auto;margin-left:auto;transition:.15s}
.ca9tc .sw::after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--low);transition:.15s}
.ca9tc.on .sw{background:color-mix(in srgb,var(--ca9tcc,var(--ca9)) 45%,transparent)}
.ca9tc.on .sw::after{left:13px;background:var(--ca9tcc,var(--ca9))}
.ca9tc small{display:block;font-size:11px;color:var(--mid);line-height:1.5}
.ca9tc .byte{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-top:4px;letter-spacing:.08em}

/* ── SARINGAN & PRESET ── */
.ca9pre{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}
.ca9pp{border:1px solid var(--line-2);border-radius:9px;padding:7px 11px;cursor:pointer;transition:.14s;background:rgba(0,0,0,.26);
  border-left:3px solid var(--ca9ppc,var(--ca9))}
.ca9pp:hover{border-color:var(--ca9ppc,var(--ca9));transform:translateY(-1px)}
.ca9pp b{display:block;font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;letter-spacing:.09em;color:var(--ink)}
.ca9pp small{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);margin-top:2px}
.ca9flt{display:flex;gap:11px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ca9fg{display:flex;flex-direction:column;gap:4px}
.ca9fg>span{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--low)}
.ca9in{background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:8px;padding:6px 9px;font-size:12.5px;outline:none;
  color:var(--ink);font-family:inherit;width:64px;transition:.14s}
.ca9in.wide{width:190px}
.ca9in:focus{border-color:var(--ca9live);box-shadow:0 0 0 3px color-mix(in srgb,var(--ca9live) 12%,transparent)}
.ca9in::placeholder{color:var(--low)}
.ca9gc{display:flex;gap:4px;flex-wrap:wrap}
.ca9gc span{font-family:"JetBrains Mono",monospace;font-size:9px;padding:4px 8px;border-radius:6px;border:1px solid var(--line-2);
  color:var(--mid);cursor:pointer;transition:.12s;white-space:nowrap}
.ca9gc span:hover{border-color:var(--ca9gcc,var(--ca9live));color:var(--ink)}
.ca9gc span.on{background:var(--ca9gcc,var(--ca9live));color:var(--void);border-color:var(--ca9gcc,var(--ca9live));font-weight:800}
.ca9cnt{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-left:auto;align-self:center}
/* v11.19 B10 — chip NAMPILIN (saringan playlist kebaca + pintu balik) */
.ca9nmp9{display:inline-flex;align-items:center;gap:4px;margin-left:2px;padding:2px 9px;border-radius:999px;border:1px solid rgba(34,211,238,.5);background:rgba(34,211,238,.12);color:var(--ink);cursor:pointer;font-weight:800;letter-spacing:.05em;white-space:nowrap}
.ca9nmp9:hover{background:rgba(34,211,238,.22);box-shadow:0 0 10px -4px #22d3ee}
.ca9cnt b{color:var(--ca9g);font-weight:800}

/* ── TABEL PUSTAKA ── */
.ca9qwrap{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-bottom:22px;align-items:start}
@media(max-width:1150px){.ca9qwrap{grid-template-columns:1fr}}
.ca9lib{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:rgba(0,0,0,.24);min-width:0}
.ca9tw{overflow:auto;max-height:min(62vh,680px)}
table.ca9t{width:100%;border-collapse:collapse;font-size:12px}
table.ca9t th{position:sticky;top:0;z-index:2;background:#0a0c12;text-align:left;cursor:pointer;white-space:nowrap;
  font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--low);
  padding:8px 9px;border-bottom:1px solid var(--line-2);user-select:none}
table.ca9t th:hover{color:var(--ca9live)}
table.ca9t th.num{text-align:right}
table.ca9t th s{text-decoration:none;color:var(--ca9live)}
table.ca9t td{padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.032);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--mid)}
table.ca9t td.num{font-family:"JetBrains Mono",monospace;font-size:11px;text-align:right}
table.ca9t tr:hover td{background:rgba(255,255,255,.033)}
table.ca9t tr.on td{background:color-mix(in srgb,var(--ca9live) 11%,transparent)}
table.ca9t tr.on td.ca9jdc{color:var(--ca9live);font-weight:700}
table.ca9t tr.sel td{background:color-mix(in srgb,var(--violet) 10%,transparent)}
.ca9jd{display:inline-block;max-width:270px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;color:var(--ink)}
.ca9jd em{font-style:italic;color:var(--mid)}
.ca9asal{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-left:6px}
.ca9v{display:inline-block;min-width:34px;text-align:center;border-radius:5px;padding:1px 5px;font-weight:800;
  background:color-mix(in srgb,var(--ca9vc,var(--mid)) 15%,transparent);color:var(--ca9vc,var(--mid))}
.ca9na{color:var(--low)}
.ca9tak{font-style:italic;color:var(--ca9w)}
.ca9yk{display:inline-block;width:26px;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;margin-left:5px;vertical-align:middle}
.ca9yk i{display:block;height:100%;background:var(--ca9ykc,var(--ca9g))}
.ca9dot9{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--line-2);margin-right:5px}
.ca9dot9.ok{background:var(--ca9g);box-shadow:0 0 6px var(--ca9g)}
.ca9dot9.run{background:var(--ca9w);box-shadow:0 0 6px var(--ca9w);animation:ca9beat .8s ease-in-out infinite}
.ca9gt{font-family:"JetBrains Mono",monospace;font-size:9px;padding:2px 6px;border-radius:5px;cursor:pointer;
  border:1px solid color-mix(in srgb,var(--ca9gtc,var(--low)) 40%,transparent);color:var(--ca9gtc,var(--mid))}
.ca9gt:hover{border-color:var(--ca9live);color:var(--ca9live)}
.ca9gt.kosong{border-style:dashed;color:var(--low)}
.ca9sb{width:13px;height:13px;border-radius:4px;border:1px solid var(--line-2);display:inline-block;cursor:pointer;position:relative;vertical-align:middle}
.ca9sb.on{background:var(--violet);border-color:var(--violet)}
.ca9sb.on::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:9px;color:var(--void);font-weight:800}
.ca9dup{font-family:"JetBrains Mono",monospace;font-size:7.5px;padding:1px 5px;border-radius:4px;margin-left:5px;
  border:1px solid rgba(242,177,61,.4);color:var(--ca9w);background:rgba(242,177,61,.08)}
.ca9baru{font-family:"JetBrains Mono",monospace;font-size:7.5px;padding:1px 5px;border-radius:4px;margin-left:5px;
  border:1px solid color-mix(in srgb,var(--ca9) 45%,transparent);color:var(--ca9);background:color-mix(in srgb,var(--ca9) 9%,transparent)}
.ca9pod{font-family:"JetBrains Mono",monospace;font-size:7.5px;padding:1px 5px;border-radius:4px;margin-left:5px;
  border:1px solid rgba(167,139,250,.4);color:#a78bfa;background:rgba(167,139,250,.08)}
.ca9vid{font-family:"JetBrains Mono",monospace;font-size:7.5px;padding:1px 5px;border-radius:4px;margin-left:5px;
  border:1px solid rgba(244,114,182,.4);color:#f472b6;background:rgba(244,114,182,.08)}
/* nama berkas ASLI di samping judul yang di-rename manual — kecil, kelabu, jujur */
.ca9asli{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-left:7px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:230px;display:inline-block;vertical-align:middle}
.ca9tt+.ca9asli,.ca9np .ca9asli{display:block;margin-left:0;margin-top:2px;max-width:100%}
/* ↔ MODE LEBAR (v10.27) — full-bleed kaya kanvas. :has() bikin shell ngelebar
   CUMA pas halaman ☁ kebuka + toggle nyala, dan balik normal SENDIRI begitu
   #ca9root ilang dari DOM. Nol JS di route, nol halaman lain kesenggol. */
body:has(#ca9root.ca9lebar) .shell{max-width:none}
body:has(#wmatrix.mxlebar9:not(.hidden)) .shell,body:has(#wgrid.mxlebar9:not(.hidden)) .shell{max-width:none}   /* v11.10 ⬌ LEBAR wall — resep persis Cloud Audio (papan: "bukan jadi pepet tapi jadi kaya lebar - kaya si CLOUD audio"); :not(.hidden) biar tab wall lain nol ikut melar */
/* 🏎 v10.28 — pengganjal virtual scroll: satu baris mewakili ribuan yang belum
   kegambar. Nol padding, nol garis — dia cuma TINGGI. */
.ca9spacer td{padding:0!important;border:0!important;height:inherit}
.ca9t tbody tr{height:36px}
.ca9qsp{flex:none}
/* ── 🎬 jendela video ngambang — pola bar mini: nempel body, idup nembus pindah
   halaman. resize: horizontal bawaan browser, aspek videonya ngikut. ── */
#ca9vidhost{position:fixed;right:18px;bottom:74px;z-index:1200}
.ca9vwin{width:min(480px,92vw);background:linear-gradient(160deg,#12151d,#0c0e14);
  border:1px solid color-mix(in srgb,var(--ca9) 35%,transparent);border-radius:12px;overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 22px color-mix(in srgb,var(--ca9) 14%,transparent);
  resize:horizontal;min-width:260px;max-width:94vw}
.ca9vhd{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}
.ca9vhd .t{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.4px;color:var(--hi);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca9vwin video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.ca9vket{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--mid);padding:6px 10px}
.ca9bulk{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--violet) 7%,transparent)}
.ca9bulk .n{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--violet);font-weight:800}
.ca9kosong{padding:28px 16px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--low);line-height:1.9}

/* ── ANTRIAN ── */
.ca9q{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:rgba(0,0,0,.24);position:sticky;top:74px}
.ca9qh{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--violet)}
.ca9qb{max-height:420px;overflow-y:auto}
.ca9qr{display:flex;align-items:center;gap:9px;padding:7px 12px;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;transition:.12s}
.ca9qr:hover{background:rgba(255,255,255,.035)}
.ca9qr.on{background:color-mix(in srgb,var(--ca9live) 12%,transparent)}
.ca9qr .g{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);min-width:16px}
.ca9qr.on .g{color:var(--ca9live)}
.ca9qr .t{flex:1;min-width:0;font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9qr .t small{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low)}
.ca9qr .d{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low)}

/* ── PLAYLIST ── */
.ca9plbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}
/* v10.92 — 🔊 volume (satu pintu dua muka) + playlist AKTIF menyala */
.ca9vol{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.ca9vol i{font-style:normal;font-size:12px;opacity:.8}
.ca9vol input{width:76px;accent-color:var(--ca9live,#22d3ee);cursor:pointer}
.ca9vol b{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--mid);width:21px;text-align:right}
.ca9plc.main9{border-color:var(--ca9plcc,var(--ca9));
  box-shadow:0 0 28px -8px var(--ca9plcc,var(--ca9)),inset 0 0 32px -22px var(--ca9plcc,var(--ca9));
  animation:ca9plg 2.4s ease-in-out infinite}
@keyframes ca9plg{50%{box-shadow:0 0 38px -6px var(--ca9plcc,var(--ca9)),inset 0 0 36px -20px var(--ca9plcc,var(--ca9))}}
.ca9plgo{font-style:normal;margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:7.5px;font-weight:800;
  letter-spacing:.1em;color:var(--ca9plcc,var(--ca9));border:1px solid color-mix(in srgb,var(--ca9plcc,var(--ca9)) 50%,transparent);
  border-radius:6px;padding:2px 6px;background:color-mix(in srgb,var(--ca9plcc,var(--ca9)) 12%,transparent)}
.ca9plc{border:1px solid var(--line);border-left:3px solid var(--ca9plcc,var(--ca9));border-radius:11px;padding:10px 13px;
  min-width:190px;background:linear-gradient(180deg,var(--panel-2),var(--panel));transition:.15s}
.ca9plc:hover{border-color:var(--ca9plcc,var(--ca9));transform:translateY(-2px)}
.ca9plc.on{box-shadow:0 0 22px -12px var(--ca9plcc,var(--ca9))}
.ca9plc .h{display:flex;align-items:center;gap:7px;margin-bottom:4px}
.ca9plc .h b{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13.5px;color:var(--ink)}
.ca9plc .m{font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-bottom:7px}
.ca9plc .m em{font-style:normal;color:var(--ca9plcc,var(--ca9))}
.ca9plc .act{display:flex;gap:5px}
.ca9plc .act s{text-decoration:none;cursor:pointer;font-size:11px;color:var(--low);padding:2px 5px;border-radius:5px;border:1px solid var(--line-2)}
.ca9plc .act s:hover{color:var(--ca9plcc,var(--ca9));border-color:var(--ca9plcc,var(--ca9))}
.ca9plnew{border:1px dashed var(--line-2);border-radius:11px;padding:10px 13px;min-width:150px;cursor:pointer;
  display:grid;place-items:center;transition:.15s;text-align:center}
.ca9plnew:hover{border-color:var(--ca9);color:var(--ca9)}
.ca9plnew b{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.12em;color:var(--mid)}
.ca9plnew small{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);margin-top:3px}

/* ── MODE CICIP ── */
.ca9cicip{border:1px solid color-mix(in srgb,var(--ca9w) 40%,transparent);border-radius:16px;overflow:hidden;margin-bottom:22px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ca9w) 8%,transparent),transparent 55%),rgba(0,0,0,.3)}
.ca9cch{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--ca9w)}
.ca9cch i{width:6px;height:6px;border-radius:50%;background:var(--ca9w);box-shadow:0 0 7px var(--ca9w);animation:ca9beat .9s ease-in-out infinite;font-style:normal}
.ca9ccb{display:grid;grid-template-columns:1fr auto;gap:20px;padding:16px 18px;align-items:center}
@media(max-width:820px){.ca9ccb{grid-template-columns:1fr}}
.ca9ccn{min-width:0}
.ca9ccn .lbl{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--low)}
.ca9ccn .jd{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:clamp(19px,2.4vw,26px);line-height:1.15;margin:3px 0 5px}
.ca9ccn .sub{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--mid);line-height:1.7}
.ca9ccnm{margin-top:9px}
.ca9ccprog{height:5px;border-radius:5px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
.ca9ccprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ca9w),#ffd98a);box-shadow:0 0 8px -1px var(--ca9w)}
.ca9cckey{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.ca9cckey kbd{font-family:"JetBrains Mono",monospace;font-size:8px;border:1px solid var(--line-2);border-radius:4px;padding:2px 5px;color:var(--low)}
.ca9cckey kbd b{color:var(--ink)}
.ca9ccr{display:flex;flex-direction:column;align-items:center;gap:9px}
.ca9ccr .ca9st span{font-size:29px}

/* ── SHEET ── */
.pop.ca9pop{display:block;grid-template-columns:none;gap:0;padding:0;min-width:0;max-height:none;overflow:visible}
.pop.ca9pop .ca9sbd{padding:15px 17px;max-height:64vh;overflow-y:auto}
.pop.ca9pop .ca9sft{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:12px 17px;border-top:1px solid var(--line);background:var(--panel)}
.ca9sect{margin-bottom:15px}
.ca9sect>h6{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ca9sc,var(--ca9));margin:0 0 8px;display:flex;align-items:center;gap:8px;font-weight:800}
.ca9sect>h6::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--ca9sc,var(--ca9)) 55%,transparent),transparent)}
.ca9tog{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--line-2);border-radius:9px;margin-bottom:6px;
  cursor:pointer;transition:.14s;background:rgba(0,0,0,.24)}
.ca9tog:hover{border-color:var(--ca9)}
.ca9tog.on{border-color:var(--ca9);background:color-mix(in srgb,var(--ca9) 9%,transparent)}
.ca9tog .sw{width:30px;height:16px;border-radius:9px;background:var(--line-2);position:relative;flex:0 0 auto;transition:.15s}
.ca9tog .sw::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--low);transition:.15s}
.ca9tog.on .sw{background:color-mix(in srgb,var(--ca9) 42%,transparent)}
.ca9tog.on .sw::after{left:16px;background:var(--ca9);box-shadow:0 0 8px var(--ca9)}
.ca9tog .tx{flex:1;min-width:0}
.ca9tog .tx b{display:block;font-size:13px}
.ca9tog .tx small{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);margin-top:2px;line-height:1.5}
.ca9f{margin-bottom:12px}
.ca9f>label{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--low);margin-bottom:5px}
.ca9f .ca9in{width:100%}
.ca9hint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);line-height:1.75;margin-top:4px}
.ca9m3u{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--mid);background:#080a10;border:1px solid var(--line);
  border-left:3px solid var(--ca9);border-radius:8px;padding:11px 13px;max-height:250px;overflow:auto;white-space:pre;line-height:1.6}
.ca9pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:46vh;overflow-y:auto;padding:2px}
.ca9pi{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;cursor:pointer;transition:.14s;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));min-width:0}
.ca9pi:hover{border-color:var(--ca9);transform:translateY(-2px)}
.ca9pi.on{border-color:var(--ca9);background:color-mix(in srgb,var(--ca9) 12%,transparent)}
.ca9pi .e{font-size:16px;flex:0 0 auto}
.ca9pi .t{flex:1;min-width:0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9pi .t small{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);font-weight:400}

/* ── WIDGET ── */
.ca9wg{display:flex;flex-direction:column;gap:7px;height:100%;min-height:0;padding:2px}
.ca9wgh{display:flex;align-items:center;gap:7px;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--low);flex:0 0 auto}
.ca9wgh b{color:var(--ca9live);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ca9wgb{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;justify-content:center}
.ca9wgart{display:flex;align-items:center;gap:10px;min-width:0}
.ca9wgd{width:56px;height:56px;flex:0 0 auto;position:relative}
/* ⚠ .ca9deck ukurannya PATOK 196px — ukuran panggung halaman penuh. Di widget
   dia mesti nurut kotaknya, dan `inset:0` DOANG nol cukup: width/height dari
   kelas tetep menang atas lebar yang diturunin dari left/right. Tanpa tiga
   baris ini piringannya tumpah keluar widget dan nutupin judul lagunya. */
.ca9wgd .ca9deck{position:absolute;inset:0;width:100%;height:100%}
.ca9wgd .ca9disc{position:absolute;inset:0}
.ca9wgd .ca9lab{font-size:14px}
/* lengan piringan 104px — nol muat di kotak 56px, dan yang muat cuma potongannya.
   Potongan lengan itu bukan lengan, itu coretan. Di widget dia disembunyiin. */
.ca9wgd .ca9arm{display:none}
.ca9wgn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9wgs{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9wgl{flex:1;min-height:0;overflow-y:auto}
.ca9wgr{display:flex;align-items:center;gap:7px;padding:3px 6px;border-radius:5px;cursor:pointer;font-size:11px;height:26px}
.ca9wgr:hover{background:rgba(255,255,255,.05)}
.ca9wgr.on{background:color-mix(in srgb,var(--ca9live) 14%,transparent);color:var(--ca9live)}
.ca9wgr .g{font-size:9px;width:12px;flex:0 0 auto;color:var(--low)}
.ca9wgr.on .g{color:var(--ca9live)}
.ca9wgr .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca9wgr .s{font-family:"JetBrains Mono",monospace;font-size:8px;color:var(--low)}
.ca9wgtog{display:flex;gap:4px;flex:0 0 auto}
.ca9wgtog span{font-family:"JetBrains Mono",monospace;font-size:7.5px;padding:2px 6px;border-radius:5px;border:1px solid var(--line-2);
  color:var(--low);cursor:pointer;transition:.12s}
.ca9wgtog span.on{border-color:var(--ca9live);color:var(--ca9live);background:color-mix(in srgb,var(--ca9live) 12%,transparent)}
.ca9wgtr{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.ca9wgtr .ca9b{width:26px;height:26px;border-radius:8px;font-size:11px}
.ca9wgtr .ca9b.main{width:30px;height:30px;font-size:13px}

/* tombol ⚙ kepala halaman — sepupu .fa9cog & .rc9cog, nama sendiri biar nol tabrakan */
.ca9cog{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:9px;padding:6px 11px;cursor:pointer;
  background:rgba(0,0,0,.3);font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);
  transition:.15s;align-self:flex-start;flex:0 0 auto}
.ca9cog:hover{border-color:var(--ca9);color:var(--ca9)}
.ca9cog i{font-style:normal;font-size:12px}
/* .phead itu space-between; tanpa ini judulnya nol ngedorong tombolnya ke kanan
   dan ⚙ ngambang sendirian di baris bawah — bug persis yang kena di v10.19. */
.ca9phl{flex:1 1 auto;min-width:0}

    /* ═══ v10.47 — SPESIES · RONDE · STRIP KOTAK DI KARTU ═══ */
  .kspes{font-weight:800}
  .krnd{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border:1px solid var(--line);
    border-left:3px solid var(--rc,#4cc9f0);border-radius:0 10px 10px 0;padding:6px 11px;margin:7px 0 8px;
    background:rgba(255,255,255,.012)}
  .krnd .m{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--dim);white-space:nowrap}
  .krnd .m b{color:var(--rc,#4cc9f0)}
  .krnd .s{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.06em;color:var(--low);white-space:nowrap}
  .krnd.kosong{border-left-color:var(--line-2);font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
  .kstr{display:flex;gap:3px;flex-wrap:wrap;align-items:flex-end;margin:2px 0 6px}
  .kpot{font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.06em;color:var(--low);
    align-self:center;padding-right:4px}
  .kck{width:26px;display:grid;gap:1px;justify-items:center;user-select:none}
  .kck i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7px;color:var(--low);line-height:1}
  .kck b{width:100%;aspect-ratio:1;border:1px solid var(--line-2);border-radius:5px;display:grid;place-items:center;
    font-size:11px;font-weight:400;color:var(--low);background:rgba(255,255,255,.014);transition:.12s}
  .kck[data-kcek]{cursor:pointer}
  .kck[data-kcek]:hover b{border-color:var(--pgc,#4cc9f0);transform:translateY(-2px)}
  .kck.on b{border-color:rgba(76,201,240,.6);background:rgba(76,201,240,.16);color:#4cc9f0}
  .kck.sus b{border-color:rgba(242,177,61,.6);color:#f2b13d;
    background:repeating-linear-gradient(45deg,rgba(242,177,61,.2) 0 5px,rgba(242,177,61,.05) 5px 10px)}
  .kck.diem b{background:rgba(255,255,255,.05)}
  .kck.kunci b{border-color:rgba(255,77,109,.45);color:#ff4d6d;background:rgba(255,77,109,.07);cursor:not-allowed}
  .kck.depan{opacity:.28}
  .kck.depan b{cursor:not-allowed}
  .kck.now b{outline:1px dashed #2dd48a;outline-offset:2px}
  .kck.now i{color:#2dd48a}
  .kstrn{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.05em;color:var(--low);
    line-height:1.6;margin-bottom:6px}
  .kstrn b{color:var(--mid)}
/* ═══ v10.45 — PANEL KEHORMATAN (kaul bersumber routine · quest · pantau) ═══
     Semua kelas berawalan kh9 — diaudit nol hit sebelum ditempel. Warna cuma
     dua yang berarti: BIRU = bukti, AMBER GARIS-GARIS = diaku sendiri. Dua
     warna itu nol pernah boleh dilebur jadi satu. */
  .kh9{display:grid;gap:11px;margin:10px 0 4px}
  .kh9num{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}
  .kh9n{display:grid;gap:2px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:rgba(0,0,0,.22)}
  .kh9n b{font-family:"JetBrains Mono",monospace;font-size:20px;line-height:1;letter-spacing:-.02em;color:var(--ink)}
  .kh9n i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.12em;color:var(--low)}
  .kh9bar{position:relative;height:22px;border:1px solid var(--line-2);border-radius:7px;overflow:hidden;background:rgba(0,0,0,.4)}
  .kh9bar i{position:absolute;top:0;bottom:0;display:block}
  .kh9bar .b1{left:0;background:linear-gradient(90deg,#4cc9f0,#7ee0ff);box-shadow:0 0 16px rgba(76,201,240,.45)}
  .kh9bar .b2{background:repeating-linear-gradient(45deg,rgba(242,177,61,.9) 0 6px,rgba(242,177,61,.3) 6px 12px)}
  .kh9bar .rd{position:absolute;right:9px;top:0;bottom:0;display:flex;align-items:center;
    font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;color:var(--dim)}
  .kh9leg{display:flex;gap:14px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:8.5px;
    letter-spacing:.08em;color:var(--low)}
  .kh9leg span{display:inline-flex;align-items:center;gap:5px}
  .kh9leg i{width:9px;height:9px;border-radius:2px;display:inline-block}
  .kh9leg .d1{background:#4cc9f0}
  .kh9leg .d2{background:repeating-linear-gradient(45deg,#f2b13d 0 3px,rgba(242,177,61,.3) 3px 6px)}
  .kh9leg .d3{background:rgba(255,255,255,.14)}
  .kh9leg .d0{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2)}
  .kh9grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:4px}
  .kh9s{position:relative;aspect-ratio:1;border:1px solid var(--line-2);border-radius:6px;display:grid;
    place-items:center;background:rgba(255,255,255,.014);transition:.13s}
  .kh9s b{font-size:12px;line-height:1;color:var(--low)}
  .kh9s i{position:absolute;bottom:2px;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:6.5px;color:var(--low);opacity:.75}
  .kh9s.bukti{border-color:rgba(76,201,240,.55);background:rgba(76,201,240,.15);box-shadow:0 0 12px rgba(76,201,240,.18) inset;cursor:not-allowed}
  .kh9s.bukti b{color:#4cc9f0}
  .kh9s.aku{border-color:rgba(242,177,61,.55);
    background:repeating-linear-gradient(45deg,rgba(242,177,61,.2) 0 5px,rgba(242,177,61,.05) 5px 10px)}
  .kh9s.aku b{color:#f2b13d}
  .kh9s.diem{border-color:var(--line-2);background:rgba(255,255,255,.05)}
  .kh9s.kosong{border-color:rgba(255,77,109,.28)}
  .kh9s.bisa{cursor:pointer}
  .kh9s.bisa:hover{border-color:var(--khc,#4cc9f0);transform:translateY(-2px)}
  .kh9nb{font-size:11.5px;line-height:1.65;color:var(--dim);border-left:2px solid var(--line-2);padding-left:11px}
  .kh9nb b{color:var(--ink)}
  .kh9nb .kh9m{color:#ff4d6d}
  .kh9hilang{font-size:12px;line-height:1.6;color:var(--dim);border:1px dashed var(--line-2);border-radius:10px;padding:11px 13px;margin:10px 0 4px}
/* ══════════════════════════════════════════════════════════════════════════
   v10.41 — ⬛ MEMENTO MORI · BLOK CSS
   Semua kelas berawalan mo9 — diaudit nol hit sebelum ditempel. Sengaja sunyi:
   nol animasi mencolok, nol warna rame. Modul ini kerjanya diem. ═══════════ */
/* v10.42 — empat angka jadi dua-kali-dua di kepala rel kanan, bukan lagi satu
   baris lebar di atas gridnya. */
.mo9top{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px;margin:0 0 20px}
.mo9judul{display:flex;align-items:baseline;gap:9px;padding-bottom:11px;margin-bottom:15px;
  border-bottom:1px solid var(--line-2)}
.mo9judul b{font-family:"JetBrains Mono",monospace;font-size:15px;letter-spacing:.04em;color:var(--ink)}
.mo9judul i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--low)}
.mo9a{display:grid;gap:1px}
.mo9a b{font-family:"JetBrains Mono",monospace;font-size:26px;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.mo9a i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.12em;color:var(--low)}
.mo9a.kanan{text-align:right;margin-left:auto}
.mo9a .kcl{font-size:15px}
.mo9sp{margin-left:auto}
.mo9sisi{display:flex;gap:30px;align-items:flex-start;flex-wrap:wrap}
.mo9kiri{width:556px;flex:0 0 556px}
.mo9kanan{flex:1 1 300px;min-width:300px}
/* satu pita = satu dekade. Angka di kirinya UMUR, jadi penggaris tahunnya
   nempel di gambarnya — bukan cuma keterangan kecil di kaki. */
.mo9dasa{display:flex;gap:9px;align-items:flex-start}
.mo9dasa+.mo9dasa{margin-top:7px}
.mo9dl{flex:none;width:15px;text-align:right;font-family:"JetBrains Mono",monospace;font-size:8px;
  letter-spacing:.06em;color:rgba(255,255,255,.22);padding-top:1px}
.mo9grid{flex:1;display:grid;grid-template-columns:repeat(52,1fr);gap:2px}
.mo9w{aspect-ratio:1;border-radius:1.5px;background:rgba(255,255,255,.045)}
.mo9w.nodata{background:rgba(255,255,255,.022);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.075)}
.mo9w.depan{background:transparent;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.055)}
.mo9w.kini{background:var(--ink);outline:1.5px solid var(--ink);outline-offset:1px;animation:mo9p 2.6s ease-in-out infinite}
@keyframes mo9p{0%,100%{opacity:1}50%{opacity:.4}}
.mo9kaki{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:8.5px;
  color:var(--low);margin-top:6px}
.mo9ket{font-size:12.5px;color:var(--dim);line-height:1.75}
.mo9ket p{margin:0 0 12px}
.mo9ket p.sun{color:var(--low)}
.mo9ket b{color:var(--ink)}
.mo9cap{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.16em;color:var(--low);margin-bottom:8px}
.mo9leg{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;font-family:"JetBrains Mono",monospace;
  font-size:9.5px;color:var(--low)}
.mo9leg span{display:inline-flex;align-items:center;gap:6px}
.mo9d{width:9px;height:9px;border-radius:2.5px;display:inline-block}
.mo9d.nodata{background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.09)}
.mo9d.depan{background:transparent;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.09)}
.mo9rem{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);line-height:1.65;
  border-left:2px solid var(--line-2);padding:8px 12px;margin-top:16px}
.mo9set{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line-2)}
.mo9set.gede{border-top:none;border:1px solid var(--line-2);border-radius:17px;padding:18px;display:block}
.mo9set label{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);display:inline-flex;
  align-items:center;gap:7px}
.mo9set input{background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:9px;color:var(--ink);
  font-family:"JetBrains Mono",monospace;font-size:12px;padding:6px 9px}
.mo9set input[type=number]{width:66px}
.mo9row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:10px 0}
.mo9btn{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;padding:6px 13px;
  font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--dim);cursor:pointer;user-select:none;transition:.14s}
.mo9btn:hover{border-color:var(--mid);color:var(--ink)}
.mo9btn.go{border-color:rgba(76,201,240,.5);color:#4cc9f0;background:rgba(76,201,240,.08)}
.mo9btn.mati{color:var(--low)}
.mo9hint{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
.mo9nota{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);line-height:1.85;margin-top:16px;
  border-top:1px solid var(--line-2);padding-top:12px}
.mo9nota b{color:var(--dim)}
.mo9mati{border:1px dashed var(--line-2);border-radius:15px;padding:16px;color:var(--low);font-size:12.5px;
  display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:620px){.mo9kiri{width:100%}.mo9dl{width:13px}}

/* ══════════════════════════════════════════════════════════════════════════
   v10.39 — 🏝 KEPULAUAN · BLOK CSS
   SEMUA kelas berawalan pi9 — diaudit nol hit `.pi9`, `pi9`, `--pi9`, `data-pi`
   di index.html sebelum ditempel (pelajaran tabrakan .wsec v9.08 / .kbar v9.81).
   Warna kesuburan diturunin di JS lewat token per-elemen, jadi kill-switch tema
   kelabu tetep megang. ══════════════════════════════════════════════════════ */
.pi9bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:10px 0 14px}
.pi9ang{display:grid;gap:1px}
.pi9ang b{font-family:"JetBrains Mono",monospace;font-size:20px;color:var(--ink);line-height:1}
.pi9ang i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--low)}
.pi9sp{margin-left:auto}
.pi9lb{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:10px;
  padding:6px 12px;font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--dim);cursor:pointer;
  user-select:none;transition:.14s}
.pi9lb:hover{border-color:var(--mid);color:var(--ink)}
.pi9lb.on{border-color:rgba(76,201,240,.5);color:#4cc9f0;background:rgba(76,201,240,.08)}
.pi9laut{position:relative;height:700px;border-radius:18px;overflow:hidden;cursor:default;
  background:radial-gradient(90% 70% at 50% 50%,#0e2b3d 0%,#081722 55%,#050b10 100%);
  border:1px solid rgba(76,201,240,.14)}
/* v11.19 B8 — kotak RUTIN ISLANDS: laut sendiri (ungu jejak), lebih pendek */
.pi9laut.rt9{height:430px;background:radial-gradient(90% 70% at 50% 50%,#1c1236 0%,#100b22 55%,#070512 100%);border-color:rgba(167,139,250,.18)}
.pi9kj9{display:flex;align-items:center;gap:10px;margin:16px 0 8px;position:relative}
.pi9kjn9{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--ink);white-space:nowrap;text-shadow:0 0 14px rgba(120,200,255,.35)}
.pi9kjl9{flex:1;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,rgba(120,200,255,.4) 0 22px,transparent 22px 30px);box-shadow:0 0 10px -3px rgba(120,200,255,.8)}
.pi9kjk9{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.08em;color:var(--low);white-space:nowrap}
.pi9kj9.rt9 .pi9kjn9{text-shadow:0 0 14px rgba(167,139,250,.45)}
.pi9kj9.rt9 .pi9kjl9{background:repeating-linear-gradient(90deg,rgba(167,139,250,.42) 0 22px,transparent 22px 30px);box-shadow:0 0 10px -3px rgba(167,139,250,.8)}
.pi9kj9 .pi9vw{margin-left:4px}
.pi9ombak{position:absolute;inset:0;width:100%;height:100%}
.pi9cin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;
  border:1px dashed rgba(255,255,255,.06);pointer-events:none}
.pi9cinl{position:absolute;transform:translate(-50%,-50%);font-family:"JetBrains Mono",monospace;
  font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.18);pointer-events:none;white-space:nowrap;
  background:rgba(10,14,22,.55);padding:1px 5px;border-radius:4px}
.pi9pusat{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.pi9pusat b{display:block;font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.3em;
  color:rgba(255,255,255,.26);margin-top:5px}
.pi9pusat:before{content:"";position:absolute;left:50%;top:-1px;transform:translateX(-50%);width:11px;height:1px;background:rgba(255,255,255,.2)}
.pi9pusat:after{content:"";position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:1px;height:11px;background:rgba(255,255,255,.2)}
.pi9pulau{position:absolute;transform:translate(-50%,-50%);cursor:pointer;transition:.5s cubic-bezier(.4,0,.2,1)}
.pi9pulau:hover{filter:brightness(1.25)}
.pi9pulau.on{filter:brightness(1.35) drop-shadow(0 0 22px rgba(76,201,240,.45))}
/* v10.42 — top-nya dari mesin tata-letak (piLabelTata), bukan lagi dipaku
   "top:100%". Lebarnya juga dikunci biar kotak yang dipake buat ngitung
   tabrakan sama persis sama kotak yang beneran kegambar. */
.pi9lbl{position:absolute;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;
  pointer-events:none;line-height:1.25}
/* v10.44 — LEBAR LABEL DIPAKU 152px. Bukan kosmetik: mesin tata letaknya dulu
   NGUKUR lebar teks dari DOM, dan lebar teks itu angka yang goyang (metrik font
   emoji beda antara gambar dingin sama anget). Sekarang ukurannya konstanta,
   yang kepanjangan dipotong ellipsis — tata letaknya jadi fungsi murni, dan
   petanya malah lebih rapi karena semua label selebar-lebarnya sama. */
.pi9lbl{width:152px}
.pi9lbl.pendek i{display:none}
.pi9lbl b,.pi9lbl i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.pi9lbl b{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-shadow:0 2px 8px #000;line-height:1.35}
.pi9lbl i{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);text-shadow:0 2px 8px #000;line-height:1.3}
/* v10.47 — pengakuan pas peta sesek. Dipajang, bukan disimpen sendiri:
   nyerah diem-diem bikin user ngira app-nya rusak. */
.pi9sesek{margin-top:11px;border-left:2px solid #8b6b4a;background:rgba(139,107,74,.08);
  border-radius:0 12px 12px 0;padding:9px 13px;font-size:11.5px;line-height:1.6;color:var(--dim)}
.pi9sesek b{color:#d8b98f}
.pi9leg{display:flex;gap:16px;flex-wrap:wrap;margin-top:11px;font-family:"JetBrains Mono",monospace;
  font-size:9.5px;color:var(--low)}
.pi9leg span{display:inline-flex;align-items:center;gap:6px}
.pi9dot{width:9px;height:9px;border-radius:3px;display:inline-block}
.pi9tandus{margin-top:14px;border-left:2px solid #8b6b4a;background:rgba(139,107,74,.08);
  border-radius:0 13px 13px 0;padding:12px 15px;display:grid;gap:3px}
.pi9tandus b{font-size:12.5px;color:#d8b98f;letter-spacing:.04em}
.pi9tandus i{font-style:normal;font-size:11.5px;color:var(--dim);line-height:1.6}
.pi9grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:12px;margin:8px 0 4px}
.pi9kartu{border:1px solid var(--line-2);border-radius:15px;padding:13px 14px;background:rgba(255,255,255,.014);
  cursor:pointer;transition:.16s}
.pi9kartu:hover{border-color:var(--mid);transform:translateY(-2px)}
.pi9kartu.on{border-color:color-mix(in srgb,var(--pic,#4cc9f0) 50%,transparent);
  background:color-mix(in srgb,var(--pic,#4cc9f0) 8%,transparent)}
.pi9kh{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.pi9kh .e{font-size:16px;line-height:1}
.pi9kh b{font-size:12.5px;letter-spacing:.05em;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pi9kh .st{margin-left:auto;flex:none;font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.12em;
  padding:3px 7px;border-radius:7px;border:1px solid var(--line-2);color:var(--pic,var(--low))}
.pi9kn{display:flex;gap:11px;flex-wrap:wrap;font-family:"JetBrains Mono",monospace}
.pi9kn span{display:grid}
.pi9kn b{font-size:15px;color:var(--ink);line-height:1.2}
.pi9kn i{font-style:normal;font-size:8.5px;color:var(--low);letter-spacing:.08em}
.pi9bal{height:3px;border-radius:2px;background:rgba(255,255,255,.07);margin-top:10px;overflow:hidden}
.pi9bal i{display:block;height:100%;border-radius:2px}
.pi9nota{font-size:11px;color:var(--low);line-height:1.7;margin-top:10px;border-top:1px solid var(--line-2);padding-top:11px}
.pi9nota b{color:var(--dim)}
@media(max-width:760px){.pi9laut{height:520px}.pi9lbl b{font-size:10px}}
/* ── v10.40 · KULIT KEDUA: POHON ── */
.pi9hhint{font-size:11.5px;color:var(--low);line-height:1.6;border:1px dashed var(--line-2);border-radius:13px;
  padding:11px 14px;margin:12px 0 4px}
.pi9hutan{border:1px solid var(--line-2);border-radius:17px;padding:15px;margin:14px 0 4px;
  background:linear-gradient(180deg,rgba(45,212,138,.04),transparent 62%)}
.pi9hh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.pi9hh b{font-size:13.5px;letter-spacing:.04em}
.pi9hh i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low)}
.pi9hsp{margin-left:auto}
.pi9hp{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--dim);border:1px solid var(--line-2);
  border-radius:8px;padding:3px 8px}
.pi9hp.nol{opacity:.4}
.pi9tanah{position:relative;height:230px;border-radius:13px;overflow:hidden;margin-top:11px;border:1px solid var(--line-2);
  background:linear-gradient(180deg,rgba(76,201,240,.05),rgba(0,0,0,.28) 62%),#0a1218}
.pi9tanah svg{position:absolute;inset:0;width:100%;height:100%}
.pi9hlebih{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-top:8px}
.pi9hleg{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-family:"JetBrains Mono",monospace;
  font-size:9px;color:var(--low)}
.pi9hleg b{color:var(--dim)}
.pi9hnota{font-size:11px;color:var(--low);line-height:1.65;margin-top:9px;border-top:1px solid var(--line-2);padding-top:9px}
.pi9hnota b{color:var(--dim)}
.pi9hkosong{font-size:11.5px;color:var(--low);line-height:1.6;margin-top:8px}
/* widget */
.pi9w{display:grid;gap:8px;padding:2px}
.pi9wt{display:flex;align-items:baseline;gap:8px}
.pi9wt b{font-family:"JetBrains Mono",monospace;font-size:26px;color:var(--ink);line-height:1}
.pi9wt i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;color:var(--low)}
.pi9wr{display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--pic,#2dd48a) 34%,transparent);
  border-radius:11px;padding:7px 10px;background:color-mix(in srgb,var(--pic,#2dd48a) 7%,transparent)}
.pi9wr .e{font-size:15px}
.pi9wr .n{flex:1;min-width:0;font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pi9wr .v{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--pic,var(--low))}
.pi9wtd{font-size:10.5px;color:#d8b98f;border-left:2px solid #8b6b4a;padding:5px 9px;background:rgba(139,107,74,.09);border-radius:0 9px 9px 0;line-height:1.5}
.pi9wok{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
.pi9wgo{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:#2dd48a;cursor:pointer;
  border:1px solid rgba(45,212,138,.35);border-radius:9px;padding:5px 9px;text-align:center}

/* ═══ v10.48 — WUJUD, RODA GIGI, SHEET DETAIL ═══ */
.pi9ic{overflow:visible;flex:none;display:block}
.pi9kecil{margin-top:11px;border-left:2px solid #4cc9f0;background:rgba(76,201,240,.07);
  border-radius:0 11px 11px 0;padding:10px 13px;font-size:11.5px;color:var(--dim);line-height:1.6}
.pi9kecil b{color:#9fe4ff}
.pi9wleg{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-top:10px;padding:9px 12px;
  border:1px solid var(--line-2);border-radius:13px;background:rgba(255,255,255,.014)}
.pi9wleg>span{display:inline-flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;
  font-size:9.5px;letter-spacing:.06em;color:var(--low)}
.pi9wleg>span b{color:var(--dim);font-weight:500}
.pi9wnota{margin-left:auto;color:var(--low)}
.pi9wnota b{color:#7fd8a8}
.pi9mimpi{margin-top:14px;border-left:2px solid #f2b13d;background:rgba(242,177,61,.07);
  border-radius:0 13px 13px 0;padding:12px 15px;display:grid;gap:5px}
.pi9mimpi b{font-size:12.5px;color:#f2c974;letter-spacing:.04em}
.pi9mimpi i{font-style:normal;font-size:11.5px;color:var(--dim);line-height:1.6}
/* roda gigi wujud */
.pi9cog{border:1px solid var(--line-2);border-radius:16px;padding:14px 15px 15px;margin:0 0 13px;
  background:linear-gradient(180deg,rgba(167,139,250,.05),rgba(255,255,255,.012))}
.pi9cogh{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:11px}
.pi9cogh b{font-size:12.5px;letter-spacing:.06em;color:var(--ink)}
.pi9cogh i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
.pi9cogr{display:grid;gap:4px}
.pi9cs{display:flex;align-items:center;gap:11px;padding:6px 9px;border-radius:10px;cursor:pointer;
  border:1px solid transparent;transition:.15s}
.pi9cs:hover{background:rgba(255,255,255,.03);border-color:var(--line-2)}
.pi9cs.buka{background:rgba(167,139,250,.08);border-color:rgba(167,139,250,.32)}
.pi9cs .nm{flex:1;font-size:11.5px;letter-spacing:.04em;color:var(--sc,var(--ink))}
.pi9cs .wj{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.08em;color:var(--low)}
.pi9cs.buka .wj{color:#c4b5fd}
.pi9bank{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;
  padding:9px 6px 4px;margin:0 4px 6px}
.pi9bk{border:1px solid var(--line-2);border-radius:9px;padding:8px 3px 5px;text-align:center;cursor:pointer;
  background:rgba(255,255,255,.02);transition:.14s;display:grid;justify-items:center;gap:3px}
.pi9bk:hover{border-color:#4cc9f0;background:rgba(76,201,240,.07)}
.pi9bk.on{border-color:#2dd48a;background:rgba(45,212,138,.1)}
.pi9bk i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:7.5px;letter-spacing:.06em;color:var(--low)}
.pi9bk.on i{color:#7fd8a8}
.pi9cogn{font-size:10.5px;color:var(--low);line-height:1.65;margin-top:9px;border-top:1px solid var(--line-2);padding-top:9px}
.pi9cogn b{color:var(--dim)}
/* sheet detail */
.pi9det{border:1px solid var(--line-2);border-radius:17px;padding:15px;margin:14px 0 4px;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.005))}
.pi9dh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pi9dh b{font-size:13.5px;letter-spacing:.04em}
.pi9dh i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low)}
.pi9dsp{margin-left:auto}
.pi9dn{display:grid;gap:1px;text-align:right;font-family:"JetBrains Mono",monospace}
.pi9dn b{font-size:16px;color:var(--ink);line-height:1.1}
.pi9dn i{font-style:normal;font-size:8px;letter-spacing:.11em;color:var(--low)}
.pi9drow{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:3px}
.pi9dr{display:flex;align-items:center;gap:10px;padding:5px 8px;border-radius:9px;transition:.14s}
.pi9dr:hover{background:rgba(255,255,255,.03)}
.pi9dr .nm{flex:1;min-width:0;font-size:11px;letter-spacing:.04em;color:var(--sc,var(--ink))}
.pi9dr .nm small{display:block;font-family:"JetBrains Mono",monospace;font-size:8.5px;color:var(--low);
  letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pi9dr .ct{font-family:"JetBrains Mono",monospace;font-size:14px;min-width:34px;text-align:right}
.pi9dnota{margin-top:12px;font-size:11px;color:var(--dim);line-height:1.65;
  border-left:2px solid #2dd48a;background:rgba(45,212,138,.055);border-radius:0 10px 10px 0;padding:9px 12px}
.pi9dnota.tanya{border-left-color:#f2b13d;background:rgba(242,177,61,.06)}
.pi9dnota b{color:var(--ink)}
.pi9dkosong{font-size:11.5px;color:var(--low);line-height:1.6}

/* ═══ v10.49 — DUA LENSA: 🔬 MICRO · 🚁 HELIKOPTER ═══ */
.pi9vw{display:inline-flex;border:1px solid var(--line-2);border-radius:11px;overflow:hidden;margin-right:4px}
.pi9vb{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.11em;padding:8px 13px;
  color:var(--low);cursor:pointer;background:rgba(255,255,255,.015);transition:.15s;white-space:nowrap}
.pi9vb:hover{color:var(--ink);background:rgba(255,255,255,.045)}
.pi9vb.on{color:var(--void);background:linear-gradient(96deg,#4cc9f0,#2dd4a7);font-weight:700}
/* laut micro: tingginya DIPASANG dari JS (ikut jumlah rak), jadi di sini nol dipatok */
.pi9laut.mikro{height:auto;min-height:360px;
  background:radial-gradient(120% 60% at 50% 22%,#10314a 0%,#0a1c2c 52%,#050b12 100%)}
.pi9laut.mikro .pi9ombak{height:100%}
.pi9pita{display:flex;height:5px;border-radius:3px;overflow:hidden;margin-top:10px;
  background:rgba(255,255,255,.06)}
.pi9pita i{display:block;height:100%}
.pi9pita.kosong{opacity:.35}
@media(max-width:760px){.pi9vb{padding:7px 9px;font-size:8.5px}}

/* ══════════════════════════════════════════════════════════════════════════════
   v10.20 — 🎯 IN THE ZONE · BLOK CSS WAJIB
   SEMUA kelas berawalan iz9 — terverifikasi 0 hit `.iz9`, `iz9`, `--iz9`,
   `data-iz9`, dan `function iz*` di index.html sebelum ditempel. Diaudit, bukan
   dipercaya (pelajaran tabrakan `.wsec` v9.08 / `.kbar` v9.81 / `.bk` v9.90).

   ⚠ BLOK 1 (TOKEN) WAJIB IKUT. Ini bolong yang bikin Ransom Coin lahir kelabu di
   v10.16: token warna cuma idup di :root halaman mockup, ga ikut kesalin, dan
   tiap color-mix(var(--iz9c) …) jadi nilai INVALID. Invalid di CSS itu DIEM —
   nol pesan error, aturannya cuma dibuang. Gejalanya "warnanya ilang", bukan
   "errornya apa".
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── BLOK 1 · TOKEN — tempel di dalem :root yang UDAH ADA (deket --rc9c) ──── */
:root{
  --iz9c:#a78bfa;   /* violet — aksen IN THE ZONE                       */
  --iz9d:#22d3ee;   /* cyan — angka kedalaman                           */
  --iz9x:#ff5d5d;   /* merah — kabur / putus                            */
  --iz9g:#2dd4a7;   /* ijo — kelar                                      */
  --iz9w:#64748b;   /* warna fase berjalan — DI-SET DARI JS, jangan dipaku */
  --iz9mu:0;        /* 0..1 seberapa app mundur — DI-SET DARI JS tiap detik  */
}

/* ── BLOK 1b · KILL-SWITCH TEMA MONO/MONOLITH ─────────────────────────────────
   Token modul WAJIB masuk baris kill-switch yang udah ada, kalo nggak ZONE nyala
   sendirian di tema yang seluruh app-nya sengaja kelabu (bug kembar v10.17).
   Tambahin lima deklarasi ini KE DALEM baris `[data-theme="mono"] *,…` yang udah
   ada — JANGAN bikin baris baru. */
/*  --iz9c:var(--mid)!important;--iz9d:var(--mid)!important;--iz9x:var(--mid)!important;
    --iz9g:var(--mid)!important;--iz9w:var(--mid)!important;                        */

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 2 · PANGGUNG SESI — kurva
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9stage{position:relative;border:1px solid color-mix(in srgb,var(--iz9w) 34%,transparent);
  border-radius:16px;padding:18px 20px 14px;margin-bottom:20px;overflow:hidden;
  background:
    radial-gradient(120% 150% at 12% 108%, color-mix(in srgb,var(--iz9w) 17%,transparent) 0%, transparent 62%),
    linear-gradient(180deg, var(--panel-2), var(--panel));
  transition:border-color .9s ease, background .9s ease}
.iz9stage::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:16px;
  box-shadow:inset 0 0 70px -28px var(--iz9w);opacity:.85;transition:box-shadow .9s ease}

.iz9top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:2px}
.iz9fase{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:13px;letter-spacing:.2em;
  color:var(--iz9w);text-transform:uppercase;text-shadow:0 0 18px color-mix(in srgb,var(--iz9w) 55%,transparent)}
.iz9tgt{font-size:12px;color:var(--ink);font-weight:600;opacity:.9}
.iz9tgt i{font-style:normal;opacity:.55;font-size:11px}
.iz9spacer{flex:1}
.iz9clk{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:700;color:var(--mid);letter-spacing:.04em}

/* angka KEDALAMAN — bintangnya panggung ini */
.iz9big{display:flex;align-items:flex-end;gap:9px;margin:2px 0 8px}
.iz9num{font-family:"Chakra Petch",sans-serif;font-weight:700;line-height:.9;
  font-size:clamp(42px,7.5vw,68px);color:var(--iz9d);
  text-shadow:0 0 34px color-mix(in srgb,var(--iz9d) 42%,transparent);
  font-variant-numeric:tabular-nums}
.iz9unit{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;
  color:var(--low);text-transform:uppercase;padding-bottom:9px}
.iz9unit b{display:block;color:var(--mid);font-size:9px;letter-spacing:.1em;font-weight:500}

/* ── kurva ── */
.iz9wrap{position:relative;height:152px;margin:0 -4px}
.iz9svg{width:100%;height:100%;display:block;overflow:visible}
.iz9grid{stroke:var(--line);stroke-width:.4;opacity:.5}
/* pita fase — tiap ketinggian punya warnanya sendiri, tipis banget. Yang bikin
   kurvanya kebaca sebagai MANJAT LEWATIN sesuatu, bukan garis ngambang. */
.iz9pita{stroke:none}
.iz9amb{stroke-width:.5;stroke-dasharray:1.6 2.4;opacity:.5}
/* batas air tertinggi sesi ini — cuma nongol kalo dia di ATAS posisi sekarang,
   dan pas itu dia yang bikin ongkos kabur keliatan. */
.iz9pkln{stroke:var(--iz9x);stroke-width:.55;stroke-dasharray:.9 2.2;opacity:.72}
.iz9pklb{position:absolute;right:6px;transform:translateY(-50%);pointer-events:none;
  font-family:"JetBrains Mono",monospace;font-size:8px;letter-spacing:.14em;color:var(--iz9x);
  opacity:.78;background:linear-gradient(270deg,var(--panel) 62%,transparent);padding:1px 3px 1px 12px}
.iz9ideal{fill:none;stroke:var(--low);stroke-width:.9;stroke-dasharray:2 3;opacity:.42}
.iz9fill{stroke:none;opacity:.2}
.iz9line{fill:none;stroke:var(--iz9w);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 7px color-mix(in srgb,var(--iz9w) 70%,transparent));transition:stroke .9s ease}
.iz9gap{fill:none;stroke:var(--iz9x);stroke-width:2.1;stroke-linecap:round;opacity:.85}
/* titik ujung & label fase SENGAJA elemen HTML, bukan isi svg: svg-nya
   preserveAspectRatio="none" (biar kurvanya ngisi lebar berapa pun) dan itu
   nge-stretch <circle> jadi lonjong + <text> jadi gepeng. Path nol masalah
   digepengin, dua ini masalah. */
.iz9hdot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--iz9w);
  transform:translate(-50%,-50%);pointer-events:none;
  box-shadow:0 0 11px 1px var(--iz9w),0 0 0 2px var(--void);
  animation:iz9pulse 2s infinite ease-in-out;transition:background .9s ease}
@keyframes iz9pulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.34)}}
/* ⚠ dulu opacity .42 tanpa latar, dan kurvanya MULAI dari pojok kiri bawah —
   persis di tempat label PEMANASAN duduk. Hasilnya dua-duanya nol kebaca.
   Sekarang labelnya punya scrim yang luntur ke kanan: kurvanya tetep lewat,
   tapi hurufnya nol pernah ilang di baliknya. */
.iz9flb{position:absolute;left:0;transform:translateY(-50%);pointer-events:none;opacity:.9;
  font-family:"JetBrains Mono",monospace;font-size:7.6px;letter-spacing:.2em;text-transform:uppercase;
  padding:2px 16px 2px 7px;background:linear-gradient(90deg,var(--panel) 52%,transparent);
  text-shadow:0 0 8px var(--void),0 1px 2px var(--void)}

/* kata-kata fase */
.iz9kata{font-size:12.5px;color:var(--ink);opacity:.82;line-height:1.5;margin-top:9px;min-height:19px;
  border-left:2px solid color-mix(in srgb,var(--iz9w) 55%,transparent);padding-left:10px}

/* ── CINCIN: muka kedua buat sesi pendek (< ringBawah) ── */
.iz9ring{display:grid;place-items:center;padding:14px 0 6px}
.iz9rsvg{width:min(210px,52vw);height:min(210px,52vw)}
.iz9rtrk{fill:none;stroke:var(--line-2);stroke-width:5}
.iz9rbar{fill:none;stroke:var(--iz9w);stroke-width:5;stroke-linecap:round;
  transform:rotate(-90deg);transform-origin:50% 50%;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--iz9w) 75%,transparent));transition:stroke .6s ease}
.iz9rnum{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:26px;fill:var(--ink);
  text-anchor:middle;font-variant-numeric:tabular-nums}
.iz9rsub{font-family:"JetBrains Mono",monospace;font-size:6.4px;letter-spacing:.2em;
  fill:var(--low);text-anchor:middle;text-transform:uppercase}

/* ── kendali sesi ── */
.iz9ctl{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.iz9btn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:11px;letter-spacing:.11em;
  padding:8px 15px;border-radius:9px;border:1px solid var(--line-2);background:var(--panel);
  color:var(--mid);cursor:pointer;text-transform:uppercase;transition:.16s}
.iz9btn:hover{border-color:var(--iz9c);color:var(--ink);transform:translateY(-1px)}
.iz9btn.pri{border-color:color-mix(in srgb,var(--iz9c) 60%,transparent);color:var(--iz9c);
  background:color-mix(in srgb,var(--iz9c) 11%,var(--panel))}
.iz9btn.bad{border-color:color-mix(in srgb,var(--iz9x) 45%,transparent);color:var(--iz9x)}
.iz9btn.bad:hover{border-color:var(--iz9x);background:color-mix(in srgb,var(--iz9x) 12%,var(--panel))}
.iz9meta{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);letter-spacing:.05em;margin-left:auto}
.iz9meta b{color:var(--iz9x);font-weight:700}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 3 · KARTU 👊 BEAT-ME-UP — durasi jadi DERETAN CHIP, bukan satu angka
   Ini koreksi bang Sam atas laci pengalih First Aid Kit: di sana tiap kartu
   dipaku satu durasi, jadi "Push-up 20×" selamanya 5 menit. Di sini kartunya
   bawa SET chip; yang bergaris = bawaan.
     ketok CHIP  → langsung gas, nol sheet sama sekali
     ketok BADAN → sheet yang isinya CUMA waktu
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9beats{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:11px}
/* Kartunya ADALAH kegiatannya, jadi dia boleh punya muka. Versi pertama cuma
   garis 2px di kiri di atas panel rata — enam kotak yang keliatan sama semua.
   Sekarang tiap kartu bawa warnanya sendiri lewat sinar sudut + emoji cap
   raksasa di belakang, jadi mata milihnya dari BENTUK, bukan dari baca. */
.iz9rit{position:relative;border:1px solid color-mix(in srgb,var(--iz9rc) 32%,transparent);
  border-radius:13px;padding:12px 13px 11px;cursor:pointer;transition:.19s;overflow:hidden;
  background:
    radial-gradient(120% 130% at 100% 0%, color-mix(in srgb,var(--iz9rc) 15%,transparent) 0%, transparent 58%),
    linear-gradient(180deg,var(--panel-2),var(--panel))}
.iz9rit::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--iz9rc);
  box-shadow:0 0 12px -1px var(--iz9rc)}
/* cap emoji raksasa — dipasang dari data lewat --iz9rg, jadi nol daftar kedua */
.iz9rit::after{content:var(--iz9rg,"");position:absolute;right:-8px;bottom:-16px;font-size:62px;
  line-height:1;opacity:.055;pointer-events:none;transition:.25s;filter:grayscale(.2)}
.iz9rit:hover{border-color:var(--iz9rc);transform:translateY(-2px);
  box-shadow:0 14px 30px -18px var(--iz9rc), inset 0 0 44px -28px var(--iz9rc)}
.iz9rit:hover::after{opacity:.11;transform:scale(1.06) rotate(-4deg)}
.iz9rh{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.iz9re{font-size:16px;line-height:1;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--iz9rc) 55%,transparent))}
.iz9rn{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.09em;
  color:var(--ink);text-transform:uppercase;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz9rcog{font-size:11px;color:var(--low);padding:3px 5px;border-radius:5px;flex:none;opacity:0;transition:.15s}
.iz9rit:hover .iz9rcog{opacity:.75}
.iz9rcog:hover{opacity:1;color:var(--ink);background:var(--panel-2)}

/* deretan chip durasi */
.iz9dch{display:flex;gap:5px;flex-wrap:wrap}
.iz9dch span{font-family:"JetBrains Mono",monospace;font-size:10.5px;font-weight:600;
  padding:4px 9px;border-radius:7px;border:1px solid var(--line-2);color:var(--mid);
  background:var(--panel-2);cursor:pointer;transition:.14s;position:relative;white-space:nowrap}
.iz9dch span:hover{border-color:var(--iz9rc);color:var(--ink);background:color-mix(in srgb,var(--iz9rc) 15%,var(--panel-2));
  box-shadow:0 0 14px -6px var(--iz9rc)}
.iz9dch span.def{color:var(--iz9rc);border-color:color-mix(in srgb,var(--iz9rc) 50%,transparent)}
.iz9dch span.def::after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:1.5px;
  background:var(--iz9rc);border-radius:2px;box-shadow:0 0 6px var(--iz9rc)}
.iz9dch span.kb{color:var(--low);border-style:dashed}
.iz9rq{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);
  letter-spacing:.06em;margin-top:8px;display:flex;gap:7px;flex-wrap:wrap}
.iz9rq i{font-style:normal;color:var(--mid)}

/* chip waktu versi GEDE — dipake sheet "berapa lama?" (ketok kartu Beat-Me-Up).
   Sengaja beda ukuran dari .iz9dch: di kartu dia sekunder, di sheet dia SATU-
   SATUNYA hal yang ada di layar. */
.iz9wchip{display:flex;gap:8px;flex-wrap:wrap}
.iz9wchip span{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;
  padding:13px 20px;border-radius:11px;border:1px solid var(--line-2);color:var(--ink);
  background:var(--panel-2);cursor:pointer;transition:.15s;position:relative;min-width:74px;text-align:center}
.iz9wchip span:hover{border-color:var(--shc,var(--iz9c));color:var(--shc,var(--iz9c));transform:translateY(-2px);
  box-shadow:0 10px 22px -14px var(--shc,var(--iz9c))}
.iz9wchip span.def{border-color:var(--shc,var(--iz9c));color:var(--shc,var(--iz9c));
  background:color-mix(in srgb,var(--iz9c) 12%,var(--panel-2))}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 3b · ANTRIAN — strip tipis di bawah panggung
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9antri{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:-10px 0 20px;
  padding:9px 12px;border:1px dashed var(--line-2);border-radius:10px;background:var(--panel)}
.iz9antri > b{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.19em;
  color:var(--low);text-transform:uppercase;flex:none}
.iz9aq{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 6px 4px 9px;
  border-radius:7px;border:1px solid color-mix(in srgb,var(--iz9aq) 40%,transparent);
  background:color-mix(in srgb,var(--iz9aq) 9%,var(--panel-2));color:var(--ink);cursor:pointer;transition:.14s}
.iz9aq:hover{border-color:var(--iz9aq);transform:translateY(-1px)}
.iz9aq i{font-style:normal;font-size:9px;color:var(--low);padding:1px 4px;border-radius:4px}
.iz9aq i:hover{color:var(--iz9x);background:var(--panel)}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 4 · COCKPIT — widget PSCR dimuat DI DALEM halaman zona
   Nol mesin kedua: yang dipanggil PSCR[key].render() yang sama persis kaya
   The Screen — termasuk 🎡 RODA CARNIVAL & 📃 THE LIST. ZONE cuma kandang.
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9ck{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px;margin-top:12px}
.iz9cw{border:1px solid var(--line);border-radius:11px;background:var(--panel);overflow:hidden;
  display:flex;flex-direction:column;min-height:132px}
.iz9cwh{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line);
  background:var(--panel-2)}
.iz9cwt{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;color:var(--dim);
  text-transform:uppercase;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz9cwx{font-size:10px;color:var(--low);cursor:pointer;padding:2px 4px;border-radius:4px}
.iz9cwx:hover{color:var(--iz9x);background:var(--panel)}
/* ⚡ SEND TO ACTIVE — cuma nongol di widget yang punya kolam (PSPN_POOL / roda) */
.iz9cwz{font-size:11px;color:var(--iz9d);cursor:pointer;padding:2px 6px;border-radius:5px;
  border:1px solid color-mix(in srgb,var(--iz9d) 34%,transparent);line-height:1.3;flex:none}
.iz9cwz:hover{background:color-mix(in srgb,var(--iz9d) 18%,var(--panel));
  box-shadow:0 0 12px -3px var(--iz9d)}
/* roda Carnival butuh ruang — dia satu-satunya widget yang bentuknya bunder gede */
.iz9cw.wide{grid-column:span 2;min-height:250px}
@media(max-width:760px){.iz9cw.wide{grid-column:span 1}}
.iz9cwb{flex:1;padding:9px 10px;overflow:auto;font-size:11.5px}
.iz9ckadd{border:1px dashed var(--line-2);border-radius:11px;display:grid;place-items:center;
  min-height:66px;align-self:start;cursor:pointer;color:var(--low);font-family:"Chakra Petch",sans-serif;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;transition:.16s}
/* di laci Beat-Me-Up dia sejajar kartu, jadi tingginya ngikut mereka */
.iz9beats .iz9ckadd{min-height:104px;align-self:stretch}
.iz9ckadd:hover{border-color:var(--iz9c);color:var(--iz9c);background:color-mix(in srgb,var(--iz9c) 7%,transparent)}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 5 · KALIBRASI — sheet vonis pas sesi kelar
   Tiga tombol, NOL yang di-preselect. Bukti dipajang di atasnya sebagai fakta
   mentah, bukan sebagai saran.
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9ev{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin-bottom:14px}
.iz9evc{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--panel-2)}
.iz9evv{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:19px;color:var(--ink);line-height:1;
  font-variant-numeric:tabular-nums}
.iz9evv.bad{color:var(--iz9x)}
.iz9evl{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.13em;color:var(--low);
  text-transform:uppercase;margin-top:5px}
.iz9ask{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;
  color:var(--ink);margin-bottom:4px}
.iz9asks{font-size:11.5px;color:var(--mid);margin-bottom:13px;line-height:1.55}
.iz9kals{display:grid;gap:8px}
.iz9kal{display:flex;align-items:center;gap:11px;border:1px solid var(--line-2);border-radius:10px;
  padding:11px 13px;cursor:pointer;background:var(--panel);transition:.16s}
.iz9kal:hover{border-color:var(--iz9kc);background:color-mix(in srgb,var(--iz9kc) 11%,var(--panel));transform:translateX(3px)}
.iz9kale{font-size:18px;line-height:1;flex:none}
.iz9kalt{flex:1;min-width:0}
.iz9kalt b{display:block;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.11em;color:var(--ink);text-transform:uppercase}
.iz9kalt small{display:block;font-size:10.5px;color:var(--mid);margin-top:2px}
.iz9kalx{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--iz9kc);flex:none}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 6 · POLA — empat kartu lensa
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9pol{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:11px}
.iz9pc{border:1px solid color-mix(in srgb,var(--iz9pc) 26%,transparent);border-radius:12px;
  padding:12px 13px;background:var(--panel);position:relative;overflow:hidden}
.iz9pc::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 44px -32px var(--iz9pc)}
.iz9pch{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.19em;color:var(--iz9pc);
  text-transform:uppercase;margin-bottom:9px;opacity:.95}
.iz9pv{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:27px;color:var(--ink);
  line-height:1;font-variant-numeric:tabular-nums}
.iz9pv small{font-size:12px;color:var(--mid);font-weight:500;margin-left:4px}
.iz9pd{font-size:11px;color:var(--mid);line-height:1.55;margin-top:8px}
.iz9pd b{color:var(--iz9pc);font-weight:600}
.iz9bars{display:flex;align-items:flex-end;gap:2px;height:36px;margin-top:10px}
.iz9bars i{flex:1;background:color-mix(in srgb,var(--iz9pc) 45%,transparent);border-radius:2px 2px 0 0;
  min-height:2px;transition:.3s}
.iz9bars i.hi{background:var(--iz9pc);box-shadow:0 0 9px -2px var(--iz9pc)}
.iz9prow{display:flex;align-items:center;gap:8px;font-size:11px;margin-top:7px}
.iz9prow span:first-child{flex:1;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz9pbar{flex:none;width:64px;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.iz9pbar i{display:block;height:100%;background:var(--iz9pc);border-radius:3px}
.iz9pn{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--mid);flex:none;min-width:38px;text-align:right}
.iz9pempty{font-size:11px;color:var(--low);line-height:1.6;margin-top:6px;font-style:italic}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 7 · CHIP TOPBAR — nempel di #iz9chiphost
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9chip{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 7px;border-radius:9px;
  border:1px solid color-mix(in srgb,var(--iz9w) 48%,transparent);cursor:pointer;
  background:color-mix(in srgb,var(--iz9w) 13%,var(--panel));position:relative;overflow:hidden;
  transition:border-color .8s ease,background .8s ease}
.iz9chip:hover{border-color:var(--iz9w)}
.iz9chip svg{width:26px;height:15px;flex:none;overflow:visible}
.iz9chip .ln{fill:none;stroke:var(--iz9w);stroke-width:2.4;stroke-linecap:round;
  filter:drop-shadow(0 0 4px var(--iz9w))}
.iz9chip .tr{fill:none;stroke:var(--line-2);stroke-width:1.6}
.iz9chip b{font-family:"JetBrains Mono",monospace;font-size:11.5px;font-weight:800;color:var(--ink);
  letter-spacing:.02em;font-variant-numeric:tabular-nums}
.iz9chip s{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:8px;
  letter-spacing:.15em;color:var(--iz9w);text-transform:uppercase}
.iz9chip.kabur{border-color:var(--iz9x);animation:iz9warn 1.1s infinite ease-in-out}
@keyframes iz9warn{0%,100%{opacity:1}50%{opacity:.55}}

/* tombol pintu di bar Harian & rak Home */
.iz9zbtn{border-color:color-mix(in srgb,var(--iz9c) 45%,transparent)!important;color:var(--iz9c)!important}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 8 · APP MUNDUR — tesis visualnya: aplikasinya minggir
   Makin dalem, chrome-nya makin redup & luntur, vignette makin nutup. Dipasang
   di <body> lewat dataset + dua custom property yang di-set JS.
   ⚠ #view SENGAJA dikecualiin dari filter: barang yang lu garap ga boleh ikut
   redup, dan filter di elemen induk bikin position:fixed anak-anaknya patah.
   ══════════════════════════════════════════════════════════════════════════════ */
body[data-iz9="on"] .top,
body[data-iz9="on"] #dstream,
body[data-iz9="on"] .nexbtn{
  filter:saturate(calc(1 - var(--iz9mu,0) * .85)) opacity(calc(1 - var(--iz9mu,0) * .45));
  transition:filter 1.4s ease}
body[data-iz9="on"]::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse 120% 100% at 50% 45%, transparent 32%,
    rgba(0,0,0,calc(var(--iz9mu,0) * .62)) 100%);
  transition:background 1.4s ease}
body[data-iz9="on"][data-iz9v="0"]::after{display:none}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 9 · SHEET & SETELAN
   ⚠ .iz9pop DIBLOK SENDIRI, ga numpang .pop. Pelajaran v10.17: .pop punya kita
   itu MENU GRID DUA KOLOM — dialog yang numpang dia kebelah dua, badan di kiri,
   footer kelempar ke kanan setinggi lembar. `pop-insheet` ngelepas posisi/lebar
   TAPI grid-nya nol direset.
   ══════════════════════════════════════════════════════════════════════════════ */
.pop.iz9pop{display:block!important;grid-template-columns:none!important;width:auto!important;
  max-width:none!important;padding:0!important;gap:0!important}
.iz9sbd{padding:16px 18px;max-height:64vh;overflow:auto}
.iz9ftr{display:flex;gap:8px;justify-content:flex-end;padding:11px 18px;border-top:1px solid var(--line);
  background:var(--panel-2);position:sticky;bottom:0}
.iz9sec{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.19em;color:var(--low);
  text-transform:uppercase;margin:16px 0 8px;display:flex;align-items:center;gap:8px}
.iz9sec:first-child{margin-top:0}
.iz9sec::after{content:"";flex:1;height:1px;background:var(--line)}
.iz9row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.iz9row:last-child{border-bottom:0}
.iz9rl{flex:1;min-width:0;font-size:12px;color:var(--ink)}
.iz9rl small{display:block;font-size:10.5px;color:var(--low);margin-top:2px;line-height:1.45}

/* ⚠ WARNA TEKS INPUT WAJIB DI-SET. Input HTML default-nya HITAM, dan latar kita
   juga item — tanpa baris ini lu ngetik ke dalem lubang, nol pesan error.
   Ini persis tambalan v10.19 yang kelewat pas infus First Aid Kit. */
.iz9inp{background:var(--panel-2);border:1px solid var(--line-2);border-radius:7px;
  padding:7px 10px;color:var(--ink);font-family:inherit;font-size:12px;outline:none;width:100%}
.iz9inp:focus{border-color:var(--iz9c)}
.iz9inp::placeholder{color:var(--low)}
.iz9num2{width:74px;text-align:center;font-family:"JetBrains Mono",monospace}

.iz9chips{display:flex;gap:5px;flex-wrap:wrap}
.iz9chips span{font-family:"JetBrains Mono",monospace;font-size:10px;padding:5px 10px;border-radius:7px;
  border:1px solid var(--line-2);color:var(--mid);cursor:pointer;transition:.14s;background:var(--panel-2)}
.iz9chips span:hover{border-color:var(--iz9c);color:var(--ink)}
.iz9chips span.on{border-color:var(--iz9c);color:var(--iz9c);background:color-mix(in srgb,var(--iz9c) 15%,var(--panel-2))}
.iz9chips span.del{border-style:dashed;color:var(--low)}

.iz9tog{display:flex;align-items:center;gap:11px;padding:9px 0;cursor:pointer;border-bottom:1px solid var(--line)}
.iz9tog .sw9{width:34px;height:19px;border-radius:11px;background:var(--line-2);position:relative;
  flex:none;transition:.2s}
.iz9tog .sw9::after{content:"";position:absolute;top:2.5px;left:2.5px;width:14px;height:14px;border-radius:50%;
  background:var(--low);transition:.2s}
.iz9tog.on .sw9{background:color-mix(in srgb,var(--iz9c) 45%,transparent)}
.iz9tog.on .sw9::after{left:17.5px;background:var(--iz9c);box-shadow:0 0 9px var(--iz9c)}
.iz9tt{flex:1;min-width:0}
.iz9tt b{display:block;font-size:12px;color:var(--ink);font-weight:600}
.iz9tt small{display:block;font-size:10.5px;color:var(--low);margin-top:2px;line-height:1.45}

/* picker kartu — dipake buat pilih barang & pilih widget cockpit */
.iz9pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px}
/* v10.33 — PIL SARING & PIL INFORMASI di picker barang (permintaan papan:
   "pill pick per kategori · pil2 informasinya kaya emoji panggung · sort by
   date created"). Semuanya LENSA: nol satupun nyentuh data barangnya. */
.iz9kpil{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.iz9kp{display:inline-flex;align-items:center;gap:5px;cursor:pointer;user-select:none;
       border:1px solid var(--line-2);border-radius:999px;padding:5px 11px;font-size:10.5px;font-weight:800;
       letter-spacing:.05em;color:var(--dim);background:rgba(255,255,255,.015);transition:.14s;white-space:nowrap}
.iz9kp b{font-family:"JetBrains Mono",monospace;font-size:9.5px;font-weight:800;color:var(--low);
         border-left:1px solid var(--line-2);padding-left:6px;margin-left:1px}
.iz9kp:hover{border-color:var(--mid);color:var(--ink)}
.iz9kp.on{border-color:color-mix(in srgb,var(--iz9pic,#a78bfa) 55%,transparent);color:var(--ink);
          background:color-mix(in srgb,var(--iz9pic,#a78bfa) 12%,transparent);
          box-shadow:0 0 18px -12px var(--iz9pic,#a78bfa)}
.iz9kp.on b{color:var(--iz9pic,#a78bfa);border-left-color:color-mix(in srgb,var(--iz9pic,#a78bfa) 35%,transparent)}
.iz9kp.urut{margin-left:auto;font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low)}
.iz9pinf{display:flex;align-items:center;gap:4px;margin-left:auto;flex:none;padding-left:8px}
.iz9ip{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:6px;font-size:10px;
       border:1px solid color-mix(in srgb,var(--iz9pic,#8890a3) 34%,transparent);
       background:color-mix(in srgb,var(--iz9pic,#8890a3) 10%,transparent)}
.iz9ip.umur{width:auto;padding:0 6px;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);
            border-color:var(--line-2);background:none}
.iz9pi{display:flex;align-items:center;gap:9px;border:1px solid var(--line-2);border-radius:9px;
  padding:9px 11px;cursor:pointer;background:var(--panel-2);transition:.15s}
.iz9pi:hover{border-color:var(--iz9c);background:color-mix(in srgb,var(--iz9c) 10%,var(--panel-2));transform:translateY(-1px)}
.iz9pi.on{border-color:var(--iz9c);color:var(--iz9c)}
.iz9pe{font-size:15px;line-height:1;flex:none}
.iz9pn2{flex:1;min-width:0;font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz9pn2 small{display:block;font-size:9.5px;color:var(--low);margin-top:1px;
  font-family:"JetBrains Mono",monospace;overflow:hidden;text-overflow:ellipsis}

/* ══════════════════════════════════════════════════════════════════════════════
   BLOK 10 · RIWAYAT
   ══════════════════════════════════════════════════════════════════════════════ */
.iz9log{display:flex;flex-direction:column;gap:5px}
.iz9lr{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);
  border-radius:9px;background:var(--panel);font-size:11.5px;cursor:pointer;transition:.14s;
  border-left:2px solid var(--iz9lc)}
.iz9lr:hover{border-color:var(--line-2);border-left-color:var(--iz9lc);background:var(--panel-2)}
.iz9lt{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);flex:none;min-width:42px}
.iz9ln{flex:1;min-width:0;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz9lb{font-family:"JetBrains Mono",monospace;font-size:9.5px;padding:2px 7px;border-radius:5px;
  border:1px solid var(--iz9lc);color:var(--iz9lc);flex:none}
.iz9ld{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--iz9d);font-weight:700;
  flex:none;min-width:44px;text-align:right}
.iz9lk{font-size:11px;flex:none;opacity:.85}


/* ══════════════════════════════════════════════════════════════════════════════
   v10.22 — TAMBAHAN GELOMBANG KEDUA
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── SEPARATOR CYBERPUNK di picker barang ────────────────────────────────────
   ⚠ .iz9pick itu GRID auto-fill. Tanpa grid-column:1/-1 separatornya jadi SEL
   biasa dan nyempil di antara kartu — bukan garis pemisah. Jebakan yang sama
   kaya .pop yang ternyata grid (v10.16 .rc9pop). */
.iz9sep{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin:14px 0 3px;
  font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--iz9c);user-select:none}
.iz9sep:first-child{margin-top:2px}
.iz9sep i{flex:1;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--iz9c) 42%,transparent));
  box-shadow:0 0 8px -2px var(--iz9c)}
.iz9sep i:last-child{background:linear-gradient(270deg,transparent,color-mix(in srgb,var(--iz9c) 42%,transparent))}
.iz9sep b{font-weight:800;text-shadow:0 0 12px color-mix(in srgb,var(--iz9c) 55%,transparent)}
.iz9sepe{font-size:11px;letter-spacing:0;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--iz9c) 55%,transparent))}
.iz9sepn{font-size:8px;letter-spacing:.1em;color:var(--low);border:1px solid var(--line-2);
  border-radius:20px;padding:1px 6px;flex:none}
/* garis warna kiri kartu picker pindah ke token — hex mentah nol bisa dilabuin
   kill-switch mono (pelajaran v10.21). */
.iz9pi{border-left:2px solid var(--iz9pic,var(--line-2))}

/* ── KOTAK CATATAN SESI di sheet kalibrasi ── */
.iz9note{margin-top:14px}
.iz9note label{display:block;font-family:"JetBrains Mono",monospace;font-size:9px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin-bottom:6px}
.iz9note label i{font-style:normal;color:var(--low);letter-spacing:.08em;text-transform:none}
.iz9ta{width:100%;resize:vertical;min-height:44px;font-family:inherit;font-size:12px;line-height:1.5}

/* ── HAPUS SESI — pintu darurat, gayanya SUBORDINAT ──────────────────────────
   Sengaja nol sejajar sama tiga vonis di atasnya: dia bukan pilihan keempat,
   dia jalan keluar. Kalo dia sebesar yang lain, orang bakal mencet dia pas
   sesinya cuma jelek — dan sesi jelek itu justru yang paling perlu kecatet. */
.iz9del{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line-2);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.iz9delb{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;
  border:1px solid var(--line-2);border-radius:8px;padding:6px 10px;color:var(--low);
  cursor:pointer;transition:.15s;flex:none}
.iz9delb:hover{border-color:var(--iz9x);color:var(--iz9x);background:color-mix(in srgb,var(--iz9x) 10%,transparent)}
.iz9del i{font-style:normal;font-size:9.5px;color:var(--low);line-height:1.5;flex:1;min-width:140px}

/* ── tombol buang di baris riwayat — nongol pas disenggol doang ── */
.iz9lx{font-size:11px;color:var(--low);opacity:0;transition:.15s;flex:none;
  padding:2px 5px;border-radius:5px;cursor:pointer}
.iz9lr:hover .iz9lx{opacity:.6}
.iz9lx:hover{opacity:1;color:var(--iz9x);background:color-mix(in srgb,var(--iz9x) 14%,transparent)}

/* ── derajat kalibrasi ber-pengali NOL: ditandain, bukan disembunyiin ── */
.iz9kal.nol{border-style:dashed}
.iz9kal.nol .iz9kalx{color:var(--iz9x);font-weight:800}

/* ── EDITOR TANGGA KALIBRASI di ⚙ SETELAN ── */
.iz9kaled{display:grid;gap:7px;margin-top:8px}
.iz9ker{display:grid;grid-template-columns:34px 1fr 62px 30px;gap:7px;align-items:center;
  border:1px solid var(--line-2);border-radius:9px;padding:7px 8px;background:var(--panel-2);
  border-left:2px solid var(--iz9kc,var(--line-2))}
.iz9ker input{width:100%;background:rgba(0,0,0,.34);border:1px solid var(--line);border-radius:6px;
  color:var(--ink);font-size:11.5px;padding:5px 7px;font-family:inherit}
.iz9ker input.mono9{font-family:"JetBrains Mono",monospace;text-align:center}
.iz9kerx{text-align:center;cursor:pointer;color:var(--low);font-size:12px;border-radius:6px;padding:4px}
.iz9kerx:hover{color:var(--iz9x);background:color-mix(in srgb,var(--iz9x) 14%,transparent)}
.iz9kpre{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.iz9kpre span{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.12em;
  border:1px solid var(--line-2);border-radius:7px;padding:5px 9px;color:var(--mid);cursor:pointer;transition:.15s}
.iz9kpre span:hover{border-color:var(--iz9c);color:var(--iz9c);background:color-mix(in srgb,var(--iz9c) 12%,transparent)}
.iz9kwarn{font-size:10px;color:var(--low);line-height:1.55;margin-top:9px;font-style:italic;
  border-left:2px solid color-mix(in srgb,var(--iz9w) 45%,transparent);padding-left:9px}

/* ── C1 · jejak 🎯 di baris item — sepupu .tmstat punya mini timer.
   Sengaja SETENGAH TENANG: dia laporan, bukan tombol. Yang lagi jalan
   (.on) baru boleh narik mata. ── */
.iz9inl{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.04em;
  color:var(--iz9c);border:1px solid color-mix(in srgb,var(--iz9c) 26%,transparent);
  border-radius:6px;padding:1px 6px;margin-left:5px;white-space:nowrap;flex:none;
  background:color-mix(in srgb,var(--iz9c) 7%,transparent);cursor:default}
.iz9inl.on{color:var(--void);background:var(--iz9c);border-color:var(--iz9c);font-weight:800;
  box-shadow:0 0 14px -4px var(--iz9c)}

/* ── C3 · seksi 🎯 di sheet DETAIL — pola .tdnotes ── */
.iz9sek{margin-top:14px;border:1px solid color-mix(in srgb,var(--iz9c) 24%,transparent);
  border-radius:11px;overflow:hidden;background:color-mix(in srgb,var(--iz9c) 4%,transparent)}
.iz9sekh{display:flex;align-items:center;gap:9px;padding:9px 12px;
  font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.2em;color:var(--iz9c);
  border-bottom:1px solid color-mix(in srgb,var(--iz9c) 18%,transparent);
  background:color-mix(in srgb,var(--iz9c) 7%,transparent)}
.iz9sekn{color:var(--low);letter-spacing:.08em;margin-left:auto}
.iz9sekb{border:1px solid color-mix(in srgb,var(--iz9c) 45%,transparent);border-radius:7px;
  padding:3px 8px;cursor:pointer;transition:.15s;letter-spacing:.1em}
.iz9sekb:hover{background:var(--iz9c);color:var(--void)}
.iz9seke{padding:11px 13px;font-size:11px;color:var(--low);line-height:1.6;font-style:italic}
/* v10.35 — tab riwayat di kartu detail item (zona · arena · komitmen) +
   gelembung jejak di barisnya. Semuanya lensa: nol satupun disimpen. */
/* ═══ v10.36 — ARENA: panggung tarung + sepuluh muka ═══
   Warna, tali ring, sama denyutnya bikin mata langsung tau ini berantem —
   dan itu permintaan eksplisit: "make it clearly beda bahwa ini lagi fighting". */
.iz9stage.iz9arena{position:relative;border-color:rgba(255,77,109,.34);
  background:radial-gradient(120% 90% at 50% -10%,rgba(255,77,109,.13),transparent 66%),rgba(255,77,109,.03)}
.iz9stage.iz9arena::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 60px -22px #ff4d6d;animation:iz9arn 4.6s ease-in-out infinite}
@keyframes iz9arn{0%,100%{opacity:.55}50%{opacity:1}}
.iz9ringtali{position:absolute;left:0;right:0;height:2px;pointer-events:none;z-index:0;
  background:repeating-linear-gradient(90deg,rgba(255,77,109,.5) 0 22px,rgba(255,77,109,.14) 22px 30px)}
.iz9ringtali.atas{top:42px}
.iz9ringtali.bawah{bottom:52px}
.iz9mk.f9 .iz9mkb.on{border-color:rgba(255,77,109,.6);color:#ff8aa0;background:rgba(255,77,109,.12)}
.iz9f{position:relative;height:132px;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;
  background:rgba(255,255,255,.012);margin:8px 0 2px}
.iz9f svg{position:absolute;inset:0;width:100%;height:100%}
.iz9fm{position:absolute;left:12px;bottom:9px;display:flex;align-items:baseline;gap:8px;z-index:3}
.iz9fm b{font-family:"JetBrains Mono",monospace;font-size:16px;color:var(--ink);font-weight:800}
.iz9fm i{font-style:normal;font-size:9.5px;color:var(--low);font-family:"JetBrains Mono",monospace}
/* 🥊 RING */
.iz9f.ring .tali{position:absolute;left:0;right:0;height:2px;background:rgba(255,77,109,.28)}
.iz9f.ring .tali.t1{top:26%}.iz9f.ring .tali.t2{top:46%}.iz9f.ring .tali.t3{top:66%}
.iz9f.ring .pojok{position:absolute;top:8px;font-size:15px;opacity:.6}
.iz9f.ring .pojok.kiri{left:10px}.iz9f.ring .pojok.kanan{right:10px}
.iz9f.ring .petarung{position:absolute;top:44%;font-size:26px;transition:left .6s cubic-bezier(.4,0,.2,1);
  filter:drop-shadow(0 0 10px rgba(255,77,109,.4))}
.iz9f.ring .petarung.dia{animation:iz9gtr 1.9s ease-in-out infinite}
@keyframes iz9gtr{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px) rotate(-4deg)}}
/* 🔥 API */
.iz9f.api{background:linear-gradient(180deg,transparent,rgba(255,77,109,calc(.05 + var(--fa)*.14)))}
.iz9f.api .lidah{position:absolute;bottom:0;width:11%;border-radius:50% 50% 12% 12%;
  background:linear-gradient(180deg,#ffd166,#ff8a3c 45%,#ff4d6d);opacity:.82;
  animation:iz9api 1.5s ease-in-out infinite;animation-delay:var(--dl);filter:blur(.4px)}
@keyframes iz9api{0%,100%{transform:scaleY(1) skewX(0)}50%{transform:scaleY(1.16) skewX(4deg)}}
/* ⚔ PEDANG */
.iz9f.pedang .bilah{fill:rgba(199,210,234,.22);stroke:#c7d2ea;stroke-width:1.4}
.iz9f.pedang .bilah.dia{fill:rgba(255,77,109,.18);stroke:#ff4d6d}
.iz9f.pedang .kilat{fill:#ffd166;opacity:.85;animation:iz9klt .9s ease-in-out infinite}
@keyframes iz9klt{0%,100%{opacity:.5}50%{opacity:1}}
/* 💣 BOM */
.iz9f.bom .sumbu{position:absolute;left:12%;right:12%;top:46%;height:4px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.iz9f.bom .sumbu i{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#ff4d6d);transition:width .8s linear}
.iz9f.bom .bola{position:absolute;left:50%;top:22%;transform:translateX(-50%);font-size:34px}
.iz9f.bom.dor .bola{animation:iz9dor .7s ease-out infinite}
@keyframes iz9dor{0%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.25)}100%{transform:translateX(-50%) scale(1)}}
/* 🌙 CLURIT */
.iz9f.clurit .jalur{fill:none;stroke:rgba(255,255,255,.09);stroke-width:2;stroke-dasharray:4 5}
.iz9f.clurit .tebas{fill:none;stroke:#ff4d6d;stroke-width:3.4;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,77,109,.55))}
.iz9f.clurit .ujung{fill:#ffd166;animation:iz9klt 1.1s ease-in-out infinite}
/* 🤜 TINJU */
.iz9f.tinju .ombak{position:absolute;left:50%;top:50%;width:var(--sz);padding-bottom:var(--sz);transform:translate(-50%,-50%);
  border:2px solid rgba(255,77,109,.5);border-radius:50%;animation:iz9omb 1.6s ease-out infinite;animation-delay:var(--dl)}
@keyframes iz9omb{0%{opacity:.85;transform:translate(-50%,-50%) scale(.7)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}
.iz9f.tinju .kepal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:30px;z-index:2}
/* 📉 NYALI */
.iz9f.nyali .tabung{position:absolute;left:50%;top:14px;bottom:34px;width:58px;transform:translateX(-50%);
  border:1px solid rgba(255,77,109,.4);border-radius:11px;overflow:hidden;display:flex;align-items:flex-end}
.iz9f.nyali .tabung i{display:block;width:100%;background:linear-gradient(180deg,rgba(255,77,109,.5),rgba(255,77,109,.18));transition:height .8s ease}
.iz9f.nyali .muka{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:24px}
/* 🐂 ADU */
.iz9f.adu .tanduk{position:absolute;top:38%;font-size:30px;transition:transform .7s ease}
.iz9f.adu .tanduk.kiri{left:14%}
.iz9f.adu .tanduk.kanan{right:14%}
.iz9f.adu .garis{position:absolute;top:22%;bottom:30%;width:2px;background:linear-gradient(180deg,transparent,#ff4d6d,transparent);transition:left .7s ease}
/* ⚡ PETIR */
.iz9f.petir .kilat{fill:none;stroke:#ffd166;stroke-width:2.4;stroke-linecap:round;opacity:.9;
  filter:drop-shadow(0 0 6px rgba(255,209,102,.6));animation:iz9ptr 1.3s ease-in-out infinite;animation-delay:var(--dl)}
@keyframes iz9ptr{0%,100%{opacity:.25}50%{opacity:1}}
/* 🛡 TAMENG */
.iz9f.tameng .perisai{fill:rgba(199,210,234,.07);stroke:#c7d2ea;stroke-width:1.6}
.iz9f.tameng .retak{fill:none;stroke:#ff4d6d;stroke-width:2;stroke-linecap:round;
  animation:iz9rtk .35s ease-out both;animation-delay:var(--dl)}
@keyframes iz9rtk{from{opacity:0;stroke-dasharray:0 90}to{opacity:1;stroke-dasharray:90 0}}
/* transkrip */
/* ⚠ dulu namanya .iz9ftr, dan itu ketabrak KAKI DIALOG yang udah punya nama
   itu duluan (flex, rata kanan, sticky di bawah). Blok TRANSKRIP ini dateng
   belakangan dengan display:grid + bingkai merah, jadi kaki dialognya kegambar
   grid berbingkai merah dan nol lagi nempel di bawah. Nol satu pun error. */
.iz9trs{display:grid;gap:5px;margin:8px 0 2px;padding:9px 11px;border:1px solid rgba(255,77,109,.22);
  border-radius:13px;background:rgba(255,77,109,.035)}
.iz9fb{display:flex;gap:8px;align-items:baseline;font-size:11px;color:var(--dim);opacity:.55;transition:.3s}
.iz9fb.baru{opacity:1;color:var(--ink)}
.iz9fb .who{flex:none;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;color:#ff8aa0;letter-spacing:.06em}
.iz9fb .apa{flex:1;min-width:0;line-height:1.5}
.iz9fjeda{font-size:9px;color:var(--low);font-family:"JetBrains Mono",monospace;margin-top:2px}
.iz9trs.sunyi{border-color:rgba(45,212,138,.35);background:rgba(45,212,138,.05)}
.iz9fsunyi{display:grid;gap:4px;text-align:center;padding:6px 4px}
.iz9fsunyi b{font-size:13px;color:#2dd48a;letter-spacing:.12em}
.iz9fsunyi i{font-style:normal;font-size:10.5px;color:var(--dim);line-height:1.55}
.iz9fkosong{font-size:10.5px;color:var(--low);line-height:1.5}
.iz9htab{display:flex;gap:6px;margin:2px 0 9px;flex-wrap:wrap}
.iz9ht{display:inline-flex;align-items:center;gap:5px;cursor:pointer;user-select:none;font-size:10px;font-weight:800;
       letter-spacing:.07em;color:var(--dim);border:1px solid var(--line-2);border-radius:9px;padding:5px 10px;transition:.14s}
.iz9ht b{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);border-left:1px solid var(--line-2);padding-left:5px}
.iz9ht:hover{border-color:var(--mid);color:var(--ink)}
.iz9ht.kosong{opacity:.5}
.iz9ht.on{border-color:rgba(167,139,250,.55);color:#a78bfa;background:rgba(167,139,250,.1)}
.iz9ht.on b{color:#a78bfa;border-left-color:rgba(167,139,250,.35)}
.iz9inl.fight{border-color:rgba(255,77,109,.42);color:#ff8aa0}
.iz9inl.kom{border-color:rgba(76,201,240,.4);color:#7fd8f5}
.iz9sekr{display:flex;gap:0;border-bottom:1px solid var(--line)}
.iz9sekr span{flex:1;padding:9px 6px;text-align:center;border-right:1px solid var(--line)}
.iz9sekr span:last-child{border-right:0}
.iz9sekr b{display:block;font-family:"Chakra Petch",sans-serif;font-size:16px;color:var(--iz9d);font-weight:700}
.iz9sekr i{display:block;font-style:normal;font-family:"JetBrains Mono",monospace;
  font-size:8px;letter-spacing:.14em;color:var(--low);margin-top:2px;text-transform:uppercase}
.iz9sekl{max-height:180px;overflow-y:auto}
.iz9sekli{display:flex;align-items:baseline;gap:8px;padding:7px 12px;font-size:11px;flex-wrap:wrap;
  border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.iz9sekli:last-child{border-bottom:0}
.iz9seklt{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);flex:none}
.iz9seklk{flex:none;font-size:11px}
.iz9sekln{color:var(--mid);flex:1;min-width:120px}
.iz9seklc{width:100%;font-size:10.5px;color:var(--ink);opacity:.72;padding-left:26px;
  border-left:2px solid color-mix(in srgb,var(--iz9c) 30%,transparent);margin-top:2px;line-height:1.5}

/* ── E · sheet tawaran centang routine ── */
.iz9tw{text-align:left}
.iz9twh{font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:17px;color:var(--iz9kc);
  letter-spacing:.04em;margin-bottom:9px;text-shadow:0 0 20px color-mix(in srgb,var(--iz9kc) 45%,transparent)}
.iz9twb{font-size:12px;color:var(--mid);line-height:1.65;margin-bottom:16px}
.iz9twb b{color:var(--ink)}
.iz9twa{display:flex;gap:8px;flex-wrap:wrap}
.iz9twa .iz9btn{flex:1;min-width:150px}

/* ══ D · MUKA SESI ══════════════════════════════════════════════════════════ */
/* pemilih muka — kecil, di kepala panggung, nol narik mata dari angkanya */
.iz9mk{display:flex;gap:4px;margin:2px 0 6px;flex-wrap:wrap}
.iz9mkb{width:24px;height:22px;display:grid;place-items:center;font-size:11px;line-height:1;
  border:1px solid var(--line-2);border-radius:7px;cursor:pointer;transition:.14s;
  background:rgba(0,0,0,.28);opacity:.5}
.iz9mkb:hover{opacity:1;border-color:var(--iz9w);transform:translateY(-1px)}
.iz9mkb.on{opacity:1;border-color:var(--iz9w);color:var(--iz9w);
  background:color-mix(in srgb,var(--iz9w) 16%,transparent);
  box-shadow:0 0 12px -4px var(--iz9w)}
/* muka yang lagi KEPAKE gara-gara "otomatis" — ditandain tipis, biar lu tau
   otomatisnya lagi milih apa, bukan cuma tau lu lagi di mode otomatis */
.iz9mkb.pakai{opacity:.85;border-style:dashed;border-color:color-mix(in srgb,var(--iz9w) 45%,transparent)}

/* ── 💧 TANGKI ── */
.iz9air{overflow:hidden;border-radius:12px;background:rgba(0,0,0,.24);border:1px solid var(--line)}
.iz9airl{fill:none;stroke:var(--iz9w);stroke-width:1.3;
  filter:drop-shadow(0 0 6px color-mix(in srgb,var(--iz9w) 65%,transparent))}
.iz9airl.b{opacity:.4;stroke-width:.9}
.iz9airf{stroke:none}
.iz9airn{position:absolute;right:14px;bottom:10px;font-family:"Chakra Petch",sans-serif;
  font-weight:700;font-size:34px;line-height:1;color:var(--iz9w);opacity:.9;pointer-events:none;
  text-shadow:0 0 26px color-mix(in srgb,var(--iz9w) 55%,transparent);font-variant-numeric:tabular-nums}
.iz9airn i{font-style:normal;font-size:14px;opacity:.6;margin-left:1px}

/* ── ▮ BAR ── */
.iz9barw{margin:6px 0 2px}
.iz9bar{position:relative;display:flex;gap:3px;height:56px}
.iz9brs{position:relative;border:1px solid color-mix(in srgb,var(--iz9fc) 34%,transparent);
  border-radius:8px;overflow:hidden;background:rgba(0,0,0,.3);min-width:0}
.iz9brs i{position:absolute;left:0;bottom:0;top:0;display:block;
  background:linear-gradient(90deg,color-mix(in srgb,var(--iz9fc) 30%,transparent),var(--iz9fc));
  box-shadow:0 0 18px -5px var(--iz9fc);transition:width .45s cubic-bezier(.2,.7,.3,1)}
.iz9brs b{position:absolute;left:7px;bottom:6px;font-family:"JetBrains Mono",monospace;
  font-size:7.6px;letter-spacing:.18em;color:var(--iz9fc);font-weight:800;opacity:.85;
  text-shadow:0 0 8px var(--void),0 1px 2px var(--void);pointer-events:none;white-space:nowrap}
.iz9barpk{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--iz9x);
  box-shadow:0 0 10px var(--iz9x);border-radius:2px;transform:translateX(-50%);pointer-events:none}
.iz9barm{display:flex;gap:14px;margin-top:8px;font-family:"JetBrains Mono",monospace;
  font-size:9px;letter-spacing:.1em;color:var(--low);flex-wrap:wrap}

/* ── 🧗 PENDAKI ── */
.iz9daki{overflow:visible}
.iz9dakif{stroke:none}
.iz9flag{position:absolute;right:8px;top:6px;font-size:19px;pointer-events:none;
  filter:drop-shadow(0 0 9px color-mix(in srgb,var(--iz9g) 70%,transparent))}
.iz9man{position:absolute;font-size:18px;transform:translate(-50%,-72%);pointer-events:none;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--iz9w) 75%,transparent));
  transition:left .5s linear, top .5s cubic-bezier(.2,.7,.3,1)}
/* ⚠ label ini sempet kepotong pinggir panggung — .iz9wrap punya margin:0 -4px
   (biar kurvanya nempel pinggir), jadi apa pun yang ditaro di left:4px bakal
   nyembul keluar. Sekarang dia dikasih ruang sendiri di dalem. */
.iz9dakim{position:absolute;left:10px;bottom:6px;font-family:"JetBrains Mono",monospace;
  font-size:9px;letter-spacing:.1em;color:var(--mid);pointer-events:none;
  background:linear-gradient(90deg,var(--panel) 62%,transparent);padding:2px 14px 2px 2px}

/* ══ v10.23 · TAB PICKER ═══════════════════════════════════════════════════ */
.iz9tab{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:9px}
.iz9tb{display:inline-flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;
  font-size:9px;letter-spacing:.16em;padding:7px 11px;border-radius:9px 9px 0 0;cursor:pointer;
  border:1px solid transparent;border-bottom:0;color:var(--low);transition:.15s;position:relative;top:1px}
.iz9tb i{font-style:normal;font-size:12px;letter-spacing:0}
.iz9tb b{font-family:"JetBrains Mono",monospace;font-size:8px;font-weight:700;letter-spacing:.05em;
  background:rgba(255,255,255,.07);border-radius:20px;padding:1px 6px;color:var(--mid)}
.iz9tb:hover{color:var(--ink);background:rgba(255,255,255,.04)}
.iz9tb.on{color:var(--iz9c);border-color:color-mix(in srgb,var(--iz9c) 40%,transparent);
  background:color-mix(in srgb,var(--iz9c) 11%,transparent);
  box-shadow:inset 0 -2px 0 var(--iz9c),0 0 18px -8px var(--iz9c)}
.iz9tb.on b{background:color-mix(in srgb,var(--iz9c) 22%,transparent);color:var(--iz9c)}
.iz9tb.kosong{opacity:.4}
/* lompatan dari pesan "nol ada di tab ini" — biar nol ada yang ilang diem-diem */
.iz9jmp{color:var(--iz9c);cursor:pointer;border-bottom:1px dashed color-mix(in srgb,var(--iz9c) 45%,transparent)}
.iz9jmp:hover{background:color-mix(in srgb,var(--iz9c) 14%,transparent)}
/* separator di tab ROUTINE bawa warna LOOP-nya, bukan warna modul */
.iz9sep{--iz9c:var(--iz9pic,#a78bfa)}
.iz9sep.belum{opacity:.62}
.iz9sepk{font-size:7.5px;letter-spacing:.14em;color:var(--low);border:1px dashed var(--line-2);
  border-radius:20px;padding:1px 6px;flex:none}
.iz9pi.belum{border-style:dashed;opacity:.82}
.iz9pi.belum:hover{opacity:1}
.iz9rbaru{grid-column:1/-1;margin-top:10px;text-align:center;font-family:"JetBrains Mono",monospace;
  font-size:9.5px;letter-spacing:.16em;border:1px dashed var(--line-2);border-radius:10px;
  padding:12px;color:var(--low);cursor:pointer;transition:.15s}
.iz9rbaru:hover{border-color:var(--iz9c);color:var(--iz9c);background:color-mix(in srgb,var(--iz9c) 8%,transparent)}
/* tab BEBAS */
.iz9bebas{grid-column:1/-1;display:grid;gap:9px;padding:6px 2px}
.iz9bebas label{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mid)}
.iz9bebas label i{display:block;font-style:normal;font-size:9.5px;letter-spacing:.04em;
  text-transform:none;color:var(--low);margin-top:4px;line-height:1.5}
.iz9bebas .iz9btn{justify-self:start}

/* ══ v10.23 · LIMA MUKA SISANYA ════════════════════════════════════════════ */
/* 🌌 PALUNG — satu-satunya yang kebalik: dalem = KE BAWAH */
.iz9plg{overflow:hidden;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.3)}
.iz9plgl{stroke:var(--iz9w);stroke-width:1.4;stroke-dasharray:3 2;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--iz9w) 70%,transparent))}
.iz9plgd{position:absolute;left:50%;font-size:20px;transform:translate(-50%,-50%);pointer-events:none;
  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--iz9w) 75%,transparent));transition:top .55s cubic-bezier(.2,.7,.3,1)}
.iz9plgm{position:absolute;right:10px;bottom:6px;font-family:"JetBrains Mono",monospace;font-size:9px;
  letter-spacing:.1em;color:var(--mid);pointer-events:none;
  background:linear-gradient(270deg,var(--panel) 62%,transparent);padding:2px 2px 2px 14px}
/* 🔥 BARA — cahaya doang */
.iz9bara{position:relative;height:152px;display:grid;place-items:center;margin:0 -4px;
  border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 58%,rgba(0,0,0,.5),rgba(0,0,0,.26))}
.iz9barag{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,var(--iz9w) 0%,color-mix(in srgb,var(--iz9w) 45%,transparent) 34%,transparent 70%);
  opacity:calc(.22 + var(--iz9ba,0) * .78);filter:blur(6px);transition:width .8s ease,padding-bottom .8s ease,opacity .8s ease}
.iz9barae{position:relative;font-size:44px;z-index:2;
  filter:drop-shadow(0 0 calc(8px + var(--iz9ba,0) * 26px) var(--iz9w));transition:filter .8s ease}
.iz9baram{position:absolute;left:0;right:0;bottom:10px;text-align:center;pointer-events:none}
.iz9baram b{display:block;font-family:"Chakra Petch",sans-serif;font-weight:700;font-size:20px;color:var(--iz9d)}
.iz9baram i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9px;
  letter-spacing:.12em;color:var(--low)}
/* 💓 DENYUT */
.iz9dny{overflow:hidden;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.3)}
.iz9dnyl{fill:none;stroke:var(--iz9w);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--iz9w) 75%,transparent));transition:d .6s linear}
.iz9dnym{position:absolute;left:10px;bottom:6px;font-family:"JetBrains Mono",monospace;font-size:9px;
  letter-spacing:.1em;color:var(--mid);pointer-events:none;
  background:linear-gradient(90deg,var(--panel) 62%,transparent);padding:2px 14px 2px 2px}
.iz9dnym b{color:var(--iz9x)}
/* 🌱 TUMBUH — tahapnya LONCAT, dan itu maunya */
.iz9tbh{margin:6px 0 2px}
.iz9tbhs{display:flex;align-items:center;gap:0;height:92px;padding:0 4px}
.iz9tbhi{font-size:26px;line-height:1;opacity:.16;transition:.4s;flex:none;filter:grayscale(1)}
.iz9tbhi.lewat{opacity:.42;filter:grayscale(.55)}
.iz9tbhi.on{opacity:1;filter:none;font-size:40px;
  filter:drop-shadow(0 0 16px color-mix(in srgb,var(--iz9w) 70%,transparent))}
.iz9tbhg{flex:1;height:1px;background:linear-gradient(90deg,
  color-mix(in srgb,var(--iz9w) 26%,transparent),color-mix(in srgb,var(--iz9w) 8%,transparent))}
.iz9tbhm{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.1em;color:var(--low);margin-top:4px}
.iz9tbhm b{color:var(--iz9d);font-weight:700}
/* 🏃 LARI — sumbu X-nya KEDALAMAN, bukan jam */
.iz9lari{margin:10px 0 2px}
.iz9lart{position:relative;height:58px;border-radius:10px;border:1px solid var(--line);
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 2px,transparent 2px 26px),rgba(0,0,0,.3);
  overflow:visible}
.iz9larj{position:absolute;left:0;top:0;bottom:0;border-radius:10px 0 0 10px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--iz9w) 12%,transparent),color-mix(in srgb,var(--iz9w) 34%,transparent));
  transition:width .5s cubic-bezier(.2,.7,.3,1)}
.iz9larp{position:absolute;top:50%;font-size:24px;transform:translate(-50%,-52%);pointer-events:none;
  filter:drop-shadow(0 0 calc(6px + var(--iz9ba,0) * 16px) var(--iz9w));transition:left .5s cubic-bezier(.2,.7,.3,1)}
.iz9larf{position:absolute;right:-4px;top:50%;transform:translateY(-50%);font-size:20px;pointer-events:none;
  filter:drop-shadow(0 0 9px color-mix(in srgb,var(--iz9g) 65%,transparent))}
.iz9larm{display:flex;gap:14px;margin-top:9px;font-family:"JetBrains Mono",monospace;
  font-size:9px;letter-spacing:.1em;color:var(--low);flex-wrap:wrap}

/* tombol ⚙ kepala halaman — sepupu .ca9cog / .fa9cog / .rc9cog */
.iz9cog{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:9px;padding:6px 11px;cursor:pointer;
  background:rgba(0,0,0,.3);font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);
  transition:.15s;align-self:flex-start;flex:0 0 auto}
.iz9cog:hover{border-color:var(--iz9c);color:var(--iz9c)}
/* .pop itu GRID 2 KOLOM — modifier ini WAJIB ngelepas grid-nya.
   Bolong yang bikin dialog Ransom Coin kebelah dua di v10.16 (.rc9pop nol aturan). */
.pop.iz9pop{display:block;grid-template-columns:none;gap:0;padding:0;min-width:0;max-height:none;overflow:visible}
.pop.iz9pop .iz9sbd{padding:15px 17px}
.pop.iz9pop .iz9ftr{padding:12px 17px;background:var(--panel)}
/* ── pintu 🎯 di permukaan MILIK ORANG LAIN (pemenang roda · jendela dadu ·
   sheet item). Satu kelas buat tiga tempat: pintu yang bentuknya beda-beda
   per tempat bikin mata ngitung ulang tiap kali. Warnanya dipinjem dari
   token modul, jadi kill-switch mono nol perlu tau soal kelas ini. ── */
.tdact.kl9{border-color:color-mix(in srgb,#2dd4a7 52%,transparent)!important;color:#2dd4a7!important}
.tdact.kl9:hover{background:color-mix(in srgb,#2dd4a7 18%,transparent)!important}
.tdact.vl9{border-color:color-mix(in srgb,#ff5d5d 52%,transparent)!important;color:#ff8aa0!important}
.tdact.vl9:hover{background:color-mix(in srgb,#ff5d5d 18%,transparent)!important}
.carbtn.zn9,.dd9btn.zn9,.tdact.zn9{border-color:color-mix(in srgb,var(--iz9c) 52%,transparent)!important;
  color:var(--iz9c)!important;background:color-mix(in srgb,var(--iz9c) 9%,transparent)!important}
.carbtn.zn9:hover,.dd9btn.zn9:hover,.tdact.zn9:hover{background:color-mix(in srgb,var(--iz9c) 20%,transparent)!important;
  border-color:var(--iz9c)!important;box-shadow:0 0 16px -5px var(--iz9c)}
/* chip 🎯 ZONA di baris hasil Ctrl+K (dokumen 7.9) */
.wic.zn{border-color:color-mix(in srgb,var(--iz9c) 55%,transparent);color:var(--iz9c);cursor:pointer}
.wic.zn:hover{background:color-mix(in srgb,var(--iz9c) 16%,transparent);box-shadow:0 0 12px -3px var(--iz9c)}

/* ═══ 📡 CLAUDE UPLINK — KULIT (bon #44) ══════════════════════════════════════════ */
/* 📡 CLAUDE UPLINK — kulit halaman #uplink + seksi Home (bon #44). Fosfor amber di atas item-hitam, garis scan, LED sinyal.
   Semua gerak lewat CSS (kredo §4,5 no.6: efek yang bisa CSS haram pake timer). Kelas cu9* unik, warisan widget v9.86 tetep kepake. */
.cu9konsol{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,#f2b13d 36%,transparent);border-radius:14px;
  background:linear-gradient(120deg,rgba(242,177,61,.09),rgba(0,0,0,.42) 45%,rgba(34,211,238,.06));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 18px 40px -30px #f2b13d;overflow:hidden}
.cu9konsol::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.16) 3px 4px);mix-blend-mode:multiply}
.cu9konsol::after{content:"";position:absolute;top:0;bottom:0;width:38%;left:-40%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(242,177,61,.10),transparent);animation:cu9sapu 6s linear infinite}
@keyframes cu9sapu{to{left:110%}}
.cu9led{width:11px;height:11px;border-radius:50%;background:#3a3f4c;box-shadow:0 0 0 3px rgba(255,255,255,.04);flex:none;position:relative;z-index:1}
.cu9led.nyala{background:#2dd48a;box-shadow:0 0 0 3px rgba(45,212,138,.14),0 0 14px #2dd48a}
.cu9led.baru{background:#f2b13d;box-shadow:0 0 0 3px rgba(242,177,61,.16),0 0 16px #f2b13d;animation:cu9kedip 1.1s ease-in-out infinite}
.cu9led.mati{background:#ff4d6d;box-shadow:0 0 12px #ff4d6d}
@keyframes cu9kedip{50%{opacity:.35}}
.cu9sig{display:flex;align-items:flex-end;gap:2px;height:16px;flex:none;position:relative;z-index:1}
.cu9sig i{display:block;width:4px;background:#f2b13d;border-radius:1px;opacity:.25;animation:cu9sig 2.6s ease-in-out infinite}
.cu9sig i:nth-child(1){height:4px;animation-delay:0s}.cu9sig i:nth-child(2){height:7px;animation-delay:.18s}.cu9sig i:nth-child(3){height:10px;animation-delay:.36s}
.cu9sig i:nth-child(4){height:13px;animation-delay:.54s}.cu9sig i:nth-child(5){height:16px;animation-delay:.72s}
@keyframes cu9sig{0%,100%{opacity:.22}45%{opacity:1;box-shadow:0 0 8px #f2b13d}}
.cu9stat{font-family:"JetBrains Mono",monospace;font-size:10.5px;letter-spacing:.08em;color:#f2b13d;text-shadow:0 0 10px color-mix(in srgb,#f2b13d 55%,transparent);flex:1;min-width:160px;position:relative;z-index:1}
.cu9stat::after{content:"▌";margin-left:3px;animation:cu9kedip .9s steps(2) infinite;opacity:.8}
.cu9wave{flex:none;width:96px;height:22px;position:relative;z-index:1;overflow:hidden;border-radius:4px}
.cu9wave svg{width:192px;height:22px;display:block;animation:cu9geser 2.2s linear infinite}
.cu9wave path{fill:none;stroke:#f2b13d;stroke-width:1.4;opacity:.75;filter:drop-shadow(0 0 4px #f2b13d)}
@keyframes cu9geser{to{transform:translateX(-96px)}}
.cu9tabs{display:flex;gap:6px;flex-wrap:wrap;position:relative;z-index:1}
.cu9tab{position:relative;font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:11px;letter-spacing:.12em;padding:7px 12px;border-radius:9px;cursor:pointer;color:var(--mid);border:1px solid var(--line-2);transition:.14s;user-select:none}
.cu9tab:hover{color:var(--ink);border-color:color-mix(in srgb,#f2b13d 40%,transparent)}
.cu9tab.on{color:#f2b13d;border-color:color-mix(in srgb,#f2b13d 60%,transparent);background:color-mix(in srgb,#f2b13d 12%,transparent);box-shadow:0 0 16px -6px #f2b13d}
.cu9tab b{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#f2b13d;color:#151515;font-size:9px;line-height:16px;text-align:center;font-family:"JetBrains Mono",monospace}
.cu9tab b:empty{display:none}
.cu9bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cu9saring{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.cu9chip.on{background:color-mix(in srgb,#4cc9f0 16%,transparent);box-shadow:0 0 14px -4px #4cc9f0;color:var(--ink)}
.cu9chip.hq{border-color:color-mix(in srgb,#f2b13d 50%,transparent);color:#f2b13d}
.cu9chip.hq:hover{background:color-mix(in srgb,#f2b13d 12%,transparent);box-shadow:0 0 13px -4px #f2b13d}
.cu9chip.buka{border-color:color-mix(in srgb,#f2b13d 50%,transparent);color:#f2b13d;margin-left:auto}
.cu9chip b{font-weight:800;opacity:.75;margin-left:2px}
.cu9feed{display:grid;gap:12px}
.cu9tx{position:relative;border:1px solid color-mix(in srgb,#f2b13d 26%,transparent);border-radius:14px;padding:12px 15px 9px;background:linear-gradient(180deg,rgba(242,177,61,.05),rgba(0,0,0,.34));overflow:hidden;opacity:.82;transition:.16s}
.cu9tx::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.13) 3px 4px)}
.cu9tx:hover{opacity:1;border-color:color-mix(in srgb,#f2b13d 45%,transparent)}
.cu9tx.anyar{opacity:1;border-color:color-mix(in srgb,#f2b13d 62%,transparent);box-shadow:0 0 0 1px rgba(242,177,61,.12),0 22px 50px -34px #f2b13d}
.cu9feed .cu9tx:first-child{animation:cu9nafas 3.2s ease-in-out infinite}
@keyframes cu9nafas{50%{box-shadow:0 0 0 1px rgba(242,177,61,.22),0 0 34px -12px #f2b13d,0 22px 50px -34px #f2b13d}}
.cu9tx::before{content:attr(data-cu9no);position:absolute;right:12px;bottom:8px;font-family:"Chakra Petch",sans-serif;font-size:34px;font-weight:800;color:rgba(242,177,61,.07);letter-spacing:.06em;pointer-events:none}
.cu9feed .cu9tx:first-child .cu9txb9{animation:cu9reveal 1.1s cubic-bezier(.2,.8,.2,1) both;mask-image:linear-gradient(180deg,#000 calc(100% - 8px),transparent)}
.cu9feed .cu9tx:first-child::before{content:"";position:absolute;left:0;right:0;height:2px;top:0;background:linear-gradient(90deg,transparent,#f2b13d,transparent);animation:cu9scan 1.3s ease-out both;z-index:2}
@keyframes cu9reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cu9scan{from{top:0;opacity:1}to{top:100%;opacity:0}}
.cu9tx header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;position:relative;z-index:1}
.cu9txj{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.14em;color:#f2b13d;text-shadow:0 0 12px color-mix(in srgb,#f2b13d 55%,transparent)}
.cu9txt{font-family:"JetBrains Mono",monospace;font-size:9.5px;color:var(--low);margin-left:auto}
.cu9txb{font-family:"JetBrains Mono",monospace;font-size:8.5px;letter-spacing:.14em;padding:2px 7px;border-radius:6px;background:#f2b13d;color:#151515;animation:cu9kedip 1.4s ease-in-out infinite}
.cu9txb9{font-family:"JetBrains Mono",monospace;font-size:11.5px;line-height:1.6;color:var(--mid);position:relative;z-index:1}
.cu9txb9.panjang:not(.penuh){max-height:250px;overflow:hidden}
.cu9txb9.panjang:not(.penuh)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,transparent,rgba(12,12,16,.96))}
.cu9txb9 p,.cu9txb9 h5{animation:cu9naik .5s ease-out both}
.cu9txb9 :nth-child(2){animation-delay:.06s}.cu9txb9 :nth-child(3){animation-delay:.12s}.cu9txb9 :nth-child(4){animation-delay:.18s}.cu9txb9 :nth-child(5){animation-delay:.24s}.cu9txb9 :nth-child(6){animation-delay:.3s}.cu9txb9 :nth-child(7){animation-delay:.36s}.cu9txb9 :nth-child(8){animation-delay:.42s}.cu9txb9 :nth-child(n+9){animation-delay:.48s}
@keyframes cu9naik{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.cu9tx.anyar .cu9txb9{color:var(--ink)}
.cu9txb9 p{margin:0 0 3px}.cu9txb9 p.n{padding-left:6px;border-left:2px solid color-mix(in srgb,#f2b13d 35%,transparent);margin:4px 0}
.cu9txb9 h5{margin:10px 0 4px;font-family:"Chakra Petch",sans-serif;font-size:11px;letter-spacing:.16em;color:#f2b13d;text-shadow:0 0 10px color-mix(in srgb,#f2b13d 45%,transparent)}
.cu9txb9 h5:first-child{margin-top:0}
.cu9sp{display:block;height:6px}
.cu9tx footer{display:flex;gap:14px;margin-top:8px;padding-top:7px;border-top:1px dashed color-mix(in srgb,#f2b13d 22%,transparent);position:relative;z-index:1}
.cu9tx footer span{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.06em;color:var(--dim);cursor:pointer;user-select:none}
.cu9tx footer span:hover{color:#f2b13d}
.cu9kosong{display:grid;place-items:center;gap:10px;text-align:center;padding:38px 18px;border:1px dashed color-mix(in srgb,#f2b13d 30%,transparent);border-radius:14px;margin-bottom:14px;background:radial-gradient(circle at 50% 30%,rgba(242,177,61,.07),transparent 60%)}
.cu9kosong.kecil{padding:22px 16px}
.cu9kosong b{font-family:"Chakra Petch",sans-serif;font-size:13px;letter-spacing:.16em;color:#f2b13d}
.cu9kosong span{font-size:11.5px;color:var(--mid);max-width:460px;line-height:1.55}
.cu9radar{width:74px;height:74px;border-radius:50%;border:1px solid color-mix(in srgb,#f2b13d 40%,transparent);position:relative;background:repeating-radial-gradient(circle,transparent 0 11px,rgba(242,177,61,.16) 11px 12px);overflow:hidden}
.cu9radar::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:50%;background:#f2b13d;transform-origin:top;animation:cu9radar 2.4s linear infinite;box-shadow:0 0 8px #f2b13d}
.cu9radar i{position:absolute;inset:0;background:conic-gradient(from 0deg,rgba(242,177,61,.35),transparent 70deg);animation:cu9radar 2.4s linear infinite}
@keyframes cu9radar{to{transform:rotate(360deg)}}
.cu9dial{margin-top:14px;padding:12px 14px;border:1px solid var(--line-2);border-radius:14px;background:linear-gradient(180deg,rgba(76,201,240,.05),rgba(0,0,0,.2))}
.cu9dialh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.cu9dialh span{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:11px;letter-spacing:.16em;color:#4cc9f0}
.cu9dialh i{font-style:normal;font-size:10px;color:var(--low)}
.cu9dial .cu9row{margin-top:9px}
.cu9modebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.cu9mode{flex:1;min-width:200px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.06em;color:#2dd48a;padding:7px 11px;border:1px solid color-mix(in srgb,#2dd48a 36%,transparent);border-radius:9px;background:color-mix(in srgb,#2dd48a 7%,transparent)}
.cu9mode.live{color:#4cc9f0;border-color:color-mix(in srgb,#4cc9f0 40%,transparent);background:color-mix(in srgb,#4cc9f0 8%,transparent)}
.cu9benang{display:grid;gap:10px;max-height:52vh;overflow:auto;padding:4px 2px;margin-bottom:12px;scrollbar-width:thin}
.cu9bub{max-width:86%;display:grid;gap:3px}
.cu9bub.gua{justify-self:end}
.cu9bubm{padding:9px 13px;border-radius:14px;font-size:12px;line-height:1.55;color:var(--ink);position:relative}
.cu9bub.gua .cu9bubm{background:color-mix(in srgb,#22d3ee 14%,transparent);border:1px solid color-mix(in srgb,#22d3ee 36%,transparent);border-bottom-right-radius:4px}
.cu9bub.claude .cu9bubm{background:linear-gradient(180deg,rgba(242,177,61,.08),rgba(0,0,0,.3));border:1px solid color-mix(in srgb,#f2b13d 36%,transparent);border-bottom-left-radius:4px;font-family:"JetBrains Mono",monospace;font-size:11.5px}
.cu9bub.claude .cu9bubm>b{display:block;font-family:"Chakra Petch",sans-serif;font-size:10.5px;letter-spacing:.14em;color:#f2b13d;margin-bottom:4px}
.cu9bub.claude{grid-template-columns:26px 1fr;column-gap:8px}
.cu9bub.claude::before{content:"📡";grid-row:1/3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;background:rgba(242,177,61,.12);border:1px solid color-mix(in srgb,#f2b13d 40%,transparent);align-self:end}
.cu9bubm p{margin:0 0 3px}.cu9bubm h5{margin:8px 0 3px;font-size:10.5px;letter-spacing:.14em;color:#f2b13d}
.cu9bubt{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);padding:0 4px}
.cu9bub.gua .cu9bubt{text-align:right}
.cu9tulis{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,#2dd48a 30%,transparent);border-radius:14px;background:linear-gradient(180deg,rgba(45,212,138,.05),rgba(0,0,0,.22))}
.cu9ta{width:100%;box-sizing:border-box;resize:vertical;min-height:54px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);font-family:"JetBrains Mono",monospace;font-size:11.5px;padding:9px 11px;outline:none;line-height:1.5}
.cu9ta:focus{border-color:rgba(45,212,138,.55);box-shadow:0 0 16px -6px #2dd48a}
.cu9tulisb{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.cu9go.besar{width:auto;padding:0 14px;height:34px;font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:11px;letter-spacing:.12em;color:#2dd48a;border-color:color-mix(in srgb,#2dd48a 45%,transparent)}
.cu9go.besar:hover{background:color-mix(in srgb,#2dd48a 12%,transparent);box-shadow:0 0 14px -5px #2dd48a;color:#2dd48a}
.cu9go.besar.dua{color:#4cc9f0;border-color:color-mix(in srgb,#4cc9f0 45%,transparent)}
.cu9go.besar.dua:hover{background:color-mix(in srgb,#4cc9f0 12%,transparent);box-shadow:0 0 14px -5px #4cc9f0;color:#4cc9f0}
.cu9setel{display:grid;gap:12px}
.cu9setel section{padding:12px 14px;border:1px solid var(--line-2);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.2))}
.cu9setel h4{margin:0 0 9px;font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:11.5px;letter-spacing:.14em;color:#f2b13d;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.cu9setel h4 i{font-style:normal;font-family:"JetBrains Mono",monospace;font-weight:400;font-size:9.5px;letter-spacing:.02em;color:var(--low)}
.cu9setel .cu9row{margin-bottom:8px}
.cu9info{display:grid;gap:6px}
.cu9info div{display:flex;gap:12px;align-items:baseline;font-family:"JetBrains Mono",monospace;font-size:10.5px}
.cu9info b{flex:none;width:118px;color:var(--low);letter-spacing:.08em;font-weight:600;text-transform:uppercase;font-size:9.5px}
.cu9info span{color:var(--ink)}
.cu9pre{margin:10px 0 0;padding:12px;border-radius:10px;background:rgba(0,0,0,.45);border:1px solid color-mix(in srgb,#2dd48a 28%,transparent);color:#bfe8d3;font-family:"JetBrains Mono",monospace;font-size:10.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto}
.cu9msg.belom .cu9mt b::after{content:" ●";color:#f2b13d;animation:cu9kedip 1.2s ease-in-out infinite}
.cu9msg[data-cu9wtx]{cursor:pointer}
.cu9msg[data-cu9wtx]:hover{opacity:1}
@media (max-width:640px){.cu9info b{width:92px}.cu9bub{max-width:96%}.cu9benang{max-height:46vh}.cu9tab{padding:6px 9px;font-size:10px}.cu9stat{min-width:100%;order:9}}
/* seksi Home `sec:uplink` — konsol kecil, pola kulit strip Sandbox (clip pojok + pnscan), warna amber */
.cu9hs{position:relative;overflow:hidden;margin:16px 0 4px;border-radius:16px;border:1px solid rgba(242,177,61,.34);
  background:radial-gradient(1100px 300px at 8% -30%,rgba(242,177,61,.15),transparent 60%),linear-gradient(180deg,#0d0c10,#09080c);
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 22px 60px -40px rgba(242,177,61,.9);
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));transition:border-color .18s,box-shadow .18s}
.cu9hs.open{border-color:rgba(242,177,61,.56)}
.cu9hs.baru{box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 0 40px -18px #f2b13d,0 22px 60px -40px rgba(242,177,61,1);animation:cu9nafas 3.2s ease-in-out infinite}
.cu9hs .pnscan{opacity:.4}
.cu9hs::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.12) 3px 4px)}
.cu9hsh{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:11px 16px 11px 14px;flex-wrap:wrap}
.cu9hstri{cursor:pointer;color:var(--dim);font-size:13px;transition:transform .18s;user-select:none}
.cu9hs.open .cu9hstri{transform:rotate(90deg);color:#f2b13d}
.cu9hsgo{display:flex;align-items:center;gap:7px;text-decoration:none}
.cu9hse{font-size:17px;filter:drop-shadow(0 0 8px rgba(242,177,61,.7))}
.cu9hsn{font-family:"Chakra Petch",sans-serif;font-weight:800;font-size:13px;letter-spacing:.2em;color:#f2b13d;text-shadow:0 0 14px color-mix(in srgb,#f2b13d 60%,transparent)}
.cu9hssub{font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--low);letter-spacing:.04em}
.cu9hsb{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:.14em;padding:2px 8px;border-radius:7px;background:#f2b13d;color:#151515;animation:cu9kedip 1.4s ease-in-out infinite}
.cu9hssp{flex:1}
.cu9hsi{cursor:pointer;color:var(--dim);font-size:14px;text-decoration:none;padding:2px 5px;border-radius:7px;transition:.13s}
.cu9hsi:hover{color:#f2b13d;background:rgba(242,177,61,.1)}
.cu9hsb9{position:relative;z-index:1;display:grid;gap:10px;padding:0 16px 14px}
.cu9hstx{opacity:1}
.cu9hstx .cu9txb9.panjang:not(.penuh){max-height:180px}
.cu9hstx footer a{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.06em;color:#f2b13d;text-decoration:none}
.cu9hstx footer i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--low);margin-left:auto}
.cu9hsrow{display:grid;gap:7px;grid-template-columns:1fr 1fr}
@media (max-width:720px){.cu9hsrow{grid-template-columns:1fr}.cu9hssub{display:none}}
/* U5 — otak live: kotak tulis cyan, tombol 💬, gelembung «lagi ngetik» tiga titik */
.cu9tulis.live{border-color:color-mix(in srgb,#4cc9f0 36%,transparent);background:linear-gradient(180deg,rgba(76,201,240,.06),rgba(0,0,0,.22))}
.cu9tulis.live .cu9ta:focus{border-color:rgba(76,201,240,.6);box-shadow:0 0 16px -6px #4cc9f0}
.cu9go.besar.tiga{color:#151515;background:#4cc9f0;border-color:#4cc9f0;box-shadow:0 0 18px -6px #4cc9f0}
.cu9go.besar.tiga:hover{background:#7ddcf7;color:#151515}
.cu9row.live .cu9in:focus{border-color:rgba(76,201,240,.6)}
.cu9bub.ngetik .cu9bubm{min-width:88px}
.cu9dots{display:inline-flex;gap:4px;align-items:center;height:14px}
.cu9dots s{display:block;width:6px;height:6px;border-radius:50%;background:#f2b13d;text-decoration:none;animation:cu9dot 1.1s ease-in-out infinite}
.cu9dots s:nth-child(2){animation-delay:.18s}.cu9dots s:nth-child(3){animation-delay:.36s}
@keyframes cu9dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
