/* Tampilan mengikuti versi artifact user: satu kolom 720px, bagian A–E berurutan */
:root{
  --bg:#F3F5F4; --surface:#FFFFFF; --ink:#16201C; --muted:#56635E; --line:#D8DEDB;
  --accent:#1F6F5C; --accent-ink:#FFFFFF; --accent-soft:#E2EFEB; --warn:#A8441C;
  --display:'Archivo',system-ui,sans-serif; --body:'Manrope',system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#101513; --surface:#18201D; --ink:#E7ECEA; --muted:#9BA9A3; --line:#2B3532;
  --accent:#5DBE9F; --accent-ink:#0B1712; --accent-soft:#1C2F28; --warn:#F08A5D; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#101513; --surface:#18201D; --ink:#E7ECEA; --muted:#9BA9A3; --line:#2B3532;
  --accent:#5DBE9F; --accent-ink:#0B1712; --accent-soft:#1C2F28; --warn:#F08A5D; color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55}
img{max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:720px;margin:0 auto;padding-block:40px 80px;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  display:flex;flex-direction:column;gap:28px}
header{display:flex;flex-direction:column;gap:10px}
.eyebrow{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0}
h1{font-family:var(--display);font-weight:800;font-size:clamp(28px,6vw,40px);line-height:1.1;margin:0;text-wrap:balance}
.lead{color:var(--muted);margin:0;max-width:60ch}
.progress{display:flex;gap:6px;flex-wrap:wrap}
.progress a{font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.progress a:hover,.progress a:focus-visible{color:var(--accent);border-color:var(--accent)}
form{display:flex;flex-direction:column;gap:28px}
section{display:flex;flex-direction:column;gap:14px;scroll-margin-top:16px}
section>h2{font-family:var(--display);font-size:20px;font-weight:700;margin:12px 0 0;display:flex;gap:10px;align-items:baseline}
section>h2 span{color:var(--accent);font-size:14px}
.q{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.q.ada-galat{border-color:var(--warn)}
.q label.t,.q legend{font-weight:700;font-size:15px;padding:0}
.q fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.hint{font-size:13px;color:var(--muted);margin:-6px 0 0}
.req{color:var(--warn)}
input[type=text],textarea,select{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
textarea{min-height:88px;resize:vertical}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;background:var(--bg);min-height:40px;line-height:22px}
.chip input:checked+span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.tile{position:relative}
.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}
.tile .box{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;border:1px solid var(--line);border-radius:10px;padding:14px 10px;background:var(--bg);height:100%}
.tile svg{width:100%;max-width:110px;height:64px;color:var(--ink)}
.tile .lbl{font-size:13px;font-weight:700}
.tile .sub{font-size:12px;color:var(--muted);line-height:1.35}
.tile input:checked+.box{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.tile input:focus-visible+.box{outline:2px solid var(--accent);outline-offset:2px}
.font-sample{font-size:26px;line-height:64px;height:64px;color:var(--ink)}
.err{color:var(--warn);font-size:13px;font-weight:600;margin:0}
.actions{display:flex;gap:10px;flex-wrap:wrap}
button{font:inherit;font-weight:700;border-radius:10px;padding:12px 20px;cursor:pointer;min-height:44px}
.primary{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}
.primary:disabled{opacity:.6;cursor:default}
.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.selesai{background:var(--surface);border:1px solid var(--accent);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px}
.selesai h2{font-family:var(--display);margin:0;font-size:20px}
.selesai p{margin:0;color:var(--muted)}
.jebakan{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (prefers-reduced-motion:no-preference){.chip span,.tile .box{transition:background .15s,border-color .15s}}
