/* BG print-kit builder + letter-size sheets */
.kb{padding-top:20px;padding-bottom:40px}
.kb-back{display:inline-block;margin-bottom:10px;color:var(--y);font-weight:700}
.kb-top .tag{margin-left:10px}
.kb-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:14px 0}
.kb-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:22px;align-items:start;margin-top:10px}
.kb-form{max-width:none;position:sticky;top:76px;max-height:calc(100vh - 90px);overflow:auto}
.kb-form h2{font-size:28px;margin:0}
.kb-form textarea{font-size:16px!important;line-height:1.3}
.kb-seed{display:flex;gap:8px}.kb-seed input{flex:1;min-width:0}
.kb-preview{background:#1a1a1a;border-radius:12px;padding:14px;overflow:hidden;min-width:0}
@media (max-width:860px){.kb-grid{grid-template-columns:1fr}.kb-form{position:static;max-height:none}}
.kit-grid .kit .pill{margin-right:6px}
/* sheets */
.sheets{--ac:#FFDC00;--ac2:#000;--soft:#f3f3f3;--line:#000;color:#000;font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-weight:600;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheets.bw{--ac:#fff;--soft:#fff}
.sheet{width:8.5in;height:11in;background:#fff;box-sizing:border-box;padding:var(--pad,.45in);position:relative;overflow:hidden;margin:0 auto 20px;box-shadow:0 6px 24px rgba(0,0,0,.6);break-after:page;page-break-after:always}
.sheet.land{width:11in;height:8.5in;padding:0}
.land-rot{width:11in;height:8.5in;padding:var(--pad,.45in)}
.sheet:last-child{break-after:auto;page-break-after:auto;margin-bottom:0}
.sheet-in{width:100%;height:100%;position:relative;display:flex;flex-direction:column;gap:.12in;overflow:hidden}
.sheet *{box-sizing:border-box}
.k-head{display:flex;align-items:center;gap:.16in;background:#000;color:#FFDC00;padding:.07in .16in;border-radius:.07in;flex:none}
.bw .k-head{background:#fff;color:#000;border:.03in solid #000}
.k-head img{height:.46in;width:auto}
.k-title{font-family:Anton,Impact,sans-serif;font-size:.36in;line-height:1;text-transform:uppercase;transform:skew(-8deg);letter-spacing:.01in}
.k-sub{margin-left:auto;text-align:right;font-weight:800;font-size:.2in;color:#fff;line-height:1.1;text-transform:uppercase}
.k-sub small{display:block;font-size:.14in;color:#FFDC00;font-weight:700}
.bw .k-sub,.bw .k-sub small{color:#000}
.k-foot{margin-top:auto;font-size:.12in;color:#444;display:flex;justify-content:space-between;flex:none;letter-spacing:.01in}
.k-table{width:100%;border-collapse:collapse;font-size:.15in;table-layout:fixed}
.k-table td{overflow:hidden}
.k-table th{background:var(--ac);border:.015in solid #000;padding:.03in .06in;text-transform:uppercase;font-size:.13in;text-align:left}
.k-table td{border:.01in solid #000;height:.32in;padding:0 .06in}
.k-table.tight td{height:.27in}
.k-big{font-family:Anton,Impact,sans-serif;text-transform:uppercase;line-height:1}
.k-note{font-size:.15in;line-height:1.25;margin:0}
.k-howto h2{font-family:Anton,Impact,sans-serif;font-size:.42in;text-transform:uppercase;margin:.06in 0}
.k-howto h3{font-family:Anton,Impact,sans-serif;font-size:.24in;text-transform:uppercase;margin:.14in 0 .04in;border-bottom:.04in solid var(--ac2)}
.sheets:not(.bw) .k-howto h3{border-color:#FFDC00}
.k-howto li{font-size:.17in;line-height:1.3;margin:.03in 0}
.k-howto ol,.k-howto ul{padding-left:.25in;margin:0}
.k-goal{font-size:.2in;margin:.04in 0;background:var(--soft);border-left:.08in solid #000;padding:.08in .12in}
.k-cols{display:grid;grid-template-columns:1fr 1fr;gap:.3in}
.k-fine{font-size:.12in;color:#444;margin-top:.2in}
.k-cut{border:.012in dashed #777}
.k-grid-cards{display:grid;flex:1;min-height:0}
.k-tile{position:absolute;inset:0;overflow:hidden}
.k-tile-z{width:100%;height:100%;transform-origin:0 0;display:flex;flex-direction:column;gap:.12in}
.k-tile-lbl{position:absolute;right:0;bottom:0;background:#fff;border:.01in solid #999;font-size:.1in;padding:.02in .06in;color:#333}
svg text{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif}
@page{size:letter portrait;margin:0}
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  .bgg-nav,.bgg-foot,.skip,.no-print,.bgg-toasts,.bgg-install,.kb-preview>:not(.sheets){display:none!important}
  main.kb,.kb-grid,.kb-preview{display:block!important;padding:0!important;margin:0!important;background:none!important;max-width:none!important;width:auto!important;border-radius:0!important}
  .sheets{zoom:1!important}
  .sheet{margin:0!important;box-shadow:none!important}
  .sheet.land{width:8.5in;height:11in}
  .land-rot{transform:translateX(8.5in) rotate(90deg);transform-origin:0 0}
}
/* scratch */
.sc-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);flex:1;min-height:0}
.sc-card{display:flex;flex-direction:column;align-items:stretch;padding:.1in .14in;gap:.05in;overflow:hidden}
.sc-top{display:flex;align-items:center;gap:.08in;background:#000;color:#FFDC00;border-radius:.05in;padding:.03in .08in}
.bw .sc-top{background:#fff;color:#000;border:.015in solid #000}
.sc-top img{height:.28in}.sc-top b{font-size:.24in;transform:skew(-8deg)}.sc-top span{margin-left:auto;font-size:.12in;color:#fff}.bw .sc-top span{color:#000}
.sc-spots{display:flex;justify-content:center;gap:.16in;flex:1;align-items:center}
.sc-spot{width:1in;height:1in;border-radius:50%;border:.02in dashed #000;background:var(--soft);display:flex;align-items:center;justify-content:center;text-align:center;padding:.1in;flex:none}
.sc-spot span{font-weight:800;font-size:.14in;line-height:1.05}
.sc-rule{text-align:center;font-weight:800;font-size:.15in;text-transform:uppercase}
.sc-lines{display:flex;justify-content:space-between;font-size:.12in}
.sc-fine{font-size:.1in;color:#444;text-align:center}
/* punch */
.pc-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,1fr);flex:1;min-height:0}
.pc-card{display:flex;flex-direction:column;padding:.08in .14in;gap:.04in;overflow:hidden}
.pc-top{display:flex;align-items:center;gap:.08in;background:#000;color:#FFDC00;border-radius:.05in;padding:.03in .08in}
.bw .pc-top{background:#fff;color:#000;border:.015in solid #000}
.pc-top img{height:.24in}.pc-top b{font-size:.2in;transform:skew(-8deg)}.pc-top span{margin-left:auto;font-size:.12in;color:#fff;text-transform:uppercase;font-weight:800}.bw .pc-top span{color:#000}
.pc-name{font-size:.15in}.pc-name b{font-size:.18in}
.pc-holes{display:grid;gap:.06in;flex:1;align-content:center;justify-items:center}
.pc-holes span{width:var(--hs,.34in);height:var(--hs,.34in);border-radius:50%;border:.02in solid #000;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.13in;color:#555}
.pc-holes span.last{background:var(--ac);color:#000;font-size:.2in}
.pc-reward{font-size:.15in;text-align:center;text-transform:uppercase}
.pc-fine{font-size:.1in;color:#444;text-align:center}
/* battleship */
.bs-wrap{display:flex;justify-content:center;flex:none}
.bs-grid{border-collapse:collapse}
.bs-grid th,.bs-grid td{width:var(--c);height:var(--c);text-align:center;font-family:Anton,Impact,sans-serif;font-size:calc(var(--c) * .42);padding:0}
.bs-grid td{border:.015in solid #000;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:calc(var(--c) * .3)}
.bs-grid tr:nth-child(even) td:nth-child(even),.bs-grid tr:nth-child(odd) td:nth-child(odd){background:var(--soft)}
.bs-grid td.ship{background:#000!important;color:#FFDC00}
.bw .bs-grid td.ship{background:#bbb!important;color:#000}
.bs-legend{display:flex;justify-content:space-between;font-size:.18in;border-top:.03in solid #000;border-bottom:.03in solid #000;padding:.06in 0}
.bs-fleet{display:grid;grid-template-columns:1fr 1fr;gap:.05in .3in;font-size:.16in}
.bs-fleet div{display:flex;align-items:center;gap:.08in}.bs-fleet i{margin-left:auto;display:flex;gap:.03in}
.bs-fleet em{width:.16in;height:.16in;background:var(--ac);border:.012in solid #000;display:block}
.bs-box{width:.2in;height:.2in;border:.02in solid #000;display:inline-block}
/* thermometer */
.th-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 2.1in;gap:.15in}
.th-svg{width:100%;height:100%;min-height:0}
.th-bulb{fill:#FFDC00}.bw .th-bulb{fill:#fff;stroke:#000;stroke-width:2}
.th-side{display:flex;flex-direction:column;gap:.12in;justify-content:center}
.th-goal{background:#000;color:#FFDC00;border-radius:.08in;padding:.12in;text-align:center}.bw .th-goal{background:#fff;color:#000;border:.03in solid #000}
.th-goal small,.th-card small{display:block;text-transform:uppercase;font-size:.14in;letter-spacing:.02in}
.th-goal b{font-size:.5in;display:block}.th-goal span{font-size:.16in;color:#fff}.bw .th-goal span{color:#000}
.th-card{border:.025in solid #000;border-radius:.08in;padding:.08in .1in}.th-card b{font-size:.2in;display:block;min-height:.3in}
/* football */
.fb-svg{flex:1;min-height:0;width:100%}
.fb-ez{fill:#000}.fb-ezt{fill:#FFDC00}.bw .fb-ez{fill:#fff;stroke:#000;stroke-width:3}.bw .fb-ezt{fill:#000}
.fb-fg{stroke:#FFDC00}.bw .fb-fg{stroke:#000}
.fb-legend{display:flex;justify-content:space-between;gap:.2in;font-size:.17in;border-top:.03in solid #000;padding-top:.05in;flex-wrap:wrap}
/* bracket */
.br-svg{flex:1;min-height:0;width:100%}
.br-champ{fill:#FFDC00;stroke:#000;stroke-width:4}.bw .br-champ{fill:#fff}
.br-legend{font-size:.17in;text-align:center}
.br-h{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:.22in;margin:.08in 0 .02in}
/* raffle */
.rf-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,1fr);flex:1;min-height:0}
.rf-t{display:grid;grid-template-columns:1.2in 1fr;overflow:hidden}
.rf-stub{border-right:.02in dashed #000;padding:.08in .1in;display:flex;flex-direction:column;font-size:.11in;gap:.01in}
.rf-stub b{font-size:.16in}.rf-stub i{border-bottom:.01in solid #000;height:.18in;display:block}
.rf-main{padding:.08in .12in;display:flex;flex-direction:column;gap:.04in}
.rf-top{display:flex;align-items:center;gap:.08in;background:#000;color:#FFDC00;border-radius:.05in;padding:.03in .08in}.bw .rf-top{background:#fff;color:#000;border:.015in solid #000}
.rf-top img{height:.26in}.rf-top b{font-size:.22in;transform:skew(-8deg)}
.rf-no{font-size:.42in;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}
.rf-prize{font-size:.14in;text-align:center}.rf-fine{font-size:.1in;color:#444;text-align:center}
.rf-sign{display:flex;justify-content:space-between;font-size:.15in;margin-top:.2in}
/* poker */
.pk-prizes{display:flex;justify-content:space-between;font-size:.17in;flex-wrap:wrap;gap:.1in}
.pk-track td{height:var(--rh,.4in)}
.pk-rules li{font-size:.18in;margin:.04in 0}
.pk-ex{font-weight:800;letter-spacing:.02in}
.pk-deck{display:grid;grid-template-columns:repeat(3,2.5in);grid-template-rows:repeat(3,3.5in);justify-content:center;align-content:center;height:100%}
.pk-card{border:.012in dashed #777;position:relative;display:flex;align-items:center;justify-content:center;font-size:.3in;color:#000;overflow:hidden}
.pk-card::before{content:"";position:absolute;inset:.12in;border:.02in solid #000;border-radius:.12in}
.pk-card.red{color:#c8102e}
.pk-c{position:absolute;font-weight:800;text-align:center;line-height:1;font-size:.3in}
.pk-c.tl{left:.2in;top:.2in}.pk-c.br{right:.2in;bottom:.2in;transform:rotate(180deg)}
.pk-mid{font-size:1.1in;display:flex;flex-direction:column;align-items:center;line-height:1}.pk-mid b{font-size:.7in}
.pk-card img{position:absolute;bottom:.24in;left:50%;transform:translateX(-50%);height:.3in}
.pk-card.back{background:#000;color:#FFDC00;flex-direction:column}.pk-card.back::before{border-color:#FFDC00}
.pk-card.back img{position:static;transform:none;height:.9in}.pk-card.back b{font-size:.6in;transform:skew(-8deg)}
.bw .pk-card.back{background:#fff;color:#000}.bw .pk-card.back::before{border-color:#000}
/* wheel */
.wh-svg{flex:1;min-height:0;width:100%}
.wh-y{fill:#FFDC00}.wh-k{fill:#000}.wh-w{fill:#fff}.wh-t-y,.wh-t-w{fill:#000}.wh-t-k{fill:#FFDC00}
.bw .wh-y{fill:#fff}.bw .wh-k{fill:#e6e6e6}.bw .wh-t-k{fill:#000}
.wh-ar{fill:#FFDC00}.bw .wh-ar{fill:#fff}
.wh-arrows{display:flex;flex-direction:column;align-items:center;gap:.3in;padding:.2in 0}
/* hall of fame */
.hf-cert{flex:1;border:.12in solid #000;padding:.08in;display:flex}.sheets:not(.bw) .hf-cert{border-color:#000;outline:.04in solid #FFDC00;outline-offset:-.2in}
.hf-in{flex:1;border:.03in solid #000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.1in;padding:.3in}
.hf-logo{height:.9in}.hf-award{font-size:.62in;transform:skew(-8deg);letter-spacing:.02in}
.hf-pres{font-size:.24in;font-style:italic}.hf-name{font-family:Anton,Impact,sans-serif;font-size:.75in;line-height:1;border-bottom:.04in solid #000;padding:0 .4in .06in;text-transform:uppercase}
.hf-stat{font-size:.34in;font-weight:800;background:var(--ac);padding:.02in .2in;border-radius:.06in}.bw .hf-stat{border:.02in solid #000}
.hf-why{font-size:.22in}
.hf-meta{display:grid;grid-template-columns:1fr 1.3in 1fr;gap:.3in;width:100%;align-items:end;margin-top:.15in}
.hf-meta>div:not(.hf-seal){border-top:.02in solid #000;padding-top:.04in;font-size:.14in;text-transform:uppercase}.hf-meta b{display:block;font-size:.22in;text-transform:none;min-height:.3in}
.hf-seal{width:1.2in;height:1.2in;border-radius:50%;background:#FFDC00;border:.06in double #000;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.5in;line-height:1;margin:0 auto}.bw .hf-seal{background:#fff}
.hf-seal small{font-size:.13in;font-weight:800;text-transform:uppercase}
.hf-poster{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15in;border:.1in solid #000;padding:.25in}
.hf-ptop{width:100%;background:#000;color:#FFDC00;padding:.15in;border-radius:.08in;display:flex;flex-direction:column;align-items:center;gap:.06in}.bw .hf-ptop{background:#fff;color:#000;border:.03in solid #000}
.hf-ptop img{height:.8in}.hf-ptop .k-big{font-size:.62in;transform:skew(-8deg)}.hf-ptop span{font-size:.3in;color:#fff;text-transform:uppercase;font-weight:800}.bw .hf-ptop span{color:#000}
.hf-photo{width:3.6in;height:3.6in;border:.03in dashed #000;display:flex;align-items:center;justify-content:center;color:#666;font-size:.2in;background:var(--soft)}
.hf-pname{font-family:Anton,Impact,sans-serif;font-size:.8in;line-height:1;text-transform:uppercase}
.hf-pstat{font-size:.38in;font-weight:800;background:var(--ac);padding:.04in .25in;border-radius:.08in}.bw .hf-pstat{border:.02in solid #000}
.hf-pstore{margin-top:auto;font-size:.26in;font-weight:800;text-transform:uppercase}
.sc-sp{font-size:.11in;white-space:nowrap;overflow:hidden;max-width:2.4in;text-overflow:ellipsis}
.k-howto h2{display:inline-block}
