/* MIKRO-NET: gaya utama. Arah desain ada di DESIGN.md. Warna dari logo; ubah lewat token di :root. */

/* ---- Token: terang ---- */
:root{
  --bg:#F4F8FD; --surface:#FFFFFF; --surface-2:#EAF3FD; --surface-3:#DCE8F8;
  --ink:#0E1F45; --muted:#4A5F87; --line:#D3E0F2; --line-strong:#7890B8;
  --primary:#1E4483; --primary-hover:#1C3B7B; --on-primary:#FFFFFF;
  --link:#2A63BC; --focus:#2F6FD0; --blue:#4493E2;
  --accent:#F3C54D; --accent-hover:#F7D06A; --on-accent:#0E1F45; --accent-teks:#FFD66B; --accent-soft:#FFF0C2;
  --hero:linear-gradient(115deg,#12295F 0%,#1C3B7B 48%,#2455A6 100%);
  --hero-ink:#FFFFFF; --hero-muted:#DCE7FB; --hero-node:#1C3B7B;
  --bar:#12295F; --bar-line:rgba(255,255,255,.12); --bar-muted:#C6D6F2;
  --ok:#1B6B43; --ok-bg:#DDF3E6; --warn:#7A5200; --warn-bg:#FFF0C2;
  --grey:#3E5178; --grey-bg:#E6ECF5; --info:#1E4483; --info-bg:#E3EFFC;
  --danger:#B42318; --danger-bg:#FDE7E4;
  --shadow-kartu:0 12px 28px -20px rgba(14,31,69,.45);
  --shadow-angkat:0 20px 34px -20px rgba(14,31,69,.55);
  --shadow-melayang:0 18px 40px -14px rgba(14,31,69,.45);
  --head:'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;
  --body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'Atkinson Hyperlegible Mono',ui-monospace,Consolas,'Courier New',monospace;
  --r:12px; --r2:18px; --isi:1180px; --gutter:40px; --nav-bawah:0px;
  --cepat:.18s; --sedang:.45s; --lunak:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
/* ---- Token: gelap (ikut sistem kecuali pengguna memilih terang) ---- */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B1733; --surface:#13254D; --surface-2:#1A3062; --surface-3:#22397A;
    --ink:#E6EEFB; --muted:#9FB2D6; --line:#243E75; --line-strong:#5D78AE;
    --primary:#7FB0F5; --primary-hover:#9CC2F7; --on-primary:#0B1733;
    --link:#7FB0F5; --focus:#9CC2F7; --blue:#7FB0F5; --accent-soft:#33290F;
    --hero:linear-gradient(115deg,#0A1530 0%,#12295F 50%,#1A3F82 100%); --hero-node:#12295F;
    --bar:#0A1530;
    --ok:#86D3A5; --ok-bg:#15302A; --warn:#F3C54D; --warn-bg:#33290F;
    --grey:#B3C2DE; --grey-bg:#1E2F55; --info:#A9C5F7; --info-bg:#1B2E5A;
    --danger:#F4A197; --danger-bg:#3A1D1F;
    --shadow-kartu:0 12px 28px -18px rgba(0,0,0,.7); --shadow-angkat:0 20px 34px -18px rgba(0,0,0,.8); --shadow-melayang:0 18px 40px -12px rgba(0,0,0,.75);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1733; --surface:#13254D; --surface-2:#1A3062; --surface-3:#22397A;
  --ink:#E6EEFB; --muted:#9FB2D6; --line:#243E75; --line-strong:#5D78AE;
  --primary:#7FB0F5; --primary-hover:#9CC2F7; --on-primary:#0B1733;
  --link:#7FB0F5; --focus:#9CC2F7; --blue:#7FB0F5; --accent-soft:#33290F;
  --hero:linear-gradient(115deg,#0A1530 0%,#12295F 50%,#1A3F82 100%); --hero-node:#12295F;
  --bar:#0A1530;
  --ok:#86D3A5; --ok-bg:#15302A; --warn:#F3C54D; --warn-bg:#33290F;
  --grey:#B3C2DE; --grey-bg:#1E2F55; --info:#A9C5F7; --info-bg:#1B2E5A;
  --danger:#F4A197; --danger-bg:#3A1D1F;
  --shadow-kartu:0 12px 28px -18px rgba(0,0,0,.7); --shadow-angkat:0 20px 34px -18px rgba(0,0,0,.8); --shadow-melayang:0 18px 40px -12px rgba(0,0,0,.75);
  color-scheme:dark;
}

/* ---- Dasar ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html:has(.land){scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--bg);font-size:15.5px;line-height:1.55}
h1,h2,h3,h4{font-family:var(--head);font-weight:800;margin:0;line-height:1.12;letter-spacing:-.015em;color:var(--ink)}
h2{font-size:22px}
h3{font-size:19px}
p{margin:0 0 12px}
a{color:var(--link);text-underline-offset:3px}
img{max-width:100%}
code,.mono{font-family:var(--mono);font-size:.95em}
[hidden]{display:none!important}
.ic{flex:none;vertical-align:middle}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.lompat{position:absolute;left:12px;top:-60px;z-index:200;background:var(--surface);color:var(--ink);padding:10px 14px;border:2px solid var(--focus);border-radius:var(--r);font-weight:700;transition:top var(--cepat)}
.lompat:focus{top:12px}
.mini{font-size:14px;color:var(--muted)}
.hint{font-size:14px;color:var(--muted);margin-top:6px}

/* ---- Tombol ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--r);border:1.5px solid transparent;font:700 15px/1.2 var(--body);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--cepat) var(--lunak),box-shadow var(--cepat),background-color var(--cepat),border-color var(--cepat)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn--utama{background:var(--primary);color:var(--on-primary);box-shadow:0 8px 18px -10px rgba(30,68,131,.8)}
.btn--utama:hover{background:var(--primary-hover)}
.btn--kuning{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 18px -8px rgba(224,168,0,.75)}
.btn--kuning:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 12px 22px -8px rgba(224,168,0,.8)}
.btn--garis{background:var(--surface);color:var(--primary);border-color:var(--line)}
.btn--garis:hover{background:var(--surface-2);border-color:var(--line-strong)}
.btn--kaca{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.btn--kaca:hover{background:rgba(255,255,255,.2)}
.btn--bahaya{background:var(--surface);color:var(--danger);border-color:var(--danger)}
.btn--bahaya:hover{background:var(--danger-bg)}
.btn--kecil{min-height:38px;padding:0 14px;font-size:14px;border-radius:10px}
.btn--penuh{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.tombol-baris{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---- Form ---- */
.field{margin-bottom:18px}
.field label,.label{display:block;font:700 14px/1.3 var(--body);margin-bottom:7px;color:var(--ink)}
.input{width:100%;min-height:50px;padding:11px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:var(--surface);font:500 16px/1.4 var(--body);color:var(--ink);transition:border-color var(--cepat),box-shadow var(--cepat)}
.input::placeholder{color:var(--muted);opacity:1}
textarea.input{min-height:120px;resize:vertical;line-height:1.55}
.input:focus{outline:2px solid transparent;border-color:var(--focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--focus) 28%,transparent)}
.input[readonly]{background:var(--surface-2)}
.input[type=file]{padding:10px}
.input--mono{font-family:var(--mono);letter-spacing:.03em}
.baris2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.wajib{color:var(--danger)}

/* ---- Pesan ---- */
.flash{padding:13px 16px;border-radius:var(--r);margin:0 0 16px;font-weight:600;font-size:15px;white-space:pre-line;border:1.5px solid}
.flash--sukses{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}
.flash--galat{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}
.flash--info{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}
.catatan-contoh{background:var(--warn-bg);color:var(--warn);padding:11px 16px;border-radius:var(--r);margin-bottom:18px;font-size:14px;font-weight:600}

/* ---- Tag status ---- */
.lencana{display:inline-flex;align-items:center;padding:3px 11px;border-radius:99px;font:700 12.5px/1.4 var(--body);white-space:nowrap}
.lencana--ok{background:var(--ok-bg);color:var(--ok)}
.lencana--warn{background:var(--warn-bg);color:var(--warn)}
.lencana--grey{background:var(--grey-bg);color:var(--grey)}
.lencana--blue{background:var(--info-bg);color:var(--info)}

/* ---- Kartu ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:24px;box-shadow:var(--shadow-kartu)}
.card + .card{margin-top:18px}
.card > h2{font-size:20px;margin-bottom:14px}
.judul-bagian{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 14px}
.judul-bagian h2{font-size:22px}
.judul-bagian a{font-weight:700;font-size:14.5px}
.ikon-kotak{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--info-bg);color:var(--info);flex:none}
.ikon-kotak--kuning{background:var(--warn-bg);color:var(--warn)}
.ikon-kotak--hijau{background:var(--ok-bg);color:var(--ok)}
.ikon-kotak--navy{background:var(--primary);color:var(--on-primary)}

/* ---- Bilah atas + navigasi ---- */
.bilah{background:var(--bar);color:#fff;border-bottom:1px solid var(--bar-line);position:sticky;top:0;z-index:40}
.bilah-dalam{max-width:calc(var(--isi) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:28px;min-height:64px}
.merek{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex:none}
.merek img{width:42px;height:42px;border-radius:50%;background:#fff;border:2.5px solid var(--accent);object-fit:cover}
.merek b{display:block;font:800 19px/1 var(--head);letter-spacing:.01em}
.merek small{display:block;font-size:12.5px;color:var(--bar-muted);margin-top:3px}
.nav-atas{display:flex;align-items:stretch;gap:2px;align-self:stretch}
.nav-atas a{position:relative;display:flex;align-items:center;gap:8px;padding:0 14px;color:var(--bar-muted);text-decoration:none;font-weight:700;font-size:15px;transition:color var(--cepat)}
.nav-atas a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent);transform:scaleX(0);transition:transform var(--sedang) var(--lunak)}
.nav-atas a:hover{color:#fff}
.nav-atas a:hover::after{transform:scaleX(.35)}
.nav-atas a[aria-current="page"]{color:#fff}
.nav-atas a[aria-current="page"]::after{transform:scaleX(1)}
.nav-atas a[aria-current="page"] .ic{color:var(--accent)}
.bilah-kanan{margin-left:auto;display:flex;align-items:center;gap:8px}
.tombol-ikon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r);border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:background-color var(--cepat),transform var(--cepat)}
.tombol-ikon:hover{background:rgba(255,255,255,.16)}
.tombol-ikon:active{transform:scale(.94)}
.tombol-tema .ic-matahari{display:none}
:root[data-theme="dark"] .tombol-tema .ic-matahari{display:inline}
:root[data-theme="dark"] .tombol-tema .ic-bulan{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .tombol-tema .ic-matahari{display:inline}
  :root:not([data-theme="light"]) .tombol-tema .ic-bulan{display:none}
}
.akun{position:relative}
.akun-tombol{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 12px 0 5px;border:1px solid rgba(255,255,255,.25);border-radius:99px;background:rgba(255,255,255,.06);color:#fff;font:700 14.5px var(--body);cursor:pointer;max-width:250px;transition:background-color var(--cepat)}
.akun-tombol:hover,.akun-tombol[aria-expanded="true"]{background:rgba(255,255,255,.16)}
.akun-nama{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font:800 16px var(--head);flex:none}
.akun-panel{position:absolute;right:0;top:calc(100% + 10px);width:270px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow-melayang);padding:16px;z-index:60;
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity var(--cepat),transform var(--cepat) var(--lunak),visibility 0s linear var(--cepat)}
.akun-panel.buka{opacity:1;visibility:visible;transform:none;transition:opacity var(--cepat),transform var(--cepat) var(--lunak),visibility 0s}
.akun-panel .akun-info{display:flex;gap:12px;align-items:center;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.akun-panel b{display:block;line-height:1.3}
.akun-panel small{display:block;color:var(--muted);font-size:13.5px}
.akun-panel a,.akun-panel button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 10px;border-radius:10px;font:700 14.5px var(--body);color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;text-align:left}
.akun-panel a:hover,.akun-panel button:hover{background:var(--surface-2)}
.akun-panel form{margin:0}
.akun-panel .keluar{color:var(--danger)}
.nav-bawah{display:none}

/* ---- Motif jaringan (titik + garis dari logo) ---- */
.jar{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.jar svg{position:absolute;right:-4%;top:-10%;width:64%;height:130%;min-width:420px;
  /* Motif memudar ke kiri supaya tidak pernah menimpa judul dan teks di sisi kiri. */
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}
.jar .garis{stroke:#fff;stroke-opacity:.22;stroke-width:1.5}
.jar .paket{stroke:var(--accent-teks);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:3 400;stroke-dashoffset:0;opacity:.85;animation:paket 7s linear infinite}
.jar .titik{fill:#fff;fill-opacity:.55}
.jar .titik-aktif{fill:var(--accent)}
.jar .halo{fill:var(--accent);fill-opacity:.22;transform-box:fill-box;transform-origin:center;animation:halo 4.5s ease-in-out infinite}
@keyframes paket{from{stroke-dashoffset:403}to{stroke-dashoffset:0}}
@keyframes halo{0%,100%{transform:scale(1);fill-opacity:.22}50%{transform:scale(1.35);fill-opacity:.1}}

/* ---- Kepala halaman (pita biru) ---- */
.utama{min-height:calc(100vh - 64px);padding-bottom:var(--nav-bawah);animation:halaman-masuk .35s var(--lunak) both}
@keyframes halaman-masuk{from{opacity:0}}
.kepala{position:relative;background:var(--hero);color:var(--hero-ink);overflow:hidden}
.kepala-dalam{position:relative;max-width:calc(var(--isi) + 2 * var(--gutter));margin:0 auto;padding:34px var(--gutter) 44px}
.kepala--naik .kepala-dalam{padding-bottom:100px}
.kepala-dalam > *{animation:naik-masuk var(--sedang) var(--lunak) both}
.kepala-dalam > :nth-child(2){animation-delay:.06s}
.kepala-dalam > :nth-child(3){animation-delay:.12s}
.kepala-dalam > :nth-child(4){animation-delay:.18s}
.kepala-dalam > :nth-child(5){animation-delay:.24s}
@keyframes naik-masuk{from{opacity:0;transform:translateY(12px)}}
.kepala .kembali{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--hero-muted);margin-bottom:10px;min-height:32px}
.kepala .kembali:hover{color:#fff;text-decoration:underline}
.kepala .konteks{font:800 13px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-teks);margin:0 0 8px}
.kepala h1{color:#fff;font-size:clamp(30px,4.2vw,46px);max-width:24ch}
.kepala .sub{color:var(--hero-muted);margin:10px 0 0;max-width:62ch;font-size:16.5px}
.kepala .jejak{margin-top:26px}
.isi{max-width:calc(var(--isi) + 2 * var(--gutter));margin:0 auto;padding:30px var(--gutter) 64px}
.isi--naik{margin-top:-72px;position:relative;z-index:2;padding-top:0}
.isi--sempit > *{max-width:880px}

/* ---- Kemunculan saat masuk layar (hanya bila JS aktif) ---- */
/* Memakai properti translate (bukan transform) supaya efek hover pada kartu tetap jalan. */
.js [data-muncul]{opacity:0;translate:0 14px;transition:opacity .5s var(--lunak) var(--tunda,0s),translate .5s var(--lunak) var(--tunda,0s),transform var(--cepat) var(--lunak),box-shadow var(--cepat),border-color var(--cepat)}
.js [data-muncul].muncul{opacity:1;translate:none}

/* ---- Jejak: lima langkah modul ---- */
.jejak{--j-garis:var(--line-strong);--j-selesai:var(--primary);--j-node-bg:var(--surface);--j-nama:var(--muted);--j-nama-aktif:var(--ink);--j-cek:var(--on-primary);
  list-style:none;margin:0;padding:0;display:flex;max-width:680px}
.jejak li{flex:1;position:relative;min-width:0;text-align:center}
.jejak li:not(:first-child)::before{content:"";position:absolute;top:12px;right:50%;left:-50%;border-top:2px dashed var(--j-garis)}
.jejak li.jejak--selesai + li::before{border-top-style:solid;border-top-color:var(--j-selesai)}
.jejak li.jejak--berikut:not(:first-child)::after{content:"";position:absolute;top:10px;left:-50%;right:50%;height:6px;border-radius:3px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent) no-repeat;background-size:36% 100%;animation:denyut 2.2s ease-in-out infinite}
@keyframes denyut{from{background-position:-60% 0}to{background-position:160% 0}}
.jejak a,.jejak span.jejak-isi{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;color:var(--j-nama);font-size:13.5px;font-weight:700;min-height:44px;z-index:1}
.jejak a:hover .jejak-nama{color:var(--j-nama-aktif);text-decoration:underline}
.jejak .node{width:26px;height:26px;border-radius:50%;border:2px solid var(--j-garis);background:var(--j-node-bg);display:flex;align-items:center;justify-content:center;color:var(--j-cek);transition:transform var(--cepat) var(--lunak)}
.jejak a:hover .node{transform:scale(1.12)}
.jejak--selesai .node{background:var(--j-selesai);border-color:var(--j-selesai)}
.jejak--berjalan .node{border-color:var(--j-selesai);background:linear-gradient(90deg,var(--j-selesai) 50%,var(--j-node-bg) 50%)}
.jejak--segera .node{border-style:dashed}
.jejak--segera .jejak-nama{font-weight:500}
.jejak--berikut .node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent)}
.jejak--berikut .jejak-nama,.jejak li[aria-current] .jejak-nama{color:var(--j-nama-aktif)}
.jejak li[aria-current] .node{outline:2px solid var(--j-nama-aktif);outline-offset:3px}
.jejak li[aria-current] .jejak-nama{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.jejak-nama{overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.kepala .jejak{--j-garis:rgba(255,255,255,.45);--j-selesai:#fff;--j-node-bg:transparent;--j-nama:var(--hero-muted);--j-nama-aktif:#fff;--j-cek:var(--hero-node)}

/* ---- Cincin kemajuan ---- */
.cincin{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none}
.cincin svg{position:absolute;inset:0;transform:rotate(-90deg)}
.cincin .jalur{stroke:var(--surface-3)}
.cincin .isi-c{stroke:var(--blue);stroke-linecap:round;animation:cincin 1.1s var(--lunak) .2s both}
@keyframes cincin{from{stroke-dashoffset:var(--k)}}
.cincin span{position:relative;font:800 24px var(--head);color:var(--ink)}

/* ---- Progress bar ---- */
.bar{height:9px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--primary));transform-origin:left;animation:isi-bar 1s var(--lunak) .15s both}
@keyframes isi-bar{from{transform:scaleX(0)}}

/* ---- Statistik ---- */
.statistik{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:26px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-kartu);min-width:0}
.stat b{display:block;font:800 28px/1.1 var(--head);color:var(--ink)}
.stat small{display:block;color:var(--muted);font-size:13.5px;line-height:1.35}
.stat--kuning{background:var(--accent);border-color:var(--accent)}
.stat--kuning b,.stat--kuning small{color:var(--on-accent)}
.stat--kuning .ikon-kotak{background:rgba(14,31,69,.12);color:var(--on-accent)}

/* ---- Beranda siswa ---- */
.berikut{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--accent);border-radius:var(--r2);padding:26px;box-shadow:var(--shadow-angkat);display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;margin-bottom:22px}
.berikut .label-kecil{font:800 12.5px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--link)}
.berikut h2{font-size:clamp(22px,2.6vw,28px);margin:4px 0 6px}
.berikut .ket{color:var(--muted);margin:0 0 18px}
.berikut .jejak{max-width:none;margin-bottom:20px}
.berikut--kosong{grid-template-columns:minmax(0,1fr)}
.kolom{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:22px;align-items:start}
.kolom > div > * + *{margin-top:18px}
.jadwal{list-style:none;margin:0;padding:0}
.jadwal li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;position:relative}
.jadwal li:not(:last-child)::after{content:"";position:absolute;left:8px;top:calc(50% + 12px);height:calc(100% - 24px);border-left:2px solid var(--line)}
.jadwal .titik{width:18px;height:18px;border-radius:50%;border:3px solid var(--surface-3);background:var(--surface)}
.jadwal .titik--aktif{background:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--surface))}
.jadwal b{display:block;line-height:1.3}
.jadwal small{color:var(--muted);font-size:13.5px}
.tugas{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tugas li{background:var(--surface-2);border-radius:14px;padding:13px 15px}
.tugas b{display:block}
.tugas p{margin:3px 0 0;color:var(--muted);font-size:14px}
.tugas a{font-weight:700}
.info-biru{position:relative;overflow:hidden;background:var(--hero);color:#fff;border:0}
.info-biru b{color:var(--accent-teks);display:block;margin-bottom:4px}
.info-biru p{margin:0;color:var(--hero-muted)}
.alat-tautan{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:700;text-decoration:none}
.alat-tautan:hover{text-decoration:underline}

/* ---- Kartu modul ---- */
.grid-modul{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.mcard{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:22px;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-kartu);min-height:236px;transition:transform var(--cepat) var(--lunak),box-shadow var(--cepat),border-color var(--cepat)}
a.mcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-angkat);border-color:var(--line-strong)}
.mcard .atas{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.mcard .nomor{font:800 13px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mcard h3{font-size:20px;margin-top:2px}
.mcard p{color:var(--muted);margin:0;font-size:14.5px}
.mcard .bawah{margin-top:auto;display:grid;gap:6px}
.mcard--terbit{grid-column:span 2;background:var(--hero);border:0;color:#fff;overflow:hidden}
.mcard--terbit .jar svg{width:46%;right:-8%;opacity:.55;min-width:0}
.mcard--terbit > :not(.jar){position:relative}
.mcard--terbit h3{color:#fff;font-size:26px}
.mcard--terbit p,.mcard--terbit .nomor,.mcard--terbit .mini{color:var(--hero-muted)}
.mcard--terbit .bar{background:rgba(255,255,255,.2)}
.mcard--terbit .bar i{background:var(--accent)}
.mcard--terbit .ikon-kotak{background:var(--accent);color:var(--on-accent)}
.mcard--terbit .lanjut-teks{font-weight:800;color:var(--accent-teks)}
.mcard--kunci{background:var(--surface-2);border-style:dashed;box-shadow:none}
.mcard--kunci .ikon-kotak{background:var(--grey-bg);color:var(--grey)}

/* ---- Langkah di dalam modul ---- */
.langkah{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lk{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);padding:16px 18px;box-shadow:var(--shadow-kartu)}
.lk:not(:last-child)::after{content:"";position:absolute;left:37px;top:calc(50% + 20px);height:calc(100% - 28px);border-left:2px dashed var(--line-strong);z-index:0}
.lk--selesai:not(:last-child)::after{border-left:2px solid var(--primary)}
.lk .no{width:40px;height:40px;border-radius:50%;background:var(--info-bg);color:var(--info);display:flex;align-items:center;justify-content:center;font:800 16px var(--head);position:relative;z-index:1}
.lk--selesai .no{background:var(--ok-bg);color:var(--ok)}
.lk--berjalan .no{background:var(--warn-bg);color:var(--warn)}
.lk--berikut{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow-kartu)}
.lk--berikut .no{background:var(--accent);color:var(--on-accent)}
.lk--segera .no{background:var(--grey-bg);color:var(--grey)}
.lk b{font-size:17px;display:block;line-height:1.3}
.lk small{color:var(--muted);font-size:14px}
.lk .aksi{display:flex;align-items:center;gap:10px}
.segera-teks{font-size:13.5px;color:var(--muted);font-weight:700}
.kemajuan{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.tujuan{margin:0;padding-left:20px}
.tujuan li{margin:6px 0}

/* ---- Tabel ---- */
.tabel-bungkus{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface);box-shadow:var(--shadow-kartu)}
table.tabel{width:100%;border-collapse:collapse}
.tabel th{text-align:left;font:800 12px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 18px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}
.tabel td{padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:middle}
.tabel tbody tr{transition:background-color var(--cepat)}
.tabel tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}
.tabel tr:last-child td{border-bottom:0}
.tabel form{display:inline}
.tabel .aksi-sel{text-align:right;white-space:nowrap}
.tabel .aksi-sel form + form,.tabel .aksi-sel .btn + form{margin-left:6px}
.tabel .kosong{color:var(--muted);padding:26px 18px;text-align:center}
.tabel tr.perlu-nilai{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.nilai-angka{font:800 22px/1 var(--head)}
.penyaring{display:flex;gap:14px;flex-wrap:wrap;align-items:end}
.penyaring > div{min-width:0}
.penyaring .input{width:auto;min-width:220px;max-width:100%}
.form-sebaris{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.form-sebaris .field{margin:0;flex:1 1 220px}
.kode-besar{display:inline-block;font:700 clamp(28px,5vw,40px)/1.1 var(--mono);letter-spacing:.08em;color:var(--primary);background:var(--surface-2);border:2px dashed color-mix(in srgb,var(--primary) 40%,transparent);border-radius:16px;padding:10px 20px}
.tab{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tab a{display:flex;align-items:center;min-height:44px;padding:0 18px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);text-decoration:none;font-weight:700;color:var(--muted);transition:background-color var(--cepat),color var(--cepat),border-color var(--cepat)}
.tab a:hover{border-color:var(--line-strong);color:var(--ink)}
.tab a[aria-current="page"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.rekap-kumpul{display:grid;gap:8px;margin-top:14px}
.rekap-kumpul .baris{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted)}

/* ---- Pintasan admin ---- */
.pintasan{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.pintasan a{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--surface-2);color:var(--ink);text-decoration:none;font-weight:700;min-height:64px;transition:transform var(--cepat) var(--lunak),background-color var(--cepat)}
.pintasan a:hover{transform:translateY(-2px);background:var(--surface-3)}
.pintasan small{display:block;font-weight:500;color:var(--muted);font-size:13px}

/* ---- LKPD ---- */
.lkpd-bagian{counter-reset:butir}
.lkpd-bagian + .lkpd-bagian{margin-top:18px}
.lkpd-bagian h2{font-size:21px;margin-bottom:4px}
.butir{padding:18px 0;border-top:1px solid var(--line);counter-increment:butir}
.lkpd-bagian > .butir:first-of-type{border-top:0}
.butir > label:not(.unggah),.butir > .label{font:700 15.5px/1.45 var(--body);display:flex;gap:10px;margin-bottom:10px}
.butir > label:not(.unggah)::before,.butir > .label::before{content:counter(butir);flex:none;width:26px;height:26px;border-radius:50%;background:var(--info-bg);color:var(--info);display:inline-flex;align-items:center;justify-content:center;font:800 13px var(--head)}
.butir .ket{color:var(--muted);font-size:14.5px;margin:-4px 0 10px 36px}
.pilihan{display:grid;gap:8px}
.pilihan label{display:flex;gap:10px;align-items:center;min-height:48px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;font-weight:600;background:var(--surface);transition:border-color var(--cepat),background-color var(--cepat)}
.pilihan label:hover{border-color:var(--line-strong)}
.pilihan input{accent-color:var(--primary);width:18px;height:18px;flex:none}
.pilihan label:has(input:checked){border-color:var(--blue);background:var(--surface-2)}
.pilihan label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.status-simpan{font-size:14px;font-weight:700;color:var(--ok);display:inline-flex;align-items:center;gap:6px}
.status-simpan.galat{color:var(--danger)}
.bar-lkpd{position:sticky;bottom:calc(var(--nav-bawah) + 12px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow-melayang);padding:12px 12px 12px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:18px;z-index:5}
.berkas-daftar{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.berkas-daftar:empty{display:none}
.berkas-item{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:6px 6px 6px 10px;font-size:13.5px;font-weight:600;max-width:100%;animation:naik-masuk .3s var(--lunak) both}
.berkas-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.berkas-item img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:none}
.berkas-item button{border:0;background:none;color:var(--danger);cursor:pointer;font-weight:800;font-size:15px;width:40px;height:40px;border-radius:10px;flex:none}
.berkas-item button:hover{background:var(--danger-bg)}
.unggah{position:relative;border:2px dashed color-mix(in srgb,var(--blue) 55%,transparent);border-radius:16px;padding:18px;text-align:center;background:var(--surface-2);color:var(--link);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;min-height:64px;transition:background-color var(--cepat),border-color var(--cepat)}
.unggah:hover{background:var(--surface-3);border-color:var(--blue)}
.unggah input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.unggah:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.nilai-kotak{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nilai-kotak .angka{font:800 52px/1 var(--head)}
.rubrik-kotak{display:grid;gap:12px}
.rubrik{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);margin:0}
.rubrik > b{display:block;margin-bottom:10px}
.skala{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.skala label{position:relative;border:1.5px solid var(--line);border-radius:12px;padding:9px;font-size:12.5px;line-height:1.35;cursor:pointer;display:block;background:var(--surface);transition:border-color var(--cepat),background-color var(--cepat)}
.skala label:hover{border-color:var(--line-strong)}
.skala label:has(input:checked){border-color:var(--blue);background:var(--surface-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%,transparent)}
.skala label:has(input:checked) strong{background:var(--primary);color:var(--on-primary)}
.skala label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.skala strong{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--info-bg);color:var(--info);font:800 15px var(--head);margin-bottom:4px;transition:background-color var(--cepat)}
.skala input{position:absolute;opacity:0;width:1px;height:1px}
.jawaban-teks{background:var(--surface-2);border-radius:var(--r);padding:12px 14px;white-space:pre-wrap;word-break:break-word}
.lengket{position:sticky;top:84px}

/* ---- Penampil materi ---- */
.pv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--shadow-kartu)}
.pv-bar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pv-bar .sp{flex:1}
.pv-info{font:700 14.5px var(--mono);min-width:130px;text-align:center}
.pv-area{position:relative;background:var(--surface-3);padding:18px;min-height:60vh;display:flex;justify-content:center;overflow:auto;-webkit-overflow-scrolling:touch}
.pv-area canvas{max-width:100%;height:auto;background:#fff;box-shadow:0 10px 30px -12px rgba(14,31,69,.5);border-radius:6px;display:block}
.pv-area.gulir{flex-direction:column;align-items:center;gap:16px;max-height:78vh}
.pv-area.memuat::before{content:"";position:absolute;inset:18px;margin:auto;max-width:560px;border-radius:8px;
  background:linear-gradient(100deg,var(--surface) 30%,var(--surface-2) 50%,var(--surface) 70%) var(--surface);background-size:220% 100%;animation:kilau 1.3s linear infinite}
@keyframes kilau{from{background-position:120% 0}to{background-position:-120% 0}}
.bingkai{width:100%;border:0;height:max(72vh,640px);background:#fff;display:block}
.bingkai-bungkus{border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-kartu)}
.bar-simulasi{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
.bar-simulasi > b{flex:1 1 240px}

/* ---- Kalkulator subnet ---- */
.hasil-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.hasil-grid div{background:var(--surface-2);border-radius:14px;padding:12px 14px;min-width:0;animation:naik-masuk .25s var(--lunak) both}
.hasil-grid div:nth-child(n+9){grid-column:1 / -1}
.hasil-grid small{display:block;color:var(--muted);font-weight:700;font-size:13px}
.hasil-grid b{font:700 17px/1.4 var(--mono);overflow-wrap:anywhere}
.cek-kode{margin-top:6px;font-size:14px;font-weight:700;min-height:22px}
.cek-kode.ok{color:var(--ok)}
.cek-kode.no{color:var(--danger)}

/* ---- Halaman tamu (masuk/daftar) ---- */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}
.auth-kiri{position:relative;overflow:hidden;background:var(--hero);color:#fff;padding:48px 56px;display:flex;flex-direction:column;gap:24px}
.auth-kiri .jar svg{width:110%;right:-20%;top:0;height:52%}
.auth-kiri > :not(.jar){position:relative}
.auth-kiri .merek img{width:52px;height:52px}
.auth-kiri h1{color:#fff;font-size:clamp(34px,3.6vw,48px);margin-top:auto;animation:naik-masuk var(--sedang) var(--lunak) both}
.auth-kiri p{color:var(--hero-muted);font-size:17px;max-width:44ch;margin:0;animation:naik-masuk var(--sedang) var(--lunak) .08s both}
.auth-kiri .kaki{color:var(--hero-muted);font-size:13.5px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.auth-kanan{display:flex;flex-direction:column;padding:24px 32px;background:var(--bg)}
.auth-kanan .atas{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.auth-kanan .tombol-ikon{color:var(--ink);border-color:var(--line);background:var(--surface)}
.auth-kanan .tombol-ikon:hover{background:var(--surface-2)}
.auth-form{width:100%;max-width:440px;margin:auto;padding:24px 0;animation:naik-masuk var(--sedang) var(--lunak) both}
.auth-form h2{font-size:38px;margin-bottom:6px}
.auth-form > p{color:var(--muted);margin:0 0 24px}
.auth-mobile-merek{display:none;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.auth-mobile-merek img{width:42px;height:42px;border-radius:50%;background:#fff;border:2.5px solid var(--accent)}
.auth-mobile-merek b{font:800 20px var(--head)}
.kotak-tautan{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-top:20px;gap:6px 12px}
.kotak-tautan a{font-weight:800;text-decoration:none}
.kotak-tautan a:hover{text-decoration:underline}

/* ---- Landing ---- */
.land{position:relative;background:var(--hero);color:#fff;overflow:hidden;padding-bottom:88px}
.land .jar svg{width:58%;right:-4%;top:84px;height:70%}
.land-nav{position:relative;max-width:calc(var(--isi) + 2 * var(--gutter));margin:0 auto;padding:20px var(--gutter);display:flex;align-items:center;gap:20px}
.land-nav .merek img{width:50px;height:50px}
.land-nav nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.land-nav nav a:not(.btn){display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--hero-muted);font-weight:700;text-decoration:none;transition:color var(--cepat)}
.land-nav nav a:not(.btn):hover{color:#fff}
.land-hero{position:relative;max-width:calc(var(--isi) + 2 * var(--gutter));margin:0 auto;padding:40px var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.land-hero > div:first-child > *{animation:naik-masuk .55s var(--lunak) both}
.land-hero > div:first-child > :nth-child(2){animation-delay:.08s}
.land-hero > div:first-child > :nth-child(3){animation-delay:.16s}
.land-hero h1{color:#fff;font-size:clamp(40px,5.6vw,68px);line-height:1.02;margin:0 0 20px;max-width:15ch}
.land-hero h1 em{font-style:normal;color:var(--accent)}
.land-hero .lead{color:var(--hero-muted);font-size:18px;max-width:54ch;margin:0 0 30px}
.logo-besar{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
.logo-besar .lingkar{width:330px;height:330px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 14px rgba(255,255,255,.1),0 30px 60px -20px rgba(0,0,0,.5);animation:skala-masuk .6s var(--lunak) .1s both}
.logo-besar img{width:272px}
@keyframes skala-masuk{from{opacity:0;transform:scale(.92)}}
.land-bagian{max-width:calc(var(--isi) + 2 * var(--gutter));margin:0 auto;padding:72px var(--gutter) 0}
.land-bagian > h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:8px}
.land-bagian > .lead{color:var(--muted);max-width:60ch;margin-bottom:28px;font-size:17px}
.tentang-kepala{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 56px;align-items:end;padding-bottom:36px}
.tentang .alis{font:800 13px/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--link);margin:0 0 12px}
.tentang h2{font-size:clamp(30px,3.8vw,46px);line-height:1.08;margin:0;max-width:14ch}
.tentang .lead{color:var(--muted);font-size:17px;max-width:52ch;margin:0}
.tentang-poin{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.tentang-poin li{padding:24px 32px 4px 0}
.tentang-poin li + li{padding-left:32px;border-left:1px solid var(--line)}
.tentang-poin .angka{display:block;font:700 14px var(--mono);color:var(--link);margin-bottom:14px}
.tentang-poin h3{font-size:21px;line-height:1.25;margin:0 0 8px}
.tentang-poin p{color:var(--muted);font-size:15px;margin:0;max-width:34ch}
.dua-peran{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dua-peran > div{border-radius:var(--r2);padding:30px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-kartu)}
.dua-peran > div.peran-guru{position:relative;overflow:hidden;background:var(--hero);color:#fff;border:0}
.dua-peran > div.peran-guru > :not(.jar){position:relative}
.peran-guru .jar svg{width:45%;right:-6%;min-width:0;opacity:.6}
.dua-peran .peran-guru h3{color:#fff}
.dua-peran .peran-guru li,.dua-peran .peran-guru .mini{color:var(--hero-muted)}
.dua-peran .peran-guru a:not(.btn){color:var(--accent-teks)}
.dua-peran h3{font-size:26px;margin-bottom:12px}
.dua-peran ul{margin:0 0 18px;padding-left:20px}
.dua-peran li{margin:7px 0}
.land-kaki{max-width:calc(var(--isi) + 2 * var(--gutter));margin:72px auto 0;padding:24px var(--gutter) 40px;color:var(--muted);font-size:13.5px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ---- Dialog konfirmasi ---- */
.dialog{border:0;padding:0;border-radius:var(--r2);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-melayang);width:min(440px,calc(100vw - 32px));
  opacity:0;transform:translateY(10px) scale(.97);transition:opacity var(--cepat),transform var(--cepat) var(--lunak),overlay var(--cepat) allow-discrete,display var(--cepat) allow-discrete}
.dialog[open]{opacity:1;transform:none}
@starting-style{.dialog[open]{opacity:0;transform:translateY(10px) scale(.97)}}
.dialog::backdrop{background:rgba(10,21,48,.55)}
.dialog form{padding:24px}
.dialog h2{font-size:21px;margin-bottom:8px}
.dialog p{color:var(--muted);margin-bottom:22px}
.dialog .tombol-baris{justify-content:flex-end}

/* ---- Halaman galat ---- */
.galat{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.galat .kotak{max-width:480px;text-align:center;animation:naik-masuk var(--sedang) var(--lunak) both}
.galat .kode{font:800 96px/1 var(--head);color:var(--primary)}
.galat img{width:84px;height:84px;border-radius:50%;background:#fff;border:3px solid var(--accent);margin-bottom:16px}
.galat h1{font-size:28px;margin:8px 0}
.galat p{color:var(--muted);margin-bottom:24px}

/* ---- Toast: melayang di atas isi ---- */
.toast{position:fixed;top:76px;right:16px;z-index:100;display:grid;gap:10px;max-width:min(440px,calc(100vw - 32px))}
.toast .flash{margin:0;box-shadow:var(--shadow-melayang);cursor:pointer;animation:toast-masuk .35s var(--lunak) both}
@keyframes toast-masuk{from{opacity:0;transform:translateX(24px)}}

/* ---- Responsif ---- */
@media (max-width:1080px){
  :root{--gutter:28px}
  .kolom{grid-template-columns:minmax(0,1fr)}
  .lengket{position:static}
  .land-hero{grid-template-columns:minmax(0,1fr)}
  .logo-besar{display:none}
  .tentang-kepala{grid-template-columns:minmax(0,1fr)}
  .auth-kiri{padding:36px}
}
@media (max-width:820px){
  :root{--gutter:16px;--nav-bawah:68px}
  .nav-atas,.akun-nama{display:none}
  .bilah-dalam{min-height:58px;gap:12px}
  .merek img{width:38px;height:38px}
  .merek small{display:none}
  .akun-tombol{padding:0 4px;border-radius:50%}
  .nav-bawah{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px -18px rgba(14,31,69,.5);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px))}
  .nav-bawah a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;padding:4px 2px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:700;text-align:center;line-height:1.15;border-radius:12px}
  /* Admin punya 6 menu: kecilkan sedikit agar label tidak bertabrakan di layar 390px. */
  .nav-bawah:has(a:nth-child(6)) a{font-size:11px;letter-spacing:-.01em}
  .nav-bawah:has(a:nth-child(6)) a .ic{width:44px;padding:4px 10px}
  .nav-bawah a .ic{width:52px;height:30px;padding:4px 14px;border-radius:99px;box-sizing:border-box;transition:background-color var(--sedang) var(--lunak),color var(--cepat),transform var(--cepat)}
  .nav-bawah a:active .ic{transform:scale(.94)}
  .nav-bawah a[aria-current="page"]{color:var(--ink)}
  .nav-bawah a[aria-current="page"] .ic{background:var(--accent);color:var(--on-accent)}
  .utama{padding-bottom:calc(var(--nav-bawah) + env(safe-area-inset-bottom,0px))}
  .toast{top:66px}
  .kepala-dalam{padding-top:22px;padding-bottom:30px}
  .kepala--naik .kepala-dalam{padding-bottom:84px}
  .kepala .sub{font-size:15.5px}
  .kepala .jejak{margin-top:20px}
  .isi{padding-top:20px;padding-bottom:40px}
  .isi--naik{margin-top:-62px;padding-top:0}
  .jar svg{width:110%;right:-62%;opacity:.5}
  .statistik{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{padding:14px;gap:10px;flex-direction:column;align-items:flex-start}
  .stat .ikon-kotak{width:40px;height:40px;border-radius:12px}
  .stat b{font-size:24px}
  .statistik--3 .stat:last-child{grid-column:1 / -1;flex-direction:row;align-items:center}
  .berikut{grid-template-columns:minmax(0,1fr);padding:20px;gap:14px}
  .berikut .cincin{display:none}
  .grid-modul{grid-template-columns:minmax(0,1fr)}
  .mcard{min-height:0}
  .mcard--terbit{grid-column:auto}
  .lk{grid-template-columns:40px minmax(0,1fr);gap:8px 14px;padding:14px}
  .lk .aksi{grid-column:2;justify-content:space-between}
  .lk:not(:last-child)::after{display:none}
  .baris2,.dua-peran{grid-template-columns:minmax(0,1fr)}
  .skala{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{padding:18px}
  .pintasan{grid-template-columns:minmax(0,1fr)}
  .auth{grid-template-columns:minmax(0,1fr)}
  .auth-kiri{display:none}
  .auth-mobile-merek{display:flex}
  .auth-kanan{padding:16px}
  .auth-form{margin:0 auto;padding-top:20px}
  .auth-form h2{font-size:32px}
  .land{padding-bottom:56px}
  .land-nav nav a:not(.btn){display:none}
  .land-hero{padding-top:20px}
  .land-bagian{padding-top:52px}
  .tentang-kepala{padding-bottom:28px}
  .tentang-poin{grid-template-columns:minmax(0,1fr)}
  .tentang-poin li,.tentang-poin li + li{padding:20px 0;border-left:0}
  .tentang-poin li + li{border-top:1px solid var(--line)}
  .dua-peran > div{padding:22px}
  .hasil-grid{grid-template-columns:minmax(0,1fr)}
  .pv-area{padding:8px}
  .pv-bar .sp{display:none}
  .bar-lkpd{padding:10px 10px 10px 14px}
  .penyaring .input{min-width:0;width:100%}
  .penyaring > div{flex:1 1 180px}
  /* Tabel menjadi tumpukan kartu kecil di HP: tiap sel diberi label kolomnya. */
  .tabel--tumpuk thead{display:none}
  .tabel--tumpuk tr{display:block;padding:14px 16px;border-bottom:1px solid var(--line)}
  .tabel--tumpuk tr:last-child{border-bottom:0}
  .tabel--tumpuk td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;border:0;text-align:right}
  .tabel--tumpuk td[data-label]::before{content:attr(data-label);font:700 13.5px var(--body);letter-spacing:0;color:var(--muted);text-align:left;flex:none}
  .tabel--tumpuk td.utama-sel{display:block;text-align:left;padding-bottom:8px}
  .tabel--tumpuk td.aksi-sel{justify-content:flex-start;flex-wrap:wrap;gap:8px;padding-top:10px;text-align:left}
  .tabel--tumpuk .aksi-sel form + form,.tabel--tumpuk .aksi-sel .btn + form{margin-left:0}
  .tabel--tumpuk td.kosong{display:block;text-align:left}
}
@media (max-width:420px){
  .jejak a,.jejak span.jejak-isi{font-size:12px}
  .tombol-baris .btn{flex:1 1 auto}
}
@media (pointer:coarse){.btn--kecil{min-height:44px}}

/* ---- Gerak dikurangi: semua animasi dan transisi mati, isi langsung tampil ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-muncul]{opacity:1;translate:none}
}
@media print{.bilah,.nav-bawah,.bar-lkpd,.toast,.jar{display:none}.utama{padding:0}.kepala{background:none;color:#000}.kepala h1{color:#000}}

/* ---------- Kuis (pretest dan post-test) ---------- */
.kuis-daftar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}
.kuis-kartu{display:flex;flex-direction:column;gap:6px}
.kuis-kartu .btn{align-self:flex-start;margin-top:auto}
.kuis-kartu h2{font-size:22px;margin:6px 0 0}
.kuis-kartu p{margin:0 0 6px}
.kuis-kartu-atas{display:flex;align-items:center;justify-content:space-between;gap:12px}
.skor-mini{font-size:15px}.skor-mini b{font:800 34px/1 var(--head);color:var(--ink)}
.kuis-meta{display:flex;gap:26px;flex-wrap:wrap;margin:8px 0 16px}
.kuis-meta div{min-width:0}
.kuis-meta dt{font:800 12px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.kuis-meta dd{margin:2px 0 0;font:700 18px var(--body);color:var(--ink)}
.kuis-meta--besar{gap:34px;margin-bottom:0}.kuis-meta--besar dd{font:800 40px/1.1 var(--head)}
.kuis-aturan{margin:0 0 16px;padding-left:20px;line-height:1.7}.kuis-aturan li+li{margin-top:6px}
.kuis-aksi{display:flex;flex-direction:column;gap:8px}.kuis-aksi p{margin:0}
.kuis-aksi form{display:block}
.label-kecil{display:block;font:800 12px var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.skor-besar{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.skor-besar b{font:800 64px/1 var(--head);color:var(--primary)}.skor-besar small{color:var(--muted);font-size:15px}

.kuis-bar{position:sticky;top:72px;z-index:20;display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--shadow-kartu)}
.kuis-waktu{display:flex;align-items:center;gap:8px;color:var(--primary)}
.kuis-waktu .mono{font-size:26px;font-weight:800;color:var(--ink);min-width:3.4ch}
.kuis-waktu small{color:var(--muted);font-size:13px}
.kuis-waktu--habis .mono,.kuis-waktu--habis svg{color:var(--danger)}
.kuis-maju{flex:1 1 200px;min-width:0}.kuis-maju .bar{margin-top:6px}
.kuis-status--galat{color:var(--danger);font-weight:700}
.navsoal{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.navsoal a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border-radius:10px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:700 14px var(--mono);text-decoration:none}
.navsoal a:hover{background:var(--surface-2)}
.navsoal .navsoal--isi{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.daftar-soal{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:16px}
.soal{scroll-margin-top:170px}
.soal fieldset{border:0;margin:0;padding:0;min-width:0}
.soal legend{padding:0;margin-bottom:14px;width:100%}
.soal-no{display:block;font:800 12px var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.soal-teks{display:block;font:600 18px/1.55 var(--body);color:var(--ink)}
.opsi-daftar{display:grid;gap:10px}
.opsi{display:flex;gap:12px;align-items:flex-start;min-height:52px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:var(--surface);cursor:pointer;transition:border-color var(--cepat),background-color var(--cepat)}
.opsi:hover{background:var(--surface-2)}
.opsi input{position:absolute;opacity:0;width:1px;height:1px}
.opsi .huruf,.opsi-isian .huruf{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-strong);font:800 14px var(--mono);color:var(--muted);background:var(--surface)}
.opsi-teks{padding-top:3px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.opsi:has(input:checked){border-color:var(--primary);background:var(--info-bg)}
.opsi:has(input:checked) .huruf,.opsi-isian input:checked+.huruf{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.opsi:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.kuis-kirim{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.per-modul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.per-modul li{display:grid;grid-template-columns:78px 1fr 64px;gap:12px;align-items:center}
.per-modul--dua li{grid-template-columns:78px 1fr 150px}
.per-legenda{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 14px;font-size:14px;color:var(--muted)}
.per-legenda i{display:inline-block;width:22px;height:8px;border-radius:99px;margin-right:6px;vertical-align:middle;background:var(--primary)}
.per-legenda i.k{background:var(--accent)}
.per-modul .pasang{display:grid;gap:5px}
.bar--kuning i{background:linear-gradient(90deg,var(--accent),var(--accent-hover))}
.centang{display:flex;gap:10px;align-items:center;min-height:50px;font-weight:600}
.centang input{width:20px;height:20px;accent-color:var(--primary)}
.opsi-isian{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.opsi-isian .input{flex:1}
.centang--radio{min-height:0;position:relative;cursor:pointer}
.centang--radio input{position:absolute;opacity:0;width:30px;height:30px;margin:0;cursor:pointer}
.centang--radio input:focus-visible+.huruf{outline:3px solid var(--focus);outline-offset:2px}
.kode-contoh{margin:0;padding:12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);font:500 13px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
@media (max-width:640px){
  .kuis-bar{top:66px;gap:6px 14px;padding:10px 14px}
  .kuis-waktu .mono{font-size:22px}
  .kuis-waktu small{display:none}
  .kuis-maju{flex:1 1 120px}
  .kuis-status{flex-basis:100%;font-size:13px}
  .skor-besar b{font-size:52px}
  .per-modul li{grid-template-columns:64px 1fr 52px}
  .per-modul--dua li{grid-template-columns:1fr;gap:4px}
}

/* ---- Alur berurutan: langkah terkunci, tombol Lanjut ---- */
.jejak--terkunci .node{border-style:dotted;opacity:.7}
.jejak--terkunci .jejak-nama{font-weight:500;opacity:.75}
.lk--terkunci .no{background:var(--grey-bg);color:var(--grey)}
.lk--terkunci b,.lk--terkunci small{opacity:.8}
.lanjut{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin-top:18px;padding:16px 20px;border-radius:var(--r2);background:var(--ok-bg);color:var(--ok);font-weight:700}
.lanjut[hidden]{display:none}
.lanjut .btn{flex:0 0 auto}

/* ---- Praktikum ---- */
.pk-intro summary,.card details summary{cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:12px;list-style:none}
.pk-intro summary h2,.card details summary h2{margin:0}
.pk-intro h3{margin:18px 0 6px;font-size:15px}
.pk-teori dt{font-weight:800;margin-top:10px}
.pk-teori dd{margin:2px 0 0;color:var(--muted)}
.pk{margin:18px 0}
.pk-atas{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.pk-batang{flex:1 1 160px;height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line)}
.pk-batang span{display:block;height:100%;width:0;background:var(--primary);border-radius:99px;transition:width var(--cepat) var(--lunak)}
.pk-daftar{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.pk-langkah[hidden]{display:none}
.pk-tahap{margin:0 0 6px;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pk-langkah h2{display:flex;align-items:center;gap:12px;margin:0 0 8px}
.pk-no{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:inline-flex;align-items:center;justify-content:center;font:800 15px var(--head)}
.pk-gambar{display:block;max-width:100%;height:auto;margin:12px 0 0;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.pk-nav{display:flex;gap:12px;align-items:center;margin-top:14px}
.pk-nav[hidden],.pk-atas[hidden]{display:none}
.tabel th[scope=row]{text-transform:none;letter-spacing:0;font:700 14.5px var(--body);color:var(--ink);background:transparent;white-space:normal}
.tabel .mono{font-family:var(--mono)}
@media (max-width:560px){.pk-nav .btn{flex:1 1 0}.pk-nav .sp{display:none}}
.cadangan-game{margin-top:18px;color:var(--muted)}
.cadangan-game summary{cursor:pointer;font-weight:700}
.skor-angka{display:flex;align-items:center;gap:10px;margin-top:8px}
.skor-angka .input{width:96px;min-height:44px}
.unggah[hidden]{display:none}
/* Praktikum (mode satu langkah): ukuran kartu tetap supaya tombol tidak berpindah-pindah */
.pk-media{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:12px}
.pk-media a{display:flex;flex:1 1 0;min-width:0;height:100%;align-items:center;justify-content:center}
.pk-media .pk-gambar{margin:0}
.pk-media--kosong{display:none}
.pk--js{scroll-margin-top:84px}
.pk--js .pk-langkah{display:flex;flex-direction:column}
.pk--js .pk-langkah h2{min-height:2.6em}
.pk--js .pk-isi{height:6.4em;overflow:auto;margin:0}
.pk--js .pk-media{height:clamp(240px,46vh,440px);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:10px}
.pk--js .pk-media .pk-gambar{max-height:100%;max-width:100%;width:auto;object-fit:contain}
.pk--js .pk-media--kosong{display:flex;text-align:center;color:var(--muted);font-weight:600}
@media (max-width:560px){.pk--js .pk-isi{height:9.5em}.pk--js .pk-media{height:clamp(200px,38vh,320px);flex-direction:column}.pk--js .pk-media a{flex:1 1 0;min-height:0;width:100%}}
.ingat{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--warn-bg);color:var(--ink);border:1.5px solid color-mix(in srgb,var(--accent) 70%,transparent);border-radius:var(--r2);padding:16px 18px;margin-bottom:20px;box-shadow:var(--shadow-kartu)}
.ingat > div{flex:1 1 260px}
.ingat b{font-size:17px;display:block}
.ingat p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.ingat-ikon{width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;flex:none}
/* Refleksi */
.refleksi fieldset{border:0;margin:0;padding:0}
.refleksi legend h2{margin:0 0 12px}
.skala-paham{display:grid;gap:8px}
.skala-paham label,.cek-tujuan label{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;font-weight:600;min-height:48px}
.skala-paham label:has(input:checked),.cek-tujuan label:has(input:checked){border-color:var(--primary);background:var(--info-bg)}
.skala-paham input,.cek-tujuan input{width:20px;height:20px;accent-color:var(--primary);flex:none}
.skala-paham .angka{width:32px;height:32px;border-radius:50%;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;font:800 15px var(--head);flex:none}
.skala-paham label:has(input:checked) .angka{background:var(--accent);color:var(--on-accent)}
.cek-tujuan{display:grid;gap:8px}
.refleksi .card{margin-bottom:16px}
.pk--js .pk-langkah h2{min-height:0;height:2.6em;line-height:1.3;overflow:hidden;align-items:flex-start}
.pk--js .pk-langkah h2 .pk-no{margin-top:.05em}
.pk--js .pk-tahap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:560px){.pk--js .pk-langkah h2{height:3.9em;font-size:19px}}
.pk--js .pk-langkah{margin:0 !important}
@media (max-width:560px){.pk--js .pk-isi{height:12.6em;font-size:15px;line-height:1.5}.pk--js .pk-media{height:clamp(170px,30vh,260px)}}
/* Simulasi layar penuh */
.bingkai-alat{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bingkai-bungkus{position:relative}
.bingkai-tutup{display:none;position:absolute;top:10px;right:14px;z-index:3;box-shadow:var(--shadow-melayang)}
.bingkai-bungkus.layar-penuh{position:fixed;inset:0;z-index:1000;border:0;border-radius:0;background:#fff}
.bingkai-bungkus:fullscreen{background:#fff}
.bingkai-bungkus.layar-penuh .bingkai{height:100vh;height:100dvh}
.bingkai-bungkus.layar-penuh .bingkai-tutup{display:inline-flex}
html.kunci-gulir,html.kunci-gulir body{overflow:hidden}
.bingkai-tutup{top:auto;bottom:16px;right:16px}
/* LKPD (lembar kerja) */
.pilihan--pg{flex-direction:column;align-items:stretch}
.pilihan--pg label{justify-content:flex-start}
.pilihan--pg label b{margin-right:2px}
.hasil-lembar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.hasil-lembar > div{background:var(--surface-2);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.hasil-lembar b{font-size:24px}
.hasil-lembar .hasil-total{background:var(--info-bg)}
.pg-hasil{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px;font-size:15px}
.pg-hasil li{padding:6px 10px;border-radius:8px;border:1px solid var(--line)}
.pg-hasil li.benar{background:var(--ok-bg);color:var(--ok);border-color:transparent;font-weight:700}
.pg-hasil li.salah{background:var(--danger-bg);color:var(--danger);border-color:transparent}
.bahas{margin:6px 0 0;font-size:14.5px}.bahas.ok{color:var(--ok)}.bahas.tidak{color:var(--danger)}
.contoh-jawab{margin-top:8px}.contoh-jawab summary{cursor:pointer;font-weight:700;color:var(--link)}.contoh-jawab p{background:var(--surface-2);border-radius:var(--r);padding:10px 12px;margin:6px 0 0;font-size:15px}
.pg-ringkas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;counter-reset:pg}
.pg-ringkas li{counter-increment:pg;border-radius:10px;padding:6px 8px;text-align:center;font:800 16px var(--mono);display:flex;flex-direction:column}
.pg-ringkas li::before{content:counter(pg);font:600 11px var(--body);opacity:.75}
.pg-ringkas li.ok{background:var(--ok-bg);color:var(--ok)}.pg-ringkas li.tidak{background:var(--danger-bg);color:var(--danger)}
.pg-ringkas small{font:600 11px var(--body)}

/* Halaman "Segera hadir" (alat bantu) */
.segera-hadir{max-width:560px;margin:0 auto;text-align:center;padding:40px 24px}
.segera-ikon{width:72px;height:72px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center;background:var(--surface-3);color:var(--primary,#003B7A)}
.segera-label{display:inline-block;padding:4px 12px;border-radius:999px;background:#F7B217;color:#0E1F45;font-weight:700;font-size:13px;margin-bottom:10px}
.segera-hadir h2{font-size:21px;margin:0 0 8px}
.segera-hadir p{color:var(--muted,#5b6475);margin:0 0 18px}

/* Materi mode gulir: mulai dari atas supaya halaman awal bisa digulir */
.pv-area.gulir{justify-content:flex-start}

/* Tombol lihat/sembunyikan password */
.sandi-bungkus{position:relative;display:block}
.sandi-bungkus .input{padding-right:48px;width:100%}
.sandi-intip{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted,#5b6475);cursor:pointer;display:grid;place-items:center}
.sandi-intip:hover{background:var(--surface-3)}
.sandi-intip:focus-visible{outline:2px solid #009BFF;outline-offset:1px}
.sandi-intip svg{width:20px;height:20px}
/* Sembunyikan tombol intip bawaan Edge supaya tidak dobel dengan tombol kita */
input[type="password"]::-ms-reveal,input[type="password"]::-ms-clear{display:none}
