/* Game Night Circle printables.
   Loaded after site.css on /printables and on each printable's page.
   Two parts: the page around the sheets (screen, the site's dark indigo look)
   and the sheet itself (.sheet: US Letter, white, ink-friendly, prints alone).
   Every class here starts with pr- (the page) or sh- (the sheet), so nothing
   collides with site.css. */

/* ===== the page (screen) ===== */
.pr-main{max-width:1180px;margin:0 auto;padding:150px 22px 40px}
.pr-back{display:inline-flex;align-items:center;min-height:52px;padding:0 22px;margin-bottom:22px;border-radius:999px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.3);color:#fff;font-weight:600;text-decoration:none}
.pr-back:hover{background:rgba(255,255,255,.14)}
.pr-kicker{font-size:16px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#ffd77a}
.pr-hero{display:flex;flex-direction:column;gap:16px;margin-bottom:44px}
.pr-hero h1{font-size:clamp(44px,8vw,92px);font-weight:800;letter-spacing:-.04em;line-height:.95;color:#fff}
.pr-hero>p{font-size:clamp(19px,2.2vw,23px);color:#d9d6ee;max-width:38em}
.pr-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.pr-jump a{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 8px;border-radius:999px;background:rgba(255,255,255,.07);border:1.5px solid color-mix(in oklch,var(--c),transparent 40%);color:#fff;font-weight:700;text-decoration:none}
.pr-jump a img{width:38px;height:38px;border-radius:22%}
.pr-jump a:hover{background:rgba(255,255,255,.12)}

.pr-app{scroll-margin-top:24px;margin-bottom:48px;padding:28px 22px;border-radius:36px;background:radial-gradient(70% 60% at 0% 0%,color-mix(in oklch,var(--c),transparent 62%),transparent 70%),#1b1640;box-shadow:0 0 0 1.5px color-mix(in oklch,var(--c),transparent 40%),0 30px 70px rgba(20,16,46,.5);color:#fff}
.pr-app-head{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
.pr-app-head .lockup{height:clamp(60px,9vw,100px);width:auto;margin-left:-1.5%}
.pr-app-head p{font-size:20px;color:#d9d6ee;max-width:40em}
.pr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.pr-item{display:flex;flex-direction:column;gap:12px;padding:16px 16px 20px;border-radius:26px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14)}
.pr-thumb{display:block;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.4);transition:transform .2s}
.pr-thumb:hover{transform:translateY(-4px)}
.pr-thumb img{width:100%;height:auto;aspect-ratio:612/792}
.pr-item h3{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-top:6px}
.pr-item h3 a{color:#fff;text-decoration:none}
.pr-item p{font-size:17px;color:#d9d6ee;line-height:1.5}
.pr-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}
.pr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;background:var(--c);color:#14102e;font-weight:800;font-size:17px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;box-shadow:0 0 22px color-mix(in oklch,var(--c),transparent 55%)}
.pr-btn:hover{filter:brightness(1.08)}
.pr-btn.ghost{color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.4);box-shadow:none}
.pr-btn.ghost:hover{background:rgba(255,255,255,.14)}

.pr-pitch{display:flex;flex-direction:column;gap:18px;margin-top:28px;padding:24px;border-radius:28px;background:rgba(255,255,255,.07);border:1.5px solid color-mix(in oklch,var(--c),transparent 45%)}
.pr-pitch-icon{width:96px;height:96px;border-radius:22%;flex-shrink:0;box-shadow:0 0 34px color-mix(in oklch,var(--c),transparent 50%),0 14px 28px rgba(0,0,0,.45)}
.pr-pitch>div{display:flex;flex-direction:column;gap:12px}
.pr-pitch h3{font-size:clamp(26px,3.4vw,36px);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.pr-pitch p{font-size:18px;color:#d9d6ee}
.pr-pitch .pr-fine{font-size:16px;color:#c9c6e2}
.pr-badges{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pr-badges .store img{height:52px;width:auto}
.pr-badges .soon{font-size:16px;font-weight:700;color:#d9d6ee}
.pr-guides{margin-top:18px;font-size:17px;color:#d9d6ee}
.pr-guides a{display:inline-flex;min-height:44px;align-items:center;font-weight:700;color:#fff;margin-right:14px;text-underline-offset:3px}
.pr-tips{padding:26px;border-radius:28px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);font-size:18px;color:#d9d6ee;display:flex;flex-direction:column;gap:10px}
.pr-tips h2{font-size:30px;font-weight:800;letter-spacing:-.03em;color:#fff}
.pr-tips ul{margin:0;padding-left:22px}.pr-tips li{margin-bottom:6px}
@media (min-width:820px){
  .pr-main{padding-left:48px;padding-right:48px}
  .pr-app{padding:40px 44px}
  .pr-pitch{flex-direction:row;align-items:center;padding:30px 34px;gap:28px}
  .pr-pitch-icon{width:132px;height:132px}
}

/* one printable's page: the title, the buttons, the sheet, then a few words */
.pr-one{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
.pr-one-head{display:flex;flex-direction:column;gap:14px}
.pr-one-head h1{font-size:clamp(40px,7vw,76px);font-weight:800;letter-spacing:-.04em;line-height:.98;color:#fff}
.pr-one-head p{font-size:20px;color:#d9d6ee;max-width:40em}
.pr-fit{width:100%;min-width:0}
.pr-frame{width:8.5in;margin:0 auto;box-shadow:0 30px 70px rgba(0,0,0,.5);border-radius:6px;overflow:hidden}
.pr-text{display:grid;gap:22px}
.pr-text .pr-card{padding:26px;border-radius:28px;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14)}
.pr-text h2{font-size:30px;font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:12px}
.pr-text p,.pr-text li{font-size:18px;color:#d9d6ee;line-height:1.6}
.pr-text ul,.pr-text ol{margin:0;padding-left:24px}.pr-text li{margin-bottom:6px}
.pr-text a{color:#fff;font-weight:700;text-underline-offset:3px}
.pr-more{display:flex;flex-wrap:wrap;gap:10px}
/* party packs: photos of the pack instead of a live sheet */
.pp-shots{display:grid;gap:22px}
.pp-shots img{width:100%;height:auto;display:block;border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.5);scroll-margin-top:24px}

/* ===== the sheet (what prints) ===== */
@page{size:letter;margin:0}
.sheet{--ink:#1d1d29;--line:#4b4b5c;--hair:#c3c3cf;--soft:#5d5d6e;
  width:8.5in;height:11in;padding:.42in .5in .34in;background:#fff;color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:500;font-size:10pt;line-height:1.32;letter-spacing:0;
  display:flex;flex-direction:column;gap:.15in;overflow:hidden;position:relative;text-align:left;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.sheet *{box-sizing:border-box}
.sheet p{margin:0}
.sheet h2,.sheet h3,.sheet h4{font-family:'Sora',sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:0;color:var(--acc);text-wrap:balance}
.sheet.s-bunco{--acc:#c2185b;--acc2:#9a6a00;--tint:#fff3f7;--tint2:#fff8e6}
.sheet.s-mahj{--acc:#0f6b4f;--acc2:#b0122b;--tint:#eef7f2;--tint2:#fdf3f3}
.sheet.s-euchre{--acc:#1f3c8c;--acc2:#b3261e;--tint:#eef2fb;--tint2:#fdf3f2}

/* header and footer */
.sh-head{display:flex;align-items:center;gap:.16in;padding-bottom:.12in;border-bottom:2.25pt solid var(--acc)}
.sh-icon{width:.66in;height:.66in;border-radius:22%;flex-shrink:0;display:block}
.sh-title{display:flex;flex-direction:column;gap:.05in;min-width:0}
.sh-kicker{font-size:8.5pt;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--acc2)}
.sh-title h2{font-size:25pt}
.sh-fields{margin-left:auto;display:grid;gap:.1in;font-size:9.5pt;font-weight:700;flex-shrink:0}
.sh-field{display:flex;align-items:flex-end;gap:.07in;white-space:nowrap}
.sh-field i{display:block;border-bottom:1pt solid var(--line);width:1.55in;height:.2in}
.sh-foot{margin-top:auto;padding-top:.08in;border-top:.75pt solid var(--hair);text-align:center;font-size:8.5pt;color:var(--soft);font-weight:600}
.sh-foot b{color:var(--acc);font-weight:800}

/* small helpers */
.sh-line{display:flex;align-items:flex-end;gap:.07in;font-size:9pt;font-weight:700;white-space:nowrap}
.sh-line i{flex:1;display:block;border-bottom:1pt solid var(--line);height:.2in}
.sh-note{font-size:8.5pt;color:var(--soft);line-height:1.35}
.sh-note b{color:var(--ink)}
.sh-die{display:inline-block;vertical-align:middle}

/* four cards to a page, with cut lines between them */
.sh-cards{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.26in;position:relative}
.sh-cards::before{content:"";position:absolute;left:50%;top:-.06in;bottom:-.06in;border-left:1pt dashed #a4a4b2}
.sh-cards::after{content:"";position:absolute;top:50%;left:-.2in;right:-.2in;border-top:1pt dashed #a4a4b2}

.sh-card{position:relative;z-index:1;background:#fff;border:1.25pt solid var(--line);border-radius:.14in;padding:.15in .17in .1in;display:flex;flex-direction:column;gap:.075in;min-height:0}
.sh-card-head{display:flex;align-items:center;gap:.1in}
.sh-card-head img{width:.44in;height:.44in;border-radius:22%}
.sh-card-head h3{font-size:14.5pt}
.sh-card-head .sh-kicker{font-size:7pt}
.sh-card .sh-site{margin-top:auto;text-align:center;font-size:7pt;color:#7a7a8a;font-weight:700;letter-spacing:.02em}
.sh-key{font-size:7.4pt;line-height:1.36;color:var(--soft);padding:.05in .07in;border-radius:.07in;background:var(--tint)}
.sh-key b{color:var(--ink);font-weight:800}

/* score tables */
.sh-table{width:100%;border-collapse:collapse;table-layout:fixed}
.sh-table th{font-family:'Plus Jakarta Sans',sans-serif;font-size:6.9pt;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.1;color:var(--acc);padding:0 .02in .04in;border-bottom:1.25pt solid var(--line);text-align:center;vertical-align:bottom}
.sh-table td{border:.75pt solid var(--hair);text-align:center;vertical-align:middle;padding:0}
.sh-table tr:first-child td{border-top:0}
.sh-table td:first-child{border-left:0}.sh-table td:last-child{border-right:0}
.sh-table tr.sh-total td{border-top:1.25pt solid var(--line);border-bottom:0;font-weight:800;font-size:8pt;color:var(--ink);background:var(--tint)}
.sh-rd{display:inline-flex;align-items:center;gap:.05in;font-family:'Sora',sans-serif;font-weight:800;font-size:10pt;color:var(--ink)}
.sh-rd small{font-family:'Plus Jakarta Sans',sans-serif;font-size:6.5pt;font-weight:700;color:var(--soft)}
.sh-num{font-family:'Sora',sans-serif;font-weight:800;font-size:9pt;color:var(--ink)}
.sh-dot{display:inline-block;width:.15in;height:.15in;border:1pt solid var(--line);border-radius:50%;vertical-align:middle}

/* checklists */
.sh-band{display:grid;grid-template-columns:repeat(3,1fr);gap:.09in .22in;padding:.1in .14in;border:1pt solid var(--hair);border-radius:.1in}
.sh-cols{display:grid;grid-template-columns:1fr 1fr;gap:.24in;flex:1;min-height:0}
.sh-col{display:flex;flex-direction:column;gap:.15in;min-height:0}
.sh-sec h3{font-size:12.5pt;margin-bottom:.05in;display:flex;align-items:baseline;gap:.08in}
.sh-sec h3 small{font-family:'Plus Jakarta Sans',sans-serif;font-size:7.5pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc2)}
.sh-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sh-checks li{display:flex;gap:.09in;align-items:flex-start;padding:.042in 0;border-bottom:.6pt solid #e2e2ea;font-size:9.4pt;line-height:1.28}
.sh-checks li::before{content:"";flex-shrink:0;width:.15in;height:.15in;margin-top:.01in;border:1.1pt solid var(--line);border-radius:.03in}
.sh-checks li span{color:var(--soft);font-size:8.3pt}
.sh-blank{flex:1;border-bottom:1pt solid var(--line)}
.sh-rules{padding:.1in .14in;border-radius:.1in;background:var(--tint);border:1pt solid color-mix(in srgb,var(--acc) 30%,white)}
.sh-rules h3{font-size:12.5pt;margin-bottom:.05in}
.sh-rules ol,.sh-rules ul{margin:0;padding-left:.17in;font-size:8.8pt;line-height:1.36}
.sh-rules li{margin-bottom:.025in}
.sh-rules li b{color:var(--ink)}
.sh-notes{flex:1;min-height:.9in;border:1pt solid var(--hair);border-radius:.1in;padding:.07in .12in;background:repeating-linear-gradient(to bottom,transparent 0,transparent .27in,#dcdce4 .27in,#dcdce4 .28in);background-origin:content-box;font-size:8pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}

.sh-table td{height:var(--rh,.3in)}

/* Bunco table rotation tracker */
.sh-rot-top{display:grid;grid-template-columns:1.12fr 1fr;gap:.18in}
.sh-move{display:block;width:100%;height:auto;margin:.02in 0 .04in}
.sh-rot-how{padding:.1in .14in;border:1pt solid var(--hair);border-radius:.1in}
.sh-rot-how h3{font-size:12.5pt;margin-bottom:.05in}
.sh-rot-how ol{margin:0 0 .05in;padding-left:.17in;font-size:8.8pt;line-height:1.38}
.sh-rot-how li{margin-bottom:.03in}
.sh-roster h3{font-size:12.5pt;margin-bottom:.04in}
.sh-roster-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:column;grid-template-rows:repeat(8,auto);gap:.035in .24in}
.sh-roster-grid .sh-line{gap:.06in;font-size:8.5pt}
.sh-roster-grid .sh-line i{height:.17in}
.sh-n{display:inline-block;min-width:.2in;text-align:right;font-family:'Sora',sans-serif;font-weight:800;color:var(--acc)}
.sh-rot th{font-size:8pt}
.sh-th-sub{font-size:6.3pt;letter-spacing:.06em;color:var(--soft)}
.sh-rot td:first-child{text-align:left;padding-left:.04in}
.sh-rd-col{flex-direction:column;align-items:flex-start;gap:.02in}
.sh-rd-col>span{display:inline-flex;align-items:center;gap:.05in;font-size:12pt}
.sh-pairs{display:flex;flex-direction:column;gap:.06in;align-items:center}
.sh-pair{display:flex;align-items:center;gap:.035in}
.sh-pair em{font-style:normal;font-size:7pt;color:var(--soft);font-weight:700}
.sh-box{display:inline-block;width:.27in;height:.22in;border:1pt solid var(--line);border-radius:.035in}
.sh-pair .sh-dot{width:.13in;height:.13in;margin-right:.02in}

/* checklists: a slightly tighter header so everything fits */
.sh-checklist .sh-sec h3{font-size:12pt}

/* mahjong score sheet */
.sh-mj-key{display:grid;grid-template-columns:1fr 1fr;gap:.18in;padding:.1in .14in;border-radius:.1in;background:var(--tint);border:1pt solid color-mix(in srgb,var(--acc) 30%,white)}
.sh-mj-key h3{font-size:11.5pt;margin-bottom:.05in}
.sh-mj-key ul{margin:0;padding-left:.15in;font-size:8.6pt;line-height:1.36}
.sh-mj-key li{margin-bottom:.025in}
.sh-mj-key li b{color:var(--ink)}
.sh-mj th{font-size:6.6pt}
.sh-mj .sh-mj-names th{border-bottom:0;padding-bottom:.05in}
.sh-mj-name span{display:block;height:.42in;margin:0 .03in;border:1pt solid var(--line);border-radius:.06in;padding:.03in .05in;text-align:left;font-size:6.3pt;letter-spacing:.06em;color:var(--soft)}
.sh-mj td.sh-tot{background:var(--tint)}
.sh-mj td.sh-pl,.sh-mj td.sh-ck{border-left:1.5pt solid var(--line)}
.sh-mj tr.sh-total td{height:.4in}

/* Farkle: score sheet and scoring chart */
.sheet.s-farkle{--acc:#1b5263;--acc2:#c2532b;--tint:#edf5f7;--tint2:#fff1ea}
.sh-fk-die{display:inline-block;vertical-align:middle;flex-shrink:0}
.sh-fk-die rect{fill:#fff;stroke:var(--ink);stroke-width:1.6}
.sh-fk-die circle{fill:#b3261e}
.sh-fk-dice{display:inline-flex;gap:.035in;align-items:center}
.sh-fk-rules{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.2in}
.sh-fk-rules .sh-line small{font-size:7.5pt;font-weight:600;color:var(--soft)}
.sh-fk-key{display:grid;grid-template-columns:.75fr 1.05fr 1.5fr;gap:.16in;padding:.09in .14in;border-radius:.1in;background:var(--tint);border:1pt solid color-mix(in srgb,var(--acc) 30%,white)}
.sh-fk-key h3{font-size:10.5pt;margin-bottom:.04in}
.sh-fk-key ul{list-style:none;margin:0;padding:0;font-size:8.2pt;line-height:1.36}
.sh-fk-key li{margin-bottom:.03in}
.sh-fk-key li .sh-fk-die{margin:-.02in .05in 0 0}
.sh-fk-key li b{color:var(--ink)}
.sh-fk-key .sh-fk-eg{color:var(--soft);font-size:7.6pt}
.sh-fk-table th{font-size:6.4pt}
.sh-fk-table .sh-mj-name span{height:.38in}
.sh-fk-table tr.sh-total td{height:.36in}
.sh-fk-chart th{font-size:7.4pt}
.sh-fk-chart td{border-left:0;border-right:0}
.sh-fk-chart td.sh-fk-dcell{text-align:left;padding-left:.02in}
.sh-fk-chart .sh-fk-what{text-align:left;font-size:10.5pt;font-weight:700;padding-left:.08in}
.sh-fk-chart .sh-fk-what sup{color:var(--acc2);font-weight:800}
.sh-fk-chart .sh-fk-pts{font-family:'Sora',sans-serif;font-weight:800;font-size:13pt;color:var(--acc)}
.sh-fk-chart tbody tr:nth-child(even) td{background:var(--tint)}
.sh-fk-ours span{display:block;margin:0 auto;width:.8in;height:.24in;border-bottom:1pt solid var(--line)}
.sh-fkc-low{display:grid;grid-template-columns:1.05fr 1fr;gap:.2in;flex:1;min-height:0}
.sh-fkc-right{display:flex;flex-direction:column;gap:.12in;min-height:0}
.sh-fkc-vary{padding:.1in .14in;border:1pt solid var(--hair);border-radius:.1in}
.sh-fkc-vary h3{font-size:12pt;margin-bottom:.05in}
.sh-fkc-vary ul{margin:0;padding-left:.15in;font-size:8.6pt;line-height:1.36}
.sh-fkc-vary li{margin-bottom:.03in}
.sh-fkc-vary li b{color:var(--ink)}

/* ===== printing: only the sheet ===== */
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body::before,body::after{display:none!important}
  body>header,body>footer,.pr-screen{display:none!important}
  .pr-main{padding:0!important;margin:0!important;max-width:none!important}
  .pr-one{display:block!important}
  .pr-fit{width:auto!important}
  .pr-frame{zoom:1!important;width:8.5in!important;margin:0!important;box-shadow:none!important;border-radius:0!important}
  .sheet{break-after:avoid;break-inside:avoid}
}
