
  .tool-h{ font-family:var(--head); font-size:1.35rem; font-weight:800; margin-bottom:4px; }
  .pref{ font-size:13px; color:var(--sage-2); min-height:1em; margin-bottom:6px; }
  .pl-opts.one{ grid-template-columns:1fr; }
  .pl-opts select{ width:100%; }
  .cmp-lines{ margin:16px 0 6px; display:grid; gap:2px; }
  .cmp-lines > div{ display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
  .cmp-lines > div[hidden]{ display:none; }
  .cmp-lines b{ font-family:var(--head); white-space:nowrap; }
  .cmp-lines small{ display:block; color:var(--mute); font-size:12.5px; margin-top:2px; }
  .cmp-lines .tot{ border-bottom:none; font-weight:700; font-size:16px; } .cmp-lines .tot b{ color:var(--violet-2); font-size:1.3rem; }
  .cp-out{ font-size:14.5px; color:var(--ink-2); } .cp-out p{ margin:8px 0; } .cp-out ul{ margin:6px 0 6px 20px; }
  .fc-facts{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .fc-facts div{ background:var(--sage-tint); border-radius:16px; padding:12px 14px; }
  .fc-facts span{ display:block; font-size:12.5px; font-weight:700; color:var(--ink-2); }
  .fc-facts b{ font-family:var(--head); font-size:15.5px; font-weight:800; }
  @media (max-width:520px){ .fc-facts{ grid-template-columns:1fr; } }
  .fc-warn{ background:#FDECEF; border-radius:14px; padding:12px 14px; font-size:14.5px; }
  .fc-adv{ margin-top:14px; } .fc-adv summary{ cursor:pointer; font-weight:700; color:var(--violet-2); font-size:14.5px; }
  .fc-chk{ display:flex; gap:8px; align-items:center; margin-top:12px; font-size:14.5px; }
  .narrow{ max-width:820px; }
  .prose-sec h2{ font-family:var(--head); font-size:1.6rem; font-weight:900; margin-bottom:12px; }
  .prose-sec p, .prose-sec li{ color:var(--ink-2); margin-bottom:10px; }
  .prose-sec ol{ margin-left:20px; } .prose-sec a{ color:var(--violet-2); }
  .prose-sec .src{ font-size:13px; color:var(--mute); }
  .ca-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:22px; align-items:start; }
  @media (max-width:860px){ .ca-grid{ grid-template-columns:1fr; } }
  .ca-form{ position:sticky; top:84px; } @media (max-width:860px){ .ca-form{ position:static; } }
  .ca-sum{ font-size:14px; color:var(--ink-2); margin:12px 0 4px; }
  .ca-list{ list-style:none; display:grid; gap:10px; margin:0; padding:0; }
  .ca-it{ display:grid; grid-template-columns:74px minmax(0,1fr); gap:14px; background:#fff; border-radius:20px; padding:14px 16px; border-left:5px solid var(--line); }
  .ca-it.ca-g{ border-left-color:#E7A6B8; } .ca-it.ca-b{ border-left-color:var(--violet-2); } .ca-it.ca-c{ border-left-color:var(--sage-2); } .ca-it.ca-t{ border-left-color:#E8C27A; }
  .ca-it.past{ opacity:.55; } .ca-it.next{ box-shadow:0 0 0 2px var(--violet-2); }
  .ca-d b{ display:block; font-family:var(--head); font-weight:900; font-size:1.05rem; } .ca-d span{ font-size:12.5px; color:var(--mute); }
  .ca-tag{ font-size:12px; font-weight:700; color:var(--mute); text-transform:uppercase; letter-spacing:.04em; }
  .ca-b h3{ font-family:var(--head); font-size:1.08rem; font-weight:800; margin:2px 0 4px; }
  .ca-b h3 em{ font-style:normal; font-size:12px; background:var(--violet-2); color:#fff; border-radius:999px; padding:2px 8px; margin-left:6px; vertical-align:middle; }
  .ca-b p{ font-size:14px; color:var(--ink-2); } .ca-b a{ font-size:13.5px; font-weight:700; color:var(--violet-2); }
  .ca-nl{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
  .ca-nl h3{ font-family:var(--head); font-size:1.1rem; } .ca-nl > p{ font-size:14px; color:var(--ink-2); margin:4px 0 10px; }
  .nl-form{ display:grid; gap:10px; }
  .nl-row{ display:flex; gap:8px; flex-wrap:wrap; }
  .nl-row input{ flex:1 1 180px; min-width:0; font:inherit; padding:12px 16px; border-radius:999px; border:1.5px solid var(--line); background:#fff; }
  .nl-row button{ font-family:var(--head); font-weight:800; font-size:15px; padding:12px 20px; border-radius:999px; border:none; background:var(--violet-2); color:#fff; cursor:pointer; }
  .nl-date{ display:grid; gap:4px; font-size:13px; font-weight:700; color:var(--ink-2); }
  .nl-date input{ font:inherit; padding:10px 14px; border-radius:14px; border:1.5px solid var(--line); background:#fff; max-width:220px; }
  .nl-ok{ display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--ink-2); } .nl-ok input{ margin-top:3px; } .nl-ok a{ color:inherit; }
  .nl-form .ok{ font-size:13.5px; font-weight:700; color:var(--sage-2); min-height:1.2em; }
  .nl-form.dark .nl-date, .nl-form.dark .nl-ok{ color:#E3D6EC; } .nl-form.dark .ok{ color:var(--lime); }
  .nl-form.dark .nl-row input, .nl-form.dark .nl-date input{ border:none; }
  .nl-form.dark .nl-row button{ background:var(--lime); color:var(--night); }
  .alertbox .nl-ok input{ flex:none; width:18px; height:18px; padding:0; border-radius:4px; margin-top:1px; }
  .alertbox .nl-date input{ flex:none; }
  .alertbox:after{ background:rgba(255,255,255,.09) !important; opacity:1 !important; }
  .alertbox .nl-ok a{ color:#fff; }
  @media print{
    header, footer, .tabbar, .page-hero .crumbs, .pl-act, .ca-nl, .art aside, .nl-form, .alertbox, .pin-share, .share{ display:none !important; }
    body{ background:#fff !important; } .card, .ca-it{ box-shadow:none !important; border:1px solid #ddd; break-inside:avoid; }
    .ca-form{ position:static; } .ca-grid, .pl-grid{ display:block; } .ca-it.past{ opacity:1; }
    .page-hero{ padding:10px 0; background:#fff; } .reveal{ opacity:1 !important; transform:none !important; }
  }
