/* vietnamese */
@font-face {
  font-family: 'Goldman';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/goldman/v19/pe0uMIWbN4JFplR2HDpyB--7.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Goldman';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/goldman/v19/pe0uMIWbN4JFplR2HDtyB--7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Goldman';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/goldman/v19/pe0uMIWbN4JFplR2HDVyBw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Goldman';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/goldman/v19/pe0rMIWbN4JFplR2FI5XEt-aBuZr.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Goldman';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/goldman/v19/pe0rMIWbN4JFplR2FI5XEt6aBuZr.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Goldman';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/goldman/v19/pe0rMIWbN4JFplR2FI5XEtCaBg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


@font-face {
  font-family: 'Space Mono';
  src: url('art/fonts/Space_Mono/SpaceMono-Regular.ttf')  format('truetype');
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: 'Space Mono';
  src: url('art/fonts/Space_Mono/SpaceMono-Bold.ttf')  format('truetype');
  font-style: bold;
  font-weight: 700;
}
@font-face {
  font-family: 'Inter';
  /* src: url('art/fonts/Inter/Inter-VariableFont_slnt,wght.ttf')  format('truetype'); */
  src: url('art/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf')  format('truetype');
}
@font-face {
  font-family: 'ChakraPetch';
  src: url('art/fonts/ChakraPetch/ChakraPetch-Medium.ttf')  format('truetype');
}
@font-face {
  font-family: 'ChakraPetchItalic';
  src: url('art/fonts/ChakraPetch/ChakraPetch-MediumItalic.ttf')  format('truetype');
}
@font-face {
    font-family: 'Noto Sans Symbols 2';
    src: url('art/fonts/NotoSansSymbols2-Regular.ttf') format('truetype');
}
@font-face {
    font-family: 'Noto Serif';
    src: url('art/fonts/NotoSerif-Regular.ttf') format('truetype');
}
@font-face {
    font-family: 'DejaVu Serif';
    src: url('art/fonts/DejaVuSerif.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
  font-family: ChakraPetch;
  font-size: 14px;
  line-height: 1em;
  /*! background-color: black; */
}
body.screenshot {
  margin: 0;
}

.right {
  float: right;
}
.left {
  float: left;
}
.hidden {
  display: none;
}
.clear {
  clear: both;
}
.flex-fill {
  flex: 1;
}

#options-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
  background-color: white;
  border: 1px solid black;
  border-radius: 5px;
  /*! padding: 1em; */
  display: none;
}

#card-data {
  /*! display: none; */
}
.show-data #options-panel {
  display: unset;
}

fieldset {
  border: none;
  margin-top: 1em;
}

#template {
  display: none;
}

.print-page {
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  break-after: page;
}
.print-page:empty {
  display: none;
}

.layout-3x3 .print-page {
  max-width: 220mm;
}

/* Screen media */
@media screen {
  .frame-outer {
    box-shadow: 0 0 11px -5px black;
    margin: 10px;
  }

  #print-sheet {
    /*! padding-right: 12em; */
  }
  .show-data #print-sheet {
    padding-right: 16.5em;
  }

  .show-data .print-page {
    margin-left: 10mm;
  }
}

.⬆, .⬇ {
  /*! letter-spacing: -0.2em; */
  margin-left: -0.05em;
  top: -0.25em;
  position: relative;
  font-family: "Noto Sans Symbols 2";
  /*! margin-right: -0.1em; */
}
.⬇ {
  position: relative;
  top: 0.25em;
}

.symbol, rep {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  font-size: 0.85em;
  box-sizing: border-box;
  display: inline-block;
  /*! text-indent: 0; */
  text-align: center;
  font-family: Space Mono;
  position: relative;
  width: 1.8em;
}
.symbol:empty::after {
  content: "-";
  visibility: hidden;
}
.symbol::before, rep::before {
  content: ' ';
  display: block;
  position: absolute;
  top: -.2em;
  /*! left: 0; */
  height: 1.8em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  /*! margin-top: -2px; */
  width: 100%;
  /*! height: 100%; */
}

.text > cap {
  display: block;
  margin: 2px 0 0;
  /*! text-align: left; */
  /*! background-color: #fff7; */
  border-radius: 2px;
  padding: 2px 0 3px;
  /*! box-shadow: 0 0.5px 1px 1px #0005; */
}
.text > cap:first-child {
  margin-top: 0;
}
.type-Contract .text > cap {
  margin: auto 0;
  text-align: center;
}

.text:has(cap:first-child) {
  /*! height: 100%; */
  display: flex;
  flex-direction: column;
  /*! flex: 1 0; */
}
.text > cap:first-child:has(+ run) {
  margin-bottom: auto;
}

.ink-saver .text > cap, .ink-saver .type-Contract .text > * {
  border: 0.1mm dotted black;
  background-image: none !important;
  box-shadow: none !important;
  background-color: white;
  /*! margin: 0.6mm 0; */
  padding: 0.4mm 0.9mm 0.7mm 0.9mm;
}

.cap-cost > *:last-child, get > *:last-child {
  margin-right: 0.05em;
}

.cap-cost > *:last-child::before, get > *:last-child::before {
  content: " and ";
}
.cap-cost > *::before, get > *::before {
  content: ", ";
}
.cap-cost > *:first-child::before, get > *:first-child::before {
  content: "";
}

cap::before, spec::after {
  font-family: "Noto Sans Symbols 2";
}
spec::after {
  line-height: 1.6em;
}

cap[tech]:is(:not([spec]))::before,
cap[tech] spec::after {
  content: "⚙";
  margin-right: 3px;
  font-size: 10px;
  margin-top: -0.5px;
}
cap[soft]:is(:not([spec]))::before,
cap[soft] spec::after {
  content: "⌬";
  margin-right: 3px;
  font-size: 1.1em;
  font-weight: bold;
}

/*
cap[act]:is(:not([spec]))::before,
cap[act] spec::after {
  content: "🛆";
  margin-right: 2px;
  font-size: 1.1em;
}
cap[inst]:is(:not([spec]))::before,
cap[inst] spec::after {
  content: "🗲";
  margin-right: 2px;
  font-size: 8px;
}
*/
cap[act]:is(:not([spec]))::before {
  font-size: 1.05em;
  margin-right: 0;
  position: relative;
}

cap[inst]:is(:not([spec]))::before {
  margin-right: 0;
  font-size: 10px;
}
cap[inst] .cap-cost:not(:empty)::before {
  content: "🗲[";
  margin-right: 0.1em;
}
cap .cap-cost:not(:empty)::before {
  content: " [";
  margin-right: 0.1em;
}
cap[act] .cap-cost:not(:empty)::before {
  content: "🛆[";
  margin-right: 0.1em;
  content: "[";
}
cap .cap-cost:not(:empty)::after {
  margin-right: 0.15em;
  content: "]";
}

.cap-cost-z {
  width: 1.5em;
}
.cap-cost-z::before {
  background-image: url('art/z.svg');
  width: 1.5em;
  /*! top: -0.95em; */
  margin-top: 0.5px;
}

spec {
  font-family: Space Mono;
  font-weight: normal;
  font-size: 0.85em;
  vertical-align: top;
  text-align: left;
  background-color: #6f6f6f;
  border-radius: 0 0 4px 0;
  padding: 0 0.5em 0.1em 0.4em;
  border-right: 1px solid #555;
  border-bottom: 1px solid #555;
  position: relative;
  color: white;
  text-shadow: 0.5px 0.5px black;
  height: 1.8em;
  box-sizing: border-box;
  display: flex;
  flex-direction: row-reverse;
  background: -74px / 176px no-repeat #666 url('art/textures/transparent-white-circuit.png');
  border-left: 1px solid #fff4;
}
cap spec {
  display: inline-flex;
  margin-left: -2px;
  margin-right: 100%;
  /*! margin-top: -5px; */
  padding-top: 0.25em;
  line-height: 1.3em;
  margin-bottom: 3px;
  /*! box-shadow: 0px 0px 2px -1px #000; */
  /*! width: 100%; */
  /*! text-align: left; */
  /*! flex-direction: column; */
  text-wrap: nowrap;
  box-shadow: 1px 1px 2px -2px #0009;
  box-sizing: border-box;
}
.full-art cap spec {
  margin-right: 0.5em;
  margin-bottom: 0px;
}

.full-art cap {
  margin-right: 1em;
  text-align: left;
}
spec:empty {
  display: none;
}
spec + cap {
  margin-top: 0 !important;
}
spec > .cap-cost.spec:not(:empty)::after {
  margin-right: 0;
}
.text cap:has(spec) {
  /*! text-align: left; */
}
.text:has(spec) {
  width: 100%;
}
.cap-cost.spec {
  margin-right: auto;
  position: relative;
  top: -0.1em;
}

spec::before {
  content: ' ';
  display: block;
  width: 100%;
  height: calc(100% + 0.5px);
  background-image: url('art/spec-usb2.png');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: -10px;
  top: 0;
  z-index: -1;
  background-position: left top;
  /*! box-shadow: 1px 1px 2px -2px #0009; */
  border-radius: 3px;
}

.ink-saver spec {
  background: none;
  margin-left: -1mm;
  padding-left: 1mm;
}
.ink-saver spec::before {
  display: none;
}

.type-Hardware spec::before {
  left: -2.3mm;
}

run {
  display: block;
  text-align: left;
  /*! width: 100%; */
  box-sizing: border-box;
  /*! border-bottom: 1px dotted #0008; */
  /*! border-radius: 2px; */
  /*! position: relative; */
}
run:not([act], [inst]) + run[act],
run:not([act], [inst]) + run[inst],
run:not([act], [inst]) + cap[act],
run:not([act], [inst]) + cap[inst] {
  margin-top: auto !important;
}

run[obj]::before {
  content: attr(obj);
  display: block;
  /*! text-align: left; */
  /*! width: 100%; */
  /*! box-sizing: border-box; */
  /*! border-bottom: 1px dotted #0008; */
  /*! border-radius: 2px; */
  margin-bottom: 0.35em;
  font-style: italic;
  font-size: 0.9em;
  margin-top: -0.5em;
  /*! float: right; */
  margin-left: -24px;
}

.type-Contract .body {
  min-height: 40mm;
  border: none;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 2555, 255) 85%, rgba(0,0,0,0) 100%) !important;
  top: 0;
  display: none;
}

.type-Contract.⊚ .art-frame {
  /*! background-image: url("art/G_C.png") !important; */
}
.type-Contract.⊛ .art-frame {
  /*! background-image: url("art/D_C.png") !important; */
}
.type-Contract.⊗ .art-frame {
  /*! background-image: url("art/M_C.png") !important; */
}
.type-Contract.◈ .art-frame {
  /*! background-image: url("art/H_C.png") !important; */
}
.type-Contract.❖ .art-frame {
  /*! background-image: url("art/O_C.png") !important; */
}


.full-art .art-outer {
  position: unset;
}
.full-art .art-outer:before {
  display: none;
}
.full-art .art-frame {
  position: absolute;
  top: -30px;  
  left: -30px;  
  right: -30px;  
  bottom: -30px;
  box-shadow: none;
}
.full-art .text-frame,
.full-art .type-Contract .text > run,
.full-art .type-Contract .text > cap {
  flex: unset;
  font-size: 11px;
  text-align: center;
  border: none;
  text-shadow: 0.5px 0.5px #fff8;
}
.full-art .type-Contract .text > run,
.full-art .type-Contract .text > cap {
  box-shadow: 0px 0px 4px -1px #0006, 0 0 0px 1px #fff6 inset;
  background: #fffa;
}
.full-art .text-frame {
  margin: auto 10px auto;
}
.full-art .text-frame-inner {
  /*! margin: 0 0 0px; */
}
.full-art .text-frame-background {
  opacity: 0.8;
}
.full-art .logo {
  display: none;
}
.full-art .type-Contract run {
  text-align: center;
  /*! padding: 0.15em 0 0.4em !important; */
  margin: 0 0 4px;
  /*! border-bottom: none; */
  /*! box-shadow: 0px 3px 0px -2px #0003, 0px 3.5px 0px -2px #fff3; */
  background-color: #fffd;
  background-image: none;
}
.full-art .type-Contract .fac-rep-cost {
  /*! margin-left: 4px; */
}

.logo {
  width: 180px;
  height: 78px;
  position: absolute;
  bottom: 7px;

  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
  opacity: 0.20;
  margin: 4px 0 0;
}
.type-Contract .logo {
  bottom: -98px;
  opacity: 0.55;
  filter: invert();
  /*! background-position-y: bottom; */
  position: absolute;
  left: 7px;
}

.ink-saver .text, .ink-saver .flavor, .ink-saver .head {
  background: none;
  box-shadow: none;
}
.ink-saver .head {
  font-family: Space Mono;
  font-weight: normal;
}
.type-Contract .text {
  display: flex;
  flex-flow: column;
  width: 100%;
}
.type-Contract .text:has(run + [act]),
.type-Contract .text:has(run + [inst]),
.type-Contract .text:has(cap:first-child) {
  flex: 1 0;
}

.cap-cost {
  /*! font-family: Inter, sans; */
  white-space: nowrap;
}
run > .cap-cost {
  margin-right: 2.3em;
  /*! float: left; */
  position: relative;
  /*! top: 1px; */
}

/*** Old style arrows
run > .cap-cost::after {
  content: "→";
  margin-left: 6px;
  font-weight: bold;
  font-size: 22px;
  position: relative;
  top: 3px;
  margin-right: 1px;
  font-family: "Noto Sans Symbols 2";
}
run[succ=""] > .cap-cost::after {
  content: "↻";
  top: 3px;
  margin-left: 6px;
  margin-right: 1px;
}
*/

run > .cap-cost::after {
  content: " ";
  display: inline-block;
  position: absolute;
  background: center / contain no-repeat url('art/direct-black.svg');
  width: 1em;
  height: 100%;
  margin-left: 0.7em;
  top: 0.03em;
}
run[succ=""] > .cap-cost::after {
  background: center / contain no-repeat url('art/next-turn-black.svg');
  height: 1em;
  width: 1em;
  /*! margin-left: 0px; */
  top: 0.08em;
}

run[fail=""] > .cap-cost::after {
  content: "🛇"; /* "🗙" */
  font-weight: bold;
  letter-spacing: -0.1em;
  margin-left: 1.2mm;
  top: 0.15em;
  font-size: 1.3em;
}

get {
  white-space: nowrap;
  /*! margin: 0 !important; */
}

get[deploy] {
  background: center / contain no-repeat url('art/deploy-light.svg');
  height: 21px;
  width: 19px;
  display: block;
}

.cap-cost-deploy {
  width: 1.5em;
}
.cap-cost-deploy::before {
  background-image: url('art/deploy.svg');
  /*! width: 1.5em; */
}

.cap-cost-scrap {
  width: 1.4em;
}
.cap-cost-scrap::before {
  background-image: url('art/trash.svg');
  margin-top: 0.5px;
}

.cap-cost-delete {
}
.cap-cost-delete::before {
  background-image: url('art/delete.svg');
}

.cap-cost-query,
.cap-cost-delete {
  width: 2em;
}
.cap-cost-query::before,
.cap-cost-delete::before {
  background-image: url('art/query-2.svg');
  /*! width: 1.35em; */
  /*! margin-top: 0.5px; */
  height: 1.65em;
}

.cap-cost-cycle {
  width: 1.6em;
}
.cap-cost-cycle::before {
  background-image: url('art/cycle.svg');
  /*! margin-top: 0.5px; */
}
.small-text .cap-cost-cycle::before {
  margin-top: 0.5px;
}

.cap-cost-drop {
  width: 1.5em;
}
.cap-cost-drop::before {
  background-image: url('art/drop.svg');
  /*! width: 1.5em; */
  height: 1.6em;
  /*! top: -0.9em; */
  margin-top: 0.15em;
}

.cap-cost-bleed {
  width: 1.5em;
}
.cap-cost-bleed::before {
  background-image: url('art/bleed.svg');
  width: 1.5em;
}

.cap-cost-burn {
  width: 1.5em;
}
.cap-cost-burn::before {
  background-image: url('art/burn.svg');
  width: 1.5em;
}

.cap-cost-virus {
  width: 2.5em;
  height: 2.5em;
}
.cap-cost-virus::before {
  background-image: url('art/virus.svg');
  width: 2.5em;
  height: 2.5em;
}

.cap-cost-rad::after {
  content: "☢";
  font-size: 13pt;
  position: relative;
  top: 0.1em;
}

.cap-cost-hurt {
  width: 1.55em;
}
.cap-cost-hurt::before {
  background-image: url('art/hurt-2.svg');
  /*! margin-top: 0.5px; */
}

.cap-cost-power {
  width: 1.7em;
}
.cap-cost-power::before {
  background-image: url('art/pow-2.svg');
  /*! width: 1.7em; */
  /*! top: -1.1em; */
  margin-top: -1px;
}

.cap-cost-bulk {
  width: 1.5em;
}
.cap-cost-bulk::before {
  background-image: url('art/bulk-2.svg');
  /*! width: 1.5em; */
  /*! height: 1.7em; */
  /*! top: -0.35em; */
}

.cap-cost-kinetic {
}
.cap-cost-kinetic::before {
  background-image: url('art/kinetic.svg');
  /*! height: 3.4em; */
  margin-top: -0.5px;
}

.cap-cost-nerve {
  width: 1.6em;
}
.cap-cost-nerve::before {
  background-image: url('art/nerve.svg');
  /*! width: 1.6em; */
  /*! height: 1.7em; */
  /*! margin-top: 0.1em; */
}

.cap-cost-cool {
  color: #fff;
  width: 1.6em;
  text-shadow: none;
  font-weight: bold;
}
.cap-cost-cool::before {
  background-image: url('art/cool-black.svg');
  /*! width: 1.6em; */
  /*! top: -0.98em; */
  margin-top: 0.5px;
}

.cap-cost-comp {
  width: 1.8em;
}
.cap-cost-comp::before {
  background-image: url('art/comp-2.svg');
  /*! top: -0.98em; */
  margin-top: 0.5px;
}

.cap-cost-trait {
  /*! font-style: italic; */
  /*! font-size: 1.05em; */
  font-family: ChakraPetchItalic;
}
name {
  font-family: Space Mono;
  font-weight: normal;
  /*! text-decoration: underline; */
  font-size: 0.95em;
}

rep {
  /*! font-family: DejaVu Serif; */
  height: 1.1em;
}
.foot .rep {
  font-family: DejaVu Serif;
}

.foot .rep::before {
  content: ' ';
  display: block;
  position: absolute;
  width: 32px;
  height: 32px;
  bottom: 2px;
  right: 0px;
}
.foot .rep.◇ {
  top: -2.5mm;
}
.foot .rep.❖ {
  padding-top: 0.8mm;
  /*! font-size: 25px; */
}
.type-Operator .foot .rep {
  /*! display: none; */
}

.type-Operator .foot .rep.❖::before {
  background: center / contain no-repeat url('art/peak-influence.png');
}
.type-Operator .foot .rep.◈::before {
  background: center / contain no-repeat url('art/seat-influence.png');
}
.type-Operator .foot .rep.⊛::before,
.type-Operator .foot .rep.⊚::before,
.type-Operator .foot .rep.⊗::before {
  /*! width: 0.85em; */
  /*! height: 0.85em; */
  /*! right: 8px; */
  /*! bottom: 8px; */
}
.type-Operator .foot .rep.⊛::before {
  background: center / contain no-repeat url('art/well-influence.png');
}
.type-Operator .foot .rep.⊗::before {
  background: center / contain no-repeat url('art/ladder-influence.png');
}
.type-Operator .foot .rep.⊚::before {
  background: center / contain no-repeat url('art/ring-influence.png');
}

.fac-rep-cost.❖, .rep.❖, rep[type=o], .fac-OmniCorp .influence {
  color: #ffd211;
}
rep[type=o] {
  color: black;
}
.❖ .frame-inner {
  border-left-color: gold;
}
rep[type=o]::before {
  content: "❖";
}
rep[type=o]::before {
  font-size: 20px;
}

.fac-rep-cost.◈, .rep.◈, rep[type=h], .fac-HartTech .influence {
  color: #b936b9;
}

.◈ .frame-inner {
  border-left-color: purple;
}
.rep.◈, .rep.❖ {
  /*! text-shadow: 0 -1.8px white !important; */
  /*! background-color: transparent !important; */
}
.rep.❖ {
  /*! text-shadow: 0 -2.5px white !important; */
}
rep[type=h]::before {
  content: "◈";
  /*! left: -0.5px !important; */
  /*! top: -1.8mm; */
}

.foot .rep.◈::after {
  bottom: 12px;
  right: 11px;
}
.foot .rep.❖::after {
  bottom: 12px;
  right: 11px;
}

.fac-rep-cost.⊛, .rep.⊛, rep[type=d], .fac-Deckers .influence {
  color: #4f9aec;
}
.⊛ .frame-inner {
  border-left-color: deepskyblue;
}
rep[type=d]::before {
  content: "⊛";
}

.fac-rep-cost.⊚, .rep.⊚, rep[type=g], .fac-Gonkers .influence {
  color: #e93d3d;
}
.⊚ .frame-inner {
  border-left-color: red;
}
rep[type=g]::before {
  content: "⊚";
}

.fac-rep-cost.⊗, .rep.⊗ , rep[type=m], .fac-Modders .influence {
  color: #2aa21e;
}
.⊗ .frame-inner {
  border-left-color: green;
}
rep[type=m]::before {
  /*! content: "⊗"; */
  background-image: url('art/ladder-influence.png');
}

.text .rep.⊗ {
  position: relative;
  top: 1mm;
}

.foot .rep.sprwl::before {
  content: " ";
  background: center / contain no-repeat url('art/rep-empty.png');
  bottom: 5px;
  right: 4px;
}

.type-Interrupt .rep,
.type-Hardware .rep,
.type-Software .rep,
.type-Contract .rep,
.type-Event .rep {
  display: none;
}

rep[type=z]::before {
  content: "Ƶ";
  left: 3px;
  top: -2px;
}

.fac-rep-cost.⊛,
.fac-rep-cost.⊚,
.fac-rep-cost.⊗ {
  margin-top: 2px;
}
.fac-rep-cost.⊛:not(:has(:nth-child(2))),
.fac-rep-cost.⊚:not(:has(:nth-child(2))),
.fac-rep-cost.⊗:not(:has(:nth-child(2))) {
  margin-top: 2px;
}
/*
.type-Contract .fac-rep-cost.⊛,
.type-Contract .fac-rep-cost.⊚,
.type-Contract .fac-rep-cost.⊗ {
  margin-top: -6px !important;
}
.type-Contract .fac-rep-cost.⊛:not(:has(:nth-child(2))),
.type-Contract .fac-rep-cost.⊚:not(:has(:nth-child(2))),
.type-Contract .fac-rep-cost.⊗:not(:has(:nth-child(2))) {
  margin-top: -3px !important;
  font-size: 36px !important;
}
.type-Contract .fac-rep-cost.⊚:not(:has(:nth-child(2))) {
  font-size: 38px !important;
}
*/
.fac-rep-cost.❖ {
  text-shadow: 0mm 0.5px #0007;
  margin-top: 2px;
}
/*
.type-Contract .fac-rep-cost.◈ {
  margin-top: -3px;
}
.type-Contract .fac-rep-cost.❖ {
  margin-top: 0px;
}
.type-Contract .fac-rep-cost.◈:not(:has(:nth-child(2))) > * {

}
.type-Contract .fac-rep-cost.❖:not(:has(:nth-child(2))) > * {

}
*/

.ink-saver .print-page * {
  text-shadow: none !important;
  /*! filter: none; */
}
.ink-saver .print-page :not(.fac-rep-cost, .rep, rep), .ink-saver .print-page .rep.z {
  color: black !important;
}
.ink-saver .type-Contract .frame-inner {
  background-color: white;
}


.frame-outer {
  /*!  background-size: 440px; */
  background-size: 200px;
  background-position: center;
  border-radius: 6px;
  /*! box-sizing: border-box; */
  width: 2.48in;
  height: 3.46in;
  position: relative;
  background-size: 290px;
  overflow: hidden;
  /*! z-index: -10; */
  /*! box-shadow: 0px 0px 0px 8px black inset; */
  display: flex;
}
.print-back .frame-outer, #card-none_0-b0.frame-outer {
  background-image: url('art/back.png') !important;
  /*! background-position-y: -14px; */
  /*! background-size: 354px; */
  /*! background-size: cover; */
}
.frame-outer:has(.fac-ServiSec) {
  background-image: url('art/front_X_.png');  
}
.frame-outer:has(.fac-OmniCorp) {
  background-image: url('art/front_O_.png');  
  /*! background-size: 433px; */
}
.frame-outer:has(.fac-HartTech) {
  background-image: url('art/front_H_.png');  
  /*! background-size: 433px; */
}
.frame-outer:has(.fac-Deckers) {
  background-image: url('art/front_D_.png');  
  /*! background-size: 338px; */
}
.frame-outer:has(.fac-Modders) {
  background-image: url('art/front_M_.png');  
  /*! background-size: 338px; */
  /*! background-position-y: -5px; */
}
.frame-outer:has(.fac-Gonkers) {
  background-image: url('art/front_G_.png');  
  /*! background-size: 338px; */
}

.frame-border {
  box-sizing: border-box;
  width: 2.48in; /* 63mm */
  height: 3.46in; /* 88mm */
  /*! overflow: hidden; */
  position: relative;
  /*! padding: 21px; */
  /*! box-shadow: 0px 0px 0px 8px black inset, 0 -55px 20px -20px black inset; */
  margin: auto;
}
#card-none_0-b0 .frame-border {
  display: none !important;
}

.frame {
  box-sizing: border-box;
  height: 100%;
  position: relative;
  /*! border: 2mm solid transparent; */
}
/* Cyber scruffs
.frame-outer::before {
  background: top center / 100px no-repeat url('art/textures/golden_wires.png');
  width: 100px;
  height: 28px;
  content: " ";
  display: block;
  position: absolute;
  left: 39px;
  top: 11px;
  z-index: -3;
  display: none;
}
.frame-outer::after {
  background: top center / contain no-repeat url('art/textures/golden_ribbon.png');
  width: 24px;
  height: 45px;
  content: " ";
  display: block;
  position: absolute;
  left: 20px;
  bottom: 293px;
  z-index: -2;
  display: none;
}
*/

.frame.type-Contract {
  background-position-y: 21.8mm;
}
.frame.fac-Empty {
  visibility: hidden;
}
.no-art .art-frame {
  background-image: none !important;
}
.ink-saver .art-frame {
  background-color: white;
  background-size: 34mm;
  background-position: center 8mm;
}
.print-back .frame-border {
  /*! background-image: url('art/back.png') !important; */
  /*! background-size: cover; */
  /*! background-repeat: no-repeat; */
  /*! background-position: unset; */
}

.frame-inner {
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 9px 0px 1px;
  margin: 0 0px;
  /*! position: relative; */
  position: relative;
}

.type-Contract .frame-inner {
/*** Art-less contract style ***
  flex-direction: column-reverse;
*/
}
.ink-saver .frame-inner {
  background-color: transparent;
  border-radius: 1.8mm;
}
.print-back .frame-inner, .print-back .head-background {
  visibility: hidden;
}

.head {
  /*! height: 24px; */
  /*! overflow: hidden; */
  display: flex;
  text-shadow: 0px 0.5px #000;
  box-sizing: border-box;
  font-family: "Space Mono", "Noto Sans Symbols 2";
  font-weight: bold;
  /*! color: #222; */
  position: absolute;
  left: 0;
  right: 0;
  z-index: 300;
  top: 10px;

  /*! border-radius: 0 0 5px 5px; */
  /*! overflow: hidden; */
  /*! box-shadow: 0px 2px 2px #0003; */
  color: #fff;
  /*! text-shadow: 1px 1px #fffa; */
  padding: 0px 10px 1px;
  /*! top: 10px; */
  /*! background: center / cover repeat url('art/textures/transparent-white-circuit.png'), linear-gradient(90deg, #0000 0%, #000c 12%, #000000f5 30%, #000000f5 70%, #000a 88%, #0000 100%); */
}
.type-Contract .art-outer {
  /*! border-radius: 3px; */
}

.head-background {
  position: absolute;
  left: -10px;
  right: -10px;
  top: 9px;
  height: 27px;
  /*! background-size: cover; */
  /*! background-repeat: no-repeat; */
  /*! background-color: #0004; */
  opacity: 0.65;
  /*! overflow: hidden; */
  z-index: 10;
  /*! background: linear-gradient(90deg, #0000 0%, #000a 8%, #000a 92%, #0000 100%); */
  background: linear-gradient(90deg, #0008 0%, #0008 8%, #0008 92%, #0000 100%);
  display: none;
}
.head-cost-background {
  position: absolute;
  /*! content: ''; */
  left: -10px;
  right: 0;
  top: 36px;
  height: 90px;
  background-color: #0008;
  opacity: 0.65;
  overflow: hidden;
  display: none;
}
.frame-outer:not(.full-art) .head-background:has(+ .type-Contract) {
  /*! display: none !important; */
}
.full-art .head-background {
  /*! left: 8px; */
  right: 8px;
  /*! background: linear-gradient(90deg, #0000 0%, #0008 8%, #0008 92%, #0000 100%); */
  display: unset;
}

.head-inner {
  display: flex;
  width: 100%;
  z-index: 100;
  flex-direction: row-reverse;
}
.type-Contract .head-inner::before {
  display: none;
}

.body {
  min-height: 135px;
  display: flex;
  /*! padding-bottom: 13px; */
  justify-content: space-between;
  box-sizing: border-box;
  /*! position: absolute; */
  top: 182px;
  left: 0;
  border-top: 1px solid gray;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 4px;
  background-position-y: bottom;
  position: absolute;
  right: 0;
  /*! width: 100%; */
  /*! margin: 0 3px; */
  z-index: -1;
}

.ink-saver .body {
  background: none !important;
  border-color: transparent;
}

.body {
  display: none;
}
.fac-ServiSec .body, .fac-ServiSec .frame-inner {
  /*! background-image: url('art/front_X_.png'); */
  /*! border-top-color: #777; */
  /*! background-position-y: top; */
}
.fac-OmniCorp .body, .fac-OmniCorp .frame-inner {
  /*! background-image: url('art/front_O_.png'); */
  border-top-color: #d5b500;
  /*! background-position-y: top; */
}
.fac-HartTech .body, .fac-HartTech .frame-inner {
  /*! background-image: url('art/front_H_.png'); */
  border-top-color: #a7a;
  background-position-y: top;
}
.fac-Deckers .body, .fac-Deckers .frame-inner {
  /*! background-image: url('art/front_D_.png'); */
  border-top-color: #58a;
}
.fac-Modders .body, .fac-Modders .frame-inner {
  /*! background-image: url('art/front_M_.png'); */
  border-top-color: #88bb88;
}
.fac-Gonkers .body, .fac-Gonkers .frame-inner {
  /*! background-image: url('art/front_G_.png'); */
  border-top-color: #c66;
  /*! background-position-y: top; */
}

.title {
  font-size: 12px;
}
.type-Contract .title::after,
.type-Hardware .title::after,
.type-Software .title::after {
  /*! content: 'Ƶ'; */
  font-family: serif;
  font-size: 12px;
  margin-left: 6px;
  display: inline-block;
  font-weight: 500;
  position: relative;
  top: 1.5px;
}

.title-frame {
  margin: 0px 0px 0 auto;
  text-align: right;
}
.subtype::before {
  margin: 0 0.5em;
}
.subtype:not(:empty)::before {
  content: '·';
}
.type-frame::before, .head-inner::before {
  margin-right: 0.5mm;
  font-family: "Noto Sans Symbols 2";
  font-weight: normal;
}

.head-inner::before {
  display: none;
  position: relative;
  top: 10px;
  font-size: 20px;
  margin-right: 3px;
  margin-left: -6px;
}
.type-frame::before {
  font-size: 11px;
  margin: 0 3px 0 3px;
  position: relative;
  /*! top: 1.5px; */
}

/*.type-Interrupt .type-frame::before*/
.type-Interrupt /*.head-inner*/ .type-frame::before {
  /*! content: '🛆'; */
  top: 0.5px;
}
.type-DirectAction /*.head-inner*/ .type-frame::before {
  content: '🗲';
  top: 0.5px;
  font-size: 9px;
}
.type-Hardware /*.head-inner*/ .type-frame::before {
  content: '⚙';
  top: 0.5px;
  display: none;
}
.type-Contract /*.head-inner*/ .type-frame::before {
  /*! content: '🗎'; */
  /*! top: 2px; */
  /*! font-weight: bold; */
  /*! display: none; */
}
.type-Operator /*.head-inner*/ .type-frame::before {
  content: '🕱';
  top: 1.5px;
  display: none;
}
.type-Software /*.head-inner*/ .type-frame::before {
  content: '⌬';
  font-weight: bold;
  top: 1px;
  display: none;
}

.cost-frame {
  display: flex;
  /*! margin-top: 5px; */
  font-size: 11px;
  position: relative;
  top: 3px;
  flex-direction: row-reverse;
  left: 5px;
}

.extra-cost {
  margin: 3px 0;
}
.extra-cost:empty {
  display: none;
}
.extra-cost > * {
  margin-left: 2px;
}

.head .z-cost {
  background-image: url('art/z-cost-2.svg');
  /*! position: relative; */
  /*! top: 1px; */
  /*! margin: auto 0 auto 1.5px; */
  font-weight: 600;
  font-size: 12px;
  /*! padding-right: 0.5px; */
  width: 23px;
  height: 19px;
  line-height: 18px;
  /*! padding-top: 0.5px; */
  margin: -1px 0 0 1px;
}

.ink-saver .z-cost {
  background-image: url('art/z.svg');
}

.ink-saver .head .rep-cost {
  box-shadow: none;
}

.rep-cost {
  /*! border: solid 0.16em; */
  /*! border-radius: 100%; */
  width: 1.45em;
  height: 1.45em;
  text-align: center;
  box-sizing: border-box;
  font-size: 1.02em;
  margin-left: 0.17em;
  font-family: Space Mono;
  font-weight: bold;
}
rep[type=x] {
  
}
.head .rep-cost {
  border: solid 1.5px;
  line-height: 31px;
  /*! box-shadow: 0.5px 0.5px #000; */
  margin: -6px -3px -8px -11px;
  top: -3px;
  position: relative;
  width: 33px;
  height: 33px;
  font-size: 16px;
  border: none;
  /*! box-shadow: none; */
  background: center / contain no-repeat url('art/rep-cost.svg');
  background: center / contain no-repeat url('art/rep.png');
}
.type-Contract .rep-cost, .rep-cost[value=""] {
  color: transparent;
  text-shadow: none;
  background-image: url('art/rep-empty.png');
  /*! background-image: none; */
  opacity: 0.75;
}

.head .rep-cost::before {
  content: attr(value);
}
.head .rep-cost[value="3"],
.head .rep-cost[value="4"],
.head .rep-cost[value="5"],
.head .rep-cost[value="7"]{
  line-height: 32px;
}

.rep .rep-cost {
  font-size: 12px;
  margin: auto;
  border-width: 0.21em;
  color: #333;
}
rep[type=x], .cap-cost-rep {
  width: 2em;
}
rep[type=x]::before, .cap-cost-rep::before {
  background-image: url('art/rep-black.png');
  /*! width: 2em; */
  /*! height: 2em; */
  /*! top: .005em; */
  /*! font-size: 1em; */
  margin-top: 0.5px;
}

.z-cost:empty, .fac-rep-cost:empty {
  display: none;
}

.fac-rep-cost {
  font-size: 18px;
  font-family: DejaVu Serif;
  font-weight: normal;
  display: flex;
  flex-wrap: wrap;
  height: 70px;
  flex-direction: column;
  position: absolute;
  top: 17px;
  left: -11px;
  /*! text-shadow: 0px 0.5px #000a; */
  font-size: 22px;
}

.fac-rep-cost > * {
  width: 0.7em;
  height: 0.67em;
}
.fac-rep-cost:not(:has(:nth-child(2))) {
  /*! font-size: 22px; */
  /*! margin-top: 0px; */
  /*! margin-left: -1px; */
}
.fac-rep-cost:not(:has(:nth-child(2))) > * {
  /*! position: relative; */
  /*! top: -4px; */
}
.fac-rep-cost:has(:nth-child(2)) {
  /*! font-size: 1.8em !important; */
  /*! margin-top: -3px */
  /*! margin-left: 1px; */
}
/*
.type-Contract .fac-rep-cost:has(:nth-child(2)) {
  font-size: 2.3em !important;
  margin-top: -4px;
}
*/
.fac-rep-cost:has(:nth-child(3)) {
  /*! font-size: 1.7em !important; */
  margin-top: 1px;
  /*! margin-left: 2px; */
}
.fac-rep-cost:not(:has(:nth-child(4))) > *:nth-child(3) {
  /*! left: -1.5px; */
  /*! top: -0.5px; */
  /*! position: relative; */
  /*! margin-bottom: 0; */
}
.fac-rep-cost:has(:nth-child(3)):not(:has(:nth-child(4))) > *:nth-child(1) {
  /*! left: 6px; */
  /*! top: 0.5px; */
  position: relative;
  margin-bottom: 0;
}
.fac-rep-cost:has(:nth-child(3)):not(:has(:nth-child(4))) > *:nth-child(2),
.fac-rep-cost:has(:nth-child(3)):not(:has(:nth-child(4))) > *:nth-child(3) {
  /*! top: -14px; */
  /*! position: relative; */
}
.fac-rep-cost.◈:has(:nth-child(3)):not(:has(:nth-child(4))) > *:nth-child(1),
.fac-rep-cost.❖:has(:nth-child(3)):not(:has(:nth-child(4))) > *:nth-child(1) {
  top: 1px;
}

.type-Contract .fac-rep-cost:not(:has(:nth-child(2))) {
  /*! font-size: 24px; */
  /*! margin-top: -1px; */
}
.type-Contract .fac-rep-cost > *:not(:first-child) {
  /*! display: none; */
}
.fac-rep-cost > ::after {
  width: 0.42em;
  height: 0.42em;
  left: 0.2em;
  border-radius: 100%;
  top: -0.1em;
  box-shadow: 0 0 6px 1px #000;
  display: block;
  content: ' ';
  position: relative;
  z-index: -1;
  background: #0008;
  margin-top: -8px;
}
.fac-rep-cost.❖ > ::after {
  top: -0.15em;
}

.art {
  /*! height: 100%; */
  margin: 0;
  background-size: cover;
  /*! width: 100%; */
}

.art-frame {
  background-size: 95%;
  /*! background-repeat: no-repeat; */
  background-clip: content-box;
  background-position: center center;
  box-shadow: 0 0 0 1px #fffa, 0 0 6px 2px #000;
  position: absolute;
  top: 28px;
  left: 0px;
  right: 0px;
  bottom: 0;
  z-index: 0;
}
.frame-outer:not(.full-art) .type-Contract .art-frame {
  top: 181px;
}

.art-outer {
  background: linear-gradient(180deg, #0006 0%, #0000 16%, #0000 100%), -38px -200px / 300px no-repeat url('art/textures/gold-circuit-2.png');
  /*! background: -38px -200px / 300px no-repeat url('art/textures/gold-circuit-2.png'); */
  margin: 0px 0px 10px -1px;
  overflow: hidden;
  /*! border-top: 1px solid #0005; */
  /*! border-left: 1px solid #0005; */
  /*! border-bottom: 1px solid #fff4; */
  /*! border-right: 1px solid #fff4; */
  background-clip: content-box;
  position: relative;
  height: 204px;
  left: -8px;
  width: 257px;
  border-radius: 118px 0 64px 0;
  box-shadow: -3px -2px 0 0 #0006, 4px 2px 0 0 #fff6;
  /*! border: 1px solid #222; */
}
.art-outer:before {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  border-radius: 118px 0 64px 0;
  box-shadow: 0 0 0px 0 #000 inset, 0 0 0 1px #000a inset;
}
/*
.type-Operator .art-outer:after {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  left: 0;
  width: 43px;
  background-color: #0005;
}
*/
.type-Contract .art-outer {
  /*! border-radius: 3px; */
  background-image: url('art/textures/contract-text.png');
  background-position: -155px -33px;
  background-size: 442px;
  height: 360px;
  margin-bottom: 0;
  background-image: linear-gradient(180deg, #0008 0%, #0008 80%, #0000 100%), url('art/textures/contract-text.png');
  /*! background-size: 200px 200px; */
  /*! background-position: center center; */
  background: center / cover no-repeat url('art/textures/rays.png');
  background-image: url("art/textures/rays.png"), linear-gradient(180deg, #000d 0%, #0008 100%), url('art/textures/contract-text.png');
  background-image: url("art/textures/rays.png"), linear-gradient(180deg, #000d 0%, #000a 50%, #0006 100%), url('art/textures/contract-text.png');
}
.type-Operator .art-outer {
  background: linear-gradient(180deg, #0005 0%, #0000 13%, #0000 100%), center -100px / cover no-repeat url('art/textures/gray-circuit-2.png');
}
.type-Software .art-outer {
  background: linear-gradient(180deg, #000a 0%, #0000 17%, #0000 100%), center center / 294px no-repeat url('art/textures/matrix-blue.png');
}
.type-Hardware .art-outer {
  background: linear-gradient(180deg, #0006 0%, #0000 16%, #0000 100%), -38px -200px / 300px no-repeat url('art/textures/gold-circuit-2.png');
}
.type-Interrupt .art-outer {
  background: linear-gradient(180deg, #0008 0%, #0000 15%, #0000 100%), -38px -100px / 300px no-repeat url('art/textures/lightning-2.png');
}

.type-frame {
  font-size: 8px;
  line-height: 1.2em;
  margin-top: -1px;
}

.type-frame > * {
  display: inline-block;
}
.type-frame > .type, .type-frame > .rarity {
  /*! color: white !important; */
}
.ink-saver .type-Contract .type-frame > .type, .ink-saver .type-Contract .type-frame > .rarity {
  color: black !important;
}
.ink-saver .power-frame .stat {
  width: 1em;
  
}

.rarity.✦ {
  position: relative;
  left: -0.1em;
}

.power-frame {
  font-family: Space Mono;
  font-weight: bold;
  font-size: 11px;
  color: white;
  text-shadow: 0 0.5px 2px black;
  position: absolute;
  bottom: 121px;
  left: 2px;
  z-index: 110;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.type-Interrupt .power-frame,
.type-Contract .power-frame,
.type-Hardware .power-frame,
.type-Software .power-frame,
.type-Event .power-frame {
  display: none;
}

.power-frame .stat::after,
.power-frame .z::after,
.power-frame .influence::after {
  content: " ";
  box-shadow: 0 0 5px 2.5px #000;
  display: block;
  position: relative;
  z-index: -1;
}

.power-frame .stat.power,
.power-frame .stat.bulk,
.power-frame .stat.comp {
  text-align: center;
  width: 3.1em;
  height: 3.1em;
}

.power-frame .stat.power {
  background: center / contain no-repeat url('art/pow-stat-light-3.png');
  line-height: 3.7em;
}

.power-frame .stat.power::after {
  width: 10px;
  height: 15px;
  left: 11px;
  border-radius: 8px 8px 0 0;
  top: -25px;
}

.power-frame .stat.bulk {
  background: center / contain no-repeat url('art/bulk-stat-light-3.png');
  line-height: 3.35em;
  margin-top: -5px;
}

.power-frame .stat.bulk::after {
  width: 13px;
  height: 14.5px;
  left: 10px;
  border-radius: 0 0 8px 8px;
  top: -22px;
}

.power-frame .stat.comp {
  line-height: 3em;
  margin-top: -6px;
  background: center / contain no-repeat url('art/comp-stat-light-3.png');
}

.power-frame .stat.comp::after {
  width: 15px;
  height: 15px;
  left: 9px;
  border-radius: 0 0 8px 8px;
  top: -20px;
  border-radius: 100%;
}
.power-frame .stat::after {
  display: none;
}

.power-frame .stat::before {
  content: attr(stat);
  font-size: 1.1em;
}

.power-frame .influence {
  font-size: 32px;
  position: relative;
  height: 33px;
  margin: 1px 0 0 0;
  font-family: DejaVu Serif;
  font-weight: normal;
  /*! text-shadow: 0px 0px 1px #fffc; */
  /*! text-shadow: 0.5px 0.5px #fff, -0.5px -0.5px #fff, -0.5px 0.5px #fff, 0.5px -0.5px #fff, 0 0.5px 3px #000b; */
  top: 2px;
  text-align: center;
  /*! width: 36px; */
  display: none;
}
.fac-HartTech .power-frame .influence,
.fac-OmniCorp .power-frame .influence {
  height: 33px;
}
.fac-OmniCorp .power-frame .influence::before {
  content: "❖";
  position: relative;
  top: 2px;
}
.fac-HartTech .power-frame .influence::before {
  content: "◈";
}
.fac-Deckers .power-frame .influence::before,
.fac-Gonkers .power-frame .influence::before,
.fac-Modders .power-frame .influence::before {
  font-size: 35px;
  position: relative;
  /*! top: 0px; */
  /*! left: -2px; */
}
.fac-Deckers .power-frame .influence::before {
  content: "⊛";
}
.fac-Gonkers .power-frame .influence::before {
  content: "⊚";
}
.fac-Modders .power-frame .influence::before {
  content: "⊗";
}

.power-frame .influence::after {
  height: 12px;
  width: 12px;
  border-radius: 100%;
  top: -10.5px;
  left: 10px;
  background-color: #0009;
  border-radius: 100%;
}
.fac-OmniCorp .power-frame .influence::after,
.fac-HartTech .power-frame .influence::after {
  transform: rotate(45deg);
  border-radius: 0;
}

.power-frame .z {
  display: none !important;
  width: 32px;
  height: 23px;
  background: center / contain no-repeat url('art/z-stat-light-2.png');
  margin: 2px 0 2px;
}

.power-frame .z::after {
  width: 7px;
  height: 17px;
  left: 13px;
  border-radius: 0;
  top: 3.5px;
  box-shadow: 0 0 6px 1px #000;
}

.text-frame-background {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #fffc;
  background-image: url('art/textures/transparent-circuit-inner.png');
  background-size: cover;
  background-clip: content-box;
  z-index: -1;
  box-shadow: 0 0 3px 1px #fff8 inset;
  clip-path: polygon(0 10px,10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
}
.type-Contract .text-frame-background
{
  display: none;
}

.text-frame {
  box-sizing: border-box;
  line-height: 1.2em;
  display: flex;
  font-size: 11px;
  flex-direction: column;
  align-items: center;
  text-shadow: 0.5px 0.5px #fffb;
  z-index: 20;
  position: relative;
  background-clip: content-box;
  /*! width: 100%; */
  display: flex;
  margin: 0 10px;
  flex: 1 0 auto;
}

.frame-outer.sideway .text-frame {
  z-index: 100;
  margin: -130px 0px 0;
}
.frame-outer.sideway .text-frame-inner {
  transform: rotate(-90deg);
  position: absolute;
  height: 200px
}
.frame-outer.sideway .logo {
  /*! bottom: 55px; */
}

.type-Contract .text-frame {
  position: absolute;
  top: 43px;
  border-radius: 0;
  box-shadow: none;
  background: none;
  border: none;
  z-index: 200;
}
.frame-outer:not(.full-art) .type-Contract .text-frame-outer {
  /*! margin: 0 21px; */
  /*! padding: 0 21px; */
  /*! position: relative; */
}
.frame-outer:not(.full-art) .type-Contract .text-frame {
  height: 174px;
  /*! top: 14px; */
  left: 23px;
  width: 204px;
  /*! background-color: #ffffffe0; */
  height: 150px;
  margin: 0;
}
.frame-outer:is(.full-art) .type-Contract .text-frame {
  top: 54px;
}

.text-frame::before {
  content: " ";
  width: 100%;
  height: 3px;
  background: #0009;
  box-shadow: 0 0px 3px 0px #0009;
  position: absolute;
  top: -3px;
  border-radius: 100%;
  display: none;
}
.text-frame::after {
  content: " ";
  bottom: -3px;
  width: 100%;
  height: 3px;
  background: #0009;
  box-shadow: 0 0px 3px 0px #0008;
  position: absolute;
  border-radius: 100%;
  display: none;
}

.text-frame:has(.text:empty):has(.flavor:empty), .flavor:empty, .text:empty {
  display: none;
}

.text-frame-inner {
  padding: 5px 6px;
  width: 100%;
  box-sizing: border-box;
  height: 100%;
  flex-direction: column;
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  filter: drop-shadow(0px 0px 2px #0005);
}
.type-Contract .text-frame-inner {
  padding: 0;
}
.text-frame i {
  color: #333;
  font-size: 9px;
  font-style: normal;
  font-family: ChakraPetchItalic;
  /*! font-size: 0.8em; */
}
.text-frame i .symbol::before,
.text-frame i rep::before {
  margin-top: 1.5px;
}

.text {
  text-align: center;
  margin-bottom: auto;
  /*! background-color: white; */
  margin-top: auto;
}
.text > * {
  padding-top:  0 !important;
}
.text > :last-child {
  margin-bottom: 0;
  /*! border-bottom: none; */
  padding-bottom: 0;
}
.text:not(:has(cap)) {
  margin-top: auto;
}

.text-frame ul, .text-frame ol {
  padding-left: 3.6mm !important;
  margin: 0;
  text-align: left;
}

.no-art .type-Contract .text, .no-art .type-Contract .text * {
  color: black !important;
}

.type-Hardware .text {
  margin: auto auto 0 auto;
}

run  {
  padding: 0 0 0.5em;
  margin: 0 0 4px;
}
run:last-child  {
  padding-bottom: 0;
}

run > .cap-cost:first-child::before {
  width: 16px;
  display: inline-block;
}
run[act] > .cap-cost:first-child::before {
  content: "🛆";
  margin-right: 2px;
  font-size: 16px;
  position: relative;
  top: 2px;
  left: 1px
}
run[inst] > .cap-cost:first-child::before {
  content: "🗲";
  margin-right: 1.5px;
  font-size: 14px;
  position: relative;
  top: 1.5px;
  left: 1px
}
.type-Contract .text > run,
.type-Contract .text > cap,
.type-Contract .flavor {
  box-sizing: border-box;
  background-color: #fffd;
  box-shadow: 0px 1px 1px #0008;
  z-index: 20;
  background-image: url('art/textures/transparent-circuit-inner.png');
  background-size: cover;
  /*! background: center / 140px repeat url('art/textures/transparent-circuit-inner.png'), linear-gradient(90deg, #fff0 1%, #ffffffaa 10%, #fffffff5 27%, #fffffff5 73%, #ffffff90 90%, #fff0 99%); */
  /*! overflow: hidden; */
  border-bottom: 1px solid #0003;
  /*! border-left: 1px solid #0003; */
  border-top: 1px solid #fff4;
  /*! background-clip: content-box; */
  padding: 0.6em 6px 0.45em !important;
  border-radius: 0;
  border: 1px solid #fff;
  background: #fffc;
  box-shadow: 0px 0px 4px 1px #fff;
}
.text > run:has(> .cap-cost:first-child) {
  padding-left: 30px !important;
}
run > .cap-cost {
  margin-left: -24px;
}

.type-Hardware .text > cap:not(:has(spec)) {
  text-align: center;
}
.type-Hardware .text > cap:has(spec) {
  padding-top: 0.5mm;
  padding-bottom: 0.8mm;
  z-index: 10;
  position: relative;
}
.type-Contract .text > span {
  margin: 0 0 0.2em 0;
}
.type-Hardware .text > *::before {
  /* content: "⊞ "; */
  /*! content: "⌬"; */
  font-size: 1.5em;
  margin-right: 1mm;
  position: relative;
  top: 0.1em;
}
.type-Interrupt .text {
  margin-top: auto;
}
.type-Contract .text {
  margin-top: 0;
  margin-bottom: 0;
}

.ink-saver .body {
  background: none;
  border-color: transparent;
}
.ink-saver .text-frame {
  background: none;
  /*! border: 0.1mm solid black; */
  box-shadow: none;
}

.flavor {
  font-style: italic;
  margin: auto 0;
  text-align: left;
  color: #222;
  font-family: serif;
  padding-top: 4px;
  font-size: 8px;
  /*! letter-spacing: -0.008em; */
  line-height: 1.2em;
}
.type-Contract .flavor {
  margin-top: 8px;
  width: 100%;
}
.type-Hardware .flavor {
  margin: 1em auto 0.5em;
}

sig {
  text-wrap: nowrap;
  display: block;
  float: right;
  /*! line-height: 1.6em; */
  margin-left: 3px;
}
sig::before {
  content: '― ';
}

.foot {
  display: flex;
  justify-content: center;
  align-items: center;
  /*! position: absolute; */
  /*! bottom: 5px; */
  width: 100%;
  color: white;
  z-index: 100;
  box-sizing: border-box;
  padding: 0px 10px;
  margin: -1px 0 0px;
}

.type-Contract .foot {
  margin-top: 0px;
}

.id, .id-right {
  font-size: 6px;
  /*! font-family: Space Mono; */
  font-weight: 500;
  z-index: 100;
  text-shadow: 0.5px 0.5px #000;
  font-family: Goldman;
  letter-spacing: 5%;
}
.id {
  margin-right: auto;
}
.id-right {
  /*! margin-left: auto; */
  background: top center / contain no-repeat url('art/textures/golden_ribbon.png');
  width: 28px;
  height: 50px;
  bottom: -28px;
  position: absolute;
  right: 23px;
  display: none;
}


/** CARD SPECIFIC CLASSES **/
.foot .z,
.sellable .foot .rep,
.trait-synth .foot .rep {
  display: unset !important;
}
.foot .rep.z::before,
.sellable .foot .rep::before,
.trait-synth .foot .rep::before {
  background: center / contain no-repeat url('art/z-sellable.png') !important;;
}

.x-large-text .text {
  font-size: 14px;
}
.x-large-text rep,
.x-large-text .symbol {
}
.x-large-text rep::before,
.x-large-text .symbol::before {
  margin-top: -1.5px;
}

.large-text .text {
  font-size: 12px;
  line-height: 15px;
}
.large-text rep,
.large-text .symbol {
}
.large-text rep::before,
.large-text .symbol::before {
  /*! margin-top: -2.5px; */
}
.large-text .cap-cost-kinetic::before {
  /*! margin-top: -2.5px; */
}

.small-text .text {
  font-size: 10px;
}
.small-text rep,
.small-text .symbol {
}
.small-text rep::before,
.small-text .symbol::before {
  /*! margin-top: 0.5px; */
}

.x-small-text .text {
  font-size: 9px;
}
.x-small-text rep,
.x-small-text .symbol {
}
.x-small-text rep::before,
.x-small-text .symbol::before {
  margin-top: 1.5px;
}

/* Print media */
@media print {
  @page  {
    size: auto;
    margin: 8mm 8mm 8mm 8mm;
  }
  html,
  body {
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
  }

  .no-print {
    display: none !important;
  }

  .frame-outer {
    /* Crop markers for cutting */
    background:
      linear-gradient(to right, black 0.1mm, transparent 0.1mm) 0 0,
      linear-gradient(to left, black 0.1mm, transparent 0.1mm) 100% 100%,
      linear-gradient(to bottom, black 0.1mm, transparent 0.1mm) 0 0,
      linear-gradient(to top, black 0.1mm, transparent 0.1mm) 100% 100% !important;
    background-repeat: no-repeat !important;
    background-size: 2mm 2mm !important;
  }

  .frame-border, .frame-outer {
    filter: none;
  }
}

/** EXTERNAL USE CLASSES **/
.screenshot .frame-outer {
  filter: none;
  box-shadow: none;
  margin: 0;
  /*! overflow: visible; */
  background-color: transparent;
  border-radius: 0;
}

.brighten .art-frame {
  filter: brightness(150%);
}
.brighten .body {
  filter: brightness(200%);
}

.screenshot .no-print {
  display: none !important;
}

.crop-markers .frame-outer,
.crop-markers.cards-50x83 .frame,
.crop-markers.cards-60x90 .frame {
  /* Crop markers for cutting */
  background:
    linear-gradient(to right, black 0.1mm, transparent 0.1mm) 0 0,
    linear-gradient(to left, black 0.1mm, transparent 0.1mm) 100% 100%,
    linear-gradient(to bottom, black 0.1mm, transparent 0.1mm) 0 0,
    linear-gradient(to top, black 0.1mm, transparent 0.1mm) 100% 100% !important;
  background-repeat: no-repeat !important;
  background-size: 2mm 2mm !important;
}

.min-border .frame-border {
  padding: 0;
}
.min-border .foot {
  bottom: -1px
}

.cards-50x83 .foot, .cards-60x90 .foot {
  bottom: 0px;
}
.cards-50x83 .frame-border {
  padding: 0 20px;
}
.cards-60x90 .frame-border {
  padding: 0 10px;
}

.blank-cards .frame > * {
  visibility: hidden;
}

.bleed-margin {
  background-color: #000;
}
.bleed-margin .frame-outer {
  border-radius: 0;
  filter: none;
  box-shadow: none;
  /*! padding: 58px */
  margin: 0;
  /***
  ratio of final print 0.7351 = 2448px x 3330px
  ***/
  width: calc(0.7351 * 5in);
  height: calc(5in);
}
.bleed-margin .head-background {
  /*! top: 57px; */
  /*! height: calc(37px + 50px); */
}
