/* Virtual Casework Buddy v1.3.0 — professional, calm, crisis-sensitive.
   No external fonts, no trackers, no images, no storage. Text-size +
   high-contrast toggles are in-memory only (they reset on reload, by design). */
:root{--bg:#eef1ee;--card:#fffdf8;--ink:#16232a;--muted:#52646b;--teal:#0f5f5c;--teal2:#0a3735;--navy:#122f3d;--amber:#e8a317;--amber2:#b97f08;--red:#b42318;--redbg:#fdeceb;--greenbg:#eef6f5;--line:#d8d0bf;--line2:#bcd9d5;--radius:16px;--shadow:0 2px 10px rgba(18,47,61,.08);--shadow2:0 8px 24px rgba(18,47,61,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-underline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.wrap{max-width:1020px;margin:0 auto;padding:0 16px 56px}
.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(90deg,var(--teal2),var(--navy));color:#fff;padding:11px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.topbar strong{font-size:1.08rem;letter-spacing:.01em}.topbar span{opacity:.92;font-size:.9rem}
.topbar .spacer{flex:1}
.btn{border:0;border-radius:999px;padding:11px 19px;font-size:1rem;cursor:pointer;background:var(--teal);color:#fff;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.18)}.btn:active{transform:none}
.btn.secondary{background:#fff;color:var(--teal2);border:2px solid var(--teal);box-shadow:none}
.btn.danger{background:var(--red)}.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.9)}
.btn.small{padding:7px 13px;font-size:.9rem}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.hero{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--teal);border-radius:var(--radius);padding:26px 26px 22px;margin:22px 0;box-shadow:var(--shadow)}
.hero h1{margin:.15em 0 .3em;font-size:2.05rem;line-height:1.12;letter-spacing:-.01em}.hero p{font-size:1.08rem;color:#33464b}
.crisis{background:var(--redbg);border:2px solid var(--red);border-radius:var(--radius);padding:16px 18px;margin:16px 0;box-shadow:var(--shadow)}
.crisis h2{margin:0 0 6px;color:var(--red)}.crisis .nums{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.chip{display:inline-block;background:#fff;border:2px solid var(--red);border-radius:999px;padding:8px 14px;font-weight:700;color:var(--ink);text-decoration:none}
.chip:hover{background:#fff5f5}
.privacy{background:var(--greenbg);border:1px solid var(--line2);border-radius:var(--radius);padding:14px 18px}
.progress{height:10px;background:#e3ddd0;border-radius:999px;overflow:hidden;margin:14px 0;box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}
.progress>div{height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--amber));transition:width .5s ease}
.steps{font-size:.92rem;color:var(--muted)}
.steps b{color:var(--teal)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:16px 0;box-shadow:var(--shadow)}
.card h2{margin-top:0;font-size:1.35rem}.card h3{margin-bottom:4px}
.card.triage{border-left:6px solid var(--red);background:#fff8f5}
.card.expert{border-left:6px solid var(--amber);background:#fffbf0}
.doors{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.door{position:relative;text-align:left;background:#fff;border:2px solid var(--line);border-radius:14px;padding:15px 16px 15px 44px;cursor:pointer;font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.door:before{content:"○";position:absolute;left:14px;top:15px;font-size:1.2rem;color:var(--muted)}
.door:hover{border-color:var(--teal);box-shadow:var(--shadow)}
.door[aria-pressed="true"]{border-color:var(--teal);background:var(--greenbg);box-shadow:0 0 0 2px var(--teal) inset}
.door[aria-pressed="true"]:before{content:"●";color:var(--teal)}
.door .e{font-size:1.5rem;display:block}.door small{display:block;color:var(--muted);margin-top:2px}
fieldset{border:0;padding:0;margin:20px 0}legend{font-weight:800;font-size:1.08rem;margin-bottom:8px}
label.opt{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin:6px 0;cursor:pointer}
label.opt:hover{border-color:var(--teal)}
label.opt input{margin-right:8px;accent-color:var(--teal)}
input[type=text],input[type=number],input[type=date],select,textarea{width:100%;padding:11px;border:1.5px solid #b9b0a0;border-radius:10px;font-size:1rem;background:#fff;color:var(--ink)}
textarea{min-height:90px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}.hero{padding:20px 16px}.hero h1{font-size:1.65rem}.doors{grid-template-columns:1fr}}
.scan{border:1px dashed var(--teal);border-radius:12px;padding:14px;background:#f7fbf9}
.scan .line{opacity:0;transform:translateY(6px);transition:all .35s ease;padding:3px 0}
.scan .line.on{opacity:1;transform:none}
.pathway{border-left:6px solid var(--teal);animation:rise .45s ease both}
.pathway:nth-child(2){animation-delay:.06s}.pathway:nth-child(3){animation-delay:.12s}.pathway:nth-child(4){animation-delay:.18s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tool{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border-top:1px solid var(--line);padding:13px 0}
.tool:first-of-type{border-top:0}.tool .kind{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.tool a{font-weight:750}.tool p{margin:2px 0;color:#33464b}.tool .warn{font-size:.92rem}
.badge{display:inline-block;background:var(--amber);color:#1d2a2e;border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:800}
.tag{display:inline-block;background:var(--greenbg);border:1px solid var(--line2);border-radius:999px;padding:2px 9px;font-size:.85rem;margin:2px 4px 2px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.two{grid-template-columns:1fr}}
.checklist li{margin:6px 0}
#registrySearch{margin-bottom:12px}
.reg{border-top:1px solid var(--line);padding:12px 0}
.print-only{display:none}
@media print{
  body{background:#fff}.topbar,.no-print,.hero,.privacy,.progress,.steps{display:none!important}
  .wrap{max-width:none;padding:0}.card{border:0;border-bottom:1px solid #999;border-radius:0;margin:0;padding:12px 0;box-shadow:none}
  .print-only{display:block}.tool a{color:#000;text-decoration:none}.tool a:after{content:" (" attr(href) ")";font-weight:400;font-size:.85rem;word-break:break-all}
}
body.large{font-size:1.15rem}body.hc{--bg:#fff;--card:#fff;--ink:#000;--muted:#222;--line:#000}
body.hc .btn,body.hc .door[aria-pressed="true"]{border-width:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media(max-width:360px){.wrap{padding:0 10px 48px}.chip{padding:7px 10px;font-size:.92rem}.btn{padding:10px 14px}}

.skip{position:absolute;left:-9999px;top:0;background:var(--teal2);color:#fff;padding:10px 14px;z-index:50}
.skip:focus{left:10px;top:10px}
.card.next{border-left:6px solid var(--teal);background:#f2f8f7}
