/* Halaman profil peserta */
.p-wadah { max-width: 860px; }
.p-kartu { padding: 24px; margin-bottom: 20px; }
.p-kepala { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.p-foto { width: 56px; height: 56px; border-radius: 50%; background: #1570C8; color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 1.5rem; flex: none; }
.p-nama { margin: 0; font-size: 1.4rem; }
.p-user { margin: 2px 0 0; color: var(--teks-2, #4A5565); font-weight: 600; }
.p-statistik { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 24px; }
.p-stat { background: var(--biru-muda, #E8F3FD); border-radius: 12px; padding: 14px 12px; text-align: center; }
.p-stat strong { display: block; font-size: 1.7rem; line-height: 1.1; color: var(--navy, #12304F); }
.p-stat span { font-size: .82rem; color: var(--teks-2, #4A5565); }
.p-seksi { margin-top: 20px; }
.p-seksi h3 { margin: 0 0 10px; font-size: 1.05rem; }
.p-heat-bungkus { overflow-x: auto; padding-bottom: 6px; }
.p-heat { width: 100%; min-width: 640px; height: auto; display: block; }
.p-heat__bln { font-size: 9px; fill: var(--teks-2, #4A5565); }
.p-t0 { fill: #E6EAEF; background: #E6EAEF; }
.p-t1 { fill: #BFE0F8; background: #BFE0F8; }
.p-t2 { fill: #7DB9E8; background: #7DB9E8; }
.p-t3 { fill: #2B8CE6; background: #2B8CE6; }
.p-t4 { fill: #12304F; background: #12304F; }
.p-legenda { display: flex; align-items: center; gap: 4px; justify-content: flex-end; font-size: .78rem; color: var(--teks-2, #4A5565); margin: 6px 0 0; }
.p-legenda i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.p-kelas { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.p-kelas__atas { display: flex; justify-content: space-between; gap: 12px; font-weight: 700; }
.p-kelas__bintang { white-space: nowrap; color: #7A4B00; }
.p-bar { height: 8px; border-radius: 99px; background: #E6EAEF; margin: 8px 0 4px; overflow: hidden; }
.p-bar span { display: block; height: 100%; background: #2E8B57; border-radius: 99px; }
.p-kelas__ket { margin: 0; font-size: .85rem; color: var(--teks-2, #4A5565); }
.p-form label { display: block; font-weight: 600; margin: 14px 0 6px; }
.p-form input, .p-bagikan input { width: 100%; padding: 10px 12px; border: 1px solid var(--border, #C7CFD9); border-radius: 10px; font: inherit; background: var(--putih, #fff); color: inherit; }
.p-form button { margin-top: 16px; }
.p-galat { color: #B3261E; min-height: 1.2em; margin: 8px 0 0; }
.p-saklar { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.p-saklar input { width: 20px; height: 20px; }
.p-catatan { font-size: .85rem; color: var(--teks-2, #4A5565); margin: 8px 0; }
.p-bagikan { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.p-bagikan input { flex: 1 1 260px; width: auto; }
@media (max-width: 560px) { .p-statistik { grid-template-columns: repeat(2, 1fr); } }

html[data-tema="gelap"] .p-stat { background: #1B2633; }
html[data-tema="gelap"] .p-stat strong { color: #E4E7EB; }
html[data-tema="gelap"] .p-t0 { fill: #23272F; background: #23272F; }
html[data-tema="gelap"] .p-t1 { fill: #1B3A5C; background: #1B3A5C; }
html[data-tema="gelap"] .p-t2 { fill: #245E96; background: #245E96; }
html[data-tema="gelap"] .p-t3 { fill: #3B8AD9; background: #3B8AD9; }
html[data-tema="gelap"] .p-t4 { fill: #8CC6F8; background: #8CC6F8; }
html[data-tema="gelap"] .p-bar { background: #23272F; }
html[data-tema="gelap"] .p-kelas__bintang { color: #FFCB66; }
html[data-tema="gelap"] .p-heat__bln { fill: #A8AEB9; }
html[data-tema="gelap"] .p-form input, html[data-tema="gelap"] .p-bagikan input { background: #16181D; border-color: #3A404B; }
html[data-tema="gelap"] .p-galat { color: #FF8A80; }

.p-kelas__nama { color: inherit; }
a.p-kelas__nama { text-decoration: underline; text-decoration-color: rgba(21,112,200,.4); text-underline-offset: 3px; }
a.p-kelas__nama:hover { text-decoration-color: currentColor; }
.p-alat { margin-bottom: 16px; }
.p-alat select { padding: 10px 12px; border: 1px solid var(--border, #C7CFD9); border-radius: 10px; font: inherit; background: var(--putih, #fff); color: inherit; }
.p-peringkat { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
.p-peringkat__baris { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border: 1px solid var(--border, #C7CFD9); border-radius: 12px; background: var(--putih, #fff); }
.p-peringkat__baris.saya { border-color: #1570C8; box-shadow: 0 0 0 2px rgba(21,112,200,.15); }
.p-peringkat__no { width: 32px; height: 32px; border-radius: 50%; background: var(--biru-muda, #E8F3FD); display: grid; place-items: center; font-weight: 800; flex: none; }
.p-peringkat__baris:nth-child(-n+3) .p-peringkat__no { background: #FFE4B0; color: #6B3F00; }
.p-peringkat__nama { font-weight: 700; flex: 1; }
.p-peringkat__nilai { color: #7A4B00; font-weight: 700; white-space: nowrap; }
html[data-tema="gelap"] .p-peringkat__baris { background: #16181D; border-color: #2A2E36; }
html[data-tema="gelap"] .p-peringkat__no { background: #1B2633; }
html[data-tema="gelap"] .p-peringkat__baris:nth-child(-n+3) .p-peringkat__no { background: #3E2D0B; color: #FFCB66; }
html[data-tema="gelap"] .p-peringkat__nilai { color: #FFCB66; }
html[data-tema="gelap"] .p-alat select { background: #16181D; border-color: #3A404B; }

.p-detail { margin-top: 8px; }
.p-detail summary { cursor: pointer; font-weight: 700; font-size: .9rem; color: var(--biru-tua, #1570C8); }
.p-modul-daftar { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 12px; }
.p-modul__atas { display: flex; justify-content: space-between; gap: 12px; font-size: .92rem; }
.p-modul__atas span { color: var(--teks-2, #4A5565); white-space: nowrap; }
.p-bagian-daftar { list-style: none; margin: 6px 0 0; padding: 0 0 0 10px; border-left: 2px solid var(--border, #C7CFD9); display: grid; gap: 4px; }
.p-bagian { display: flex; justify-content: space-between; gap: 12px; font-size: .86rem; color: var(--teks-2, #4A5565); }
.p-bagian.selesai .p-bagian__nama { color: var(--teks, #2D2D2D); }
.p-bagian__info { white-space: nowrap; }
.p-bagian.selesai .p-bagian__info { color: #1F6B42; font-weight: 600; }
@media (max-width: 560px) { .p-bagian { flex-direction: column; gap: 0; } }
html[data-tema="gelap"] .p-bagian.selesai .p-bagian__nama { color: #E4E7EB; }
html[data-tema="gelap"] .p-bagian.selesai .p-bagian__info { color: #7FE0AB; }
html[data-tema="gelap"] .p-detail summary { color: #8CC6F8; }

#p-sert h4 { margin: 14px 0 6px; font-size: .98rem; }
.p-sert-daftar { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.p-sert { display: grid; gap: 6px; padding: 12px 14px; border: 1px solid var(--border, #C7CFD9); border-radius: 12px; }
.p-sert__status { font-size: .88rem; color: var(--teks-2, #4A5565); }
.p-sert__status.ok { color: #1F6B42; font-weight: 600; }
.p-sert__aksi { display: flex; flex-wrap: wrap; gap: 8px; }
.p-sert__aksi input { flex: 1 1 220px; padding: 8px 10px; border: 1px solid var(--border, #C7CFD9); border-radius: 10px; font: inherit; background: var(--putih, #fff); color: inherit; }
.p-sert__galat { color: #B3261E; font-size: .86rem; min-height: 1em; }
html[data-tema="gelap"] .p-sert { border-color: #2A2E36; }
html[data-tema="gelap"] .p-sert__status.ok { color: #7FE0AB; }
html[data-tema="gelap"] .p-sert__aksi input { background: #16181D; border-color: #3A404B; }
.p-sert-kelas { margin-top: 10px; }
.p-sert-kelas summary { cursor: pointer; font-weight: 700; padding: 8px 0; }
.p-sert-kelas .p-sert-daftar { margin-top: 6px; }
