/* ═══════════════ e'thix AI — Website legal agent ═══════════════
   Owner: W6 ETHIX-WEB-LEGAL. index.html links it after every existing stylesheet, so this file styles its own surfaces
   (.wl-*) on top of the shared page chrome (.page, .page-top, .b, .input) without editing shell.css or core.css.
   CSP is style-src 'self': no style attributes anywhere; state travels as classes and the hidden attribute.
   Mobile first (320 px up), logical properties so RTL and LTR share every rule. */
.wl-main{max-width:880px;margin-inline:auto;padding:12px 16px 48px}
.wl-head{display:flex;gap:14px;align-items:flex-start;margin:8px 0 14px}
.wl-head-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--g-accent-soft);color:var(--gold-text)}
.wl-head-ic .i{width:22px;height:22px}
.wl-title{font-size:clamp(20px,5.4vw,28px);line-height:1.25;margin:0 0 6px}
.wl-sub{margin:0;color:var(--ink-soft);line-height:1.7;font-size:14.5px}
.wl-banner{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 14px;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 12%,transparent);
  color:var(--ink);font-weight:600;line-height:1.6;font-size:14px}
.wl-banner .i{flex:none;width:18px;height:18px;margin-top:2px;color:var(--gold-text)}

/* steps */
.wl-steps{list-style:none;display:flex;gap:6px;margin:0 0 6px;padding:0;overflow-x:auto;scrollbar-width:none}
.wl-steps::-webkit-scrollbar{display:none}
.wl-stepdot{flex:1 0 auto}
.wl-stepdot button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;border-radius:12px;border:1px solid var(--line);
  background:transparent;color:var(--ink-soft);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.wl-stepdot button:focus-visible{outline:none;box-shadow:var(--ring)}
.wl-stepnum{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--ink) 8%,transparent);font-weight:700;font-size:12px}
.wl-stepdot.is-done .wl-stepnum{background:color-mix(in srgb,var(--ok) 30%,transparent);color:var(--ink)}
.wl-stepdot button[aria-current="step"]{border-color:var(--gold);color:var(--ink);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.wl-stepdot button[aria-current="step"] .wl-stepnum{background:var(--g-accent);color:var(--on-accent,#1B2028)}
@media (max-width:640px){
  .wl-steplabel{display:none}
  .wl-stepdot button[aria-current="step"] .wl-steplabel{display:inline}
}
.wl-progress{margin:0 0 12px;color:var(--muted);font-size:13px}

/* form */
.wl-form{display:block}
.wl-panel{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2,transparent)}
.wl-panel-title{font-size:18px;margin:0 0 4px}
.wl-panel-title:focus{outline:none}
.wl-panel-sub{margin:0 0 14px;color:var(--ink-soft);font-size:14px;line-height:1.6}
.wl-step{display:grid;gap:14px}
.wl-field{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}
.wl-field[hidden]{display:none}
.wl-label{font-weight:600;font-size:14px;line-height:1.5;padding:0}
.wl-hint{margin:0;color:var(--muted);font-size:12.5px;line-height:1.6}
.wl-error{margin:0;color:var(--danger);font-size:13px;font-weight:600}
.wl-field .input{width:100%;min-height:44px}
.wl-field .input[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}
.wl-choices{display:flex;flex-wrap:wrap;gap:8px}
.wl-grid{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:640px){.wl-grid{grid-template-columns:1fr 1fr}}
.wl-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:14px;line-height:1.45}
.wl-choice input{flex:none;width:18px;height:18px;accent-color:var(--gold-deep)}
.wl-choice:has(input:checked){border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,transparent)}
.wl-choice:has(input:focus-visible){box-shadow:var(--ring)}
.wl-choice.is-fixed{opacity:.75;cursor:default}
.wl-yesno .wl-choice{flex:1 1 120px}
.wl-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.wl-actions .b-primary{margin-inline-start:auto}
.wl-actions .b{min-height:44px}

/* messages */
.wl-msg{display:grid;justify-items:center;gap:10px;padding:28px 16px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--ink-soft)}
.wl-msg p{margin:0;line-height:1.7}
.wl-msg-ic .i{width:26px;height:26px;color:var(--gold-text)}

/* results */
.wl-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.wl-result-sum{margin:0;font-weight:600;line-height:1.6}
.wl-result-tools{display:flex;flex-wrap:wrap;gap:8px}
.wl-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scrollbar-width:thin}
.wl-tab{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap}
.wl-tab[aria-selected="true"]{background:var(--g-accent);color:var(--on-accent,#1B2028);border-color:transparent;font-weight:700}
.wl-tab:focus-visible,.wl-tabpanel:focus-visible{outline:none;box-shadow:var(--ring)}
.wl-tabpanel{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface-2,transparent)}
.wl-doc-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.wl-doc,.wl-check{line-height:1.85;font-size:15px;color:var(--ink)}
.wl-doc-title{font-size:19px;margin:0 0 6px}
.wl-doc-notice{margin:0 0 4px;font-weight:700;color:var(--gold-text)}
.wl-doc-date{margin:0 0 14px;color:var(--muted);font-size:13px}
.wl-doc-sec h3{font-size:16px;margin:18px 0 6px}
.wl-doc-sec p{margin:0 0 8px}
.wl-doc-sec ul{margin:0 0 8px;padding-inline-start:22px}
.wl-cite{color:var(--muted);font-size:12.5px}
.wl-check-sum{margin:0 0 12px;color:var(--ink-soft)}
.wl-check-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wl-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px}
.wl-item h3{font-size:15px;margin:0 0 4px}
.wl-item p{margin:0 0 4px;font-size:14px}
.wl-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.wl-badge .i{width:14px;height:14px}
.wl-item.is-done .wl-badge{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ink)}
.wl-item.is-missing .wl-badge{background:var(--danger-soft);color:var(--danger)}
.wl-item.is-action .wl-badge{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold-text)}
.wl-item.is-na{opacity:.7}
.wl-item.is-na .wl-badge{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--muted)}
@media (max-width:380px){
  .wl-item{grid-template-columns:1fr}
  .wl-main{padding-inline:12px}
}

/* print: only the open document, in ink on paper */
@media print{
  html.wl-printing body *{visibility:hidden}
  html.wl-printing .wl-printable,html.wl-printing .wl-printable *{visibility:visible}
  html.wl-printing .wl-printable{position:absolute;inset:0 0 auto 0;color:#000;background:#fff;font-size:12pt}
  html.wl-printing .wl-doc-notice,html.wl-printing .wl-cite{color:#333}
}
@media (prefers-reduced-motion:reduce){.wl-tab,.wl-choice{transition:none}}
