  .wrap{background:var(--bg);min-height:100vh;padding:0 0 40px}

  /* header */
  .bar{position:sticky;top:54px;z-index:20;background:var(--nav-bg);
       border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
  .bar-in{max-width:1180px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .brand{font-family:var(--mono);font-size:11px;letter-spacing:2.5px;color:var(--primary);text-transform:uppercase;white-space:nowrap}
  .brand b{color:var(--text-pr);letter-spacing:1px}
  .tabs{display:flex;gap:4px;flex:1;flex-wrap:wrap}
  .tab{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
       background:none;border:1px solid var(--line);color:var(--text-sec);padding:6px 12px;border-radius:4px;cursor:pointer;transition:var(--transition)}
  .tab:hover{color:var(--text-pr)}
  .tab[aria-selected="true"]{background:var(--warning);border-color:var(--warning);color:#121826;font-weight:700}
  .tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

  .grid{max-width:1180px;margin:0 auto;padding:22px 18px;display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
  @media(max-width:900px){.grid{grid-template-columns:1fr}}

  h1{font-size:19px;margin:0 0 6px;font-weight:700}
  .lede{font-size:13px;color:var(--text-sec);margin:0 0 18px;line-height:1.55;max-width:62ch}
  h2{font-size:14px;margin:26px 0 10px;font-weight:700}
  .eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--text-dis);text-transform:uppercase;margin:0 0 4px}

  /* symptom picker */
  .syms{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}
  .sym{display:flex;align-items:center;gap:11px;text-align:left;width:100%;
       background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:11px 13px;cursor:pointer;color:var(--text-pr);transition:var(--transition)}
  .sym:hover{border-color:var(--text-dis)}
  .sym[aria-pressed="true"]{border-color:var(--warning);background:var(--surface-alt)}
  .sym .q{font-size:13.5px;flex:1}
  .sym .lay{font-family:var(--mono);font-size:10px;color:var(--text-dis);white-space:nowrap}
  .sym:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

  /* tree */
  .tree{border-left:2px solid var(--line);padding-left:0;margin:0 0 8px}
  .step{display:flex;gap:11px;padding:11px 13px;border-bottom:1px solid var(--line);align-items:flex-start}
  .step:last-child{border-bottom:none}
  .step.ruled{background:var(--negative-bg)}
  .step.found{background:var(--positive-bg)}
  .stepwrap{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:14px}
  .num{font-family:var(--mono);font-size:11px;color:var(--warning-dim);padding-top:2px;min-width:16px;font-weight:700}
  [data-theme="dark"] .num{color:var(--warning)}
  .step.ruled .num{color:var(--text-dis)}
  .body{flex:1;min-width:0}
  .body .t{font-size:13px;line-height:1.5}
  .step.ruled .body .t{color:var(--text-dis);text-decoration:line-through}
  .tag{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:1px;color:var(--text-dis);
       border:1px solid var(--line);border-radius:3px;padding:1px 5px;margin-left:6px;vertical-align:1px}
  .fix{font-size:12px;color:var(--primary);margin-top:7px;line-height:1.5;display:none}
  .step.found .fix{display:block}
  .acts{display:flex;gap:5px;padding-top:1px}
  .mini{font-family:var(--mono);font-size:10px;border:1px solid var(--line);background:none;color:var(--text-dis);
        border-radius:4px;padding:4px 7px;cursor:pointer;line-height:1;white-space:nowrap;transition:var(--transition)}
  .mini:hover{color:var(--text-pr);border-color:var(--text-dis)}
  .mini.on-out{background:var(--negative);border-color:var(--negative);color:#fff}
  .mini.on-found{background:var(--positive);border-color:var(--positive);color:#fff}
  [data-theme="dark"] .mini.on-found{color:#020617;}
  .mini:focus-visible{outline:2px solid var(--primary);outline-offset:1px}

  .hint{font-size:12px;color:var(--text-dis);font-style:italic;margin:0 0 18px}

  /* generic cards */
  .card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:12px}
  .card h3{font-size:13px;margin:0 0 7px;font-weight:700}
  .card p{font-size:12.5px;color:var(--text-sec);margin:0;line-height:1.55}
  .card p + p{margin-top:7px}
  .say{color:var(--primary)}
  .dont{color:var(--negative)}

  table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:12.5px}
  th{background:var(--surface-alt);text-align:left;padding:8px 10px;font-size:11px;letter-spacing:.5px;border:1px solid var(--line)}
  td{padding:8px 10px;border:1px solid var(--line);vertical-align:top;line-height:1.5;color:var(--text-sec)}
  td b{color:var(--text-pr)}
  td.k{font-family:var(--mono);color:var(--warning-dim);white-space:nowrap;font-size:11px}
  [data-theme="dark"] td.k{color:var(--warning)}

  /* matrix */
  .mx{display:grid;grid-template-columns:auto repeat(3,1fr);gap:5px;margin-bottom:10px}
  .mx .h{font-family:var(--mono);font-size:10px;color:var(--text-dis);text-transform:uppercase;letter-spacing:1px;
         display:flex;align-items:center;justify-content:center;text-align:center;padding:5px}
  .mx .rh{font-family:var(--mono);font-size:10px;color:var(--text-dis);display:flex;align-items:center;padding:5px;max-width:118px;line-height:1.35}
  .cell{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 7px;cursor:pointer;text-align:center;color:var(--text-pr);transition:var(--transition)}
  .cell:hover{border-color:var(--text-dis)}
  .cell[aria-pressed="true"]{border-color:var(--warning);background:var(--surface-alt)}
  .cell .p{font-family:var(--mono);font-weight:700;font-size:14px}
  .cell .ex{font-size:10.5px;color:var(--text-dis);margin-top:3px;line-height:1.35}
  .p1{color:var(--negative)}.p2{color:var(--warning-dim)}.p3{color:#D9C86A}.p4{color:var(--primary)}.p5{color:var(--text-dis)}
  [data-theme="dark"] .p2{color:var(--warning)}
  .cell:focus-visible{outline:2px solid var(--primary);outline-offset:2px}

  /* case note */
  .note{position:sticky;top:120px;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}
  @media(max-width:900px){.note{position:static}}
  .note-h{background:var(--surface-alt);padding:9px 13px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}
  .note-h .dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}
  .note-h span{font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--text-sec);text-transform:uppercase;flex:1}
  .note-b{padding:12px 13px}
  .fields{display:flex;flex-direction:column;gap:7px;margin-bottom:11px}
  .fields input{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:7px 9px;
                color:var(--text-pr);font-family:var(--mono);font-size:11.5px;width:100%;transition:var(--transition)}
  .fields input::placeholder{color:var(--text-dis)}
  .fields input:focus{outline:none;border-color:var(--primary)}
  pre{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:10px;margin:0 0 10px;
      font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--text-sec);white-space:pre-wrap;
      max-height:290px;overflow:auto}
  pre .hd{color:var(--warning-dim)}
  [data-theme="dark"] pre .hd{color:var(--warning)}
  .note-acts{display:flex;gap:6px}
  .btn{flex:1;font-family:var(--mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;
       border:1px solid var(--line);background:none;color:var(--text-sec);border-radius:5px;padding:7px;cursor:pointer;transition:var(--transition)}
  .btn:hover{color:var(--text-pr);border-color:var(--text-dis)}
  .btn.pri{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
  [data-theme="dark"] .btn.pri{color:#020617;}
  .btn:focus-visible{outline:2px solid var(--warning);outline-offset:2px}
  .saved{font-family:var(--mono);font-size:9.5px;color:var(--text-dis);text-align:center;margin-top:7px;min-height:12px}

  .view{display:none}.view.on{display:block}
