.ws{max-width:860px;margin:auto}
.ws-hero{padding:30px 0 40px;border-bottom:1px solid var(--line)}
.ws-hero h1{font-size:clamp(36px,5vw,58px)}
.ws-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ws-actions button,.ws-add{font:inherit;font-size:14px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:3px;padding:10px 16px;cursor:pointer}
.ws-actions button:hover,.ws-add:hover{border-color:var(--gold);color:var(--gold)}
.ws-actions .ws-primary{border-color:var(--gold);color:var(--gold)}
.ws-step{border:0;border-bottom:1px solid var(--line);margin:0;padding:34px 0}
.ws-step legend{display:flex;align-items:baseline;gap:14px;padding:0;margin-bottom:8px;font-family:var(--serif);font-size:clamp(22px,2.6vw,30px)}
.ws-step legend span{font-family:Mono,monospace;font-size:12px;letter-spacing:2px;color:var(--gold)}
.ws-hint{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 18px;max-width:680px}
.ws-hint a{color:var(--gold);text-decoration:underline}
.ws-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.ws-grid .wide{grid-column:1/-1}
.ws label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.ws label.ws-check{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ink)}
.ws input:not([type=checkbox]),.ws select{width:100%;box-sizing:border-box;padding:10px 12px;color:var(--ink);background:#141613;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:15px}
.ws input:focus-visible,.ws select:focus-visible,.ws button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ws-table{width:100%;border-collapse:collapse;margin:6px 0 14px;font-size:14px}
.ws-table th{color:var(--gold);font-weight:400;font-size:12px;text-align:left;padding:0 8px 8px 0}
.ws-table td{padding:4px 8px 4px 0}
.ws-remove{width:34px;height:34px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--muted);cursor:pointer;font-size:16px}
.ws-result{margin:34px 0;padding:28px;border:1px solid var(--gold);border-radius:6px}
.ws-result h2{margin:0 0 6px;font-size:18px;font-family:inherit;color:var(--gold)}
.ws-range{font-family:var(--serif);font-size:clamp(30px,4.5vw,46px);line-height:1.25;margin:4px 0}
.ws-mid{color:var(--muted);font-size:14px;margin:0 0 14px}
.ws-why{margin:0;padding-left:20px;font-size:15px;line-height:1.8}
.ws-method{font-size:15px;line-height:1.85;color:var(--muted);padding:10px 0 40px}
.ws-method h2{color:var(--ink)}
.ws-method a,.ws-back a{color:var(--gold);text-decoration:underline}
.ws-print-only{display:none}
@media(max-width:640px){.ws-grid{grid-template-columns:1fr}.ws-result{padding:20px}.ws-table th:nth-child(3),.ws-table td:nth-child(3){display:none}}
@media print{
  @page{size:A4;margin:14mm}
  html,body,main,.journal{background:#fff!important;color:#000!important}
  .site-header,.site-footer,.skip,.no-print,.ws-actions,.ws-add,.ws-method,.ws-back,.journal-cta{display:none!important}
  .journal{padding:0!important}
  .ws{max-width:none;color:#000;font-size:11pt}
  .ws-hero{padding:0 0 8pt;border-color:#000}
  .ws-hero h1{font-size:20pt;margin:0 0 4pt;color:#000}
  .ws-hero .journal-intro,.ws-hero .eyebrow{display:none}
  .ws-print-only{display:block;font-size:9pt;color:#444;margin:0}
  .ws-step{padding:6pt 0;border-color:#999}
  .ws-step legend{font-size:12pt;color:#000;margin-bottom:0}
  .ws-step legend span{color:#000}
  .ws-hint{display:none}
  .ws-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3pt 12pt}
  .ws label{color:#333;font-size:8pt;gap:0}
  .ws label.ws-check{color:#000;font-size:10pt}
  .ws input:not([type=checkbox]),.ws select{background:#fff!important;color:#000!important;border:0;border-bottom:.75pt solid #000;border-radius:0;padding:1pt 0;font-size:10pt;line-height:1.2;height:17pt;-webkit-appearance:none;appearance:none}
  .ws input[type=checkbox]{-webkit-appearance:none;appearance:none;width:10pt;height:10pt;border:.75pt solid #000;background:#fff}
  .ws input[type=checkbox]:checked{background:#000}
  .ws-table{font-size:10pt;margin:0}.ws-table th{color:#000;padding-bottom:2pt}.ws-table td{padding:1pt 8pt 1pt 0}
  .ws-table th:nth-child(3),.ws-table td:nth-child(3){display:table-cell}
  .ws-result{border:1.5pt solid #000;padding:6pt 10pt;margin:6pt 0;break-inside:avoid}
  .ws-step .ws-hint[style]{display:block!important;margin:6pt 0 0!important;font-size:8pt;color:#333}
  .ws-result h2{color:#000;font-size:11pt}
  .ws-range{font-size:18pt;color:#000}
  .ws-mid,.ws-why{color:#000;font-size:9.5pt}
}
