:root{--putih: #ffffff;--abu: #f4f3f1;--abu-2: #e7e5e1;--hitam: #0a0a0a;--teks: #1f1f1f;--redup: #5c5852;--oranye: #f26b1d;--oranye-tekan: #d9590f;--oranye-teks: #c2510f;--merah: #c62828;--r: 14px;--ease: cubic-bezier(.2, .8, .2, 1);--pegas: cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--putih);color:var(--teks);font:400 16px/1.6 Montserrat,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--oranye);outline-offset:2px}::selection{background:var(--oranye);color:var(--hitam)}.angka{font-variant-numeric:tabular-nums}.form-wrap{min-height:100dvh;display:flex;flex-direction:column}.f-bar{position:sticky;top:0;z-index:50;height:64px;display:flex;align-items:center;gap:16px;padding:0 clamp(16px,3vw,40px);background:var(--hitam);color:#fafafa}.f-merek{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:800;font-size:17px;letter-spacing:-.01em}.f-merek img{height:36px;width:auto}.f-merek b{color:var(--oranye)}.f-hitung{margin-left:auto;font-weight:700;color:#cfcfcf}.f-progres{position:absolute;left:0;right:0;bottom:0;height:4px;background:#262626}.f-progres i{display:block;height:100%;background:var(--oranye);transform-origin:left;transition:transform .6s var(--ease)}.f-panggung{flex:1;width:100%;max-width:820px;margin:0 auto;padding:clamp(32px,7vh,88px) clamp(16px,3vw,32px) 120px}.f-langkah{animation:masuk-maju .55s var(--ease) both}.f-langkah.mundur{animation-name:masuk-mundur}@keyframes masuk-maju{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}@keyframes masuk-mundur{0%{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:none}}.f-judul{font:800 clamp(30px,4.4vw,52px)/1.04 "Montserrat",sans-serif;letter-spacing:-.035em;color:var(--hitam);margin:0;animation:naik .6s var(--ease) both}.f-sub{font-size:17px;color:var(--redup);max-width:56ch;margin:14px 0 0;animation:naik .6s var(--ease) .08s both}.f-isi{margin-top:32px;display:flex;flex-direction:column;gap:22px;animation:naik .6s var(--ease) .14s both}@keyframes naik{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.f-sambut{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:center}.f-logo-besar{width:100%;height:auto;background:var(--hitam);border-radius:24px;padding:28px 30px;animation:logo-masuk .9s var(--pegas) both}@keyframes logo-masuk{0%{opacity:0;transform:scale(.8) rotate(-4deg)}to{opacity:1;transform:none}}.f-sambut .f-judul{font-size:clamp(36px,5.4vw,64px)}.f-aksi{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;animation:naik .6s var(--ease) .16s both}.f-poin{list-style:none;padding:0;margin:36px 0 0;display:flex;flex-wrap:wrap;gap:8px 24px;font-weight:600;animation:naik .6s var(--ease) .24s both}.f-poin li:before{content:"";display:inline-block;width:10px;height:10px;background:var(--oranye);border-radius:3px;margin-right:8px}.f-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border:0;border-radius:12px;background:var(--oranye);color:var(--hitam);font-weight:800;font-size:17px;text-decoration:none;transition:background-color .2s var(--ease),transform .2s var(--pegas),opacity .2s}.f-btn:hover{background:var(--oranye-tekan)}.f-btn:active{transform:scale(.96)}.f-btn:disabled{background:var(--abu-2);color:#8c8c8c;cursor:not-allowed;transform:none}.f-enter{font-size:13px;font-weight:600;opacity:.7}.f-btn:disabled .f-enter{display:none}.f-link,.f-kembali{background:none;border:0;padding:0;font-weight:700;color:var(--hitam);text-decoration:underline;text-decoration-color:var(--oranye);text-decoration-thickness:2px;text-underline-offset:5px}.f-kembali{text-decoration:none}.f-kembali:hover,.f-link:hover{color:var(--oranye-teks)}.f-navigasi{position:sticky;bottom:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(16px,3vw,40px) calc(14px + env(safe-area-inset-bottom));background:#fffffff0;border-top:1px solid var(--abu-2)}.f-pilihan{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.f-dua{grid-template-columns:repeat(2,minmax(0,1fr))}.f-tiga{grid-template-columns:repeat(3,minmax(0,1fr))}.f-opsi{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:76px;padding:18px 48px 18px 18px;border:2px solid transparent;border-radius:var(--r);background:var(--abu);animation:kartu-masuk .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 45ms + .12s);transition:transform .25s var(--pegas),background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}@keyframes kartu-masuk{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.f-opsi:hover{border-color:var(--hitam);transform:translateY(-2px)}.f-opsi:active{transform:scale(.97)}.f-opsi b{font-size:17px;font-weight:700}.f-opsi small{font-size:14px;color:var(--redup);line-height:1.4}.f-opsi.on{background:var(--hitam);color:#fafafa;border-color:var(--hitam)}.f-opsi.on small{color:#c9c9c9}.f-tanda{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;background:var(--oranye);display:grid;place-items:center;transform:scale(0);transition:transform .35s var(--pegas)}.f-tanda svg{width:16px;height:16px;fill:none;stroke:var(--hitam);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .35s var(--ease) .1s}.f-opsi.on .f-tanda{transform:scale(1)}.f-opsi.on .f-tanda svg{stroke-dashoffset:0}.f-pilihan-ikon .f-opsi{padding-top:16px}.f-ikon{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px;transition:transform .3s var(--pegas)}.f-opsi:hover .f-ikon{transform:scale(1.12) rotate(-4deg)}.f-opsi.on .f-ikon{stroke:var(--oranye)}.f-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.f-isian{display:flex;flex-direction:column;gap:6px;min-width:0}.f-isian.penuh{grid-column:1 / -1}.f-isian>span{font-weight:700;font-size:15px;color:var(--hitam)}.f-kolom{display:flex;align-items:center;background:var(--abu);border-radius:12px;border:2px solid transparent;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.f-kolom:focus-within{border-color:var(--oranye);background:var(--putih)}.f-kolom input,.f-kolom textarea,.f-isian select,.f-isian>input{flex:1;min-width:0;border:0;background:transparent;padding:14px 16px;font-size:18px;font-weight:600;color:var(--hitam);outline:0}.f-isian select,.f-isian>input{background:var(--abu);border-radius:12px;border:2px solid transparent;min-height:56px}.f-isian select:focus,.f-isian>input:focus{border-color:var(--oranye);background:var(--putih)}.f-kolom textarea{resize:vertical;min-height:96px;line-height:1.5;font-weight:500}.f-kolom em{font-style:normal;font-weight:700;color:var(--redup);padding:0 16px}.f-kolom em:first-child{padding-right:0}.f-isian.salah .f-kolom{border-color:var(--merah)}.f-isian small{color:var(--merah);font-weight:600;font-size:14px}.f-info{margin:0;padding:12px 16px;background:#fff3eb;border-radius:12px;color:var(--hitam);animation:naik .4s var(--ease) both}.f-galat{margin:0;padding:12px 16px;background:#fdecea;color:var(--merah);border-radius:12px;font-weight:700}.f-muncul{animation:naik .45s var(--ease) both;display:flex;flex-direction:column;gap:14px}.f-saklar{display:inline-flex;align-items:center;gap:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.f-saklar input{position:absolute;opacity:0}.f-saklar span{width:48px;height:28px;border-radius:99px;background:var(--abu-2);position:relative;transition:background-color .25s var(--ease)}.f-saklar span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--putih);transition:transform .3s var(--pegas)}.f-saklar input:checked+span{background:var(--oranye)}.f-saklar input:checked+span:after{transform:translate(20px)}.f-saklar input:focus-visible+span{outline:3px solid var(--oranye);outline-offset:2px}.f-hari{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.f-tgl{display:flex;flex-direction:column;align-items:center;gap:0;padding:10px 4px;border:2px solid transparent;border-radius:12px;background:var(--abu);animation:kartu-masuk .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 25ms + .12s);transition:transform .25s var(--pegas),background-color .2s,color .2s}.f-tgl small{font-size:13px;color:var(--redup)}.f-tgl b{font-size:22px;font-weight:800;line-height:1.2}.f-tgl:hover{border-color:var(--hitam)}.f-tgl.on{background:var(--oranye);color:var(--hitam);transform:translateY(-3px)}.f-tgl.on small{color:var(--hitam)}.f-tambah-pin{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;text-align:left;padding:16px 18px;border:2px dashed var(--abu-2);border-radius:var(--r);background:none;font-weight:700;transition:border-color .2s,background-color .2s}.f-tambah-pin span{color:var(--oranye-teks);font-size:20px}.f-tambah-pin small{font-weight:500;color:var(--redup)}.f-tambah-pin:hover{border-color:var(--oranye);background:#fff8f3}.f-peta{border-radius:var(--r);overflow:hidden;background:var(--abu)}.f-peta-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;font-size:14px;font-weight:600}.f-peta-bar span{flex:1;min-width:180px}.f-peta-bar button{border:0;background:var(--hitam);color:#fafafa;border-radius:8px;padding:8px 12px;font-weight:700;font-size:14px}.f-peta-bar button+button{background:var(--abu-2);color:var(--hitam)}.f-peta-map{height:340px;width:100%}.f-peta-map .leaflet-tile-pane{filter:grayscale(.85) contrast(1.05)}.f-pin-wrap{background:none;border:0}.f-pin{display:block;width:26px;height:26px;transform:translate(-50%,-100%) rotate(-45deg);border-radius:50% 50% 50% 0;background:var(--oranye);border:4px solid var(--hitam);animation:pin-jatuh .45s var(--pegas) both}@keyframes pin-jatuh{0%{transform:translate(-50%,-260%) rotate(-45deg);opacity:0}to{transform:translate(-50%,-100%) rotate(-45deg);opacity:1}}.f-syarat{max-height:42vh;overflow-y:auto;background:var(--abu);border-radius:var(--r);padding:6px 22px 18px;font-size:15px;line-height:1.65}.f-syarat h3{font-size:16px;font-weight:800;margin:18px 0 6px;color:var(--hitam)}.f-syarat p{margin:0 0 8px}.f-centang{display:flex;flex-direction:column;gap:8px}.f-cek{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:var(--abu);cursor:pointer;font-weight:600;animation:kartu-masuk .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms + .15s);transition:background-color .2s}.f-cek input{position:absolute;opacity:0}.f-kotak{flex:0 0 24px;height:24px;border-radius:7px;border:2px solid var(--hitam);background:var(--putih);position:relative;transition:background-color .2s,transform .3s var(--pegas)}.f-kotak:after{content:"";position:absolute;left:6px;top:1px;width:7px;height:13px;border:solid var(--hitam);border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);transition:transform .3s var(--pegas)}.f-cek.on{background:#fff3eb}.f-cek.on .f-kotak{background:var(--oranye);border-color:var(--oranye);transform:scale(1.08)}.f-cek.on .f-kotak:after{transform:rotate(45deg) scale(1)}.f-cek input:focus-visible+.f-kotak{outline:3px solid var(--oranye);outline-offset:2px}.f-ringkas{margin:0;display:flex;flex-direction:column;gap:6px}.f-ringkas div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 16px;background:var(--abu);border-radius:12px;animation:kartu-masuk .45s var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms + .12s)}.f-ringkas dt{font-weight:600;color:var(--redup)}.f-ringkas dd{margin:0;font-weight:700;color:var(--hitam)}.f-selesai{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:24px}.f-selesai .f-sub{margin-inline:auto}.f-selesai .f-aksi{justify-content:center}.f-centang-besar{width:112px;height:112px;border-radius:50%;background:var(--oranye);display:grid;place-items:center;margin-bottom:28px;animation:logo-masuk .7s var(--pegas) both}.f-centang-besar svg{width:64px;height:64px;fill:none;stroke:var(--hitam);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:gores .5s var(--ease) .45s forwards}@keyframes gores{to{stroke-dashoffset:0}}.f-ceria{position:absolute;inset:0 0 auto;height:0;pointer-events:none}.f-ceria i{position:absolute;top:40px;left:50%;width:10px;height:14px;border-radius:2px;background:var(--oranye);opacity:0;animation:ceria 1.6s var(--ease) both;animation-delay:calc(var(--i) * 30ms + .3s);--x: calc((var(--i) - 9) * 38px)}.f-ceria i:nth-child(3n){background:var(--hitam);width:8px;height:8px;border-radius:50%}.f-ceria i:nth-child(4n){background:var(--abu-2)}@keyframes ceria{0%{opacity:1;transform:translate(-50%) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--x)),320px) rotate(540deg)}}@media (max-width: 700px){.f-sambut{grid-template-columns:1fr;gap:28px}.f-logo-besar{width:140px;padding:18px 20px}.f-grid,.f-dua,.f-tiga,.f-pilihan{grid-template-columns:1fr}.f-opsi{min-height:64px}.f-hari{grid-template-columns:repeat(4,minmax(0,1fr))}.f-ringkas div{grid-template-columns:1fr;gap:2px}.f-enter{display:none}.f-navigasi .f-btn{flex:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.f-ceria{display:none}}
