/* ===== Babak · gaya pakej enjin Bab 9, kumpulan 9a (js/pakej-bab-09-9a.js): jeti, pasport, jilid.
   Awalan kelas dan keyframes b9a-. Susun atur diskop dengan .b2-j-<jenis> / .b2-p-<jenis>, body.mod-lebar / body.mod-telefon,
   telefon pendek @media (max-height:700px). Palet Babak; warna kumpulan neutral Bab 9 (SPEC-BAB-9 §3). ===== */

/* ---------- Bersama ---------- */
.b9a-goncang{animation:goncang .4s}
.b9a-klon-seret{position:absolute;z-index:40;margin:0;pointer-events:none;transition:none!important;box-shadow:0 16px 28px rgba(27,42,92,.32)!important}
.b9a-terbang{position:absolute;z-index:40;margin:0!important;pointer-events:none;transition:none!important;overflow:hidden;box-sizing:border-box}
.b9a-diseret{opacity:.35}
.b2-main .b9a-jeti[data-sibuk],.b2-main .b9a-pasport[data-sibuk],.b2-main .b9a-jilid[data-sibuk]{cursor:progress}
.b2-j-jeti .b2-kad-no,.b2-j-pasport .b2-kad-no,.b2-j-jilid .b2-kad-no{font-size:.875rem;letter-spacing:.04em}
.b2-j-jeti .b2-kad-isi,.b2-j-pasport .b2-kad-isi,.b2-j-jilid .b2-kad-isi{font-size:1.0625rem;overflow-wrap:break-word}
.b2-j-jeti .b2-rujuk-btn,.b2-j-pasport .b2-rujuk-btn,.b2-j-jilid .b2-rujuk-btn{font-size:.875rem;min-height:44px}
.b2-j-jeti .b2-rumus-tokoh li,.b2-j-pasport .b2-rumus-tokoh li,.b2-j-jilid .b2-rumus-tokoh li{font-size:.875rem;line-height:1.35;align-content:start}
.b2-j-jeti .b2-rumus-label,.b2-j-pasport .b2-rumus-label,.b2-j-jilid .b2-rumus-label{font-size:.875rem}
.b2-j-jeti .op,.b2-j-pasport .op,.b2-j-jilid .op{min-height:50px;font-size:.9375rem;overflow-wrap:break-word}
.b9a-rumus li.b9a-rumus-penuh{grid-column:1/-1}
.b9a-rumus-baris{display:grid;gap:3px}
.b9a-rumus-baris > span{position:relative;padding-left:12px}
.b9a-rumus-baris > span::before{content:"";position:absolute;left:1px;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.b9a-ikon-btn{width:22px;height:22px;flex:none}
@keyframes b9a-masuk-atas{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}
@keyframes b9a-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15);opacity:1}100%{transform:scale(1)}}
@keyframes b9a-cop{from{transform:rotate(-6deg) scale(1.5);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:.93}}
@keyframes b9a-denyut{0%{transform:none}35%{transform:translateY(-4px) scale(1.03)}100%{transform:none}}
@keyframes b9a-seru{50%{box-shadow:0 0 0 5px rgba(255,201,51,.55)}}

/* =====================================================================================
   9.1 JETI · JETI TANJUNG PAGAR
   ===================================================================================== */
.b9a-jeti{display:grid;gap:10px;min-width:0}
.b9a-jt-pentas{position:relative;min-width:0}
.b9a-jt-adegan{position:relative;min-width:0;border-radius:22px;overflow:hidden;background:#8FD0F0;border:3px solid #fff;box-shadow:var(--bayang)}
.b9a-jt-svg{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none}
.b9a-jt-svg text{font-family:var(--f);font-weight:900}
.b9a-jt-nama{fill:#1B2A5C;letter-spacing:.02em}
.b9a-jt-no{fill:#1B2A5C;font-weight:900}
.b9a-jeti.mod-soal .b9a-jt-adegan::after{content:"";position:absolute;inset:0;background:rgba(236,242,252,.45);pointer-events:none}
/* nama kapal (telefon: papan nama pada kapal terlalu kecil) */
.b9a-jt-cip{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 8px;border-radius:12px;background:rgba(255,255,255,.93);font-size:.875rem;font-weight:900;color:var(--ink);box-shadow:0 2px 0 rgba(27,42,92,.16)}
.b9a-jt-cip-ikon{width:18px;height:18px;color:var(--ink2)}
/* kabin: tingkap bulat menyala apabila penumpang naik */
.b9a-jt-tingkap .b9a-jt-kepala{opacity:0;transform-box:fill-box;transform-origin:50% 100%}
.b9a-jt-tingkap.nyala > circle{fill:#FFF3C4}
.b9a-jt-tingkap.nyala .b9a-jt-kepala{opacity:1}
.b9a-jt-tingkap.baru .b9a-jt-kepala{animation:b9a-pop .5s ease-out both}
.b9a-jt-tingkap.dibantu > circle{stroke:#C9323F;stroke-width:2.6;stroke-dasharray:3 2}
/* titi */
.b9a-jt-titi-hit{fill:none;stroke:transparent;stroke-width:36;pointer-events:stroke;cursor:pointer}
.b9a-jt-titi-papan{fill:none;stroke:#8A5226;stroke-width:9;stroke-linecap:round;pointer-events:none}
.b9a-jt-titi-papan2{fill:none;stroke:#D9A86A;stroke-width:5;stroke-linecap:round;stroke-dasharray:7 3;pointer-events:none}
.b9a-jt-titi-pagar{fill:none;stroke:#FFFFFF;stroke-width:2.2;stroke-linecap:round;opacity:.92;pointer-events:none}
.b9a-jt-titi-tanda text{font-weight:900}
.b9a-jt-titi.aktif .b9a-jt-titi-papan{stroke:#6E3F1B}
.b9a-jt-titi.b9a-dekat .b9a-jt-titi-papan,.b9a-jt-titi.b9a-dekat .b9a-jt-titi-papan2{stroke:#E8971A}
.b9a-jt-titi.kilat .b9a-jt-titi-papan{stroke:#1A9A5C}
.b9a-jt-titi.kilat .b9a-jt-titi-papan2{stroke:#8BD3AC}
.b9a-jt-tali{fill:none;stroke:#F4E3BE;stroke-width:2.2;stroke-linecap:round}
/* figura */
.b9a-jt-fig .b9a-kk,.b9a-jt-fig .b9a-kn,.b9a-jt-fig .b9a-tk,.b9a-jt-fig .b9a-tn{transform-box:fill-box;transform-origin:50% 0}
.b9a-jt-fig.jalan .b9a-kk,.b9a-jt-fig.jalan .b9a-tn{animation:b9a-ayun .36s ease-in-out infinite alternate}
.b9a-jt-fig.jalan .b9a-kn,.b9a-jt-fig.jalan .b9a-tk{animation:b9a-ayun .36s ease-in-out infinite alternate-reverse}
@keyframes b9a-ayun{from{transform:rotate(14deg)}to{transform:rotate(-14deg)}}
.b9a-jt-fig.jalan .b9a-jt-fig-dalam{animation:b9a-hentak .18s ease-in-out infinite alternate}
@keyframes b9a-hentak{from{transform:translateY(0)}to{transform:translateY(-1.5px)}}
.b9a-jt-fig-sorot{fill:#FFC933;opacity:0;transition:opacity .3s ease}
.b9a-jt-fig.kepala .b9a-jt-fig-sorot{opacity:.8}
.b9a-jt-fig-penanda{fill:#FFC933;stroke:#B0860B;stroke-width:1.2;stroke-linejoin:round;opacity:0}
.b9a-jt-fig.kepala .b9a-jt-fig-penanda{opacity:1;animation:b9a-angguk 1.3s ease-in-out infinite}
@keyframes b9a-angguk{50%{transform:translateY(-4px)}}
.b9a-jt-fig-merah{opacity:0}
.b9a-jt-fig.merah .b9a-jt-fig-merah{opacity:1}
.b9a-jt-fig.muncul{animation:b9a-muncul .45s ease-out both}
@keyframes b9a-muncul{from{opacity:0}to{opacity:1}}
.b9a-lambai-t{transform-box:fill-box;transform-origin:50% 100%;animation:b9a-lambai 1.5s ease-in-out infinite alternate}
.b9a-ramai-o1 .b9a-lambai-t{animation-delay:-.6s}
.b9a-ramai-o2 .b9a-lambai-t{animation-delay:-1.1s}
@keyframes b9a-lambai{from{transform:rotate(-16deg)}to{transform:rotate(14deg)}}
/* kapsyen akhir */
.b9a-jt-kapsyen{position:absolute;left:50%;top:50%;z-index:3;display:grid;gap:4px;width:max-content;max-width:min(90%,540px);padding:12px 18px;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:var(--bayang);text-align:center;transform:translate(-50%,-50%)}
.b9a-jt-kapsyen b{font-size:1.0625rem;font-weight:900;line-height:1.3;color:var(--ink)}
.b9a-jt-kapsyen span{font-size:.9375rem;font-weight:700;line-height:1.35;color:var(--ink2)}
.b9a-jt-kapsyen.masuk{animation:b9a-kapsyen .5s ease-out both}
@keyframes b9a-kapsyen{from{opacity:0;transform:translate(-50%,-38%)}to{opacity:1;transform:translate(-50%,-50%)}}
/* kad soalan di atas jeti */
.b9a-jt-soal{position:relative;z-index:3;display:grid;gap:8px;padding:12px 12px 14px;border-radius:18px;background:#fff;box-shadow:var(--bayang)}
.b9a-jt-soal[hidden]{display:none}
.b9a-jt-soal.masuk{animation:b9a-masuk-atas .42s ease-out both}
.b9a-jt-soal-label{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-jt-soal-label .ikon{width:18px;height:18px}
.b9a-jt-soal-teks{font-size:1.0625rem;font-weight:900;line-height:1.3;color:var(--ink)}
.b9a-jt-soal-ops{grid-template-columns:minmax(0,1fr);gap:8px}
/* adegan: tinggi tetap; semasa mengemas beg, "kamera" mendekati meja jeti (bahagian atas dipangkas) */
.b9a-jt-adegan{height:calc((100vw - 34px) * .641);max-height:352px;transition:height .45s ease}
.b9a-jt-adegan .b9a-jt-svg{height:100%}
.b9a-jeti[data-fasa="beg"] .b9a-jt-adegan{height:170px}
.b9a-jeti[data-fasa="naik"] .b9a-jt-adegan{height:calc((100vw - 34px) * .56)}
/* beg dokumen di atas meja jeti */
.b9a-jt-kerja{min-width:0}
.b9a-jt-meja{display:grid;gap:10px;min-width:0;padding:10px;border-radius:20px;background:linear-gradient(#C98B4F,#B37037);box-shadow:var(--bayang),inset 0 0 0 2px #8A5226}
.b9a-jt-meja-beg{display:grid;gap:8px;align-content:start;min-width:0}
.b9a-beg{position:relative;display:grid;grid-template-rows:auto auto;min-width:0;perspective:900px;transition:transform .5s ease,opacity .5s ease}
.b9a-beg.b9a-dekat .b9a-beg-badan{box-shadow:inset 0 0 0 4px var(--emas),inset 0 6px 10px rgba(0,0,0,.12)}
.b9a-beg-tudung{position:relative;z-index:2;display:grid;transform-origin:50% 100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.5,0,.3,1)}
.b9a-beg-muka{border-radius:16px 16px 5px 5px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.b9a-beg-muka.dalam{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px 16px;background:linear-gradient(#E9C99A,#E1BA84);box-shadow:inset 0 0 0 4px #8A5226}
.b9a-beg-poket{position:absolute;left:10px;right:10px;bottom:8px;height:12px;border-radius:0 0 8px 8px;border:2px dashed rgba(110,63,27,.35);border-top:0;pointer-events:none}
.b9a-beg-muka.luar{position:absolute;inset:0;transform:rotateX(180deg);background:linear-gradient(#A8663A,#8A5226);box-shadow:inset 0 0 0 3px #6E3F1B;display:grid;place-items:center}
.b9a-beg-pemegang{position:absolute;left:50%;top:-14px;width:78px;height:22px;margin-left:-39px;border:6px solid #6E3F1B;border-bottom:0;border-radius:16px 16px 0 0}
.b9a-beg-kancing{position:absolute;top:10px;width:22px;height:14px;border-radius:4px;background:#FFC933;box-shadow:inset 0 -3px 0 #E8971A}
.b9a-beg-kancing.kiri{left:18%}.b9a-beg-kancing.kanan{right:18%}
.b9a-beg.kancing .b9a-beg-kancing{animation:b9a-kancing .3s ease-out}
@keyframes b9a-kancing{0%{transform:translateY(-6px) scaleY(1.4)}60%{transform:translateY(1px) scaleY(.9)}100%{transform:none}}
.b9a-beg-tag-luar{max-width:80%;padding:4px 10px;border-radius:6px;background:#FFF4DD;color:#6E3F1B;font-size:.875rem;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 2px 0 rgba(0,0,0,.18)}
.b9a-beg-tag{position:relative;display:grid;gap:2px;flex:1 1 100%;min-width:0;padding:5px 10px 7px 18px;border-radius:4px 10px 10px 4px;background:#FFF8E6;box-shadow:0 2px 0 rgba(110,63,27,.3)}
.b9a-beg-tag-atas{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.b9a-beg-tag::before{content:"";position:absolute;left:6px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#C98B4F;box-shadow:0 0 0 1.5px #8A5226}
.b9a-beg-tag small{font-size:.875rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8A5226}
.b9a-beg-tag b{font-size:1rem;font-weight:900;line-height:1.2;color:var(--ink);overflow-wrap:break-word}
.b9a-beg-sasaran{padding:1px 9px;border-radius:10px;background:#FFF3C4;font-size:.875rem;font-weight:900;color:#8A4B00;white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--emas-d)}
.b9a-beg-badan{position:relative;display:grid;align-content:start;gap:6px;min-width:0;min-height:84px;padding:10px;border-radius:5px 5px 16px 16px;background:#F6E6C6;box-shadow:inset 0 0 0 4px #8A5226,inset 0 8px 10px rgba(110,63,27,.18)}
.b9a-beg-kosong{align-self:center;padding:6px;font-size:.875rem;font-weight:800;color:#9C7B4E;text-align:center}
.b9a-beg.ada .b9a-beg-kosong{display:none}
.b9a-beg-isi{display:grid;grid-auto-rows:max-content;gap:6px;min-width:0}
.b9a-beg-isi:empty{display:none}
.b9a-beg.tutup .b9a-beg-tudung{transform:rotateX(-180deg)}
.b9a-beg.tutup .b9a-beg-badan > *{visibility:hidden}
/* beg tertutup: badan diliputi kulit (lapisan pudar masuk selepas tudung jatuh) */
.b9a-beg-badan::after{content:"";position:absolute;inset:0;border-radius:5px 5px 16px 16px;background:linear-gradient(#A8663A,#8A5226);box-shadow:inset 0 0 0 3px #6E3F1B;opacity:0;transition:opacity .2s ease .42s;pointer-events:none}
.b9a-beg.tutup .b9a-beg-badan::after{opacity:1}
.b9a-beg.dibantu .b9a-beg-muka.luar{box-shadow:inset 0 0 0 3px #6E3F1B,0 0 0 3px #fff,0 0 0 6px #C9323F}
.b9a-beg.pergi{transform:translateX(-24px) scale(.94);opacity:0}
/* dokumen */
.b9a-jt-dok-senarai{display:grid;grid-auto-rows:max-content;gap:8px;align-content:start;min-width:0}
.b9a-jt-dok-senarai.b9a-dekat{outline:3px dashed var(--emas);outline-offset:3px;border-radius:12px}
.b9a-jt-petunjuk{display:flex;align-items:flex-start;gap:7px;padding:7px 10px;border-radius:10px;background:#FFF6C9;color:#6E4A10;font-size:.875rem;font-weight:800;line-height:1.35;box-shadow:0 2px 0 rgba(110,63,27,.3);transform:rotate(-.6deg)}
.b9a-jt-petunjuk .ikon{width:18px;height:18px;flex:none;margin-top:1px;color:#B8651A}
.b9a-dok{position:relative;display:flex;align-items:flex-start;gap:9px;width:100%;min-width:0;min-height:46px;padding:11px 11px;border-radius:10px;background:#FFFDF6;text-align:left;color:var(--ink);
  font-size:.9375rem;font-weight:800;line-height:1.3;box-shadow:0 3px 0 rgba(60,30,10,.3),inset 0 0 0 1.5px #EADFC4;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .15s ease,background-color .2s ease}
.b9a-dok:active{transform:translateY(2px)}
.b9a-dok-ikon{flex:none;width:17px;height:21px;margin-top:1px;border-radius:2px;background:linear-gradient(225deg,#DDE4F4 0 5px,#fff 5px);box-shadow:inset 0 0 0 1.5px #9AA7CF}
.b9a-dok-teks{min-width:0;overflow-wrap:break-word}
.b9a-dok.dalam{min-height:44px;padding:7px 9px;font-size:.875rem;background:#fff;box-shadow:0 2px 0 rgba(110,63,27,.25),inset 4px 0 0 var(--emas),inset 0 0 0 1px #EADFC4}
.b9a-dok.dalam .b9a-dok-ikon{width:13px;height:16px}
.b9a-dok.salah{background:var(--salah-bg);color:var(--salah-teks);box-shadow:0 3px 0 var(--merah-d),inset 0 0 0 3px #E0555D}
.b9a-dok.kelip{animation:b9a-kelip-dok .45s ease-in-out 3}
@keyframes b9a-kelip-dok{50%{background:#E5FAEF;box-shadow:0 3px 0 #1E9E63,inset 0 0 0 3px #1A9A5C}}
.b9a-dok.kilat{background:var(--betul-bg);color:var(--betul-teks);box-shadow:0 3px 0 #1E9E63,inset 0 0 0 3px var(--hijau)}
.b9a-dok.dibantu{box-shadow:0 2px 0 rgba(110,63,27,.25),inset 0 0 0 2px #E0555D;outline:2px dashed #C9323F;outline-offset:-4px}
.b9a-dok[disabled]{cursor:default}
.b9a-beg-aksi{display:flex;align-items:center;gap:10px;min-width:0}
.b9a-beg-kira{flex:none;padding:3px 10px;border-radius:10px;background:var(--ink);color:#fff;font-size:.875rem;font-weight:900;white-space:nowrap}
.b9a-beg-tutup-btn{min-width:150px;padding:8px 18px}
.b9a-beg-tutup-btn[disabled]{opacity:.6}
.b9a-beg-aksi.b9a-bar-bawah{position:fixed;left:0;right:0;bottom:0;z-index:20;max-width:560px;margin:0 auto;justify-content:space-between;padding:9px 16px max(9px,env(safe-area-inset-bottom));
  border-radius:18px 18px 0 0;background:rgba(255,244,221,.97);box-shadow:0 -6px 18px rgba(27,42,92,.18),inset 0 2px 0 #fff}
.b9a-jeti.ada-bar{padding-bottom:84px}
/* naik: pas naik, pengimbang, titi */
.b9a-jt-naik{display:grid;gap:10px;min-width:0}
.b9a-pas{--baju:#3A4A86;position:relative;display:grid;gap:4px;min-width:0;padding:9px 14px 11px;border-radius:16px;background:#fff;box-shadow:var(--bayang),inset 0 0 0 2px var(--emas);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.b9a-pas::after{content:"";position:absolute;right:62px;top:8px;bottom:8px;border-left:2px dashed #E3E9F7;pointer-events:none}
.b9a-pas.masuk{animation:lompat .38s ease-out both}
.b9a-pas.salah{background:var(--salah-bg);box-shadow:var(--bayang),inset 0 0 0 3px #E0555D}
.b9a-pas.b9a-diseret{opacity:.35}
.b9a-pas-kepala{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-pas-no{letter-spacing:0;color:var(--ink2);min-width:48px;text-align:center}
.b9a-pas-badan{display:flex;align-items:center;gap:10px;min-width:0;padding-right:58px}
.b9a-pas-orang{flex:none;position:relative;width:34px;height:42px;border-radius:10px;background:#EEF2FB}
.b9a-pas-orang::before{content:"";position:absolute;left:50%;top:5px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#D6A27A;box-shadow:inset 0 5px 0 #2F2722}
.b9a-pas-orang::after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:17px;border-radius:7px 7px 3px 3px;background:var(--baju)}
.b9a-pas-teks{display:grid;gap:2px;min-width:0}
.b9a-pas-nama{font-size:1.1875rem;font-weight:900;line-height:1.2;overflow-wrap:break-word}
.b9a-pas-ket{font-size:.9375rem;font-weight:700;line-height:1.3;color:var(--ink2)}
.b9a-pas-ket:empty{display:none}
.b9a-aras{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label status" "tiub tiub";align-items:center;gap:6px 10px;padding:9px 12px 11px;border-radius:16px;background:#fff;box-shadow:var(--lip)}
.b9a-aras-label{grid-area:label;font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.b9a-aras-status{grid-area:status;justify-self:end;font-size:.875rem;font-weight:900;white-space:nowrap}
.b9a-aras-tiub{grid-area:tiub;position:relative;display:block;height:24px;border-radius:12px;background:linear-gradient(#F1FCF5,#C8EFD8);box-shadow:inset 0 0 0 2px #1A9A5C}
.b9a-aras-tanda{position:absolute;left:50%;top:4px;bottom:4px;width:30px;margin-left:-15px;border-left:2px solid #1A9A5C;border-right:2px solid #1A9A5C}
.b9a-aras-gelembung{position:absolute;left:50%;top:5px;width:24px;height:14px;margin-left:-12px;border-radius:7px;background:#fff;box-shadow:inset 0 -2px 0 #BFE7D8,0 0 0 1px #8BD3AC}
.b9a-aras.seimbang .b9a-aras-status{color:var(--betul-teks)}
.b9a-aras.senget .b9a-aras-status{color:#B8651A}
.b9a-aras.senget .b9a-aras-tiub{box-shadow:inset 0 0 0 2px #E8971A}
.b9a-titi-baris{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.b9a-titi{--w:#FFE27A;--wd:#B0860B;display:flex;align-items:center;gap:8px;min-width:0;min-height:64px;padding:8px 10px;border-radius:16px;background:#fff;text-align:left;color:var(--ink);
  box-shadow:0 5px 0 var(--wd),inset 0 0 0 3px var(--w);transition:transform .1s ease,background-color .2s ease}
.b9a-titi:active{transform:translateY(3px)}
.b9a-titi-no{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--w);color:var(--ink);font-size:.9375rem;font-weight:900;box-shadow:inset 0 0 0 2px var(--wd)}
.b9a-titi-teks{display:grid;gap:1px;min-width:0;flex:1 1 auto}
.b9a-titi-teks small{font-size:.875rem;font-weight:800;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}
.b9a-titi-nama{font-size:.9375rem;font-weight:900;line-height:1.2;overflow-wrap:break-word}
.b9a-titi-kira{flex:none;padding:2px 8px;border-radius:10px;background:var(--w);font-size:.9375rem;box-shadow:inset 0 0 0 1.5px var(--wd)}
.b9a-titi.b9a-dekat{background:#FFF6D8}
.b9a-titi.salah{background:var(--salah-bg);box-shadow:0 5px 0 var(--merah-d),inset 0 0 0 3px #E0555D;animation:goncang .4s}
.b9a-titi.kilat{background:var(--betul-bg);box-shadow:0 5px 0 #1E9E63,inset 0 0 0 3px var(--hijau)}
.b9a-titi.betul{background:#F2FFF7}
.b9a-titi.denyut{animation:b9a-denyut .6s ease-out}

/* =====================================================================================
   9.2 PASPORT · PASPORT ROMBONGAN
   ===================================================================================== */
.b9a-pasport{display:grid;gap:10px;min-width:0}
.b9a-pp-kiri{display:grid;gap:10px;min-width:0;align-content:start}
.b9a-pp-papan{position:relative;min-width:0;border-radius:22px;overflow:hidden;background:#A9DDF3;border:3px solid #fff;box-shadow:var(--bayang)}
.b9a-pp-svg{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none;transition:opacity .3s ease}
.b9a-pp-laut{fill:#A9DDF3}
.b9a-pp-darat{stroke:#fff;stroke-width:2.6;stroke-linejoin:round}
.b9a-pp-darat.eropah{fill:#E4EDCB}
.b9a-pp-darat.britain{fill:#D6E8C2}
.b9a-pp-darat.pakistan{fill:#F3E4C1}
.b9a-pp-darat.semenanjung,.b9a-pp-darat.pulau{fill:#CFE8BE}
.b9a-pp-nota{font-family:var(--f);font-size:15px;font-weight:800;fill:#3E4C7A}
.b9a-pp-pin{cursor:pointer;outline:none}
.b9a-pp-hit{fill:transparent}
.b9a-pp-cincin{fill:#fff;stroke:#1B2A5C;stroke-width:2.6;transition:fill .2s ease,stroke .2s ease}
.b9a-pp-titik{fill:#1B2A5C}
.b9a-pp-tanda{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.b9a-pp-pin.lawat .b9a-pp-titik{fill:#E8971A}
.b9a-pp-pin.lawat .b9a-pp-tanda{opacity:1}
.b9a-pp-pin.kini .b9a-pp-cincin{fill:#FFF3C4;stroke:#E8971A;stroke-width:3.4}
.b9a-pp-pin.boleh .b9a-pp-cincin{animation:b9a-denyut-pin 1.8s ease-in-out infinite}
@keyframes b9a-denyut-pin{50%{stroke:#2BA9E8;stroke-width:4.4}}
.b9a-pp-pin.pilih .b9a-pp-cincin{fill:#FFE27A;stroke:#E8971A;stroke-width:4.4;animation:none}
.b9a-pp-pin.salah .b9a-pp-cincin{fill:#FFD4D6;stroke:#C9323F;stroke-width:4.4;animation:none}
.b9a-pp-pin.kilat .b9a-pp-cincin{fill:#D3F3E1;stroke:#1A9A5C;stroke-width:5;animation:none}
.b9a-pp-pin:focus-visible .b9a-pp-cincin{stroke:var(--fokus);stroke-width:4.4}
.b9a-pp-label{cursor:pointer}
.b9a-pp-label-hit{fill:transparent}
.b9a-pp-pil{fill:#fff;stroke:#C5D0EA;stroke-width:2;transition:fill .2s ease,stroke .2s ease}
.b9a-pp-label text{font-family:var(--f);font-weight:900;fill:var(--ink);pointer-events:none}
.b9a-pp-label.kini .b9a-pp-pil{fill:#FFF3C4;stroke:#E8971A;stroke-width:2.6}
.b9a-pp-label.boleh .b9a-pp-pil{stroke:#9CC0F5;stroke-width:2.6}
.b9a-pp-label.pilih .b9a-pp-pil{fill:#FFE27A;stroke:#E8971A;stroke-width:3.4}
.b9a-pp-label.salah .b9a-pp-pil{fill:#FFD4D6;stroke:#C9323F;stroke-width:3.6}
.b9a-pp-label.salah text{fill:#A3222E}
.b9a-pp-label.kilat .b9a-pp-pil{fill:#D3F3E1;stroke:#1A9A5C;stroke-width:3.6}
.b9a-pp-garis{stroke:#1B2A5C;stroke-width:1.6;opacity:.5;stroke-dasharray:3 3;fill:none}
.b9a-pp-pratonton{fill:none;stroke:#E8971A;stroke-width:3;stroke-dasharray:4 7;stroke-linecap:round;opacity:.95}
.b9a-pp-lalu{fill:none;stroke-linecap:round;stroke-linejoin:round}
.b9a-pp-lalu.kapal-terbang{stroke:#2563C4;stroke-width:3.6;stroke-dasharray:11 8}
.b9a-pp-lalu.kapal-laut{stroke:#1B2A5C;stroke-width:4.4;stroke-dasharray:.1 10}
.b9a-pp-lalu.tiada{stroke:#6C7A99;stroke-width:3.2;stroke-dasharray:13 9}
.b9a-pp-lalu.dibantu{stroke:#C9323F}
.b9a-pp-rombongan{pointer-events:none;filter:drop-shadow(0 2px 0 rgba(27,42,92,.25))}
.b9a-pp-kend{pointer-events:none;filter:drop-shadow(0 3px 2px rgba(27,42,92,.3))}
.b9a-pp-jejak-ikon{pointer-events:none}
.b9a-pp-lokasi{position:absolute;right:10px;top:10px;z-index:2;display:grid;gap:0;max-width:52%;padding:6px 12px 8px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 3px 0 rgba(27,42,92,.16);text-align:right;pointer-events:none}
.b9a-pp-lokasi small{font-size:.875rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-pp-lokasi b{font-size:1rem;font-weight:900;line-height:1.2;color:var(--ink)}
.b9a-pp-lokasi span{font-size:.875rem;font-weight:800;line-height:1.25;color:var(--ink2)}
.b9a-pasport.mod-soal .b9a-pp-svg{opacity:.45}
.b9a-pp-soal{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:grid;gap:8px;max-height:calc(100% - 20px);overflow-y:auto;padding:12px;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:var(--bayang)}
.b9a-pp-soal[hidden]{display:none}
.b9a-pp-soal.masuk{animation:b9a-masuk-atas .4s ease-out both}
.b9a-pp-soal-label{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-pp-soal-label .ikon{width:18px;height:18px}
.b9a-pp-soal-teks{font-size:1.0625rem;font-weight:900;line-height:1.3}
.b9a-pp-soal-ops{grid-template-columns:minmax(0,1fr);gap:8px}
/* panel pilihan di bawah papan */
.b9a-pp-pilih{display:grid;gap:8px;min-width:0;padding:10px 12px 12px;border-radius:18px;background:#fff;box-shadow:var(--lip)}
.b9a-pp-pilih[hidden]{display:none}
.b9a-pp-pilih.masuk{animation:b9a-masuk-atas .38s ease-out both}
.b9a-pp-pilih-tajuk{display:flex;align-items:flex-start;gap:8px;font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-pp-pilih-tajuk .ikon{width:20px;height:20px;flex:none}
.b9a-pp-pilih.b9a-pilih-petunjuk{background:#E7F7F4;box-shadow:inset 0 0 0 2px #BFE7D8;padding:9px 12px}
.b9a-pp-pilih.b9a-pilih-petunjuk .b9a-pp-pilih-tajuk{text-transform:none;letter-spacing:0;font-size:.9375rem;font-weight:800;line-height:1.35}
.b9a-pp-pilih.b9a-pilih-petunjuk .b9a-pp-pilih-isi{display:none}
.b9a-pp-pilih-isi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.b9a-pp-pilih.b9a-pilih-tarikh .b9a-pp-pilih-isi{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.b9a-pp-token{display:flex;align-items:center;gap:10px;min-width:0;min-height:66px;padding:8px 12px;border-radius:18px;background:#F3F6FD;color:var(--ink);text-align:left;font-size:1rem;font-weight:900;line-height:1.2;
  box-shadow:0 5px 0 rgba(27,42,92,.2),inset 0 0 0 2px var(--garis);transition:transform .1s ease}
.b9a-pp-token:active{transform:translateY(3px)}
.b9a-pp-token-ikon{flex:none;display:grid;place-items:center;width:62px;height:48px;border-radius:14px;background:#D6EEFB}
.b9a-pp-token-ikon svg{width:56px;height:44px}
.b9a-pp-token.betul{background:var(--betul-bg);color:var(--betul-teks);box-shadow:0 5px 0 #1E9E63,inset 0 0 0 3px var(--hijau)}
.b9a-pp-token.salah{background:var(--salah-bg);color:var(--salah-teks);box-shadow:0 5px 0 var(--merah-d),inset 0 0 0 3px #E0555D}
.b9a-pp-token.kilat{background:var(--betul-bg);box-shadow:0 5px 0 #1E9E63,inset 0 0 0 3px var(--hijau)}
.b9a-pp-token.pudar,.b9a-pp-tarikh.pudar{opacity:.5}
.b9a-pp-tarikh{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:54px;padding:6px 8px;border-radius:14px;background:#FFF8E6;color:var(--ink);font-size:.9375rem;font-weight:900;line-height:1.2;text-align:center;
  box-shadow:0 4px 0 rgba(27,42,92,.18),inset 0 0 0 2px #EADFC4}
.b9a-pp-tarikh-no{display:none}
.b9a-pp-tarikh.betul{background:var(--betul-bg);color:var(--betul-teks);box-shadow:0 4px 0 #1E9E63,inset 0 0 0 3px var(--hijau)}
.b9a-pp-tarikh.salah{background:var(--salah-bg);color:var(--salah-teks);box-shadow:0 4px 0 var(--merah-d),inset 0 0 0 3px #E0555D}
.b9a-pp-tarikh.kilat{background:var(--betul-bg);box-shadow:0 4px 0 #1E9E63,inset 0 0 0 3px var(--hijau)}
/* pasport */
.b9a-pp-buku{position:relative;display:grid;gap:8px;align-content:start;min-width:0}
.b9a-pp-kulit{display:grid;place-items:center;min-height:170px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#24407A,#1B2A5C 70%);box-shadow:var(--bayang),inset 0 0 0 2px rgba(255,255,255,.08);transition:min-height .4s ease,padding .4s ease}
.b9a-pp-kulit-bingkai{display:grid;place-items:center;padding:16px 22px;border:2px solid #E8C36A;border-radius:8px}
.b9a-pp-kulit b{color:#F2D07A;font-size:1.25rem;font-weight:900;letter-spacing:.3em;padding-left:.3em}
.b9a-pp-buku.buka .b9a-pp-kulit{min-height:0;padding:6px;animation:b9a-kulit-buka .45s ease-out}
.b9a-pp-buku.buka .b9a-pp-kulit-bingkai{padding:4px 16px}
.b9a-pp-buku.buka .b9a-pp-kulit b{font-size:.9375rem}
@keyframes b9a-kulit-buka{from{transform:perspective(700px) rotateX(24deg)}to{transform:none}}
.b9a-pp-hal-senarai{display:grid;gap:8px;min-width:0}
.b9a-pp-hal-senarai:empty{display:none}
.b9a-pp-hal{position:relative;display:grid;gap:1px;min-width:0;padding:8px 12px 8px;border-radius:10px;
  background:repeating-linear-gradient(135deg,rgba(123,87,224,.05) 0 6px,transparent 6px 12px),#FFFBF0;box-shadow:0 3px 0 rgba(27,42,92,.14),inset 0 0 0 1.5px #EADFC4;transform-origin:0 50%}
.b9a-pp-hal.selak{animation:b9a-selak .42s ease-out both}
@keyframes b9a-selak{from{transform:perspective(700px) rotateY(-84deg);opacity:.2}to{transform:none;opacity:1}}
.b9a-pp-hal.dibantu{box-shadow:0 3px 0 rgba(27,42,92,.14),inset 0 0 0 2px #E0555D}
.b9a-pp-hal-no{font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.b9a-pp-hal-laluan{font-size:.9375rem;font-weight:900;line-height:1.25;color:var(--ink)}
.b9a-pp-hal-kend{font-size:.875rem;font-weight:700;line-height:1.3;color:var(--ink2)}
.b9a-pp-cop-zon{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:56px;padding:4px 2px 2px}
.b9a-pp-cop{display:grid;gap:1px;max-width:100%;padding:5px 12px 6px;border:3px double #5537A8;border-radius:10px;background:rgba(255,255,255,.55);color:#5537A8;text-align:center;
  transform:rotate(-6deg);opacity:.93;animation:b9a-cop .32s ease-out both}
.b9a-pp-cop b{font-size:.9375rem;font-weight:900;line-height:1.15;overflow-wrap:break-word}
.b9a-pp-cop span{font-size:.875rem;font-weight:800;line-height:1.2}
.b9a-pp-cop.w1{border-color:#0C776B;color:#0C776B}
.b9a-pp-cop.w2{border-color:#C9323F;color:#C9323F}
.b9a-pp-cop.w3{border-color:#2563C4;color:#2563C4}
.b9a-pp-cop.dibantu{border-style:dashed;border-color:#C9323F;color:#C9323F}
.b9a-pp-setem{position:absolute;right:28%;top:-20px;z-index:3;display:grid;justify-items:center;pointer-events:none;transform-origin:50% 100%}
.b9a-pp-setem-pemegang{display:block;width:20px;height:24px;border-radius:50% 50% 6px 6px;background:linear-gradient(90deg,#6E3F1B,#8A5226 50%,#6E3F1B);box-shadow:inset 0 -3px 0 #4A2A0E}
.b9a-pp-setem-kepala{display:block;width:70px;height:16px;border-radius:5px 5px 3px 3px;background:#5537A8;box-shadow:inset 0 -4px 0 rgba(0,0,0,.28),0 8px 12px rgba(27,42,92,.25)}

/* =====================================================================================
   9.3 JILID · JILID LAPORAN LONDON
   ===================================================================================== */
.b9a-jilid{display:grid;gap:10px;min-width:0}
.b9a-jl-bilik{position:relative;min-width:0;border-radius:22px;overflow:hidden;border:3px solid #fff;background:#8A4F2A;box-shadow:var(--bayang)}
.b9a-jl-latar{position:relative;height:92px;overflow:hidden;pointer-events:none}
.b9a-jl-latar-svg{position:absolute;left:0;top:0;width:100%;height:100%}
.b9a-jl-plat{font-family:var(--f);font-weight:900;fill:#5A3A10}
.b9a-jl-meja{position:relative;z-index:1;display:grid;gap:12px;min-width:0;padding:10px}
.b9a-jl-fail{position:relative;display:grid;min-width:0;perspective:1400px}
.b9a-jl-tabbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px;position:relative;z-index:2}
.b9a-jl-tab{--w:#FFE27A;--wd:#B0860B;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;row-gap:3px;min-width:0;min-height:48px;padding:6px 10px 8px;border-radius:14px 14px 0 0;background:var(--w);color:var(--ink);text-align:left;
  font-size:.9375rem;font-weight:900;line-height:1.15;box-shadow:inset 0 3px 0 rgba(255,255,255,.5),inset 0 -3px 0 rgba(27,42,92,.12);transition:transform .15s ease,box-shadow .2s ease}
.b9a-jl-tab-no{grid-row:1/span 2;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--wd);font-size:.875rem}
.b9a-jl-tab-nama{min-width:0;line-height:1.15;overflow-wrap:break-word}
.b9a-jl-tab-kira{grid-column:2;justify-self:start;padding:0 7px;border-radius:9px;background:rgba(255,255,255,.75);font-size:.875rem}
.b9a-jilid.ada-pilih .b9a-jl-tab{box-shadow:inset 0 -3px 0 rgba(27,42,92,.12),0 0 0 3px #fff,0 0 0 6px var(--emas);animation:b9a-seru 1.4s ease-in-out 2}
.b9a-jl-tab.b9a-dekat{transform:translateY(-4px)}
.b9a-jl-tab.salah{background:var(--salah-bg);color:var(--salah-teks);box-shadow:inset 0 0 0 3px #E0555D!important;animation:goncang .4s}
.b9a-jl-tab.kilat{background:var(--betul-bg);color:var(--betul-teks);box-shadow:inset 0 0 0 3px var(--hijau)!important}
.b9a-jl-halaman{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:8px;border-radius:12px;background:linear-gradient(#2C3E73,#22325E);box-shadow:0 10px 18px rgba(40,20,5,.35);transform-style:preserve-3d}
.b9a-jl-sisi{--w:#FFE27A;--wd:#B0860B;position:relative;display:grid;align-content:start;gap:6px;min-width:0;padding:10px 10px 12px;border-radius:6px;
  background:repeating-linear-gradient(#FFFDF6 0 25px,#E9EEF8 25px 26px),#FFFDF6;box-shadow:inset 0 4px 0 var(--w);cursor:pointer;transition:transform .6s cubic-bezier(.5,0,.3,1),opacity .6s ease,box-shadow .2s ease}
.b9a-jl-sisi.b9a-dekat{box-shadow:inset 0 4px 0 var(--w),inset 0 0 0 3px var(--emas)}
.b9a-jl-sisi-kepala{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--wd)}
.b9a-jl-sisi-cip{flex:none;width:12px;height:12px;border-radius:3px;background:var(--w);box-shadow:inset 0 0 0 1.5px var(--wd)}
.b9a-jl-kosong{padding:10px;border-radius:8px;border:2px dashed #D9DFEC;font-size:.875rem;font-weight:800;color:#8F9AB8;text-align:center}
.b9a-jl-senarai{display:grid;gap:6px;min-width:0}
.b9a-jl-senarai:empty{display:none}
.b9a-jl-helai{position:relative;display:block;min-width:0;padding:7px 9px 7px 24px;border-radius:5px;background:#fff;font-size:.875rem;font-weight:800;line-height:1.3;color:var(--ink);cursor:pointer;
  box-shadow:0 2px 0 rgba(27,42,92,.12),inset 0 0 0 1px #EADFC4}
.b9a-jl-helai .b9a-jl-lubang{position:absolute;left:7px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:#C8CFDE;box-shadow:inset 0 1px 1px rgba(0,0,0,.28)}
.b9a-jl-helai.baru{animation:b9a-mendatar .5s ease-out both}
@keyframes b9a-mendatar{0%{transform:translateY(-6px) rotate(-1.5deg);box-shadow:0 8px 12px rgba(27,42,92,.25)}100%{transform:none}}
.b9a-jl-helai.dibantu{box-shadow:inset 0 0 0 2px #E0555D;outline:2px dashed #C9323F;outline-offset:-5px}
.b9a-jl-helai-teks{display:block;overflow-wrap:break-word}
.b9a-jl-cincin{display:flex;align-items:center;justify-content:space-around;padding:2px 30px;height:26px}
.b9a-jl-cincin svg{width:24px;height:28px;transform:rotate(90deg)}
.b9a-jl-cincin-a,.b9a-jl-cincin-b{fill:none;stroke:#CBD2E0;stroke-width:3.4;stroke-linecap:round;transform-box:view-box;transform-origin:12px 4px;transition:transform .2s ease}
.b9a-jl-fail.buka-cincin .b9a-jl-cincin-a{transform:rotate(26deg)}
.b9a-jl-fail.buka-cincin .b9a-jl-cincin-b{transform:rotate(-26deg)}
.b9a-jl-fail.tutup .b9a-jl-sisi[data-k="1"]{opacity:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.b9a-jl-fail.tutup .b9a-jl-cincin{opacity:0;transition:opacity .3s ease}
/* dulang halaman lepas */
.b9a-jl-dulang{display:grid;gap:8px;align-content:start;min-width:0;padding:10px;border-radius:18px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}
.b9a-jl-dulang-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.875rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#FFF4DD}
.b9a-jl-dulang-kira{flex:none;padding:1px 9px;border-radius:9px;background:rgba(27,42,92,.75);color:#fff;letter-spacing:0;text-transform:none}
.b9a-jl-dulang-isi{display:grid;gap:10px;min-width:0}
.b9a-jl-dulang.habis .b9a-jl-dulang-isi{display:none}
.b9a-jl-slot{display:grid;min-width:0;transform:rotate(var(--putar,0deg))}
.b9a-jl-slot.kosong{display:none}
.b9a-jl-hal{position:relative;display:grid;gap:3px;align-content:start;width:100%;min-width:0;min-height:88px;padding:9px 12px 12px 28px;border-radius:5px;text-align:left;color:var(--ink);
  background:repeating-linear-gradient(#FFFDF6 0 22px,#EEF1F8 22px 23px),#FFFDF6;box-shadow:0 5px 12px rgba(40,20,5,.35),inset 0 0 0 1px #EADFC4;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .2s ease,box-shadow .2s ease}
.b9a-jl-hal .b9a-jl-lubang{position:absolute;left:9px;top:22px;width:9px;height:9px;border-radius:50%;background:#8A4F2A;box-shadow:0 34px 0 #8A4F2A,inset 0 1px 1px rgba(0,0,0,.3)}
.b9a-jl-hal-kepala{font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-jl-hal-teks{font-size:.9375rem;font-weight:800;line-height:1.3;overflow-wrap:break-word}
.b9a-jl-hal.pilih{transform:translateY(-6px) rotate(2deg);box-shadow:0 14px 20px rgba(40,20,5,.4),0 0 0 3px var(--emas)}
.b9a-jl-hal.salah{background:var(--salah-bg);box-shadow:0 5px 12px rgba(40,20,5,.3),inset 5px 0 0 #C9323F,0 0 0 3px #E0555D}
.b9a-jl-hal.salah .b9a-jl-hal-teks{color:var(--salah-teks)}
.b9a-jl-hal.renyuk{animation:b9a-renyuk .55s ease-in-out}
@keyframes b9a-renyuk{0%,100%{transform:none}20%{transform:rotate(-3deg) scale(.97,.99) skewX(2deg)}40%{transform:rotate(2.5deg) scale(.98,.97) skewX(-2deg)}60%{transform:rotate(-1.5deg) skewX(1deg)}80%{transform:rotate(1deg)}}
.b9a-jl-hal.masuk{animation:lompat .38s ease-out both}
.b9a-jl-hal.b9a-diseret{opacity:.35}
.b9a-jl-jilid-btn{width:100%;min-height:58px;font-size:1.1875rem}
.b9a-jl-jilid-btn.masuk{animation:lompat .4s ease-out both}
/* laporan berkulit dan Pengesahan */
.b9a-jl-kulit{position:relative;z-index:2;display:grid;grid-template-columns:24px minmax(0,1fr);width:min(calc(100% - 24px),380px);min-height:232px;margin:14px auto;border-radius:8px 14px 14px 8px;
  background:linear-gradient(135deg,#2A4787,#1B2A5C 75%);box-shadow:0 16px 26px rgba(20,10,0,.45)}
.b9a-jl-kulit[hidden]{display:none}
.b9a-jl-kulit.muncul{animation:b9a-kulit .55s ease-out both}
@keyframes b9a-kulit{0%{transform:scale(.7) rotate(-4deg);opacity:0}70%{transform:scale(1.03) rotate(1deg);opacity:1}100%{transform:none}}
.b9a-jl-kulit-tulang{border-radius:8px 0 0 8px;background:linear-gradient(90deg,#141F44,#22386E);box-shadow:inset -2px 0 0 rgba(255,255,255,.14)}
.b9a-jl-kulit-bingkai{display:grid;align-content:center;justify-items:center;gap:8px;margin:14px;padding:16px 14px;border:2px solid #E8C36A;border-radius:8px;text-align:center;color:#F7E3A8}
.b9a-jl-kulit-bingkai small{font-size:.875rem;font-weight:900;letter-spacing:.24em;text-transform:uppercase;color:#E8C36A}
.b9a-jl-kulit-bingkai b{font-size:1.375rem;font-weight:900;line-height:1.2;color:#FFF3C4}
.b9a-jl-kulit-bingkai span{font-size:.9375rem;font-weight:800;line-height:1.4}
.b9a-jl-kulit-bingkai em{font-size:.875rem;font-style:normal;font-weight:800;opacity:.75}
.b9a-jl-soal{position:relative;z-index:3;display:grid;gap:8px;margin:0 10px 12px;padding:12px 12px 14px;border-radius:18px;background:#fff;box-shadow:var(--bayang)}
.b9a-jl-soal[hidden]{display:none}
.b9a-jl-soal.masuk{animation:b9a-masuk-atas .4s ease-out both}
.b9a-jl-soal-label{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-teks)}
.b9a-jl-soal-label .ikon{width:18px;height:18px}
.b9a-jl-soal-teks{font-size:1.0625rem;font-weight:900;line-height:1.3}
.b9a-jl-soal-ops{grid-template-columns:minmax(0,1fr);gap:8px}

/* =====================================================================================
   MOD LEBAR (pentas 1280 x 720; .main-badan: left 300, width 720, top 90, bottom 10)
   ===================================================================================== */
body.mod-lebar .b2-main.b2-j-jeti .main-badan,body.mod-lebar .b2-main.b2-j-pasport .main-badan,body.mod-lebar .b2-main.b2-j-jilid .main-badan{left:300px;width:720px;top:90px;bottom:10px;display:flex;flex-direction:column;align-content:stretch;overflow-y:auto;overflow-x:hidden}
body.mod-lebar .b2-p-jeti,body.mod-lebar .b2-p-pasport,body.mod-lebar .b2-p-jilid{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px}
body.mod-lebar .b9a-jeti,body.mod-lebar .b9a-pasport,body.mod-lebar .b9a-jilid{flex:1 1 auto;min-height:0}
body.mod-lebar .b2-j-jeti .b2-kad-isi,body.mod-lebar .b2-j-pasport .b2-kad-isi,body.mod-lebar .b2-j-jilid .b2-kad-isi{font-size:1.125rem}
body.mod-lebar .b2-j-jeti .b2-kad,body.mod-lebar .b2-j-pasport .b2-kad,body.mod-lebar .b2-j-jilid .b2-kad{padding:8px 20px 9px}
body.mod-lebar .b2-j-jeti .bisik,body.mod-lebar .b2-j-pasport .bisik,body.mod-lebar .b2-j-jilid .bisik{min-height:46px;padding:7px 14px;font-size:.9375rem;line-height:1.32}
body.mod-lebar .b2-p-jeti > .b2-rumus,body.mod-lebar .b2-p-pasport > .b2-rumus,body.mod-lebar .b2-p-jilid > .b2-rumus{flex:0 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px}
body.mod-lebar .b2-p-jeti > .b2-rumus > *,body.mod-lebar .b2-p-pasport > .b2-rumus > *,body.mod-lebar .b2-p-jilid > .b2-rumus > *{flex:none}
body.mod-lebar .b2-p-jeti > .b2-rumus > .b2-rumus-tokoh,body.mod-lebar .b2-p-pasport > .b2-rumus > .b2-rumus-tokoh,body.mod-lebar .b2-p-jilid > .b2-rumus > .b2-rumus-tokoh{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px}
/* jeti: grid; semasa mengemas beg, lajur kiri = kad, bisik dan beg; lajur kanan = dokumen di atas meja */
body.mod-lebar .b9a-jeti{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);
  grid-template-areas:"adegan adegan" "kad kad" "bisik bisik" "kerja kerja";gap:8px 12px;align-content:start}
body.mod-lebar .b9a-jt-pentas{grid-area:adegan}
body.mod-lebar .b9a-jeti > .b9a-kad{grid-area:kad}
body.mod-lebar .b9a-jeti > .bisik{grid-area:bisik}
body.mod-lebar .b9a-jt-kerja{grid-area:kerja;min-height:0}
body.mod-lebar .b9a-jeti[data-fasa="beg"]{grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-areas:"adegan adegan" "kad dok" "bisik dok" "beg dok" "aksi dok"}
body.mod-lebar .b9a-jeti[data-fasa="beg"] .b2-kad-isi{font-size:1rem;line-height:1.28}
body.mod-lebar .b9a-jeti[data-fasa="beg"] > .bisik{font-size:.875rem;line-height:1.3;min-height:0}
body.mod-lebar .b9a-jeti[data-fasa="beg"] .b9a-jt-kerja,body.mod-lebar .b9a-jeti[data-fasa="beg"] .b9a-jt-meja{display:contents}
body.mod-lebar .b9a-jeti[data-fasa="beg"] .b9a-jt-meja-beg{grid-area:beg;min-height:0;display:flex;flex-direction:column}
body.mod-lebar .b9a-jeti[data-fasa="beg"] .b9a-beg{flex:0 1 auto;min-height:0;grid-template-rows:auto minmax(0,1fr)}
body.mod-lebar .b9a-jeti > .b9a-beg-aksi{grid-area:aksi}
body.mod-lebar .b9a-jeti[data-fasa="beg"] .b9a-jt-dok-senarai{grid-area:dok;min-height:0;align-self:stretch;padding:10px;border-radius:20px;background:linear-gradient(#C98B4F,#B37037);box-shadow:var(--bayang),inset 0 0 0 2px #8A5226;overflow-y:auto;overscroll-behavior:contain}
body.mod-lebar .b9a-jt-cip{display:none}
body.mod-lebar .b9a-jt-adegan{height:283px;max-height:none}
body.mod-lebar .b9a-jeti[data-fasa="beg"] .b9a-jt-adegan{height:126px}
body.mod-lebar .b9a-jeti[data-fasa="naik"] .b9a-jt-adegan{height:262px}
body.mod-lebar .b9a-jt-soal{position:absolute;left:50%;top:14px;width:640px;max-height:calc(100% - 28px);overflow-y:auto;transform:translateX(-50%)}
body.mod-lebar .b9a-jt-soal.masuk{animation:b9a-muncul .35s ease-out both}
body.mod-lebar .b9a-jt-soal-ops{grid-template-columns:1fr 1fr}
body.mod-lebar .b9a-jt-soal .op{min-height:54px}
body.mod-lebar .b9a-jt-kapsyen b{font-size:1.25rem}
body.mod-lebar .b9a-jt-kapsyen span{font-size:1rem}
body.mod-lebar .b9a-beg-badan{min-height:0;max-height:184px;overflow-y:auto;overscroll-behavior:contain}
body.mod-lebar .b9a-beg-aksi{justify-content:space-between;padding:2px 0 0}
body.mod-lebar .b9a-beg-tutup-btn{min-height:48px;min-width:0;flex:0 1 170px}
body.mod-lebar .b9a-jt-naik{grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"pas aras" "titi titi";align-content:start}
body.mod-lebar .b9a-pas{grid-area:pas}
body.mod-lebar .b9a-aras{grid-area:aras;align-self:stretch;align-content:center;grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "status" "tiub";row-gap:4px}
body.mod-lebar .b9a-aras-status{justify-self:start}
body.mod-lebar .b9a-titi-baris{grid-area:titi}
body.mod-lebar .b9a-titi{min-height:62px}
body.mod-lebar .b9a-titi-nama{font-size:1rem}
/* pasport */
body.mod-lebar .b9a-pasport{grid-template-columns:470px 230px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"kad kad" "kiri kanan";column-gap:20px;row-gap:10px;align-items:start}
body.mod-lebar .b9a-pasport > .b9a-kad{grid-area:kad}
body.mod-lebar .b9a-pp-kiri{grid-area:kiri;min-height:0;gap:8px}
body.mod-lebar .b9a-pp-kanan{grid-area:kanan;align-self:stretch;min-height:0;display:flex;flex-direction:column;gap:8px}
body.mod-lebar .b9a-pp-buku{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 6px}
body.mod-lebar .b9a-pp-kanan > .b9a-pp-pilih{flex:none}
body.mod-lebar .b9a-pp-pilih-isi,body.mod-lebar .b9a-pp-pilih.b9a-pilih-tarikh .b9a-pp-pilih-isi{grid-template-columns:minmax(0,1fr)}
body.mod-lebar .b9a-pp-kulit{min-height:300px}
body.mod-lebar .b9a-pp-soal{left:50%;right:auto;bottom:auto;top:50%;width:min(92%,430px);transform:translate(-50%,-50%)}
body.mod-lebar .b9a-pp-soal.masuk{animation:b9a-muncul .35s ease-out both}
body.mod-lebar .b9a-pp-soal .op{min-height:52px}
body.mod-lebar .b9a-pp-pilih{padding:8px 10px 10px}
body.mod-lebar .b9a-pp-token{min-height:58px}
body.mod-lebar .b9a-pp-tarikh{min-height:50px}
/* jilid */
body.mod-lebar .b9a-jilid{display:flex;flex-direction:column;gap:10px}
body.mod-lebar .b9a-jilid > *{flex:none}
body.mod-lebar .b9a-jilid > .b9a-jl-bilik{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
body.mod-lebar .b9a-jl-latar{position:absolute;inset:0;height:auto}
body.mod-lebar .b9a-jl-meja{flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,1fr) 236px;grid-template-rows:minmax(0,1fr);padding:106px 14px 12px;gap:14px}
body.mod-lebar .b9a-jl-fail{min-height:0;display:flex;flex-direction:column}
body.mod-lebar .b9a-jl-tabbar{flex:none}
body.mod-lebar .b9a-jl-halaman{flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
body.mod-lebar .b9a-jl-sisi{min-height:0;overflow-y:auto;overscroll-behavior:contain}
body.mod-lebar .b9a-jl-sisi[data-k="1"]{transform-origin:-15px 50%}
body.mod-lebar .b9a-jl-fail.tutup .b9a-jl-sisi[data-k="1"]{transform:rotateY(-178deg);opacity:0}
body.mod-lebar .b9a-jl-cincin{flex-direction:column;justify-content:space-around;height:auto;padding:22px 0}
body.mod-lebar .b9a-jl-cincin svg{transform:none}
body.mod-lebar .b9a-jl-dulang{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 10px 12px}
body.mod-lebar .b9a-jl-hal{min-height:96px;padding:8px 10px 10px 26px}
body.mod-lebar .b9a-jl-hal-teks{font-size:.9375rem;line-height:1.26}
body.mod-lebar .b9a-jl-kulit{position:absolute;left:180px;top:104px;width:360px;margin:0;min-height:250px;transition:left .45s ease,top .45s ease,width .45s ease}
/* Pengesahan: laporan bergerak ke kiri, kad soalan di kanan supaya kulit laporan kekal kelihatan */
body.mod-lebar .b9a-jilid.mod-soal .b9a-jl-kulit{left:22px;top:118px;width:280px}
body.mod-lebar .b9a-jl-soal{position:absolute;right:14px;bottom:14px;width:384px;max-height:calc(100% - 28px);overflow-y:auto;margin:0}
body.mod-lebar .b9a-jl-soal.masuk{animation:b9a-muncul .35s ease-out both}
body.mod-lebar .b9a-jl-soal .op{min-height:52px}

/* =====================================================================================
   TELEFON (390 x 844) dan TELEFON PENDEK (375 x 667)
   ===================================================================================== */
body.mod-telefon .b2-j-jeti .bisik,body.mod-telefon .b2-j-pasport .bisik,body.mod-telefon .b2-j-jilid .bisik{min-height:2.9em;padding:8px 12px}
/* jeti */
body.mod-telefon .b9a-jt-soal{margin:-40px 8px 0}
body.mod-telefon .b9a-jt-titi-papan{stroke-width:6}
body.mod-telefon .b9a-jt-titi-papan2{stroke-width:3;stroke-dasharray:5 2}
body.mod-telefon .b9a-jt-titi-pagar{stroke-width:1.6}
body.mod-telefon .b9a-jt-titi-hit{stroke-width:30}
body.mod-telefon .b9a-jt-tali{stroke-width:1.6}
body.mod-telefon .b9a-jt-kapsyen{padding:9px 14px}
body.mod-telefon .b9a-jt-kapsyen b{font-size:.9375rem}
body.mod-telefon .b9a-jt-kapsyen span{font-size:.875rem}
body.mod-telefon .b9a-beg-aksi .b9a-beg-kira{background:var(--ink)}
body.mod-telefon .b9a-aras{grid-template-columns:auto minmax(56px,1fr) auto;grid-template-areas:"label tiub status";padding:8px 12px}
body.mod-telefon .b9a-beg-tutup-btn{flex:0 1 190px;min-width:0}
body.mod-telefon .b9a-titi{flex-wrap:wrap;row-gap:4px;align-content:center}
body.mod-telefon .b9a-titi-teks{flex-basis:calc(100% - 40px)}
body.mod-telefon .b9a-titi-kira{margin-left:38px}
/* pasport */
body.mod-telefon .b9a-pp-kiri,body.mod-telefon .b9a-pp-kanan{display:contents}
body.mod-telefon .b9a-pp-papan{order:1}
body.mod-telefon .b9a-pp-pilih{order:2}
body.mod-telefon .b9a-pasport > .bisik,body.mod-telefon .b9a-pp-kiri > .bisik{order:3}
body.mod-telefon .b9a-pp-buku{order:4}
body.mod-telefon .b9a-pp-buku{grid-auto-flow:column;grid-auto-columns:max-content;grid-template-rows:auto;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 8px;scroll-snap-type:x proximity}
body.mod-telefon .b9a-pp-kulit{min-height:120px;width:calc(100vw - 32px);max-width:528px}
body.mod-telefon .b9a-pp-buku.buka .b9a-pp-kulit{width:52px;min-height:0;padding:6px}
body.mod-telefon .b9a-pp-buku.buka .b9a-pp-kulit-bingkai{padding:10px 2px;height:100%}
body.mod-telefon .b9a-pp-buku.buka .b9a-pp-kulit b{writing-mode:vertical-rl;letter-spacing:.2em;font-size:.875rem;padding:0}
body.mod-telefon .b9a-pp-hal-senarai{grid-auto-flow:column;grid-auto-columns:minmax(196px,58vw);gap:8px}
body.mod-telefon .b9a-pp-hal{scroll-snap-align:start}
body.mod-telefon .b9a-pp-lokasi{max-width:62%;padding:5px 10px 6px}
body.mod-telefon .b9a-pp-lokasi b{font-size:.9375rem}
body.mod-telefon .b9a-pp-token{gap:8px;padding:8px 10px}
body.mod-telefon .b9a-pp-token-ikon{width:52px;height:42px}
body.mod-telefon .b9a-pp-token-ikon svg{width:48px;height:38px}
body.mod-telefon .b9a-pp-tarikh{font-size:.875rem}
/* jilid: dua panel bertindan, dulang tetap di bawah */
body.mod-telefon .b9a-jilid{padding-bottom:calc(var(--b9a-dulang-h,150px) + 16px)}
body.mod-telefon .b9a-jilid.dijilid,body.mod-telefon .b9a-jilid[data-fasa="soal"],body.mod-telefon .b9a-jilid[data-fasa="tamat"]{padding-bottom:0}
body.mod-telefon .b9a-jl-tabbar{padding:0 8px}
body.mod-telefon .b9a-jl-tab{min-height:52px;border-radius:14px 14px 0 0;padding:7px 8px 8px}
body.mod-telefon .b9a-jl-tab-nama{font-size:.9375rem}
body.mod-telefon .b9a-jl-sisi[data-k="1"]{transform-origin:50% -13px}
body.mod-telefon .b9a-jl-fail.tutup .b9a-jl-sisi[data-k="1"]{transform:rotateX(178deg);opacity:0}
body.mod-telefon .b9a-jl-dulang{position:fixed;left:0;right:0;bottom:0;z-index:20;max-width:560px;margin:0 auto;gap:6px;padding:8px 10px max(10px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0;
  background:rgba(222,227,238,.97);box-shadow:0 -6px 18px rgba(27,42,92,.2),inset 0 2px 0 #fff}
body.mod-telefon .b9a-jl-dulang-label{color:var(--ink)}
body.mod-telefon .b9a-jl-dulang-isi{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:4px 2px 8px;scrollbar-width:thin}
body.mod-telefon .b9a-jl-slot{flex:0 0 min(64vw,236px);scroll-snap-align:start}
body.mod-telefon .b9a-jl-hal{touch-action:pan-x;min-height:0;box-shadow:0 4px 8px rgba(27,42,92,.22),inset 0 0 0 1px #EADFC4}
body.mod-telefon .b9a-jl-hal.pilih{transform:translateY(-3px) rotate(1deg);box-shadow:0 8px 12px rgba(27,42,92,.3),0 0 0 3px var(--emas)}
@media (max-height:700px){
  body.mod-telefon .b2-j-jeti .bisik,body.mod-telefon .b2-j-pasport .bisik,body.mod-telefon .b2-j-jilid .bisik{min-height:2.6em;padding:6px 12px;font-size:.875rem;line-height:1.32}
  body.mod-telefon .b2-j-jeti .b2-kad-isi,body.mod-telefon .b2-j-pasport .b2-kad-isi,body.mod-telefon .b2-j-jilid .b2-kad-isi{font-size:1rem}
  body.mod-telefon .b2-j-jeti .b2-kad,body.mod-telefon .b2-j-pasport .b2-kad,body.mod-telefon .b2-j-jilid .b2-kad{padding:8px 14px 9px}
  body.mod-telefon .b9a-jeti,body.mod-telefon .b9a-pasport,body.mod-telefon .b9a-jilid{gap:8px}
  body.mod-telefon .b9a-pas{padding:7px 12px 9px}
  body.mod-telefon .b9a-pas-nama{font-size:1.0625rem}
  body.mod-telefon .b9a-aras{padding:7px 12px 9px}
  body.mod-telefon .b9a-titi{min-height:58px;padding:6px 8px}
  body.mod-telefon .b9a-pp-kulit{min-height:96px}
  body.mod-telefon .b9a-pp-token{min-height:58px}
  body.mod-telefon .b9a-jl-latar{height:78px}
  body.mod-telefon .b9a-jl-slot{flex-basis:min(62vw,226px)}
  body.mod-telefon .b9a-jl-hal{padding:7px 10px 9px 26px}
  body.mod-telefon .b9a-jl-hal-teks{font-size:.875rem}
}
@media (prefers-reduced-motion:reduce){
  .b9a-lambai-t,.b9a-jt-fig .b9a-kk,.b9a-jt-fig .b9a-kn,.b9a-jt-fig .b9a-tk,.b9a-jt-fig .b9a-tn,.b9a-jt-fig-dalam,.b9a-jt-fig-penanda,.b9a-pp-pin .b9a-pp-cincin,.b9a-jl-tab{animation:none}
  /* keadaan akhir yang biasanya dicapai melalui animasi */
  .b9a-pp-cop{animation:none;opacity:.93;transform:rotate(-6deg)}
  .b9a-jt-kapsyen{animation:none;opacity:1;transform:translate(-50%,-50%)}
  .b9a-beg.tutup .b9a-beg-tudung{transition:none}
  .b9a-jl-kulit.muncul,.b9a-pp-hal.selak,.b9a-jl-helai.baru,.b9a-jt-tingkap.baru .b9a-jt-kepala{animation:none;opacity:1;transform:none}
}
