:root{--k:#140c1c;--p:#442434;--n:#30346d;--g:#4e4a4e;--b:#854c30;--e:#346524;--r:#d04648;--o:#757161;--u:#597dce;--a:#d27d2c;--s:#8595a1;--l:#6daa2c;--c:#d2aa99;--t:#6dc2ca;--y:#dad45e;--w:#deeed6;--body:"Pixelify Sans", ui-monospace, monospace;--head:"Jersey 10", "Pixelify Sans", ui-monospace, monospace;--pb:0 -3px 0 0 var(--k), 0 3px 0 0 var(--k), -3px 0 0 0 var(--k), 3px 0 0 0 var(--k)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{color:var(--k);font:400 17px/1.4 var(--body);background:var(--e);background-image:linear-gradient(var(--n) 3px,transparent 3px),linear-gradient(90deg,var(--n) 3px,transparent 3px);background-position:-3px -3px;background-size:72px 72px;margin:0;overflow-x:hidden}a{color:inherit}:focus-visible{outline:3px dashed var(--r);outline-offset:3px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--y);box-shadow:var(--pb);font:20px var(--head);padding:8px 12px;position:absolute;top:-80px;left:12px}.skip:focus{top:12px}.bar{z-index:40;background:var(--k);color:var(--w);border-bottom:3px solid var(--p);align-items:center;gap:18px;padding:8px 16px;display:flex;position:sticky;top:0}.bar .brand{font:26px/1 var(--head);color:var(--y);letter-spacing:.5px;white-space:nowrap;text-decoration:none}.bar nav{gap:16px;margin-left:auto;display:flex}.bar nav a{font:22px/1 var(--head);letter-spacing:.3px;color:var(--w);padding:6px 4px;text-decoration:none}.bar nav a:hover{color:var(--y)}.bar :focus-visible{outline-color:var(--y)}main{padding:32px 16px 64px}.page{background:var(--w);border:3px solid var(--k);max-width:1180px;box-shadow:9px 9px 0 var(--k);margin:0 auto 56px;padding:28px;position:relative}.folio{font:22px/1 var(--head);color:var(--g);justify-content:space-between;align-items:center;margin-top:22px;display:flex}.folio a{font:20px/1 var(--head);color:var(--k)}.spread{max-width:1180px;box-shadow:9px 9px 0 var(--k);grid-template-columns:1.1fr .9fr;margin:0 auto 56px;display:grid}.spread .page{box-shadow:none;max-width:none;margin:0}.cover{background:var(--u);border-right-width:0;flex-direction:column;gap:14px;display:flex}.contents{border-left:3px dashed var(--o)}.mast{grid-template-columns:auto 1fr;align-items:start;gap:16px;display:grid}.tally{background:var(--w);box-shadow:var(--pb);text-align:center;font:24px/1 var(--head);flex-direction:column;min-width:78px;margin:3px;display:flex}.tally span{padding:6px 8px}.tally span+span{border-top:3px solid var(--k)}.tally .sofar{background:var(--r);color:var(--w)}.cover h1{font:400 clamp(64px,9vw,118px)/.8 var(--head);color:var(--y);letter-spacing:1px;text-shadow:3px 0 0 var(--k),-3px 0 0 var(--k),0 3px 0 var(--k),0 -3px 0 var(--k),6px 6px 0 var(--k),9px 9px 0 var(--n);margin:0}.cover .tagline{font:400 18px/1.3 var(--body);color:var(--w);text-shadow:2px 2px 0 var(--k);margin:10px 0 0}.cover .panel{flex:1;min-height:380px}.callouts{flex-wrap:wrap;gap:10px 14px;display:flex}.callouts a{background:var(--y);box-shadow:var(--pb),6px 6px 0 0 var(--k);font:22px/1 var(--head);letter-spacing:.3px;margin:3px;padding:6px 10px 5px;text-decoration:none;display:inline-block}.callouts a:nth-child(2){background:var(--r);color:var(--w)}.callouts a:nth-child(3){background:var(--t)}.callouts a:hover{transform:translate(-3px,-3px)}.coverfoot{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.byline{font:22px/1.1 var(--head);color:var(--w);text-shadow:2px 2px 0 var(--k);margin:0}.barcode{background:var(--w);box-shadow:var(--pb);text-align:center;font:16px/1 var(--head);margin:3px;padding:6px 8px 2px}.barcode canvas{width:96px;height:36px;image-rendering:pixelated;display:block}.contents h2{font:400 54px/.9 var(--head);margin:0 0 4px}.contents .note{color:var(--g);margin:0 0 18px}.toc{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.toc a{border:3px solid #0000;grid-template-columns:42px 1fr auto;align-items:center;gap:2px 12px;padding:8px;text-decoration:none;display:grid}.toc a:hover{background:var(--y)}.toc a:focus-visible{background:var(--y);outline:3px dashed var(--r);outline-offset:0;border-color:var(--k)}.toc .no{background:var(--r);width:42px;height:42px;color:var(--w);font:30px/1 var(--head);box-shadow:3px 3px 0 var(--k);grid-row:span 2;place-items:center;display:grid}.toc .no.alt{background:var(--n)}.toc .t{font:28px/1 var(--head)}.toc .d{color:var(--g);grid-column:2;font-size:15px}.toc .pg{font:22px/1 var(--head);color:var(--g);grid-area:1/3/span 2}.editor{background:var(--c);box-shadow:var(--pb);grid-template-columns:auto 1fr;align-items:start;gap:14px;margin:22px 3px 3px;padding:12px;display:grid}.editor canvas{width:64px;height:64px;image-rendering:pixelated;background:var(--t);box-shadow:var(--pb)}.editor p{margin:0;font-size:16px}.editor b{font:24px/1 var(--head);margin-bottom:4px;font-weight:400;display:block}.chhead{border-bottom:3px solid var(--k);grid-template-columns:auto 1fr;align-items:end;gap:6px 16px;margin-bottom:20px;padding-bottom:16px;display:grid}.chhead .num{background:var(--r);min-width:78px;color:var(--w);font:22px/1 var(--head);text-align:center;box-shadow:4px 4px 0 var(--k);grid-row:span 2;align-self:stretch;place-items:center;padding:8px;display:grid}.chhead .num b{font-size:54px;font-weight:400;line-height:.85;display:block}.chhead h2{font:400 clamp(40px,5vw,62px)/.9 var(--head);margin:0}.chhead p{font:400 18px/1.3 var(--body);color:var(--g);margin:0}.puzzlepage .chhead .num{background:var(--n)}.strip{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;display:grid}.s4{grid-column:span 4}.s6{grid-column:span 6}.s8{grid-column:span 8}.s12{grid-column:span 12}.panel.s12{min-height:320px}.panel{border:3px solid var(--k);background:var(--g);min-height:380px;margin:0;display:flex;position:relative;overflow:hidden}.panel canvas.art{image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;position:absolute;top:0;left:0}.layer{z-index:2;width:100%;padding:12px 12px var(--reserve,150px);flex-direction:column;align-items:flex-start;gap:16px;display:flex;position:relative}.cap{background:var(--y);max-width:min(94%,42em);box-shadow:var(--pb);font:400 23px/1 var(--head);letter-spacing:.2px;margin:3px;padding:5px 9px 4px}.bub{background:var(--w);max-width:min(86%,36em);box-shadow:var(--pb),5px 5px 0 0 #140c1c00;font:400 18px/1.32 var(--body);margin:3px 3px 14px;padding:8px 12px;position:relative}.bub.r{align-self:flex-end}.bub.c{align-self:center}.bub b{font-weight:400}.bub a{font:22px/1 var(--head);color:var(--n)}.bub:before,.bub:after{content:"";top:100%;left:var(--tx,22px);position:absolute}.bub:after{background:var(--k);clip-path:polygon(0 0,100% 0,100% 20%,80% 20%,80% 40%,60% 40%,60% 60%,40% 60%,40% 80%,20% 80%,20% 100%,0 100%);width:15px;height:15px;margin-top:3px}.bub:before{z-index:1;background:var(--w);clip-path:polygon(0 0,100% 0,100% 33%,67% 33%,67% 67%,33% 67%,33% 100%,0 100%);width:9px;height:9px;margin-left:3px}.bub.tr:after{clip-path:polygon(0 0,100% 0,100% 100%,80% 100%,80% 80%,60% 80%,60% 60%,40% 60%,40% 40%,20% 40%,20% 20%,0 20%)}.bub.tr:before{clip-path:polygon(0 0,100% 0,100% 100%,67% 100%,67% 67%,33% 67%,33% 33%,0 33%);margin-left:3px}.bub.nt:before,.bub.nt:after{display:none}.bub.th:after{background:var(--w);width:9px;height:9px;box-shadow:var(--pb);clip-path:none;margin-top:8px}.bub.th:before{background:var(--w);width:6px;height:6px;box-shadow:var(--pb);clip-path:none;margin-top:22px;margin-left:10px}.bub.th{border-radius:0}.bub.loud{background:var(--y)}.tag{background:var(--k);color:var(--w);font:400 19px/1 var(--head);padding:3px 6px 2px}.tags{flex-wrap:wrap;gap:6px;margin:3px;display:flex}.js .tags{display:contents}.js .tag{z-index:3;white-space:nowrap;pointer-events:none;position:absolute;transform:translate(-50%,-100%)}.js .tag.l{transform:translateY(-100%)}.js .tag.rgt{transform:translate(-100%,-100%)}.js .tag.mid{transform:translate(-50%,-50%)}.tag.ink{color:var(--k);background:0 0;padding:0}.tag.red{background:var(--r)}.tag.y{background:var(--y);color:var(--k)}.tag[hidden]{display:none}.punch .cap{background:var(--r);color:var(--w)}.mini{border-collapse:collapse;font:400 15px/1.2 var(--body);background:var(--w);margin-top:6px}.mini th,.mini td{border:2px solid var(--k);text-align:left;padding:3px 7px}.mini th{background:var(--y);font:19px/1 var(--head)}.mini td.win{background:var(--l)}.js .panel .bub,.js .panel .cap,.js .panel .tag{opacity:0}.js .panel.in .cap{animation:.3s steps(3,end) forwards pop}.js .panel.in .bub{animation:.36s steps(3,end) forwards pop;animation-delay:calc(.25s + var(--i,0) * .45s)}.js .panel.in .tag{animation:.3s steps(2,end) .2s forwards pop}@keyframes pop{0%{opacity:0;transform:scale(.55)}50%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.js .panel.in .tag:not(.mid):not(.l):not(.rgt){animation-name:popt}@keyframes popt{0%{opacity:0;transform:translate(-50%,-100%)scale(.55)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.js .panel.in .tag.l{animation-name:popl}@keyframes popl{0%{opacity:0}to{opacity:1}}.js .panel.in .tag.rgt,.js .panel.in .tag.mid{animation-name:popl}.choices{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.choices button{font:23px/1 var(--head);letter-spacing:.3px;background:var(--y);color:var(--k);box-shadow:var(--pb),5px 5px 0 0 var(--k);cursor:pointer;border:0;margin:3px;padding:10px 14px}.choices button:hover{transform:translate(-2px,-2px)}.choices button[aria-pressed=true]{background:var(--l)}.answer{background:var(--c);min-height:3.2em;box-shadow:var(--pb);margin:18px 3px 3px;padding:10px 12px;font-size:17px}.answer:empty:before{content:"Pick one. There is a right answer, and it is a little sneaky.";color:var(--g)}.puzzle-choices{flex-direction:column;gap:12px;margin-top:18px;display:flex}.puzzle-choices summary{font:23px/1 var(--head);letter-spacing:.3px;background:var(--y);box-shadow:var(--pb),5px 5px 0 0 var(--k);cursor:pointer;margin:3px;padding:10px 14px;list-style:none;display:inline-block}.puzzle-choices summary::-webkit-details-marker{display:none}.puzzle-choices details[open] summary{background:var(--l)}.puzzle-choices .reveal{background:var(--c);box-shadow:var(--pb);margin:12px 3px 3px;padding:10px 12px;font-size:17px}.from{background:var(--y);box-shadow:var(--pb);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:22px;padding:12px;display:flex}.from p{font:22px/1.1 var(--head);margin:0}.from a{font:22px/1 var(--head);background:var(--r);color:var(--w);box-shadow:var(--pb);margin:3px;padding:8px 12px;text-decoration:none}.back .grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.ad{background:var(--w);border:3px solid var(--k);flex-direction:column;grid-column:span 4;gap:8px;padding:14px;display:flex}.ad h3{font:400 30px/.9 var(--head);margin:0}.ad p{margin:0;font-size:16px}.ad.wide{background:var(--y);grid-column:span 8}.ad.dark{background:var(--n);color:var(--w)}.ad.dark a{color:var(--y)}.ad ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ad ul a{font-weight:400}.ad .k{min-width:124px;font:20px/1 var(--head);color:var(--g);display:inline-block}.ad.dark .k{color:var(--t)}.big a{background:var(--r);color:var(--w);box-shadow:var(--pb);font:24px/1 var(--head);margin:6px 3px 3px;padding:8px 12px;text-decoration:none;display:inline-block}.colophon{color:var(--g);grid-column:span 12;margin:6px 0 0;font-size:14px}@media (width<=1000px){.spread{grid-template-columns:1fr}.cover{border-right-width:3px}.contents{border-left:3px solid var(--k);border-top:3px dashed var(--o)}.s4{grid-column:span 6}.s8{grid-column:span 12}.ad,.ad.wide{grid-column:span 6}}@media (width<=640px){main{padding:20px 12px 48px}.page{box-shadow:6px 6px 0 var(--k);padding:14px}.spread{box-shadow:6px 6px 0 var(--k)}.s4,.s6,.s8,.s12,.ad,.ad.wide{grid-column:span 12}.bar{gap:10px;padding:8px 12px}.bar .brand{font-size:22px}.bar nav{gap:10px}.bar nav a{font-size:14px}.bub{max-width:92%;font-size:16px}.panel{min-height:300px}.cap{font-size:21px}.chhead{grid-template-columns:1fr}.mast{grid-template-columns:1fr;gap:12px}.ad .k{min-width:0;display:block}.tally{flex-direction:row;justify-self:start}.tally span+span{border-top:0;border-left:3px solid var(--k)}.chhead .num{grid-row:auto;justify-self:start;align-items:baseline;gap:10px;min-width:0;padding:6px 10px;display:flex}.chhead .num b{font-size:34px}.cover .panel{min-height:330px}.coverfoot{flex-wrap:wrap}.toc .t{font-size:25px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .panel .bub,.js .panel .cap,.js .panel .tag{opacity:1;animation:none!important}.callouts a:hover,.choices button:hover{transform:none}}
