/* the way into the printer: top left, beside the map title, the biggest thing in the bar */
.prbtn{flex:none;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px 0 16px;border-radius:11px;cursor:pointer;
  border:1px solid var(--amber2);background:linear-gradient(180deg,#e9bd57,#b88a2e);color:#1a1305;
  font:700 19px "Barlow Semi Condensed",var(--body);letter-spacing:2.5px;box-shadow:0 0 0 3px rgba(224,178,78,.16),0 6px 18px rgba(0,0,0,.45);transition:.15s}
.prbtn svg{width:20px;height:20px;fill:currentColor}
.prbtn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 0 0 4px rgba(224,178,78,.25),0 8px 22px rgba(0,0,0,.5)}
@media (max-width:860px){.prbtn{height:40px;padding:0 12px;font-size:15px;letter-spacing:1.5px;gap:6px}.prbtn svg{width:16px;height:16px}}
@media (max-width:520px){.prbtn span{font-size:14px;letter-spacing:1px}.prbtn svg{display:none}}
/* kennel.gg/dmz: the 3D Printer replica. All positions are 2560x1440 screenshot pixels. */
body.pr-open{overflow:hidden}
.pr{position:fixed;inset:0;z-index:3000;background:#000;display:grid;place-items:safe center;overflow:auto}
.pr-fit{position:relative;overflow:hidden}
.pr-stage{position:absolute;left:0;top:0;width:2560px;height:1440px;transform-origin:0 0;user-select:none;font-family:"Barlow Semi Condensed",sans-serif;color:#d5d5d2}
.pr-stage img{display:block}
.pr-base{position:absolute;inset:0;width:2560px;height:1440px}
.pr button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.pr-hot{position:absolute}
.pr-hot:focus-visible,.pr-tab:focus-visible,.pr-card:focus-visible{outline:3px solid #e0b24e;outline-offset:2px}
.pr-back{left:128px;top:62px;width:330px;height:72px}
.pr-escbtn{left:2366px;top:1360px;width:124px;height:44px}

/* rail tabs: the base screenshot has UPGRADES lit, so other tabs are lit (and it is dimmed) with filters */
.pr-tab{position:absolute;left:162px;width:300px;height:56px;border-radius:2px}
.pr-tab:hover{backdrop-filter:brightness(1.45)}
.pr-tab.on{backdrop-filter:sepia(1) saturate(2.6) hue-rotate(-12deg) brightness(1.55)}
.pr-tab[data-tab="upgrades"].on{backdrop-filter:none}
.tab-not-upgrades .pr-tab[data-tab="upgrades"]{backdrop-filter:grayscale(1) brightness(.62)}

/* recipe list */
.pr-list{position:absolute;left:512px;top:183px;width:533px;height:1150px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
.pr-list::-webkit-scrollbar{display:none}
.pr-card{position:absolute;left:0;width:533px;height:120px}
.pr-card img{position:absolute;inset:0;width:533px;height:120px}
.pr-card .s{opacity:0;transition:opacity .08s}
.pr-card:hover .s{opacity:.55}
.pr-card.on .s{opacity:1}
.pr-cardtxt{position:absolute;inset:0;display:flex;align-items:center;padding-left:120px;background:linear-gradient(90deg,#2b2c2c,#3c3d3d);font:500 34px "Barlow Semi Condensed";text-transform:uppercase;color:#cfcfcf;letter-spacing:.5px}
.pr-pin{position:absolute;right:76px;top:18px;width:30px;height:30px;background:#e0b24e;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 3l5 5-3 1-4 4 1 5-2 1-4-4-5 5-1-1 5-5-4-4 1-2 5 1 4-4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 3l5 5-3 1-4 4 1 5-2 1-4-4-5 5-1-1 5-5-4-4 1-2 5 1 4-4z'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 4px #000)}
.pr-empty{padding:40px 30px;font:italic 400 30px "Barlow Semi Condensed";color:#9a9a96;line-height:1.4}

/* detail column */
.pr-detail{position:absolute;left:1080px;top:150px;width:820px;height:1150px}
.pr-head{position:absolute;left:0}
.pr-headtxt{position:absolute;left:0;top:0;width:800px}
.pr-headtxt h2{font:800 86px/1 "Saira",sans-serif;font-stretch:112%;text-transform:uppercase;color:#e9e9e6;letter-spacing:1px;text-shadow:0 0 18px rgba(255,255,255,.18)}
.pr-headtxt p{margin-top:22px;font:italic 400 28px/1.35 "Barlow Semi Condensed";color:#a3a3a0;width:620px}
.pr-row{position:absolute;left:60px;width:500px;height:93px}
.pr-row img{position:absolute;inset:0}
.pr-rowtxt{background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.25));border-bottom:2px solid #2b2d2e}
.pr-rowtxt>span{position:absolute;left:105px;top:14px;font:400 34px "Barlow Semi Condensed";color:#c9c9c6;letter-spacing:.6px}
.pr-rowhot{position:absolute;left:0;top:0;width:440px;height:50px;z-index:1}
.pr-rowhot:hover{background:linear-gradient(90deg,rgba(224,178,78,.12),transparent)}
.pr .pr-count{position:absolute;left:105px;top:47px;z-index:2;font:400 33px "Barlow Semi Condensed";color:#d8d8d4;letter-spacing:1px;white-space:nowrap}
.pr .pr-count b{font-weight:400;color:#d8d8d4}
.pr .pr-count b.ok{color:#8fca4a}
.pr-count:hover{text-decoration:underline;text-decoration-color:#666;text-underline-offset:5px}
.pr-btn{position:absolute;left:60px;width:535px;height:54px}
.pr-btn img{width:535px;height:54px}
.pr-btn:hover img{filter:brightness(1.25)}
.pr .pr-green{display:flex;align-items:center;justify-content:center;gap:0;border-radius:2px;
  background:repeating-linear-gradient(135deg,#a3d067 0 7px,#8fbe55 7px 14px);box-shadow:0 0 18px rgba(143,202,74,.35),inset 0 0 0 1px rgba(255,255,255,.25)}
.pr-green span{font:500 30px "Barlow Semi Condensed";letter-spacing:2.5px;color:#1c240f}
.pr-green kbd{position:absolute;left:24px;top:9px;width:36px;height:36px;border-radius:7px;background:#fff;color:#111;display:grid;place-items:center;font:600 22px "Barlow Semi Condensed"}
.pr-green:hover{filter:brightness(1.1)}
.pr-unlock{position:absolute;left:60px;font:400 31px "Barlow Semi Condensed";color:#e2c271;letter-spacing:.3px}

/* backpack grid */
.pr-bag{position:absolute;left:1940px;top:266px;width:424px;height:424px}
.pr-cell{position:absolute;width:100px;height:100px;border:2px solid rgba(143,202,74,.0)}
.pr-cell img{width:96px;height:96px;object-fit:cover}
.pr-cell i{position:absolute;right:6px;top:2px;font:500 24px "Barlow Semi Condensed";font-style:normal;color:#fff;text-shadow:0 0 4px #000,0 0 4px #000}
.pr-cell:hover{border-color:#e0b24e}
.pr-cell.done{border-color:rgba(143,202,74,.8)}
.pr-cell.done img{opacity:.55}
.pr-cellname{display:flex;align-items:flex-end;width:96px;height:96px;padding:6px;font:500 17px/1.05 "Barlow Semi Condensed";color:#ddd;background:#26292b}

/* Ingredient Locations popup */
.pr-pop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(8px) brightness(.7);z-index:10}
.pr-popin{position:absolute;left:760px;top:330px;width:1040px;height:780px}
.pr-popbg{position:absolute;inset:0;width:1040px;height:780px}
.pr-popicon{position:absolute;left:87px;top:77px;width:94px;height:94px;background-repeat:no-repeat;background-position:-10px -12px;background-size:533px 120px;filter:saturate(1.1)}
.pr-popkick{position:absolute;left:206px;top:74px;font:400 25px "Barlow Semi Condensed";letter-spacing:5.5px;color:#b9b9b4;white-space:nowrap}
.pr-popsub{position:absolute;left:86px;top:190px;font:italic 400 30px "Barlow Semi Condensed";color:#a9a9a5;white-space:nowrap}
.pr-popingr{position:absolute;left:202px;top:309px;width:92px;height:92px;object-fit:cover}
.pr-popname{position:absolute;left:316px;top:318px;font:400 31px "Barlow Semi Condensed";color:#d0d0cc;letter-spacing:.6px}
.pr-popcount{position:absolute;left:316px;top:350px}
.pr-popcount .pr-count{position:static}
.pr-pophint{position:absolute;left:200px;top:444px;width:640px;font:italic 400 29px/1.3 "Barlow Semi Condensed";color:#b4b4af}
.pr-prev{left:84px;top:416px;width:54px;height:54px;border-radius:50%}
.pr-next{left:902px;top:416px;width:54px;height:54px;border-radius:50%}
.pr-prev:hover,.pr-next:hover{background:rgba(255,255,255,.12)}
.pr-dots{position:absolute;left:50%;transform:translateX(-50%);top:654px;display:flex;gap:8px;padding:6px 10px;background:#141414}
.pr-dots i{width:18px;height:18px;border:2px solid #d8d8d8}
.pr-dots i.on{background:#cbd88d;border-color:#cbd88d}
.pr .pr-popmap{left:200px;top:580px;width:640px}
.pr-popclose{left:0;top:0;width:60px;height:60px}
.pr .pr-run{left:1930px;top:1338px;width:420px}
.pr-detail.glitch{animation:prglitch .26s steps(2,end)}
@keyframes prglitch{0%{opacity:.2;transform:translateX(-14px);filter:contrast(1.6) brightness(1.4)}40%{opacity:.85;transform:translateX(6px)}100%{opacity:1;transform:none;filter:none}}
.pr-card{transition:filter .08s}
.pr-card:hover{filter:brightness(1.12)}
