/* pacman-master.com - terminal ledger. Ditulis tangan, satu berkas.
   Nol font luar, nol CDN, nol pelacak. Oker #B45309 dipilih justru untuk
   MENJAUH dari kuning arkade; tidak satu pun kode kuning itu dipakai di sini. */
:root {
  --paper:#FAF7F2; --surface:#F2EDE4; --ink:#1C1917; --soft:#57534E;
  --accent:#B45309; --rule:#E0D8CC; --cmd:#F5F0E6;
  --med:#A16207; --high:#9A3412; --ok:#3F6212;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#1C1917; --surface:#26211E; --ink:#F5F0E6; --soft:#BFB8AE;
    --accent:#F59E0B; --rule:#3B342F; --cmd:#262220;
    --med:#D9A441; --high:#F0916A; --ok:#A3C25A;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);
     -webkit-font-smoothing:antialiased}
h1,h2,h3,h4,th,code,pre,.pm-tag{font-family:var(--mono)}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.02em;line-height:1.25;margin:2.2rem 0 .8rem}
h1{font-size:1.85rem;margin:.2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}
h2{font-size:1.28rem;padding-bottom:.35rem;border-bottom:2px solid var(--accent)}
h3{font-size:1.05rem;color:var(--ink)}
p,ul,ol,dl{margin:0 0 1rem}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);
  text-underline-offset:3px}
a:hover{color:var(--accent)}
code{font-size:.92em}
b{font-weight:600}
img,svg{max-width:100%}
.pm-skip{position:absolute;left:-9999px;top:0;background:var(--surface);padding:10px 14px;z-index:9}
.pm-skip:focus{left:0}

/* --- kepala -------------------------------------------------------------
   Satu baris, satu tautan, tanpa bilah nav. Navigasi seluruhnya turun ke rel
   kiri, jadi kepala tidak lagi mengulang empat teks jangkar yang sama di 26
   halaman. */
.pm-top{background:var(--surface);border-bottom:1px solid var(--rule);display:grid;
        grid-template-columns:minmax(16px,1fr) minmax(0,1024px) minmax(16px,1fr)}
.pm-top>*{grid-column:2}
.pm-top a{justify-self:start;padding:13px 0 10px;font-family:var(--mono);font-size:1.02rem;
          letter-spacing:-.03em;text-decoration:none;border-bottom:2px solid var(--accent)}
.pm-top a:hover{color:var(--accent)}

/* --- tata letak dua kolom ----------------------------------------------- */
.pm-wrap{max-width:1024px;margin:0 auto;padding:0 16px;display:grid;
         grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
.pm-main{grid-column:2;grid-row:1;min-width:0;padding:28px 0 48px;max-width:720px}
.pm-rail{grid-column:1;grid-row:1;position:sticky;top:12px;padding:28px 0 20px;
         font-size:.86rem;min-width:0}
.pm-rail-h{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;
           text-transform:uppercase;font-weight:400;color:var(--soft);margin:0 0 .5rem;
           padding-bottom:.3rem;border-bottom:1px solid var(--rule)}
.pm-rail ol{list-style:none;margin:0;padding:0}
.pm-rail-l1>li{margin:0 0 1.6rem}
.pm-rail li{margin:0}
.pm-rail a{display:block;padding:4px 0;text-decoration:none;border-bottom:1px solid transparent}
.pm-rail a:hover{border-bottom-color:var(--rule)}
.pm-ops code{font-weight:600;display:inline-block;min-width:2.4em}
.pm-ops span{color:var(--soft)}
.pm-rail a[aria-current]{color:var(--accent);font-weight:600}
.pm-rail a[aria-current] code{color:var(--accent)}

/* --- isi ---------------------------------------------------------------- */
.pm-remah{font-size:.82rem;color:var(--soft);margin:0 0 1rem;font-family:var(--mono)}
.pm-lead{font-size:1.08rem}
.pm-disamb{border-left:3px solid var(--rule);padding:.1rem 0 .1rem .9rem;color:var(--soft)}
.pm-chip{font-family:var(--mono);background:var(--cmd);border-bottom:2px solid var(--accent);
         padding:1px 5px;white-space:nowrap}
dfn{font-style:normal;font-weight:600;font-family:var(--mono)}
.pm-def{border-left:3px solid var(--accent);padding:.1rem 0 .1rem .9rem}

/* --- sinopsis ------------------------------------------------------------
   Bentuk yang dipakai halaman manual: barisnya lebih dulu sebagai <pre>, lalu
   huruf demi huruf sebagai daftar definisi, baru kalimatnya. */
.pm-syn{background:var(--surface);border-top:2px solid var(--accent);
        border-bottom:1px solid var(--rule);padding:16px 18px;margin:0 0 1.6rem}
.pm-syn-cmd{margin:0 0 .85rem;padding:0;overflow-x:auto;white-space:pre;
            font-size:1.12rem;line-height:1.4}
.pm-syn-cmd code{font-weight:600}
.pm-syn-f{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;
          margin:0 0 .7rem;padding:0 0 0 14px;font-size:.93rem;align-items:baseline;
          border-left:2px solid var(--rule)}
.pm-syn-f dt{margin:0}
.pm-syn-f dt code{font-weight:600}
.pm-syn-f dd{margin:0}
.pm-syn-root{margin:0 0 .8rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;
             text-transform:uppercase;color:var(--soft)}
.pm-syn-l{margin:0 0 .35rem;font-size:.95rem}
.pm-syn-l:last-child{margin-bottom:0}

.pm-cmd{position:relative;background:var(--cmd);border-left:3px solid var(--rule);
        padding:14px 16px 12px;margin:0 0 1.2rem;overflow-wrap:anywhere}
.pm-cmd code{display:block;white-space:pre-wrap;font-size:.98rem}
.pm-cmd-tag{position:absolute;top:0;right:0;font-family:var(--mono);font-size:.64rem;
            letter-spacing:.1em;text-transform:uppercase;color:var(--soft);
            background:var(--surface);padding:2px 7px}
.pm-cmd-note{margin:.6rem 0 0;font-size:.88rem;color:var(--soft)}
.pm-cmd-out{border-left-style:dashed}
.pm-d-ext .pm-cmd-tag{color:var(--soft);font-style:italic}
.pm-d-medium{border-left-color:var(--med)}
.pm-d-high{border-left-color:var(--high)}
.pm-d-medium .pm-cmd-tag{color:var(--med)}
.pm-d-high .pm-cmd-tag{color:var(--high)}

.pm-note{border-left:3px solid var(--med);padding:.1rem 0 .1rem .9rem;margin:0 0 1.2rem}
.pm-note.pm-d-high{border-left-color:var(--high)}
.pm-note p{margin:0}

.pm-tag{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pm-tag-none{color:var(--soft)}
.pm-tag-medium{color:var(--med)}
.pm-tag-high{color:var(--high)}

.pm-scroll{overflow-x:auto;margin:0 0 1.4rem}
.pm-tab{width:100%;border-collapse:collapse;font-size:.92rem;border-radius:0}
.pm-tab th,.pm-tab td{border:1px solid var(--rule);padding:8px 10px;text-align:left;
                      vertical-align:top}
.pm-tab thead th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);
                 border-bottom:2px solid var(--accent);white-space:nowrap}
.pm-tab tbody th{font-weight:500;font-family:var(--mono);white-space:nowrap}
.pm-twice{display:block;margin-top:.3rem;color:var(--soft);font-size:.88em}
.pm-tab caption{caption-side:top;text-align:left;font-family:var(--sans);font-size:.84rem;
                color:var(--soft);padding:0 0 .45rem}

.pm-steps{padding-left:1.3rem}
.pm-steps li{margin:0 0 1.2rem}
.pm-steps li b{font-family:var(--mono);font-weight:600}
.pm-steps p{margin:.3rem 0 .6rem}

.pm-faq{margin:0 0 1.6rem}
.pm-faq h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;margin:1.1rem 0 .35rem;
           padding-bottom:.25rem;border-bottom:1px solid var(--rule)}
.pm-faq p{margin:0}

.pm-verify{border-top:1px solid var(--rule);margin-top:2.4rem;padding-top:.4rem;
           color:var(--soft);font-size:.92rem}
.pm-verify h2{font-size:.95rem;border:0;padding:0;margin:1.2rem 0 .4rem}

.pm-tgl{margin:.9rem 0 0;font-family:var(--mono);font-size:.82rem;color:var(--soft)}

/* --- silang-rujuk --------------------------------------------------------
   Daftar "see also" rata kiri, bukan kisi kartu: keterangannya duduk di <p>
   sendiri, jadi tiap kalimat berdiri sebagai satu satuan. */
.pm-xref{margin-top:1.8rem}
.pm-xref h2{font-size:.95rem}
.pm-xref ul{list-style:none;margin:0;padding:0}
.pm-xref li{margin:0 0 .9rem;padding-left:.9rem;border-left:2px solid var(--rule)}
.pm-xref li a{font-family:var(--mono);font-weight:600;text-decoration:none;
              border-bottom:1px solid var(--rule)}
.pm-xref li a:hover{border-bottom-color:var(--accent)}
.pm-xref li p{margin:.15rem 0 0;color:var(--soft);font-size:.9rem}

/* --- perkakas ----------------------------------------------------------- */
.pm-tool{margin:0 0 2rem}
.pm-tool label,.pm-form-h{display:block;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin:1rem 0 .35rem}
.pm-tool input[type=text],.pm-tool input[type=search],.pm-tool select{
  width:100%;font:1rem/1.4 var(--mono);color:var(--ink);background:var(--cmd);
  border:1px solid var(--rule);border-radius:0;padding:10px 12px}
.pm-tool input:focus,.pm-tool select:focus{outline:2px solid var(--accent);outline-offset:-2px}
.pm-samples{font-size:.85rem;color:var(--soft);margin:.6rem 0 0}
.pm-samples button{font:.85rem var(--mono);color:var(--ink);background:var(--cmd);
  border:1px solid var(--rule);border-radius:0;padding:3px 8px;margin:0 4px 4px 0;cursor:pointer}
.pm-samples button:hover{border-color:var(--accent);color:var(--accent)}
.pm-out{margin-top:1rem;min-height:3rem}
.pm-res{background:var(--surface);border-left:3px solid var(--rule);padding:14px 16px}
.pm-res.pm-d-medium{border-left-color:var(--med)}
.pm-res.pm-d-high{border-left-color:var(--high)}
.pm-res-bad{border-left-color:var(--high)}
.pm-res-head{display:flex;gap:12px;align-items:baseline;justify-content:space-between;
             flex-wrap:wrap;margin-bottom:.7rem}
.pm-res-cmd{font-family:var(--mono);font-size:1.05rem;font-weight:600;overflow-wrap:anywhere}
.pm-res-err{font-family:var(--mono);font-weight:600;margin:0 0 .4rem}
.pm-res-hint{margin:0;color:var(--soft);font-size:.92rem}
.pm-res-rows{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 .8rem;
             font-size:.93rem;align-items:baseline}
.pm-res-rows dt{margin:0;justify-self:start}
.pm-res-rows dd{margin:0}
.pm-res-why,.pm-res-root{margin:0 0 .3rem;font-size:.9rem;color:var(--soft)}
.pm-mods{display:grid;gap:2px;max-height:19rem;overflow-y:auto;border:1px solid var(--rule);
         padding:10px 12px;background:var(--paper)}
.pm-mod{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:baseline;
        font-size:.9rem;text-transform:none;letter-spacing:0;color:var(--ink);margin:0}
.pm-mod-txt{color:var(--soft)}
.pm-copy{font:.7rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);
  background:var(--cmd);border:1px solid var(--rule);border-radius:0;padding:3px 9px;
  margin-left:10px;cursor:pointer;white-space:nowrap}
.pm-copy:hover{color:var(--accent);border-color:var(--accent)}
.pm-copy[disabled]{opacity:.45;cursor:default}
.pm-warn{list-style:none;margin:0 0 .8rem;padding:0;font-size:.88rem;color:var(--soft)}
.pm-warn li{border-left:3px solid var(--med);padding-left:.8rem;margin:0 0 .45rem}
.pm-built{margin:1.1rem 0 .2rem;display:flex;flex-wrap:wrap;align-items:baseline}
.pm-built-why{margin:0;font-size:.9rem;color:var(--soft)}
.pm-noscript{border-left:3px solid var(--med);padding-left:.9rem;color:var(--soft)}

.pm-filter{margin:0 0 1rem}
.pm-filter input{width:100%;font:1rem/1.4 var(--mono);color:var(--ink);background:var(--cmd);
  border:1px solid var(--rule);border-radius:0;padding:10px 12px}
.pm-filter input:focus{outline:2px solid var(--accent);outline-offset:-2px}
.pm-filter label{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--soft);margin:0 0 .35rem}
.pm-filter-n{margin:.4rem 0 0;font-size:.85rem;color:var(--soft);min-height:1.2em}
.pm-hidden{display:none}

/* --- kaki ---------------------------------------------------------------
   Beberapa bagian berjudul yang mengalir dalam kisi, bukan daftar definisi:
   <dl> di sini hanya dipakai daftar flag sinopsis di dalam <main>. */
.pm-kaki{border-top:1px solid var(--rule);background:var(--surface);margin-top:2rem;display:grid;
         grid-template-columns:minmax(16px,1fr) minmax(0,1024px) minmax(16px,1fr)}
.pm-kaki>*{grid-column:2}
.pm-kaki-nav{padding:24px 0 6px;display:grid;gap:16px 28px;
             grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}
.pm-kaki-nav h2{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;
                text-transform:uppercase;font-weight:400;color:var(--soft);
                margin:0 0 .45rem;padding:0;border:0}
.pm-kaki-nav ul{list-style:none;margin:0;padding:0;font-size:.88rem}
.pm-kaki-nav li{margin:0 0 .25rem}
.pm-kaki-nav a{text-decoration:none;border-bottom:1px solid var(--rule)}
.pm-kaki-nav a:hover{border-bottom-color:var(--accent)}
.pm-kaki-rule{border:0;border-top:1px solid var(--rule);margin:20px 0 0}
.pm-kaki-s{display:block;padding:12px 0 28px;font-size:.82rem;color:var(--soft)}

@media (max-width:900px){
  .pm-wrap{grid-template-columns:minmax(0,1fr);gap:0}
  .pm-main{grid-column:1;grid-row:auto;padding-bottom:26px}
  .pm-rail{grid-column:1;grid-row:auto;position:static;padding:20px 0 4px;
           border-top:1px solid var(--rule)}
  .pm-rail-l1>li{margin-bottom:1rem}
  .pm-ops{display:flex;flex-wrap:wrap;gap:0 14px}
  .pm-pages{display:flex;flex-wrap:wrap;gap:0 14px}
  .pm-ops span{display:none}
}
@media (max-width:600px){
  h1{font-size:1.5rem}
  .pm-syn{padding:14px 14px}
  .pm-syn-cmd{font-size:1rem}
  .pm-syn-f{grid-template-columns:minmax(0,1fr);gap:1px;padding-left:11px}
  .pm-syn-f dd{margin-bottom:.5rem}
  .pm-res-rows{grid-template-columns:minmax(0,1fr);gap:2px}
  .pm-res-rows dd{margin-bottom:.5rem}
  /* Di layar sempit label bahaya turun ke aliran teks, bukan menumpang di
     sudut. Label terpanjang ("not pacman") bertabrakan dengan perintah panjang
     seperti `du -sh /var/cache/pacman/pkg` kalau tetap absolut. */
  .pm-cmd-tag{position:static;display:block;text-align:right;margin:0 0 .35rem}
}

/* --- diagram -------------------------------------------------------------
   Digambar sebagai SVG sebaris. Garis dan teks memakai currentColor atau
   variabel tema di atas, jadi satu berkas gambar melayani terang dan gelap;
   tidak ada satu pun kode warna di dalam markup gambarnya. */
/* Gambar lebar diperlakukan seperti tabel lebar di halaman lain: di layar sempit
   ia menggulir di dalam bingkainya sendiri, dengan lebar minimum yang menjaga
   teks terkecilnya tetap terbaca, bukan mengecil sampai hilang. */
.pm-fig{margin:1.4rem 0 1.8rem;overflow-x:auto}
@media (max-width:640px){
  .pm-svg{min-width:460px}
  .pm-svg-w{min-width:600px}
}
.pm-svg{display:block;width:100%;height:auto;max-width:560px;margin:0 auto;color:var(--ink)}
.pm-svg-w{max-width:760px}
.pm-fig figcaption{color:var(--soft);font-size:.88rem;margin-top:.7rem;
                   border-left:2px solid var(--rule);padding-left:.8rem}
.pm-svg text{font-family:var(--sans);fill:currentColor}
.pm-svg text.m{font-family:var(--mono)}
.pm-svg .box{fill:var(--surface);stroke:currentColor;stroke-width:1}
.pm-svg .box-a{fill:var(--cmd);stroke:var(--accent);stroke-width:1.5}
.pm-svg .fill-paper{fill:var(--paper)}
.pm-svg .line{stroke:currentColor;stroke-width:1.2;fill:none}
.pm-svg .head{fill:currentColor;stroke:none}
.pm-svg .dash{stroke-dasharray:4 3}
.pm-svg .dim{fill:var(--soft)}
.pm-svg .acc{fill:var(--accent)}
.pm-svg .acc-s{stroke:var(--accent)}
.pm-svg .head.acc{fill:var(--accent)}
.pm-svg .f-ok{fill:var(--ok)}
.pm-svg .s-ok{stroke:var(--ok)}
.pm-svg .s-med{stroke:var(--med)}
.pm-svg .s-high{stroke:var(--high)}
.pm-svg .lv{letter-spacing:.09em;text-transform:uppercase}
.pm-svg .dot{stroke:none}
.pm-svg .pm-d-none{fill:var(--soft)}
.pm-svg .pm-d-medium{fill:var(--med)}
.pm-svg .pm-d-high{fill:var(--high)}

/* --- pembaca pesan ------------------------------------------------------- */
.pm-tool textarea{width:100%;font:.95rem/1.5 var(--mono);color:var(--ink);
  background:var(--cmd);border:1px solid var(--rule);border-radius:0;padding:10px 12px;
  resize:vertical}
.pm-tool textarea:focus{outline:2px solid var(--accent);outline-offset:-2px}
.pm-res-diag{border-left-color:var(--accent)}
.pm-res-title{font-size:1.02rem;margin:0 0 .5rem;border:0;padding:0}
.pm-res-steps{margin:.8rem 0 .6rem;padding-left:1.2rem;font-size:.93rem}
.pm-res-steps li{margin:0 0 .8rem}
.pm-res-steps p{margin:0 0 .35rem}
.pm-res-line{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.pm-res-line .pm-res-cmd{font-size:.95rem;font-weight:500}
.pm-res-more{margin:.4rem 0 0;font-size:.92rem}
.pm-res-also{margin:.4rem 0 0;font-size:.86rem;color:var(--soft)}
.pm-more{font-size:.92rem;margin:.2rem 0 1.6rem}
.pm-res-cmd.pm-d-medium{color:var(--med)}
.pm-res-cmd.pm-d-high{color:var(--high)}
.pm-res-cmd.pm-d-ext{color:var(--soft)}
