/* Print & Play: GM screen (landscape pages) and cards (portrait pages). Black on white in print. */
.pp-panel{border:1px solid var(--line);background:var(--panel);padding:14px 16px;margin:12px 0 18px}
.pp-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:10px}
.pp-row label{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pp-row select{height:40px;padding:0 8px;background:var(--bg);border:1px solid var(--line-2);color:var(--text);font:inherit;font-size:15px;max-width:260px}
.cd-list{max-height:340px;overflow:auto;border:1px solid var(--line);background:var(--bg);padding:6px 10px;columns:2 260px;column-gap:24px}
.cd-list h4{margin:8px 0 2px;font:500 12px/1.2 var(--display);letter-spacing:2px;text-transform:uppercase;color:var(--muted);break-after:avoid}
.cd-list label{display:flex;gap:8px;align-items:flex-start;padding:3px 0;font-size:15px;break-inside:avoid;cursor:pointer}
.cd-list input{margin-top:4px;accent-color:var(--ember)}
.cd-list .m{display:block;font-size:12px;color:var(--muted)}
.cd-empty{padding:8px 0;color:var(--soft)}

/* ---- paper (shared) */
.paper{background:#fff;color:#111;box-shadow:0 6px 24px rgba(0,0,0,.45);margin:0 auto 24px;overflow:hidden;box-sizing:border-box}
.paper *{box-sizing:border-box}

/* ---- GM screen: 11 x 8.5 in */
.gs{overflow-x:auto;padding:6px 0}
.gs-pg{width:11in;height:8.5in;padding:.32in .36in;display:flex;flex-direction:column;gap:6pt;font:400 8pt/1.28 "Alegreya Sans","Segoe UI",sans-serif;background:#fff;color:#111;
  box-shadow:0 6px 24px rgba(0,0,0,.45);margin:0 auto 24px;overflow:hidden;box-sizing:border-box;page:land}
.gs-pg *{box-sizing:border-box}
.gs-pg > header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1.6pt solid #111;padding-bottom:3pt;flex:none}
.gs-pg > header b{font:700 14pt/1 Cinzel,"Times New Roman",serif;letter-spacing:1pt}
.gs-pg > header span{font-size:7pt;color:#555;letter-spacing:.4pt}
.gs-cols{flex:1;min-height:0;column-count:3;column-gap:14pt;column-rule:.6pt solid #bbb;column-fill:auto;overflow:hidden}
.gs-part{margin:0 0 5pt}
.gs-src{margin:0;font:700 6.4pt/1.2 "Alegreya Sans",sans-serif;letter-spacing:.8pt;text-transform:uppercase;color:#777}
.gs-pg h2,.gs-pg h3,.gs-pg h4{font:700 1.18em/1.15 Cinzel,"Times New Roman",serif;margin:.45em 0 .2em;color:#111;break-after:avoid;text-transform:none;letter-spacing:.2pt}
.gs-pg h2{font-size:1.32em;border-bottom:.8pt solid #111;padding-bottom:1pt}
.gs-pg p,.gs-pg ul,.gs-pg ol,.gs-pg dl{margin:0 0 .35em}
.gs-pg ul,.gs-pg ol{padding-left:1.2em}
.gs-pg li{margin:0 0 .1em}
.gs-pg a{color:inherit;text-decoration:none}
.gs-pg table{width:100%;border-collapse:collapse;margin:.2em 0 .5em;font-size:.95em;break-inside:avoid}
.gs-pg th,.gs-pg td{border:.5pt solid #999;padding:1pt 3pt;text-align:left;vertical-align:top;background:#fff;color:#111}
.gs-pg thead th{background:#111;color:#fff;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gs-pg .tablewrap{overflow:visible;border:0;margin:0}
.gs-pg .x{color:inherit}
.gs-warn{color:#b00;font-weight:700}

/* ---- cards */
.cd-pages{overflow-x:auto;padding:6px 0}
.cd-page{width:8.5in;height:11in;padding:.25in .5in;display:grid;align-content:center;justify-content:center;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.45);margin:0 auto 24px;overflow:hidden;box-sizing:border-box;page:port}
.cd-page.poker{grid-template-columns:repeat(3,2.5in);grid-auto-rows:3.5in}
.cd-page.large{grid-template-columns:repeat(2,3.5in);grid-auto-rows:5in}
.cd{position:relative;border:.7pt dashed #999;padding:.12in .13in .1in;display:flex;flex-direction:column;overflow:hidden;color:#111;background:#fff;font:400 7.5pt/1.22 "Alegreya Sans","Segoe UI",sans-serif;box-sizing:border-box}
.cd.wide{grid-column:span 2}
.cd *{box-sizing:border-box}
.cd h4{margin:0 0 2pt;font:700 1.45em/1.1 Cinzel,"Times New Roman",serif;letter-spacing:.2pt;color:#111;border-bottom:1pt solid #111;padding-bottom:2pt}
.cd .m{margin:0 0 3pt;font-size:.86em;color:#444;font-style:italic}
.cd .b{flex:1;min-height:0;overflow:hidden}
.cd .b p,.cd .b ul,.cd .b ol,.cd .b dl{margin:0 0 .3em}
.cd .b ul,.cd .b ol{padding-left:1.1em}
.cd .b h2,.cd .b h3{font:700 1.05em/1.2 "Alegreya Sans",sans-serif;margin:.3em 0 .1em;text-transform:none;letter-spacing:0;color:#111}
.cd .b table{width:100%;border-collapse:collapse;font-size:.92em;margin:.2em 0}
.cd .b th,.cd .b td{border:.4pt solid #aaa;padding:.5pt 2pt;text-align:left;vertical-align:top;background:#fff;color:#111}
.cd .b dt{font-weight:700}.cd .b dd{margin:0 0 .2em .6em}
.cd footer{flex:none;display:flex;justify-content:space-between;font-size:.78em;color:#777;border-top:.5pt solid #ccc;padding-top:1.5pt;margin-top:2pt;letter-spacing:.3pt}
.cd.cut .b{-webkit-mask-image:linear-gradient(#000 85%,transparent);mask-image:linear-gradient(#000 85%,transparent)}
.cd-measure{position:absolute;left:-9999px;top:0;visibility:hidden}

@page land{size:letter landscape;margin:0}
@page port{size:letter portrait;margin:0}
@media print{
  html,body{background:#fff!important}
  .site-head,.site-foot,.side,.aside,.pp-noprint,.crumbs{display:none!important}
  #main,.wrap,.layout,.content,.pp,.gs,.cd-pages{display:block!important;padding:0!important;margin:0!important;max-width:none!important;overflow:visible!important}
  .gs-pg,.cd-page{margin:0;box-shadow:none;break-after:page;page-break-after:always}
  .gs-pg:last-child,.cd-page:last-child{break-after:auto;page-break-after:auto}
}
@media print{
  .gs-pg thead th{background:#111!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .gs-pg tbody th,.gs-pg td,.cd .b th,.cd .b td{background:#fff!important;color:#111!important}
}
.gs-pg th,.gs-pg td{font:inherit;letter-spacing:0;text-transform:none}
.gs-pg thead th{font-weight:700}
.gs-pg a,.gs-pg a.x{color:#111!important;text-decoration:none!important;border:0!important;background:none!important}
.cd .b th,.cd .b td{font:inherit;letter-spacing:0;text-transform:none}

/* ---- adversary builder */
.ab-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.ab-out{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.ab-h{font:700 20px/1.2 var(--display);margin:22px 0 8px}
.ab-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.ab-q{margin-top:12px}.ab-q summary{cursor:pointer;color:var(--soft)}
.ab-list{list-style:none;margin:6px 0 0;padding:0;max-height:360px;overflow:auto;border-top:1px solid var(--line)}
.ab-list li{padding:6px 2px;border-bottom:1px solid var(--line)}
.ab-list li.on{background:var(--ember-bg)}
.ab-list li.ab-grp{font:500 12px/1.2 var(--display);letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding-top:12px;background:none}
.ab-list details{margin:2px 0 0 28px;font-size:14px;color:var(--soft)}
.ab-list summary{cursor:pointer}
.ab-body{font-size:14px;color:var(--text);margin-top:4px}
.ab-todo{margin:8px 0;padding-left:20px;color:#e0a36a}
.ab-ok{color:#8fc48a;margin:8px 0}
.ab-sheet{background:#fff;color:#111;box-shadow:0 6px 24px rgba(0,0,0,.45);padding:.35in .4in;page:port}
.sb{font:400 9.6pt/1.32 "Alegreya Sans","Segoe UI",sans-serif;color:#111}
.sb header{border-bottom:2pt solid #111;margin-bottom:5pt;padding-bottom:3pt}
.sb h3{margin:0;font:700 18pt/1.1 Cinzel,"Times New Roman",serif;color:#111;letter-spacing:.5pt}
.sb .sb-line{margin:2pt 0 0;letter-spacing:1pt;font-size:9pt}
.sb .sb-type{margin:0;font-style:italic;color:#444}
.sb h4{margin:8pt 0 3pt;font:700 9pt/1 "Alegreya Sans",sans-serif;letter-spacing:1.5pt;text-transform:uppercase;background:#111;color:#fff;padding:3pt 5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sb p{margin:0 0 3pt}
.sb a{color:inherit;text-decoration:none}
.sb .sb-dim{color:#555;font-size:.92em}
.sb .sb-m{margin:0 0 5pt;break-inside:avoid}
.sb .sb-mh{margin:0}.sb .sb-mh span{color:#555;font-size:.9em;font-style:italic}
.sb .sb-trig{margin:0;font-size:.95em}
.sb .sb-m p{margin:0 0 2pt}
.sb ul,.sb ol{margin:0 0 3pt;padding-left:1.3em}
.sb table{border-collapse:collapse;width:100%;font-size:.92em}.sb th,.sb td{border:.5pt solid #999;padding:1pt 3pt;background:#fff;color:#111;font:inherit;text-transform:none;letter-spacing:0}
.sb footer{margin-top:8pt;border-top:.8pt solid #111;padding-top:3pt;display:flex;justify-content:space-between;font-size:8pt;color:#555}
@media (max-width:1000px){.ab-layout{grid-template-columns:1fr}.ab-out{position:static;max-height:none}}
@media print{
  .ab-noprint{display:none!important}
  .ab,.ab-layout,.ab-out{display:block!important;max-height:none!important;overflow:visible!important;position:static!important}
  .ab-sheet{box-shadow:none;padding:.4in .5in}
  .sb h4{background:#111!important;color:#fff!important}
}
.enc-sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px;align-items:start}
.enc-count{margin:0 0 4pt;font:700 8pt/1 "Alegreya Sans",sans-serif;letter-spacing:1.5pt;text-transform:uppercase;color:#555}
@media print{.enc-sheets{display:block}.enc-sheets .ab-sheet{break-after:page;page-break-after:always}.enc-sheets .ab-sheet:last-child{break-after:auto}}
.cd-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.cd-h{font:700 19px/1.2 var(--display);margin:0 0 10px}
.pp-row input[type=text]{height:40px;padding:0 10px;background:var(--bg);border:1px solid var(--line-2);color:var(--text);font:inherit;font-size:15px;min-width:200px}
.cd-deck{list-style:none;margin:0 0 12px;padding:0;max-height:420px;overflow:auto;border-top:1px solid var(--line)}
.cd-deck li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 2px;border-bottom:1px solid var(--line)}
.cd-deck .cd-dn{flex:1 1 180px;min-width:0}
.cd-deck .m{font-size:12px;color:var(--muted)}
.cd-deck li.missing .cd-dn b{color:#e07a6a}
@media (max-width:1000px){.cd-cols{grid-template-columns:1fr}}
.cd-deck .icon-btn{width:32px;height:32px;min-width:32px;font-size:14px}
.cd-deck .cb-step{gap:4px}
.cd-deck .cb-step span{min-width:18px;text-align:center}
.cd .st{list-style:none;margin:0 0 3pt;padding:0;display:flex;flex-wrap:wrap;gap:1.5pt}
.cd .st li{border:.5pt solid #999;padding:0 2pt;font-size:.82em;line-height:1.35;color:#222;background:#f4f4f4;-webkit-print-color-adjust:exact;print-color-adjust:exact}
