/* Score Keeper Pad: felt table + legal pad. Mobile-first, no external fonts. */
:root{--felt:#0e4a36;--felt2:#0a3627;--felt3:#d9ebe2;--paper:#fffbe6;--paper2:#fff3b8;--rule:#b9cde6;--margin:#d9473b;--ink:#1d2433;--ink2:#3a4356;--muted:#5b6474;--accent:#b8361f;--gold:#f2c230;--line:#c9c2a3;--bg:#f4f1e8;--r:10px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16.5px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
h1,h2,h3,.brand-name{font-family:"Rockwell","Roboto Slab","Zilla Slab","Courier New",Georgia,serif;letter-spacing:-.005em}
h1{font-size:clamp(1.6rem,5.2vw,2.3rem);line-height:1.15;margin:.2em 0 .35em;color:var(--felt2)}
h2{font-size:clamp(1.25rem,3.6vw,1.55rem);line-height:1.25;margin:1.8em 0 .5em;color:var(--felt2);padding-bottom:.25em;border-bottom:3px double var(--line)}
h3{font-size:1.08rem;margin:1.2em 0 .4em}
p{margin:0 0 1em}
a{color:#0b5e8f;text-underline-offset:3px}
a:hover{color:var(--accent)}
img,svg{max-width:100%}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:6px;background:var(--gold);color:var(--ink);padding:10px 14px;border-radius:6px;z-index:20;font-weight:700}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:820px;margin:0 auto;padding:0 16px}
/* header */
.site-head{background:var(--felt);color:#fff;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:6px 6px}
.site-head .wrap{display:flex;flex-direction:column;gap:2px;padding-top:8px;padding-bottom:4px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-height:44px}
.brand:hover{color:#fff}
.brand svg{width:34px;height:34px;flex:none}
.brand-name{font-size:1.25rem;font-weight:700}
.brand-tag{display:none;font-size:.85rem;color:var(--felt3)}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 6px}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:none;color:#fff;text-decoration:none;font-size:.92rem;padding:10px 10px;min-height:44px;display:inline-flex;align-items:center;border-radius:6px;white-space:nowrap}
.nav a:hover{background:rgba(255,255,255,.12)}
.nav a[aria-current=page]{background:var(--gold);color:var(--ink);font-weight:700}
@media(min-width:760px){.site-head .wrap{flex-direction:row;align-items:center;justify-content:space-between}.nav{margin:0;padding:6px 0}.brand-tag{display:block}}
/* page */
main{padding:10px 0 40px}
.crumbs{font-size:.85rem;color:var(--muted);margin:4px 0 0}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;gap:6px;flex-wrap:wrap}
.crumbs li+li::before{content:"\203A";margin-right:6px;color:var(--muted)}
.crumbs a{color:var(--muted)}
.lede{font-size:1.02rem;color:var(--ink2);margin-bottom:14px}
.reviewed{font-size:.85rem;color:var(--muted);font-style:italic}
.back{display:inline-block;margin-top:6px}
/* the pad */
.tool{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:4px 4px var(--r) var(--r);box-shadow:0 1px 0 #e7dfbd,0 2px 0 #fff,0 3px 0 #e7dfbd,0 8px 18px rgba(30,40,30,.12);padding:22px 12px 14px;margin:6px 0 22px;min-height:340px}
.tool{background-image:linear-gradient(90deg,transparent 0 5px,rgba(217,71,59,.55) 5px 6.5px,transparent 6.5px)}
.tool::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:var(--felt2);border-radius:4px 4px 0 0;background-image:repeating-linear-gradient(90deg,transparent 0 14px,rgba(255,255,255,.35) 14px 18px)}
@media(min-width:600px){.tool{padding:24px 20px 18px 20px}}
.tool noscript p{margin:0}
.t-head{margin-bottom:10px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 10px}
.field{display:flex;flex-direction:column;gap:3px;min-width:0}
.field>label,.field>.lbl{font-size:.82rem;font-weight:600;color:var(--ink2)}
.inp{font:inherit;min-height:44px;padding:8px 10px;border:1.5px solid #9aa3b2;border-radius:6px;background:#fff;color:var(--ink);min-width:0;max-width:100%}
.inp:focus{border-color:var(--felt)}
.inp.num{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;width:7.5em}
select.inp{padding-right:28px}
.btn{font:inherit;font-weight:650;min-height:44px;min-width:44px;padding:8px 14px;border-radius:6px;border:1.5px solid var(--ink2);background:#fff;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;text-align:center}
.btn:hover{background:#f3f6fa}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:var(--felt);border-color:var(--felt);color:#fff}
.btn.primary:hover{background:var(--felt2)}
.btn.danger{background:#fff;border-color:var(--accent);color:var(--accent)}
.btn.ghost{background:transparent;border-color:transparent;text-decoration:underline}
.btn.sm{min-height:44px;padding:6px 10px;font-size:.9rem}
.t-bar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.chip{font:inherit;font-variant-numeric:tabular-nums;min-height:44px;min-width:52px;padding:6px 10px;border-radius:999px;border:1.5px solid var(--felt);background:var(--felt3);color:var(--felt2);font-weight:700;cursor:pointer}
.chip:hover{background:#c6e1d4}
.toggle{display:flex;gap:8px;align-items:flex-start;padding:8px 0;min-height:44px;cursor:pointer}
.toggle input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--felt)}
.toggle .muted{display:block;font-size:.85rem}
.muted{color:var(--muted)}
.panel{border:1.5px dashed var(--line);border-radius:8px;padding:10px 12px;margin:10px 0;background:rgba(255,255,255,.55)}
details.panel>summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.t-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.t-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.t-table th,.t-table td{border-bottom:1px solid var(--rule);padding:7px 8px;text-align:right;white-space:nowrap}
.t-table th:first-child,.t-table td:first-child{text-align:left;white-space:normal;min-width:5.5em}
@media(max-width:599px){.t-table th,.t-table td{padding:6px 5px}}
.t-table thead th{border-bottom:2px solid var(--ink2);font-size:.88rem}
.t-table tfoot td,.t-table tfoot th{border-top:2px solid var(--ink2);border-bottom:0;font-weight:800}
.t-table .is-current,.t-table tr.is-current>*{background:rgba(242,194,48,.32)}
.t-totals{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;background:var(--paper);padding:6px 0}

.tot{flex:1 1 90px;min-width:0;border:1.5px solid var(--line);border-radius:6px;padding:4px 8px;background:#fff}
.tot-name{display:block;font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tot-val{display:block;font-weight:800;font-size:1.15rem;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.tot.is-lead{border-color:var(--felt);box-shadow:inset 0 0 0 1px var(--felt)}
.badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;background:var(--gold);color:var(--ink);border-radius:4px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.banner{margin:10px 0;padding:12px 14px;border-radius:8px;background:var(--felt);color:#fff;font-weight:700;font-size:1.05rem}
.banner:empty{display:none}
.msg{margin:8px 0;padding:8px 10px;border-radius:6px;font-size:.92rem}
.msg:empty{display:none}
.msg.warn{background:#fff1cc;border:1px solid #e4b93a}
.msg.err{background:#fde3df;border:1px solid var(--accent);color:#7d1f10}
.tabs,.ptabs{display:flex;gap:4px;overflow-x:auto;margin:6px 0 8px;border-bottom:2px solid var(--line)}
.tab,.ptab{font:inherit;min-height:44px;padding:8px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink2);cursor:pointer;font-weight:650;white-space:nowrap;margin-bottom:-2px}
.tab[aria-selected=true],.ptab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink)}
@media(max-width:599px){.p-off{display:none!important}}
@media(min-width:600px){.ptabs{display:none!important}}
/* content */
.content ol,.content ul{padding-left:1.4em}
.content li{margin:.3em 0}
.steps{counter-reset:s;list-style:none;padding-left:0!important}
.steps>li{counter-increment:s;position:relative;padding-left:44px;margin:.7em 0}
.steps>li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--felt);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:ui-monospace,Menlo,Consolas,monospace}
.steps strong{display:block}
.ref{overflow-x:auto;margin:10px 0 14px}
.ref table{border-collapse:collapse;width:100%;background:#fff;font-size:.95rem}
.ref th,.ref td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.ref thead th{background:var(--felt3)}
.ref caption{caption-side:bottom;text-align:left;font-size:.85rem;color:var(--muted);padding-top:6px}
.note{border-left:4px solid var(--gold);background:#fff;padding:10px 12px;margin:12px 0}
.faq details{border-bottom:1px solid var(--line);padding:2px 0}
.faq summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:44px;list-style-position:outside}
.faq details p{margin:0 0 12px}
.related ul{list-style:none;padding:0;display:grid;gap:8px;grid-template-columns:1fr}
@media(min-width:600px){.related ul{grid-template-columns:1fr 1fr}}
.related a{display:block;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-left:6px solid var(--felt);border-radius:6px;text-decoration:none;color:var(--ink);font-weight:650;min-height:44px}
.related a:hover{border-left-color:var(--accent)}
.cards{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:600px){.cards{grid-template-columns:1fr 1fr}}
.cards h3{margin:.6em 0 .4em;font-size:1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;grid-column:1/-1}
.card{display:block;background:#fff;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;text-decoration:none;color:var(--ink);position:relative;background-image:linear-gradient(var(--paper),var(--paper));background-size:6px 100%;background-repeat:no-repeat}
.card strong{display:block;font-family:"Rockwell","Roboto Slab",Georgia,serif;font-size:1.08rem;color:var(--felt2)}
.card span{font-size:.92rem;color:var(--ink2)}
.card:hover{border-color:var(--felt)}
/* footer */
.site-foot{background:var(--felt2);color:#e6efe9;font-size:.9rem;padding:24px 0 30px;margin-top:20px}
.site-foot a{color:#fff}
.site-foot p{margin:0 0 .8em}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:12px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px}
.disclaimer{font-size:.82rem;color:#c9dcd2;max-width:70ch}
.print-blank{display:none}
/* print */
@media print{
  @page{size:auto;margin:12mm}
  body{background:#fff;color:#000;font-size:11pt}
  .site-head,.site-foot,.crumbs,.no-print,.skip,.btn,.chips,.chip,.tabs,.ptabs,.t-bar{display:none!important}
  .p-off{display:revert!important}
  .tool{box-shadow:none;border:1px solid #000;background:#fff;padding:8px;min-height:0}
  .tool{background-image:linear-gradient(90deg,transparent 0 5px,rgba(217,71,59,.55) 5px 6.5px,transparent 6.5px)}
.tool::before{display:none}
  .t-table{background:none}
  .t-table th,.t-table td{border-bottom:1px solid #000;color:#000}
  .badge,.banner{background:none!important;color:#000!important;border:1px solid #000}
  a{color:#000;text-decoration:none}
  html[data-print=game] main>*:not(.tool){display:none!important}
  html[data-print=blank] main>*{display:none!important}
  html[data-print=blank] main>#print-blank{display:block!important}
  .print-blank table{border-collapse:collapse;width:100%}
  .print-blank th,.print-blank td{border:1px solid #000;padding:4px 6px;height:22px}
  .print-blank h2,.print-blank h3{border:0;margin:0 0 6px;color:#000}
}

/* bowling.css */
#tool[data-slug="bowling-score-calculator"] .gsp-bowl-table th,
#tool[data-slug="bowling-score-calculator"] .gsp-bowl-table td { text-align: center; white-space: nowrap; }
#tool[data-slug="bowling-score-calculator"] .gsp-bowl-marks { display: flex; gap: 2px; justify-content: flex-end; }
#tool[data-slug="bowling-score-calculator"] .gsp-bowl-marks .btn { min-width: 44px; padding-left: 0; padding-right: 0; }
#tool[data-slug="bowling-score-calculator"] .gsp-bowl-name { margin: .75rem 0 .25rem; }
#tool[data-slug="bowling-score-calculator"] .gsp-bowl-pad .chips { margin: .5rem 0; }

.gsp-bowl-blank-title { font-weight: 700; margin: 0 0 .1in; }
.gsp-bowl-blank-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 8pt; color: #000; }
.gsp-bowl-blank-table th, .gsp-bowl-blank-table td { border: 1px solid #000; padding: 0; text-align: center; }
.gsp-bowl-blank-table th[scope="row"] { width: 1.1in; }
.gsp-bowl-bm div { display: flex; justify-content: flex-end; height: .3in; }
.gsp-bowl-bm span { flex: 0 0 .24in; border-left: 1px solid #000; border-bottom: 1px solid #000; }
.gsp-bowl-bt td { height: .35in; }

/* cards.css */
#tool[data-slug="card-game-score-sheet"] .cs-grid { display: grid; gap: .75rem; margin: .75rem 0; }
#tool[data-slug="card-game-score-sheet"] .cs-card { margin: 0; min-width: 0; }
#tool[data-slug="card-game-score-sheet"] .cs-card legend { font-weight: 700; padding: 0 .35rem; overflow-wrap: anywhere; }
#tool[data-slug="card-game-score-sheet"] .cs-phase { margin: 0 0 .4rem; font-weight: 600; }
#tool[data-slug="card-game-score-sheet"] .cs-total { margin: .4rem 0; font-variant-numeric: tabular-nums; }
#tool[data-slug="card-game-score-sheet"] .cs-entry { display: grid; gap: .6rem; }
#tool[data-slug="card-game-score-sheet"] .cs-strip { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
#tool[data-slug="card-game-score-sheet"] .cs-strip li {
  flex: 1 1 0; min-width: 0; height: 1.6rem; display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--rule); font-size: .75rem; font-variant-numeric: tabular-nums; color: var(--muted);
}
#tool[data-slug="card-game-score-sheet"] .cs-strip li.is-done { background: var(--felt); border-color: var(--felt); color: #fff; }
#tool[data-slug="card-game-score-sheet"] .cs-strip li.is-cur { border: 2px solid var(--accent); color: var(--ink); font-weight: 700; }
#tool[data-slug="card-game-score-sheet"] .cs-note { display: block; font-size: .75rem; }
#tool[data-slug="card-game-score-sheet"] td.num { text-align: right; font-variant-numeric: tabular-nums; }
@media (min-width: 600px) {
  #tool[data-slug="card-game-score-sheet"] .cs-grid { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
}
@media print {
  #tool[data-slug="card-game-score-sheet"] .cs-strip li.is-done { background: #000; border-color: #000; color: #fff; }
  #tool[data-slug="card-game-score-sheet"] .cs-grid { grid-template-columns: repeat(2, 1fr); }
}

#print-blank .pb-cards { color: #000; font-size: 10pt; }
#print-blank .pb-cards h2 { margin: 0 0 .25rem; font-size: 14pt; }
#print-blank .pb-cards p { margin: 0 0 .4rem; font-size: 9pt; }
#print-blank .pb-cards table { width: 100%; border-collapse: collapse; margin: 0 0 .6rem; table-layout: fixed; }
#print-blank .pb-cards th, #print-blank .pb-cards td { border: 1px solid #000; padding: 0; height: 1.35rem; text-align: left; font-size: 9pt; }
#print-blank .pb-cards th { background: #eee; }
#print-blank .pb-cards th:first-child, #print-blank .pb-cards td:first-child { width: 3.2rem; text-align: center; }
#print-blank .pb-cards table:first-of-type td:nth-child(2) { width: 11rem; padding-left: .25rem; }

/* cribbage.css */
#tool[data-slug="cribbage-scoring"] .crib-board { margin: .75rem 0; }
#tool[data-slug="cribbage-scoring"] .crib-svg,
#print-blank .crib-svg { display: block; width: 100%; height: auto; max-width: 46rem; }
.crib-svg .crib-band { fill: var(--paper); stroke: var(--rule); stroke-width: 1; }
.crib-svg .hole { fill: var(--paper); stroke: var(--ink); stroke-width: .7; }
.crib-svg .hole-end { stroke-width: 1.1; }
.crib-svg .crib-label { font-size: 6px; fill: var(--ink); }
.crib-svg .crib-num { font-size: 4.2px; fill: var(--muted); }
.crib-svg .crib-skunk { stroke: var(--accent); stroke-width: 1.4; stroke-dasharray: 3 2; }
.crib-svg .crib-skunk-label { fill: var(--accent); font-weight: 700; }
.crib-svg .peg-front { stroke: var(--ink); stroke-width: 1.4; }
.crib-svg .peg-back { stroke: var(--ink); stroke-width: 1; stroke-dasharray: 1.6 1.2; fill-opacity: .6; }

#tool[data-slug="cribbage-scoring"] .crib-players { display: grid; gap: .75rem; }
#tool[data-slug="cribbage-scoring"] .crib-players .panel { margin: 0; min-width: 0; }
#tool[data-slug="cribbage-scoring"] .crib-players legend { font-weight: 700; padding: 0 .35rem; overflow-wrap: anywhere; }
#tool[data-slug="cribbage-scoring"] .crib-score { margin: .5rem 0; font-variant-numeric: tabular-nums; font-weight: 600; }
#tool[data-slug="cribbage-scoring"] .crib-slots { display: grid; gap: .5rem; grid-template-columns: 1fr; }
#tool[data-slug="cribbage-scoring"] .crib-slots .panel { margin: 0; min-width: 0; }
#tool[data-slug="cribbage-scoring"] .crib-slots legend { font-weight: 600; padding: 0 .35rem; }
#tool[data-slug="cribbage-scoring"] .crib-items { list-style: none; margin: .5rem 0; padding: 0; }
#tool[data-slug="cribbage-scoring"] .crib-items li { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; border-bottom: 1px solid var(--rule); }
#tool[data-slug="cribbage-scoring"] .crib-total { font-size: 1.25rem; font-weight: 700; margin: .5rem 0; }
#tool[data-slug="cribbage-scoring"] .crib-cards { font-weight: 600; margin: .5rem 0; overflow-wrap: anywhere; }
@media (min-width: 600px) {
  #tool[data-slug="cribbage-scoring"] .crib-players { grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
  #tool[data-slug="cribbage-scoring"] .crib-slots { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
}

#print-blank .pb-board, #print-blank .pb-chart { color: #000; }
#print-blank h2 { margin: 0 0 .3rem; font-size: 14pt; }
#print-blank .pb-board p, #print-blank .pb-chart p { margin: .3rem 0; font-size: 9pt; }
#print-blank .pb-tables { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; align-items: start; }
#print-blank .pb-chart table { width: 100%; border-collapse: collapse; }
#print-blank .pb-chart caption { text-align: left; font-weight: 700; padding-bottom: .2rem; font-size: 10pt; }
#print-blank .pb-chart th, #print-blank .pb-chart td { border: 1px solid #000; padding: .15rem .3rem; font-size: 9pt; text-align: left; }
#print-blank .pb-chart th { background: #eee; }
#print-blank .pb-board { margin-bottom: .8rem; }
@media print {
  #print-blank .crib-svg .crib-band { fill: #fff; stroke: #000; }
  #print-blank .crib-svg .hole { fill: #fff; stroke: #000; }
  #print-blank .crib-svg .crib-label, #print-blank .crib-svg .crib-num { fill: #000; }
  #print-blank .crib-svg .crib-skunk { stroke: #000; }
  #print-blank .crib-svg .crib-skunk-label { fill: #000; }
}
html[data-print-sub=chart] #print-blank .pb-board { display: none; }

/* dice.css */
#tool[data-slug="dice-score-card"] .t-table td { text-align: center; }
#tool[data-slug="dice-score-card"] .t-table td .btn { min-width: 44px; }
#tool[data-slug="dice-score-card"] .dice-hint { display: block; font-size: .85em; }
#tool[data-slug="dice-score-card"] .t-table tfoot td { font-weight: 700; }

.gsp-dice-blank-title { font-weight: 700; margin: 0 0 .1in; }
.gsp-dice-4up { display: grid; grid-template-columns: 1fr 1fr; gap: .2in .25in; }
.gsp-dice-card { width: 100%; border-collapse: collapse; font-size: 8pt; table-layout: fixed; color: #000; }
.gsp-dice-card th, .gsp-dice-card td { border: 1px solid #000; padding: 0 3px; height: .2in; text-align: left; overflow: hidden; }
.gsp-dice-card th[scope="col"]:first-child, .gsp-dice-card th[scope="row"] { width: 38%; font-weight: 400; }
.gsp-dice-card tr.strong th { font-weight: 700; }

/* farkle.css */
.gsp-farkle .tot-streak { display: block; font-size: .8125rem; }
.gsp-farkle .tot.is-current { outline: 2px solid var(--felt); outline-offset: -2px; }
.gsp-farkle .t-table td.num { text-align: right; }

.gsp-blank h2 { margin: 0 0 .5rem; font-size: 1.125rem; }
.gsp-blank table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.gsp-blank th, .gsp-blank td { border: 1px solid #000; padding: 0 .25rem; height: 1.7em; font-size: .75rem; }
.gsp-blank tfoot td { height: 2.2em; }

/* quick.css */
.gsp-quick .t-totals { position: sticky; top: 0; z-index: 2; background: var(--paper); }
.gsp-quick .tot-prog { display: block; font-size: .8125rem; }
.gsp-quick .t-table td.num { text-align: right; }

.gsp-blank h2 { margin: 0 0 .5rem; font-size: 1.125rem; }
.gsp-blank table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.gsp-blank th, .gsp-blank td { border: 1px solid #000; padding: 0 .25rem; height: 1.7em; font-size: .75rem; }
.gsp-blank tfoot td { height: 2.2em; }

@media print {
  .gsp-quick .t-totals { position: static; }
}
