/* /assets/design-tokens.css */
/* Design Tokens - Auto-generated */
/* Do not edit directly - modify tokens.json instead */

/* === PRIMITIVES === */
:root {
  --primitive-color-ink: #141414;
  --primitive-color-ink-raised: #1D1D1C;
  --primitive-color-ink-line: #2E2E2C;
  --primitive-color-cream: #F4F1E8;
  --primitive-color-cream-mute: #A9A69D;
  --primitive-color-paper: #EDEDEA;
  --primitive-color-paper-deep: #DCDCD7;
  --primitive-color-paper-ink: #56564F;
  --primitive-color-white: #FFFFFF;
  --primitive-color-butter: #FFF3BF;
  --primitive-color-olive: #3B3422;
  --primitive-color-lavender: #8374F3;
  --primitive-color-lavender-deep: #5B4BE0;
  --primitive-color-lime: #D6FF3A;
  --primitive-color-lime-press: #C1EC1F;
  --primitive-color-pink: #FF3EC8;
  --primitive-color-blue: #4B5CFF;
  --primitive-color-green: #2E9E5B;
  --primitive-color-up: #5BE38A;
  --primitive-color-down: #FF6B86;
  --primitive-font-family: 'Mona Sans', ui-sans-serif, system-ui, sans-serif;
  --primitive-radius-sticker: 10px;
  --primitive-radius-card: 16px;
  --primitive-radius-stage: 28px;
  --primitive-radius-pill: 999px;
  --primitive-space-1: 4px;
  --primitive-space-2: 8px;
  --primitive-space-3: 12px;
  --primitive-space-4: 16px;
  --primitive-space-5: 24px;
  --primitive-space-6: 32px;
  --primitive-space-7: 48px;
  --primitive-space-8: 72px;
  --primitive-space-9: 112px;
  --primitive-space-10: 160px;
  --primitive-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --primitive-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --primitive-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --primitive-duration-press: 140ms;
  --primitive-duration-ui: 220ms;
  --primitive-duration-reveal: 620ms;
  --primitive-duration-burst: 900ms;
}

/* === SEMANTIC === */
:root {
  --color-static-bg: #EDEDEA;
  --color-static-fg: #141414;
  --color-static-mute: #56564F;
  --color-shot-bg: #141414;
  --color-shot-raised: #1D1D1C;
  --color-shot-line: #2E2E2C;
  --color-shot-fg: #F4F1E8;
  --color-shot-mute: #A9A69D;
  --color-stage-bg: #FFF3BF;
  --color-stage-fg: #3B3422;
  --color-voice: #8374F3;
  --color-action: #D6FF3A;
  --color-action-press: #C1EC1F;
  --color-on-action: #141414;
  --color-copy-flag: #FF3EC8;
  --color-original-flag: #D6FF3A;
  --color-info: #4B5CFF;
  --color-up: #5BE38A;
  --color-down: #FF6B86;
}

/* === COMPONENTS === */
:root {
  --pill-bg: #FFFFFF;
  --pill-fg: #141414;
  --pill-radius: 999px;
  --button-bg: #D6FF3A;
  --button-bg-press: #C1EC1F;
  --button-fg: #141414;
  --button-radius: 999px;
  --card-bg: #1D1D1C;
  --card-line: #2E2E2C;
  --card-radius: 16px;
  --burst-layer-1: #4B5CFF;
  --burst-layer-2: #FF3EC8;
  --burst-layer-3: #2E9E5B;
  --burst-layer-4: #D6FF3A;
}

/* /assets/css/site.css */
/* CtrlPons. Consumes assets/design-tokens.css (generated from design-tokens.json). */

/* Mona Sans, self-hosted: Latin only, width axis 100 to 120 and weight 500 to 900, the ranges the site uses */
@font-face{font-family:"Mona Sans";src:url(/assets/fonts/mona-sans-up.woff2) format("woff2");font-style:normal;font-weight:500 900;font-stretch:100% 120%;font-display:swap}
@font-face{font-family:"Mona Sans";src:url(/assets/fonts/mona-sans-it.woff2) format("woff2");font-style:italic;font-weight:500 900;font-stretch:100% 120%;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--primitive-font-family);font-weight:520;font-stretch:100%;font-size:16px;line-height:1.5;color:var(--color-shot-fg);background:var(--color-shot-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01" 0}
img,svg,canvas{display:block;max-width:100%}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a{color:inherit}
:root{--focus:var(--color-action);--gutter:clamp(16px,4vw,48px);--maxw:1280px;--ease-out:var(--primitive-ease-out);--ease-io:var(--primitive-ease-in-out);--nav-h:72px}
::selection{background:var(--color-action);color:var(--color-on-action)}
*{scrollbar-width:thin;scrollbar-color:#3a3a37 transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#3a3a37;border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:12px}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:calc(var(--maxw) + var(--gutter)*2);margin:0 auto;padding-inline:var(--gutter)}

/* ---------- type ---------- */
.display{font-weight:900;font-stretch:118%;font-style:italic;line-height:.92;letter-spacing:-.03em;text-wrap:balance;margin:0;padding-bottom:.06em}
.display--xl{font-size:clamp(46px,6.2vw,96px)}
.display--lg{font-size:clamp(38px,4.8vw,76px)}
.display--md{font-size:clamp(30px,3.2vw,48px)}
.voice{font-weight:820;font-stretch:104%;letter-spacing:-.02em;line-height:1;color:var(--color-voice)}
.lede{font-size:clamp(17px,1.4vw,20px);line-height:1.45;font-weight:520;max-width:44ch;margin:0;text-wrap:pretty}
.quip{font-weight:800;font-stretch:100%;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.02em;line-height:1}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:40;display:flex;align-items:center;color:var(--nav-fg,var(--color-shot-fg));transition:color 260ms var(--ease-out)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav[data-on="paper"]{--nav-fg:var(--color-static-fg);--focus:var(--color-static-fg)}
.wordmark{font-weight:900;font-stretch:120%;font-style:italic;font-size:23px;letter-spacing:-.03em;text-decoration:none;line-height:1}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-link{font-weight:680;font-stretch:104%;font-size:15px;text-decoration:none;opacity:.86;transition:opacity 180ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.nav-link:hover{opacity:1}}
@media (max-width:640px){.nav-link{display:none}}

/* ---------- buttons ---------- */
.btn{--h:52px;display:inline-flex;align-items:center;gap:14px;height:var(--h);padding:0 7px 0 22px;border-radius:var(--button-radius);font-weight:760;font-stretch:106%;font-size:16px;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;transition:transform 160ms var(--ease-out),background-color 200ms var(--ease-out);will-change:transform}
.btn .knob{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;transition:transform 260ms var(--ease-out)}
.btn .knob i{font-size:18px}
.btn--go{background:var(--button-bg);color:var(--button-fg)}
.btn--go .knob{background:var(--button-fg);color:var(--button-bg)}
.btn--ghost{padding:0 22px;background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 28%,transparent)}
.btn--sm{--h:44px;font-size:15px;padding-left:18px}
.btn--sm .knob{width:32px;height:32px}
.btn--ghost.btn--sm{padding:0 18px}
.btn:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
  .btn--go:hover{transform:rotate(-2deg)}
  .btn--go:hover .knob{transform:translate(2px,-2px) rotate(2deg) scale(1.06)}
  .btn--ghost:hover{box-shadow:inset 0 0 0 1.5px currentColor}
  .btn:active{transform:scale(.97)}
}

/* ---------- the pill (reel search bar) ---------- */
.pill{--pill-h:64px;position:relative;display:flex;align-items:center;gap:14px;height:var(--pill-h);width:min(560px,100%);padding:0 12px 0 12px;border-radius:var(--pill-radius);background:var(--pill-bg);color:var(--pill-fg);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 22px 44px -22px rgba(20,20,20,.45),0 2px 6px rgba(20,20,20,.08)}
.pill .lens{width:42px;height:42px;border-radius:50%;background:var(--color-static-fg);color:var(--color-action);display:grid;place-items:center;flex:none;transition:background-color 300ms var(--ease-out)}
.pill .lens i{font-size:20px}
.pill .field{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:19px;font-weight:620;font-stretch:102%;letter-spacing:-.01em;color:inherit;caret-color:var(--color-voice);padding:0}
.pill .field::placeholder{color:#6d6d66;opacity:1}
.pill .typed{flex:1;min-width:0;font-size:19px;font-weight:620;font-stretch:102%;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill .caret{display:inline-block;width:2px;height:1.05em;background:currentColor;vertical-align:-.16em;margin-left:2px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.kbd{display:inline-flex;align-items:center;height:32px;padding:0 10px;border-radius:9px;background:var(--color-static-bg);color:var(--color-static-mute);font-size:13px;font-weight:760;font-stretch:104%;white-space:nowrap;flex:none}
.pill.is-live .lens{background:var(--color-action);color:var(--color-on-action)}
.pill:focus-within{box-shadow:0 0 0 3px var(--color-static-fg),0 22px 44px -22px rgba(20,20,20,.45)}

/* ---------- shapes ---------- */
.field-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.shape{position:absolute;width:var(--w);aspect-ratio:1;left:var(--x);top:var(--y);translate:-50% -50%;filter:blur(var(--blur,0px));animation:drift var(--dur,11s) var(--ease-io) infinite alternate;animation-delay:var(--delay,0s)}
.shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity 700ms var(--ease-out)}
.shape .v{opacity:0}
.is-vivid .shape .v,.shape.is-vivid .v{opacity:1}
.is-vivid .shape .s,.shape.is-vivid .s{opacity:0}
@keyframes drift{from{transform:translate(0,0) rotate(var(--r0,0deg))}to{transform:translate(var(--dx,10px),var(--dy,-14px)) rotate(var(--r1,6deg))}}
.eye{position:absolute;width:var(--ew,15%);aspect-ratio:1;left:var(--ex);top:var(--ey);translate:-50% -50%;border-radius:50%;background:#fff;box-shadow:0 0 0 max(2px,.12vw) #141414 inset;overflow:hidden;animation:blink 6s var(--blink-delay,0s) infinite}
.eye b{position:absolute;width:52%;height:52%;left:24%;top:24%;border-radius:50%;background:#141414;transform:translate(var(--px,0%),var(--py,0%));transition:transform 120ms linear}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}

/* ---------- stickers ---------- */
.sticker{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:var(--primitive-radius-sticker);font-weight:900;font-stretch:112%;font-style:italic;font-size:13px;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 18px -10px rgba(0,0,0,.55)}
.sticker--original{background:var(--color-original-flag);color:var(--color-on-action);rotate:-6deg}
.sticker--copy{background:var(--color-copy-flag);color:var(--primitive-color-ink, #141414);rotate:5deg}
.sticker--info{background:var(--color-info);color:#fff;rotate:-3deg}

/* ---------- page loader: the reel's ring with its orbiting dot ---------- */
:root{--ring-grad:conic-gradient(from 210deg,var(--primitive-color-lime),#FFD23A,#FF8A3D,var(--primitive-color-pink),var(--primitive-color-lavender),var(--primitive-color-blue),var(--primitive-color-lime))}
.loader{position:fixed;inset:0;z-index:95;display:grid;place-content:center;justify-items:center;gap:22px;background:var(--color-shot-bg);color:var(--primitive-color-cream-mute);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 280ms var(--ease-out),visibility 0s linear 280ms}
html.is-loading .loader,.loader.is-on{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 280ms var(--ease-out),visibility 0s}
.loader.is-out{opacity:0;visibility:hidden;transition:opacity 520ms var(--ease-out) 60ms,visibility 0s linear 600ms}
.loader-orbit{position:relative;width:84px;height:84px;transition:transform 620ms var(--ease-out),opacity 420ms var(--ease-out)}
.loader.is-out .loader-orbit{transform:scale(2.4);opacity:0}
.loader-ring{position:absolute;inset:0;border-radius:50%;background:var(--ring-grad);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px))}
.loader-spin{position:absolute;inset:0;animation:loader-spin 1.15s cubic-bezier(.45,.05,.55,.95) infinite}
.loader-dot{position:absolute;left:50%;top:14px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--primitive-color-cream)}
.loader-label{font-size:14px;font-weight:680;font-stretch:104%;letter-spacing:.01em;transition:opacity 240ms var(--ease-out)}
.loader.is-out .loader-label{opacity:0}
@keyframes loader-spin{to{transform:rotate(1turn)}}
/* if a script never runs, the loader still gets out of the way */
html.is-loading .loader{animation:loader-failsafe 0s linear 6s forwards}
@keyframes loader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
html.is-arrived .tool{animation:page-in 620ms var(--ease-out) both}
@keyframes page-in{from{opacity:.001;transform:translateY(14px)}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .loader-spin{animation-duration:3s}
  html.is-arrived .tool{animation:none}
  .shape{animation:none}
  .eye{animation:none}
  .pill .caret{animation:none}
  .btn,.btn .knob{transition:none}
}

/* /assets/css/icons.css */
/* Phosphor Bold icons (official SVGs from @phosphor-icons/core 2.1.1), inlined as masks so the page loads no icon font. */
.ph-bold{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.125em;background-color:currentColor;-webkit-mask:var(--ph) center/100% 100% no-repeat;mask:var(--ph) center/100% 100% no-repeat}
.ph-arrow-up-right{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' %3E%3Cpath d='M204,64V168a12,12,0,0,1-24,0V93L72.49,200.49a12,12,0,0,1-17-17L163,76H88a12,12,0,0,1,0-24H192A12,12,0,0,1,204,64Z'/%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' %3E%3Cpath d='M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z'/%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' %3E%3Cpath d='M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z'/%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' %3E%3Cpath d='M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z'/%3E%3C/svg%3E")}
.ph-wallet{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' %3E%3Cpath d='M196,136a16,16,0,1,1-16-16A16,16,0,0,1,196,136Zm40-36v80a32,32,0,0,1-32,32H60a32,32,0,0,1-32-32V60.92A32,32,0,0,1,60,28H192a12,12,0,0,1,0,24H60a8,8,0,0,0-8,8.26v.08A8.32,8.32,0,0,0,60.48,68H204A32,32,0,0,1,236,100Zm-24,0a8,8,0,0,0-8-8H60.48A33.72,33.72,0,0,1,52,90.92V180a8,8,0,0,0,8,8H204a8,8,0,0,0,8-8Z'/%3E%3C/svg%3E")}
.ph-share-fat{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' %3E%3Cpath d='M240.49,103.52l-80-80A12,12,0,0,0,140,32V68.74c-25.76,3.12-53.66,15.89-76.75,35.47-29.16,24.74-47.32,56.69-51.14,90A16,16,0,0,0,39.67,207h0c10.46-11.14,47-45.74,100.33-50.42V192a12,12,0,0,0,20.48,8.48l80-80A12,12,0,0,0,240.49,103.52ZM164,163V144a12,12,0,0,0-12-12c-49,0-86.57,21.56-109.79,40.11,7.13-18.16,19.63-35.22,36.57-49.59C101.3,103.41,128.67,92,152,92a12,12,0,0,0,12-12V61l51,51Z'/%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' %3E%3Cpath d='M68,100A12,12,0,0,1,80,88h96a12,12,0,0,1,0,24H80A12,12,0,0,1,68,100Zm12,52h96a12,12,0,0,0,0-24H80a12,12,0,0,0,0,24ZM236,56V208a12,12,0,0,1-17.37,10.73L192,205.42l-26.63,13.31a12,12,0,0,1-10.74,0L128,205.42l-26.63,13.31a12,12,0,0,1-10.74,0L64,205.42,37.37,218.73A12,12,0,0,1,20,208V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V188.58l14.63-7.31a12,12,0,0,1,10.74,0L96,194.58l26.63-13.31a12,12,0,0,1,10.74,0L160,194.58l26.63-13.31a12,12,0,0,1,10.74,0L212,188.58Z'/%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' %3E%3Cpath d='M144,96a16,16,0,1,1,16,16A16,16,0,0,1,144,96Zm92-40V200a20,20,0,0,1-20,20H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56ZM44,60v79.72l33.86-33.86a20,20,0,0,1,28.28,0L147.31,147l17.18-17.17a20,20,0,0,1,28.28,0L212,149.09V60Zm0,136H162.34L92,125.66l-48,48Zm168,0V183l-33.37-33.37L164.28,164l32,32Z'/%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' %3E%3Cpath d='M228,144v64a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V144a12,12,0,0,1,24,0v52H204V144a12,12,0,0,1,24,0Zm-108.49,8.49a12,12,0,0,0,17,0l40-40a12,12,0,0,0-17-17L140,115V32a12,12,0,0,0-24,0v83L96.49,95.51a12,12,0,0,0-17,17Z'/%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' %3E%3Cpath d='M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z'/%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' %3E%3Cpath d='M228,128a100,100,0,0,1-98.66,100H128a99.39,99.39,0,0,1-68.62-27.29,12,12,0,0,1,16.48-17.45,76,76,0,1,0-1.57-109c-.13.13-.25.25-.39.37L54.89,92H72a12,12,0,0,1,0,24H24a12,12,0,0,1-12-12V56a12,12,0,0,1,24,0V76.72L57.48,57.06A100,100,0,0,1,228,128Z'/%3E%3C/svg%3E")}
.ph-arrow-clockwise{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' %3E%3Cpath d='M244,56v48a12,12,0,0,1-12,12H184a12,12,0,1,1,0-24H201.1l-19-17.38c-.13-.12-.26-.24-.38-.37A76,76,0,1,0,127,204h1a75.53,75.53,0,0,0,52.15-20.72,12,12,0,0,1,16.49,17.45A99.45,99.45,0,0,1,128,228h-1.37A100,100,0,1,1,198.51,57.06L220,76.72V56a12,12,0,0,1,24,0Z'/%3E%3C/svg%3E")}
.ph-clipboard-text{--ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' %3E%3Cpath d='M172,164a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,164Zm-12-52H96a12,12,0,0,0,0,24h64a12,12,0,0,0,0-24Zm60-64V216a20,20,0,0,1-20,20H56a20,20,0,0,1-20-20V48A20,20,0,0,1,56,28H90.53a51.88,51.88,0,0,1,74.94,0H200A20,20,0,0,1,220,48ZM100.29,60h55.42a28,28,0,0,0-55.42,0ZM196,52H178.59A52.13,52.13,0,0,1,180,64v8a12,12,0,0,1-12,12H88A12,12,0,0,1,76,72V64a52.13,52.13,0,0,1,1.41-12H60V212H196Z'/%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' %3E%3Cpath d='M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z'/%3E%3C/svg%3E")}

/* /assets/css/landing.css */
/* ---------- pinned stage ---------- */
.stage{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--color-shot-bg)}
.layer{position:absolute;inset:0}
.layer--static{z-index:1}.rings{z-index:2}.layer--shot{z-index:3}
.layer--static{background:var(--color-static-bg);color:var(--color-static-fg);--focus:var(--color-static-fg)}
.layer--shot{background:var(--color-shot-bg);color:var(--color-shot-fg);-webkit-mask:var(--star) center/var(--m,0px) var(--m,0px) no-repeat;mask:var(--star) center/var(--m,0px) var(--m,0px) no-repeat;visibility:hidden}
.stage{--star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 2 2'%3E%3Cpolygon points='0.0000,-1.0000 0.1854,-0.5706 0.5878,-0.8090 0.4854,-0.3527 0.9511,-0.3090 0.6000,0.0000 0.9511,0.3090 0.4854,0.3527 0.5878,0.8090 0.1854,0.5706 0.0000,1.0000 -0.1854,0.5706 -0.5878,0.8090 -0.4854,0.3527 -0.9511,0.3090 -0.6000,0.0000 -0.9511,-0.3090 -0.4854,-0.3527 -0.5878,-0.8090 -0.1854,-0.5706' fill='%23000'/%3E%3C/svg%3E")}
.rings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;visibility:hidden}
.ring{transform-origin:0 0}
.ring.r1{fill:var(--burst-layer-1)}.ring.r2{fill:var(--burst-layer-2)}.ring.r3{fill:var(--burst-layer-3)}.ring.r4{fill:var(--burst-layer-4)}

.hero{position:relative;z-index:5;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--nav-h) + 8px) var(--gutter) 40px;gap:30px}
.hero-title{max-width:13ch}
.hero-pill-row{position:relative;width:min(560px,100%)}
.pill--hero{width:100%;cursor:pointer;text-align:left;transition:transform 160ms var(--ease-out)}
.pill--hero:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.pill--hero:hover .lens{background:var(--color-action);color:var(--color-on-action)}}
.meh{position:absolute;left:14px;top:calc(100% + 8px);color:var(--color-static-fg);opacity:0;font-size:clamp(24px,2.2vw,32px)}
.hero-lede{color:var(--color-static-mute);max-width:40ch;margin-top:58px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.layer--static .btn--ghost{color:var(--color-static-fg)}

/* the demo's nav band stays clear: the asterisk settles bottom-left, the small flower leaves */
#shapes-vivid .shape:nth-child(1){--x:4%!important;--y:90%!important}
#shapes-vivid .shape:nth-child(7){display:none}
#shapes-vivid .shape:nth-child(2){--x:95%!important;--y:30%!important}
#shapes-vivid .shape:nth-child(3){--x:97%!important;--y:92%!important}
#shapes-vivid .shape:nth-child(4){--x:52%!important;--y:108%!important}
.woah{position:absolute;z-index:6;left:50%;top:calc(var(--nav-h) + 10px);translate:-50% 0;color:var(--color-shot-fg);opacity:0}

.demo{position:relative;z-index:5;height:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);grid-template-rows:auto 1fr;gap:28px 40px;align-content:center;width:100%;max-width:calc(var(--maxw) + var(--gutter)*2);margin:0 auto;padding:calc(var(--nav-h) + 56px) var(--gutter) 48px}
.demo-status{grid-column:1 / -1;display:flex;justify-content:center}
.pill--status{width:min(520px,100%);opacity:0}
.shot{margin:0;align-self:center;opacity:0}
.shot-img{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06)}
.shot-img img{width:100%;height:auto}
.shot-img .grey{filter:grayscale(1) contrast(.9) brightness(.9)}
.shot-img .color{position:absolute;inset:0;clip-path:circle(0% at var(--cx,20%) var(--cy,40%))}
.shot figcaption{margin-top:12px;font-size:13px;font-weight:650;color:var(--color-shot-mute)}
.finder{position:absolute;left:var(--fx,2%);top:var(--fy,4%);width:var(--fw,96%);height:var(--fh,92%);pointer-events:none;opacity:0}
.finder i{position:absolute;width:22px;height:22px;border:3px solid var(--color-action);border-radius:4px}
.finder i:nth-child(1){left:-8px;top:-8px;border-right:0;border-bottom:0}
.finder i:nth-child(2){right:-8px;top:-8px;border-left:0;border-bottom:0}
.finder i:nth-child(3){left:-8px;bottom:-8px;border-right:0;border-top:0}
.finder i:nth-child(4){right:-8px;bottom:-8px;border-left:0;border-top:0}
.ring-scan{position:absolute;left:50%;top:50%;width:92px;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:var(--ring-grad);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%);opacity:0}
.ring-scan::after{content:"";position:absolute;width:16%;aspect-ratio:1;border-radius:50%;background:#fff;left:42%;top:-2%}

.result{align-self:center;background:var(--card-bg);border-radius:var(--card-radius);padding:22px;display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 70px -34px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05);opacity:0}
.result-head{display:flex;align-items:center;gap:14px}
.result-logo{position:relative;width:56px;height:56px;border-radius:14px;overflow:hidden;background:var(--color-shot-line);flex:none;display:grid;place-items:center}
.result-logo b{font-weight:900;font-style:italic;font-stretch:112%;font-size:14px;color:#8a877f}
.result-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.has-img>b{visibility:hidden}
.tile.has-img .ini{visibility:hidden}
.result-id{display:flex;flex-direction:column;min-width:0;flex:1}
.result-name{font-weight:880;font-stretch:112%;font-style:italic;font-size:26px;letter-spacing:-.02em;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.result-sym{font-weight:650;font-size:14px;color:var(--color-shot-mute)}
.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
.result-stats div{background:rgba(255,255,255,.035);border-radius:12px;padding:10px 12px}
.result-stats dt{font-size:12px;font-weight:700;color:var(--color-shot-mute)}
.result-stats dd{margin:2px 0 0;font-size:19px;font-weight:780;font-stretch:104%;letter-spacing:-.01em}
.up{color:var(--color-up)}.down{color:var(--color-down)}
.result-copies{display:flex;align-items:center;gap:12px;margin:0;font-weight:650;font-size:15px;color:var(--color-shot-fg)}
.result-buy{align-self:flex-start}

/* ---------- copies ---------- */
.copies{position:relative;padding:clamp(96px,12vw,160px) 0 clamp(80px,10vw,140px);background:var(--color-shot-bg)}
.copies-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.copies-copy{display:flex;flex-direction:column;gap:24px}
.copies-copy .lede{color:var(--color-shot-mute)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{height:40px;padding:0 16px;border-radius:999px;font-weight:760;font-stretch:106%;font-size:14px;color:var(--color-shot-fg);box-shadow:inset 0 0 0 1.5px var(--color-shot-line);transition:background-color 200ms var(--ease-out),color 200ms var(--ease-out),transform 140ms var(--ease-out)}
.chip.is-on{background:var(--color-shot-fg);color:var(--color-shot-bg);box-shadow:none}
.chip:active{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.chip:not(.is-on):hover{box-shadow:inset 0 0 0 1.5px var(--color-shot-mute)}}
.wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;perspective:900px}
.tile{position:relative;aspect-ratio:1;border-radius:14px;background:var(--color-shot-raised);overflow:hidden;transform-style:preserve-3d}
.tile img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.72) contrast(.95)}
.tile .cap{position:absolute;inset:auto 0 0 0;padding:22px 8px 7px;font-size:11px;font-weight:720;line-height:1.2;color:#e9e6dc;background:linear-gradient(transparent,rgba(12,12,12,.85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .ini{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-style:italic;font-stretch:115%;font-size:20px;color:#6d6b64}
.tile .sticker{position:absolute;top:8px;right:6px;height:22px;font-size:10px;padding:0 7px}
.tile--original{grid-column:span 2;grid-row:span 2}
.tile--original img{filter:none}
.tile--original .cap{font-size:14px;padding:40px 12px 12px}
.tile--original .sticker{top:12px;right:12px;height:30px;font-size:13px;padding:0 11px}
.tile--more{display:grid;place-items:center;text-align:center;font-weight:800;font-stretch:108%;font-size:14px;color:var(--color-shot-mute);padding:8px}

/* ---------- how: the reel's black chapter. ring and dot, waves, then glass objects that turn with the scroll ---------- */
.how{--deep:#0E0E0D;position:relative;background:var(--deep);color:var(--primitive-color-cream)}
.how-pin{position:relative;height:100svh;min-height:560px;overflow:hidden}
.how-gl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.how-intro{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding-inline:var(--gutter);pointer-events:none;will-change:transform,opacity}
.how-title{margin:0;color:var(--color-voice);font-weight:820;font-stretch:104%;letter-spacing:-.035em;line-height:.95;display:grid;justify-items:center;gap:.06em}
.how-line--top{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2.2vw,38px);font-size:clamp(46px,8.4vw,132px)}
.how-line--big{display:block;position:relative;z-index:1;font-size:clamp(50px,9.6vw,150px);text-wrap:balance}
.how .wd{display:inline-block;white-space:nowrap}
.how .ch{display:inline-block;will-change:transform,opacity}
.how-orbit{position:relative;width:1.5em;height:1.5em;flex:none;margin-block:-.2em -.32em;z-index:0}
.how-ring{position:absolute;inset:0;border-radius:50%;background:var(--ring-grad);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - .075em),#000 calc(100% - .07em));mask:radial-gradient(farthest-side,transparent calc(100% - .075em),#000 calc(100% - .07em))}
.how-spin{position:absolute;inset:0}
.how-dot{position:absolute;left:50%;top:.17em;width:.15em;height:.15em;margin-left:-.075em;border-radius:50%;background:var(--primitive-color-cream)}
.how-waves{position:absolute;inset:0;pointer-events:none;clip-path:inset(var(--nav-h) 0 0 0)}
.how-waves i{position:absolute;left:50%;top:50%;width:40vmin;height:40vmin;margin:-20vmin 0 0 -20vmin;border-radius:50%;background:var(--ring-grad);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.2vmin),#000 calc(100% - 3.2vmin + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 3.2vmin),#000 calc(100% - 3.2vmin + 1px));opacity:0;will-change:transform,opacity}
.how-waves i:nth-child(2){rotate:120deg}.how-waves i:nth-child(3){rotate:240deg}
.how-pager{position:absolute;top:calc(var(--nav-h) + clamp(14px,3vh,34px));left:50%;translate:-50% 0;display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;opacity:0}
.pg{width:15px;height:15px;background:color-mix(in srgb,var(--primitive-color-cream) 30%,transparent);transition:background-color 260ms var(--ease-out),transform 360ms var(--ease-out)}
.pg--hex{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.pg--dia{width:13px;height:13px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.pg--dot{border-radius:50%}
.pg.is-on{background:var(--primitive-color-cream);transform:scale(1.2)}
.how-steps{list-style:none;margin:0;padding:0}
.how-step{visibility:hidden}
.how-step.is-on{visibility:visible}
.how-fallback{display:none;position:absolute;left:50%;top:44%;width:min(44vh,40vw);height:auto;aspect-ratio:1;margin:0;translate:-50% -50%;will-change:transform,opacity}
.how.no-gl .how-fallback{display:block}
.how-text{position:absolute;left:0;right:0;bottom:clamp(48px,11vh,118px);display:grid;justify-items:center;gap:12px;text-align:center;padding-inline:var(--gutter)}
.how-cap{margin:0;font-weight:860;font-stretch:108%;font-size:clamp(30px,3.6vw,56px);letter-spacing:-.025em;line-height:1.04;color:var(--primitive-color-cream);text-wrap:balance}
.how-sub{margin:0;max-width:44ch;font-size:clamp(16px,1.3vw,19px);line-height:1.45;font-weight:560;color:var(--primitive-color-cream-mute);text-wrap:pretty}
.how-try{margin-top:8px}

/* no motion: the chapter reads as a plain list */
.how.is-static .how-pin{height:auto;min-height:0;padding:clamp(96px,12vw,150px) var(--gutter)}
.how.is-static .how-intro,.how.is-static .how-text,.how.is-static .how-fallback{position:static;translate:none;inset:auto}
.how.is-static .how-intro{margin-bottom:56px}
.how.is-static .how-waves,.how.is-static .how-pager,.how.is-static .how-gl{display:none}
.how.is-static .how-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;max-width:var(--maxw);margin:0 auto}
.how.is-static .how-step{visibility:visible;display:grid;justify-items:center;align-content:start;gap:8px}
.how.is-static .how-cap{font-size:clamp(22px,1.9vw,30px)}
.how.is-static .how-fallback{display:block;width:min(200px,60%)}

/* ---------- receipts ---------- */
.receipts{padding:clamp(96px,12vw,160px) 0 clamp(48px,6vw,80px);background:var(--color-shot-bg)}
.receipts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center}
.receipts-copy{display:flex;flex-direction:column;gap:22px}
.receipts-copy .lede{color:var(--color-shot-mute)}
.small-note{margin:0;font-size:14px;font-weight:620;color:var(--color-shot-mute)}
.receipt{position:relative;background:var(--color-shot-raised);border-radius:var(--card-radius);padding:18px;display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:center;rotate:-2deg;box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05)}
.receipt-shot{width:100%;height:auto;border-radius:10px;border:6px solid #fff;rotate:-3deg;box-shadow:0 18px 30px -18px rgba(0,0,0,.8)}
.receipt-body{display:flex;flex-direction:column;gap:14px}
.receipt-sym{font-weight:900;font-style:italic;font-stretch:118%;font-size:clamp(34px,3.4vw,52px);letter-spacing:-.03em;line-height:1}
.receipt-body dl{margin:0;display:grid;gap:6px}
.receipt-body dl div{display:flex;justify-content:space-between;gap:10px;font-size:15px}
.receipt-body dt{color:var(--color-shot-mute);font-weight:650}
.receipt-body dd{margin:0;font-weight:780}
.receipt-chg{font-weight:900;font-stretch:112%;font-style:italic;font-size:clamp(30px,3vw,44px);letter-spacing:-.02em;line-height:1}
.receipt-stamp{position:absolute;top:-14px;right:22px;height:36px;font-size:16px;padding:0 14px}

/* ---------- close ---------- */
.close{position:relative;overflow:hidden;min-height:86svh;display:flex;align-items:center;background:var(--color-shot-bg);padding:80px 0 160px}
.close-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:34px}
.close-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.hint{font-size:15px;font-weight:620;color:var(--color-shot-mute);display:inline-flex;align-items:center;gap:8px}
.kbd--ink{background:var(--color-shot-raised);color:var(--color-shot-fg);box-shadow:inset 0 0 0 1px var(--color-shot-line)}
.pile{position:absolute;inset:0;z-index:1;pointer-events:none}
.pile img{position:absolute;width:var(--w);aspect-ratio:1;left:var(--x);bottom:var(--b);rotate:var(--r);translate:-50% 0}

/* ---------- footer ---------- */
.foot{background:var(--color-shot-bg);border-top:1px solid var(--color-shot-line);padding:28px 0 40px;color:var(--color-shot-mute);font-size:14px}
.foot-inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px}
.foot .wordmark{color:var(--color-shot-fg);font-size:19px}
.foot p{margin:0;max-width:70ch}

/* ---------- drop veil ---------- */
.drop-veil{position:fixed;inset:12px;z-index:80;border-radius:28px;border:3px dashed var(--color-action);background:rgba(20,20,20,.82);display:grid;place-items:center;color:var(--color-action);opacity:0;pointer-events:none;transition:opacity 180ms var(--ease-out)}
.drop-veil.is-on{opacity:1}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .demo{grid-template-columns:1fr;grid-template-rows:auto auto auto;align-content:start;gap:18px;padding-top:calc(var(--nav-h) + 20px)}
  .result{padding:16px;gap:14px}
  .result-stats dd{font-size:16px}
  .copies-grid,.receipts-grid{grid-template-columns:1fr}
  .wall{grid-template-columns:repeat(4,minmax(0,1fr))}
  .receipt{grid-template-columns:1fr;rotate:0deg}
}
@media (max-width:560px){
  .hero{gap:22px}
  .hero-lede{margin-top:30px}
  .pill--hero .kbd{display:none}
  .wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  .result-copies{font-size:14px}
  .woah{top:calc(var(--nav-h) + 4px)}
  .demo{padding-top:calc(var(--nav-h) + 64px)}
  .hero-actions .btn--ghost{background:var(--color-static-bg)}
}

@media (max-width:560px){
  #shapes-static .shape:nth-child(3){--x:4%!important;--y:95%!important}
  #shapes-static .shape:nth-child(4){--x:98%!important;--y:92%!important}
  #shapes-vivid .shape:nth-child(1){--x:6%!important;--y:92%!important}
  #shapes-vivid .shape:nth-child(2){display:none}
  #shapes-vivid .shape:nth-child(3){--x:104%!important;--y:97%!important}
  #shapes-vivid .shape:nth-child(5),#shapes-vivid .shape:nth-child(6){display:none}
}

/* smooth scroll (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}

@media (max-width:560px){
  .how-fallback{top:40%;width:min(64vw,40vh)}
  .how-text{bottom:clamp(40px,9vh,90px)}
}

/* phones have no Ctrl V: the pill pastes on tap instead */
@media (pointer:coarse){ .close-actions .hint{display:none} }

.foot-link{color:var(--color-shot-fg);font-weight:760;text-decoration-color:var(--color-voice);text-decoration-thickness:2px;text-underline-offset:3px}
