/* Speak for me — scarletbeast.com/speak-for-me/ . Scoped to #sp (and the #sp-show overlay) so the estate chrome is untouched. */
#sp{--bone:#ece6dc;--dim:rgba(236,230,220,.72);--line:rgba(236,230,220,.16);--panel:rgba(255,255,255,.035);--scarlet:#e10100;--gold:#e8be6e;--ok:#7fd49b;
  color:var(--bone);font-size:17px;line-height:1.6;max-width:1120px;margin:0 auto;padding:28px 20px 60px}
#sp *{box-sizing:border-box}
#sp h1{font-family:var(--cond),"Arial Narrow",sans-serif;font-weight:600;font-size:clamp(34px,5vw,56px);letter-spacing:.02em;margin:0 0 8px;line-height:1.05}
#sp h2{font-family:var(--cond),"Arial Narrow",sans-serif;font-weight:600;font-size:26px;letter-spacing:.03em;margin:0 0 8px}
#sp h3{font-size:17px;margin:16px 0 8px}
#sp p{margin:0 0 12px}
#sp a{color:var(--gold)}
#sp .lede{font-size:19px;color:var(--dim);max-width:780px}
#sp .kick{font-family:var(--cond),"Arial Narrow",sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--scarlet);margin:0 0 8px}
#sp .kick .lang{display:inline-block;white-space:nowrap;margin-left:14px;color:#e8be6e;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid currentColor}
#sp .note{font-size:14.5px;color:var(--dim)}
#sp .box{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:18px 20px;margin:16px 0}
#sp .box.crisis{border-color:rgba(225,1,0,.55);background:rgba(225,1,0,.07)}
#sp .step{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:22px 22px 14px;margin:0 0 18px;scroll-margin-top:180px}
#sp .step.board{border-color:rgba(225,1,0,.4)}
#sp .intro{color:var(--dim);max-width:820px}
#sp .field{margin:0 0 16px}
#sp label.lbl,#sp legend.lbl{display:block;font-weight:600;margin:0 0 5px;padding:0}
#sp .help{display:block;font-size:14px;color:var(--dim);margin:-2px 0 6px}
#sp input[type=text],#sp input[type=tel],#sp textarea{width:100%;background:rgba(0,0,0,.35);border:1px solid rgba(236,230,220,.25);border-radius:6px;color:var(--bone);font:inherit;font-size:16px;padding:10px 12px}
#sp textarea{min-height:72px;resize:vertical}
#sp ::placeholder{color:rgba(236,230,220,.5)}
#sp input:focus,#sp textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
#sp fieldset{border:0;padding:0;margin:0 0 14px;min-width:0}
#sp .choice{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
#sp .choice label,#sp .seg label{display:inline-flex;gap:7px;align-items:center;font-size:15px;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 10px;background:rgba(0,0,0,.2)}
#sp .choice label:has(input:checked),#sp .seg label:has(input:checked){border-color:var(--scarlet);background:rgba(225,1,0,.14)}
#sp .choice label:focus-within,#sp .seg label:focus-within{outline:2px solid var(--gold);outline-offset:1px}
#sp input[type=checkbox],#sp input[type=radio]{accent-color:var(--scarlet);margin:0}
#sp .seg{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#sp .seg legend{margin-bottom:6px}
#sp .opts{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-end;margin:6px 0 14px}
#sp .opts fieldset{margin:0}
#sp .tog{display:flex;gap:10px;align-items:center;cursor:pointer;margin:0 0 4px}
#sp .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#sp .row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
#sp .btn{cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:6px;border:1px solid var(--scarlet);background:var(--scarlet);color:#fff;font:600 14px/1.1 var(--cond),"Arial Narrow",sans-serif;letter-spacing:.12em;text-transform:uppercase}
#sp .btn.ghost{background:transparent;color:var(--bone);border-color:rgba(236,230,220,.35)}
#sp .btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#sp .tools{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 4px}
#sp .saved{font-size:13px;color:var(--ok);min-height:1.2em;margin:8px 0}
/* board */
#sp .type{margin:0 0 8px}
#sp .typerow{display:flex;gap:8px}
#sp .typerow input{flex:1;min-width:0;font-size:18px}
#sp .tiles h3{font-family:var(--cond),"Arial Narrow",sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--gold);margin:18px 0 8px}
#sp .tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
#sp .tgrid.quick{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
#sp .tile{cursor:pointer;text-align:left;font:600 17px/1.3 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#fff;background:#1c1416;border:1px solid rgba(236,230,220,.22);border-radius:10px;padding:14px 16px;min-height:64px}
#sp .quick .tile{text-align:center;font-size:21px}
#sp .tile:hover{border-color:var(--scarlet);background:#2a1215}
#sp .tile:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
#sp .tile.mine{border-color:rgba(232,190,110,.55)}
#sp .tile.card-tile{border-color:rgba(225,1,0,.6);background:rgba(225,1,0,.14)}
#sp .tile small{display:block;font-weight:400;font-size:14px;color:var(--dim);margin-top:3px}
/* builder */
#sp .two{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}
#sp .preview{position:sticky;top:180px}
#sp .cap{font-size:14px;color:var(--dim);margin:0 0 6px}
#sp .aboutcard{background:#fbf8f2;color:#111;border-radius:8px;padding:20px 22px;font:15px/1.45 Arial,Helvetica,sans-serif;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow-wrap:anywhere}
#sp .aboutcard p,#sp .aboutcard li{color:#111;margin:0 0 6px}
#sp .aboutcard ul{margin:0 0 8px;padding-left:20px}
.sp-c .ct,#sp .aboutcard .ct{font-weight:700;color:#8a0000;text-transform:uppercase;letter-spacing:.04em;font-size:13px;border-bottom:2px solid #8a0000;padding-bottom:4px}
#sp .aboutcard .cn{font-size:20px;font-weight:700}
#sp .aboutcard .cn span{font-weight:400;font-size:15px}
#sp .aboutcard .cl{font-weight:700;margin-top:10px}
#sp .aboutcard .cc{border-top:1px solid #bbb;padding-top:8px;margin-top:10px}
#sp .aboutcard .cf{color:#444;font-style:italic}
#sp #sp-print,body>#sp-print{display:none}
@media (max-width:900px){
  #sp .two{grid-template-columns:minmax(0,1fr)}
  #sp .preview{position:static}
  #sp .step{padding:18px 14px 10px}
  #sp .row,#sp .row.three{grid-template-columns:minmax(0,1fr)}
  #sp .tgrid{grid-template-columns:minmax(0,1fr)}
  #sp .tgrid.quick{grid-template-columns:repeat(2,minmax(0,1fr))}
}
#sp .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 0}
#sp .facts .box{margin:0}
#sp .facts h3{margin-top:0}
@media (max-width:860px){#sp .facts{grid-template-columns:minmax(0,1fr)}}
/* full-screen message */
html.sp-open,html.sp-open body{overflow:hidden}
#sp-show{position:fixed;inset:0;z-index:2147483600;display:flex;flex-direction:column;background:#000;color:#fff}
#sp-show[hidden]{display:none}
#sp-show.th-light{background:#fff;color:#000}
#sp-show.th-yellow{background:#000;color:#ffe600}
#sp-show .stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:4vmin 5vmin;overflow:hidden}
#sp-show .msg{width:100%;font:700 48px/1.12 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;text-align:center;overflow-wrap:break-word;hyphens:manual}
#sp-show.flipped .msg{transform:rotate(180deg)}
#sp-show .msg.iscard{text-align:left;font-weight:400;line-height:1.35}
#sp-show .msg.iscard p{margin:0 0 .45em}
#sp-show .msg.iscard ul{margin:0 0 .5em;padding-left:1.1em}
#sp-show .msg.iscard .ct{font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#ff6b6b;border-bottom:3px solid currentColor;padding-bottom:.15em;font-size:.8em}
#sp-show.th-light .msg.iscard .ct{color:#a00000}
#sp-show .msg.iscard .cn,#sp-show .msg.iscard .cl{font-weight:700}
#sp-show .bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:10px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid rgba(128,128,128,.4)}
#sp-show .bar button{cursor:pointer;font:600 16px/1 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;padding:14px 18px;min-width:56px;border-radius:8px;border:2px solid currentColor;background:transparent;color:inherit}
#sp-show .bar button[hidden]{display:none}
#sp-show .bar button.close{background:#e10100;border-color:#e10100;color:#fff}
#sp-show .bar button[aria-pressed=true]{background:rgba(128,128,128,.35)}
#sp-show .bar button:focus-visible{outline:3px solid #e8be6e;outline-offset:2px}
@media print{
  body *{visibility:hidden!important}
  html.sp-printing body>*:not(#sp-print){display:none!important}
  #sp-show,.boy-sheet{display:none!important}
  #sp #sp-print,html.sp-printing #sp-print{display:block}
  #sp-print,#sp-print *{visibility:visible!important}
  #sp-print{position:absolute;left:0;top:0;width:100%;color:#111;font:10pt/1.4 Arial,Helvetica,sans-serif}
  #sp-print .wallet{width:6.75in;height:2.125in;display:grid;grid-template-columns:1fr 1fr;border:1px dashed #111;border-radius:8px;overflow:hidden;break-inside:avoid}
  #sp-print .face{padding:.12in .14in;font-size:8.4pt;line-height:1.3;overflow:hidden}
  #sp-print .face+.face{border-left:1px dashed #999}
  #sp-print .face p{margin:0 0 3pt;color:#111}
  #sp-print .wt{color:#a00000;font-weight:700;letter-spacing:.1em;font-size:7pt}
  #sp-print .ws{font-weight:700;font-size:10.5pt}
  #sp-print .wn{font-weight:700;font-size:10pt}
  #sp-print .wl{font-weight:700;color:#a00000}
  #sp-print .wf{font-style:italic;color:#444}
  #sp-print .cutnote{font-size:8pt;color:#555;margin:4pt 0 18pt}
  #sp-print .sheet{border:2px solid #8a0000;border-radius:8px;padding:.3in;font-size:13pt;break-inside:avoid}
  #sp-print .sheet p,#sp-print .sheet li{margin:0 0 6pt}
  #sp-print .sheet .ct{color:#8a0000;font-weight:700;text-transform:uppercase;border-bottom:2px solid #8a0000;padding-bottom:4pt}
  #sp-print .sheet .cn{font-size:18pt;font-weight:700}
  #sp-print .sheet .cl{font-weight:700;margin-top:10pt}
  #sp-print .sheet .cc{border-top:1px solid #999;padding-top:6pt}
  #sp-print .wallet,#sp-print .sheet,#sp-print .wt,#sp-print .wl,#sp-print .ct{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{margin:0.5in}
}
