/* icons.css — Phosphor icons (regular) inlined as CSS-mask data-URIs.
 *
 * Usage:  <span class="ph ph-gear"></span>
 * The icon paints in the element's `currentColor` and sizes to `1em`, so it
 * inherits the surrounding text colour + font-size. Fully self-hosted (no font
 * file, no CDN) — the SVG lives in the mask data-URI. Source: Phosphor Icons
 * (MIT), regular weight, from the vendored set in the Apex project.
 *
 * Add a new icon: paste its regular SVG from
 *   vendor/icons/phosphor-icons/SVGs/regular/<name>.svg
 * into a `.ph-<name>{--i:url('data:image/svg+xml;utf8,<svg…</svg>')}` rule.
 */

.ph{
  display:inline-block;
  width:1em; height:1em;
  flex:0 0 auto;
  background-color:currentColor;
  vertical-align:-0.15em;
  -webkit-mask:var(--i) center / contain no-repeat;
          mask:var(--i) center / contain no-repeat;
}

.ph-gear{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="128" cy="128" r="40" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M41.43,178.09A99.14,99.14,0,0,1,31.36,153.8l16.78-21a81.59,81.59,0,0,1,0-9.64l-16.77-21a99.43,99.43,0,0,1,10.05-24.3l26.71-3a81,81,0,0,1,6.81-6.81l3-26.7A99.14,99.14,0,0,1,102.2,31.36l21,16.78a81.59,81.59,0,0,1,9.64,0l21-16.77a99.43,99.43,0,0,1,24.3,10.05l3,26.71a81,81,0,0,1,6.81,6.81l26.7,3a99.14,99.14,0,0,1,10.07,24.29l-16.78,21a81.59,81.59,0,0,1,0,9.64l16.77,21a99.43,99.43,0,0,1-10,24.3l-26.71,3a81,81,0,0,1-6.81,6.81l-3,26.7a99.14,99.14,0,0,1-24.29,10.07l-21-16.78a81.59,81.59,0,0,1-9.64,0l-21,16.77a99.43,99.43,0,0,1-24.3-10l-3-26.71a81,81,0,0,1-6.81-6.81Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-list{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="40" y1="64" x2="216" y2="64" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="40" y1="192" x2="216" y2="192" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-x{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="200" y1="56" x2="56" y2="200" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="200" y1="200" x2="56" y2="56" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-download{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="128" y1="144" x2="128" y2="32" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="216 144 216 208 40 208 40 144" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="168 104 128 144 88 104" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-pin{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path d="M229.66,98.34a8,8,0,0,0,0-11.31L169,26.34a8,8,0,0,0-11.31,0L100.39,83.8S72.64,69.93,43,93.85a8,8,0,0,0-.65,11.91l107.9,107.89a8,8,0,0,0,12-.83c8.39-11.16,21.57-34.09,10.11-57Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="96.29" y1="159.71" x2="48" y2="208" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-arrow-left{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="216" y1="128" x2="40" y2="128" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="112 56 40 128 112 200" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-refresh{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polyline points="184 104 232 104 232 56" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M188.4,192a88,88,0,1,1,1.83-126.23L232,104" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-caret-left{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polyline points="160 208 80 128 160 48" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-caret-right{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polyline points="96 48 176 128 96 208" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-caret-down{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polyline points="208 96 128 176 48 96" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-book{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path d="M128,88a32,32,0,0,1,32-32h72V200H160a32,32,0,0,0-32,32" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M24,200H96a32,32,0,0,1,32,32V88A32,32,0,0,0,96,56H24Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-books{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect x="48" y="40" width="64" height="176" rx="8" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M217.67,205.77l-46.81,10a8,8,0,0,1-9.5-6.21L128.18,51.8a8.07,8.07,0,0,1,6.15-9.57l46.81-10a8,8,0,0,1,9.5,6.21L223.82,196.2A8.07,8.07,0,0,1,217.67,205.77Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="48" y1="72" x2="112" y2="72" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="48" y1="184" x2="112" y2="184" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="133.16" y1="75.48" x2="195.61" y2="62.06" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="139.79" y1="107.04" x2="202.25" y2="93.62" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="156.39" y1="185.94" x2="218.84" y2="172.52" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-newspaper{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="96" y1="112" x2="176" y2="112" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="96" y1="144" x2="176" y2="144" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M32,200a16,16,0,0,0,16-16V64a8,8,0,0,1,8-8H216a8,8,0,0,1,8,8V184a16,16,0,0,1-16,16Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M32,200a16,16,0,0,1-16-16V88" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-search{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="112" cy="112" r="80" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="168.57" y1="168.57" x2="224" y2="224" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-funnel{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path d="M34.1,61.38A8,8,0,0,1,40,48H216a8,8,0,0,1,5.92,13.38L152,136v58.65a8,8,0,0,1-3.56,6.66l-32,21.33A8,8,0,0,1,104,216V136Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Phase 123 — archive (box with lid + handle). Used by the series archive
   toggle (settings tile + reader topbar). */
.ph-archive{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect x="32" y="40" width="192" height="48" rx="8" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M40,88V208a8,8,0,0,0,8,8H208a8,8,0,0,0,8-8V88" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="104" y1="152" x2="152" y2="152" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Settings tab icons — Users tab + Roadmap tab (Admin reuses ph-gear). */
.ph-users{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="84" cy="108" r="52" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M10.23,200a88,88,0,0,1,147.54,0" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M172,160a87.93,87.93,0,0,1,73.77,40" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M152.69,59.7A52,52,0,1,1,172,160" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-map-trifold{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="92" y1="40" x2="92" y2="192" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="164" y1="64" x2="164" y2="216" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M156.47,216.4,97.53,199.6a8,8,0,0,0-4.32,0l-56,16a8,8,0,0,1-10.16-7.7V63.71a8,8,0,0,1,5.84-7.7l56-16a8,8,0,0,1,4.32,0l58.94,16.8a8,8,0,0,0,4.32,0l56-16a8,8,0,0,1,10.16,7.7V192.29a8,8,0,0,1-5.84,7.7l-56,16A8,8,0,0,1,156.47,216.4Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Restricted toggle — lock (restricted) + lock-open (unrestricted). */
.ph-lock{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect x="40" y="88" width="176" height="128" rx="8" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M88,88V56a40,40,0,0,1,80,0V88" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><circle cx="128" cy="152" r="12" fill="black"/></svg>')}
.ph-lock-open{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect x="40" y="88" width="176" height="128" rx="8" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M88,88V56a40,40,0,0,1,80,0" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><circle cx="128" cy="152" r="12" fill="black"/></svg>')}
/* Restrict toggle — prohibit (no-entry) sign; red .on state marks restricted. */
.ph-prohibit{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="128" cy="128" r="96" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="60.12" y1="60.12" x2="195.88" y2="195.88" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Hide-posters toggle (eye / eye-slash) + catalog delete (trash). */
.ph-eye{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="128" cy="128" r="40" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M16,128S48,48,128,48s112,80,112,80-32,80-112,80S16,128,16,128Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-eye-slash{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="48" y1="40" x2="208" y2="216" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M154,153.48a40,40,0,0,1-51.49-51.48" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M73.81,69.6C36.86,89.95,16,128,16,128s32,80,112,80a118.05,118.05,0,0,0,54.19-12.6" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M208.61,169.1C229.27,149.36,240,128,240,128S208,48,128,48a126.3,126.3,0,0,0-20.07,1.6" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-trash{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="216" y1="56" x2="40" y2="56" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="104" y1="104" x2="104" y2="168" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="152" y1="104" x2="152" y2="168" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M168,56V40a16,16,0,0,0-16-16H104A16,16,0,0,0,88,40V56" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Unarchive — counter-clockwise restore arrow. */
.ph-arrow-counter-clockwise{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polyline points="79.83 99.81 31.83 99.81 31.83 51.81" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M65.71,65.7a96,96,0,1,1,0,124.6" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Open original source — external-link (arrow leaving a box). */
.ph-arrow-square-out{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polyline points="216 100 216 40 156 40" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="144" y1="112" x2="216" y2="40" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M184,136v72a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8h72" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Remove from library — sign-out (arrow leaving a door). */
.ph-sign-out{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="112" y1="128" x2="216" y2="128" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="176 88 216 128 176 168" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M112,216H48a8,8,0,0,1-8-8V48a8,8,0,0,1,8-8h64" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Synopsis — article / document with text lines. */
.ph-article{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect x="32" y="48" width="192" height="160" rx="8" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="64" y1="96" x2="192" y2="96" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="64" y1="128" x2="192" y2="128" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="64" y1="160" x2="160" y2="160" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Unarchive — a tray with an arrow lifting up and out ("take out of
   archive"). Clean at small sizes. */
.ph-tray-arrow-up{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path d="M40,144v56a8,8,0,0,0,8,8H208a8,8,0,0,0,8-8V144" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="128" y1="120" x2="128" y2="40" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="96 72 128 40 160 72" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
/* Unarchive — the SAME archive box as ph-archive (lid + body) but with an
   up-arrow in place of the handle line, so it's the exact counterpart. */
.ph-unarchive{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><rect x="32" y="40" width="192" height="48" rx="8" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M40,88V208a8,8,0,0,0,8,8H208a8,8,0,0,0,8-8V88" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="102 150 128 124 154 150" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="128" y1="126" x2="128" y2="186" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}

/* ── Stash additions (icons not in Reader's base set) ──
   Same CSS-mask approach: each rule supplies --i as an inline SVG data-URI.
   Authored in Phosphor's regular style (viewBox 0 0 256 256, stroke 16,
   round caps) so they sit consistently beside the imported set. */
.ph-plus{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="128" y1="40" x2="128" y2="216" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-circle{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="128" cy="128" r="96" fill="black"/></svg>')}
.ph-check-circle{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><circle cx="128" cy="128" r="96" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="172 104 113 160 84 132" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-pencil-simple{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path d="M92.69,216H48a8,8,0,0,1-8-8V163.31a8,8,0,0,1,2.34-5.65l120-120a8,8,0,0,1,11.32,0l44.68,44.69a8,8,0,0,1,0,11.31l-120,120A8,8,0,0,1,92.69,216Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="136" y1="64" x2="192" y2="120" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-hourglass{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path d="M200,75.64V40a8,8,0,0,0-8-8H64a8,8,0,0,0-8,8V76a8,8,0,0,0,2.4,5.71L114.34,128,58.4,174.29A8,8,0,0,0,56,180v36a8,8,0,0,0,8,8H192a8,8,0,0,0,8-8V180.36a8,8,0,0,0-2.41-5.72L141.66,128l55.93-46.65A8,8,0,0,0,200,75.64Z" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-snowflake{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><line x1="128" y1="24" x2="128" y2="232" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="38" y1="76" x2="218" y2="180" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="218" y1="76" x2="38" y2="180" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
.ph-cube{--i:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><polygon points="128 24 224 80 224 176 128 232 32 176 32 80 128 24" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="32 80 128 136 224 80" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="128" y1="136" x2="128" y2="232" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>')}
