/*! papercade v0.2.0 — a pixel × sketch design library | code MIT, art CC BY 4.0, fonts OFL */
/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --px-color-paper: #fbfaf4;
  --px-color-paper-2: #f5f3e8;
  --px-color-dot: #e3decf;
  --px-color-ink: #222019;
  --px-color-ink-soft: #403c32;
  --px-color-muted: #74705f;
  --px-color-line: #d8d3c3;
  --px-color-accent: #5b3df5;
  --px-color-accent-hover: #4c30d9;
  --px-color-accent-soft: #ece8ff;
  --px-color-hl: #ffe89b;
  --px-color-amber: #ffc402;
  --px-color-screen-bg: #191713;
  --px-color-screen-dot: #292620;
  --px-color-screen-frame: #ece7da;
  --px-color-screen-card: #221f1a;
  --px-color-screen-headline: #f7f3e8;
  --px-color-screen-label: #a39d88;
  --px-color-coin-base: #ffd23e;
  --px-color-coin-shade: #c4973f;
  --px-color-coin-shine: #fff3c4;
  --px-color-sketch-blue-stroke: #1971c2;
  --px-color-sketch-blue-fill: #a5d8ff;
  --px-color-sketch-green-stroke: #2f9e44;
  --px-color-sketch-green-fill: #b2f2bb;
  --px-color-sketch-red-stroke: #e03131;
  --px-color-sketch-red-fill: #ffc9c9;
  --px-color-sketch-orange-stroke: #e8590c;
  --px-color-sketch-orange-fill: #ffd8a8;
  --px-color-sketch-violet-stroke: #6741d9;
  --px-color-sketch-violet-fill: #d0bfff;
  --px-color-sketch-yellow-stroke: #f08c00;
  --px-color-sketch-yellow-fill: #ffec99;
  --px-color-sketch-gold-stroke: #c4973f;
  --px-color-sketch-gold-fill: #f3e2c2;
  --px-font-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --px-font-body: 'Poppins', system-ui, sans-serif;
  --px-font-mono: 'Spline Sans Mono', ui-monospace, monospace;
  --px-font-hand: 'Caveat', 'Excalifont', ui-rounded, cursive;
  --px-font-sketch: 'Excalifont', 'Caveat', ui-rounded, cursive;
  --px-font-pixel: 'Press Start 2P', 'Spline Sans Mono', monospace;
  --px-clip-pixel: polygon(0 8px, 4px 8px, 4px 4px, 8px 4px, 8px 0, calc(100% - 8px) 0, calc(100% - 8px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 8px, 100% 8px, 100% calc(100% - 8px), calc(100% - 4px) calc(100% - 8px), calc(100% - 4px) calc(100% - 4px), calc(100% - 8px) calc(100% - 4px), calc(100% - 8px) 100%, 8px 100%, 8px calc(100% - 4px), 4px calc(100% - 4px), 4px calc(100% - 8px), 0 calc(100% - 8px));
  --px-radius-sketch: 14px 4px 16px 5px / 5px 16px 4px 14px;
  --px-radius-blob: 255px 15px 225px 15px / 15px 225px 15px 255px;
  --px-radius-pixel: 0;
  --px-shadow-ink: 3px 4px 0 #222019;
  --px-shadow-ink-hover: 4px 5px 0 #222019;
  --px-grid-dot-size: 1.15px;
  --px-grid-dot-gap: 26px;
  --px-grid-unit: 4px;
  --px-motion-steps-pop: steps(3);
  --px-motion-steps-fill: steps(8);
  --px-motion-press: 80ms;
  --px-motion-pop: 240ms;
}

/* generated at build time — do not edit */
:root {
  --px-sketch-border-ink: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22300%22%20height%3D%22300%22%20viewBox%3D%220%200%20300%20300%22%3E%3Cpath%20d%3D%22M7.552996529236019%208.139430751856626%20C66.75245097662038%2010.941836151691607%2C%20120.23492035387534%2013.983674428888492%2C%20290.8206307137281%208.133214370556653%20M9.700764495708853%2010.13878036204347%20C92.43220834682171%2013.161821039994285%2C%20176.96739212020628%2013.252283622724578%2C%20290.7657468012442%2010.758370857304662%20M288.2110882163679%2010.642492294918835%20C288.3025282573563%20105.87658995470173%2C%20289.58372937099807%20198.9873087441843%2C%20290.4943299889337%20291.8240798206623%20M289.38971812695064%209.30143403489408%20C290.04047615895104%2087.40743526902732%2C%20291.2527593429596%20162.84862285579118%2C%20290.10895657253116%20289.747608650364%20M287.8137768904993%20291.2701692914112%20C219.25927011165209%20294.96091584077726%2C%20144.51132969626917%20291.49202344207083%2C%208.934294936685742%20291.2904087574013%20M289.23469996049346%20291.1815369805413%20C180.42082801301186%20289.1719650955998%2C%2073.06196917725504%20289.90608524772705%2C%2010.534663906470687%20290.92910924649345%20M9.674491315302074%20287.7655449464119%20C11.210969046587506%20223.34013705327254%2C%2010.27604609199194%20154.15815591873914%2C%208.596287008156002%209.196090698351682%20M10.189131192626387%20291.1350632683211%20C6.477381182209944%20211.53779957095585%2C%205.562682559516882%20133.210840005518%2C%209.400316155601889%2010.609947058778852%22%20stroke%3D%22%23222019%22%20stroke-width%3D%222.5%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --px-sketch-border-screen: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22300%22%20height%3D%22300%22%20viewBox%3D%220%200%20300%20300%22%3E%3Cpath%20d%3D%22M7.552996529236019%208.139430751856626%20C66.75245097662038%2010.941836151691607%2C%20120.23492035387534%2013.983674428888492%2C%20290.8206307137281%208.133214370556653%20M9.700764495708853%2010.13878036204347%20C92.43220834682171%2013.161821039994285%2C%20176.96739212020628%2013.252283622724578%2C%20290.7657468012442%2010.758370857304662%20M288.2110882163679%2010.642492294918835%20C288.3025282573563%20105.87658995470173%2C%20289.58372937099807%20198.9873087441843%2C%20290.4943299889337%20291.8240798206623%20M289.38971812695064%209.30143403489408%20C290.04047615895104%2087.40743526902732%2C%20291.2527593429596%20162.84862285579118%2C%20290.10895657253116%20289.747608650364%20M287.8137768904993%20291.2701692914112%20C219.25927011165209%20294.96091584077726%2C%20144.51132969626917%20291.49202344207083%2C%208.934294936685742%20291.2904087574013%20M289.23469996049346%20291.1815369805413%20C180.42082801301186%20289.1719650955998%2C%2073.06196917725504%20289.90608524772705%2C%2010.534663906470687%20290.92910924649345%20M9.674491315302074%20287.7655449464119%20C11.210969046587506%20223.34013705327254%2C%2010.27604609199194%20154.15815591873914%2C%208.596287008156002%209.196090698351682%20M10.189131192626387%20291.1350632683211%20C6.477381182209944%20211.53779957095585%2C%205.562682559516882%20133.210840005518%2C%209.400316155601889%2010.609947058778852%22%20stroke%3D%22%23ece7da%22%20stroke-width%3D%222.5%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --px-doodle-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%2246%22%20viewBox%3D%220%200%20120%2046%22%3E%3Cpath%20d%3D%22M8%2C10%20C%2040%2C40%2080%2C4%20112%2C30%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-dasharray%3D%224%207%22%2F%3E%3Cpath%20d%3D%22M112%2C30%20L106%2C18M112%2C30%20L99%2C27%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  --px-coin-sprite: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208%208%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20x%3D%222%22%20y%3D%220%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%220%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%220%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%220%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23fff3c4%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%221%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%221%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%221%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%221%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23fff3c4%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%223%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%224%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23c4973f%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%225%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%226%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%226%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%226%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%227%22%20width%3D%221.03%22%20height%3D%221.03%22%20fill%3D%22%23ffd23e%22%2F%3E%3C%2Fsvg%3E");
}

/* papercade base — fonts, surfaces, type utilities.
   Depends on tokens.css (--px-*) being loaded first. */

@font-face {
  font-family: "Excalifont";
  src: url("./fonts/Excalifont-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Press Start 2P";
  src: url("./fonts/PressStart2P-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ---- surfaces ---------------------------------------------------------- */

/* light: paper with the dot-grid */
.px-paper {
  background-color: var(--px-color-paper);
  background-image: radial-gradient(var(--px-color-dot) var(--px-grid-dot-size), transparent var(--px-grid-dot-size));
  background-size: var(--px-grid-dot-gap) var(--px-grid-dot-gap);
  color: var(--px-color-ink);
  font-family: var(--px-font-body);
}

/* dark: the CRT/game screen, same dot-grid idiom */
.px-screen {
  background-color: var(--px-color-screen-bg);
  background-image: radial-gradient(var(--px-color-screen-dot) var(--px-grid-dot-size), transparent var(--px-grid-dot-size));
  background-size: var(--px-grid-dot-gap) var(--px-grid-dot-gap);
  color: var(--px-color-screen-headline);
  font-family: var(--px-font-body);
}

/* ---- type utilities ---------------------------------------------------- */

/* HUD micro-label: tiny, tracked-out, uppercase mono */
.px-mono {
  font-family: var(--px-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--px-color-muted);
}

.px-screen .px-mono {
  color: var(--px-color-screen-label);
}

/* hand-written margin note; pair with a trailing pencil glyph by convention */
.px-hand {
  font-family: var(--px-font-hand);
  font-size: 1.25rem;
  line-height: 1.3;
}

/* Excalidraw-style sketch heading */
.px-sketch-type {
  font-family: var(--px-font-sketch);
  font-weight: 400;
}

/* pixel display type — keep >= 16px; Press Start 2P is designed for 8px multiples */
.px-pixel-type {
  font-family: var(--px-font-pixel);
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

/* marker-highlight swipe */
.px-hl {
  background: linear-gradient(
    104deg,
    transparent 0.4em,
    var(--px-color-hl) 0.4em,
    var(--px-color-hl) calc(100% - 0.3em),
    transparent calc(100% - 0.3em)
  );
  padding: 0 0.35em;
  border-radius: 2px;
}

/* pixel art must never blur */
.px-crisp {
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

/* ---- accessibility ----------------------------------------------------- */

/* The focusable custom elements are listed by tag: they carry no class, and an
   attribute selector cannot prefix-match a tag name. Without them the browser
   default hairline wins, which is invisible on the --screen surfaces. */
:where(.px-btn, [class^="px-"], px-coin, px-flipcard, px-holo-card):focus-visible {
  outline: 3px solid var(--px-color-accent);
  outline-offset: 2px;
}

/* House rule: every animation has a reduced-motion path. Custom element tags
   are listed because a selector cannot prefix-match a tag name; the inventory
   is closed at twelve components, so the list is final. Components whose
   motion must stop dead rather than run fast (sprite playback) override this
   with `animation: none` of their own. */
@media (prefers-reduced-motion: reduce) {
  [class^="px-"],
  [class^="px-"]::before,
  [class^="px-"]::after,
  :is(px-avatar, px-coin, px-flipcard, px-holo-card),
  :is(px-avatar, px-coin, px-flipcard, px-holo-card)::before,
  :is(px-avatar, px-coin, px-flipcard, px-holo-card)::after {
    animation-duration: 0.001s !important;
    transition-duration: 0.001s !important;
  }
}

/* px-frame — the pixel-cornered box.
   --px-clip-pixel cuts stepped 8-bit corners; applied twice
   (outer = frame colour, inner = fill, margin 2px) so vertices stay closed.

   <div class="px-frame"><div class="px-frame-fill">…</div></div>

   Theme with:  --px-frame-color  (border)   --px-fill-color  (inside)   */

.px-frame,
.px-frame-fill {
  clip-path: var(--px-clip-pixel);
}

.px-frame {
  position: relative;
  display: block;
  background: var(--px-frame-color, var(--px-color-ink));
}

.px-frame-fill {
  position: relative;
  display: block;
  margin: 2px;
  background: var(--px-fill-color, var(--px-color-paper));
  padding: 14px 16px;
}

/* dark preset: light frame on the game screen */
.px-frame--screen {
  --px-frame-color: var(--px-color-screen-frame);
  --px-fill-color: var(--px-color-screen-card);
  color: var(--px-color-screen-headline);
}

/* px-avatar — the sprite-sheet mascot. Bring your own character.

   The sheet is a uniform grid: --px-avatar-frames columns by --px-avatar-rows
   rows, each cell drawn at --px-avatar-w by --px-avatar-h. Playback is pure
   CSS (steps() over background-position-x); <px-avatar> only maps its
   attributes onto these properties, so the markup below works without JS.

   <px-avatar src="hero.webp" frames="6" rows="2" row="1" fps="10"></px-avatar>
   <span class="px-avatar" style="--px-avatar-frames: 6"></span>

   Defaults render the bundled mascot (CC BY 4.0, see LICENSE-GRAPHICS).     */

px-avatar,
.px-avatar {
  display: inline-block;
  width: var(--px-avatar-w, 143px);
  height: var(--px-avatar-h, 240px);
  background-image: var(--px-avatar-src, url("./art/parth-walk.webp"));
  background-repeat: no-repeat;
  background-size:
    calc(var(--px-avatar-frames, 8) * var(--px-avatar-w, 143px))
    calc(var(--px-avatar-rows, 2) * var(--px-avatar-h, 240px));
  background-position:
    0
    calc(var(--px-avatar-row, 0) * -1 * var(--px-avatar-h, 240px));
  animation: px-avatar-play calc(var(--px-avatar-frames, 8) / var(--px-avatar-fps, 12) * 1s)
    steps(var(--px-avatar-frames, 8)) infinite;
}

@keyframes px-avatar-play {
  to {
    background-position-x: calc(var(--px-avatar-frames, 8) * -1 * var(--px-avatar-w, 143px));
  }
}

/* idle: hold the first frame. A one-frame sheet is a still by definition,
   so it opts out too rather than looping a pointless repaint. */
px-avatar[paused],
px-avatar[frames="1"],
.px-avatar.is-paused {
  animation: none;
}

/* sheets of true pixel art opt out of smoothing */
px-avatar[pixelated],
.px-avatar.is-pixelated {
  image-rendering: pixelated;
}

/* house rule: sprites stay flat, and motion is never forced */
@media (prefers-reduced-motion: reduce) {
  px-avatar,
  .px-avatar {
    animation: none;
  }
}

/* px-btn — the sketch button.
   Asymmetric elliptical radius reads as hand-drawn; the hard offset ink
   shadow lifts on hover and collapses on press (the button "pushes in"). */

.px-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--px-font-display);
  font-weight: 600;
  font-size: 1rem;
  color: var(--px-color-ink);
  background: var(--px-color-paper);
  padding: 0.55em 1.15em;
  cursor: pointer;
  border: 2px solid var(--px-color-ink);
  border-radius: var(--px-radius-sketch);
  box-shadow: var(--px-shadow-ink);
  transition: transform var(--px-motion-press) ease, box-shadow var(--px-motion-press) ease;
  text-decoration: none;
}

.px-btn:hover {
  transform: translate(-1px, -1px);
  box-shadow: var(--px-shadow-ink-hover);
}

.px-btn:active {
  transform: translate(3px, 4px);
  box-shadow: 0 0 0 var(--px-color-ink);
}

.px-btn--accent {
  background: var(--px-color-accent);
  color: #fff;
}

.px-btn--accent:hover {
  background: var(--px-color-accent-hover);
}

/* pixel variant: square, mono, moves in steps() like a cartridge game */
.px-btn--pixel {
  font-family: var(--px-font-pixel);
  font-size: 0.72rem;
  border-radius: 0;
  transition: transform var(--px-motion-press) var(--px-motion-steps-pop),
    box-shadow var(--px-motion-press) var(--px-motion-steps-pop);
}

/* px-card — the sketch card.
   Border is a hand-drawn rough.js rectangle pre-baked at build time into
   --px-sketch-border-ink / --px-sketch-border-screen (see dist/sketch.css),
   stretched via border-image so any card size keeps the sketchy stroke.

   <div class="px-card">…</div>
   <div class="px-card px-card--screen">…</div>
   <div class="px-card px-card--tilt">…</div>   (polaroid lean)            */

.px-card {
  position: relative;
  display: block;
  background: var(--px-color-paper);
  border: 12px solid transparent;
  border-image: var(--px-sketch-border-ink) 45 / 12px stretch;
  padding: 8px 12px;
  box-shadow: var(--px-shadow-ink);
}

.px-card--screen {
  background: var(--px-color-screen-card);
  border-image-source: var(--px-sketch-border-screen);
  color: var(--px-color-screen-headline);
  box-shadow: var(--px-shadow-ink);
}

/* slight hand-placed lean; set --px-card-rot to vary per card */
.px-card--tilt {
  transform: rotate(var(--px-card-rot, -0.8deg));
}

/* px-chip — the HUD chip: coin/stat readouts and level tags.
   Wrap the value in <b> to pull it back to ink from a coloured label.

   <span class="px-chip">COINS <b>12</b></span>
   <span class="px-chip px-chip--tag">LEVEL 5</span>
   <span class="px-chip px-chip--screen">HP <b>3</b></span>

   Theme with: --px-chip-bg, --px-chip-fg.                                   */

.px-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  height: 44px;
  padding: 0 16px;
  font-family: var(--px-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--px-chip-fg, var(--px-color-sketch-yellow-stroke));
  background: var(--px-chip-bg, var(--px-color-paper));
  border: 2px solid var(--px-color-ink);
  border-radius: 999px;
  box-shadow: var(--px-shadow-ink);
}

.px-chip b {
  font-weight: 500;
  color: var(--px-color-ink);
}

/* level tag: squarer, filled, sits on the edge of a panel */
.px-chip--tag {
  height: auto;
  padding: 3px 12px;
  font-size: 0.6rem;
  letter-spacing: 0.16em;
  border-radius: 8px;
  color: var(--px-color-ink);
  background: var(--px-chip-bg, var(--px-color-sketch-yellow-fill));
}

.px-chip--screen {
  --px-chip-bg: var(--px-color-screen-card);
  --px-chip-fg: var(--px-color-amber);
  border-color: var(--px-color-screen-frame);
}

.px-chip--screen b {
  color: var(--px-color-screen-frame);
}

/* px-coin — a collectible coin backed by a shared wallet.
   The sprite is baked from an 8x8 pixel map at build time into
   --px-coin-sprite. Clicking flips the coin up and away; the running
   total lands in any element carrying data-px-coins.

   <px-coin></px-coin>
   <px-coin value="5" sound></px-coin>
   <span class="px-chip">coins <b data-px-coins>0</b></span>

   Size everything with --px-coin-size; the arc scales with it.            */

px-coin,
.px-coin {
  position: relative;
  display: inline-block;
  width: var(--px-coin-size, 32px);
  height: var(--px-coin-size, 32px);
  background: var(--px-coin-sprite) no-repeat center / contain;
  cursor: pointer;
}

/* collected coins hold their space so the layout does not jump */
px-coin[collected] {
  visibility: hidden;
}

/* visibility is explicit: these keep flying after the coin is hidden */
.px-coin-pop,
.px-coin-plus {
  position: absolute;
  visibility: visible;
  pointer-events: none;
}

.px-coin-pop {
  inset: 0;
  background: var(--px-coin-sprite) no-repeat center / contain;
  animation: px-coin-pop 800ms ease-out forwards;
}

/* two scaleX pinches read as a coin spinning edge-on twice on the way up */
@keyframes px-coin-pop {
  0% {
    transform: translateY(0) scaleX(1);
    opacity: 1;
  }
  25% {
    transform: translateY(calc(var(--px-coin-size, 32px) * -2)) scaleX(0.12);
    opacity: 1;
  }
  50% {
    transform: translateY(calc(var(--px-coin-size, 32px) * -3.25)) scaleX(1);
    opacity: 1;
  }
  75% {
    transform: translateY(calc(var(--px-coin-size, 32px) * -2.875)) scaleX(0.12);
    opacity: 0.9;
  }
  100% {
    transform: translateY(calc(var(--px-coin-size, 32px) * -1.8)) scaleX(1);
    opacity: 0;
  }
}

.px-coin-plus {
  left: 50%;
  top: 0;
  font-family: var(--px-font-mono);
  font-size: 0.72rem;
  color: var(--px-color-amber);
  animation: px-coin-plus 900ms ease-out forwards;
}

@keyframes px-coin-plus {
  from {
    transform: translate(-50%, 0);
    opacity: 1;
  }
  to {
    transform: translate(-50%, calc(var(--px-coin-size, 32px) * -2.2));
    opacity: 0;
  }
}

/* px-dialogue — the RPG dialogue box.
   Pixel-cornered box (shared --px-clip-pixel) plus a two-step staircase tail
   drawn on the wrapper, so the tail escapes the clip and breaks through the
   border like a cartridge-era dialogue box. Wrap <em> for the amber highlight.

   <div class="px-dialogue px-dialogue--left">
     <p class="px-dialogue-box">IT'S DANGEROUS TO SHIP ALONE. <em>TAKE THIS.</em></p>
   </div>

   Theme with: --px-dialogue-bg, --px-dialogue-fg, --px-dialogue-max.        */

.px-dialogue {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: var(--px-dialogue-max, 260px);
  filter: drop-shadow(3px 3px 0 var(--px-color-ink));
}

.px-dialogue-box {
  display: block;
  margin: 0;
  background: var(--px-dialogue-bg, var(--px-color-screen-bg));
  color: var(--px-dialogue-fg, var(--px-color-screen-frame));
  border: 2px solid var(--px-dialogue-fg, var(--px-color-screen-frame));
  font-family: var(--px-font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.04em;
  line-height: 1.55;
  padding: 10px 13px;
  clip-path: var(--px-clip-pixel);
}

.px-dialogue em {
  font-style: normal;
  color: var(--px-color-amber);
}

/* the tail: top step overlaps the frame, bottom step steps away from it */
.px-dialogue::before,
.px-dialogue::after {
  content: "";
  position: absolute;
  z-index: 1;
  background: var(--px-dialogue-bg, var(--px-color-screen-bg));
}

.px-dialogue::after {
  bottom: -4px;
  width: 14px;
  height: 8px;
}

.px-dialogue::before {
  bottom: -10px;
  width: 7px;
  height: 6px;
}

.px-dialogue--left::after,
.px-dialogue--left::before {
  left: 8px;
}

.px-dialogue--right::after,
.px-dialogue--right::before {
  right: 8px;
}

/* speaking from the paper side instead of the game screen */
.px-dialogue--paper {
  --px-dialogue-bg: var(--px-color-paper);
  --px-dialogue-fg: var(--px-color-ink);
}

/* px-flipcard — two faces, one card. The classic photo/illustration swap.
   Click or press Enter to turn it over. Pure CSS: the element only toggles
   the [flipped] attribute, so a checkbox or your own script works too.

   <px-flipcard aspect="3/4">
     <div class="px-flipcard-face"><img src="illustration.webp" alt="Drawn"></div>
     <div class="px-flipcard-face px-flipcard-face--back"><img src="photo.webp" alt="Real"></div>
   </px-flipcard>

   Theme with --px-flipcard-depth and --px-flipcard-turn.                   */

/* the perspective is a transform function, not the property: the card itself
   is what rotates, and the property only ever applies to children */
px-flipcard,
.px-flipcard {
  position: relative;
  display: block;
  aspect-ratio: var(--px-flipcard-aspect, 3 / 4);
  cursor: pointer;
  transform-style: preserve-3d;
  transform: perspective(var(--px-flipcard-depth, 1400px)) rotateY(0deg);
  transition: transform var(--px-flipcard-turn, 700ms) ease;
}

px-flipcard[flipped],
.px-flipcard.is-flipped {
  transform: perspective(var(--px-flipcard-depth, 1400px)) rotateY(180deg);
}

.px-flipcard-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.px-flipcard-face--back {
  transform: rotateY(180deg);
}

.px-flipcard-face img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
}

/* a face is usually a whole card, so let it fill the scene */
.px-flipcard-face > * {
  width: 100%;
  height: 100%;
}

/* the blinking call to action that sits under the card */
.px-flipcard-hint {
  display: block;
  margin-top: 12px;
  text-align: center;
  font-family: var(--px-font-mono);
  font-size: 0.56rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--px-color-muted);
  animation: px-blink 1.4s step-end infinite;
}

@keyframes px-blink {
  50% {
    opacity: 0.25;
  }
}

/* the original inspects on hover; click and Enter always work too */
px-flipcard[trigger="hover"]:hover {
  transform: perspective(var(--px-flipcard-depth, 1400px)) rotateY(180deg);
}

/* px-holo-card — the unit card, with the foil the original never had.
   Tilt and sheen are driven entirely by two custom properties the element
   writes from the pointer: --px-holo-x and --px-holo-y, each -1 to 1. With
   no script they stay 0 and it is simply a flat unit card.

   <px-holo-card>
     <span class="px-holo-tag">unit card · holo</span>
     <div class="px-holo-portrait"><px-avatar paused></px-avatar></div>
     <h3 class="px-holo-name">Parth Anand</h3>
     <p class="px-holo-class">class: product designer · lvl 5+</p>
     <div class="px-holo-stats">
       <div class="px-holo-stat">
         <span>response time</span>
         <div class="px-xp px-xp--screen px-xp--slim"><span class="px-xp-fill" style="--px-xp: 90%"></span></div>
         <b>&lt; 24h</b>
       </div>
     </div>
     <p class="px-holo-foot">recruit this unit ✏</p>
   </px-holo-card>

   Theme with --px-holo-tilt, --px-holo-depth, --px-holo-bg, --px-holo-fg.  */

px-holo-card,
.px-holo-card {
  /* The foil is four stops and a blend mode. Set --px-holo-foil to one colour
     for a single-hue sweep, or the four stops individually for a spectrum. */
  --px-holo-foil-1: var(--px-holo-foil, var(--px-color-sketch-blue-fill));
  --px-holo-foil-2: var(--px-holo-foil, var(--px-color-sketch-violet-fill));
  --px-holo-foil-3: var(--px-holo-foil, var(--px-color-sketch-green-fill));
  --px-holo-foil-4: var(--px-holo-foil, var(--px-color-sketch-yellow-fill));
  --px-holo-blend: color-dodge;

  position: relative;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  padding: 20px 20px 16px;
  color: var(--px-holo-fg, var(--px-color-screen-headline));
  background: var(--px-holo-bg, var(--px-color-screen-card));
  border: 2px solid var(--px-color-screen-frame);
  border-radius: 16px;
  box-shadow: 5px 7px 0 var(--px-holo-shadow, var(--px-color-ink));
  transform: perspective(var(--px-holo-depth, 900px))
    rotateY(calc(var(--px-holo-x, 0) * var(--px-holo-tilt, 9deg)))
    rotateX(calc(var(--px-holo-y, 0) * var(--px-holo-tilt, 9deg) * -1));
  transition: transform 220ms ease-out;
}

/* ---- card anatomy ------------------------------------------------------ */

.px-holo-tag {
  font-family: var(--px-font-mono);
  font-size: 0.56rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--px-color-amber);
}

.px-holo-portrait {
  margin: 10px 0 2px;
  text-align: center;
}

.px-holo-name {
  margin: 0;
  text-align: center;
  font-family: var(--px-font-display);
  font-weight: 700;
  font-size: 1.25rem;
  text-transform: uppercase;
  color: var(--px-color-screen-headline);
}

.px-holo-class {
  margin: 4px 0 0;
  text-align: center;
  font-family: var(--px-font-mono);
  font-size: 0.52rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--px-color-screen-label);
}

.px-holo-stats {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}

.px-holo-stat {
  display: grid;
  grid-template-columns: var(--px-holo-stat-label, 104px) 1fr auto;
  gap: 9px;
  align-items: center;
  font-family: var(--px-font-mono);
  font-size: 0.52rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--px-color-screen-label);
}

.px-holo-stat b {
  font-weight: 400;
  color: var(--px-color-screen-frame);
}

/* a full-bleed portrait face: the image fills the card, the tag sits on top */
.px-holo-card--portrait > img,
px-holo-card.px-holo-card--portrait > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
}

.px-holo-card--portrait .px-holo-tag {
  position: relative;
  z-index: 3;
  align-self: flex-start;
  padding: 4px 9px;
  border-radius: 7px;
  background: var(--px-color-screen-card);
}

.px-holo-foot {
  margin: auto 0 0;
  padding-top: 10px;
  text-align: center;
  font-family: var(--px-font-hand);
  font-size: 0.95rem;
  color: var(--px-color-screen-label);
}

/* ---- the foil ---------------------------------------------------------- */

/* papercade's own sketch palette, not a generic rainbow */
px-holo-card::after,
.px-holo-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: var(--px-holo-shine, 0);
  mix-blend-mode: var(--px-holo-blend);
  background-image: repeating-linear-gradient(
    var(--px-holo-angle, 115deg),
    transparent 0%,
    var(--px-holo-foil-1) 7%,
    var(--px-holo-foil-2) 13%,
    var(--px-holo-foil-3) 19%,
    var(--px-holo-foil-4) 25%,
    transparent 32%
  );
  background-size: 260% 260%;
  background-position: calc(50% + var(--px-holo-x, 0) * 40%) calc(50% + var(--px-holo-y, 0) * 40%);
  transition: opacity 220ms ease;
}

/* a soft glare that tracks the cursor */
px-holo-card::before,
.px-holo-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  opacity: var(--px-holo-shine, 0);
  background: radial-gradient(
    circle at calc(50% + var(--px-holo-x, 0) * 50%) calc(50% - var(--px-holo-y, 0) * 50%),
    rgb(255 255 255 / 38%),
    transparent 48%
  );
  transition: opacity 220ms ease;
}

px-holo-card:hover,
px-holo-card:focus-visible,
.px-holo-card:hover {
  --px-holo-shine: 0.75;
}

/* ---- foil variants ------------------------------------------------------
   Each is only an override of the four stops and the blend mode; write your
   own the same way. --gold pulls the coin palette, so a card matches the
   coins it is earned with. --soft trades color-dodge for screen, which keeps
   the pastels readable instead of blowing them toward white.               */

/* Multi-tone: four stops each. --gold pulls the coin palette so a card
   matches the coins it is earned with; --silver is neutrals only, and under
   color-dodge the near-whites clip while the greys hold, reading as chrome. */
.px-holo-card--gold {
  --px-holo-foil-1: var(--px-color-coin-shade);
  --px-holo-foil-2: var(--px-color-amber);
  --px-holo-foil-3: var(--px-color-coin-shine);
  --px-holo-foil-4: var(--px-color-coin-base);
}

.px-holo-card--silver {
  --px-holo-foil-1: var(--px-color-screen-label);
  --px-holo-foil-2: var(--px-color-paper);
  --px-holo-foil-3: var(--px-color-muted);
  --px-holo-foil-4: var(--px-color-screen-frame);
}

/* Single-hue: one colour, one sweep, one line. Only the pastel fills survive
   color-dodge over the card — the darker strokes lose all but one channel and
   go muddy, so these three are the palette's usable single-colour foils. */
.px-holo-card--ice {
  --px-holo-foil: var(--px-color-sketch-blue-fill);
}

.px-holo-card--phosphor {
  --px-holo-foil: var(--px-color-sketch-green-fill);
}

.px-holo-card--orchid {
  --px-holo-foil: var(--px-color-sketch-violet-fill);
}

/* --soft trades color-dodge for screen, which keeps the colours readable
   instead of blowing them toward white. Pairs with any of the above. */
.px-holo-card--soft {
  --px-holo-blend: screen;
  --px-holo-shine: 0;
}

.px-holo-card--soft:hover {
  --px-holo-shine: 0.9;
}

/* --matte: no foil and no glare. Dropping both pseudo-elements removes the
   blend-mode compositing too, so it is also the cheapest card to paint. */
.px-holo-card--matte::before,
.px-holo-card--matte::after {
  content: none;
}

/* keyboard users get the foil without the pointer-driven tilt */
@media (prefers-reduced-motion: reduce) {
  px-holo-card,
  .px-holo-card {
    transform: none;
  }
}

/* px-note / px-arrow — margin annotation and its doodle arrow.
   The arrow is a dashed hand-drawn curve baked at build time into
   --px-doodle-arrow and painted through a mask, so it inherits the
   current text colour instead of shipping one asset per colour.

   <p class="px-note">hover me — meet the real one ✏</p>
   <span class="px-arrow" aria-hidden="true"></span>
   <span class="px-arrow px-arrow--flip" aria-hidden="true"></span>
   Tune per instance with --px-note-rot, --px-note-color, --px-arrow-w/h.   */

.px-note {
  display: inline-block;
  font-family: var(--px-font-hand);
  font-size: 1.35rem;
  line-height: 1.3;
  color: var(--px-note-color, var(--px-color-accent));
  transform: rotate(var(--px-note-rot, -2deg));
}

.px-arrow {
  display: inline-block;
  width: var(--px-arrow-w, 120px);
  height: var(--px-arrow-h, 46px);
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask: var(--px-doodle-arrow) no-repeat center / contain;
  mask: var(--px-doodle-arrow) no-repeat center / contain;
}

.px-arrow--flip {
  transform: scaleX(-1);
}

/* on the dark screen, amber reads where accent violet does not */
.px-screen .px-note,
.px-note--screen {
  --px-note-color: var(--px-color-amber);
}

/* px-quest — the quest-select list (level tabs).
   Each item is a real <button>; the active one lifts, fills with
   --px-quest-color, and reveals its avatar slot.

   <div class="px-quest">
     <button class="px-quest-item is-active" aria-current="true">
       <img class="px-quest-avatar" src="…" alt="">
       <span class="px-quest-text">
         <span class="px-quest-level">LEVEL 1</span>
         <span class="px-quest-title">The First Quest</span>
       </span>
     </button>
   </div>

   Theme per item with --px-quest-color.                                     */

.px-quest {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.px-quest-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 13px 16px;
  text-align: left;
  cursor: pointer;
  font-family: var(--px-font-body);
  background: var(--px-color-paper);
  border: 2px solid var(--px-color-ink);
  border-radius: 12px;
  box-shadow: var(--px-shadow-ink);
  transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

.px-quest-item:hover {
  transform: translate(-1px, -2px);
  box-shadow: var(--px-shadow-ink-hover);
}

.px-quest-item:active {
  transform: translate(2px, 3px);
  box-shadow: 0 0 0 var(--px-color-ink);
}

.px-quest-item.is-active {
  background: var(--px-quest-color, var(--px-color-sketch-yellow-fill));
  transform: translate(-2px, -2px);
  box-shadow: var(--px-shadow-ink-hover);
}

/* the avatar only turns up for the quest you are on */
.px-quest-avatar {
  display: none;
  flex: 0 0 auto;
  width: 22px;
  height: auto;
}

.px-quest-item.is-active .px-quest-avatar {
  display: block;
}

.px-quest-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.px-quest-level {
  font-family: var(--px-font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--px-color-muted);
}

.px-quest-item.is-active .px-quest-level {
  color: var(--px-color-ink-soft);
}

.px-quest-title {
  font-family: var(--px-font-display);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.15;
  color: var(--px-color-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* px-xp — XP / progress bar. Fill width comes from --px-xp (a percentage).

   <div class="px-xp" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="72">
     <span class="px-xp-fill" style="--px-xp: 72%"></span>
   </div>                                                                    */

.px-xp {
  display: block;
  height: 14px;
  border: 2px solid var(--px-color-ink);
  background: var(--px-color-paper);
  padding: 2px;
}

.px-xp-fill {
  display: block;
  height: 100%;
  width: var(--px-xp, 0%);
  background: var(--px-color-amber);
  transition: width 600ms var(--px-motion-steps-fill);
}

/* dark preset */
.px-xp--screen {
  border-color: var(--px-color-screen-frame);
  background: var(--px-color-screen-card);
}

/* the thin bar used in unit-card stat rows */
.px-xp--slim {
  height: 9px;
  border-width: 1.6px;
}

/* segmented HP variant: each <i> is one heart/segment; add .is-gone to spend it
   <div class="px-hp"><i></i><i></i><i class="is-gone"></i></div>            */
.px-hp {
  display: flex;
  gap: 3px;
  height: 22px;
  border: 2px solid var(--px-color-ink);
  padding: 3px;
  background: var(--px-color-paper);
}

.px-hp > i {
  flex: 1;
  background: var(--px-color-sketch-green-stroke);
}

.px-hp > i.is-gone {
  background: var(--px-color-line);
}

.px-screen .px-hp,
.px-hp--screen {
  border-color: var(--px-color-screen-frame);
  background: var(--px-color-screen-card);
}

.px-hp--screen > i.is-gone,
.px-screen .px-hp > i.is-gone {
  background: #35312a;
}
