/* Tema "Liquid Glass" ala iOS: latar gradasi bercahaya + kartu kaca buram */
:root{
  color-scheme:light;
  --green:#0f6b4b;--green-ink:#0b3a2b;--ink:#10241e;--muted:#4c5f58;--gold:#e8c46a;
  --glass:rgba(255,255,255,.58);--glass-strong:rgba(255,255,255,.72);--glass-edge:rgba(255,255,255,.75);
  --field:rgba(255,255,255,.55);--field-edge:rgba(16,36,30,.12);
  --blur:saturate(180%) blur(28px);
  --radius:30px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;overflow:hidden;color:var(--ink);background:#0b3a2b;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",system-ui,Roboto,Arial,sans-serif;
  font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-underline-offset:3px}
button,input{font:inherit}
:focus-visible{outline:3px solid #f0c75e;outline-offset:3px}
[hidden]{display:none!important}
.skip{position:fixed;top:-100px;left:16px;padding:10px 14px;background:#fff;z-index:10;border-radius:999px}
.skip:focus{top:12px}

/* Latar: gumpalan warna yang bergerak pelan di belakang kaca */
.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;
  background:radial-gradient(140% 100% at 0% 0%,#14805c 0%,#0d4d39 45%,#082a20 100%)}
.backdrop:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(80% 80% at 30% 30%,#000,transparent);mask-image:radial-gradient(80% 80% at 30% 30%,#000,transparent)}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.85;will-change:transform}
.b1{width:46vmax;height:46vmax;left:-12vmax;top:-14vmax;background:radial-gradient(circle,#2fbf86 0%,transparent 65%);animation:float1 22s ease-in-out infinite}
.b2{width:40vmax;height:40vmax;right:-10vmax;top:-8vmax;background:radial-gradient(circle,#e8c46a 0%,transparent 62%);opacity:.55;animation:float2 26s ease-in-out infinite}
.b3{width:50vmax;height:50vmax;right:-6vmax;bottom:-22vmax;background:radial-gradient(circle,#1aa3a0 0%,transparent 64%);opacity:.7;animation:float3 30s ease-in-out infinite}
.b4{width:34vmax;height:34vmax;left:22vw;bottom:-16vmax;background:radial-gradient(circle,#7bdc9f 0%,transparent 62%);opacity:.5;animation:float1 34s ease-in-out infinite reverse}
@keyframes float1{50%{transform:translate(6vmax,5vmax) scale(1.08)}}
@keyframes float2{50%{transform:translate(-7vmax,6vmax) scale(.94)}}
@keyframes float3{50%{transform:translate(-5vmax,-6vmax) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.blob{animation:none}}

/* Kaca: blur + saturasi, tepi berkilau, bayangan lembut */
.glass,.glass-chip{position:relative;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--glass-edge);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(255,255,255,.25),0 24px 60px rgba(4,30,22,.35),0 2px 8px rgba(4,30,22,.12)}
.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 70%,rgba(255,255,255,.22) 100%)}
.glass-chip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 30px rgba(0,0,0,.18)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass{background:rgba(255,255,255,.93)} .glass-chip{background:rgba(255,255,255,.16)}
}

/* Tata letak satu layar */
.shell{height:100vh;height:100dvh;display:grid;grid-template-columns:1.05fr minmax(420px,.95fr);gap:clamp(20px,4vw,64px);
  padding:clamp(16px,3.5vh,40px) clamp(20px,5vw,80px);max-width:1500px;margin:0 auto}

/* Kiri: teks di atas latar */
.intro{color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:4px 0}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;width:max-content;padding:7px 18px 7px 7px;border-radius:999px}
.brand img{border-radius:50%;object-fit:contain;background:#fff;padding:2px}
.brand span{font-size:9.5px;letter-spacing:1.3px;font-weight:600;color:rgba(255,255,255,.78)}
.brand strong{display:block;font-size:18px;letter-spacing:-.3px;font-weight:650;color:#fff}
.intro-copy{max-width:580px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:2px;color:var(--gold);font-weight:700}
.eyebrow:before{content:"";width:22px;height:1px;background:var(--gold)}
h1{font-size:clamp(34px,min(4.4vw,7vh),64px);line-height:1.04;letter-spacing:-2px;font-weight:700;margin:clamp(10px,2vh,20px) 0;text-shadow:0 2px 30px rgba(0,0,0,.18)}
h1 em{font-style:normal;background:linear-gradient(90deg,#c9f2d6,#f3dc97);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro-copy>p{font-size:clamp(14px,1.9vh,16.5px);line-height:1.7;color:rgba(255,255,255,.82);max-width:430px;margin:0}
.features{list-style:none;padding:0;margin:clamp(14px,3.4vh,34px) 0 0;display:grid;gap:clamp(7px,1.3vh,11px)}
.features li{display:flex;align-items:center;gap:12px;font-size:13.5px;color:#fff;padding:clamp(8px,1.3vh,12px) 18px;border-radius:999px;max-width:390px}
.features span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);font-size:10.5px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.intro-footer{font-size:12px;color:rgba(255,255,255,.65)}

/* Kanan: kartu kaca */
.panel{display:flex;align-items:center;justify-content:center;min-height:0}
.card{width:100%;max-width:440px;max-height:100%;border-radius:var(--radius);padding:clamp(18px,3.2vh,34px) clamp(22px,2.6vw,36px);display:flex;flex-direction:column}
.card>*{position:relative;flex-shrink:0}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(8px,2vh,18px)}
.back{text-decoration:none;color:var(--muted);font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.7)}
.back:hover{color:var(--green);background:rgba(255,255,255,.75)}
.mobile-brand{display:none}
.section-label{font-size:10px;letter-spacing:1.7px;font-weight:750;color:var(--green)}
h2{font-size:clamp(23px,3.6vh,30px);letter-spacing:-.9px;line-height:1.15;margin:6px 0 4px;font-weight:700}
.description{color:var(--muted);margin:0 0 clamp(12px,2.4vh,22px);font-size:13.5px}
.field{margin-bottom:clamp(9px,1.7vh,15px)}
.field>label{display:block;font-size:12.5px;font-weight:650;margin:0 0 6px 4px;color:#23382f}
.field input{width:100%;height:clamp(42px,5.9vh,48px);border-radius:16px;border:1px solid var(--field-edge);background:var(--field);padding:0 16px;color:var(--ink);font-size:15px;
  box-shadow:inset 0 1px 2px rgba(16,36,30,.06);transition:border-color .2s,box-shadow .2s,background .2s}
.field input::placeholder{color:#76877f;font-size:14px}
.field input:hover{background:rgba(255,255,255,.7)}
.field input:focus{background:rgba(255,255,255,.9);border-color:rgba(15,107,75,.55);box-shadow:0 0 0 4px rgba(15,107,75,.16);outline:none}
.hint{color:var(--muted);font-size:12px;margin:5px 0 0 4px}
.caps{color:#875510}
.password-wrap{position:relative}
.password-wrap input{padding-right:100px}
.toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:32px;border:0;border-radius:999px;padding:0 12px;font-size:12px;font-weight:650;color:var(--green);background:rgba(255,255,255,.6);cursor:pointer}
.toggle:hover{background:#fff}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 clamp(12px,2vh,18px);min-height:24px}
/* Saklar ala iOS untuk "Ingat saya" */
.remember{position:relative;display:flex;align-items:center;gap:10px;color:#2f443b;font-size:13px;cursor:pointer;user-select:none}
.remember input{position:absolute;opacity:0;width:1px;height:1px}
.switch{width:38px;height:23px;border-radius:999px;background:rgba(16,36,30,.16);position:relative;transition:background .2s;flex-shrink:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}
.switch:after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .2s}
.remember input:checked+.switch{background:#34c77b}
.remember input:checked+.switch:after{transform:translateX(15px)}
.remember input:focus-visible+.switch{outline:3px solid #f0c75e;outline-offset:2px}
.forgot{font-size:13px;font-weight:600;text-decoration:none}
.forgot:hover{text-decoration:underline}
.submit{border:0;border-radius:999px;color:#fff;height:clamp(44px,6vh,50px);width:100%;padding:0 20px;display:flex;justify-content:center;align-items:center;gap:12px;font-weight:650;font-size:14.5px;cursor:pointer;
  background:linear-gradient(180deg,#1b8a62 0%,#0f6b4b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 24px rgba(15,107,75,.35);transition:transform .15s,box-shadow .2s,filter .2s}
.submit:hover{filter:brightness(1.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 30px rgba(15,107,75,.42)}
.submit:active{transform:scale(.985)}
.submit span{transition:transform .2s}
.submit:hover span{transform:translateX(3px)}
.submit:disabled{opacity:.7;cursor:wait}
.submit-status{font-size:12px;color:var(--muted);margin:0;text-align:center}
.submit-status:not(:empty){margin-top:6px}
.divider{display:flex;align-items:center;gap:12px;margin:clamp(9px,1.8vh,16px) 0;color:#5d6f67;font-size:12px}
.divider:before,.divider:after{content:"";height:1px;background:rgba(16,36,30,.12);flex:1}
.google{display:flex;align-items:center;justify-content:center;gap:10px;height:clamp(42px,5.8vh,48px);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;
  background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 4px 14px rgba(4,30,22,.08);transition:background .2s}
.google:hover{background:rgba(255,255,255,.9)}
.surveys{margin-top:clamp(10px,2.2vh,18px);display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;border-radius:18px;padding:10px 14px;
  background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.6)}
.surveys>span{font-size:12.5px;font-weight:650;color:#23382f}
.surveys>div{display:flex;gap:14px;flex-wrap:wrap}
.surveys a{font-size:12.5px;font-weight:650;text-decoration:none}
.surveys a:hover{text-decoration:underline}
.help{text-align:center;font-size:11.5px;color:var(--muted);margin:clamp(8px,1.5vh,12px) 0 0}
.help a{font-weight:600}
.notice{border-radius:16px;padding:10px 14px;font-size:13px;margin-bottom:12px;overflow-wrap:anywhere}
.notice p{margin:3px 0 0}
.error{background:rgba(255,236,232,.85);border:1px solid #f2c4bc;color:#8d3026}
.success{background:rgba(234,248,239,.85);border:1px solid #bbdbc3;color:#245d36}

/* Layar pendek: rapatkan */
@media (max-height:720px){.features li:nth-child(3){display:none}}
@media (max-height:620px){.features,.description,.card>.help{display:none}.card-top{margin-bottom:6px}.surveys{padding:8px 12px}}
/* Tablet */
@media (max-width:1000px){.shell{grid-template-columns:.9fr minmax(380px,1.1fr);gap:24px}.features li{font-size:12.5px}}
/* Ponsel: hanya kartu */
@media (max-width:760px){
  .shell{display:flex;padding:14px;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .intro{display:none}
  .panel{flex:1}
  .card{max-width:440px;padding:18px 20px;--radius:26px}
  .mobile-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--ink)}
  .mobile-brand img{border-radius:50%;object-fit:contain;background:#fff;padding:1px}
  .surveys{flex-direction:column;align-items:flex-start;gap:4px}
}
/* Pengaman aksesibilitas: layar sangat pendek atau zoom besar tetap bisa dijangkau */
@media (max-height:520px){body{overflow:auto}.shell{height:auto;min-height:100dvh}}
