:root{
  --bg:#f5efe4;
  --ink:#1b1b18;
  --panel:#fffaf2;
  --line:#d9c9ae;
  --shadow:0 18px 48px rgba(46,34,15,.12);
  --card-w:2.5in;
  --card-h:3.5in;
  --gap:.12in;
  --page-pad:.2in;
  --sheet-cols:3;
  --sheet-rows:3;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.paper-a4{--page-w:8.27in;--page-h:11.69in}
body.paper-letter,body:not(.paper-a4){--page-w:8.5in;--page-h:11in}
.kit-shell{max-width:1280px;margin:0 auto;padding:24px}
.hero,.controls{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;align-items:start}
.hero{margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:#866628}.lede{max-width:72ch}
.hero-actions,.toolbar,.counts-grid,.legend{display:flex;flex-wrap:wrap;gap:12px}.hero-actions{justify-content:flex-end}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}
.quick-guide ol{margin:.4rem 0 0 1.1rem;padding:0}.summary{margin-top:12px;padding:12px;border-radius:16px;background:#fff3d7;border:1px solid #efd087;font-weight:700}
label{display:grid;gap:6px;font-weight:700;font-size:.95rem} input,select{padding:10px 12px;border-radius:12px;border:1px solid #cab894;background:#fff;font:inherit}
.counts-grid{margin-top:14px}.count-chip{display:grid;gap:8px;padding:12px 14px;border-radius:16px;min-width:170px;background:#fff;border:1px solid #e4d8c2;align-content:start}.count-chip span{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.count-chip strong{font-size:1rem;line-height:1.15}.count-chip small{font-size:.78rem;color:#6a5b46;line-height:1.28}
.btn{appearance:none;border:0;border-radius:999px;padding:12px 16px;font:800 .95rem/1 inherit;background:#e6dcc9;color:#332712;cursor:pointer}
.btn.primary{background:#155a39;color:#fff}.btn.gold{background:#ac7b14;color:#fff}
.legend{margin:18px 0}.legend-card{flex:1 1 220px;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.legend-swatch{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;margin-bottom:10px;color:#fff;font-size:1.2rem;font-weight:900}.legend-meta{margin:0 0 4px;font-size:.74rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#866628}
.print-stage{display:grid;gap:18px}
.sheet{width:var(--page-w);min-height:var(--page-h);padding:var(--page-pad);margin:0 auto;background:#fff;box-shadow:0 10px 32px rgba(0,0,0,.16);position:relative;page-break-after:always;break-after:page}
.sheet-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:.12in;font-size:.88rem;color:#6a5b46}
.sheet.cards-only{padding-top:calc(var(--page-pad) + .02in)}
.sheet.cards-only .sheet-head{display:none}
.sheet-grid{display:grid;grid-template-columns:repeat(var(--sheet-cols),var(--card-w));grid-template-rows:repeat(var(--sheet-rows),var(--card-h));gap:var(--gap);justify-content:center}
.card{width:var(--card-w);height:var(--card-h);border-radius:.18in;overflow:hidden;position:relative;border:1.5px solid rgba(39,29,13,.2);background:#f8f1e3}
.card-inner{position:absolute;inset:0;padding:.18in;display:flex;flex-direction:column;justify-content:space-between}
.card-face{color:#fff;background:linear-gradient(180deg,var(--accent),var(--accent-dark))}
.card-back{color:#fff;background:radial-gradient(circle at top,var(--accent-glow),transparent 32%),linear-gradient(180deg,var(--accent-dark),#21160b)}
.card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.card-type,.card-count{font-size:.24in;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.card-count{opacity:.86}
.card-icon{display:grid;place-items:center;font-size:.9in;line-height:1;border-radius:.18in;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);min-height:1.1in}
.card-title{font-size:.34in;line-height:1.02;font-weight:900;margin:.04in 0}.card-copy{font-size:.17in;line-height:1.3;max-width:95%}
.card-footer{display:flex;justify-content:space-between;gap:10px;font-size:.17in;font-weight:800;opacity:.95}.pill-row{display:flex;flex-wrap:wrap;gap:.05in;margin-bottom:.05in}.era-pill{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:.04in .1in;font-size:.11in;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.12)}.lesson-ref{font-size:.1in;line-height:1.25;letter-spacing:.02em;opacity:.88;max-width:1.55in;margin-top:.03in}.crisis-strip{font-size:.12in;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.78;margin-top:.05in}.crisis-copy-group{display:grid;gap:.05in}.crisis-footer{display:block;font-size:.14in;line-height:1.22}.crisis-footer span{display:block}.crisis-takeaway{margin-top:.05in;font-size:.122in;opacity:.92}.crisis-face .card-copy,.goods-face .card-copy{font-size:.126in;line-height:1.24;max-width:100%;margin:0}.crisis-face .card-icon,.goods-face .card-icon{min-height:.72in;font-size:.58in;margin:.04in 0 .06in}.crisis-face .card-type,.goods-face .card-type{font-size:.19in;line-height:1.08;max-width:1.55in}.crisis-face .card-count,.goods-face .card-count{font-size:.18in}.crisis-face .crisis-seq,.goods-face .crisis-seq{min-width:.62in;text-align:right}.crisis-back .back-mark,.goods-back .back-mark{font-size:.42in}.goods-copy-group{display:grid;gap:.05in}.goods-face .crisis-footer{font-size:.145in;line-height:1.24}
.goods-face .card-inner{padding:.15in .15in .14in}
.goods-face .pill-row{margin-bottom:.035in}
.goods-face .era-pill{padding:.03in .085in;font-size:.102in}
.goods-face .lesson-ref{font-size:.088in;line-height:1.14;max-width:1.72in;margin-top:.02in;opacity:.9}
.goods-face .card-type{font-size:.175in;line-height:1.02;max-width:1.72in}
.goods-face .card-count{font-size:.165in}
.goods-face .card-icon{min-height:.52in;font-size:.46in;margin:.02in 0 .035in}
.goods-face .goods-copy-group{gap:.03in}
.goods-face .card-copy{font-size:.113in;line-height:1.15}
.goods-face .crisis-strip{font-size:.096in;letter-spacing:.055em;margin-top:.03in}
.goods-face .crisis-footer{font-size:.122in;line-height:1.14}
.goods-face .crisis-takeaway{margin-top:.03in;font-size:.112in}
.back-grid{position:absolute;inset:.18in;border-radius:.14in;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.01))}
.back-mark{font-size:.5in;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-align:center;max-width:78%}
.back-ring{width:1.8in;height:1.8in;border-radius:999px;border:.06in solid rgba(255,255,255,.26);display:grid;place-items:center;font-size:.8in;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 .03in rgba(255,255,255,.12)}
.back-copy{font-size:.16in;text-align:center;letter-spacing:.03em;opacity:.88;max-width:1.78in;line-height:1.18;text-wrap:balance;word-break:break-word;margin:0 auto;padding:0 .04in}.goods-back .back-copy{font-size:.118in;line-height:1.14;max-width:1.7in;letter-spacing:.015em}.goods-back .back-grid{inset:.16in}.goods-back .back-mark{font-size:.36in}.goods-back .back-ring{width:1.48in;height:1.48in;font-size:.62in}.goods-back .back-copy br{display:block;content:'';margin-top:.02in}
.crop{position:absolute;border-color:rgba(60,50,35,.28);border-style:solid;width:.16in;height:.16in}
.crop.tl{top:.09in;left:.09in;border-width:1px 0 0 1px}.crop.tr{top:.09in;right:.09in;border-width:1px 1px 0 0}.crop.bl{bottom:.09in;left:.09in;border-width:0 0 1px 1px}.crop.br{bottom:.09in;right:.09in;border-width:0 1px 1px 0}
@page{size:letter portrait;margin:0}
@media (max-width:1100px){.hero,.controls{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.kit-shell{padding:16px}.sheet{transform-origin:top center;transform:scale(.86);margin:-.6in auto}}
body.url-print-mode .hero,
body.url-print-mode .controls,
body.url-print-mode .legend,
body.url-print-mode .no-print{display:none!important}
body.url-print-mode .kit-shell{padding:0;max-width:none}
body.url-print-mode .print-stage{gap:0}
body.url-print-mode .sheet{margin:0;box-shadow:none}
body.url-print-mode .sheet-head{display:none!important}

@media print{
  @page{margin:0}
  body{background:#fff}
  .kit-shell{padding:0;max-width:none}
  .hero,.controls,.legend,.no-print{display:none!important}
  .print-stage{gap:0}
  .sheet{margin:0;box-shadow:none}
  .sheet-head{display:none!important}
}
