/* stub.cafe site styles. Foundation: _shared/design/type-system.css (Inter, the font_best ladder, ADR-DS01).
   Family: ewent.ai (paper #fafaf8, ink #0f0f0e, one ember accent #d4622b, ink pill buttons).
   Direction: less is more. Monochrome chrome; the stubs themselves carry the colour.
   Shape rule (one rule, used everywhere): interactive controls and badges are full pills; cards, panels and
   multi-line fields are 24px / 18px; printed artefacts keep their own geometry. Light theme only (ADR-DS05).
   Display sizes above the ladder (--stub-poster, --stub-headline) are a site exception: ADR-STUB-01. */
@layer reset, tokens, base, layout, components, utilities, print;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, h2, h3, h4, p, ul, ol, dl, dd, figure, fieldset, legend, blockquote { margin: 0; padding: 0; }
  ul, ol { list-style: none; }
  fieldset { border: 0; min-inline-size: 0; }
  button, input, select, textarea { font: inherit; color: inherit; }
  img, svg { display: block; max-inline-size: 100%; }
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  @media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
}

@layer tokens {
  :root {
    color-scheme: light;
    /* neutrals (ewent.ai family) */
    --stub-paper: #fafaf8;
    --stub-paper-2: #f2f1ec;
    --stub-paper-3: #e9e8e2;
    --stub-surface: #fefefd;
    --stub-line: #e6e5df;
    --stub-line-strong: #cdcbc3;
    --stub-ink: #0f0f0e;
    --stub-ink-2: #2a2a27;
    --stub-muted: #5c5c57;
    --stub-subtle: #6f6f69;
    --stub-on-dark: #fafaf8;
    --stub-on-dark-muted: #b9b8b1;
    /* the one accent */
    --stub-ember: #d4622b;
    --stub-ember-text: #a6461a;
    --stub-ember-soft: #fbe7dc;
    --stub-ember-line: #f0bfa5;
    /* document status, semantic only */
    --stub-sun-text: #6e5200;
    --stub-sun-soft: #fff1c2;
    --stub-sun-line: #ecd27a;
    --stub-green-text: #1b5e34;
    --stub-green-soft: #e1f2e6;
    --stub-green-line: #9fd0ae;
    --stub-red-text: #a3261f;
    --stub-red-soft: #fde4e1;
    --stub-red-line: #f0aaa3;
    /* depth */
    --stub-shadow-card: 0 1px 2px rgba(15, 15, 14, 0.04), 0 8px 24px rgba(15, 15, 14, 0.05);
    --stub-shadow-lift: 0 2px 4px rgba(15, 15, 14, 0.05), 0 18px 40px rgba(15, 15, 14, 0.10);
    --stub-shadow-art: 0 2px 6px rgba(15, 15, 14, 0.08), 0 30px 60px -12px rgba(15, 15, 14, 0.28);
    --stub-shadow-dialog: 0 24px 64px rgba(15, 15, 14, 0.24);
    --stub-ring: 0 0 0 4px rgba(212, 98, 43, 0.24);
    --stub-scrim: rgba(15, 15, 14, 0.42);
    --stub-drop-hero: drop-shadow(0 30px 40px rgba(15, 15, 14, 0.22)) drop-shadow(0 4px 8px rgba(15, 15, 14, 0.08));
    --stub-drop-md: drop-shadow(0 16px 24px rgba(15, 15, 14, 0.22));
    --stub-drop-sm: drop-shadow(0 10px 18px rgba(15, 15, 14, 0.18));
    --stub-dot-ring: inset 0 0 0 1px rgba(15, 15, 14, 0.18);
    --stub-glass: rgba(254, 254, 253, 0.78);
    /* shape and rhythm */
    --stub-radius-card: 24px;
    --stub-radius-field: 18px;
    --stub-radius-pill: 999px;
    --stub-radius-sheet: 4px;
    --stub-nav-height: 56px;
    --stub-wrap: 1200px;
    --stub-wrap-narrow: 760px;
    --stub-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --stub-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
    --stub-dur: 220ms;
    --stub-sheet-width: 480px;
    /* ADR-STUB-01: poster-scale display type for page heroes only */
    --stub-poster: clamp(3rem, 1.4rem + 6.4vw, 6.75rem);
    --stub-headline: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);
    --stub-section-title: clamp(1.875rem, 1.35rem + 2vw, 3rem);
    --stub-tight: -0.045em;
    /* font_best Part 8 aliases (ADR-DS04) */
    --color-bg: var(--stub-paper);
    --color-surface: var(--stub-surface);
    --color-text: var(--stub-ink);
    --color-text-muted: var(--stub-muted);
    --color-text-subtle: var(--stub-subtle);
    --color-accent: var(--stub-ember);
    --color-accent-hover: var(--stub-ember-text);
    --color-on-accent: var(--stub-ink);
    --color-link: var(--stub-ember-text);
    --color-focus: var(--stub-ember);
    --color-border: var(--stub-line);
  }
}

@layer base {
  html { background: var(--color-bg); }
  body { min-block-size: 100dvh; background: var(--color-bg); color: var(--color-text); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
  a { color: var(--color-link); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
  a:hover { color: var(--stub-ink); }
  :focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; border-radius: 6px; }
  ::selection { background: var(--stub-ember); color: var(--stub-ink); }
  h1, h2, h3, h4 { color: var(--stub-ink); }
  h1 { font-size: var(--stub-headline); letter-spacing: var(--stub-tight); line-height: 1; font-weight: var(--weight-semibold); }
  h2 { font-size: var(--stub-section-title); letter-spacing: -0.035em; line-height: 1.05; font-weight: var(--weight-semibold); }
  h3 { letter-spacing: -0.015em; }
  hr { border: 0; border-block-start: 1px solid var(--color-border); margin-block: var(--space-6); }
  code { background: var(--stub-paper-2); padding: 0.1em 0.4em; border-radius: 6px; }
  kbd { font-family: var(--font-mono); font-size: var(--font-size-caption); border: 1px solid var(--color-border); border-radius: 6px; background: var(--stub-paper-2); padding: 0.05em 0.45em; }
  table { border-collapse: collapse; inline-size: 100%; }
  th, td { text-align: start; padding: var(--space-3) var(--space-2); vertical-align: top; }
  th { font-weight: var(--weight-medium); color: var(--stub-muted); font-size: var(--font-size-small); }
  tbody tr + tr td { border-block-start: 1px solid var(--color-border); }
  thead th { border-block-end: 1px solid var(--stub-line-strong); }
  td[data-numeric], th[data-numeric] { text-align: end; }
  .skip { position: absolute; inset-inline-start: var(--space-4); inset-block-start: -100px; z-index: 100; padding: var(--space-2) var(--space-4); background: var(--stub-ink); color: var(--stub-on-dark); border-radius: var(--stub-radius-pill); }
  .skip:focus { inset-block-start: var(--space-3); }
  @media (forced-colors: active) {
    :focus-visible { outline: 3px solid CanvasText; }
    .btn, .status, .sheet, .chip, .tpl-card { forced-color-adjust: none; border: 1px solid CanvasText; }
  }
}

@layer layout {
  .wrap { inline-size: min(100% - 2 * var(--gutter), var(--stub-wrap)); margin-inline: auto; }
  .wrap-narrow { inline-size: min(100% - 2 * var(--gutter), var(--stub-wrap-narrow)); margin-inline: auto; }
  .section { padding-block: var(--space-section); }
  .section-tight { padding-block: var(--space-7); }
  .band { background: var(--stub-paper-2); }
  .band-dark { background: var(--stub-ink); color: var(--stub-on-dark); }
  .band-dark h2, .band-dark h3 { color: var(--stub-on-dark); }
  .band-dark a:not(.btn) { color: var(--stub-on-dark); }
  .band-dark .t-muted { color: var(--stub-on-dark-muted); }
  .stack > * + * { margin-block-start: var(--space-4); }
  .stack-lg > * + * { margin-block-start: var(--space-6); }
  .grid-2 { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
  .grid-3 { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
  .split { display: grid; gap: var(--space-7); grid-template-columns: 1fr; align-items: start; }
  @media (min-width: 768px) {
    .grid-2 { grid-template-columns: 1fr 1fr; }
    .grid-3 { grid-template-columns: repeat(3, 1fr); }
    .split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
    .split-even { grid-template-columns: 1fr 1fr; }
  }

  /* Floating capsule nav */
  .site-nav { position: sticky; inset-block-start: 0; z-index: 40; padding-block: var(--space-3); }
  .nav-inner { display: flex; align-items: center; gap: var(--space-4); block-size: var(--stub-nav-height); padding-inline: var(--space-3) var(--space-2); border-radius: var(--stub-radius-pill); background: var(--stub-glass); border: 1px solid var(--stub-line); box-shadow: var(--stub-shadow-card); -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px); }
  @media (prefers-reduced-transparency: reduce) { .nav-inner { background: var(--stub-surface); -webkit-backdrop-filter: none; backdrop-filter: none; } }
  .brand { display: inline-flex; align-items: center; gap: var(--space-2); padding-inline-start: var(--space-2); font-weight: var(--weight-semibold); color: var(--stub-ink); text-decoration: none; letter-spacing: -0.02em; }
  .brand svg { inline-size: 24px; block-size: 24px; color: var(--stub-ember); }
  .nav-links { display: none; gap: var(--space-1); margin-inline: auto; }
  .nav-links a { color: var(--stub-ink-2); text-decoration: none; font-size: var(--font-size-small); font-weight: var(--weight-medium); padding: var(--space-2) var(--space-3); border-radius: var(--stub-radius-pill); transition: background-color var(--stub-dur) var(--stub-ease); }
  .nav-links a:hover { background: var(--stub-paper-2); color: var(--stub-ink); }
  .nav-links a[aria-current="page"] { background: var(--stub-ink); color: var(--stub-on-dark); }
  .nav-actions { margin-inline-start: auto; display: flex; align-items: center; gap: var(--space-2); }
  .mobile-menu-btn { display: inline-flex; }
  @media (min-width: 1024px) { .nav-links { display: flex; } .nav-actions { margin-inline-start: 0; } .mobile-menu-btn { display: none; } }
  .mobile-dialog { border: 0; padding: 0; inline-size: min(100vw, 420px); max-inline-size: 100vw; block-size: 100dvh; max-block-size: 100dvh; margin: 0 0 0 auto; background: var(--color-surface); color: var(--color-text); box-shadow: var(--stub-shadow-dialog); }
  .mobile-dialog::backdrop { background: var(--stub-scrim); }
  .mobile-dialog-inner { display: flex; flex-direction: column; block-size: 100%; padding: var(--space-4) var(--space-5); }
  .mobile-dialog-head { display: flex; align-items: center; justify-content: space-between; block-size: var(--stub-nav-height); }
  .mobile-dialog-links { display: flex; flex-direction: column; margin-block-start: var(--space-4); }
  .mobile-dialog-links a { display: flex; justify-content: space-between; align-items: center; padding-block: var(--space-4); border-block-end: 1px solid var(--color-border); text-decoration: none; color: var(--stub-ink); font-size: var(--font-size-sub); font-weight: var(--weight-medium); letter-spacing: -0.02em; }
  .mobile-dialog-foot { margin-block-start: auto; padding-block: var(--space-5); }
  .mobile-dialog-foot .btn { inline-size: 100%; }

  /* Footer */
  .site-footer { padding-block: var(--space-8) var(--space-6); font-size: var(--font-size-small); color: var(--color-text-muted); }
  .footer-big { font-size: var(--stub-section-title); font-weight: var(--weight-semibold); letter-spacing: var(--stub-tight); line-height: 1; color: var(--stub-ink); margin-block-end: var(--space-7); }
  .footer-big span { color: var(--stub-ember); }
  .footer-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr 1fr; padding-block-start: var(--space-6); border-block-start: 1px solid var(--color-border); }
  @media (min-width: 768px) { .footer-grid { grid-template-columns: 2fr repeat(3, 1fr); } }
  .footer-grid h3 { font-size: var(--font-size-small); font-weight: var(--weight-medium); margin-block-end: var(--space-3); color: var(--stub-ink); letter-spacing: 0; }
  .footer-grid li + li { margin-block-start: var(--space-2); }
  .footer-grid a { color: var(--color-text-muted); text-decoration: none; }
  .footer-grid a:hover { color: var(--stub-ink); }
  .footer-foot { margin-block-start: var(--space-6); padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-border); display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); justify-content: space-between; }
}

@layer components {
  /* Buttons: full pills, ink primary (ewent.ai family), tactile press */
  .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-block-size: 48px; padding: var(--space-2) var(--space-5); border-radius: var(--stub-radius-pill); border: 1px solid transparent; font-weight: var(--weight-medium); font-size: var(--font-size-body); letter-spacing: -0.01em; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background-color var(--stub-dur) var(--stub-ease), border-color var(--stub-dur) var(--stub-ease), color var(--stub-dur) var(--stub-ease), transform 160ms var(--stub-spring), box-shadow var(--stub-dur) var(--stub-ease); }
  .btn:active { transform: scale(0.97); }
  .btn-primary, .btn-ink { background: var(--stub-ink); color: var(--stub-on-dark); }
  .btn-primary:hover, .btn-ink:hover { background: var(--stub-ink-2); color: var(--stub-on-dark); box-shadow: var(--stub-shadow-lift); }
  .btn-accent { background: var(--stub-ember); color: var(--stub-ink); }
  .btn-accent:hover { background: var(--stub-ember-soft); color: var(--stub-ink); }
  .btn-ghost { background: var(--stub-surface); color: var(--stub-ink); border-color: var(--stub-line-strong); }
  .btn-ghost:hover { border-color: var(--stub-ink); color: var(--stub-ink); }
  .band-dark .btn-ghost { background: transparent; color: var(--stub-on-dark); border-color: var(--stub-muted); }
  .band-dark .btn-ghost:hover { border-color: var(--stub-on-dark); }
  .band-dark .btn-primary { background: var(--stub-on-dark); color: var(--stub-ink); }
  .btn-sm { min-block-size: 40px; padding-inline: var(--space-4); font-size: var(--font-size-small); }
  .btn[disabled], .btn[aria-disabled="true"] { opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: none; }
  .btn .ph { font-size: 1.1em; }
  .icon-btn { display: inline-flex; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; border-radius: var(--stub-radius-pill); border: 1px solid transparent; background: transparent; color: var(--stub-ink); cursor: pointer; font-size: 1.15rem; }
  .icon-btn:hover { background: var(--stub-paper-2); }
  @media (min-width: 1024px) { .mobile-menu-btn { display: none; } }
  .btn-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
  .text-link { display: inline-flex; align-items: center; gap: var(--space-1); font-weight: var(--weight-medium); text-decoration: none; color: var(--stub-ink); }
  .text-link .ph { transition: transform var(--stub-dur) var(--stub-spring); }
  .text-link:hover { color: var(--stub-ink); }
  .text-link:hover .ph { transform: translateX(3px); }

  /* Chips (filters, template + palette pickers) */
  .chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .chip { display: inline-flex; align-items: center; gap: var(--space-2); min-block-size: 36px; padding: var(--space-1) var(--space-4); border-radius: var(--stub-radius-pill); border: 1px solid var(--stub-line-strong); background: var(--stub-surface); color: var(--stub-ink-2); font-size: var(--font-size-small); font-weight: var(--weight-medium); cursor: pointer; transition: all var(--stub-dur) var(--stub-ease); }
  .chip:hover { border-color: var(--stub-ink); color: var(--stub-ink); }
  .chip[aria-pressed="true"], .chip:has(input:checked) { background: var(--stub-ink); border-color: var(--stub-ink); color: var(--stub-on-dark); }
  .chip input { position: absolute; opacity: 0; pointer-events: none; }
  .chip .dot { inline-size: 14px; block-size: 14px; border-radius: 50%; background: var(--swatch); box-shadow: var(--stub-dot-ring); }

  /* Status pills, each meaning backed by blueprint §4.3 */
  .status { display: inline-flex; align-items: center; gap: var(--space-1); padding: 0.2em 0.75em; border-radius: var(--stub-radius-pill); border: 1px solid; font-size: var(--font-size-caption); font-weight: var(--weight-medium); line-height: var(--leading-label); white-space: nowrap; }
  .status-draft { background: var(--stub-paper-2); border-color: var(--stub-line-strong); color: var(--stub-ink-2); }
  .status-generated { background: var(--stub-ember-soft); border-color: var(--stub-ember-line); color: var(--stub-ember-text); }
  .status-sample { background: var(--stub-sun-soft); border-color: var(--stub-sun-line); color: var(--stub-sun-text); }
  .status-recorded { background: var(--stub-green-soft); border-color: var(--stub-green-line); color: var(--stub-green-text); }
  .status-void { background: var(--stub-red-soft); border-color: var(--stub-red-line); color: var(--stub-red-text); }
  .status-gated { background: transparent; border-color: var(--stub-line-strong); color: var(--color-text-muted); }

  /* Proof note: says what a document is and is not */
  .proof { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-radius: var(--stub-radius-field); background: var(--stub-paper-2); font-size: var(--font-size-small); line-height: var(--leading-small); color: var(--stub-ink-2); }
  .proof .ph { font-size: 1.2rem; margin-block-start: 0.1em; color: var(--stub-ink); }
  .proof strong { display: block; color: var(--stub-ink); margin-block-end: var(--space-1); }
  .proof p { max-inline-size: none; }
  .proof-sample { background: var(--stub-sun-soft); }
  .proof-ok { background: var(--stub-green-soft); }
  .proof-stop { background: var(--stub-red-soft); }
  .proof-stop .ph, .proof-stop strong { color: var(--stub-red-text); }

  /* Page heroes */
  .hero { padding-block: var(--space-8) var(--space-7); }
  .hero h1 { max-inline-size: 16ch; }
  .lede { font-size: var(--font-size-lead); color: var(--color-text-muted); margin-block: var(--space-5) 0; max-inline-size: 46ch; text-wrap: pretty; }
  .hero .btn-row { margin-block-start: var(--space-6); }
  .eyebrow { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: var(--font-size-small); color: var(--color-text-muted); margin-block-end: var(--space-5); }
  .hero .proof { margin-block-start: var(--space-6); max-inline-size: 62ch; }
  @media (max-width: 767px) {
    .hero { padding-block: var(--space-5) var(--space-4); }
    .hero .lede { margin-block-start: var(--space-3); }
    .eyebrow { margin-block-end: var(--space-4); }
    .section { padding-block: var(--space-7); }
  }
  .fineprint { margin-block-start: var(--space-5); max-inline-size: 60ch; border-radius: var(--stub-radius-field); background: var(--stub-paper-2); }
  .fineprint > summary { display: flex; align-items: center; gap: var(--space-2); min-block-size: 44px; padding: var(--space-2) var(--space-4); cursor: pointer; list-style: none; font-size: var(--font-size-small); font-weight: var(--weight-medium); color: var(--stub-ink); }
  .fineprint > summary::-webkit-details-marker { display: none; }
  .fineprint > summary::after { content: "+"; margin-inline-start: auto; font-size: var(--font-size-sub); line-height: 1; transition: transform var(--stub-dur) var(--stub-ease); }
  .fineprint[open] > summary::after { transform: rotate(45deg); }
  .fineprint > p { padding: 0 var(--space-4) var(--space-4); font-size: var(--font-size-small); color: var(--stub-ink-2); max-inline-size: none; }
  .builder-seg { display: none; grid-template-columns: 1fr 1fr; margin-block-end: var(--space-4); }
  @media (max-width: 999px) {
    .builder-seg { display: grid; position: sticky; z-index: 6; inset-block-start: calc(var(--stub-nav-height) + var(--space-6)); box-shadow: var(--stub-shadow-card); }
    .builder[data-view="edit"] > .builder-preview, .builder[data-view="view"] > .builder-form { display: none; }
  }
  .hero-grid { display: grid; gap: var(--space-7); grid-template-columns: minmax(0, 1fr); align-items: center; }
  .stage .chips { flex-wrap: wrap; justify-content: center; }
  @media (min-width: 960px) { .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

  /* Home hero, phone first: two-word poster, one line, then the deck you can swipe */
  .m-hero { padding-block: var(--space-4) var(--space-6); }
  .m-hero-grid { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1fr); align-items: center; }
  @media (min-width: 960px) { .m-hero { padding-block: var(--space-7) var(--space-8); } .m-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-7); } }
  .m-hero h1 { font-size: var(--stub-poster); line-height: 0.92; letter-spacing: -0.06em; max-inline-size: 7ch; padding-block-end: 0.06em; }
  .m-hero h1 em { font-style: normal; color: var(--stub-ember); }
  .m-sub { margin-block-start: var(--space-3); font-size: var(--font-size-lead); color: var(--stub-ink-2); max-inline-size: 30ch; text-wrap: balance; }
  .m-hero-cta { display: none; margin-block-start: var(--space-6); }
  @media (min-width: 960px) { .m-hero-cta { display: flex; } }
  .kicker { display: inline-flex; align-items: center; gap: var(--space-2); margin-block-end: var(--space-4); padding: 0.3em 0.85em 0.3em 0.6em; border-radius: var(--stub-radius-pill); background: var(--stub-surface); border: 1px solid var(--stub-line); font-size: var(--font-size-caption); font-weight: var(--weight-medium); color: var(--stub-ink-2); }
  .kicker-dot { inline-size: 8px; block-size: 8px; border-radius: 50%; background: var(--stub-ember); box-shadow: var(--stub-ring); }
  .deck-stage { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); justify-items: center; }
  .deck { position: relative; inline-size: 100%; max-inline-size: 520px; aspect-ratio: 1 / 1.02; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; border-radius: var(--stub-radius-card); }
  .deck:active { cursor: grabbing; }
  .deck:focus-visible { outline-offset: 6px; }
  .deck-card { position: absolute; inset: 4% 6%; display: grid; place-items: center; transition: transform 420ms var(--stub-spring), opacity 300ms var(--stub-ease); will-change: transform; }
  .deck-card svg { inline-size: 100%; block-size: 100%; filter: var(--stub-drop-hero); pointer-events: none; }
  .deck-card[data-pos="0"] { z-index: 3; transform: rotate(-2deg); }
  .deck-card[data-pos="1"] { z-index: 2; transform: translate(9%, -2%) rotate(7deg) scale(0.9); opacity: 0.9; }
  .deck-card[data-pos="2"] { z-index: 1; transform: translate(-10%, 1%) rotate(-10deg) scale(0.84); opacity: 0.7; }
  .deck-card[data-pos="1"] svg, .deck-card[data-pos="2"] svg { filter: var(--stub-drop-sm); }
  @media (prefers-reduced-motion: no-preference) {
    .deck.is-shuffled .deck-card[data-pos="0"] { animation: stub-deal 460ms var(--stub-spring); }
  }
  @keyframes stub-deal { from { transform: translateY(6%) rotate(4deg) scale(0.94); } }
  .deck-sticker { position: absolute; z-index: 4; inset-block-end: 6%; inset-inline-end: 2%; padding: 0.35em 0.9em; border-radius: var(--stub-radius-pill); background: var(--stub-sun-soft); border: 1px solid var(--stub-sun-line); color: var(--stub-sun-text); font-size: var(--font-size-caption); font-weight: var(--weight-semibold); transform: rotate(-8deg); box-shadow: var(--stub-shadow-card); pointer-events: none; }
  .deck-nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-1); inline-size: min(100%, 520px); }
  .deck-arrow { border: 1px solid var(--stub-line-strong); background: var(--stub-surface); }
  .deck-tabs { display: flex; gap: var(--space-2); overflow-x: auto; scrollbar-width: none; padding-block: var(--space-1); -webkit-mask-image: linear-gradient(90deg, transparent, var(--stub-ink) 12px, var(--stub-ink) calc(100% - 12px), transparent); mask-image: linear-gradient(90deg, transparent, var(--stub-ink) 12px, var(--stub-ink) calc(100% - 12px), transparent); padding-inline: var(--space-2); }
  .deck-tabs::-webkit-scrollbar { display: none; }
  .deck-tabs .chip { flex: none; }
  .try { display: flex; align-items: center; gap: var(--space-2); inline-size: min(100%, 420px); padding: var(--space-1) var(--space-1) var(--space-1) var(--space-4); border-radius: var(--stub-radius-pill); background: var(--stub-surface); border: 1px solid var(--stub-line-strong); box-shadow: var(--stub-shadow-card); }
  .try label { font-size: var(--font-size-small); color: var(--color-text-muted); white-space: nowrap; }
  .try input { flex: 1; min-inline-size: 0; border: 0; background: transparent; padding: var(--space-2) 0; font-size: var(--font-size-body); font-weight: var(--weight-medium); color: var(--stub-ink); }
  .try input:focus-visible { outline: 2px solid transparent; }
  .try:focus-within { border-color: var(--stub-ink); box-shadow: var(--stub-ring); }

  /* Template rail (horizontal scroll-snap) */
  .rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 340px); gap: var(--space-4); overflow-x: auto; scroll-snap-type: x mandatory; padding-block: var(--space-2) var(--space-5); padding-inline: max(var(--gutter), calc((100vw - var(--stub-wrap)) / 2)); scroll-padding-inline: max(var(--gutter), calc((100vw - var(--stub-wrap)) / 2)); scrollbar-width: thin; overscroll-behavior-x: contain; }
  @media (max-width: 599px) { .rail { grid-auto-columns: 68vw; gap: var(--space-3); } }
  .tpl-cap { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2); padding-inline: var(--space-1); }
  .tpl-cap h3 { font-size: var(--font-size-body); font-weight: var(--weight-semibold); letter-spacing: -0.02em; }
  .tpl-cap span { font-size: var(--font-size-caption); color: var(--color-text-muted); white-space: nowrap; }
  .tpl-card { scroll-snap-align: start; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-3); border-radius: var(--stub-radius-card); background: var(--stub-surface); border: 1px solid var(--stub-line); color: inherit; text-decoration: none; transition: transform 300ms var(--stub-spring), box-shadow var(--stub-dur) var(--stub-ease), border-color var(--stub-dur) var(--stub-ease); }
  a.tpl-card:hover { transform: translateY(-4px); box-shadow: var(--stub-shadow-lift); border-color: var(--stub-line-strong); color: inherit; }
  .tpl-art { display: grid; place-items: center; block-size: 280px; border-radius: 16px; background: var(--stub-paper-2); padding: var(--space-4); overflow: hidden; }
  .tpl-art svg { inline-size: 100%; block-size: 100%; filter: var(--stub-drop-sm); }
  .tpl-card h3 { font-size: var(--font-size-sub); }
  .tpl-card p { font-size: var(--font-size-small); color: var(--color-text-muted); max-inline-size: none; }
  .tpl-meta { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-block-start: auto; }
  .tpl-meta span { font-size: var(--font-size-caption); padding: 0.2em 0.7em; border-radius: var(--stub-radius-pill); background: var(--stub-paper-2); color: var(--stub-ink-2); }

  /* Marquee: one per page, decorative, paused for reduced motion */
  .marquee { overflow: hidden; padding-block: var(--space-6); border-block: 1px solid var(--stub-line); -webkit-mask-image: linear-gradient(90deg, transparent, var(--stub-ink) 8%, var(--stub-ink) 92%, transparent); mask-image: linear-gradient(90deg, transparent, var(--stub-ink) 8%, var(--stub-ink) 92%, transparent); }
  .marquee-track { display: flex; gap: var(--space-6); inline-size: max-content; font-size: var(--stub-section-title); font-weight: var(--weight-semibold); letter-spacing: -0.04em; color: var(--stub-ink); white-space: nowrap; }
  .marquee-track span:nth-child(3n+2) { color: var(--stub-ember); }
  .marquee-track span:nth-child(3n) { color: var(--stub-line-strong); }
  @media (prefers-reduced-motion: no-preference) { .marquee-track { animation: stub-marquee 48s linear infinite; } .marquee:hover .marquee-track { animation-play-state: paused; } }
  @keyframes stub-marquee { to { transform: translateX(-50%); } }

  /* Bento */
  .bento { display: grid; gap: var(--space-3); grid-template-columns: 1fr 1fr; }
  .bento > :nth-child(1), .bento > :nth-child(4) { grid-column: span 2; }
  @media (max-width: 899px) {
    .bento .tile { min-block-size: 0; padding: var(--space-5); gap: var(--space-1); }
    .bento .tile h3 { font-size: var(--font-size-lead); padding-inline-end: var(--space-7); }
    .bento .tile-art { margin-block-start: var(--space-4); }
    .bento > :nth-child(2) .tile-art, .bento > :nth-child(3) .tile-art { justify-content: center; }
    .bento .tile-go { inline-size: 32px; block-size: 32px; inset-block-start: var(--space-4); inset-inline-end: var(--space-4); }
  }
  @media (min-width: 900px) { .bento { grid-template-columns: repeat(12, 1fr); } .bento > :nth-child(1) { grid-column: span 7; } .bento > :nth-child(2) { grid-column: span 5; } .bento > :nth-child(3) { grid-column: span 5; } .bento > :nth-child(4) { grid-column: span 7; } }
  .tile { position: relative; display: flex; flex-direction: column; gap: var(--space-3); min-block-size: 340px; padding: var(--space-6); border-radius: var(--stub-radius-card); background: var(--stub-surface); border: 1px solid var(--stub-line); color: var(--stub-ink); text-decoration: none; overflow: hidden; transition: transform 300ms var(--stub-spring), box-shadow var(--stub-dur) var(--stub-ease); }
  a.tile:hover { transform: translateY(-4px); box-shadow: var(--stub-shadow-lift); color: var(--stub-ink); }
  .tile h3 { font-size: var(--font-size-heading); letter-spacing: -0.03em; }
  .tile p { color: var(--color-text-muted); font-size: var(--font-size-small); max-inline-size: 36ch; }
  .tile-ink { background: var(--stub-ink); border-color: var(--stub-ink); color: var(--stub-on-dark); }
  .tile-ink h3 { color: var(--stub-on-dark); } .tile-ink p { color: var(--stub-on-dark-muted); }
  a.tile-ink:hover { color: var(--stub-on-dark); }
  .tile-ember { background: var(--stub-ember); border-color: var(--stub-ember); }
  .tile-ember p { color: var(--stub-ink-2); }
  .tile-tint { background: var(--stub-paper-2); }
  .tile-art { margin-block-start: auto; display: flex; justify-content: flex-end; }
  .tile-ink .tile-art svg { inline-size: min(100%, 460px); }
  .tile-art svg { inline-size: min(100%, 380px); block-size: auto; filter: var(--stub-drop-md); transition: transform 400ms var(--stub-spring); }
  a.tile:hover .tile-art svg { transform: rotate(-2deg) translateY(-4px); }
  .tile-go { position: absolute; inset-block-start: var(--space-5); inset-inline-end: var(--space-5); display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: var(--stub-radius-pill); background: var(--stub-paper-2); color: var(--stub-ink); transition: transform 300ms var(--stub-spring); }
  .tile-ink .tile-go { background: var(--stub-ink-2); color: var(--stub-on-dark); }
  .tile-ember .tile-go { background: var(--stub-ink); color: var(--stub-on-dark); }
  a.tile:hover .tile-go { transform: rotate(-45deg); }

  /* Stickers: the label system as slightly tilted badges */
  .stickers { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
  .sticker { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-5); border-radius: var(--stub-radius-pill); font-size: var(--font-size-lead); font-weight: var(--weight-semibold); letter-spacing: -0.02em; border: 1px solid; transform: rotate(var(--r, 0deg)); transition: transform 300ms var(--stub-spring); }
  .sticker:hover { transform: rotate(0deg) scale(1.04); }
  .sticker small { font-size: var(--font-size-caption); font-weight: var(--weight-medium); opacity: 0.8; letter-spacing: 0; }
  .sticker.off { opacity: 0.5; text-decoration: line-through; text-decoration-thickness: 2px; }
  @media (max-width: 599px) { .sticker { font-size: var(--font-size-body); padding: var(--space-2) var(--space-4); } }

  /* Home: compact sections, label board, three facts, row heads */
  .section-snug { padding-block: var(--space-7); }
  @media (min-width: 900px) { .section-snug { padding-block: var(--space-8); } }
  .row-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-2) var(--space-4); }
  .label-board { padding: var(--space-6) var(--space-5); border-radius: var(--stub-radius-card); background: var(--stub-paper-2); }
  @media (min-width: 768px) { .label-board { padding: var(--space-8) var(--space-7); } }
  .board-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin-block-start: var(--space-6); font-size: var(--font-size-small); color: var(--color-text-muted); }
  .facts { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
  @media (min-width: 768px) { .facts { grid-template-columns: repeat(3, 1fr); } }
  .facts li { display: grid; grid-template-columns: auto 1fr; column-gap: var(--space-3); align-items: center; padding: var(--space-4) var(--space-5); border-radius: var(--stub-radius-card); background: var(--stub-surface); border: 1px solid var(--stub-line); }
  .facts .ph { grid-row: span 2; display: grid; place-items: center; inline-size: 44px; block-size: 44px; border-radius: var(--stub-radius-pill); background: var(--stub-ember-soft); color: var(--stub-ember-text); font-size: 1.2rem; }
  .facts strong { font-size: var(--font-size-body); font-weight: var(--weight-semibold); letter-spacing: -0.02em; color: var(--stub-ink); }
  .facts span { font-size: var(--font-size-small); color: var(--color-text-muted); }
  .soon { margin-block-start: var(--space-5); font-size: var(--font-size-small); line-height: 2; color: var(--color-text-muted); }
  .soon .status { margin-inline-end: var(--space-1); vertical-align: 0.1em; }

  /* Phone dock: the four tools one thumb away; hidden while typing and on pages with their own action bar */
  .dock { position: fixed; z-index: 45; inset-inline: 0; inset-block-end: calc(var(--space-3) + env(safe-area-inset-bottom, 0px)); display: flex; justify-content: center; pointer-events: none; }
  .dock nav { pointer-events: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-1); inline-size: min(100% - 2 * var(--space-3), 420px); padding: var(--space-1); border-radius: var(--stub-radius-pill); background: var(--stub-glass); border: 1px solid var(--stub-line); box-shadow: var(--stub-shadow-lift); -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px); }
  @media (prefers-reduced-transparency: reduce) { .dock nav { background: var(--stub-surface); -webkit-backdrop-filter: none; backdrop-filter: none; } }
  .dock a { display: grid; justify-items: center; gap: 2px; padding: var(--space-2) var(--space-1); border-radius: var(--stub-radius-pill); color: var(--stub-ink-2); text-decoration: none; font-size: var(--font-size-caption); font-weight: var(--weight-medium); letter-spacing: 0; line-height: 1.2; transition: background-color var(--stub-dur) var(--stub-ease), transform 160ms var(--stub-spring); }
  .dock a .ph { font-size: 1.25rem; }
  .dock a:active { transform: scale(0.94); }
  .dock a[aria-current="page"] { background: var(--stub-ink); color: var(--stub-on-dark); }
  @media (min-width: 1024px) { .dock { display: none; } }
  @media (max-width: 1023px) { body:not(:has(.actionbar)) { padding-block-end: calc(84px + env(safe-area-inset-bottom, 0px)); } }
  body:has(.actionbar) .dock, body:has(input:focus, textarea:focus, select:focus) .dock { display: none; }

  /* Legacy chooser kept for inner pages */
  .chooser { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
  @media (min-width: 700px) { .chooser { grid-template-columns: repeat(2, 1fr); } }
  .cell { position: relative; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--stub-radius-card); background: var(--color-surface); color: inherit; text-decoration: none; transition: transform 300ms var(--stub-spring), box-shadow var(--stub-dur) var(--stub-ease); }
  a.cell:hover { box-shadow: var(--stub-shadow-lift); transform: translateY(-3px); color: inherit; }
  .cell-tint { background: var(--stub-paper-2); }
  .cell-accent { background: var(--stub-ember-soft); border-color: var(--stub-ember-line); }
  .cell-amber { background: var(--stub-sun-soft); border-color: var(--stub-sun-line); }
  .cell h3 { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-sub); }
  .cell h3 .ph { color: var(--stub-ember); }
  .cell p { color: var(--color-text-muted); font-size: var(--font-size-small); max-inline-size: none; }
  .cell-foot { margin-block-start: auto; display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); font-size: var(--font-size-small); font-weight: var(--weight-medium); }

  /* Steps */
  .stepper { display: grid; gap: var(--space-3); counter-reset: step; }
  @media (min-width: 768px) { .stepper { grid-template-columns: repeat(var(--stub-steps, 4), 1fr); } }
  .stepper li { position: relative; padding: var(--space-5); padding-block-start: calc(var(--space-5) + 2.6rem); border-radius: var(--stub-radius-card); background: var(--color-surface); border: 1px solid var(--stub-line); counter-increment: step; }
  .stepper li::before { content: counter(step); position: absolute; inset-inline-start: var(--space-5); inset-block-start: var(--space-5); inline-size: 2rem; block-size: 2rem; display: grid; place-items: center; border-radius: var(--stub-radius-pill); background: var(--stub-ink); color: var(--stub-on-dark); font-size: var(--font-size-small); font-weight: var(--weight-semibold); }
  .stepper h3 { font-size: var(--font-size-body); font-weight: var(--weight-semibold); margin-block-end: var(--space-1); }
  .stepper p { font-size: var(--font-size-small); color: var(--color-text-muted); max-inline-size: none; }

  /* Paper preview */
  .sheet-wrap { display: grid; place-items: center; padding: var(--space-6) var(--space-4); background: var(--stub-paper-2); border-radius: var(--stub-radius-card); overflow: auto; }
  .sheet { position: relative; inline-size: 100%; max-inline-size: var(--stub-sheet-width); background: var(--color-surface); color: var(--stub-ink); border-radius: var(--stub-radius-sheet); box-shadow: var(--stub-shadow-art); overflow: hidden; }
  .sheet-art { background: transparent; box-shadow: none; overflow: visible; }
  .sheet-art svg { filter: var(--stub-drop-hero); }
  .sheet svg { inline-size: 100%; block-size: auto; }
  .sheet-doc { padding: 30px 32px; font-size: 11.5px; line-height: 1.45; }
  .sheet-doc h2 { font-size: 16px; letter-spacing: -0.01em; }
  .sheet-doc table th, .sheet-doc table td { padding: 5px 4px; font-size: 11px; }
  .sheet-doc thead th { font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-text-muted); }
  .sheet-wm { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; color: var(--stub-red-text); opacity: 0.14; font-size: 52px; font-weight: var(--weight-semibold); letter-spacing: 0.1em; transform: rotate(-24deg); text-transform: uppercase; }
  .sheet-note { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-block-start: 1px dashed var(--stub-line-strong); font-size: 10px; color: var(--color-text-muted); }
  .sheet-meta { display: grid; gap: var(--space-3); grid-template-columns: 1fr 1fr; margin-block-start: var(--space-4); font-size: var(--font-size-caption); color: var(--color-text-muted); }
  .sheet-meta dt { font-weight: var(--weight-medium); color: var(--stub-ink-2); }
  .sheet-meta dd { font-family: var(--font-mono); word-break: break-all; }

  /* Builder */
  .builder { display: grid; gap: var(--space-6); grid-template-columns: 1fr; align-items: start; }
  @media (min-width: 1000px) { .builder { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } .builder-preview { position: sticky; inset-block-start: calc(var(--stub-nav-height) + var(--space-6)); } }
  .builder-form { display: grid; gap: var(--space-4); }
  .builder-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-block-end: var(--space-5); }
  .builder-head h2 { font-size: var(--font-size-heading); letter-spacing: -0.03em; }
  .panel { padding: var(--space-6); border-radius: var(--stub-radius-card); background: var(--color-surface); border: 1px solid var(--stub-line); }
  .panel h2, .panel h3 { font-size: var(--font-size-sub); letter-spacing: -0.02em; margin-block-end: var(--space-4); }
  .panel-tint { background: var(--stub-paper-2); border-color: transparent; }

  /* Fields: label above, help below, error below help */
  .field { display: grid; gap: var(--space-2); }
  .field label, .field legend { font-size: var(--font-size-small); font-weight: var(--weight-medium); color: var(--stub-ink-2); }
  .field .help { font-size: var(--font-size-caption); color: var(--color-text-muted); max-inline-size: none; }
  .field .error, .error { font-size: var(--font-size-caption); color: var(--stub-red-text); }
  .error:empty { display: none; }
  .input, .select, .textarea { inline-size: 100%; min-block-size: 48px; padding: var(--space-2) var(--space-4); border: 1px solid var(--stub-line-strong); border-radius: var(--stub-radius-pill); background: var(--stub-surface); color: var(--stub-ink); transition: border-color var(--stub-dur) var(--stub-ease), box-shadow var(--stub-dur) var(--stub-ease); }
  .input::placeholder, .textarea::placeholder { color: var(--stub-subtle); }
  .input:hover, .select:hover, .textarea:hover { border-color: var(--stub-muted); }
  .input:focus-visible, .select:focus-visible, .textarea:focus-visible { outline: 2px solid transparent; border-color: var(--stub-ink); box-shadow: var(--stub-ring); }
  .input[readonly], .textarea[readonly], .input:disabled, .select:disabled, .textarea:disabled { background: var(--stub-paper-2); color: var(--stub-ink-2); }
  .textarea { min-block-size: 104px; resize: vertical; border-radius: var(--stub-radius-field); padding-block: var(--space-3); }
  .select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%232a2a27'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right var(--space-4) center; background-size: 1rem; padding-inline-end: var(--space-7); }
  .row { display: grid; gap: var(--space-3); grid-template-columns: 1fr; align-items: start; }
  @media (min-width: 560px) { .row { grid-template-columns: 1fr 1fr; } .row-3 { grid-template-columns: 1.1fr 1fr 1fr; } .row-inline { grid-template-columns: 1fr auto; } }
  .check { display: flex; gap: var(--space-3); align-items: flex-start; font-size: var(--font-size-small); color: var(--stub-ink-2); }
  .check input { inline-size: 1.15rem; block-size: 1.15rem; margin-block-start: 0.15rem; accent-color: var(--stub-ink); flex: none; }
  .radio-group { display: grid; gap: var(--space-2); }
  .radio-card { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--stub-radius-field); background: var(--color-surface); cursor: pointer; }
  .radio-card:has(input:checked) { border-color: var(--stub-ink); box-shadow: var(--stub-ring); }
  .radio-card input { accent-color: var(--stub-ink); margin-block-start: 0.2rem; }
  .radio-card strong { display: block; font-weight: var(--weight-medium); }
  .radio-card span { font-size: var(--font-size-caption); color: var(--color-text-muted); }
  .swatches { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .swatch { position: relative; inline-size: 40px; block-size: 40px; border-radius: var(--stub-radius-pill); border: 1px solid var(--stub-line-strong); cursor: pointer; background: var(--swatch); transition: transform 200ms var(--stub-spring); }
  .swatch:hover { transform: scale(1.08); }
  .swatch input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
  .swatch:has(input:checked) { box-shadow: 0 0 0 3px var(--stub-paper), 0 0 0 5px var(--stub-ink); }
  .swatch:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 4px; }
  .lines { display: grid; gap: var(--space-2); }
  .line { display: grid; gap: var(--space-2); grid-template-columns: minmax(0, 3fr) 64px 96px 36px; align-items: center; }
  .line .input { min-block-size: 40px; padding-block: var(--space-1); padding-inline: var(--space-3); }
  .line .icon-btn { inline-size: 36px; block-size: 36px; }
  .totals { display: grid; gap: var(--space-1); justify-items: end; margin-block-start: var(--space-3); font-variant-numeric: tabular-nums; }
  .totals div { display: flex; gap: var(--space-5); }
  .totals strong { font-weight: var(--weight-semibold); font-size: var(--font-size-lead); }
  .toolbar { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
  .toolbar .spacer { flex: 1; }
  .form-status { font-size: var(--font-size-small); display: flex; align-items: center; gap: var(--space-2); }
  .form-status[data-state="ok"] { color: var(--stub-green-text); }
  .form-status[data-state="error"] { color: var(--stub-red-text); }
  .form-status[data-state="queued"] { color: var(--stub-sun-text); }

  /* Keepsake maker, phone first: the canvas sticks at the top while you type, tabs keep the form one
     screen tall, and the action bar sits under the thumb. On wide screens the stage becomes a sticky column. */
  .maker { padding-block: var(--space-3) var(--space-7); }
  .maker-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); align-items: start; }
  .maker-stage { display: contents; }
  .maker-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
  .maker-head h1 { font-size: var(--font-size-heading); letter-spacing: -0.03em; line-height: 1.1; }
  .maker-head .toolbar { flex-wrap: nowrap; }
  .icon-btn-line { border-color: var(--stub-line-strong); background: var(--stub-surface); }
  .icon-btn-line:hover { border-color: var(--stub-ink); background: var(--stub-surface); }
  .icon-btn[disabled] { opacity: 0.4; cursor: not-allowed; }
  .maker-canvas { position: sticky; inset-block-start: var(--space-2); z-index: 5; display: grid; place-items: center; block-size: clamp(200px, calc((100vw - 2 * var(--gutter) - 2 * var(--space-4)) / var(--ar, 1) + 2 * var(--space-4)), 46svh); padding: var(--space-4); border-radius: var(--stub-radius-card); background-color: var(--stub-paper-2); background-image: radial-gradient(var(--stub-line-strong) 1px, transparent 1.2px); background-size: 18px 18px; box-shadow: var(--stub-shadow-card); transition: block-size 260ms var(--stub-ease); overflow: hidden; }
  .maker-canvas .deck-sticker { inset-block-end: var(--space-3); inset-inline-end: var(--space-3); }
  .maker-art { position: absolute; inset: var(--space-4); display: grid; place-items: center; }
  .maker-art svg { inline-size: 100%; block-size: 100%; filter: var(--stub-drop-hero); }
  @media (prefers-reduced-motion: no-preference) { .maker-art.is-pop svg { animation: stub-deal 420ms var(--stub-spring); } }
  .maker .tpl-info { margin: 0; justify-content: center; }
  .flip-btn[hidden] { display: none; }
  .maker-form { display: grid; gap: var(--space-4); min-inline-size: 0; }
  .big-field { display: grid; gap: var(--space-1); padding: var(--space-3) var(--space-5); border-radius: var(--stub-radius-card); background: var(--stub-surface); border: 1px solid var(--stub-line-strong); transition: border-color var(--stub-dur) var(--stub-ease), box-shadow var(--stub-dur) var(--stub-ease); }
  .big-field:focus-within { border-color: var(--stub-ink); box-shadow: var(--stub-ring); }
  .big-field label { font-size: var(--font-size-caption); font-weight: var(--weight-medium); color: var(--color-text-muted); }
  .big-field input { inline-size: 100%; border: 0; background: transparent; padding: 0; font-size: var(--font-size-heading); font-weight: var(--weight-semibold); letter-spacing: -0.03em; color: var(--stub-ink); }
  .big-field input:focus-visible { outline: 2px solid transparent; }
  .big-field input::placeholder { color: var(--stub-line-strong); }
  .seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-1); padding: var(--space-1); border-radius: var(--stub-radius-pill); background: var(--stub-paper-2); }
  .seg-tab { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-block-size: 44px; border: 0; border-radius: var(--stub-radius-pill); background: transparent; color: var(--stub-ink-2); font-weight: var(--weight-medium); font-size: var(--font-size-small); cursor: pointer; transition: background-color var(--stub-dur) var(--stub-ease), color var(--stub-dur) var(--stub-ease); }
  .seg-tab[aria-selected="true"] { background: var(--stub-surface); color: var(--stub-ink); box-shadow: var(--stub-shadow-card); }
  .seg-panel { display: grid; gap: var(--space-4); }
  .seg-4 { grid-template-columns: repeat(4, 1fr); }
  @media (max-width: 400px) { .seg-4 .seg-tab .ph { display: none; } }
  .canvas-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-2) var(--space-3); }
  .flip-btn { display: inline-flex; align-items: center; gap: var(--space-1); min-block-size: 36px; padding: 0 var(--space-3); border-radius: var(--stub-radius-pill); border: 1px solid var(--stub-line-strong); background: var(--stub-surface); color: var(--stub-ink); font-size: var(--font-size-small); font-weight: var(--weight-medium); cursor: pointer; box-shadow: var(--stub-shadow-card); }
  .flip-btn[aria-pressed="true"] { background: var(--stub-ink); border-color: var(--stub-ink); color: var(--stub-on-dark); }
  @media (prefers-reduced-motion: no-preference) { .maker-art.is-flip svg, .sheet-art.is-badge svg { animation: stub-flip 420ms var(--stub-ease); } }
  @keyframes stub-flip { 0% { transform: perspective(900px) rotateY(-90deg); opacity: 0.4; } 100% { transform: none; opacity: 1; } }
  .received h2 { font-size: var(--font-size-title); letter-spacing: -0.035em; }
  .contact-links { display: grid; gap: var(--space-2); margin-block-start: var(--space-4); }
  .contact-links a { display: grid; grid-template-columns: 3.25rem 1fr auto; align-items: center; gap: var(--space-2); min-block-size: 48px; padding: var(--space-2) var(--space-4); border-radius: var(--stub-radius-pill); border: 1px solid var(--stub-line); background: var(--stub-surface); color: var(--stub-ink); text-decoration: none; font-weight: var(--weight-medium); overflow-wrap: anywhere; }
  .contact-links a:hover { border-color: var(--stub-ink); color: var(--stub-ink); }
  .contact-tag { font-size: var(--font-size-caption); font-weight: var(--weight-semibold); letter-spacing: 0.06em; color: var(--color-text-muted); }
  .contact-about { color: var(--stub-ink-2); margin-block-end: var(--space-2); }
  .card-intro { display: grid; gap: var(--space-1); padding: var(--space-4) var(--space-5); border-radius: var(--stub-radius-field); background: var(--stub-ember-soft); color: var(--stub-ink-2); font-size: var(--font-size-small); }
  .card-intro strong { color: var(--stub-ink); font-size: var(--font-size-body); letter-spacing: -0.01em; }
  .switch { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-block-size: 48px; padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4); border-radius: var(--stub-radius-pill); background: var(--stub-surface); border: 1px solid var(--stub-line-strong); font-weight: var(--weight-medium); cursor: pointer; }
  .switch span { order: -1; }
  .switch input { appearance: none; -webkit-appearance: none; position: relative; flex: none; inline-size: 52px; block-size: 32px; margin: 0; border-radius: var(--stub-radius-pill); background: var(--stub-line-strong); cursor: pointer; transition: background-color var(--stub-dur) var(--stub-ease); }
  .switch input::before { content: ""; position: absolute; inset-block-start: 3px; inset-inline-start: 3px; inline-size: 26px; block-size: 26px; border-radius: 50%; background: var(--stub-surface); box-shadow: var(--stub-shadow-card); transition: transform 240ms var(--stub-spring); }
  .switch input:checked { background: var(--stub-ember); }
  .switch input:checked::before { transform: translateX(20px); }
  .switch input:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
  @media (forced-colors: active) { .switch input { border: 1px solid CanvasText; } .switch input::before { background: CanvasText; } }
  .seg-panel[hidden] { display: none; }
  .style-rail { display: flex; gap: var(--space-2); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding: var(--space-1) var(--gutter); }
  .style-rail::-webkit-scrollbar { display: none; }
  @media (min-width: 1000px) { .style-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; margin-inline: 0; padding-inline: 0; } }
  .style-opt { position: relative; flex: none; display: grid; gap: var(--space-1); justify-items: center; inline-size: 92px; padding: var(--space-2); border-radius: 18px; border: 1px solid var(--stub-line); background: var(--stub-surface); cursor: pointer; scroll-snap-align: center; transition: border-color var(--stub-dur) var(--stub-ease), transform 200ms var(--stub-spring); }
  @media (min-width: 1000px) { .style-opt { inline-size: auto; min-inline-size: 0; } }
  .style-opt:hover { border-color: var(--stub-ink); }
  .style-opt:active { transform: scale(0.96); }
  .style-opt input { position: absolute; opacity: 0; pointer-events: none; }
  .style-opt:has(input:checked) { border-color: var(--stub-ink); box-shadow: 0 0 0 1px var(--stub-ink); }
  .style-opt:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 2px; }
  .style-thumb { display: grid; place-items: center; inline-size: 100%; block-size: 64px; }
  .style-thumb svg { inline-size: 100%; block-size: 100%; }
  .style-name { font-size: var(--font-size-caption); font-weight: var(--weight-medium); color: var(--stub-ink-2); }
  .pal-row { display: flex; align-items: center; gap: var(--space-4); flex-wrap: wrap; }
  .mini-label { font-size: var(--font-size-caption); font-weight: var(--weight-medium); color: var(--color-text-muted); float: left; }
  .row-3-always { grid-template-columns: 1fr 1fr 1fr; }
  .mini-details summary { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; font-size: var(--font-size-small); color: var(--color-text-muted); }
  .actionbar { display: flex; align-items: center; gap: var(--space-2); }
  .actionbar .btn-primary { flex: 1; }
  .toast { position: fixed; z-index: 60; inset-inline: 0; margin-inline: auto; inset-block-end: calc(96px + env(safe-area-inset-bottom, 0px)); inline-size: max-content; max-inline-size: calc(100% - 2 * var(--gutter)); padding: var(--space-2) var(--space-4); border-radius: var(--stub-radius-pill); background: var(--stub-ink); color: var(--stub-on-dark); font-size: var(--font-size-small); box-shadow: var(--stub-shadow-lift); }
  @media (max-width: 999px) {
    body:has(.maker) .site-nav { position: relative; }
    .actionbar { position: fixed; z-index: 45; inset-inline: var(--space-3); inset-block-end: calc(var(--space-3) + env(safe-area-inset-bottom, 0px)); padding: var(--space-2); border-radius: var(--stub-radius-pill); background: var(--stub-glass); border: 1px solid var(--stub-line); box-shadow: var(--stub-shadow-lift); -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px); }
    body:has(.actionbar) { padding-block-end: calc(88px + env(safe-area-inset-bottom, 0px)); }
    .maker:has(.maker-form :focus) .maker-canvas { block-size: 168px; }
    .maker:has(.maker-form :focus) .actionbar { display: none; }
  }
  @media (prefers-reduced-transparency: reduce) { .actionbar { background: var(--stub-surface); -webkit-backdrop-filter: none; backdrop-filter: none; } }
  @media (min-width: 1000px) {
    .maker { padding-block: var(--space-6) var(--space-8); }
    .maker-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); }
    .maker-stage { display: grid; gap: var(--space-4); position: sticky; inset-block-start: calc(var(--stub-nav-height) + var(--space-6)); }
    .maker-head h1 { font-size: var(--font-size-title); }
    .maker-canvas { position: relative; inset-block-start: auto; block-size: min(62vh, 600px); }
    .toast { position: static; inline-size: auto; justify-self: center; }
  }

  /* Collapsible field groups */
  .group { border-radius: var(--stub-radius-card); background: var(--stub-surface); border: 1px solid var(--stub-line); }
  .group > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) var(--space-5); cursor: pointer; list-style: none; font-weight: var(--weight-semibold); letter-spacing: -0.015em; }
  .group > summary::-webkit-details-marker { display: none; }
  .group > summary small { font-weight: var(--weight-regular); color: var(--color-text-muted); font-size: var(--font-size-small); margin-inline-start: var(--space-2); }
  .group > summary .ph { transition: transform var(--stub-dur) var(--stub-ease); }
  .group[open] > summary .ph { transform: rotate(180deg); }
  .group-body { display: grid; gap: var(--space-4); padding: 0 var(--space-5) var(--space-5); }

  /* Template picker (builder) */
  .tpl-pick { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
  @media (min-width: 560px) { .tpl-pick { grid-template-columns: repeat(4, 1fr); } }
  .tpl-opt { position: relative; display: grid; gap: var(--space-1); justify-items: center; padding: var(--space-2); border-radius: 16px; border: 1px solid var(--stub-line); background: var(--stub-surface); cursor: pointer; font-size: var(--font-size-caption); font-weight: var(--weight-medium); color: var(--stub-ink-2); text-align: center; transition: border-color var(--stub-dur) var(--stub-ease), transform 200ms var(--stub-spring); }
  .tpl-opt:hover { border-color: var(--stub-ink); transform: translateY(-2px); }
  .tpl-opt input { position: absolute; opacity: 0; pointer-events: none; }
  .tpl-opt:has(input:checked) { border-color: var(--stub-ink); box-shadow: 0 0 0 1px var(--stub-ink); color: var(--stub-ink); }
  .tpl-opt:has(input:focus-visible) { outline: 2px solid var(--color-focus); outline-offset: 2px; }
  .tpl-thumb { inline-size: 100%; block-size: 46px; display: grid; place-items: center; }
  .tpl-thumb svg { inline-size: 100%; block-size: 46px; }
  .tpl-info { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-block-start: var(--space-4); font-size: var(--font-size-small); color: var(--color-text-muted); }
  .tpl-info strong { color: var(--stub-ink); font-weight: var(--weight-semibold); }
  .tpl-info span { padding: 0.15em 0.7em; border-radius: var(--stub-radius-pill); background: var(--stub-surface); border: 1px solid var(--stub-line); font-size: var(--font-size-caption); color: var(--stub-ink-2); }
  .stars { display: inline-flex; gap: var(--space-1); }
  .stars label { cursor: pointer; font-size: 1.5rem; line-height: 1; color: var(--stub-line-strong); transition: transform 160ms var(--stub-spring), color var(--stub-dur); }
  .stars label:hover { transform: scale(1.15); }
  .stars input { position: absolute; opacity: 0; pointer-events: none; }
  .stars label.on { color: var(--stub-ember); }
  .stars input:focus-visible + label { outline: 2px solid var(--color-focus); outline-offset: 2px; border-radius: 4px; }

  /* Ledger rows */
  .ledger { display: grid; gap: var(--space-2); }
  .ledger-row { display: grid; gap: var(--space-3); grid-template-columns: auto 1fr auto; align-items: center; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--stub-radius-field); background: var(--color-surface); }
  .ledger-row > .ph { display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: var(--stub-radius-pill); background: var(--stub-paper-2); font-size: 1.1rem; color: var(--stub-ink); padding: 0; mask-size: 50%; -webkit-mask-size: 50%; }
  .ledger-row .t-caption { color: var(--color-text-muted); }
  .empty { padding: var(--space-7) var(--space-5); text-align: center; border: 1.5px dashed var(--stub-line-strong); border-radius: var(--stub-radius-card); color: var(--color-text-muted); }
  .empty strong { display: block; color: var(--stub-ink); margin-block-end: var(--space-2); font-size: var(--font-size-lead); letter-spacing: -0.02em; }

  /* Badge pair, Bring-a-friend board, invite steps (ADR-STUB-03) */
  .badge-pair { display: grid; gap: var(--space-4); justify-items: center; inline-size: 100%; }
  .lb { display: grid; gap: var(--space-2); }
  .lb-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-radius: var(--stub-radius-field); background: var(--stub-surface); border: 1px solid var(--stub-line); }
  .lb-bar { block-size: 6px; margin-block: var(--space-2) var(--space-1); border-radius: var(--stub-radius-pill); background: var(--stub-paper-3); overflow: hidden; }
  .lb-bar span { display: block; block-size: 100%; border-radius: inherit; background: var(--stub-ember); }
  .inv-event { font-size: var(--font-size-title); letter-spacing: -0.035em; line-height: 1.05; }
  .inv-steps { display: grid; gap: var(--space-3); counter-reset: inv; }
  .inv-steps li { display: grid; grid-template-columns: 2rem 1fr; column-gap: var(--space-3); counter-increment: inv; font-size: var(--font-size-small); color: var(--stub-ink-2); }
  .inv-steps li::before { content: counter(inv); grid-row: span 2; display: grid; place-items: center; inline-size: 2rem; block-size: 2rem; border-radius: var(--stub-radius-pill); background: var(--stub-ink); color: var(--stub-on-dark); font-weight: var(--weight-semibold); }
  .inv-steps strong { color: var(--stub-ink); font-size: var(--font-size-body); }

  /* Scan result */
  .scan-result { padding: var(--space-5); border-radius: var(--stub-radius-field); background: var(--stub-paper-2); display: grid; gap: var(--space-2); }
  .scan-result[data-result="accepted"] { background: var(--stub-green-soft); }
  .scan-result[data-result="accepted"] .scan-title { color: var(--stub-green-text); }
  .scan-result[data-result="rejected"] { background: var(--stub-red-soft); }
  .scan-result[data-result="rejected"] .scan-title { color: var(--stub-red-text); }
  .scan-title { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-heading); font-weight: var(--weight-semibold); letter-spacing: -0.03em; }
  .scan-reason { font-family: var(--font-mono); font-size: var(--font-size-caption); }

  /* Pricing */
  .price-grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
  @media (min-width: 768px) { .price-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1100px) { .price-grid { grid-template-columns: repeat(4, 1fr); } }
  .price { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); border-radius: var(--stub-radius-card); background: var(--color-surface); border: 1px solid var(--stub-line); }
  .price h3 { font-size: var(--font-size-body); font-weight: var(--weight-semibold); }
  .price .amount { font-size: var(--font-size-title); font-weight: var(--weight-semibold); letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
  .price .amount small { display: block; margin-block-start: var(--space-1); font-size: var(--font-size-small); font-weight: var(--weight-regular); color: var(--color-text-muted); letter-spacing: 0; }
  .price ul { display: grid; gap: var(--space-2); font-size: var(--font-size-small); color: var(--stub-ink-2); }
  .price li { display: flex; gap: var(--space-2); align-items: flex-start; }
  .price li .ph { color: var(--stub-ember); margin-block-start: 0.2em; }
  .price-foot { margin-block-start: auto; padding-block-start: var(--space-3); }

  /* Tables, FAQ, compare */
  .trust-table th:first-child { inline-size: 12rem; }
  @media (max-width: 639px) {
    .trust-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
    .trust-table, .trust-table tbody, .trust-table tr, .trust-table td { display: block; inline-size: auto; }
    .trust-table tr { padding-block: var(--space-4); border-block-end: 1px solid var(--color-border); }
    .trust-table td { padding: var(--space-1) 0; border: 0; }
  }
  .faq details { border-block-end: 1px solid var(--color-border); }
  .faq summary { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding-block: var(--space-5); cursor: pointer; list-style: none; font-weight: var(--weight-medium); font-size: var(--font-size-lead); letter-spacing: -0.015em; }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after { content: "+"; display: grid; place-items: center; flex: none; inline-size: 32px; block-size: 32px; border-radius: var(--stub-radius-pill); background: var(--stub-paper-2); font-size: var(--font-size-sub); color: var(--stub-ink); transition: transform var(--stub-dur) var(--stub-ease); }
  .faq details[open] summary::after { transform: rotate(45deg); }
  .faq details p { padding-block-end: var(--space-5); color: var(--stub-ink-2); max-inline-size: 64ch; }
  .faq details p + p { margin-block-start: calc(-1 * var(--space-3)); }
  .compare { display: grid; }
  .compare-row { display: grid; gap: var(--space-2); grid-template-columns: 1fr; padding: var(--space-4) 0; border-block-end: 1px solid var(--color-border); }
  @media (min-width: 768px) { .compare-row { grid-template-columns: 1fr 1fr 1fr; gap: var(--space-4); } }
  .compare-row .no { color: var(--color-text-muted); }
  .compare-row .yes { color: var(--stub-ink); font-weight: var(--weight-medium); }
  .compare-row .yes .ph { color: var(--stub-ember); }
  .compare-head { font-size: var(--font-size-caption); color: var(--color-text-muted); }

  /* Gated block */
  .gate { display: grid; gap: var(--space-5); padding: var(--space-6); border-radius: var(--stub-radius-card); background: var(--stub-surface); border: 1px solid var(--stub-line); }
  .gate h2 { font-size: var(--font-size-heading); letter-spacing: -0.03em; }
  .gate ol { display: grid; gap: var(--space-3); counter-reset: g; }
  .gate ol li { display: grid; grid-template-columns: 2rem 1fr; gap: var(--space-2); counter-increment: g; font-size: var(--font-size-small); color: var(--stub-ink-2); }
  .gate ol li::before { content: counter(g); display: grid; place-items: center; inline-size: 1.6rem; block-size: 1.6rem; border-radius: var(--stub-radius-pill); background: var(--stub-paper-2); font-size: var(--font-size-caption); font-weight: var(--weight-semibold); color: var(--stub-ink); }

  /* Later list (gated products on home) */
  .later { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
  @media (min-width: 768px) { .later { grid-template-columns: 1fr 1fr; } }
  .later a { display: grid; grid-template-columns: auto 1fr auto; gap: var(--space-4); align-items: center; padding: var(--space-5); border-radius: var(--stub-radius-card); border: 1.5px dashed var(--stub-line-strong); color: var(--stub-ink); text-decoration: none; transition: border-color var(--stub-dur) var(--stub-ease); }
  .later a:hover { border-color: var(--stub-ink); color: var(--stub-ink); }
  .later .ph-lock-key { font-size: 1.3rem; }
  .later strong { display: block; font-size: var(--font-size-lead); letter-spacing: -0.02em; }
  .later span { font-size: var(--font-size-small); color: var(--color-text-muted); }

  /* Calibration sheet */
  .calib { position: relative; aspect-ratio: 8.5 / 11; inline-size: 100%; max-inline-size: 380px; margin-inline: auto; border-radius: var(--stub-radius-sheet); background: var(--color-surface); box-shadow: var(--stub-shadow-art); overflow: hidden; }
  .calib svg { inline-size: 100%; block-size: 100%; }

  .notice { padding: var(--space-3) 0; font-size: var(--font-size-small); color: var(--stub-ink-2); background: var(--stub-paper-2); }
  .notice .wrap { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); align-items: center; }
}

@layer utilities {
  .t-muted { color: var(--color-text-muted); }
  .t-subtle { color: var(--color-text-subtle); }
  .t-ink { color: var(--stub-ink); }
  .t-ember { color: var(--stub-ember); }
  .t-mono { font-family: var(--font-mono); }
  .t-center { text-align: center; }
  .mt-2 { margin-block-start: var(--space-2); } .mt-3 { margin-block-start: var(--space-3); } .mt-4 { margin-block-start: var(--space-4); } .mt-5 { margin-block-start: var(--space-5); } .mt-6 { margin-block-start: var(--space-6); } .mt-7 { margin-block-start: var(--space-7); }
  .mb-3 { margin-block-end: var(--space-3); } .mb-4 { margin-block-end: var(--space-4); } .mb-5 { margin-block-end: var(--space-5); } .mb-6 { margin-block-end: var(--space-6); }
  .measure { max-inline-size: var(--measure); }
  .vh { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .hidden, [hidden] { display: none !important; }
  .reveal { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: no-preference) {
    .reveal { opacity: 0; transform: translateY(16px); transition: opacity 700ms var(--stub-ease), transform 700ms var(--stub-ease); transition-delay: calc(var(--i, 0) * 70ms); }
    .reveal.is-in { opacity: 1; transform: none; }
  }
}

@layer print {
  @media print {
    @page { margin: 12mm; }
    body { background: var(--color-surface); color: var(--stub-ink); }
    .site-nav, .site-footer, .notice, .builder-form, .builder-head, .toolbar, .skip, .no-print, .mobile-dialog, .sheet-note, .sheet-meta, .tpl-info, .dock, .actionbar, .toast { display: none !important; }
    .builder { display: block; }
    .builder > .builder-preview { display: block !important; }
    .builder-seg { display: none !important; }
    .builder-preview { position: static; }
    .sheet-wrap { padding: 0; border: 0; background: none; display: block; }
    .sheet { box-shadow: none; max-inline-size: none; border-radius: 0; }
    .sheet-art svg { filter: none; }
    a { color: inherit; text-decoration: none; }
    .print-2up .print-page, .print-4up .print-page { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
    .print-page { break-inside: avoid; }
    .print-flow { display: flex; flex-wrap: wrap; gap: 6mm; align-items: flex-start; }
    .print-item { break-inside: avoid; }
    .print-item svg { max-inline-size: 100%; }
    body.print-area-active main > *:not(:has(.print-area)), body.print-area-active main .wrap > *:not(.print-area) { display: none !important; }
    body.print-area-active .print-area { display: block !important; }
    body.print-calib main > *:not(.calib-section) { display: none !important; }
    body.print-calib .calib-section > .wrap > *:not(.calib-keep) { display: none !important; }
    body.print-calib .calib { max-inline-size: none; border: 0; box-shadow: none; }
  }
  .print-only { display: none; }
  .print-area { display: none; }
}

/* Phosphor Icons (regular), MIT License, Copyright (c) 2023 Phosphor Icons, https://phosphoricons.com
   Self-hosted as CSS masks: <i class="ph ph-NAME" aria-hidden="true"></i>. Source: @phosphor-icons/core 2.1.1. */
.ph{display:inline-block;inline-size:1em;block-size:1em;flex:none;vertical-align:-0.125em;background-color:currentColor;-webkit-mask:var(--ph) center/contain no-repeat;mask:var(--ph) center/contain no-repeat}
.ph-arrow-right{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E")}
.ph-arrow-up-right{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z'/%3E%3C/svg%3E")}
.ph-arrow-left{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E")}
.ph-check{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E")}
.ph-check-circle{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E")}
.ph-warning-circle{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z'/%3E%3C/svg%3E")}
.ph-warning{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z'/%3E%3C/svg%3E")}
.ph-x{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z'/%3E%3C/svg%3E")}
.ph-x-circle{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M165.66,101.66,139.31,128l26.35,26.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E")}
.ph-list{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM40,72H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z'/%3E%3C/svg%3E")}
.ph-copy{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z'/%3E%3C/svg%3E")}
.ph-file-text{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Zm-32-80a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,136Zm0,32a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,168Z'/%3E%3C/svg%3E")}
.ph-file-pdf{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,152a8,8,0,0,1-8,8H192v16h16a8,8,0,0,1,0,16H192v16a8,8,0,0,1-16,0V152a8,8,0,0,1,8-8h32A8,8,0,0,1,224,152ZM92,172a28,28,0,0,1-28,28H56v8a8,8,0,0,1-16,0V152a8,8,0,0,1,8-8H64A28,28,0,0,1,92,172Zm-16,0a12,12,0,0,0-12-12H56v24h8A12,12,0,0,0,76,172Zm88,8a36,36,0,0,1-36,36H112a8,8,0,0,1-8-8V152a8,8,0,0,1,8-8h16A36,36,0,0,1,164,180Zm-16,0a20,20,0,0,0-20-20h-8v40h8A20,20,0,0,0,148,180ZM40,112V40A16,16,0,0,1,56,24h96a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88v24a8,8,0,0,1-16,0V96H152a8,8,0,0,1-8-8V40H56v72a8,8,0,0,1-16,0ZM160,80h28.69L160,51.31Z'/%3E%3C/svg%3E")}
.ph-lock-key{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z'/%3E%3C/svg%3E")}
.ph-question{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M140,180a12,12,0,1,1-12-12A12,12,0,0,1,140,180ZM128,72c-22.06,0-40,16.15-40,36v4a8,8,0,0,0,16,0v-4c0-11,10.77-20,24-20s24,9,24,20-10.77,20-24,20a8,8,0,0,0-8,8v8a8,8,0,0,0,16,0v-.72c18.24-3.35,32-17.9,32-35.28C168,88.15,150.06,72,128,72Zm104,56A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E")}
.ph-shield-check{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M208,40H48A16,16,0,0,0,32,56v56c0,52.72,25.52,84.67,46.93,102.19,23.06,18.86,46,25.26,47,25.53a8,8,0,0,0,4.2,0c1-.27,23.91-6.67,47-25.53C198.48,196.67,224,164.72,224,112V56A16,16,0,0,0,208,40Zm0,72c0,37.07-13.66,67.16-40.6,89.42A129.3,129.3,0,0,1,128,223.62a128.25,128.25,0,0,1-38.92-21.81C61.82,179.51,48,149.3,48,112l0-56,160,0ZM82.34,141.66a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32l-56,56a8,8,0,0,1-11.32,0Z'/%3E%3C/svg%3E")}
.ph-seal-check{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M225.86,102.82c-3.77-3.94-7.67-8-9.14-11.57-1.36-3.27-1.44-8.69-1.52-13.94-.15-9.76-.31-20.82-8-28.51s-18.75-7.85-28.51-8c-5.25-.08-10.67-.16-13.94-1.52-3.56-1.47-7.63-5.37-11.57-9.14C146.28,23.51,138.44,16,128,16s-18.27,7.51-25.18,14.14c-3.94,3.77-8,7.67-11.57,9.14C88,40.64,82.56,40.72,77.31,40.8c-9.76.15-20.82.31-28.51,8S41,67.55,40.8,77.31c-.08,5.25-.16,10.67-1.52,13.94-1.47,3.56-5.37,7.63-9.14,11.57C23.51,109.72,16,117.56,16,128s7.51,18.27,14.14,25.18c3.77,3.94,7.67,8,9.14,11.57,1.36,3.27,1.44,8.69,1.52,13.94.15,9.76.31,20.82,8,28.51s18.75,7.85,28.51,8c5.25.08,10.67.16,13.94,1.52,3.56,1.47,7.63,5.37,11.57,9.14C109.72,232.49,117.56,240,128,240s18.27-7.51,25.18-14.14c3.94-3.77,8-7.67,11.57-9.14,3.27-1.36,8.69-1.44,13.94-1.52,9.76-.15,20.82-.31,28.51-8s7.85-18.75,8-28.51c.08-5.25.16-10.67,1.52-13.94,1.47-3.56,5.37-7.63,9.14-11.57C232.49,146.28,240,138.44,240,128S232.49,109.73,225.86,102.82Zm-11.55,39.29c-4.79,5-9.75,10.17-12.38,16.52-2.52,6.1-2.63,13.07-2.73,19.82-.1,7-.21,14.33-3.32,17.43s-10.39,3.22-17.43,3.32c-6.75.1-13.72.21-19.82,2.73-6.35,2.63-11.52,7.59-16.52,12.38S132,224,128,224s-9.15-4.92-14.11-9.69-10.17-9.75-16.52-12.38c-6.1-2.52-13.07-2.63-19.82-2.73-7-.1-14.33-.21-17.43-3.32s-3.22-10.39-3.32-17.43c-.1-6.75-.21-13.72-2.73-19.82-2.63-6.35-7.59-11.52-12.38-16.52S32,132,32,128s4.92-9.15,9.69-14.11,9.75-10.17,12.38-16.52c2.52-6.1,2.63-13.07,2.73-19.82.1-7,.21-14.33,3.32-17.43S70.51,56.9,77.55,56.8c6.75-.1,13.72-.21,19.82-2.73,6.35-2.63,11.52-7.59,16.52-12.38S124,32,128,32s9.15,4.92,14.11,9.69,10.17,9.75,16.52,12.38c6.1,2.52,13.07,2.63,19.82,2.73,7,.1,14.33.21,17.43,3.32s3.22,10.39,3.32,17.43c.1,6.75.21,13.72,2.73,19.82,2.63,6.35,7.59,11.52,12.38,16.52S224,124,224,128,219.08,137.15,214.31,142.11ZM173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34Z'/%3E%3C/svg%3E")}
.ph-plus{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E")}
.ph-minus{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128Z'/%3E%3C/svg%3E")}
.ph-magnifying-glass{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z'/%3E%3C/svg%3E")}
.ph-caret-right{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z'/%3E%3C/svg%3E")}
.ph-caret-down{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E")}
.ph-printer{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M214.67,72H200V40a8,8,0,0,0-8-8H64a8,8,0,0,0-8,8V72H41.33C27.36,72,16,82.77,16,96v80a8,8,0,0,0,8,8H56v32a8,8,0,0,0,8,8H192a8,8,0,0,0,8-8V184h32a8,8,0,0,0,8-8V96C240,82.77,228.64,72,214.67,72ZM72,48H184V72H72ZM184,208H72V160H184Zm40-40H200V152a8,8,0,0,0-8-8H64a8,8,0,0,0-8,8v16H32V96c0-4.41,4.19-8,9.33-8H214.67c5.14,0,9.33,3.59,9.33,8Zm-24-52a12,12,0,1,1-12-12A12,12,0,0,1,200,116Z'/%3E%3C/svg%3E")}
.ph-ticket{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M232,104a8,8,0,0,0,8-8V64a16,16,0,0,0-16-16H32A16,16,0,0,0,16,64V96a8,8,0,0,0,8,8,24,24,0,0,1,0,48,8,8,0,0,0-8,8v32a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V160a8,8,0,0,0-8-8,24,24,0,0,1,0-48ZM32,167.2a40,40,0,0,0,0-78.4V64H88V192H32Zm192,0V192H104V64H224V88.8a40,40,0,0,0,0,78.4Z'/%3E%3C/svg%3E")}
.ph-receipt{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M72,104a8,8,0,0,1,8-8h96a8,8,0,0,1,0,16H80A8,8,0,0,1,72,104Zm8,40h96a8,8,0,0,0,0-16H80a8,8,0,0,0,0,16ZM232,56V208a8,8,0,0,1-11.58,7.15L192,200.94l-28.42,14.21a8,8,0,0,1-7.16,0L128,200.94,99.58,215.15a8,8,0,0,1-7.16,0L64,200.94,35.58,215.15A8,8,0,0,1,24,208V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Zm-16,0H40V195.06l20.42-10.22a8,8,0,0,1,7.16,0L96,199.06l28.42-14.22a8,8,0,0,1,7.16,0L160,199.06l28.42-14.22a8,8,0,0,1,7.16,0L216,195.06Z'/%3E%3C/svg%3E")}
.ph-download-simple{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,144v64a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V144a8,8,0,0,1,16,0v56H208V144a8,8,0,0,1,16,0Zm-101.66,5.66a8,8,0,0,0,11.32,0l40-40a8,8,0,0,0-11.32-11.32L136,124.69V32a8,8,0,0,0-16,0v92.69L93.66,98.34a8,8,0,0,0-11.32,11.32Z'/%3E%3C/svg%3E")}
.ph-eye{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z'/%3E%3C/svg%3E")}
.ph-invoice{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M28,128a8,8,0,0,1,0-16H56a8,8,0,0,0,0-16H40a24,24,0,0,1,0-48,8,8,0,0,1,16,0h8a8,8,0,0,1,0,16H40a8,8,0,0,0,0,16H56a24,24,0,0,1,0,48,8,8,0,0,1-16,0ZM232,56V192a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V152a8,8,0,0,1,16,0v40H160V160H80a8,8,0,0,1,0-16h80V112H104a8,8,0,0,1,0-16H216V64H96a8,8,0,0,1,0-16H224A8,8,0,0,1,232,56Zm-56,88h40V112H176Zm40,48V160H176v32Z'/%3E%3C/svg%3E")}
.ph-money{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,88a40,40,0,1,0,40,40A40,40,0,0,0,128,88Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,152ZM240,56H16a8,8,0,0,0-8,8V192a8,8,0,0,0,8,8H240a8,8,0,0,0,8-8V64A8,8,0,0,0,240,56ZM193.65,184H62.35A56.78,56.78,0,0,0,24,145.65v-35.3A56.78,56.78,0,0,0,62.35,72h131.3A56.78,56.78,0,0,0,232,110.35v35.3A56.78,56.78,0,0,0,193.65,184ZM232,93.37A40.81,40.81,0,0,1,210.63,72H232ZM45.37,72A40.81,40.81,0,0,1,24,93.37V72ZM24,162.63A40.81,40.81,0,0,1,45.37,184H24ZM210.63,184A40.81,40.81,0,0,1,232,162.63V184Z'/%3E%3C/svg%3E")}
.ph-hash{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,88H175.4l8.47-46.57a8,8,0,0,0-15.74-2.86l-9,49.43H111.4l8.47-46.57a8,8,0,0,0-15.74-2.86L95.14,88H48a8,8,0,0,0,0,16H92.23L83.5,152H32a8,8,0,0,0,0,16H80.6l-8.47,46.57a8,8,0,0,0,6.44,9.3A7.79,7.79,0,0,0,80,224a8,8,0,0,0,7.86-6.57l9-49.43H144.6l-8.47,46.57a8,8,0,0,0,6.44,9.3A7.79,7.79,0,0,0,144,224a8,8,0,0,0,7.86-6.57l9-49.43H208a8,8,0,0,0,0-16H163.77l8.73-48H224a8,8,0,0,0,0-16Zm-76.5,64H99.77l8.73-48h47.73Z'/%3E%3C/svg%3E")}
.ph-clock{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z'/%3E%3C/svg%3E")}
.ph-calendar-blank{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Z'/%3E%3C/svg%3E")}
.ph-users-three{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M244.8,150.4a8,8,0,0,1-11.2-1.6A51.6,51.6,0,0,0,192,128a8,8,0,0,1-7.37-4.89,8,8,0,0,1,0-6.22A8,8,0,0,1,192,112a24,24,0,1,0-23.24-30,8,8,0,1,1-15.5-4A40,40,0,1,1,219,117.51a67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,244.8,150.4ZM190.92,212a8,8,0,1,1-13.84,8,57,57,0,0,0-98.16,0,8,8,0,1,1-13.84-8,72.06,72.06,0,0,1,33.74-29.92,48,48,0,1,1,58.36,0A72.06,72.06,0,0,1,190.92,212ZM128,176a32,32,0,1,0-32-32A32,32,0,0,0,128,176ZM72,120a8,8,0,0,0-8-8A24,24,0,1,1,87.24,82a8,8,0,1,0,15.5-4A40,40,0,1,0,37,117.51,67.94,67.94,0,0,0,9.6,139.19a8,8,0,1,0,12.8,9.61A51.6,51.6,0,0,1,64,128,8,8,0,0,0,72,120Z'/%3E%3C/svg%3E")}
.ph-buildings{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M240,208H224V96a16,16,0,0,0-16-16H144V32a16,16,0,0,0-24.88-13.32L39.12,72A16,16,0,0,0,32,85.34V208H16a8,8,0,0,0,0,16H240a8,8,0,0,0,0-16ZM208,96V208H144V96ZM48,85.34,128,32V208H48ZM112,112v16a8,8,0,0,1-16,0V112a8,8,0,1,1,16,0Zm-32,0v16a8,8,0,0,1-16,0V112a8,8,0,1,1,16,0Zm0,56v16a8,8,0,0,1-16,0V168a8,8,0,0,1,16,0Zm32,0v16a8,8,0,0,1-16,0V168a8,8,0,0,1,16,0Z'/%3E%3C/svg%3E")}
.ph-qr-code{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm0,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48ZM200,40H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-64,72V144a8,8,0,0,1,16,0v32a8,8,0,0,1-16,0Zm80-16a8,8,0,0,1-8,8H184v40a8,8,0,0,1-8,8H144a8,8,0,0,1,0-16h24V144a8,8,0,0,1,16,0v8h24A8,8,0,0,1,216,160Zm0,32v16a8,8,0,0,1-16,0V192a8,8,0,0,1,16,0Z'/%3E%3C/svg%3E")}
.ph-scan{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,40V80a8,8,0,0,1-16,0V48H176a8,8,0,0,1,0-16h40A8,8,0,0,1,224,40ZM80,208H48V176a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H80a8,8,0,0,0,0-16Zm136-40a8,8,0,0,0-8,8v32H176a8,8,0,0,0,0,16h40a8,8,0,0,0,8-8V176A8,8,0,0,0,216,168ZM40,88a8,8,0,0,0,8-8V48H80a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8V80A8,8,0,0,0,40,88ZM80,72h96a8,8,0,0,1,8,8v96a8,8,0,0,1-8,8H80a8,8,0,0,1-8-8V80A8,8,0,0,1,80,72Zm8,96h80V88H88Z'/%3E%3C/svg%3E")}
.ph-pencil-simple{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z'/%3E%3C/svg%3E")}
.ph-trash{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z'/%3E%3C/svg%3E")}
.ph-arrow-counter-clockwise{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z'/%3E%3C/svg%3E")}
.ph-prohibit{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm88,104a87.56,87.56,0,0,1-20.41,56.28L71.72,60.4A88,88,0,0,1,216,128ZM40,128A87.56,87.56,0,0,1,60.41,71.72L184.28,195.6A88,88,0,0,1,40,128Z'/%3E%3C/svg%3E")}
.ph-info{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z'/%3E%3C/svg%3E")}
.ph-envelope-simple{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM203.43,64,128,133.15,52.57,64ZM216,192H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z'/%3E%3C/svg%3E")}
.ph-arrows-left-right{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M213.66,181.66l-32,32a8,8,0,0,1-11.32-11.32L188.69,184H48a8,8,0,0,1,0-16H188.69l-18.35-18.34a8,8,0,0,1,11.32-11.32l32,32A8,8,0,0,1,213.66,181.66Zm-139.32-64a8,8,0,0,0,11.32-11.32L67.31,88H208a8,8,0,0,0,0-16H67.31L85.66,53.66A8,8,0,0,0,74.34,42.34l-32,32a8,8,0,0,0,0,11.32Z'/%3E%3C/svg%3E")}
.ph-storefront{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M232,96a7.89,7.89,0,0,0-.3-2.2L217.35,43.6A16.07,16.07,0,0,0,202,32H54A16.07,16.07,0,0,0,38.65,43.6L24.31,93.8A7.89,7.89,0,0,0,24,96h0v16a40,40,0,0,0,16,32v72a8,8,0,0,0,8,8H208a8,8,0,0,0,8-8V144a40,40,0,0,0,16-32V96ZM54,48H202l11.42,40H42.61Zm50,56h48v8a24,24,0,0,1-48,0Zm-16,0v8a24,24,0,0,1-35.12,21.26,7.88,7.88,0,0,0-1.82-1.06A24,24,0,0,1,40,112v-8ZM200,208H56V151.2a40.57,40.57,0,0,0,8,.8,40,40,0,0,0,32-16,40,40,0,0,0,64,0,40,40,0,0,0,32,16,40.57,40.57,0,0,0,8-.8Zm4.93-75.8a8.08,8.08,0,0,0-1.8,1.05A24,24,0,0,1,168,112v-8h48v8A24,24,0,0,1,204.93,132.2Z'/%3E%3C/svg%3E")}
.ph-confetti{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26Zm-8.33,135.21-35-35,13.16-36.21,58.05,58.05Zm-55,20,14-38.41,24.45,24.45ZM156,168.64,87.36,100l13-35.87,91.43,91.43ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z'/%3E%3C/svg%3E")}
.ph-bank{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M24,104H48v64H32a8,8,0,0,0,0,16H224a8,8,0,0,0,0-16H208V104h24a8,8,0,0,0,4.19-14.81l-104-64a8,8,0,0,0-8.38,0l-104,64A8,8,0,0,0,24,104Zm40,0H96v64H64Zm80,0v64H112V104Zm48,64H160V104h32ZM128,41.39,203.74,88H52.26ZM248,208a8,8,0,0,1-8,8H16a8,8,0,0,1,0-16H240A8,8,0,0,1,248,208Z'/%3E%3C/svg%3E")}
.ph-stamp{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M224,224a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,224Zm0-80v40a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V144a16,16,0,0,1,16-16h56.43L88.72,54.71A32,32,0,0,1,120,16h16a32,32,0,0,1,31.29,38.71L151.57,128H208A16,16,0,0,1,224,144ZM120.79,128h14.42l16.43-76.65A16,16,0,0,0,136,32H120a16,16,0,0,0-15.65,19.35ZM208,184V144H48v40H208Z'/%3E%3C/svg%3E")}
.ph-floppy-disk{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M219.31,72,184,36.69A15.86,15.86,0,0,0,172.69,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V83.31A15.86,15.86,0,0,0,219.31,72ZM168,208H88V152h80Zm40,0H184V152a16,16,0,0,0-16-16H88a16,16,0,0,0-16,16v56H48V48H172.69L208,83.31ZM160,72a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h56A8,8,0,0,1,160,72Z'/%3E%3C/svg%3E")}
.ph-scales{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M239.43,133l-32-80h0a8,8,0,0,0-9.16-4.84L136,62V40a8,8,0,0,0-16,0V65.58L54.26,80.19A8,8,0,0,0,48.57,85h0v.06L16.57,165a7.92,7.92,0,0,0-.57,3c0,23.31,24.54,32,40,32s40-8.69,40-32a7.92,7.92,0,0,0-.57-3L66.92,93.77,120,82V208H104a8,8,0,0,0,0,16h48a8,8,0,0,0,0-16H136V78.42L187,67.1,160.57,133a7.92,7.92,0,0,0-.57,3c0,23.31,24.54,32,40,32s40-8.69,40-32A7.92,7.92,0,0,0,239.43,133ZM56,184c-7.53,0-22.76-3.61-23.93-14.64L56,109.54l23.93,59.82C78.76,180.39,63.53,184,56,184Zm144-32c-7.53,0-22.76-3.61-23.93-14.64L200,77.54l23.93,59.82C222.76,148.39,207.53,152,200,152Z'/%3E%3C/svg%3E")}
.ph-hand-coins{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M230.33,141.06a24.43,24.43,0,0,0-21.24-4.23l-41.84,9.62A28,28,0,0,0,140,112H89.94a31.82,31.82,0,0,0-22.63,9.37L44.69,144H16A16,16,0,0,0,0,160v40a16,16,0,0,0,16,16H120a7.93,7.93,0,0,0,1.94-.24l64-16a6.94,6.94,0,0,0,1.19-.4L226,182.82l.44-.2a24.6,24.6,0,0,0,3.93-41.56ZM16,160H40v40H16Zm203.43,8.21-38,16.18L119,200H56V155.31l22.63-22.62A15.86,15.86,0,0,1,89.94,128H140a12,12,0,0,1,0,24H112a8,8,0,0,0,0,16h32a8.32,8.32,0,0,0,1.79-.2l67-15.41.31-.08a8.6,8.6,0,0,1,6.3,15.9ZM164,96a36,36,0,0,0,5.9-.48,36,36,0,1,0,28.22-47A36,36,0,1,0,164,96Zm60-12a20,20,0,1,1-20-20A20,20,0,0,1,224,84ZM164,40a20,20,0,0,1,19.25,14.61,36,36,0,0,0-15,24.93A20.42,20.42,0,0,1,164,80a20,20,0,0,1,0-40Z'/%3E%3C/svg%3E")}
.ph-handshake{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M254.3,107.91,228.78,56.85a16,16,0,0,0-21.47-7.15L182.44,62.13,130.05,48.27a8.14,8.14,0,0,0-4.1,0L73.56,62.13,48.69,49.7a16,16,0,0,0-21.47,7.15L1.7,107.9a16,16,0,0,0,7.15,21.47l27,13.51,55.49,39.63a8.06,8.06,0,0,0,2.71,1.25l64,16a8,8,0,0,0,7.6-2.1l55.07-55.08,26.42-13.21a16,16,0,0,0,7.15-21.46Zm-54.89,33.37L165,113.72a8,8,0,0,0-10.68.61C136.51,132.27,116.66,130,104,122L147.24,80h31.81l27.21,54.41ZM41.53,64,62,74.22,36.43,125.27,16,115.06Zm116,119.13L99.42,168.61l-49.2-35.14,28-56L128,64.28l9.8,2.59-45,43.68-.08.09a16,16,0,0,0,2.72,24.81c20.56,13.13,45.37,11,64.91-5L188,152.66Zm62-57.87-25.52-51L214.47,64,240,115.06Zm-87.75,92.67a8,8,0,0,1-7.75,6.06,8.13,8.13,0,0,1-1.95-.24L80.41,213.33a7.89,7.89,0,0,1-2.71-1.25L51.35,193.26a8,8,0,0,1,9.3-13l25.11,17.94L126,208.24A8,8,0,0,1,131.82,217.94Z'/%3E%3C/svg%3E")}
.ph-package{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M223.68,66.15,135.68,18a15.88,15.88,0,0,0-15.36,0l-88,48.17a16,16,0,0,0-8.32,14v95.64a16,16,0,0,0,8.32,14l88,48.17a15.88,15.88,0,0,0,15.36,0l88-48.17a16,16,0,0,0,8.32-14V80.18A16,16,0,0,0,223.68,66.15ZM128,32l80.34,44-29.77,16.3-80.35-44ZM128,120,47.66,76l33.9-18.56,80.34,44ZM40,90l80,43.78v85.79L40,175.82Zm176,85.78h0l-80,43.79V133.82l32-17.51V152a8,8,0,0,0,16,0V107.55L216,90v85.77Z'/%3E%3C/svg%3E")}
.ph-link{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z'/%3E%3C/svg%3E")}
.ph-paper-plane-tilt{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M227.32,28.68a16,16,0,0,0-15.66-4.08l-.15,0L19.57,82.84a16,16,0,0,0-2.49,29.8L102,154l41.3,84.87A15.86,15.86,0,0,0,157.74,248q.69,0,1.38-.06a15.88,15.88,0,0,0,14-11.51l58.2-191.94c0-.05,0-.1,0-.15A16,16,0,0,0,227.32,28.68ZM157.83,231.85l-.05.14,0-.07-40.06-82.3,48-48a8,8,0,0,0-11.31-11.31l-48,48L24.08,98.25l-.07,0,.14,0L216,40Z'/%3E%3C/svg%3E")}
.ph-ruler{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M235.32,73.37,182.63,20.69a16,16,0,0,0-22.63,0L20.68,160a16,16,0,0,0,0,22.63l52.69,52.68a16,16,0,0,0,22.63,0L235.32,96A16,16,0,0,0,235.32,73.37ZM84.68,224,32,171.31l32-32,26.34,26.35a8,8,0,0,0,11.32-11.32L75.31,128,96,107.31l26.34,26.35a8,8,0,0,0,11.32-11.32L107.31,96,128,75.31l26.34,26.35a8,8,0,0,0,11.32-11.32L139.31,64l32-32L224,84.69Z'/%3E%3C/svg%3E")}
.ph-identification-card{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M200,112a8,8,0,0,1-8,8H152a8,8,0,0,1,0-16h40A8,8,0,0,1,200,112Zm-8,24H152a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm40-80V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Zm-80.26-34a8,8,0,1,1-15.5,4c-2.63-10.26-13.06-18-24.25-18s-21.61,7.74-24.25,18a8,8,0,1,1-15.5-4,39.84,39.84,0,0,1,17.19-23.34,32,32,0,1,1,45.12,0A39.76,39.76,0,0,1,135.75,166ZM96,136a16,16,0,1,0-16-16A16,16,0,0,0,96,136Z'/%3E%3C/svg%3E")}
.ph-gift{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M216,72H180.92c.39-.33.79-.65,1.17-1A29.53,29.53,0,0,0,192,49.57,32.62,32.62,0,0,0,158.44,16,29.53,29.53,0,0,0,137,25.91a54.94,54.94,0,0,0-9,14.48,54.94,54.94,0,0,0-9-14.48A29.53,29.53,0,0,0,97.56,16,32.62,32.62,0,0,0,64,49.57,29.53,29.53,0,0,0,73.91,71c.38.33.78.65,1.17,1H40A16,16,0,0,0,24,88v32a16,16,0,0,0,16,16v64a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V136a16,16,0,0,0,16-16V88A16,16,0,0,0,216,72ZM149,36.51a13.69,13.69,0,0,1,10-4.5h.49A16.62,16.62,0,0,1,176,49.08a13.69,13.69,0,0,1-4.5,10c-9.49,8.4-25.24,11.36-35,12.4C137.7,60.89,141,45.5,149,36.51Zm-64.09.36A16.63,16.63,0,0,1,96.59,32h.49a13.69,13.69,0,0,1,10,4.5c8.39,9.48,11.35,25.2,12.39,34.92-9.72-1-25.44-4-34.92-12.39a13.69,13.69,0,0,1-4.5-10A16.6,16.6,0,0,1,84.87,36.87ZM40,88h80v32H40Zm16,48h64v64H56Zm144,64H136V136h64Zm16-80H136V88h80v32Z'/%3E%3C/svg%3E")}
.ph-image{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,16V158.75l-26.07-26.06a16,16,0,0,0-22.63,0l-20,20-44-44a16,16,0,0,0-22.62,0L40,149.37V56ZM40,172l52-52,80,80H40Zm176,28H194.63l-36-36,20-20L216,181.38V200ZM144,100a12,12,0,1,1,12,12A12,12,0,0,1,144,100Z'/%3E%3C/svg%3E")}
.ph-note-pencil{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z'/%3E%3C/svg%3E")}
.ph-sparkle{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z'/%3E%3C/svg%3E")}
.ph-lightning{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M215.79,118.17a8,8,0,0,0-5-5.66L153.18,90.9l14.66-73.33a8,8,0,0,0-13.69-7l-112,120a8,8,0,0,0,3,13l57.63,21.61L88.16,238.43a8,8,0,0,0,13.69,7l112-120A8,8,0,0,0,215.79,118.17ZM109.37,214l10.47-52.38a8,8,0,0,0-5-9.06L62,132.71l84.62-90.66L136.16,94.43a8,8,0,0,0,5,9.06l52.8,19.8Z'/%3E%3C/svg%3E")}
.ph-arrow-down{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M205.66,149.66l-72,72a8,8,0,0,1-11.32,0l-72-72a8,8,0,0,1,11.32-11.32L120,196.69V40a8,8,0,0,1,16,0V196.69l58.34-58.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E")}
.ph-shuffle{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M237.66,178.34a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32-11.32L212.69,192H200.94a72.12,72.12,0,0,1-58.59-30.15l-41.72-58.4A56.1,56.1,0,0,0,55.06,80H32a8,8,0,0,1,0-16H55.06a72.12,72.12,0,0,1,58.59,30.15l41.72,58.4A56.1,56.1,0,0,0,200.94,176h11.75l-10.35-10.34a8,8,0,0,1,11.32-11.32ZM143,107a8,8,0,0,0,11.16-1.86l1.2-1.67A56.1,56.1,0,0,1,200.94,80h11.75L202.34,90.34a8,8,0,0,0,11.32,11.32l24-24a8,8,0,0,0,0-11.32l-24-24a8,8,0,0,0-11.32,11.32L212.69,64H200.94a72.12,72.12,0,0,0-58.59,30.15l-1.2,1.67A8,8,0,0,0,143,107Zm-30,42a8,8,0,0,0-11.16,1.86l-1.2,1.67A56.1,56.1,0,0,1,55.06,176H32a8,8,0,0,0,0,16H55.06a72.12,72.12,0,0,0,58.59-30.15l1.2-1.67A8,8,0,0,0,113,149Z'/%3E%3C/svg%3E")}
.ph-share-network{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M176,160a39.89,39.89,0,0,0-28.62,12.09l-46.1-29.63a39.8,39.8,0,0,0,0-28.92l46.1-29.63a40,40,0,1,0-8.66-13.45l-46.1,29.63a40,40,0,1,0,0,55.82l46.1,29.63A40,40,0,1,0,176,160Zm0-128a24,24,0,1,1-24,24A24,24,0,0,1,176,32ZM64,152a24,24,0,1,1,24-24A24,24,0,0,1,64,152Zm112,72a24,24,0,1,1,24-24A24,24,0,0,1,176,224Z'/%3E%3C/svg%3E")}
.ph-image-square{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM48,48H208v77.38l-24.69-24.7a16,16,0,0,0-22.62,0L53.37,208H48ZM208,208H76l96-96,36,36v60ZM96,120A24,24,0,1,0,72,96,24,24,0,0,0,96,120Zm0-32a8,8,0,1,1-8,8A8,8,0,0,1,96,88Z'/%3E%3C/svg%3E")}
.ph-music-notes{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M212.92,17.69a8,8,0,0,0-6.86-1.45l-128,32A8,8,0,0,0,72,56V166.08A36,36,0,1,0,88,196V110.25l112-28v51.83A36,36,0,1,0,216,164V24A8,8,0,0,0,212.92,17.69ZM52,216a20,20,0,1,1,20-20A20,20,0,0,1,52,216ZM88,93.75V62.25l112-28v31.5ZM180,184a20,20,0,1,1,20-20A20,20,0,0,1,180,184Z'/%3E%3C/svg%3E")}
.ph-users{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M117.25,157.92a60,60,0,1,0-66.5,0A95.83,95.83,0,0,0,3.53,195.63a8,8,0,1,0,13.4,8.74,80,80,0,0,1,134.14,0,8,8,0,0,0,13.4-8.74A95.83,95.83,0,0,0,117.25,157.92ZM40,108a44,44,0,1,1,44,44A44.05,44.05,0,0,1,40,108Zm210.14,98.7a8,8,0,0,1-11.07-2.33A79.83,79.83,0,0,0,172,168a8,8,0,0,1,0-16,44,44,0,1,0-16.34-84.87,8,8,0,1,1-5.94-14.85,60,60,0,0,1,55.53,105.64,95.83,95.83,0,0,1,47.22,37.71A8,8,0,0,1,250.14,206.7Z'/%3E%3C/svg%3E")}
.ph-star{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z'/%3E%3C/svg%3E")}
.ph-crown{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M248,80a28,28,0,1,0-51.12,15.77l-26.79,33L146,73.4a28,28,0,1,0-36.06,0L85.91,128.74l-26.79-33a28,28,0,1,0-26.6,12L47,194.63A16,16,0,0,0,62.78,208H193.22A16,16,0,0,0,209,194.63l14.47-86.85A28,28,0,0,0,248,80ZM128,40a12,12,0,1,1-12,12A12,12,0,0,1,128,40ZM24,80A12,12,0,1,1,36,92,12,12,0,0,1,24,80ZM193.22,192H62.78L48.86,108.52,81.79,149A8,8,0,0,0,88,152a7.83,7.83,0,0,0,1.08-.07,8,8,0,0,0,6.26-4.74l29.3-67.4a27,27,0,0,0,6.72,0l29.3,67.4a8,8,0,0,0,6.26,4.74A7.83,7.83,0,0,0,168,152a8,8,0,0,0,6.21-3l32.93-40.52ZM220,92a12,12,0,1,1,12-12A12,12,0,0,1,220,92Z'/%3E%3C/svg%3E")}
.ph-ticket{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M232,104a8,8,0,0,0,8-8V64a16,16,0,0,0-16-16H32A16,16,0,0,0,16,64V96a8,8,0,0,0,8,8,24,24,0,0,1,0,48,8,8,0,0,0-8,8v32a16,16,0,0,0,16,16H224a16,16,0,0,0,16-16V160a8,8,0,0,0-8-8,24,24,0,0,1,0-48ZM32,167.2a40,40,0,0,0,0-78.4V64H88V192H32Zm192,0V192H104V64H224V88.8a40,40,0,0,0,0,78.4Z'/%3E%3C/svg%3E")}
.ph-confetti{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='currentColor'%3E%3Cpath d='M111.49,52.63a15.8,15.8,0,0,0-26,5.77L33,202.78A15.83,15.83,0,0,0,47.76,224a16,16,0,0,0,5.46-1l144.37-52.5a15.8,15.8,0,0,0,5.78-26Zm-8.33,135.21-35-35,13.16-36.21,58.05,58.05Zm-55,20,14-38.41,24.45,24.45ZM156,168.64,87.36,100l13-35.87,91.43,91.43ZM160,72a37.8,37.8,0,0,1,3.84-15.58C169.14,45.83,179.14,40,192,40c6.7,0,11-2.29,13.65-7.21A22,22,0,0,0,208,23.94,8,8,0,0,1,224,24c0,12.86-8.52,32-32,32-6.7,0-11,2.29-13.65,7.21A22,22,0,0,0,176,72.06,8,8,0,0,1,160,72ZM136,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm101.66,82.34a8,8,0,1,1-11.32,11.31l-16-16a8,8,0,0,1,11.32-11.32Zm4.87-42.75-24,8a8,8,0,0,1-5.06-15.18l24-8a8,8,0,0,1,5.06,15.18Z'/%3E%3C/svg%3E")}
