
:root{color-scheme:dark;--bg:#0c1918;--panel:#17302b;--panel2:#1b3b35;--ink:#f0eee5;--soft:#bfd2c4;--line:#426156;--accent:#c6e989;--gold:#edc77b}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0,#214238 0,transparent 45%),var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}
header,main,footer{max-width:1000px;margin:auto;padding:1rem 1.2rem}header{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line)}
a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.brand{font-weight:800;letter-spacing:.07em;text-decoration:none;color:var(--ink)}.eyebrow{color:var(--accent);text-transform:uppercase;font-weight:700;letter-spacing:.12em;font-size:.75rem}
h1{font-size:clamp(2.5rem,7vw,5.4rem);line-height:1.04;max-width:12ch;letter-spacing:-.055em;margin:.5rem 0}h2{font-size:1.35rem;line-height:1.2;margin:.3rem 0 1rem}p{max-width:73ch}.lead{font-size:1.2rem;color:var(--soft);max-width:58ch}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:2rem 0}.tile,.section{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem}
.tile strong{color:var(--accent);display:block}.tile p{margin:.5rem 0 0;color:var(--soft);font-size:.9rem}
.section{margin:1rem 0 1.4rem}.alert{border-left:4px solid var(--gold);padding:.6rem 1rem;background:#282e24;margin:1.2rem 0}
fieldset{border:1px solid var(--line);padding:1rem;border-radius:12px;margin:1rem 0}legend{font-weight:700;color:var(--accent);padding:0 .5rem}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
label{display:block;font-weight:600;font-size:.93rem}input,select{display:block;width:100%;min-width:0;margin-top:.35rem;border:1px solid #789c8b;border-radius:8px;background:#0f2420;color:white;padding:.65rem;font:inherit}
input[type=checkbox]{display:inline;width:auto;margin:0 .5rem 0 0;accent-color:var(--accent);height:1.1rem;width:1.1rem}
.check{display:flex;align-items:start;gap:.3rem;margin:.65rem 0;font-weight:400}.route{border-top:1px dashed var(--line);padding:.7rem 0}.route:first-child{border-top:0}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}button{font:inherit;background:var(--accent);border:2px solid transparent;border-radius:9px;padding:.7rem 1rem;color:#13251b;font-weight:700;cursor:pointer}button.secondary{color:var(--ink);background:transparent;border-color:var(--line)}button:disabled{opacity:.45;cursor:not-allowed}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0a1715;border:1px solid var(--line);padding:1rem;border-radius:9px;max-height:440px;overflow:auto;font-size:.75rem}
#status{color:var(--accent);font-weight:600}#status[data-kind=error]{color:#ffbca8}.small{font-size:.85rem;color:var(--soft)}footer{border-top:1px solid var(--line);color:var(--soft);margin-bottom:2rem}
@media(max-width:640px){.cards,.grid{grid-template-columns:1fr}.tile{padding:.7rem 1rem}header{align-items:start}}
@media print{body{color:#000;background:#fff}.section,.tile{background:#fff;color:#000;border-color:#666}button,.actions,header nav{display:none}pre{max-height:none;color:#000;background:#fff}#status{color:#000}}


/* HUMAN FIRST 002 — one useful next step before the administrative machinery */
.entry-surface{border:1px solid #8fae82;border-radius:18px;background:#21483b;padding:clamp(18px,3.6vw,30px);margin:1.2rem 0 1.6rem}
.entry-surface h2{font-size:clamp(1.75rem,3vw,2.35rem);letter-spacing:-.035em;margin:.5rem 0}
.entry-lede{color:#e3f3d8;max-width:48ch;margin:0 0 1.4rem}
.entry-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.entry-choices button,.entry-choices a{border:2px solid transparent;background:#e6f0dd;color:#183627;display:flex;flex-direction:column;gap:8px;text-align:left;text-decoration:none;border-radius:13px;min-height:114px;padding:19px;font:inherit;cursor:pointer}
.entry-choices strong{font-size:clamp(1rem,2vw,1.25rem);line-height:1.3}
.entry-choices span{font-size:.85rem;line-height:1.4;color:#3d5947}
.entry-choices button:hover,.entry-choices a:hover{border-color:var(--gold);background:#fff9e4}
.entry-choices button:focus-visible,.entry-choices a:focus-visible,.quick-categories button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.need-quick{margin-top:18px;padding:20px;background:#112c24;border-radius:12px}
.need-quick label{font-size:1.1rem}
.need-quick input{background:#fffdf5;color:#10261c}
.quick-label{font-size:.9rem;font-weight:800;margin:.9rem 0 .35rem}
.quick-categories{display:flex;flex-wrap:wrap;gap:8px}
.quick-categories button{font-size:.87rem;padding:8px 12px;border:1px solid #b7cda6;background:#e6f0dd}
.quick-categories button[aria-pressed=true]{background:var(--gold);border-color:var(--gold)}
.advanced-form{margin:1.1rem 0;border:1px solid var(--line);border-radius:13px;padding:1rem}
.advanced-form>summary{cursor:pointer;font-size:1.05rem;font-weight:800;line-height:1.45;list-style:revert;padding:.65rem}
.advanced-form[open]>summary{margin-bottom:1.1rem}
#quick-status{margin:12px 0 2px}
@media(max-width:640px){.entry-choices{grid-template-columns:1fr}.entry-choices a,.entry-choices button{min-height:82px;padding:16px}.need-quick{padding:15px}.quick-categories button{min-height:44px}.entry-surface{margin:.8rem 0}}
@media print{.entry-surface,.advanced-form>summary,.need-quick{display:none!important}.advanced-form{border:0;padding:0}}

.demo-entrance{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 0}.demo-entrance button{background:#f1d894;min-height:44px}.demo-entrance .small{margin:0}


/* HUMAN FIRST 004: feel the decision first; administrative intake is optional. */
.play-scene{background:#e8f0dd;color:#153729;border:2px solid #9abb89;border-radius:18px;padding:clamp(20px,4vw,34px);margin:2rem 0}
.play-scene .eyebrow{color:#45694a}.play-scene h2{font-size:clamp(1.5rem,4vw,2.55rem);max-width:32ch;letter-spacing:-.035em}
.play-intro{font-size:1rem;line-height:1.6}.play-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.5rem 0}
.play-actions button{border:2px solid transparent;min-height:80px;padding:14px 18px;font-size:clamp(.95rem,1.7vw,1.16rem);border-radius:13px;text-align:center;background:#194f38;color:#fffef1;cursor:pointer}
.play-actions button:hover,.play-actions button[aria-pressed=true]{background:#af6b31;border-color:#f3e6b6;color:white}
.play-actions button:focus-visible,.play-again:focus-visible,#play-copy:focus-visible,.optional-intake summary:focus-visible{outline:3px solid #b45816;outline-offset:3px}
.play-outcome{background:#fffdf4;color:#163b2a;padding:22px;border:2px solid #a4b99b;border-radius:14px}
.play-outcome h3{font-size:1.4rem;margin:.2rem 0 1rem}.play-outcome p{line-height:1.6}.play-script-label{font-weight:800;font-size:.9rem}
#play-script{margin:8px 0 16px;padding:16px;border-left:4px solid #b37a39;background:#e9eddf;font-style:normal}
#play-copy{background:#1f573b;color:#fffdf1;margin-right:10px;min-height:44px}.play-again{background:transparent;border:1px solid #1f573b;color:#143d2a;min-height:44px}
#play-status{font-size:.85rem}.play-disclaimer{font-size:.79rem;line-height:1.5;color:#506a56;margin:1.1rem 0 0}
.optional-intake{margin:1.4rem 0;border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.optional-intake>summary{cursor:pointer;line-height:1.5;font-weight:800;list-style:revert;min-height:44px;padding:10px}
.optional-intake[open]>summary{margin-bottom:12px}
@media(max-width:640px){.play-actions{grid-template-columns:1fr 1fr;gap:8px}.play-actions button{min-height:86px;font-size:.9rem;padding:12px 8px}.play-outcome{padding:16px}}
@media(max-width:370px){.play-actions{grid-template-columns:1fr}}
@media print{.play-scene,.optional-intake>summary{display:none!important}}
