/* /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/app.css */
.app{min-height:100svh}
.nav{background:var(--color-shot-bg);box-shadow:0 1px 0 var(--color-shot-line)}
.nav .btn--ghost{gap:8px;color:var(--color-shot-fg)}
.nav .btn--ghost i{font-size:17px}
.count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--color-shot-raised);font-size:12px;font-weight:800}

.tool{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:20px;padding:calc(var(--nav-h) + 4px) var(--gutter) 24px;height:100svh;min-height:640px}

/* ---------- stage ---------- */
.stage-panel{position:relative;border-radius:var(--primitive-radius-stage);background:var(--color-static-bg);color:var(--color-static-fg);overflow:hidden;display:flex;flex-direction:column;--focus:var(--color-static-fg);transition:background-color 500ms var(--ease-out)}
.stage-panel[data-state="shot"],.stage-panel[data-state="working"]{background:#191918;color:var(--color-shot-fg);--focus:var(--color-action)}
.stage-panel .field-shapes{z-index:0}
.stage-top{position:relative;z-index:3;display:flex;justify-content:center;padding:22px 22px 0}
.pill--tool{width:min(620px,100%)}
.pill--tool .status{display:none;flex:1;min-width:0;font-size:18px;font-weight:650;font-stretch:102%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill--tool.is-status .field{display:none}
.pill--tool.is-status .status{display:block}
.pill--tool.is-status .paste-btn{display:none}
.paste-btn{display:flex;align-items:center;flex:none;border-radius:10px;transition:transform 140ms var(--ease-out)}
.paste-btn:active{transform:scale(.96)}
.paste-touch{display:none}
@media (pointer:coarse){
  .paste-btn .kbd{display:none}
  .paste-touch{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 15px;border-radius:999px;background:var(--color-action);color:var(--color-on-action);font-size:15px;font-weight:760;font-stretch:104%}
  .paste-touch i{font-size:17px}
}

.empty{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center}
.empty-lede{margin:0;font-size:clamp(18px,1.6vw,22px);font-weight:640;max-width:30ch;line-height:1.4}
.kbd--inline{height:28px;vertical-align:2px;background:#fff;color:var(--color-static-fg);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.empty-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.empty-actions .btn--ghost{color:var(--color-static-fg);gap:8px}
.or{font-size:15px;font-weight:600;color:var(--color-static-mute)}
.examples{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:10px;width:100%}
.examples-label{font-size:14px;font-weight:680;color:var(--color-static-mute)}
.examples-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.example{display:flex;flex-direction:column;gap:8px;width:168px;padding:8px;border-radius:14px;background:#fff;text-align:left;box-shadow:0 12px 26px -16px rgba(20,20,20,.45);transition:transform 180ms var(--ease-out)}
.example img{width:100%;height:84px;object-fit:cover;object-position:top left;border-radius:8px;background:#ddd}
.example span{font-size:13px;font-weight:700;line-height:1.25;color:var(--color-static-fg);padding:0 2px 2px}
.example:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.example:hover{transform:translateY(-3px) rotate(-1.5deg)}}

.frame{position:relative;z-index:2;flex:1;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 28px 26px}
.frame-img{position:relative;max-width:100%;max-height:100%;border-radius:12px;overflow:visible}
.frame-img img{display:block;max-width:100%;max-height:calc(100svh - var(--nav-h) - 200px);width:auto;height:auto;border-radius:12px}
.frame-img .grey{filter:grayscale(1) brightness(.92) contrast(.92);box-shadow:0 30px 70px -30px rgba(0,0,0,.8)}
.frame-img .color{position:absolute;inset:0;width:100%;height:100%;clip-path:circle(0% at var(--cx,50%) var(--cy,50%));transition:clip-path 900ms var(--ease-in-out,cubic-bezier(0.77,0,0.175,1))}
.frame-img.is-flooded .color{clip-path:circle(150% at var(--cx,50%) var(--cy,50%))}
.frame-cap{margin-top:14px;font-size:13px;font-weight:650;color:var(--color-shot-mute);min-height:1em}
.ring-scan{position:absolute;left:50%;top:50%;width:84px;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;pointer-events:none;transition:opacity 200ms var(--ease-out)}
.ring-scan::after{content:"";position:absolute;width:16%;aspect-ratio:1;border-radius:50%;background:#fff;left:42%;top:-2%}
.stage-panel[data-state="working"] .ring-scan{opacity:1;animation:spin 1.1s linear infinite}
@keyframes spin{to{rotate:360deg}}
.finder{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 200ms var(--ease-out)}
.stage-panel[data-state="working"] .finder,.stage-panel[data-state="shot"] .finder{opacity:1}
.finder i{position:absolute;left:0;top:0;width:20px;height:20px;border:3px solid var(--color-action);border-radius:4px;transition:transform 520ms var(--ease-io)}
.finder i:nth-child(1){border-right:0;border-bottom:0}
.finder i:nth-child(2){border-left:0;border-bottom:0}
.finder i:nth-child(3){border-right:0;border-top:0}
.finder i:nth-child(4){border-left:0;border-top:0}
.hits{position:absolute;inset:0;pointer-events:none}
.hit{position:absolute;pointer-events:auto;border-radius:6px;box-shadow:0 0 0 2px rgba(214,255,58,.0);background:transparent;transition:box-shadow 200ms var(--ease-out),background-color 200ms var(--ease-out)}
.hit.is-alt{box-shadow:0 0 0 2px rgba(244,241,232,.55);background:rgba(244,241,232,.06)}
@media (hover:hover) and (pointer:fine){.hit.is-alt:hover{box-shadow:0 0 0 2px var(--color-action)}}
.reset{position:absolute;z-index:4;right:18px;bottom:18px;color:var(--color-shot-fg);gap:8px;background:rgba(20,20,20,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.stage-panel .drop-veil{position:absolute;inset:10px;z-index:6;border-radius:22px;border:3px dashed var(--color-static-fg);background:rgba(237,237,234,.9);display:grid;place-items:center;color:var(--color-static-fg);opacity:0;pointer-events:none;transition:opacity 160ms var(--ease-out)}
.stage-panel .drop-veil.is-on{opacity:1}

/* ---------- side ---------- */
.side{min-height:0;display:flex;flex-direction:column;border-radius:var(--primitive-radius-stage);background:var(--color-shot-raised);box-shadow:inset 0 0 0 1px var(--color-shot-line);overflow:hidden}
.side-tabs{display:flex;gap:6px;padding:12px 12px 0}
.tab{height:38px;padding:0 16px;border-radius:999px;font-weight:760;font-stretch:106%;font-size:14px;color:var(--color-shot-mute);transition:background-color 200ms var(--ease-out),color 200ms var(--ease-out)}
.tab.is-on{background:var(--color-shot-bg);color:var(--color-shot-fg)}
.pane{flex:1;min-height:0;overflow:auto;padding:16px 18px 22px;display:flex;flex-direction:column;gap:16px}
.pane[hidden]{display:none}
.idle{margin:auto 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:8px}
.idle img{width:120px;height:120px;margin-bottom:4px}
.idle p{margin:0;color:var(--color-shot-mute);font-size:16px;max-width:34ch}

.terms{display:flex;gap:8px;flex-wrap:wrap}
.term{height:34px;padding:0 13px;border-radius:999px;font-weight:760;font-size:13px;font-stretch:104%;box-shadow:inset 0 0 0 1.5px var(--color-shot-line);color:var(--color-shot-fg)}
.term.is-on{background:var(--color-shot-fg);color:var(--color-shot-bg);box-shadow:none}
.term.is-miss{color:var(--color-shot-mute);text-decoration:line-through}

.card{position:relative;display:flex;flex-direction:column;gap:16px;background:var(--color-shot-bg);border-radius:var(--card-radius);padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.card-head{display:flex;align-items:center;gap:14px}
.card-logo{position:relative;width:60px;height:60px;border-radius:15px;overflow:hidden;background:var(--color-shot-line);flex:none;display:grid;place-items:center}
.card-logo b{font-weight:900;font-style:italic;font-stretch:112%;font-size:15px;color:#8a877f}
.card-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-id{flex:1;min-width:0;display:flex;flex-direction:column}
.card-name{font-weight:900;font-stretch:114%;font-style:italic;font-size:28px;letter-spacing:-.025em;line-height:1.08;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;padding-bottom:2px;padding-right:.1em}
.card-sym{font-size:14px;font-weight:650;color:var(--color-shot-mute)}
.card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.card-stats div{background:var(--color-shot-raised);border-radius:12px;padding:9px 11px;min-width:0}
.card-stats dt{font-size:12px;font-weight:700;color:var(--color-shot-mute)}
.card-stats dd{margin:2px 0 0;font-size:17px;font-weight:780;font-stretch:104%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up{color:var(--color-up)}.down{color:var(--color-down)}
.spark{width:100%;height:64px}
.spark path.l{fill:none;stroke-width:2}
.spark path.a{opacity:.14}
.spark-cap{display:flex;justify-content:space-between;font-size:12px;font-weight:650;color:var(--color-shot-mute);margin-top:-8px}
.addr{display:flex;align-items:center;gap:10px;background:var(--color-shot-raised);border-radius:12px;padding:6px 6px 6px 12px;font-size:14px;font-weight:650}
.addr code{flex:1;min-width:0;font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-btn{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--color-shot-fg);transition:background-color 160ms var(--ease-out),transform 140ms var(--ease-out)}
.icon-btn:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.icon-btn:hover{background:var(--color-shot-line)}}
.icon-btn i{font-size:17px}
.card-actions{display:flex;gap:10px;flex-wrap:wrap}
.card-actions .btn--go{flex:1;justify-content:space-between}
.card-actions .btn--ghost{color:var(--color-shot-fg);gap:8px}
.card-note{margin:0;font-size:13px;font-weight:600;color:var(--color-shot-mute)}
.card .sticker{flex:none}
.card-head .sticker{position:absolute;top:-11px;right:14px;z-index:2}
.card-head{padding-right:4px}

.copies-list{display:flex;flex-direction:column;gap:8px}
.copies-head{display:flex;align-items:center;gap:10px;font-weight:800;font-stretch:106%;font-size:16px;margin:4px 0 2px}
.copy-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 8px 8px 8px;border-radius:12px;background:rgba(255,255,255,.025)}
.copy-row .ini{position:relative;width:36px;height:36px;border-radius:10px;overflow:hidden;background:var(--color-shot-line);display:grid;place-items:center;font-weight:900;font-style:italic;font-size:11px;color:#8a877f}
.copy-row .ini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.8)}
.copy-row .who{min-width:0;display:flex;flex-direction:column}
.copy-row .who b{font-size:14px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copy-row .who span{font-size:12px;font-weight:600;color:var(--color-shot-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copy-row .use{height:32px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:760;box-shadow:inset 0 0 0 1.5px var(--color-shot-line);color:var(--color-shot-fg)}
@media (hover:hover) and (pointer:fine){.copy-row .use:hover{box-shadow:inset 0 0 0 1.5px var(--color-shot-fg)}}
.copies-more{font-size:13px;font-weight:620;color:var(--color-shot-mute);margin:4px 2px}

.skel{border-radius:var(--card-radius);background:var(--color-shot-bg);padding:18px;display:flex;flex-direction:column;gap:14px}
.skel i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,#232322,#2e2e2c,#232322);background-size:200% 100%;animation:shim 1.2s linear infinite}
@keyframes shim{to{background-position:-200% 0}}

.miss{display:flex;flex-direction:column;gap:12px;padding:6px 2px}
.miss h2{margin:0}
.miss p{margin:0;color:var(--color-shot-mute)}

/* receipts */
.receipts-empty p{margin:0;color:var(--color-shot-mute);max-width:36ch}
.receipts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rc{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:14px;background:var(--color-shot-bg)}
.rc-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--color-shot-line)}
.rc-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.rc-main b{font-weight:880;font-style:italic;font-stretch:112%;font-size:18px;letter-spacing:-.02em}
.rc-main span{font-size:12px;font-weight:620;color:var(--color-shot-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rc-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.rc-chg{font-weight:880;font-size:16px}
.rc-btns{display:flex;gap:2px}

.toast{position:fixed;left:50%;bottom:84px;z-index:70;translate:-50% 0;background:var(--color-shot-fg);color:var(--color-shot-bg);font-weight:720;font-size:14px;padding:11px 16px;border-radius:999px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity 200ms var(--ease-out),transform 260ms var(--ease-out)}
.toast.is-on{opacity:1;transform:translateY(0)}

@media (max-width:1023px){
  .tool{grid-template-columns:1fr;height:auto;min-height:0}
  .stage-panel{min-height:min(640px,78svh)}
  .frame-img img{max-height:52svh}
  .side{min-height:360px}
}
@media (max-width:560px){
  .pill--tool{--pill-h:56px}
  .pill--tool .kbd{display:none}
  .pill--tool .field,.pill--tool .status{font-size:16px}
  .example{width:calc(50% - 6px)}
  .examples-row .example:last-child{display:none}
  .card-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .frame{padding:14px 12px 18px}
}
@media (prefers-reduced-motion:reduce){
  .stage-panel[data-state="working"] .ring-scan{animation:none}
  .frame-img .color{transition:none}
  .finder i{transition:none}
  .skel i{animation:none}
}

/* star iris on the stage when a shot lands */
@property --s{syntax:'<length>';inherits:false;initial-value:0px}
.stage-panel{--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")}
.stage-iris{position:absolute;inset:0;z-index:1;pointer-events:none}
.stage-iris i{position:absolute;inset:0;-webkit-mask:var(--star) no-repeat;mask:var(--star) no-repeat;-webkit-mask-size:var(--s) var(--s);mask-size:var(--s) var(--s);-webkit-mask-position:calc(var(--ox) - var(--s) / 2) calc(var(--oy) - var(--s) / 2);mask-position:calc(var(--ox) - var(--s) / 2) calc(var(--oy) - var(--s) / 2)}
.frame-img.is-logo img{width:clamp(160px,22vw,260px);height:auto;aspect-ratio:1;object-fit:cover;border-radius:28px}
.frame-img.is-logo .grey{filter:grayscale(1)}

/* ---------- wallet mode: their bag on the stage, your basket on the side ---------- */
.wallet-hint{margin:4px 0 0;font-size:14px;font-weight:620;color:var(--color-static-mute)}
.link-btn{font-weight:780;color:var(--color-static-fg);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;text-decoration-color:var(--color-voice)}
.bag{position:relative;width:min(760px,100%);max-height:100%;overflow:auto;padding:6px}
.bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}
.bag-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:#222221;box-shadow:inset 0 0 0 1px var(--color-shot-line);filter:grayscale(1);opacity:.55;transform:scale(.96);transition:filter 600ms var(--ease-out),opacity 600ms var(--ease-out),transform 600ms var(--ease-out)}
.bag.is-flooded .bag-tile{filter:none;opacity:1;transform:none}
.bag.is-flooded .bag-tile.is-sold{filter:grayscale(1)}
.bag-tile.is-sold>b,.bag-tile.is-sold>span{color:#77756e}
.bag-tile.is-sold .bag-logo{opacity:.55}
.bag-tile:nth-child(2){transition-delay:50ms}.bag-tile:nth-child(3){transition-delay:100ms}.bag-tile:nth-child(4){transition-delay:150ms}.bag-tile:nth-child(5){transition-delay:200ms}.bag-tile:nth-child(6){transition-delay:250ms}.bag-tile:nth-child(n+7){transition-delay:300ms}
.bag-logo{position:relative;width:44px;height:44px;border-radius:12px;overflow:hidden;background:var(--color-shot-line);display:grid;place-items:center;margin-bottom:6px}
.bag-logo b{font-weight:900;font-style:italic;font-size:12px;color:#8a877f}
.bag-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bag-tile>b{font-weight:880;font-style:italic;font-stretch:110%;font-size:17px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bag-tile>span{font-size:13px;font-weight:650;color:var(--color-shot-mute)}
.kind{font-style:normal;display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:800;font-stretch:104%;vertical-align:2px}
.kind--stock{background:rgba(75,92,255,.22);color:#aeb6ff}
.kind--coin{background:rgba(214,255,58,.14);color:var(--color-action)}
.bag-tile .kind{position:absolute;top:12px;right:10px}
.wallet-logo{background:var(--color-voice);color:#fff}
.wallet-logo i{font-size:26px}
.budget{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 14px;border-radius:12px;background:var(--color-shot-raised)}
.budget label{font-weight:880;font-stretch:108%;font-size:17px}
.budget-field{display:flex;align-items:center;gap:4px;height:42px;padding:0 12px;border-radius:999px;background:var(--color-shot-bg);box-shadow:inset 0 0 0 1.5px var(--color-shot-line)}
.budget-field span{font-weight:800;color:var(--color-shot-mute)}
.budget-field input{width:90px;border:0;outline:0;background:transparent;font-weight:800;font-size:17px;font-variant-numeric:tabular-nums;color:var(--color-shot-fg)}
.budget-field:focus-within{box-shadow:inset 0 0 0 2px var(--color-action)}
.basket-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bk{display:grid;grid-template-columns:auto 36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border-radius:12px;background:rgba(255,255,255,.025);opacity:.6;transition:opacity 200ms var(--ease-out)}
.bk.is-on{opacity:1}
.bk .ini{position:relative;width:36px;height:36px;border-radius:10px;overflow:hidden;background:var(--color-shot-line);display:grid;place-items:center;font-weight:900;font-style:italic;font-size:10px;color:#8a877f}
.bk .ini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bk .who{min-width:0;display:flex;flex-direction:column}
.bk .who b{font-size:14px;font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk .who span{font-size:12px;font-weight:600;color:var(--color-shot-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-pick{position:relative;width:24px;height:24px;cursor:pointer}
.bk-pick input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.bk-pick .tick{position:absolute;inset:0;border-radius:7px;box-shadow:inset 0 0 0 2px var(--color-shot-line);display:grid;place-items:center;transition:background-color 180ms var(--ease-out)}
.bk-pick .tick i{font-size:14px;opacity:0;color:var(--color-on-action)}
.bk-pick input:checked+.tick{background:var(--color-action);box-shadow:none}
.bk-pick input:checked+.tick i{opacity:1}
.bk-pick input:focus-visible+.tick{outline:3px solid var(--color-action);outline-offset:2px}
.bk-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.bk-amt{font-weight:880;font-size:16px}
.bk-buy{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:760;text-decoration:none;color:var(--color-shot-fg);opacity:.85;white-space:nowrap}
.bk-buy i{font-size:12px}
@media (hover:hover) and (pointer:fine){.bk-buy:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}}
@media (prefers-reduced-motion:reduce){.bag-tile{transition:none}}

/* logos cover their initials; stock logos sit on a white chip like app icons */
.has-img>b{visibility:hidden}
.is-stock img{background:#fff!important;object-fit:contain!important;padding:14%}

/* once a shot lands the stage belongs to the screenshot: the characters bow out whole instead of hanging as clipped scraps */
.stage-panel .field-shapes{transition:opacity 260ms var(--ease-out,cubic-bezier(0.23,1,0.32,1)),visibility 0s linear 0s}
.stage-panel:not([data-state="empty"]) .field-shapes{opacity:0!important;visibility:hidden;transition:opacity 260ms var(--ease-out,cubic-bezier(0.23,1,0.32,1)),visibility 0s linear 260ms}
#side{scroll-margin-top:calc(var(--nav-h) + 8px)}

/* phones: the characters sit in the empty bands (under the pill, along the bottom), never over the copy */
@media (max-width:700px){
  #stage-shapes .shape:nth-child(1){--x:11%!important;--y:95%!important;--w:70px!important}
  #stage-shapes .shape:nth-child(2){--x:88%!important;--y:17.5%!important;--w:68px!important}
  #stage-shapes .shape:nth-child(3){--x:89%!important;--y:95%!important;--w:62px!important}
}
@media (pointer:coarse){ .empty-actions .or{display:none} }
