:root{
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --problema:#ffd166;--problema-ink:#3d3305;
  --construye:#7cc7ff;--construye-ink:#0b3550;
}
[data-theme="terminal"]{
  --bg:#0d0f0c;--fg:#dfe8d8;--dim:#8a977f;--rule:#2a3127;--surface:#141813;--accent:#8fe36b;--accent-ink:#0d0f0c;
  --err:#ff8f80;--font:var(--mono);--head:var(--mono);--radius:6px;
  --problema:#ffd166;--construye:#7cc7ff;
}
[data-theme="ledger"]{
  --bg:#f6f3ea;--fg:#1f1d17;--dim:#625d51;--rule:#1f1d17;--surface:#fffdf6;--accent:#1f1d17;--accent-ink:#f6f3ea;
  --err:#a3271b;--font:var(--sans);--head:var(--sans);--radius:10px;
  --problema:#ffe27a;--construye:#9fd3f5;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--font)}
a{color:inherit;text-underline-offset:3px}
.wrap{max-width:560px;margin:0 auto;padding:12px 16px 48px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.draft{position:sticky;top:0;z-index:5;background:#ffd166;color:#3d3305;font:13px/1.4 var(--sans);padding:6px 16px;text-align:center}
.top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:12px/1.4 var(--mono);color:var(--dim);letter-spacing:.02em;padding:6px 0 18px;border-bottom:1px solid var(--rule)}
.brand{color:var(--fg);font-weight:600}
.hero{padding:22px 0 8px}
.prompt{font:14px/1.4 var(--mono);color:var(--accent);margin:0 0 10px}
h1{font:600 24px/1.22 var(--head);margin:0 0 14px;letter-spacing:-.01em}
[data-theme="ledger"] h1{font-size:31px;letter-spacing:-.02em}
.sub{margin:0 0 12px;color:var(--fg)}
.sub strong{font-weight:600}
.meta{font:13px/1.5 var(--mono);color:var(--dim);margin:0}
.label{font:600 12px/1.4 var(--mono);color:var(--dim);letter-spacing:.04em;margin:28px 0 10px;text-transform:none}
[data-theme="ledger"] .label{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.path{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:96px;padding:14px 12px;border-radius:var(--radius);font:inherit;line-height:1.25;-webkit-tap-highlight-color:transparent}
.path-title{font-weight:600;font-size:16px}
.path-sub{font-size:13px;opacity:.85}
.path:focus-visible,.door:focus-within,.chip:focus-within,.submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[data-theme="terminal"] .path{border:1px solid currentColor;background:var(--surface)}
[data-theme="terminal"] .path-problema{color:var(--problema)}
[data-theme="terminal"] .path-construye{color:var(--construye)}
[data-theme="terminal"] .path-title::before{content:"> "}
[data-theme="terminal"] .path[aria-pressed="true"]{background:currentColor}
[data-theme="terminal"] .path-problema[aria-pressed="true"] span{color:var(--problema-ink)}
[data-theme="terminal"] .path-construye[aria-pressed="true"] span{color:var(--construye-ink)}
[data-theme="ledger"] .path{border-radius:2px;box-shadow:0 1px 0 rgba(0,0,0,.08),0 6px 14px -8px rgba(0,0,0,.35);transition:transform .15s}
[data-theme="ledger"] .path-problema{background:var(--problema);color:var(--problema-ink);transform:rotate(-1.2deg)}
[data-theme="ledger"] .path-construye{background:var(--construye);color:var(--construye-ink);transform:rotate(1.2deg)}
[data-theme="ledger"] .path[aria-pressed="true"]{transform:rotate(0) scale(1.02);outline:2px solid var(--fg);outline-offset:3px}
.ltable{border:1px solid var(--rule);border-radius:4px;overflow:hidden;font:11.5px/1.35 var(--mono)}
.lrow{display:grid;grid-template-columns:76px minmax(0,1fr) 70px 62px;gap:4px 8px;padding:7px 8px;border-top:1px solid var(--rule)}
.lrow:first-child{border-top:0}
.lrow span{white-space:nowrap}
.lrow span:nth-child(2){white-space:normal;overflow-wrap:anywhere}

.lhead{background:var(--fg);color:var(--bg);font-weight:600}
[data-theme="terminal"] .lhead{background:var(--surface);color:var(--dim)}
.lrow:not(.lhead):not(.lyou){color:var(--dim)}
.lyou{background:var(--problema);color:var(--problema-ink)}
[data-theme="terminal"] .lyou{background:transparent;color:var(--accent)}
[data-theme="ledger"] body[data-path="construye"] .lyou{background:var(--construye);color:var(--construye-ink)}
.fine{font-size:12.5px;color:var(--dim);margin:8px 0 0;line-height:1.5}
.form{margin-top:8px;padding-top:4px}
.field{border:0;margin:0 0 18px;padding:0;min-width:0}
legend,label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.help{font-size:13px;color:var(--dim);margin:-2px 0 6px}
body[data-path="problema"] #linea-help{color:var(--fg);background:color-mix(in srgb,var(--problema) 22%,transparent);padding:7px 10px;border:1px solid color-mix(in srgb,var(--problema) 55%,transparent);border-radius:var(--radius)}
.opt{font-weight:400;color:var(--dim);font-size:13px}
input:not([type=checkbox]):not([type=radio]),textarea{width:100%;font:16px/1.4 var(--font);color:var(--fg);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 12px;min-height:46px;-webkit-appearance:none}
[data-theme="terminal"] input:not([type=checkbox]):not([type=radio]),[data-theme="terminal"] textarea{border-color:#3a4236}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:var(--dim);opacity:.8}
input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.count{font:12px var(--mono);color:var(--dim);text-align:right;margin:4px 0 0}
.err{color:var(--err);font-size:13.5px;margin:6px 0 0;min-height:0}
.err:empty{display:none}
.doors{display:grid;gap:8px}
.door{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start;border:1px solid var(--rule);border-radius:var(--radius);padding:11px 12px;font-weight:400;cursor:pointer;margin:0;background:var(--surface)}
[data-theme="terminal"] .door{border-color:#3a4236}
.door input{grid-row:span 2;margin-top:4px;accent-color:var(--accent)}
.d-t{font-weight:600}
.d-h{font-size:13px;color:var(--dim)}
.door:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{margin:0;font-weight:400;font-size:14px;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;border:1px solid var(--rule);border-radius:999px;padding:8px 13px;min-height:40px;background:var(--surface)}
[data-theme="terminal"] .chip span{border-color:#3a4236;border-radius:4px}
.chip input:checked+span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.row2{display:grid;gap:0 12px}
@media (min-width:520px){.row2{grid-template-columns:1fr 1fr}}
.radios{display:grid;gap:8px}
.radio,.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;margin:0}
.radio input,.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--accent)}
.consent{border-top:1px solid var(--rule);padding-top:14px;display:grid;gap:10px}
.notice{font-size:12.5px;line-height:1.5;color:var(--dim);margin:0}
.notice strong{color:var(--fg)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit{all:unset;box-sizing:border-box;display:block;width:100%;text-align:center;cursor:pointer;background:var(--accent);color:var(--accent-ink);font:600 16px/1.2 var(--font);padding:16px;border-radius:var(--radius);min-height:54px}
.submit[aria-busy="true"]{opacity:.7;cursor:progress}
.done{margin-top:20px;outline:none}
.form,.done{scroll-margin-top:64px}
.done h2{font:600 18px/1.3 var(--head);margin:22px 0 8px}
.term-out{font:14px/1.55 var(--mono);background:var(--surface);border:1px solid #3a4236;border-radius:6px;padding:14px;white-space:pre-wrap;margin:0;color:var(--fg)}
.term-out .ok{color:var(--accent)}
.done-row .lrow{grid-template-columns:76px minmax(0,1fr) 84px}
.ex-grid{display:grid;gap:10px}
@media (min-width:520px){.ex-grid{grid-template-columns:1fr 1fr}}
.ex{border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px;background:var(--surface)}
[data-theme="terminal"] .ex{border-color:#3a4236}
.ex h3{margin:0 0 6px;font:600 15px/1.3 var(--head)}
[data-theme="terminal"] .ex:first-child h3{color:var(--problema)}
[data-theme="terminal"] .ex:last-child h3{color:var(--accent)}
.ex ul,.rules,.criteria{margin:0;padding-left:18px}
.ex li,.rules li,.criteria li{margin:4px 0;font-size:14.5px}
.rules{margin-top:14px}
.rules strong{font-weight:600}
.slist{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:4px;font:14px/1.4 var(--mono)}
[data-theme="terminal"] .slist{border-color:#3a4236}
.slist li{display:grid;grid-template-columns:64px 78px 1fr;gap:8px;padding:9px 10px;border-top:1px solid var(--rule)}
[data-theme="terminal"] .slist li{border-color:#2a3127}
.slist li:first-child{border-top:0}
[data-theme="terminal"] .slist li::before{content:"*";position:absolute;margin-left:-8px;color:var(--accent)}
.s-date{color:var(--dim)}
.s-name{font-weight:600}
[data-theme="terminal"] .s-name{color:var(--accent)}
.how p{margin:0 0 8px}
.foot{margin-top:36px;padding-top:14px;border-top:1px solid var(--rule);font-size:13px;color:var(--dim)}
.foot p{margin:4px 0}
.aviso h1{font-size:24px}
.aviso h2{font:600 16px/1.3 var(--head);margin:22px 0 6px}
.aviso p,.aviso li{font-size:15px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
