.testbanner{background:#FFF8E1;color:#7A5B00;border-radius:12px;padding:8px 14px;font-size:14px;margin:0 0 14px}
label{display:block;font-weight:600;margin:14px 0 4px}label small{font-weight:400;color:var(--muted)}
textarea.short{min-height:90px}
.chk input{width:18px;height:18px;accent-color:var(--coral-2)}
mark{background:#FFF2A8;padding:0 2px;border-radius:3px}
.sec{margin-top:22px}.warnbox{background:#FFFBEA;border:1px solid #F3D36B;border-radius:14px;padding:14px 18px}.warnbox summary{cursor:pointer}
.copy{font-size:14px;padding:7px 13px}
.notes{background:var(--coral-50);border-radius:12px;padding:10px 16px;margin:12px 0;font-size:15px}.notes ul{margin:4px 0;padding-left:18px}
.hint{font-size:12px;color:var(--muted);margin-top:2px}
.lockedf{border:1.5px dashed var(--line);border-radius:12px;padding:18px;color:var(--muted);text-align:center;background:repeating-linear-gradient(45deg,#fff,#fff 8px,#FFF8F5 8px,#FFF8F5 16px)}
.featured{border:2px solid var(--coral);box-shadow:0 12px 30px rgba(212,56,17,.15)}
.nl .nlform{display:flex;gap:8px;flex-wrap:wrap}.nl input[type=email]{flex:1;min-width:220px}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:8px}
table.t td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.nw{white-space:nowrap}.legal p,.legal li{max-width:780px}
@media(max-width:640px){nav.top{flex-wrap:wrap;gap:10px}.navlinks{flex-wrap:wrap;gap:8px 14px;font-size:14px}}
.kinds{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.kind{display:block;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit;background:#fff}
.kind:hover,.kind.on{border-color:var(--coral)}.kind b{display:block}.kind span{font-size:13px;color:var(--muted)}
.lane{border-radius:18px;padding:22px 24px}.lane.calm{background:#F7F6F3;border:1px solid #E7E3DC}
select,input[type=text],input[type=date]{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;font:inherit;background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:700px){.row2{grid-template-columns:1fr}}
.opening{font-size:20px;line-height:1.6;border-left:4px solid var(--coral);padding:4px 0 4px 18px;margin:14px 0}
.calm .opening,.quiet .opening{border-color:#B8AFA3}
.ghostlines span{display:block;height:12px;border-radius:6px;background:#F1ECE8;margin:12px 0}.ghostlines span:nth-child(3n){width:78%}.ghostlines span:nth-child(4n){width:88%}
.speech p.para{font-size:19px;line-height:1.7;margin:0 0 6px}.speech .mark{font-size:12px;color:var(--muted);margin:0 0 18px}
.stat{display:inline-block;background:var(--coral-50);color:var(--coral-2);border-radius:99px;padding:3px 12px;font-weight:600;font-size:14px;margin:0 6px 6px 0}
.quiet .stat{background:#F1EFEB;color:#4B5563}
.quiet .btn{background:#4B5563}.quiet .btn.ghost{background:#fff;color:#374151;border-color:#D1D5DB}
.dl{display:flex;flex-wrap:wrap;gap:10px}.tips li{margin:6px 0}
.quietnote{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:22px}
textarea.edit{min-height:420px;font-size:17px;line-height:1.6}

/* dark mode for app-specific components (shared block; classes not used by an app are harmless) */
@media (prefers-color-scheme:dark){
select,textarea,input[type=text],input[type=date],input[type=email]{background:var(--surface);color:var(--ink);border-color:var(--line)}
.hero input[type=email],.hero input[type=text]{background:#fff;color:#1F1A17}
.testbanner{background:var(--warn-bg);color:var(--warn-ink)}
.tag.up,.meter.bad{background:var(--err-bg);color:var(--err-ink)}
.tag.down,.meter.ok{background:var(--ok-bg);color:var(--ok-ink)}
.tag.chk,.meter.warn{background:var(--warn-bg);color:var(--warn-ink)}
mark{background:#5C4A0A;color:#FFF3C2}
.warnbox{background:var(--warn-bg);border-color:var(--warn-line)}
.checks .error{background:var(--err-bg);color:var(--err-ink)}.checks .warn{background:var(--warn-bg);color:var(--warn-ink)}.checks .info{background:var(--info-bg);color:var(--info-ink)}.checks .okc{background:var(--ok-bg);color:var(--ok-ink)}
textarea[readonly]{background:var(--soft)}
.lockedf,.locked .veil{background:repeating-linear-gradient(45deg,var(--surface),var(--surface) 8px,var(--soft) 8px,var(--soft) 16px)}
.locked:after{background:linear-gradient(transparent,var(--bg))}
.drop{background:var(--soft)}
.tl li.deadline{background:var(--warn-bg)}
.letter,pre.letter{background:var(--soft);color:var(--ink);border-color:var(--line)}
.disc{background:var(--soft);color:var(--muted)}
.stop{background:var(--err-bg);border-color:#7A2E2E}
.pairimg,.gridph img{border-color:var(--line)}
.stats .warn{background:var(--warn-bg);border-color:var(--warn-line)}.stats .bad{background:var(--err-bg);border-color:#7A2E2E}
.rowwarn td{background:var(--warn-bg)}.rowbad td{background:var(--err-bg)}
.kind{background:var(--surface)}
.lane.calm{background:var(--soft);border-color:var(--line)}
.calm .opening,.quiet .opening{border-color:#7D736A}
.ghostlines span{background:#2E2824}
.quiet .stat{background:#2A2724;color:#D1CCC6}
.quiet .btn{background:#5B6574}.quiet .btn.ghost{background:transparent;color:#D1D5DB;border-color:#4B5563}
[data-thin]{background:var(--warn-bg)!important}
img[src*="sample-results"],img[src$=".png"].shot{filter:brightness(.92)}
}
