/* Kos Komen web · satu palet dengan gedung (struktur-web.md bagian 11) */
:root{--krem:#FFF8E8;--tembok:#F6EAD7;--hijau:#5E9E7C;--hijau-muda:#8CC7A1;--bata:#B4523A;--gelap:#2E2A26;--abu:#8A7E70;--garis:#E3D2B6;--kuning:#FFD37A;--merah:#E0685A}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%;overflow:hidden;background:#9CC98A;font-family:"Nunito","Trebuchet MS","Segoe UI",Arial,sans-serif;color:var(--gelap)}
button{font:inherit;cursor:pointer}
#dunia{position:fixed;inset:0;touch-action:none}
#dunia canvas{display:block;width:100%;height:100%}
#bar{position:fixed;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:linear-gradient(#1E1814f0,#1E1814c8);color:var(--krem)}
.logo{font-weight:900;font-size:17px;letter-spacing:1.5px;white-space:nowrap;display:flex;align-items:center}
.logo i{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--hijau);margin-right:7px}
.day{background:var(--kuning);color:var(--gelap);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:900;margin-left:8px;letter-spacing:0}
.jam{font-size:11.5px;font-weight:800;text-align:right;line-height:1.3}
.jam b{color:#7CC48A}
.menu-atas{display:none}
.uji{position:fixed;left:50%;top:62px;transform:translateX(-50%);z-index:6;background:var(--merah);color:#fff;font-size:12px;font-weight:900;border-radius:10px;padding:4px 12px;white-space:nowrap}
.chip-tayang{position:fixed;left:12px;top:72px;z-index:5;max-width:72vw;text-align:left;background:var(--krem);border:3px solid var(--gelap);border-radius:14px;padding:6px 10px;font-weight:900;font-size:13px;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.chip-tayang small{display:block;font-size:11px;color:var(--abu)}
.kontrol{position:fixed;right:12px;top:76px;z-index:5;display:flex;flex-direction:column;gap:8px}
.kontrol button{width:44px;height:44px;border-radius:50%;background:var(--krem);border:3px solid var(--gelap);font-size:19px;font-weight:900}
.menu-bawah{position:fixed;left:0;right:0;bottom:0;z-index:7;height:68px;padding-bottom:env(safe-area-inset-bottom);background:var(--krem);border-top:2px solid var(--garis);display:flex;justify-content:space-around;align-items:center}
.menu-bawah button,.menu-atas button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:900;color:var(--abu);padding:4px 6px}
.menu-bawah button span{font-size:21px}
.menu-bawah button[aria-current=true],.menu-atas button[aria-current=true]{color:var(--bata)}
/* panel: HP = lembar bawah, PC = panel samping */
.panel{position:fixed;left:8px;right:8px;bottom:76px;z-index:6;max-height:56vh;overflow:auto;background:var(--krem);border-radius:22px 22px 16px 16px;padding:8px 14px 14px;box-shadow:0 -8px 24px rgba(0,0,0,.35)}
.panel:empty{display:none}
.panel .grip{width:50px;height:5px;border-radius:3px;background:#D9C3A0;margin:0 auto 8px}
.panel h2{margin:4px 0 6px;font-size:18px;font-weight:900}
.panel h3{margin:12px 0 4px;font-size:13px;font-weight:900;letter-spacing:1px;color:var(--hijau)}
.panel p{margin:4px 0;font-size:13.5px;font-weight:700;color:#4A3F35;line-height:1.45}
.btn{display:block;width:100%;text-align:center;border:3px solid var(--gelap);border-radius:12px;padding:10px;font-weight:900;font-size:15px;margin-top:8px;background:#fff;color:var(--gelap)}
.btn.utama{background:var(--hijau);color:#fff}
.cari{width:100%;border:3px solid var(--gelap);border-radius:12px;padding:10px 12px;font-size:16px;font-weight:800;font-family:inherit;background:#fff}
.hasil{list-style:none;margin:8px 0 0;padding:0}
.hasil li{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--garis);cursor:pointer;font-weight:800;font-size:14px}
.hasil li:hover{background:#FFF1C9}
.titik{display:inline-block;width:20px;height:20px;border-radius:50%;border:3px solid var(--gelap);flex:none}
.kmr{margin-left:auto;background:var(--gelap);color:var(--kuning);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:900;white-space:nowrap}
.lgk{border:2px solid #CFE5D6;background:#EEF7F0;border-radius:14px;padding:8px 12px;margin-top:10px}
.lgk div{display:flex;justify-content:space-between;font-size:13.5px;font-weight:800;padding:5px 0;border-top:1px solid #D7E9DC}
.lgk div:first-child{border-top:0}
.kunci{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.kunci button{flex:1 1 30%;border:2px dashed #C9B48F;border-radius:12px;padding:8px;font-size:12px;font-weight:800;color:var(--abu);background:none}
.pin{background:#FFF1C9;border:2px solid #E8C96B;border-radius:12px;padding:8px 12px;margin-top:6px;font-size:13px;font-weight:800}
.pin b{display:block}
.poll div{margin-top:6px;font-size:13px;font-weight:800}
.poll i{display:block;height:11px;border-radius:6px;background:#F1E2CA;margin-top:3px;overflow:hidden}
.poll i u{display:block;height:100%;background:#6FA8DC}
.poll .m i u{background:var(--merah)}
.riw{display:flex;gap:10px;margin-top:7px;font-size:13px;font-weight:800}
.riw span{flex:none;background:var(--gelap);color:var(--kuning);border-radius:8px;padding:1px 7px;font-size:11px;height:fit-content}
.riw small{display:block;color:var(--abu);font-weight:700}
.kosong{border:2px dashed var(--garis);border-radius:12px;padding:12px;text-align:center;font-size:13px;font-weight:700;color:var(--abu);margin-top:6px}
/* kartu penghuni */
.kartu{border:4px solid var(--gelap);border-radius:20px;overflow:hidden;background:var(--krem);margin-top:6px}
.kartu .kp{background:var(--hijau);color:var(--krem);display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-weight:900;letter-spacing:1px;border-bottom:4px solid var(--gelap)}
.kartu .kp small{background:var(--gelap);color:var(--kuning);border-radius:8px;padding:2px 8px;letter-spacing:0}
.kartu .ki{padding:12px 14px;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px}
.kartu .nm{grid-column:1/-1;font-size:26px;font-weight:900;color:var(--bata);line-height:1}
.kartu .un{grid-column:1/-1;color:var(--abu);font-weight:800;margin-bottom:6px}
.kartu .ki span{color:var(--abu);font-weight:800} .kartu .ki b{font-weight:900}
.kartu .lc{padding:0 14px 12px;display:flex;gap:6px;flex-wrap:wrap}
.kartu .lc i{font-style:normal;font-size:12px;font-weight:900;background:#FFD43B;border:3px solid #1E1814;border-radius:20px;padding:2px 10px}
.modal{position:fixed;inset:0;z-index:9;background:rgba(20,15,10,.55);display:flex;align-items:center;justify-content:center;padding:18px}
.modal>div{width:min(440px,100%);max-height:86vh;overflow:auto;background:var(--krem);border:4px solid var(--gelap);border-radius:22px;padding:16px 18px}
.modal h2{margin:0 0 6px;font-size:21px}
.modal p{font-size:14px;font-weight:700;color:#4A3F35}
.tutup{float:right;background:none;border:0;font-size:22px;font-weight:900}
/* PC / laptop */
@media (min-width:1024px){
  .menu-bawah{display:none}
  .menu-atas{display:flex;gap:4px}
  .menu-atas button{flex-direction:row;font-size:14px;gap:6px;color:#E9DFC9}
  .menu-atas button[aria-current=true]{color:var(--kuning)}
  .panel{left:16px;right:auto;top:76px;bottom:16px;width:380px;max-height:none;border-radius:18px;border:3px solid var(--gelap)}
  .panel .grip{display:none}
  .chip-tayang{left:auto;right:76px;top:76px}
  .kontrol{top:auto;bottom:24px;right:20px}
  .uji{top:66px}
}
